
// ------------------------ Begin vlag scripts -----------------------
function updateCountryImage() {
	country_id = document.getElementById("country")[document.getElementById("country").selectedIndex].value
	countryimage = document.getElementById("countryimage");
	if (country_id < 1) {
		countryimage.style.display = "none"
	} else {
		countryimage.style.display = "inline"
		countryimage.src = "template/lod/images/flags/getFlag.php?country_id=" + country_id;
	}
}
// ------------------------ Begin Changelog scripts -----------------------

function toggleDiv(ID) {
	if (document.getElementById(ID).style.display == "") {
		document.getElementById(ID).style.display = "none";
		document.images['plus' + ID].src = document.images['plus' + ID].src.replace("min","plus");
		} else {
		document.getElementById(ID).style.display = "";
		document.images['plus' + ID].src = document.images['plus' + ID].src.replace("plus","min");
		}
}

// ------------------------ Einde Changelog scripts -----------------------

// ------------------------ Begin BBcode scripts -----------------------
	var clientPC = navigator.userAgent.toLowerCase();
	is_opera = (clientPC.indexOf("opera") != -1)

	function mozWrap(txtarea, lft, rgt) {
		txtarea = document.getElementById(txtarea);
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd==1 || selEnd==2) selEnd=selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + lft + s2 + rgt + s3;
	}
	
	function IEWrap(lft, rgt) {
		strSelection = document.selection.createRange().text;
		if (strSelection!="") {
			document.selection.createRange().text = lft + strSelection + rgt;
		}
	}
	
	function wrapSelection(txtarea, lft, rgt) {
		if (document.all) {
			if(is_opera) {
				alert("Sorry, not implemented yet for Opera");
				return false;
			} else {
				IEWrap(lft, rgt);
			}
		} else if (document.getElementById) {
			mozWrap(txtarea, lft, rgt);
		}
	}
	function wrapSelectionWithLink(txtarea) {
		var my_link = prompt("Enter URL:","http://");
		if (my_link != null) {
			lft="[url=" + my_link + "]";
			rgt="[/url]";
			wrapSelection(txtarea, lft, rgt);
		}
	}	
	
	function toggleList() {
		if (document.getElementById("ubbtags").style.display == "none") {
			document.getElementById("ubbtags").style.display = "block";
			document.getElementById("togglebutton").innerHTML="Info UBB tags";
		} else {
			document.getElementById("ubbtags").style.display = "none";
			document.getElementById("togglebutton").innerHTML="Info UBB tags";
		}
	}
// ------------------------ Einde BBcode scripts -----------------------

// ------------------------ Begin Map scripts -----------------------
function x_y(x,y)
{
document.getElementById('x').firstChild.nodeValue = x;
document.getElementById('y').firstChild.nodeValue = y;
}
// ------------------------ Einde Map scripts -----------------------

// ------------------------ Begin Tijd scripts -----------------------
function start(){
t_minus();
}

function t_minus(){
for(i=1;; i++) {
myElement = document.getElementById("timer" + i);
if(myElement != null)
{
sec = t_format1(myElement);
sec -= 1;
if (sec < 0){setTimeout("document.location.reload()",1000);}
else{sec = t_format2(sec); myElement.innerHTML=sec;}
}
else break;
}
setTimeout("t_minus()", 1000);
}

function t_format1(myElement) {
p = myElement.innerHTML.split(":");
hours = p[0];
minutes =  p[1];
seconds = p[2];
sec = hours*3600+minutes*60+seconds*1;
return sec;
}

function t_format2(s) {
if(s > -1)
{
hours = Math.floor(s/3600);
minutes = Math.floor(s/60) % 60;
seconds = s % 60;
t = hours + ":";
if(minutes < 10){t += "0";}
t += minutes + ":";
if(seconds < 10){t += "0";}
t += seconds;
}
else
{
t = "0:00:0";
}
return t;
}
// ------------------------ Einde Tijd scripts -----------------------

//-------------------UserMenu----------
var ie = ((document.all) && (window.offscreenBuffering)) ? true : false;
var mx=400;
var my=300;
var dragMinY=0;
var additionalMouseMove=null;

function mouseMove(e) {
  if (ie) {
  	mx=event.clientX + document.documentElement.scrollLeft;
  	my=event.clientY + document.documentElement.scrollTop;
  } else {
	mx=e.pageX;  	
	my=e.pageY;
  }
  if (additionalMouseMove) {
  	additionalMouseMove();
  }
}

function setCookie(name,value) {
        expires = new Date();
        expires.setTime(expires.getTime() + (1000 * 86400 * 365));
        document.cookie = name + "="+value+"; expires=" + expires.toGMTString() +  "; path=/";
}

