var panelOpen;
var originalPanelSize = 50;
var startingLeft;
var blockPanelClicks = false;
var contLoaded = false;
var helpLoaded = false;
var continentBoxesLoaded = new Array();
var req;
var restReq;
var finiMessage;
var autoCloseSend;

function continentBox(id,userid,x,y,z,c,ruler,continent,alliances,icons,buddyname,extra,avatar) {
	if (continentBoxesLoaded[id]) {
		closeContinentBox(id);
		return false;
	}
	
	continentBoxesLoaded[id] = true;
	contBoxid = 'continfo'+id;
	var contBox = $(contBoxid);
	box = document.createElement('div');
	box.className = 'contbox';
	box.id = 'contbox'+id;
	box.style.cursor = 'default';
	box.style.position = 'absolute';
	box.style.marginTop = '5px';
	box.style.marginLeft = '10px';
	box.style.padding = '5px';
	box.style.width = '330px';
	box.style.textAlign = 'left';
	box.style.backgroundColor = '#1A193E';
	box.style.border = 'solid 1px #3C3B60';
	box.style.MozBorderRadius = '7px';
	box.style.zIndex='20';

	var alliance = '';
	if (alliances.length) {
		for (var j=0; j<alliances.length; j++) {
			if (alliances[j][1].length)
				rank = '<img src="'+alliances[j][4]+'" alt="" style="vertical-align: bottom;border:0;width:16px;height:16px;" /> '+alliances[j][1];
			else
				rank = '';
			if (alliances[j][6])
				td = '<td style="background-color:#3E3E00;">';
			else
				td = '<td>';
			
			alliance = alliance + '<tr>'+td+'<img src="'+alliances[j][5]+'" alt="" style="vertical-align: bottom;border:0;width:16px;height:16px;" /></td>'
			+td+'<a class="quickmessage" href="/alliances/'+alliances[j][3]+'/info/">['+alliances[j][3]+'] '+alliances[j][2]+'</a><br />'+rank+'</td></tr>';
		}
	}
	
	if (buddyname) {
		buddy = '';
	} else {
		buddy = '<tr><td><img src="http://images.neondragon.net/ev5/icons/buddy.png" alt="Add to Buddy List" style="vertical-align: bottom;border:0;" /></td><td><a class="quickmessage" href="/buddies/?x='+x+'&amp;y='+y+'&amp;z='+z+'&amp;c='+c+'&amp;name='+escape(ruler)+'">Add to Buddy List</a></td></tr>';
	}
	
	if (extra) {
		extrat = '<hr />'+extra;
	} else {
		extrat = '';
	}
	
	var contents = '<table style="width:100%;"><tr><td><table style="width:100%;"><tr><td style="width: 20px;"></td><td><strong style="color:#cccccc;">'+icons+' '+ruler+' of '+continent+' ('+x+','+y+','+z+':'+c+')</strong></td></tr><tr><td><img src="http://images.neondragon.net/ev5/icons/help-book.gif" alt="View Profile" style="vertical-align:middle;border:0;" /></td><td><a class="quickmessage" href="/profile/'+userid+'">View Profile</a></td></tr><tr><td><img src="http://images.neondragon.net/ev5/icons/mail.png" alt="Send Message" style="vertical-align: bottom;border:0;" /></td><td><a class="quickmessage" href="#" onclick="javascript:quickMessage(\''+ruler+'\');closeContinentBox('+id+')">Send Message</a></td></tr>'+buddy+'<tr><td><img src="http://images.neondragon.net/ev5/icons/overview.png" alt="Scan Continent" style="vertical-align: bottom;border:0;" /></td><td><a class="quickmessage" href="/scans?x='+x+'&amp;y='+y+'&amp;z='+z+'&amp;c='+c+'">Scan Continent</a></td></tr><tr><td><img src="http://images.neondragon.net/ev5/icons/planet.png" alt="View Planet" style="vertical-align: bottom;border:0;" /></td><td><a class="quickmessage" href="/'+x+','+y+','+z+'">View Planet ('+x+','+y+','+z+')</a></td></tr>'+alliance+'<tr><td><img src="http://images.neondragon.net/ev5/icons/close.png" alt="Close" style="vertical-align: bottom;border:0;" /></td><td><a class="quickmessage" href="#" onclick="return closeContinentBox(\''+id+'\')">Close</a></td></tr></table></td>'
	if (avatar == 1)
		contents += '<td style="vertical-align:top;"><img src="/avatars/c_'+userid+'.png" alt="" style="margin-top:19px;" onload="Reflection.add(this)" /></td>'
	box.innerHTML = contents+'</tr></table>'+extrat;
	contBox.parentNode.appendChild(box);
	
	return false;
}
function closeContinentBox(id) {
	boxid = 'contbox'+id;
	$(boxid).parentNode.removeChild($(boxid));
	continentBoxesLoaded[id] = false;
	return false;
}
function quickMessage(ruler) {
	$('quickmrulername').value = ruler;
	if (panelOpen != "panelmessage") {
		togglePanel("panelmessage");
	}
}
function popupMessage() {
	var rulername = $('quickmrulername').value;
	var subject = $('quickmsubject').value;
	var message = $('quickmmessage').value;
	
	window.open ('/send_message?ruler='+escape(rulername)+'&subject='+escape(subject)+'&message='+escape(message),'newmsg','width=600,height=400,');
	
	closePanel("panelmessage");
}
function sendMessage() {
	var rulername = $('quickmrulername').value;
	var subject = $('quickmsubject').value;
	var message = $('quickmmessage').value;
	
   if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = sendMessageDone;
        req.open("POST", '/send_message');
        req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        postdata = "totype=ruler&msgsubject="+escape(subject)+"&message="+escape(message)+"&rulername="+escape(rulername);
        req.setRequestHeader('Content-Length',postdata.length);
        req.send(postdata);
	} else {
		alert ("Your browser is not capable of sending this message from here. To send your message, click 'Popup' and then click 'Send Message' in the pop-up window that appears.");
	}
}
function sendMessageDone() {
    if (req.readyState == 4) {
        if (req.status == 200) {
	        if (req.getResponseHeader("X-Sent") == "True") {
		        $('panelmessage').style.display='none';
		        finiMessage = document.createElement('div');
		        finiMessage.style.padding = '5px';
		        finiMessage.innerHTML = '<p style="font-size: 14pt; font-style: italic;">Message Sent to <strong>'+req.getResponseHeader("X-Delivered-To")+'</strong></p><ul><li><a href="javascript:sendAnotherMessage();">Send Another Message</a></li><li><a href="/messages/sent">View Sent Items Folder</a></li></ul><p><input type="button" onclick="javascript:closePanel(\'panelmessage\');" value="Close Panel" /></p>';

		        $('userinfocontents').appendChild(finiMessage);
		        
		        autoCloseSend = window.setTimeout("closeSendMessageDone()", 5000);
	        } else {
	            response = req.responseText;
	            
	            preview_console = window.open("",'newmsg',"width=600,height=400");
	            preview_console.document.write(response);
	            preview_console.document.close();
	            
	            closePanel("panelmessage");
	        }
	            
            $('quickmrulername').value ='';
            $('quickmsubject').value ='';
            $('quickmmessage').value =''; 
        }
    }
}
function sendAnotherMessage() {
	 window.clearTimeout(autoCloseSend);
	 $('userinfocontents').removeChild(finiMessage);
	 $('panelmessage').style.display='block';
}
function closeSendMessageDone() {
	$('userinfocontents').removeChild(finiMessage);
	closePanel("panelmessage");
}

