// Tooltip stuff

var offsetxpoint=20;

var offsetypoint=-10;

var ie=document.all;

var ns6=document.getElementById && !document.all;

var enableTooltip = false;

var iframeobj=document.all? document.all["iframeobj"] : document.getElementById? document.getElementById("iframeobj") : "";

var contentobj=document.all? document.all["tooltipcontents"] : document.getElementById? document.getElementById("tooltipcontents") : "";

var tipTextObj=document.all? document.all["tooltipText"] : document.getElementById? document.getElementById("tooltipText") : "";

var dynamicTipObj=document.all? document.all["dynamicTooltip"] : document.getElementById? document.getElementById("dynamicTooltip") : "";

var usingMozilla = false;

if( /Netscape/.test( navigator.appName ) ) {

	usingMozilla = true;

}



function ietruebody(){

	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;

}



function dt(id){

	if (ns6||ie){

		enableTooltip = true;

		if (!itemCache[id] && !loading)
		{			
			loading = true;
			tipTextObj.innerHTML = 'Loading...';
			activeUrl('http://ctprofiles.net/profiles_item_link.ct?id='+id);
			setTimeout('dt('+id+')',100);
		} 
		else if (itemCache[id])
		{
			displayItem(id);
			contentobj.style.display='block';
			contentobj.style.visibility='visible';
		}
		else
			setTimeout('if(enableTooltip){dt('+id+');}',100);
		
		if (typeof(thewidth)=="undefined"){ 

			contentobj.style.width=tipTextObj.clientWidth+"px";

			contentobj.style.height=tipTextObj.clientHeight+"px";

		} else {

			contentobj.style.width=thewidth+"px";

		}

	}

	enableTooltip = true;

}



function moveMouse(e){

	if ( enableTooltip != false ) {

		var curX = 0;

		var curY = 0;

		if (!e) var e = window.event;

		if (e.pageX || e.pageY)

		{

			curX = e.pageX;

			curY = e.pageY;

		}

		else if (e.clientX || e.clientY)

		{

			curX = e.clientX + document.body.scrollLeft + (document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:0);

			curY = e.clientY + document.body.scrollTop + (document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:0);

		}

		var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20;

		var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20;

		var leftPx;

		var topPx;

		var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000;

		if ( rightedge<contentobj.offsetWidth ) {

			leftPx = ie? ietruebody().scrollLeft+event.clientX-contentobj.offsetWidth-offsetxpoint : window.pageXOffset+e.clientX-contentobj.offsetWidth-offsetxpoint;

		} else if (curX<leftedge) {

			leftPx = 5;

		} else {

			leftPx = curX+offsetxpoint;

		}

		if ( bottomedge<contentobj.offsetHeight ) {

			topPx=ie? ietruebody().scrollTop+event.clientY-contentobj.offsetHeight-offsetypoint : window.pageYOffset+e.clientY-contentobj.offsetHeight-offsetypoint;

			if ( topPx <= (bottomedge-contentobj.offsetHeight) ) {

				topPx = curY+offsetypoint;

			}

		} else {

			topPx = curY+offsetypoint;

		}

		contentobj.style.left = leftPx+"px";

		contentobj.style.top = topPx+"px";

		contentobj.style.visibility="visible";

		tipTextObj.style.visibility="visible";

		if ( ie ) {

			iframeobj.style.width = contentobj.clientWidth+"px";

			iframeobj.style.height = contentobj.clientHeight+"px";

			iframeobj.style.top = topPx+"px";

			iframeobj.style.left = leftPx+"px";

			iframeobj.style.display="block";

			iframeobj.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';

		}

	}

}



function hdt(){

	if (ns6||ie){

		enableTooltip=false;

		activeTooltip = undefined;

		contentobj.style.visibility="hidden";

		iframeobj.style.display = "none";

		contentobj.style.left="-1000px";

		contentobj.style.backgroundColor='';

		contentobj.style.width='';

	}

}


document.onmousemove = moveMouse;


// Added for CTS

var setInfo 		= Array();
var items 			= Array();
var itemCache 		= Array(1000000);
var dataCache 		= Array(1000000);
var loading 		= false;
var lastDisplayed 	= -1;
var bindTypes = Array('', 'Binds when picked up','Binds when equipped','Binds when used','Quest Item');


