var dhtmlgoodies_tooltip = false;
var dhtmlgoodies_tooltipShadow = false;
var dhtmlgoodies_shadowSize = 4;
var dhtmlgoodies_tooltipMaxWidth = 250;
var dhtmlgoodies_tooltipMinWidth = 100;
var dhtmlgoodies_iframe = false;
var tooltip_is_msie = (navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('opera')==-1 && document.all)?true:false;
var show_tool_tips = true;
function set_show_tool_tips(value){
    show_tool_tips = value;
}
function showSelector(e,selectorContent,clientX,clientY){
    workBody(selectorContent,-1,clientX,clientY);
}
function showTooltip(e,tooltipTxt){
        if( show_tool_tips == false )return;
        workBody(tooltipTxt,-1,e.clientX,e.clientY);
}
function workBody(tooltipTxt,setWidth,clientX,clientY){
        var bodyWidth = Math.max(document.body.clientWidth,document.documentElement.clientWidth) - 20;
        
        if(!dhtmlgoodies_tooltip){
                dhtmlgoodies_tooltip = document.createElement('DIV');
                dhtmlgoodies_tooltip.id = 'dhtmlgoodies_tooltip';
                dhtmlgoodies_tooltipShadow = document.createElement('DIV');
                dhtmlgoodies_tooltipShadow.id = 'dhtmlgoodies_tooltipShadow';

                document.body.appendChild(dhtmlgoodies_tooltip);
                document.body.appendChild(dhtmlgoodies_tooltipShadow);	

                if(tooltip_is_msie){
                        dhtmlgoodies_iframe = document.createElement('IFRAME');
                        dhtmlgoodies_iframe.frameborder='5';
                        dhtmlgoodies_iframe.style.backgroundColor='#FFFFFF';
                        dhtmlgoodies_iframe.src = '#'; 	
                        dhtmlgoodies_iframe.style.zIndex = 100;
                        dhtmlgoodies_iframe.style.position = 'absolute';
                        document.body.appendChild(dhtmlgoodies_iframe);
                }

        }
        dhtmlgoodies_tooltip.style.display='block';
        dhtmlgoodies_tooltipShadow.style.display='block';
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='block';

        var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
        if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
        var leftPos = clientX - dhtmlgoodies_tooltipMaxWidth - 10;
        if( leftPos < 10 )leftPos=10;
        // Reset style width if it's set 
        dhtmlgoodies_tooltip.style.width = null;
        dhtmlgoodies_tooltip.innerHTML = tooltipTxt;
        dhtmlgoodies_tooltip.style.left = leftPos + 'px';
        dhtmlgoodies_tooltip.style.top = clientY + 10 + st + 'px';
        
        dhtmlgoodies_tooltipShadow.style.left =  leftPos + dhtmlgoodies_shadowSize + 'px';
        dhtmlgoodies_tooltipShadow.style.top = clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';
        
        /* Exceeding max width of tooltip ? */
        if(dhtmlgoodies_tooltip.offsetWidth>dhtmlgoodies_tooltipMaxWidth){	
                dhtmlgoodies_tooltip.style.width = dhtmlgoodies_tooltipMaxWidth + 'px';
        }
         
        var tooltipWidth = dhtmlgoodies_tooltip.offsetWidth;		
        if(tooltipWidth<dhtmlgoodies_tooltipMinWidth)tooltipWidth = dhtmlgoodies_tooltipMinWidth;

        dhtmlgoodies_tooltip.style.width = tooltipWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
        dhtmlgoodies_tooltipShadow.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';		

        if((leftPos + tooltipWidth)>bodyWidth){
                dhtmlgoodies_tooltip.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth)) + 'px';
                dhtmlgoodies_tooltipShadow.style.left = (dhtmlgoodies_tooltipShadow.style.left.replace('px','') - ((leftPos + tooltipWidth)-bodyWidth) + dhtmlgoodies_shadowSize) + 'px';
        }

        if(tooltip_is_msie){
                dhtmlgoodies_iframe.style.left = dhtmlgoodies_tooltip.style.left;
                dhtmlgoodies_iframe.style.top = dhtmlgoodies_tooltip.style.top;
                dhtmlgoodies_iframe.style.width = dhtmlgoodies_tooltip.offsetWidth + 'px';
                dhtmlgoodies_iframe.style.height = dhtmlgoodies_tooltip.offsetHeight + 'px';

        }
        
        if(setWidth!=-1){
            dhtmlgoodies_tooltip.style.width = setWidth +  'px';
            dhtmlgoodies_tooltipShadow.style.width = setWidth + 'px';
            if(tooltip_is_msie){
                dhtmlgoodies_iframe.style.width = setWidth + 'px';
            }
        }
}

function hideTooltip()
{
        //if( show_tool_tips == false )return;
        if(dhtmlgoodies_tooltip==false)return;
        dhtmlgoodies_tooltip.style.display='none';
        dhtmlgoodies_tooltipShadow.style.display='none';		
        if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';		
}
