//START TOOLTIP
// Free for any type of use so long as original notice remains unchanged.
// Report errors to feedback@ashishware.com
//Copyrights 2006, Ashish Patil , ashishware.com
//////////////////////////////////////////////////////////////////////////

function ToolTip(id,isAnimated,aniSpeed)
{ var isInit = -1;
  var div,divWidth,divHeight;
  var xincr=10,yincr=10;
  var animateToolTip =false;
  var html;
  
  function Init(id)
  {
   div = document.getElementById(id);
   if(div==null) return;
   
   if((div.style.width=="" || div.style.height==""))
   {alert("Both width and height must be set");
   return;}
   
   divWidth = parseInt(div.style.width);
   divHeight= parseInt(div.style.height);
   if(div.style.overflow!="hidden")div.style.overflow="hidden";
   if(div.style.display!="none")div.style.display="none";
   if(div.style.position!="absolute")div.style.position="absolute";
   
   if(isAnimated && aniSpeed>0)
   {xincr = parseInt(divWidth/aniSpeed);
	yincr = parseInt(divHeight/aniSpeed);
	animateToolTip = true;
	}
		
   isInit++; 
   
  }
  
	
  this.Show =  function(e,strHTML)
  {
	if(isInit<0) return;
	
	var newPosx,newPosy,height,width;
	if(typeof( document.documentElement.clientWidth ) == "number" ){
	width = document.body.clientWidth;
	height = document.body.clientHeight;}
	else
	{
	width = parseInt(window.innerWidth);
	height = parseInt(window.innerHeight);
	
	}
	var curPosx = (e.x)?parseInt(e.x):parseInt(e.clientX);
	var curPosy = (e.y)?parseInt(e.y):parseInt(e.clientY);
	
	if(strHTML!=null)
	{html = strHTML;
	 div.innerHTML=html;}
	
	if((curPosx+divWidth+10)< width)
	newPosx= curPosx+10;
	else
	newPosx = curPosx-divWidth;

	if((curPosy+divHeight)< height)
	newPosy= curPosy;
	else
	newPosy = curPosy-divHeight-10;

   if(window.pageYOffset)
   { newPosy= newPosy+ window.pageYOffset;
	 newPosx = newPosx + window.pageXOffset;}
   else
   { newPosy= newPosy+ document.body.scrollTop;
	 newPosx = newPosx + document.body.scrollLeft;}

	div.style.display="block";
	//debugger;
	//alert(document.body.scrollTop);
	div.style.top= newPosy + "px";
	div.style.left= newPosx+ "px";

	div.focus();
	if(animateToolTip){
	div.style.height= "0px";
	div.style.width= "0px";
	ToolTip.animate(div.id,divHeight,divWidth);}
	  
	
	}

	

   this.Hide= function(e)
	{div.style.display="none";
	if(!animateToolTip)return;
	div.style.height= "0px";
	div.style.width= "0px";}
	
   this.SetHTML = function(strHTML)
   {html = strHTML;
	div.innerHTML=html;} 
	
	ToolTip.animate = function(a,iHeight,iWidth)
  { a = document.getElementById(a);
		 
   var i = parseInt(a.style.width)+xincr ;
   var j = parseInt(a.style.height)+yincr;  
   
   if(i <= iWidth)
   {a.style.width = i+"px";}
   else
   {a.style.width = iWidth+"px";}
   
   if(j <= iHeight)
   {a.style.height = j+"px";}
   else
   {a.style.height = iHeight+"px";}
   
   if(!((i > iWidth) && (j > iHeight)))      
   setTimeout( "ToolTip.animate('"+a.id+"',"+iHeight+","+iWidth+")",1);
	}
	
   Init(id);
}


//END TOOLTIP