var bs_ttt_class;
var bs_ttt_style;

function bs_ttt_showTitle() {
  if (ShowQuickTip==false) return;
    var evt = window.event || arguments.callee.caller.arguments[0];
    if (evt.srcElement) elm= evt.srcElement;
    if (evt.toElement) elm=evt.toElement;

  var theName='';
  if (elm.id){
    theName=elm.id;
  } else {
    theName=elm.name;
  }
  if (bs_isEmpty(TheField[theName].QuickTip)) return;
  var div = bs_ttt_getTitleElm();
  if (div == false) return;
  var Area=''
  if (theName.indexOf("A1")>-1) Area=MSG["Area 1"];
  if (theName.indexOf("A2")>-1) Area=MSG["Area 2"];
  if (theName.indexOf("A3")>-1) Area=MSG["Area 3"];
  var QuickTip = MSG["QT "+theName];
  if (QuickTip=='' || QuickTip==null) QuickTip="This QuickTip is currently unavailable";
  div.innerHTML     = Area+ QuickTip+ "<center><a href=javascript:void(null) onmousedown=PanelHelp('"+TheField[theName].Panel +"')>Quick Help</a></center>"+"<font size=-1 color=#bbb;>("+  theName + ")</font>";
  var pos = getAbsolutePos(elm);
  var elmHeight = elm.offsetHeight;
  div.style.left    = pos.x;
  div.style.top     = parseInt(pos.y) + parseInt(elmHeight) +0;
  div.style.display = 'block';
}

function bs_ttt_hideTitle() {
  if (ShowQuickTip==false) return;
  var div = bs_ttt_getTitleElm();
  if (div == false) return;
//  setTimeout("document.all.QuickTip.innerHTML='';document.all.QuickTip.style.display = 'none'",600);
 document.all.QuickTip.innerHTML='';document.all.QuickTip.style.display = 'none';
}

function bs_ttt_getTitleElm() {
  var elm = document.getElementById('QuickTip');
  if (elm == null) {
  try {

    divTagStr='<span  id="QuickTip" class="QuickTip"></span>';

    var bodyTag = document.getElementsByTagName('body');
    bodyTag = bodyTag[0];bodyTag.insertAdjacentHTML('beforeEnd', divTagStr);
    elm = document.getElementById('QuickTip');
    if (elm == null) return false;} catch (e) {
      return false;
    }
  }
  return elm;
}

function bs_ttt_initAll() {
var tot=0;
  for (var i in TheField){
     tot++;
     var obj =    document.getElementById(i);
    if (TheField[i].Report){
      if (!bs_isEmpty(TheField[i].QuickTip)) {
        if (obj.attachEvent){
          obj.attachEvent('onclick', bs_ttt_showTitle);
          obj.attachEvent('onmouseout',  bs_ttt_hideTitle);
        } else if (obj.addEventListener){
          obj.addEventListener('click', bs_ttt_showTitle,false);
          obj.addEventListener('mouseout',  bs_ttt_hideTitle,false);
        }
      }
    } else {

        if (obj.attachEvent){
          obj.attachEvent('onfocus', FocusCell);
          obj.attachEvent('onblur',  BlurCell);
        } else if (obj.addEventListener){
          obj.addEventListener('focus', FocusCell,false);
          obj.addEventListener('blur',  BlurCell,false);
        }
    }
  }
}

function bs_ttt_initPanel(panel) {
  for (var i in TheField){
    if (TheField[i].Panel==panel){
    if (TheField[i].Report){
    } else {
       var obj =    document.getElementById(i);
        if (obj.attachEvent){
          obj.attachEvent('onfocus', FocusCell);
          obj.attachEvent('onblur',  BlurCell);
        } else if (obj.addEventListener){
          obj.addEventListener('focus', FocusCell,false);
          obj.addEventListener('blur',  BlurCell,false);
        }
    }
  }
  }
}


function bs_isEmpty(theVar) {
  if (bs_isNull(theVar)) return true;
  if (theVar == '') return true;
  return false;
}
function bs_isNull(theVar) {
  if (typeof(theVar) == 'undefined') return true;
  if (theVar == null) return true;
return false;
}
function Position(x, y) {
this.x = x;this.y = y;};
function getAbsolutePos(el, stopIfAbsolute) {
  if (bs_isNull(el)) {
    var res = new Position(0, 0);
    return res;
  }
  var res = new Position(el.offsetLeft, el.offsetTop);
  if (el.offsetParent) {
    if ((stopIfAbsolute != true ) || 
        ((el.offsetParent.currentStyle.position != 'absolute') && 
         (el.offsetParent.currentStyle.position != 'relative') && 
         (el.offsetParent.currentStyle.overflow != 'auto') && 
         (el.offsetParent.currentStyle.overflow != 'scroll'))) {
       var tmp = getAbsolutePos(el.offsetParent, stopIfAbsolute);res.x += tmp.x;res.y += tmp.y;
     }
   }
   return res;
};

function EnableQuickTips(){
  ShowQuickTip=true;
  UpdateUISettings()

}

function DisableQuickTips(){
  ShowQuickTip=false;
  UpdateUISettings()
}


