var fade = 100;

var focus;
var refr;
var timer;
var page;
var timeout;
var refresh_time;
var refresh_display = 7;
var refresh_delay = 50;
var url = window.location.href;

function defaults(mode,refresh,pagetimeout,noxhrinfo,nocookies,ie){
	/// enter hit handling is not working on chrome
	/// change header on new chat message or challenge
	timeout = pagetimeout*1000;
	if(navigator.appName.search("Explorer") != -1){
// 		document.getElementById('browser').href = 'ie-duel.css';
		document.getElementById('browser').href = 'duel.css';
		document.body.style.display = "block";
		document.getElementById("additionalinfo").innerHTML = ie;
	}
	else{
		document.getElementById('browser').href = 'duel.css';
	}
	if(screen.width < 1280){
		document.getElementById('screenresolution').href = '1024-style.css';
	}
	else{
		document.getElementById('screenresolution').href = '1280-style.css';
	}
	refresh_time = refresh*1000;
	if(document.getElementById("markedinput") != null){
		focus = 1;
		document.getElementById("markedinput").focus();
	}
	if(mode == -1){
		update_timeout();
	}
	else if(mode == 0){
		if(document.getElementById("loginbuttons") != null && navigator.appName.search("Explorer") == -1){
			document.getElementById("loginbuttons").style.display = "none";
			if(navigator.cookieEnabled == false) document.getElementById("additionalinfo").innerHTML = nocookies;
			else{
				timer = self.setInterval(function(){
					document.getElementById("loginbuttons").style.display = "block";
					document.getElementById("additionalinfo").innerHTML = noxhrinfo;
					},refresh_time);
				xhrtransfer(5,"xhrtest.php?arg=getbuttons");
			}
		}
	}
	else if(mode > 0){
		if(mode > 1){
			self.setTimeout("refresh_game()",refresh_delay);
			refr = self.setInterval("refresh_game()",refresh_time);
			timer = self.setInterval("refresh_timer()",1000);
		}
		else{
			self.setTimeout("refresh_panels()",refresh_delay);
			refr = self.setInterval("refresh_panels()",refresh_time);
		}
		update_timeout();
		document.onkeydown = pressed_enter;
	}
	self.setTimeout(function(){document.body.style.display = "block";},20);
	fadein();
}

function refresh_timer(){
	if(document.getElementById("game_timer").innerHTML > 0){
		document.getElementById("game_timer").innerHTML = document.getElementById("game_timer").innerHTML-1;
	}
}

function switchfocus(input){
	focus = input;
}

function pressed_enter(e){
	var keydown;
	if(window.event) keydown = window.event.keyCode;
	else if (e) keydown = e.which;
	if(keydown == 13){
		update_timeout();
		switch(focus){
			case(1):
				if(document.getElementById("markedinput").value != "") send_message();
				break;
			case(2):
				if(document.getElementById("solutioninput").value != "") submitsolution();
				break;
		}
	}
}

function update_timeout(){
	self.clearTimeout(page);
	page = self.setTimeout("logout()",timeout);
}

function logout(){
	self.clearInterval(refr);
	self.clearInterval(timer);
	window.location.href = "index.php?page=2";
}

function startpage(){
	window.location.href = "index.php";
}

function fadein(){
	document.getElementById("fade").style.display = "block";
	self.setTimeout("fadescale()",20);
}

function fadescale(){
	document.getElementById("fade").style.opacity = fade/100;
	document.getElementById("fade").style.filter = "alpha(opacity="+fade+")";
	if(fade > 0){
		fade -= 20;
		self.setTimeout("fadescale()",20);
	}
	else{
		document.getElementById("fade").style.display = "none";
	}
}

function navigate_out(){
	/// execute this if the player closes the browser while a game is running
	if(false){
		alert("closing window");
		window.location.href = "index.php?page=1";
	}
}