function moveFunctionBar(evt) {
	if(!evt) var evt = window.event;
    var newTop =(functionBarTop  + evt.screenY - downY);
    var newLeft =(functionBarLeft  + evt.screenX - downX);
    if (newTop<dragMinY)
    	newTop=dragMinY;
    document.getElementById(dragObjName).style.top  = newTop  + 'px';
    document.getElementById(dragObjName).style.left  = newLeft  + 'px';
    dragging=true;
    if ((typeof(additionalMouseMove)!="undefined") && (additionalMouseMove!=null))
    	additionalMouseMove(evt);
}

function functionMouseDown (evt) {
	if (typeof(document.onmouseup)=="object") {
		document.onmouseup = globalMouseUp;
	}
	if(!evt) var evt = window.event;
    if((evt.which && evt.which == 3) || (evt.button && evt.button == 2)) return true;
	var target=(evt.target)? evt.target:evt.srcElement;
    functionBarTop  = parseInt(document.getElementById(dragObjName).style.top);
    functionBarLeft = parseInt(document.getElementById(dragObjName).style.left);
	document.getElementById(dragObjName).ondragstart = function(evt) { return false; };
    downY = evt.screenY;
    downX = evt.screenX;
	dragging=false;
    document.onmousemove = moveFunctionBar;
    if (evt.preventDefault)
	    evt.preventDefault();
	else
		evt.returnValue = false;
};


document.onmouseup = globalMouseUp;
window.setTimeout("document.onmouseup = globalMouseUp;",2000);
var dragObjName;

function globalMouseUp(evt) {
	if (!(typeof mouseMove=="undefined")) {
	    document.onmousemove = mouseMove;
	} else {
	    document.onmousemove = null;
	}
    if ((dragObjName!=null) && (dragObjName.substr(0,11)=="functionDiv")) {
    	setCookie("windowPositionY",parseInt(document.getElementById(dragObjName).style.top));
    	setCookie("windowPositionX",parseInt(document.getElementById(dragObjName).style.left));
		dragObjName=null;
    }
    return true;
};

function userMenu(username) {
	var top=my-100;
	var left=mx-100;
	if (left<0) left=0;
	if (top<0) top=0;
	h=185;
	document.getElementById('userMenuDiv').style.top=top+"px";
	document.getElementById('userMenuDiv').style.left=left+"px";
	document.getElementById('userMenuDiv').style.height=h+"px";
	newHTML ="<b>"+username+"</b><br>";
		newHTML+="<a href='' onclick='closeUserMenu(); return false;'>"+text['Link1']+"</a><br>";
		newHTML+="<a href='' onclick='closeUserMenu(); return false;'>"+text['Link2']+"</a><br>";
		newHTML+="<a href='' onclick='closeUserMenu(); return false;'>"+text['Link3']+"</a><br>";
	newHTML+="<a href='' onclick='closeUserMenu(); return false;'><img style=\"position:absolute; top:0; right:0;\" src=\"images/usermenu/close.gif\" /></a>";
	document.getElementById('userMenuDiv').innerHTML=newHTML;
	document.getElementById('userMenuDiv').style.display="block";
}

function closeUserMenu() {
	document.getElementById("userMenuDiv").style.display="none";
}

function openBuildList() {
	if(document.getElementById("BuildList").style.display=="block"){
		closeBuildList();
	}else{
		document.getElementById("BuildList").style.display="block";
	}
}

function closeBuildList() {
	document.getElementById("BuildList").style.display="none";
}

function ShowInfoBox() {
	if(document.getElementById("InfoBox").style.display=="block"){
		HideInfoBox();
	}else{
		document.getElementById("InfoBox").style.display="block";
	}
}

function HideInfoBox() {
	document.getElementById("InfoBox").style.display="none";
}

function ShowUnitBox() {
	if(document.getElementById("UnitBox").style.display=="block"){
		HideUnitBox();
	}else{
		document.getElementById("UnitBox").style.display="block";
	}
}

function HideUnitBox() {
	document.getElementById("UnitBox").style.display="none";
}

function closeFunction() {
	var winName="";
	for (i=0; i<possibleWindows.length; i++) {
		win=possibleWindows[i];
		currWin=document.getElementById(win);
		if (currWin!=null) {
			if (currWin.style.zIndex==97) {
				currWin.style.display="none";
				winName=win;
			}
		}
	}
}

