path=""
/************************************************************************************************************
	Form field tooltip
	(C) www.dhtmlgoodies.com, September 2006
	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	
	Terms of use: Look at the terms of use at http://www.dhtmlgoodies.com/index.html?page=termsOfUse
	Thank you!
	www.dhtmlgoodies.com
	Alf Magne Kalleland
************************************************************************************************************/
var globalTooltipObj;
function formTooltip() {
	var tooltipDiv;
	var tooltipText;
	var tooltipContentDiv;
	var imagePath;			
	var arrowImageFile;		
	var arrowImageFileRight;
	var arrowRightWidth;
	var arrowTopHeight;
	var tooltipWidth;		
	var roundedCornerObj;	
	var tooltipBgColor;
	var tooltipTxColor;
	var closeMessage;		
	var activeInput;		
	var tooltipPosition;	
	var tooltipCornerSize;	
	var displayArrow;		
	var cookieName;			
	var disableTooltipPossibility;
	var disableTooltipByCookie;		
	var disableTooltipMessage;
	var tooltipDisabled;
	var isMSIE;
	var tooltipIframeObj;
	var pageBgColor;
	var txtPosition;
	
	this.tooltipDiv = false,
	this.tooltipText = false;
	this.imagePath = path+'images/';
	this.arrowImageFile = 'green-arrow.gif';
	this.arrowImageFileRight = 'green-arrow-right.gif';
	this.tooltipWidth = 250;
	this.tooltipTxColor = '#000000';
	this.tooltipBgColor = '#c0c0c0';
	this.closeMessage = 'Close';
	this.disableTooltipMessage = 'Don\'t show this message again';
	this.activeInput = false;
	this.tooltipPosition = 'right';
	this.arrowRightWidth = 16;	
	this.arrowTopHeight = 13;	
	this.tooltipCornerSize = 10;
	this.displayArrow = true;
	this.cookieName = 'tooltipVisibility';
	this.disableTooltipByCookie = false;
	this.tooltipDisabled = false;
	this.disableTooltipPossibility = true;
	this.tooltipIframeObj = false;
	this.pageBgColor = '#000000';
	this.txtPosition='center';
	
	globalTooltipObj = this;
	if(navigator.userAgent.indexOf('MSIE')>=0)this.isMSIE = true; else this.isMSIE = false;
}

