function g(e){return document.getElementById(e);}
function ce(e){return document.createElement(e);}
function ac(c){document.body.appendChild(c);}

var isDOM=document.getElementById?1:0,isIE=document.all?1:0,isNS4=navigator.appName=='Netscape'&&!isDOM?1:0,isOp=self.opera?1:0,isDyn=isDOM||isIE||isNS4;function getRef(i,p){p=!p?document:p.navigator?p.document:p;return isIE?p.all[i]:isDOM?(p.getElementById?p:p.ownerDocument).getElementById(i):isNS4?p.layers[i]:null};function getSty(i,p){var r=getRef(i,p);return r?isNS4?r:r.style:null};if(!self.LayerObj)var LayerObj=new Function('i','p','this.ref=getRef(i,p);this.sty=getSty(i,p);return this');function getLyr(i,p){return new LayerObj(i,p)};function LyrFn(n,f){LayerObj.prototype[n]=new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px";with(this){'+f+'}')};LyrFn('x','if(!isNaN(p))sty.left=p+px;else return parseInt(sty.left)');LyrFn('y','if(!isNaN(p))sty.top=p+px;else return parseInt(sty.top)');LyrFn('w','if(p)(isNS4?sty.clip:sty).width=p+px;else return(isNS4?ref.document.width:ref.offsetWidth)');LyrFn('h','if(p)(isNS4?sty.clip:sty).height=p+px;else return(isNS4?ref.document.height:ref.offsetHeight)');LyrFn('vis','sty.visibility=p');LyrFn('write','if(isNS4)with(ref.document){write(p);close()}else ref.innerHTML=p');LyrFn('alpha','var f=ref.filters,d=(p==null),o=d?"inherit":p/100;if(f){if(!d&&sty.filter.indexOf("alpha")==-1)sty.filter+=" alpha(opacity="+p+")";else if(f.length&&f.alpha)with(f.alpha){if(d)enabled=false;else{opacity=p;enabled=true}}}else if(isDOM)sty.opacity=sty.MozOpacity=o');if(!self.page)var page={win:self,minW:0,minH:0,MS:isIE&&!isOp};page.db=function(p){with(this.win.document)return(isDOM?documentElement[p]:0)||body[p]||0};page.winW=function(){with(this)return Math.max(minW,MS?db('clientWidth'):win.innerWidth)};page.winH=function(){with(this)return Math.max(minH,MS?db('clientHeight'):win.innerHeight)};page.scrollX=function(){with(this)return MS?db('scrollLeft'):win.pageXOffset};page.scrollY=function(){with(this)return MS?db('scrollTop'):win.pageYOffset};function TipObj(myName){this.myName=myName;this.template='';this.tips=new Array();this.parentObj=null;this.div=null;this.actTip='';this.showTip=false;this.xPos=this.yPos=this.sX=this.sY=this.mX=this.mY=0;this.trackTimer=this.fadeTimer=0;this.alpha=0;this.doFades=true;this.minAlpha=0;this.maxAlpha=100;this.fadeInSpeed=20;this.fadeOutSpeed=20;this.tipStick=1;this.showDelay=50;this.hideDelay=250;this.IESelectBoxFix=0;TipObj.list[myName]=this};TipObj.list=[];var ToPt=TipObj.prototype;ToPt.track=function(evt){with(this){if(!isIE||document.body){evt=evt||window.event;sX=page.scrollX();sY=page.scrollY();mX=evt.pageX||sX+evt.clientX||0;mY=evt.pageY||sY+evt.clientY||0;if(tipStick==1)position()}}};ToPt.position=function(forcePos){with(this){if(!actTip)return;var wW=page.winW(),wH=page.winH();if(!isIE||isOp){wW-=16;wH-=16}var t=tips[actTip],tipX=eval(t[0]),tipY=eval(t[1]),tipW=div.w(),tipH=div.h(),adjY=1;if(typeof(t[0])=='number')tipX+=mX;if(typeof(t[1])=='number')tipY+=mY;if(tipX+tipW+5>sX+wW)tipX=sX+wW-tipW-5;if(tipY+tipH+5>sY+wH)tipY=sY+wH-tipH-5;if(tipX<sX+5)tipX=sX+5;if(tipY<sY+5)tipY=sY+5;if((!showTip&&(doFades?!alpha:true))||forcePos){xPos=tipX;yPos=tipY}xPos+=(tipX-xPos)*tipStick;yPos+=(tipY-yPos)*tipStick;div.x(xPos);div.y(yPos);return}};ToPt.replaceContent=function(tipN){with(this){actTip=tipN;if(tipStick==parseInt(tipStick)){var rE='';if(isNS4){div.ref.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);rE=';return this.routeEvent(evt)'}div.ref.onmouseover=new Function('evt',myName+'.show("'+tipN+'"'+(parentObj?','+parentObj.myName:'')+')'+rE);div.ref.onmouseout=new Function('evt',myName+'.hide()'+rE)}var str=template;for(var i=0;i<tips[tipN].length;i++)str=str.replace(new RegExp('%'+i+'%','g'),tips[tipN][i]);if(window.createPopup&&IESelectBoxFix){var filt='filter:progid:DXImageTransform.Microsoft.Alpha(opacity=';str+='<iframe src="about:blank" style="position:absolute;left:0px;top:0px;height:expression('+myName+'.div.h());z-index:1;border:none;'+filt+'0)"></iframe><div style="position:absolute;left:0px;top:0px;z-index:2;'+filt+'100)">'+str+'</div>'}if(isDOM&&!isOp)div.sty.width='auto';div.write(str+(isIE&&!isOp&&!window.external?'<small><br/></small>':''));position(true)}};ToPt.show=function(tipN,par){with(this){if(!isDyn)return;clearTimeout(fadeTimer);parentObj=par;if(par)par.show(par.actTip,par.parentObj);if(!div)div=getLyr(myName+'Layer');if(!div)return;clearInterval(trackTimer);if(tipStick!=parseInt(tipStick))trackTimer=setInterval(myName+'.position()',50);var showStr='with('+myName+'){showTip=true;'+(actTip!=tipN?'replaceContent("'+tipN+'");':'')+'fade()}';if(showDelay&&!actTip)fadeTimer=setTimeout(showStr,showDelay);else eval(showStr)}};ToPt.newTip=function(tName){with(this){if(!tips[tName])tips[tName]=[];for(var i=1;i<arguments.length;i++)tips[tName][i-1]=arguments[i];show(tName);return}};ToPt.hide=function(){with(this){clearTimeout(fadeTimer);if(!isDyn||!actTip||!div)return;if(isNS4&&tipStick==0&&xPos<=mX&&mX<=xPos+div.w()&&yPos<=mY&&mY<=yPos+div.h())return;with(tips[actTip])if(parentObj)parentObj.hide();fadeTimer=setTimeout('with('+myName+'){showTip=false;fade()}',hideDelay);return}};ToPt.fade=function(){with(this){clearTimeout(fadeTimer);if(showTip){div.vis('visible');if(doFades){alpha+=fadeInSpeed;if(alpha>maxAlpha)alpha=maxAlpha;div.alpha(alpha);if(alpha<maxAlpha)fadeTimer=setTimeout(myName+'.fade()',75)}}else{if(doFades&&alpha>minAlpha){alpha-=fadeOutSpeed;if(alpha<minAlpha)alpha=minAlpha;div.alpha(alpha);fadeTimer=setTimeout(myName+'.fade()',75);return}div.vis('hidden');actTip='';clearInterval(trackTimer)}}};var tipOR=window.onresize,nsWinW=window.innerWidth,nsWinH=window.innerHeight;document.tipMM=document.onmousemove;if(isNS4)document.captureEvents(Event.MOUSEMOVE);document.onmousemove=function(evt){for(var t in TipObj.list)TipObj.list[t].track(evt);return document.tipMM?document.tipMM(evt):(isNS4?document.routeEvent(evt):true)};window.onresize=function(){if(tipOR)tipOR();if(isNS4&&(nsWinW!=innerWidth||nsWinH!=innerHeight))location.reload()};