function displayItem(id) {

	if (lastDisplayed == id || !itemCache[id]) return;
	lastDisplayed = id;

	if (typeof(dataCache[id]) == 'undefined')
		dataCache[id] = '<table border="0" cellpadding="0" cellspacing="0">' +

          '<tr><td style="padding:0px 2px; 2px 2px">' +

          '<table border="0" cellpadding="0" cellspacing="0" width="251"><tr><td valign="top" width="251">'+

          '<table cellpadding="0" cellspacing="0" border="0" class="wowitemt" width="251">'+

					'<tr><td colspan="2"><span style="font-size:13px; line-height: 11px;" class="'+itemCache[id][0]+'">'+itemCache[id][1]+' <span id="rpn'+id+'">'+(itemCache[id][23]!=''?' '+itemCache[id][23]:'')+'</span></span></td></tr>' +

					((itemCache[id][2]>0)?'<tr><td class="StatText" colspan="2">'+bindTypes[itemCache[id][2]]+'</td></tr>':'') +

					((itemCache[id][3]>0)?'<tr><td class="StatText" colspan="2">Unique</td></tr>':'') +

					'<tr><td class="StatText">'+itemCache[id][4]+'</td><td class="StatText" align="right">'+itemCache[id][5]+'</td></tr>' +

					((itemCache[id][6]>0)?'<tr><td class="StatText" colspan="2">'+itemCache[id][6]+' Armor</td></tr>':'') +

					((itemCache[id][7]>0)?'<tr><td class="StatText" colspan="2">'+itemCache[id][7]+' Block</td></tr>':'') +

					((itemCache[id][8]!='')?'<tr><td class="StatText" valign="top">'+itemCache[id][8]+

                             '</td><td class="StatText" align="right" valign="top">'+(itemCache[id][10]>0?'Speed '+itemCache[id][10]:'')+'</td></tr>'+

                             '<tr><td class="StatText" colspan="2">'+(parseInt(itemCache[id][9])>0?'('+itemCache[id][9]+' damage per second)':'')+'</td></tr>':'') +  

					((itemCache[id][11]!='')?'<tr><td class="StatText" colspan="2">'+itemCache[id][11]+'</td></tr>':'') + 

					'<tr><td class="SpellText" colspan="2" height="0"><div id="ench'+id+'">'+itemCache[id][12]+'</div></div></td></tr>' + 

					'<tr><td class="StatText" colspan="2" height="0"><div id="rps'+id+'">'+itemCache[id][13]+'</div></div></td></tr>' + 

					'<tr><td class="RequiresText" colspan="2">'+itemCache[id][14]+'</td></tr>' + 

					((itemCache[id][15]>0)?'<tr><td class="RequiresText" colspan="2">Requires Level '+itemCache[id][15]+'</td></tr>':'') +

					((itemCache[id][16]!='')?'<tr><td class="RequiresText" colspan="2">Requires '+itemCache[id][16]+'</td></tr>':'') +

					((itemCache[id][17]!='')?'<tr><td class="RequiresText" colspan="2">Requires '+itemCache[id][17]+'</td></tr>':'') + 

					((itemCache[id][18]!='')?'<tr><td class="RequiresText" colspan="2">Requires '+itemCache[id][18]+'</td></tr>':'') + 

					((itemCache[id][19]!='')?'<tr><td class="SpellText" colspan="2">'+itemCache[id][19]+'</td></tr>':'') +

					((itemCache[id][20]!='')?'<tr><td class="InfoText" colspan="2">'+(itemCache[id][20]!=''?'"'+itemCache[id][20]+'"':'')+'</td></tr>':'') +

					((itemCache[id][21]>0)?'<tr><td class="InfoText" colspan="2">'+getSetInfo(itemCache[id][21])+'</td></tr>':'') +

          '</table></td></tr></table></td></tr></table>';
		  
	tipTextObj.innerHTML = dataCache[id];

}


function getSetInfo(set_id) {



	if(set_id==0) 

		return '';

	var str='', pieces='';

	

	var len = setInfo.length-1;

	for(var i=0; i<len; i++)

		if(setInfo[i][0][1]==set_id) 

			break;

	if(i==len) 

		return '';

		

	len = setInfo[i][1].length-1;

	var count = 20;
	var tempSetItem = 0;

	for(var k=0; k<len; k++) {

		if(setInfo[i][1][k][1]==0) pieces += '&nbsp;&nbsp;&nbsp;&nbsp;<span class="Poor">Unknown</span><br/>';

		else pieces += '&nbsp;&nbsp;&nbsp;&nbsp;<a target="_blank" class="SetText">'+setInfo[i][1][k][0]+'</a><br/>';

	}

	

	len = setInfo[i][2].length-1;

	for(var k=0; k<len; k++) {

		if(count>=setInfo[i][2][k][1])

			pieces += '<span class="SpellText">Set ('+setInfo[i][2][k][1]+'): '+setInfo[i][2][k][0]+'</span><br/>';

		else 

			break;

	}

	

	return '<br/><a class="SetText">'+setInfo[i][0][0]+' ('+setInfo[i][0][3]+')</a><br/>'+	

	          ((setInfo[i][0][4]!='')?'&nbsp;&nbsp;&nbsp;&nbsp;<span class="RequiresText">Requires '+setInfo[i][0][4]+'</span><br/>':'') + pieces;		

						

}


	

