﻿var tt_tmr=null;
var tt_time;
var tt_mode;
var tt_c;
var tt_opac;
var tt_fadeDir;
var tt_obj;

function tt_ShowToolTipMessage(o,m,t,c)
{
  if(tt_tmr!=null)
  {
    tt_ImmediateHide();
  }
  tt_obj=o;
  tt_time=t;
  tt_mode=0;
  tt_c=c;
  document.getElementById(tt_id+"Content").innerHTML=m;
  tt_StartFadeIn();
}
function tt_ShowToolTipItem(o,id,t,c)
{  
  if(tt_tmr!=null)
  {
    tt_ImmediateHide();
  }
  var obj=document.getElementById(id);
  if(obj!=null)
  {
    tt_obj=o;
    tt_time=t;
    tt_mode=1; 
    tt_c=c;
    document.getElementById(tt_id+"Content").appendChild(obj);
    obj.style.display="block";
    tt_StartFadeIn();
  }
}
function tt_ImmediateHide()
{
  tt_opac=5;
  tt_fadeDir=-5;
  tt_ShowToolTipDialog();
}
function tt_StartFadeIn()
{
  var dlg=document.getElementById(tt_id+"ToolTip");
  if(dlg)
  {
    if(tt_c!=null&&tt_c!=""){
      dlg.className="ToolTip "+tt_c;
    }
    else
    {
      dlg.className="ToolTip";
    }  
    tt_opac=0;
    tt_fadeDir=5;
    var pos=tt_findPos(tt_obj);
    dlg.style.left=(pos[0]+tt_obj.offsetWidth-12)+"px";
    dlg.style.top=(pos[1]-15)+"px";
    dlg.style.opacity=".1";
    dlg.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=1)";
    dlg.style.display="block";
    tt_tmr=window.setInterval(tt_ShowToolTipDialog,20);
  }
}
function tt_StartFadeOut()
{
  var dlg=document.getElementById(tt_id+"ToolTip");
  if(dlg)
  {
    if(tt_tmr!=null)
    {
      window.clearInterval(tt_tmr);
      tt_tmr=null;
    }
    tt_opac=99;
    tt_fadeDir=-5;
    tt_tmr=window.setInterval(tt_ShowToolTipDialog,20);
  }
}
function tt_ShowToolTipDialog()
{
  tt_opac=tt_opac+tt_fadeDir;
  if((tt_opac>99&&tt_fadeDir==5)||(tt_opac<1&&tt_fadeDir==-5))
  {
    if(tt_fadeDir==5)
    {
      tt_opac=99;
    }
    else
    {
      tt_opac=1;
    }    
  }
  var dlg=document.getElementById(tt_id+"ToolTip");
  dlg.style.opacity="."+tt_opac;
  dlg.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity="+tt_opac+")";
  if(tt_opac==1)
  {
    if(tt_tmr!=null)
    {
      window.clearInterval(tt_tmr);
      tt_tmr=null;
    }
    dlg.style.display="none";
    if(tt_mode==0)
    {
      document.getElementById(tt_id+"Content").innerHTML="";
    }
    else
    {
      var obj=document.getElementById(tt_id+"Content").children[0];
      if(obj)
      {
        obj.style.display="none";
        document.body.appendChild(obj);
      }
    }
  }
  else
  {
    if(tt_opac==99)
    {
      if(tt_tmr!=null)
      {
        window.clearInterval(tt_tmr);
        tt_tmr=null;
      }
      tt_tmr=window.setInterval(tt_StartFadeOut,tt_time*1000);
    }
  }
}
function tt_findPos(obj) {
	var curleft=0;
	var curtop=0;
  if(obj.offsetParent){
    do{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
    }while(obj=obj.offsetParent);
  }
  return [curleft,curtop];
}