var dhtmlgoodies_tooltip=false;
var dhtmlgoodies_tooltipShadow=false;
var dhtmlgoodies_shadowSize=0;
var dhtmlgoodies_tooltipMaxWidth=200;
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;
function showToolTip(e,tooltipTxt,TTitle)
{
	topColor="#212282";
	subColor="#FFFFFF";
	var tooltipTxt1='<table border="0" width="244" cellspacing="0" cellpadding="0" align="center"><tr>';
	tooltipTxt1 +='<td bgcolor="#8D8C8C"><table border="0" width="100%" align="center" cellspacing="1" cellpadding="0">';
	tooltipTxt1 +='<tr><td width="100%" bgcolor='+topColor+'>';
	tooltipTxt1 +='<table border="0" width="98%" cellspacing="0" cellpadding="0" align="center">';
	tooltipTxt1 +='<tr><td nowrap width="100%" height="20px" style="padding-left:8px;padding-right:8px;">';
	tooltipTxt1 +='<font class="tooltiptitle">'+TTitle+'</font>';
	tooltipTxt1 +='</td><td nowrap style="padding-left:8px;padding-right:8px;"><font class="tiptitle">Tool Tip</font></td></tr></table></td></tr>';
	tooltipTxt1 +='<tr><td width="100%" bgcolor='+subColor+'>';
	tooltipTxt1 +='<table border="0" width="98%" cellpadding="0" cellspacing="1" align="center">';
	tooltipTxt1 +='<tr><td width="100%" style="padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;"><font class="tooltipcontent">'+tooltipTxt+'</font>';
	tooltipTxt1 +='</td></tr></table></td></tr></table></td></tr></table>';
	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=e.clientX - 120;
	dhtmlgoodies_tooltip.style.width=null;	
	dhtmlgoodies_tooltip.innerHTML=tooltipTxt1;
	dhtmlgoodies_tooltip.style.left=leftPos + 'px';
	dhtmlgoodies_tooltip.style.top=e.clientY + 10 + st + 'px';		
	dhtmlgoodies_tooltipShadow.style.left= leftPos + dhtmlgoodies_shadowSize + 'px';
	dhtmlgoodies_tooltipShadow.style.top=e.clientY + 10 + st + dhtmlgoodies_shadowSize + 'px';
	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';
	}
}
function hideToolTip()
{
	dhtmlgoodies_tooltip.style.display='none';
	dhtmlgoodies_tooltipShadow.style.display='none';		
	if(tooltip_is_msie)dhtmlgoodies_iframe.style.display='none';		
}
var Base64 = {
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
		input = Base64._utf8_encode(input);
		while (i < input.length) {
		chr1 = input.charCodeAt(i++);
			chr2=input.charCodeAt(i++);
			chr3=input.charCodeAt(i++);
			enc1=chr1 >> 2;
			enc2=((chr1 & 3) << 4) | (chr2 >> 4);
			enc3=((chr2 & 15) << 2) | (chr3 >> 6);
			enc4=chr3 & 63;
			if (isNaN(chr2)) {
				enc3=enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4=64;
			}
			output=output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
		}
		return output;
	},	
	_utf8_encode : function (string) {
		string=string.replace(/\r\n/g,"\n");
		var utftext="";
		for (var n = 0; n < string.length; n++) {
			var c=string.charCodeAt(n);
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
		}
		return utftext;
	}
}