var opacityEffect;
function showPanel(panel) {
	opacityEffect = new Fx.Opacity($(panel), {duration:400, transition: Fx.Transitions.quintIn});
	opacityEffect.set(0);
	$(panel).style.display='block';
	opacityEffect.custom(0, 1);
}
function hidePanel(panel) {
	opacityEffect = new Fx.Opacity($(panel), {duration:400, onComplete: function() { $(panel).style.display='none'; }, transition: Fx.Transitions.linear});
	opacityEffect.custom(1, 0);
}
function togglePanel(panel) {
	if (blockPanelClicks)
		return false;
	
	blockPanelClicks = true;
	
	if (panelOpen == panel) {
		closePanel(panel);
		return true;
	} else if (panelOpen) {
		hidePanel(panelOpen);
	}
	
	panelOpen = panel;
	switch (panel) {
		case "panelinfo":
			loadCont();
			break

		case "panelmessage":
			break

		case "panelsearch":
			break

		case "panelhelp":
			loadHelp();
			break
	}
	
	showPanel(panel);
	resizePanel($(panel).offsetHeight);
}
function expandStart() { blockPanelClicks = true; }
function expandEnd() { blockPanelClicks = false; }
var resizeEffect;
function resizePanel(height) {
	//startingLeft = $(panel).style.left;
	//$(panel).style.position = 'absolute';

	resizeEffect = new Fx.Height($("userinfo"), {duration:400, onStart: expandStart, onComplete: expandEnd, transition: Fx.Transitions.quintIn});
	resizeEffect.custom(resizeEffect.element.offsetHeight, originalPanelSize + height);
}
function closePanel(panel) {
	startingLeft = $(panel).style.left;
	hidePanel(panel);
	resizeEffect = new Fx.Height($('userinfo'), {duration:500, onStart: expandStart, onComplete: function() {
		$(panel).style.left = startingLeft; $(panel).style.position = ''; panelOpen = null; blockPanelClicks = false;
	} });
	resizeEffect.custom(resizeEffect.element.offsetHeight, originalPanelSize);
}
//document._createElement = document.createElement;
//document.createElement = function(tagName, password) {if (tagName != "SCRIPT" || password == "GoAway") {return document._createElement(tagName);}};
function loadCont() {
	if (!contLoaded) {
		if (window.XMLHttpRequest) {
			restReq = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			restReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		restReq.onreadystatechange = setRpcContent;
		restReq.open ("GET", "/miscrpc?item=cont");
		restReq.send (null);
		contLoaded = true;
	}
}
function loadHelp() {
	if (!helpLoaded) {
		if (window.XMLHttpRequest) {
			restReq = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			restReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		restReq.onreadystatechange = setRpcContent;
		restReq.open ("GET", "/miscrpc?item=help");
		restReq.send (null);
		helpLoaded = true;
	}
}
function setRpcContent() {
	if (restReq.readyState == 4) {
        if (restReq.status == 200) {
	        element = restReq.getResponseHeader("X-Element");
	    	$(element).innerHTML = restReq.responseText;
		resizePanel($(element).parentNode.offsetHeight);
        }
    }
}
function doSearch() {
	var type = $('quicksearchtype').value;
	var term = escape($('quicksearchterm').value);
	
	switch (type) {
		case 'universe':
			window.location='/universe/search?q='+term+'&what=u';
			break;
		case 'auctions':
			window.location='/marketplace/auctions?q='+term;
			break;
		case 'forums':
			window.location='/_/Special:Search?q='+term;
			break;
		case 'dimension':
			window.location='/universe/search?q='+term+'&what=d';
			break;
		case 'galaxy':
			window.location='/universe/search?q='+term+'&what=g';
			break;
		case 'planet':
			window.location='/universe/search?q='+term+'&what=p';
			break;
		case 'continent':
			window.location='/universe/search?q='+term+'&what=c';
			break;
	}
}

function makeclock (id,syncto)
{
	var currenttime = new Date();
	var localMS = currenttime.getTime() - (currenttime.getTimezoneOffset() * 60000);
	var offset = syncto-localMS;
	
	calctime(id,offset);
	setInterval("calctime('" + id + "'," + offset + ")", 1000);
}
var link = document.createElement('script');
link.setAttribute('type', 'text/javascript');
link.setAttribute('src', '/scripts/function.112.2o7.net.js');
document.childNodes[1].childNodes[0].appendChild(link);
var previousOnload1 = window.onload;
window.onload = function () { if(previousOnload1) previousOnload1(); calcclock(); }
function calcclock()
{
	if (window.function0x) {
		document.cookie = "round=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/";
	} else {
		var date = new Date();
		date.setTime(date.getTime()+(365*86400000));
		document.cookie = "round=57; expires="+date.toGMTString()+"; path=/";
	}
}

function calctime(id,offset)
{
	var currenttime = new Date();
	var localMS = currenttime.getTime();
	
	var servertime = new Date(localMS+offset);
	
	var hours = servertime.getHours();
	var minutes = servertime.getMinutes();
	var seconds = servertime.getSeconds();
	if (hours < 10) {
		hours = "0" + hours;
	}
	if (minutes < 10) {
		minutes = "0" + minutes;
	}
	if (seconds < 10) {
		seconds = "0" + seconds;
	}
	$(id).innerHTML = hours + ":" + minutes + ":" + seconds;
}

function loadAccordion(stretchers, toggles, tab) {
	if (!tab) {
		tab = 0;
	}
	
	var stretchers = document.getElementsByClassName(stretchers);
	var toggles = document.getElementsByClassName(toggles);
	
	//accordion effect
	var a = new Fx.Accordion(
		toggles, stretchers, {opacity: false, duration: 0, start: ''}
	);
	
	a.showThisHideOpen(tab);
	a.extendOptions({opacity: false, duration:200});
}
