DomLoaded.load(initTip);

var timeout=100;
var showTip= null;

function initTip(){	
	tt_body = (document.getElementsByTagName ? document.getElementsByTagName("body")[0] : (document.body || null));
	var tip = document.createElement("div");
	tip.id="cs_tip";
	tip.style.display = "none";	
	addEvtFnc(tip,"mouseover",displayTip);
	addEvtFnc(tip,"mouseout",closeTip);
	tt_body.appendChild(tip);
}

function addEvtFnc(el, sEvt, PFnc){
	if(el){
		if(el.addEventListener){
			el.addEventListener(sEvt, PFnc, false);
		}else{
			el.attachEvent("on" + sEvt, PFnc);
		}
	}
}
function tt_RemEvtFnc(el, sEvt, PFnc){
	if(el){
		if(el.removeEventListener){
			el.removeEventListener(sEvt, PFnc, false);
		}else{
			el.detachEvent("on" + sEvt, PFnc);
		}
	}
}

function getRealPos(ele,dir){
	(dir=="x") ? pos = ele.offsetLeft : pos = ele.offsetTop;
	tempEle = ele.offsetParent;
	while(tempEle != null)
	{
		pos += (dir=="x") ? tempEle.offsetLeft : tempEle.offsetTop;
		tempEle = tempEle.offsetParent;
	}
	return pos;
}
	
function loadTip(htmlstring, width, height,relativeX, relativeY){
	var	tip = $ele("cs_tip");
	if(tip){
		tip.style.display='';
		if(width != null)tip.style.width = width + "px";
		if(height != null)tip.style.height = height + "px";
		tip.style.left=(getRealPos(this,'x') + relativeX) + "px";
		tip.style.top=(getRealPos(this,'y') + relativeY) + "px";	
		tip.innerHTML = htmlstring;	
		showTip=true;
		addEvtFnc(this,"mouseout", closeTip);
	}
}

function closeTip(){
	showTip=false;
	window.setTimeout("hideTip()",timeout);
}

function hideTip(){
	if(showTip==false){
		var	tip = $ele("cs_tip");
		tip.style.display="none";
		tip.innerHTML = "";
	}
}
function displayTip(){
	showTip=true;
}
