var dh;
var dhHide;
dh_init();

function dh_init(){
  document.write('<div id="hlpDiv" style="position:absolute;visibility:hidden;left:0;top:0" class=dh onmouseover="if(dhHide) clearTimeout(dhHide);" onmouseout="setDHHide(200);"></div>');
  document.write(dhStyle());
  dh = new divhelp('dh','','')
}

//Constructor
function divhelp(id,ctlid,ar){
  this.id = id;
  this.ctl = ctlid;
  this.arData = ar;
  this.write = writedh;
}

function writedh(){

  var s='<table border=0 cellpadding=0 cellspacing=0 width="100%">';
  s+='<tr><td align=left><b>' + dh.arData[3] + '</b></td>';
  //s+='<td align=right valign=top><a href="javascript:hideDH();"><img src="images/closebutton.gif" border=0 alt="close"></a></td></tr></table>';
  s+='<td align=right valign=top><img src="images/closebutton.gif" border=0 alt="close" onclick="hideDH()" class=closeicon></td></tr></table>';
  //var s='<b>' + dh.arData[3] + '</b>';
  s+='<br>';
  s+='<img src=images/blank.gif width=1 height=3>';
  s+='<br>';
  s+='<div style="padding-left:10; padding-right:5">' + dh.arData[4] + '<br>&nbsp;</div>'
  return s;
}

function getPageOffsetLeft(el){
  var ol=el.offsetLeft;
  while((el=el.offsetParent) != null)
    ol += el.offsetLeft;
  return ol + el;
  }

function getPageOffsetTop(el){
  var ot=el.offsetTop;
  while((el=el.offsetParent) != null)
    ot += el.offsetTop;
  return ot;
  }

function showDH(t,ar,lr,ud){
  if(dh.ctl!=t){
    var ctlx, ctlw, ctly, ctlh;
    var div = document.getElementById('hlpDiv');
    if(div.style.top != 0) toggleSelect(div, 1);
    var ctl = document.getElementById(t);
    ctlx = getPageOffsetLeft(ctl);
    ctly = getPageOffsetTop(ctl);
    ctlw = ctl.clientWidth;
    ctlh = ctl.clientHeight;
    dh = new divhelp('dh', t, ar);
    if(ar[0]!=null) div.style.width=ar[0]; // width
    else div.style.width=200;
    if(ar[1]!=null) div.style.background=ar[1]; // bgcolor
    else div.style.background='#FFDDFF';
    if(ar[2]!=null) div.style.color=ar[2]; // color
    else div.style.color='#000000';
    div.innerHTML = dh.write();

    if(lr==null){  // auto-place left or right
      if(parseInt(ctlx-document.body.scrollLeft+ctlw+div.clientWidth+4) > document.body.clientWidth)
        div.style.left = ctlx-div.clientWidth-4;  // show to left
      else
        div.style.left = ctlx+ctlw+2; // show to right
    }
    else{
      if(lr==1) // show to right
        div.style.left = ctlx+ctlw+2;
      else       // left
        div.style.left = ctlx-div.clientWidth-4;
    }

    if(ud==null){ // auto-place up or down
      if(parseInt(ctly-document.body.scrollTop+div.clientHeight+2) > document.body.clientHeight)
        div.style.top = ctly-div.clientHeight;  // show above
      else
        div.style.top = ctly; // show below
    }
    else{
      if(ud==1) // show below
        div.style.top = ctly;
      else       // show above
        div.style.top = ctly-div.clientHeight-2;
    }
        div.style.visibility = 'visible';
    toggleSelect(div, 0);
    setDHHide(2500);
  }
  else
    setDHHide(1);
}

function hideDH(){
  var div = document.getElementById('hlpDiv');
  toggleSelect(div, 1);
  div.style.left = 0;
  div.style.top = 0;
  div.style.visibility='hidden';
  dh.ctl='';
}

function setDHHide(x){
  if(dhHide) clearTimeout(dhHide);
  dhHide = setTimeout('hideDH();', x);
}

function toggleSelect(dv, vis){
  var appVer = navigator.appVersion.toLowerCase();
  var iePos = appVer.indexOf('msie');
  if (iePos !=-1) {
    var is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
    var is_major = parseInt(is_minor);
  }
  if (navigator.appName.substring(0,9) == "Microsoft") {// Check if IE version is 6 or older
    if (is_major <= 6) {
      var x=dv.offsetLeft;var y=dv.offsetTop;var w=dv.offsetWidth;var h=dv.offsetHeight;
      var selx,sely,selw,selh,i;
      var sel=document.getElementsByTagName("SELECT");
      for(i=0;i<sel.length;i++){
        selx=0;sely=0;var selp;
        if(sel[i].offsetParent){selp=sel[i];
          while(selp.offsetParent){selp=selp.offsetParent;selx+=selp.offsetLeft;sely+=selp.offsetTop;}}
        selx+=sel[i].offsetLeft;sely+=sel[i].offsetTop;selw=sel[i].offsetWidth;selh=sel[i].offsetHeight;
        if(selx+selw>x && selx<x+w && sely+selh>y && sely<y+h)
          if(vis==0)sel[i].style.visibility="hidden";
          else sel[i].style.visibility="visible";
}}}}

function dhStyle(){
  var s = '<style>\n';
  s+='.dh{\n';
  s+='  font: 11px arial,sans-serif;\n';
//  s+='  border:1px black solid;\n';
  s+='  border:dashed 1px black;\n';
  s+='  padding:5px;\n';
  s+='  text-align:left;\n';
  s+='}\n';
  s+='.helpicon{cursor:pointer}\n';
//  s+='.helpicon{cursor:help}\n';
  s+='.closeicon{cursor:pointer}\n';
  s+='</style>';
  return s;
}


