var ttDefDelay=500,		// default delay and style for tooltips.
	ttDefStyle='tooltip',
	tooltip=null,		// current tooltip node.
	ttT0=null,
	ttT1=null,
	ttbgif=null,
	ttbgifsrc='/wefbranding/empty.html';

function displayToolTip(){
	if(tooltip){
		if(ttT0){
			clearTimeout(ttT0);
			ttT0;
			}
		tooltip.style.display='block';
	   	var onTime=tooltip.getAttribute('ontime');
	   	if(onTime) ttT0=setTimeout('deleteToolTip()',onTime);
	 	}
	}

function deleteToolTip(){
	if(tooltip){
		document.body.removeChild(tooltip);
		tooltip=null;
	  	}
	}

function _ttConstructToolTip(e,target){
		if(ttT1){
			clearTimeout(ttT1);
			ttT1;
			}
		var html = target.getAttribute('tooltip'), tmp;
		if(!html) return;
		if(tooltip) deleteToolTip();
		tooltip = document.createElement('DIV');
		document.body.appendChild(tooltip);
		tmp = target.getAttribute('ttclass');
		if(!tmp) tmp=ttDefStyle;
		setClassAttr(tooltip,tmp);
		tmp=target.getAttribute('ttontime');
		if(tmp) tooltip.setAttribute('ontime',tmp);
		tmp=target.getAttribute('ttyoffs');
		if(!tmp) tmp = "5";
		tooltip.setAttribute('ttyoffs',tmp);
		//tooltip.appendChild(document.createTextNode(target.getAttribute('tooltip')));
		tooltip.innerHTML = html;
		if(browser=='ie'&&version<=6){
			if(!ttbgif){
    			ttbgif='<iframe class="bgiframe" frameborder="0" tabindex="-1" src="'+ttbgifsrc+'" style="display:block;position:absolute;z-index:-1;filter:Alpha(Opacity=\'0\');'+
					'top:expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\');'+
					'left:expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\');'+
					'width:expression(this.parentNode.offsetWidth+\'px\');'+
					'height:expression(this.parentNode.offsetHeight+\'px\');'+
					'"\/\>';
				ttbgif=document.createElement(ttbgif);
				}
			tooltip.insertBefore(ttbgif,tooltip.firstChild);
			}
		moveToolTip(e);
		tmp=target.getAttribute('ttdelay');
		if(!tmp) tmp=ttDefDelay;
		ttT1=setTimeout('displayToolTip()',tmp);
		}

if(browser!='ie'){
	constructToolTip = function(e){
		var t=e.target;
		if(t.nodeName=='#text') t=t.parentNode;
		_ttConstructToolTip(e,t);
		}
	moveToolTip = function(e){
		if(tooltip){
			var dw=document.width;
			var scrollLeft=e.pageX - e.clientX;
			if(e.clientX < 0.5 * dw){
				tooltip.style.left=(e.pageX + 15) + 'px';
				tooltip.style.right='';
				tooltip.style.marginLeft='';
				tooltip.style.marginRight=(20 - scrollLeft) + 'px';
				}
			else{
				tooltip.style.right=(dw-(e.pageX - 45)) + 'px';
				tooltip.style.left='';
				tooltip.style.marginLeft=(scrollLeft + 20) + 'px';
				tooltip.style.marginRight='';
				}
			tooltip.style.top=(e.pageY+parseInt(tooltip.getAttribute('ttyoffs'))) + 'px';
			}
		}
	initToolTips = function(){
		document.addEventListener('mouseover',constructToolTip,true);
		document.addEventListener('mouseout',deleteToolTip,true);
		document.addEventListener('mousemove',moveToolTip,true);
	  	}
	}
else{
	constructToolTip = function(e){
		_ttConstructToolTip(e,e.srcElement);
		}
	moveToolTip = function(e){
		if(tooltip){
			var dw=document.body.clientWidth, scrollLeft=0, scrollTop=0;
			if(document.documentElement && document.documentElement.scrollTop){
				scrollLeft = document.documentElement.scrollLeft;
				scrollTop = document.documentElement.scrollTop;
				}
			else if (document.body){
				scrollLeft = document.body.scrollLeft;
				scrollTop = document.body.scrollTop;
				}
			if(e.clientX < 0.5 * dw){
				tooltip.style.left=(e.clientX+scrollLeft + 15) + 'px';
				tooltip.style.right=(20 - scrollLeft) + 'px';
				}
			else{
				tooltip.style.right=(dw-(e.clientX-15)) + 'px';
				tooltip.style.left='';
				}
			tooltip.style.top=(e.clientY+scrollTop + parseInt(tooltip.getAttribute('ttyoffs'))) + 'px';
			}
		}
	initToolTips = function(){
		initIEToolTips = function(n){
			if(n.nodeType==1 && n.getAttribute('tooltip')){
				n.attachEvent('onmouseover',constructToolTip);
				n.attachEvent('onmouseout',deleteToolTip);
				n.attachEvent('onmousemove',moveToolTip);
				}
			for(var i=0; i<n.childNodes.length; i++)
				initIEToolTips(n.childNodes[i]);
			}
		initIEToolTips(document.body);
		}
	}