function FWD(name) {
	for (i=0; i<possibleWindows.length; i++) {
		win=possibleWindows[i];
		currWin=document.getElementById(win);
		if (currWin!=null) {
			if (win!=name) {
				document.getElementById(win).style.zIndex=96;
			} else {
				document.getElementById(win).style.display="block";
				document.getElementById(win).style.zIndex=97;
				currentlyFocusedWindow=win;
			}
		}
	}
}
//-------------------UserMenu----------


//-----time test---
var timeDiff = null;
var timeStart = null;

var resis = new Object();
var timers = new Array();

function addTimer(element, endTime, reload) {
	var timer = new Object();
	timer['element'] = element;
	timer['endTime'] = endTime;
	timer['reload'] = reload;
	timers.push(timer);
}

function startTimer() {
	var serverTime = getTime(document.getElementById("serverTime"));
	timeDiff = serverTime-getLocalTime();
	timeStart = serverTime;

	// Nach span mit der Klasse timer und timer_replace suchen
	var spans = document.getElementsByTagName("span");
	for(var i=0; i<spans.length; i++) {
		var span = spans[i];
		if(span.className == "timer" || span.className == "timer_replace") {
			startTime = getTime(span);
			if(startTime != -1)
				addTimer(span, serverTime+startTime, (span.className == "timer"));
		}
	}

	window.setInterval("tick()", 1000);
}

function startResTicker(resName) {
	var element = document.getElementById(resName);
	var start = parseInt(element.firstChild.nodeValue);
	var max = parseInt(document.getElementById("storage").firstChild.nodeValue);
	var prod = element.title/3600;

	var res = new Object();
	res['name'] = resName;
	res['start'] = start;
	res['max'] = max;
	res['prod'] = prod;
	resis[resName] = res;
}

function tickRes(res) {
	var resName = res['name'];
	var start = res['start'];
	var max = res['max'];
	var prod = res['prod'];

	var now = new Date();
	var time = (now.getTime()/1000+timeDiff)-timeStart;
	current = Math.min(Math.floor(start+prod*time), max);
	var element = document.getElementById(resName);
	element.firstChild.nodeValue = current;

	if(current == max) {
		element.setAttribute('class', 'warn');
	}
}

function tick() {
	tickTime();
	for(var res in resis) {
		tickRes(resis[res]);
	}
	for(timer=0;timer<timers.length;timer++){
		remove = tickTimer(timers[timer]);
		if(remove) {
			timers.splice(timer, 1);
		}
	}
}

function tickTime() {
	var serverTime = document.getElementById("serverTime");
	if(serverTime != null) {
		time = getLocalTime()+timeDiff;
		formatTime(serverTime, time, true);
	}
}

function tickTimer(timer) {
	var time = timer['endTime']-(getLocalTime()+timeDiff);

	if(timer['reload'] && time < 0) {
		document.location.href = document.location.href;
		formatTime(timer['element'], 0, false);
		return true;
	}
	
	if (!timer['reload'] && time <= 0)
	{
		// Timer ausblenden und Alternativ-Text anzeigen
		var parent = timer['element'].parentNode;
		parent.nextSibling.style.display = 'inline'; // Nachfolger des Parent einblenden
		parent.parentNode.removeChild(parent); // Parent entfernen
		
		return true;
	}
	
	formatTime(timer['element'], time, false);
	return false;
}

function getLocalTime() {
	var now = new Date();
	return Math.floor(now.getTime()/1000)
}

function getTime(element) {
	// Zeit auslesen
	if(element.firstChild.nodeValue == null) return -1;
	part = element.firstChild.nodeValue.split(":");

	// Führende Nullen entfernen
	for(j=1; j<3; j++) {
		if(part[j].charAt(0) == "0")
			part[j] = part[j].substring(1, part[j].length);
	}
		
	// Zusammenfassen
	hours = parseInt(part[0]);
	minutes = parseInt(part[1]);
	seconds = parseInt(part[2]);
	time = hours*60*60+minutes*60+seconds;
	return time;
}

function formatTime(element, time, clamp) {
	// Wieder aufsplitten
	hours = Math.floor(time/3600);
	if(clamp) hours = hours%24;
	minutes = Math.floor(time/60) % 60;
	seconds = time % 60;

	timeString = hours + ":";
	if(minutes < 10)
		timeString += "0";
	timeString += minutes + ":";
	if(seconds < 10)
		timeString += "0";
	timeString += seconds;

	element.firstChild.nodeValue = timeString;
}
//-----------time test --------------

function submitProduce(){
	xajax_ProcessProduceForm(xajax.getFormValues("ProduceForm"));
	return false;
}

function submitRecruit(){
	xajax_ProcessRecruitForm(xajax.getFormValues("RecruitForm"));
	return false;
}

