//------------------------------
// MMOsite Ajax Tooltip v1.0
// by Allen.Lin 08.04.08
//------------------------------
var gameName = "domo";
var host = "http://"+window.location.host+"/";
var cssPath = host+"Style/tip.css";

DataArr = new Array();
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
function getPosition(e){
	var left = 0;
	var top  = 0;
	while (e.offsetParent){
		left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
		top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
		e     = e.offsetParent;
	}
	left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
	top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
	return {x:left, y:top};
}

function loadjscssfile(filename, filetype){ 
	if(filetype=="js"){
		
		var fileref=document.createElement('script');
		fileref.setAttribute("type","text/javascript");
		fileref.setAttribute("src", filename);
	}else if(filetype=="css"){
		
		var fileref=document.createElement("link");
		fileref.setAttribute("rel", "stylesheet");
		fileref.setAttribute("type", "text/css");
		fileref.setAttribute("href", filename);
	}
	
	if(typeof fileref!="undefined"){
		document.getElementsByTagName("head")[0].appendChild(fileref); 
	}
}  

loadjscssfile(cssPath, "css") 

//document.write("<link rel='stylesheet' type='text/css' href='"+cssPath+"'");

Content = "Loading...";
mmoDbTipDiv = document.createElement("DIV");
mmoDbTipDiv.style.cssText = "display:none;position:absolute;border:1px solid #212121;text-align:left;background-color:#000;filter:alpha(opacity=80);-moz-opacity:0.8;";
mmoDbTipDiv.id = "mmoTT";
mmoDbTipDiv.innerHTML = Content;
document.body.appendChild(mmoDbTipDiv);

loadingTip = mmoDbTipDiv.cloneNode(true);
loadingTip.innerHTML = "Loading...";
document.body.appendChild(loadingTip);

showtooltip = function(rid,table,e){
	//var divH   = "";
	//var divW   = "";
	//DataHeight = "";
	//DataWidth  = "";

	getAjaxTip(host+'?controller=DbIndex','ToolTip','mmoTT','id='+rid+'&table='+table,2);
	e = window.event || e;
	var target   = e.target || e.srcElement;
	mmoDbTipDiv.style.left = parseInt(getPosition(target).x)+target.offsetWidth+5;
	mmoDbTipDiv.style.top  = parseInt(getPosition(target).y)+5;
	mmoDbTipDiv.style.visibility = 'hidden';
	
	loadingTip.style.left = parseInt(getPosition(target).x)+target.offsetWidth+5;
	loadingTip.style.top  = parseInt(getPosition(target).y);
	loadingTip.style.visibility = 'visible';
	loadingTip.style.display    = '';
	
	//alert(document.body.clientWidth+" | "+(parseInt(mmoDbTipDiv.offsetLeft)-document.body.scrollLeft)+"\n"+document.body.clientHeight+" | "+(parseInt(mmoDbTipDiv.offsetTop)-document.body.scrollTop));
	//var DataHeight = 130;
	//var DataWidth = 230;
	//alert(DataHeight+"|"+DataWidth);
	posTipHandle = setInterval("posTip()",100);
	posTip = function(){
		if(DataHeight>0){
			clearInterval(posTipHandle);
			divH = DataHeight;
			divW = DataWidth;
			var divT = parseInt(mmoDbTipDiv.offsetTop)-document.body.scrollTop;
			var divL = parseInt(mmoDbTipDiv.offsetLeft)-document.body.scrollLeft;
			var winW = document.body.clientWidth;
			var winH = document.body.clientHeight;
			if     (divT <= Math.floor(winH/2) && divL <= Math.floor(winW/2)){
				//alert("left top");
				mmoDbTipDiv.style.left = parseInt(getPosition(target).x)+target.offsetWidth+3;
				mmoDbTipDiv.style.top  = parseInt(getPosition(target).y)+target.offsetHeight+3;
			}else if(divT > Math.floor(winH/2) && divL <= Math.floor(winW/2)){
				//alert("left bottom");
				mmoDbTipDiv.style.left = parseInt(getPosition(target).x)+target.offsetWidth+3;
				mmoDbTipDiv.style.top  = parseInt(getPosition(target).y)+3-divH-6;
				//alert(parseInt(getPosition(target).y)+"+"+5+"-"+divH+"-"+10);
				//alert(DataHeight+"|"+DataWidth);
				//alert(divH+"|"+divW);
			}else if(divT > Math.floor(winH/2) && divL > Math.floor(winW/2)){
				//alert("right bottom");
				mmoDbTipDiv.style.left = parseInt(getPosition(target).x)+3-divW-6;
				mmoDbTipDiv.style.top  = parseInt(getPosition(target).y)+3-divH-6;
			}else if(divT <= Math.floor(winH/2) && divL > Math.floor(winW/2)){
				//alert("right top");
				mmoDbTipDiv.style.left = parseInt(getPosition(target).x)+3-divW-6;
				mmoDbTipDiv.style.top  = parseInt(getPosition(target).y)+target.offsetHeight+3;
			}
			mmoDbTipDiv.style.visibility = 'visible';
			loadingTip.style.visibility = 'hidden';
			loadingTip.style.display    = 'none';
		}else{
			//loading...
		}
	}
	mmoDbTipDiv.style.display = "block";
}
hidetooltip = function(){
	if(posTipHandle){
		clearInterval(posTipHandle);
	}
	mmoDbTipDiv.style.display = "none";
	loadingTip.style.visibility = 'hidden';
	loadingTip.style.display    = 'none';
}