﻿
    var xBump=10;
    var yBump=10; 
    var MSIE=document.all; 
    var NS6=document.getElementById && !document.all; 
    var ToolTipObj=null;
    var ttipClassName="ToolTipsCls";
    var tipLayerId="ttip";
    var tipLayer= "<div id=\""+tipLayerId+"\" style=\"display:none;position:absolute;max-width:200px;z-index:1000;border: 1px solid #cccccc;\" class=\""+ttipClassName+"\"><\/div>";
    var parentLayer=null;
        
NgToolTips= function(cssClassName)
{ 
    
    this.tipLayerId=tipLayerId;
    
    if (cssClassName!=null && cssClassName.length>0)
    {
       this.TipLayer= tipLayer.split("ToolTipsCls").join(cssClassName);
       ttipClassName=cssClassName; 
    }
    else
    {
       this.TipLayer=tipLayer; 
    }
    this.TipLayer= tipLayer.split(tipLayerId).join(this.tipLayerId);
    document.write(this.TipLayer);     
    
    if(MSIE||NS6){ 
        ToolTipObj=document.all?document.all[tipLayerId]:document.getElementById?document.getElementById(tipLayerId):""; 
    } 
       //----------------
       NgToolTips.prototype.ShowTip = function (ttipText)
         {
            var ddl=null;
           
            if (ttipText!=null)
	            {
	             ddl= document.all?document.all[ttipText]:document.getElementById?document.getElementById(ttipText):"";
	            }
            
                if(ToolTipObj==null){ 
                    ToolTipObj=document.all?document.all[tipLayerId]:document.getElementById?document.getElementById(tipLayerId):""; 
                } 
                //Check if the selected option is empty then don't display an empty tooltip.
	            if (ddl !=null && ddl.tagName=='SELECT')
	            {
	        
	               //Check to see if the DropDownLilst has any items
	                if (ddl.options.length > 0)
	                {
            	            if (ddl.options[ddl.selectedIndex].text.length > 0)
            	            {
                                 //Reset the class name if it has been changed from another function.
                                ToolTipObj.className=ttipClassName;
                                ToolTipObj.innerHTML=ddl.options[ddl.selectedIndex].text ; 
                                if(MSIE)
                                {
                                    ToolTipObj.style.display="block"; 
                                }
                                else
                                {
                                ddl.title=ddl.options[ddl.selectedIndex].text ; 
                                }
                            }
                     }
                }
                //MoveTip(e);
                
             return false; 
        } 
      //----------------
       NgToolTips.prototype.ShowToolTip = function (ttipText,cssClass,elemId)
         {
           var _elemId=null;
          
           
           if (elemId!=null)
	            {
	             _elemId= document.all?document.all[elemId]:document.getElementById?document.getElementById(elemId):"";
	            }
          
           if (_elemId!=null && _elemId!='undefined')
               {
                if(ToolTipObj==null)
                 { 
                    ToolTipObj=document.all?document.all[tipLayerId]:document.getElementById?document.getElementById(tipLayerId):""; 
                 } 
                    ToolTipObj.className=cssClass;
                    ToolTipObj.innerHTML=ttipText ; 
                    ToolTipObj.style.display="block"; 
                    return false; 
                }
        
        } 
      
       //----------------
       NgToolTips.prototype.HideTip=function ()
       { 
            if(ToolTipObj==null)
            { 
              ToolTipObj=document.all?document.all[tipLayerId]:document.getElementById?document.getElementById(tipLayerId):""; 
            } 
                            
             if(MSIE||NS6)
             { 
              ToolTipObj.style.display="none"; 
              ToolTipObj.innerText=""; 
             } 
        } 
        
        //----------------
        function MSIEBodyReturn()
        { 
          return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body; 
        }
         
          //----------------
       NgToolTips.prototype.MoveToolTip=function (e)
       { 
        MoveTip(e);
       }
               
     //----------------
        function MoveTip(e)
        {         	
            if(!e)
		        e = window.event;
		    var RTL=null;
		    if(window.htmlDir)
             {
             if(window.htmlDir=="RTL")
                 RTL=true;
             }	
             
		    try
		    {
		    if(RTL)
	         xPos=(NS6)?e.pageX:event.x; 
	        else
	        xPos=(NS6)?e.pageX:event.x+MSIEBodyReturn().scrollLeft; 
	          
             yPos=(NS6)?e.pageY:event.y+MSIEBodyReturn().scrollTop; 
             lEdge=(xBump<0)?xBump*(-1):-1000; 
             rEdge=MSIE&&!window.opera?MSIEBodyReturn().clientWidth-event.clientX-xBump:window.innerWidth-e.clientX-xBump-20; 
             bEdge=MSIE&&!window.opera?MSIEBodyReturn().clientHeight-event.clientY-yBump:window.innerHeight-e.clientY-yBump-20; 
             
             if(rEdge<ToolTipObj.offsetWidth){ 
                if(RTL)
                    ToolTipObj.style.left=MSIE?event.clientX-ToolTipObj.offsetWidth+"px":e.clientX-ToolTipObj.offsetWidth+"px"; 
                else
                    ToolTipObj.style.left=MSIE?MSIEBodyReturn().scrollLeft+event.clientX-ToolTipObj.offsetWidth+"px":window.pageXOffset+e.clientX-ToolTipObj.offsetWidth+"px"; 
             } 
             else if(xPos<lEdge){ 
              ToolTipObj.style.left=xBump+"px"; 
             } 
             else{ 
              ToolTipObj.style.left=xPos+xBump+"px"; 
             }
              
             if(bEdge<ToolTipObj.offsetHeight){ 
              ToolTipObj.style.top=MSIE?MSIEBodyReturn().scrollTop+event.clientY-ToolTipObj.offsetHeight-yBump+"px":window.pageYOffset+e.clientY-ToolTipObj.offsetHeight-yBump+"px"; 
             } 
             else{ 
              ToolTipObj.style.top=yPos+yBump+"px"; 
             } 
             
             
             
             }catch(e){}
        } 
 
}