var requests=new Array();var requestcount=0;function createXMLHttpRequest(){var req=false;if(window.XMLHttpRequest!=null){try{req=new XMLHttpRequest()}catch(e){req=false}}else if(window.ActiveXObject!=null){try{req=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){req=false}}}return req}function RequestObject(url,id,Handler,post){var request=createXMLHttpRequest();var handler=Handler;var murl=url;function onStateChange(){if(request.readyState==4){try{if(request.status==200){handler(request.responseText)}else{SetStatus("Error with ajax call.("+request.status+")")}}catch(e){}}}this.request=request;this.murl=url;request.onreadystatechange=onStateChange;request.open(post==null?"GET":"POST",url,true);request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');request.send(post)}function addRequest(url,handler,post){if(url.match(/\?/gi)){url=url+'&'}else{url=url+'?'}url=url+"num="+Math.random()*10;var reqID=++requestcount;var reqObj=new RequestObject(url,reqID,handler,post);requests[reqID]=reqObj;return reqID}
   
var loadToolBox;
var loadNotepad;
var loadTimers;
var loadComms;
var showUserPopup;
var docProfile;
var loadJournal;

var minihelp = null;

var qLinkToClick;
var qClientX;
var qClientY;

var bc = new Array(
	'green',
	'red',
	'blue',
	'fuchsia',
	'purple',
	'orange',
	'grey',
	'lime',
	'pink',
	'brown'
);
	   
function HelpVote(id, helpful)
{
	addRequest('/js/helpvote.asp?action=vote&id='+id+'&helpful='+helpful);
	alert('Your feedback has been recorded and is appreciated.');
}	   
	   
function HelpHide(id)
{
	addRequest('/js/helpvote.asp?action=hide&page='+id);
	
	var t = g('helptable');
	t.style.display = 'none';
}
	
function HelpHideAll()
{
	if ( confirm('Are you sure you want to hide ALL help messages?\n\nNote: They can be turned back on by clicking the blue question mark box that will appear on the next page you load.') ) 
	{
		addRequest('/js/helpvote.asp?action=hideall');
		
		var t = g('helptable');
		t.style.display = 'none';
	}
}

function HelpShowSubmit(page)
{
	var div = g('submithelp');
	var html = '';
	
	
	html += '<br><b>Enter your help info here. All HTML formatting is allowed.<br><br>THIS IS NOT FOR ASKING QUESTIONS. If you need help go to <a href="http://injustice.net.nz/forum/forum.asp?t=8">the help forum.</a></b><br><br><textarea id="helptextz" style="width: 100%; height: 150px;"></textarea><br><br><input type="button" value="   Submit   " onClick="HelpSubmit(\''+page+'\');" />';
	
	div.innerHTML = html;
	
}
 
function HelpSubmit(page)
{
	addRequest('/js/helpvote.asp?action=submit&page='+page, function(){}, 'text='+escape(g('helptextz').value));	
	
	g('submithelp').innerHTML = '<b>Your help text has been submitted. If it passes review it will be viewable from this page.</b>';
}
	 
function doLoadnotepad()
{
	if ( loadNotepad ) {
		loadNotepad();
	} else {
		var div = ce('script');
		div.src = '/js/notepad.js';
		ac(div);
	}
}

function doLoadjournal()
{
	if ( loadJournal ) {
		loadJournal();
	} else {
		var div = ce('script');
		div.src = '/js/journal.js';
		ac(div);
	}
}


function doLoadcomms()
{
	if ( loadComms ) {
		loadComms();
	} else {
		var div = ce('script');
		div.src = '/js/comms.js';
		ac(div);
	}
}

function doLoadtimers()
{
	if ( loadTimers ) {
		loadTimers();
	} else {
		var div = ce('script');
		div.src = '/js/timers.js';
		ac(div);
	}
}

function doLoadquicktools(e)
{
	if ( loadToolBox != null ) {
		loadToolBox();
	} else {
		qClientX = e.clientX;
		qClientY = e.clientY;
		var div = ce('script');
		div.src = '/js/quick.js';
		ac(div);
	}
}

function doShowUserPopup(user, cstatus, e)
{
 	if ( showUserPopup != null ) {
		showUserPopup(user, cstatus);
	} else {
		qLinkToClick = 'profileLink' + user
		qClientX = e.clientX;
		qClientY = e.clientY;
		var div = ce('script');
		div.src = '/js/profile.js?3';
		ac(div);
	}
}

function loadwhosonline(list, local, pcount) {
	buddies = buddies.split(',');
	
	for ( b=0; b<buddies.length; b++ ) {
		buddies[b] = buddies[b].split('|');
	}

	names = new Array();
	cur = 1;

        names[0] = '<a href="/forum/forum.asp?t=8"><font color="#009999"><b>Helpdesk</b></font></a>';

	list = list.split(',');
	for ( i=0; i<list.length; i++ ) {
		data = list[i].split('|');
		
		n = data[0];
		if ( data[1] != '' ) {
			data[1] = '<font color="red"><b>*</b></font>';	
		}
	
		if ( data[2] != '' ) {
			names[cur] = '<a onClick="doShowUserPopup(\'' + data[0] + '\', \'' + data[4] + '\', event); event.returnValue=false;" href="javascript:doNothing()" id="profileLink' + data[0] + '">' + data[2].replace('%', n) + '</a>' + data[1];
		} else if ( data[3] == 'j' ) {
			names[cur] = '<a onClick="doShowUserPopup(\'' + data[0] + '\', \'' + data[4] + '\', event); event.returnValue=false;" href="javascript:doNothing()" id="profileLink' + data[0] + '"><font color=#999999>' + n + '</font></a>' + data[1];
		} else if ( data[3] == 'c' ) {
			names[cur] = '<a onClick="doShowUserPopup(\'' + data[0] + '\', \'' + data[4] + '\', event); event.returnValue=false;" href="javascript:doNothing()" id="profileLink' + data[0] + '"><b>' + n + '</b></a>' + data[1];
		} else if ( data[3] == 'm' ) {
			names[cur] = '<a onClick="doShowUserPopup(\'' + data[0] + '\', \'' + data[4] + '\', event); event.returnValue=false;" href="javascript:doNothing()" id="profileLink' + data[0] + '"><i>' + n + '</i></a>' + data[1];
		} else {
			names[cur] = '<a onClick="doShowUserPopup(\'' + data[0] + '\', \'' + data[4] + '\', event); event.returnValue=false;" href="javascript:doNothing()" id="profileLink' + data[0] + '">' + n + '</a>' + data[1];
		}
		for ( b=0; b<buddies.length; b++ ) {
			if (buddies[b][0] == data[0]) {
				names[cur] = "<span style=\"background:" + bc[buddies[b][1]] + "\">" + names[cur] + "</span>";
				break;
			}
		}
		cur++;
	}
	
	html = names.join(' <b>|</b> ');
	
	woc = g("whosonlinecell");
	if ( woc ) {
		if ( local == 1 ) {
			woc.innerHTML = '<a href="/profile/onlinelistoptions.asp?action=all#ollist" name="ollist" style="font-size: 16px; color: #000000; font-weight: bold; text-decoration: none;">Local Players Currently Online:</a><br>(click to toggle online list)<br>Local: ' + list.length + ' (Total: ' + pcount + ')<br>' + html;
		} else {
			woc.innerHTML = '<a href="/profile/onlinelistoptions.asp?action=local#ollist" name="ollist" style="font-size: 16px; color: #000000; font-weight: bold; text-decoration: none;">Players Currently Online:</a><br>(click to toggle online list)<br>Total: ' + list.length + '<br>' + html;
		}
	}
	uwoc = g("upperwhosonline");
	if ( uwoc) {
		uwoc.innerHTML = 'Total: ' + list.length + '<br>' + html;
	}
}

function show_help(page)
{
	if ( minihelp ) { minihelp.close(); }
	minihelp = window.open("/minihelp.asp?url=" + page, "Intray", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width=300, height=350");
}

function doNothing(){}

var docTips = new TipObj('docTips');
with (docTips) {
	template = '<div class="tipClass">%3%</div>';
	showDelay = 0;
	hideDelay = 10;
	maxAlpha = 95;
	fadeInSpeed = 50;
	fadeOutSpeed = 30;
	tipStick = 0;
}

window.onload = function() {
	try {
		if ( timers == true ) {
			doLoadtimers();
		}
	} catch(err) {  var stuff = ''; }
	
	/*
	if (top.location != location) {
		try {
			var loc = top.location.href;
			var tbpage = "http://injustice.net.nz/toolbar.asp";
			if ( loc.substring(0,tbpage.length) != tbpage ) {
				goToToolbarPage();
			}
		} catch (ex) {
			goToToolbarPage();
		}
	}
	*/
}

function goToToolbarPage()
{
	top.location.href = '/toolbar.asp';
}