formTooltip.prototype = {
	setTooltipTxtPosition : function(txtPosition){ this.txtPosition = txtPosition; },		
	initFormFieldTooltip : function(){
		var formElements = new Array();
		var inputs = document.getElementsByTagName('INPUT');
		for(var no=0;no<inputs.length;no++){
			var attr = inputs[no].getAttribute('tooltipText');
			if(!attr)attr = inputs[no].tooltipText;
			if(attr)formElements[formElements.length] = inputs[no];
		}
			
		var inputs = document.getElementsByTagName('TEXTAREA');
		for(var no=0;no<inputs.length;no++){
			var attr = inputs[no].getAttribute('tooltipText');
			if(!attr)attr = inputs[no].tooltipText;
			if(attr)formElements[formElements.length] = inputs[no];
		}
		var inputs = document.getElementsByTagName('SELECT');
		for(var no=0;no<inputs.length;no++){
			var attr = inputs[no].getAttribute('tooltipText');
			if(!attr)attr = inputs[no].tooltipText;
			if(attr)formElements[formElements.length] = inputs[no];
		}
		window.refToFormTooltip = this;
		for(var no=0;no<formElements.length;no++){
			formElements[no].onfocus = this.__displayTooltip;
		}
	},		
	setTooltipPosition : function(newPosition){ this.tooltipPosition = newPosition; },		
	setCloseMessage : function(closeMessage){ this.closeMessage = closeMessage; },	
	setDisableTooltipMessage : function(disableTooltipMessage){this.disableTooltipMessage = disableTooltipMessage;},		
	setTooltipDisablePossibility : function(disableTooltipPossibility){ this.disableTooltipPossibility = disableTooltipPossibility; },		
	setCookieName : function(newCookieName)	{ this.cookieName = newCookieName; },		
	setTooltipWidth : function(newWidth) { this.tooltipWidth = newWidth; },		
	setArrowVisibility : function(displayArrow){ this.displayArrow = displayArrow; },		
	setDisableTooltipByCookie : function(disableTooltipByCookie) { this.disableTooltipByCookie = disableTooltipByCookie; },		
	setTooltipBgColor : function(newBgColor) { this.tooltipBgColor = newBgColor; },		
	setTooltipTxColor : function(newTxColor) { this.tooltipTxColor = newTxColor; },		
	setTooltipCornerSize : function(tooltipCornerSize) { this.tooltipCornerSize = tooltipCornerSize; },
	setTopArrowHeight : function(arrowTopHeight) { this.arrowTopHeight = arrowTopHeight; },	
	setRightArrowWidth : function(arrowRightWidth) { this.arrowRightWidth = arrowRightWidth; },	
	setPageBgColor : function(pageBgColor) { this.pageBgColor = pageBgColor; },		
	__displayTooltip : function() {
		if(globalTooltipObj.disableTooltipByCookie){
			var cookieValue = globalTooltipObj.getCookie(globalTooltipObj.cookieName) + '';	
			if(cookieValue=='1')globalTooltipObj.tooltipDisabled = true;
		}	
		if(globalTooltipObj.tooltipDisabled)return;	
		var tooltipText = this.getAttribute('tooltipText');
		globalTooltipObj.activeInput = this;
		if(!tooltipText)tooltipText = this.tooltipText;
		globalTooltipObj.tooltipText = tooltipText;
		if(!globalTooltipObj.tooltipDiv)globalTooltipObj.__createTooltip();
		globalTooltipObj.__positionTooltip(this);
		globalTooltipObj.tooltipContentDiv.innerHTML = tooltipText;
		globalTooltipObj.tooltipDiv.style.display='block';
		if(globalTooltipObj.isMSIE){
			if(globalTooltipObj.tooltipPosition == 'below'){
				globalTooltipObj.tooltipIframeObj.style.height = (globalTooltipObj.tooltipDiv.clientHeight - globalTooltipObj.arrowTopHeight);
			}else{
				globalTooltipObj.tooltipIframeObj.style.height = (globalTooltipObj.tooltipDiv.clientHeight);
			}
		}
		
	},		
	__hideTooltip : function(){ globalTooltipObj.tooltipDiv.style.display='none'; },		
	__hideTooltipFromLink : function() {
		this.activeInput.focus();
		window.refToThis = this;
		setTimeout('window.refToThis.__hideTooltip()',10);
	},		
	disableTooltip : function(){
		this.__hideTooltipFromLink();
		if(this.disableTooltipByCookie)this.setCookie(this.cookieName,'1',500);	
		this.tooltipDisabled = true;	
	},		
	__createTooltip : function(){
		this.tooltipDiv = document.createElement('DIV');
		this.tooltipDiv.style.position = 'absolute';
		if(this.displayArrow){
			var topDiv = document.createElement('DIV');
			if(this.tooltipPosition=='below'){
				topDiv.style.marginLeft = '20px';
				var arrowDiv = document.createElement('IMG');
				arrowDiv.src = this.imagePath + this.arrowImageFile + '?rand='+ Math.random();
				arrowDiv.style.display='block';
				topDiv.appendChild(arrowDiv);
			}else{
				topDiv.style.marginTop = '5px';
				var arrowDiv = document.createElement('IMG');
				arrowDiv.src = this.imagePath + this.arrowImageFileRight + '?rand='+ Math.random();	
				arrowDiv.style.display='block';
				topDiv.appendChild(arrowDiv);					
				topDiv.style.position = 'absolute';			
			}
			this.tooltipDiv.appendChild(topDiv);	
		}
		var outerDiv = document.createElement('DIV');
		outerDiv.style.position = 'relative';
		outerDiv.style.zIndex = 1000;
		if(this.tooltipPosition!='below' && this.displayArrow){			
			outerDiv.style.left = this.arrowRightWidth + 'px';
		}
		outerDiv.id = 'formTooltipDiv';
		outerDiv.className = 'formTooltipDiv';
		outerDiv.style.backgroundColor = this.tooltipBgColor;
		this.tooltipDiv.appendChild(outerDiv);
		if(this.isMSIE){
			this.tooltipIframeObj = document.createElement('<IFRAME name="tooltipIframeObj" width="' + this.tooltipWidth + '" frameborder="no" src="about:blank"></IFRAME>');
			this.tooltipIframeObj.style.position = 'absolute';
			this.tooltipIframeObj.style.top = '0px';
			this.tooltipIframeObj.style.left = '0px';
			this.tooltipIframeObj.style.width = (this.tooltipWidth) + 'px';
			this.tooltipIframeObj.style.zIndex = 100;
			this.tooltipIframeObj.background = this.pageBgColor;
			this.tooltipIframeObj.style.backgroundColor= this.pageBgColor;
			this.tooltipDiv.appendChild(this.tooltipIframeObj);	
			if(this.tooltipPosition!='below' && this.displayArrow){
				this.tooltipIframeObj.style.left = (this.arrowRightWidth) +  'px';	
			}else{
				this.tooltipIframeObj.style.top = this.arrowTopHeight + 'px';	
			}
			setTimeout("self.frames['tooltipIframeObj'].document.documentElement.style.backgroundColor='" + this.pageBgColor + "'",500);
		}
		this.tooltipContentDiv = document.createElement('DIV');	
		this.tooltipContentDiv.style.position = 'relative';	
		this.tooltipContentDiv.style.color = this.tooltipTxColor;	
		this.tooltipContentDiv.id = 'formTooltipContent';
		outerDiv.appendChild(this.tooltipContentDiv);			
		var closeDiv = document.createElement('DIV');
		closeDiv.style.textAlign = globalTooltipObj.txtPosition;
		closeDiv.innerHTML = '<a class="formTooltip_closeMessage" href="#" onclick="globalTooltipObj.__hideTooltipFromLink();return false">' + this.closeMessage + '</A>';
		if(this.disableTooltipPossibility){
			var tmpHTML = closeDiv.innerHTML;
			tmpHTML = tmpHTML + ' | <a class="formTooltip_closeMessage" href="#" onclick="globalTooltipObj.disableTooltip();return false">' + this.disableTooltipMessage + '</A>';
			closeDiv.innerHTML = tmpHTML;
		} 
		outerDiv.appendChild(closeDiv);
		document.body.appendChild(this.tooltipDiv);
		if(this.tooltipCornerSize>0){
			this.roundedCornerObj = new roundedCorners();
			// (divId,xRadius,yRadius,color,backgroundColor,padding,heightOfContent,whichCorners)
			this.roundedCornerObj.addTarget('formTooltipDiv',this.tooltipCornerSize,this.tooltipCornerSize,this.tooltipBgColor,this.pageBgColor,5);
			this.roundedCornerObj.init();
		}
		this.tooltipContentDiv = document.getElementById('formTooltipContent');
	},		
	__positionTooltip : function(inputObj){	
		var offset = 0;
		if(!this.displayArrow)offset = 3;	
		if(this.tooltipPosition=='below'){
			this.tooltipDiv.style.left = this.getLeftPos(inputObj)+  'px';
			this.tooltipDiv.style.top = (this.getTopPos(inputObj) + inputObj.offsetHeight + offset) + 'px';
		}else{
			this.tooltipDiv.style.left = (this.getLeftPos(inputObj) + inputObj.offsetWidth + offset)+  'px';
			this.tooltipDiv.style.top = this.getTopPos(inputObj) + 'px';			
		}
		this.tooltipDiv.style.width=this.tooltipWidth + 'px';
	},
	getTopPos : function(inputObj){		
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML'){
	  		returnValue += inputObj.offsetTop;
	  		if(document.all)returnValue+=inputObj.clientTop;
	  	}
	  } 
	  return returnValue;
	},
	getLeftPos : function(inputObj){	  
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML'){
	  		returnValue += inputObj.offsetLeft;
	  		if(document.all)returnValue+=inputObj.clientLeft;
	  	}
	  }
	  return returnValue;
	},
	getCookie : function(name) { 
	   var start = document.cookie.indexOf(name+"="); 
	   var len = start+name.length+1; 
	   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
	   if (start == -1) return null; 
	   var end = document.cookie.indexOf(";",len); 
	   if (end == -1) end = document.cookie.length; 
	   return unescape(document.cookie.substring(len,end)); 
	},	
	setCookie : function(name,value,expires,path,domain,secure) { 
		expires = expires * 60*60*24*1000;
		var today = new Date();
		var expires_date = new Date( today.getTime() + (expires) );
	    var cookieString = name + "=" +escape(value) + 
	       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
	       ( (path) ? ";path=" + path : "") + 
	       ( (domain) ? ";domain=" + domain : "") + 
	       ( (secure) ? ";secure" : ""); 
	    document.cookie = cookieString; 
	}
}
