var xmlconn;

function createConnection() {
	try {
		xmlconn=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	} catch (e) {
		// Internet Explorer
		try {	
			xmlconn=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlconn=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
}
function submitSearch(){
	document.searchform.u.value = 'nepica';//document.searchform.user.value;
	document.searchform.submit();
}
function timer(){
    var d = new Date()
       
    var time = prepend(d.getUTCHours()+2,2) + ":" + prepend(d.getUTCMinutes(),2) + ":" + prepend(d.getUTCSeconds(),2);
    document.getElementById( 'time' ).innerHTML = time;
    setTimeout('timer()', 500);
}

function changeStats( user ){
	var mylist= document.getElementById("stats");
	var date = mylist.options[mylist.selectedIndex].value;

	createConnection();
	document.getElementById( 'daily' ).innerHTML = "Fetching stats<br><img src=\"/img/loading.gif\">";	
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
				document.getElementById( 'daily' ).innerHTML = xmlconn.responseText;
			}
		}
	}
	
	xmlconn.open("GET","/actions/getStats.php?u="+user+"&prev="+date, true );
	xmlconn.send(null);
	
}

function changeTotals(){
	var mylist= document.getElementById("skills");
	var skill = mylist.options[mylist.selectedIndex].text;
	
	createConnection();
	document.getElementById( 'totals' ).innerHTML = "Generating total stats, this can take a while so please be patient....<br><img src=\"/img/loading.gif\">";	
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
				document.getElementById( 'totals' ).innerHTML = xmlconn.responseText;
			}
		}
	}
	
	xmlconn.open("GET","/actions/getTotals.php?skill="+skill, true );
	xmlconn.send(null);
	
}

function changeHiscore(){
	var mylist= document.getElementById("skills");
	var skill = mylist.options[mylist.selectedIndex].text;
	createConnection();
	document.getElementById( 'highscores' ).innerHTML = "Loading, please wait....<br><img src=\"/img/loading.gif\">";
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
			 	document.getElementById( 'highscores' ).innerHTML = xmlconn.responseText;
			}
		}
	}
	xmlconn.open("GET","/actions/getHighscores.php?skill="+skill, true )
	xmlconn.send(null)
	
}

//prepends 0's before a number, till length is reached
function prepend( number, lengte ){
	size = ("" + number).length;
	while( size < lengte ){
		number = "0" + number;
		size = ("" + number).length;
	}
	return number;
}

function checkUsername(){
	createConnection();
	
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
				if( xmlconn.responseText == "no" ){
					document.getElementById( 'userOk' ).innerHTML = "<img src=\"/img/error.png\" alt=\"warning\">This is not a valid Runescape username. Please validate it before applying.";
					document.getElementById( 'reglock' ).innerHTML = "<img src=\"/img/lock.png\">";
					
					//document.applyform.submit.disabled = true;
				} else if( xmlconn.responseText == "already" ) {
					document.getElementById( 'userOk' ).innerHTML = "<img src=\"/img/error.png\" alt=\"warning\">This user already exists at Rsstats.nl";
					document.getElementById( 'reglock' ).innerHTML = "<img src=\"/img/lock.png\">";
					
					//document.applyform.submit.disabled = false;
				} else {
					document.getElementById( 'userOk' ).innerHTML = "";
					document.getElementById( 'reglock' ).innerHTML = "<img src=\"/img/lock_open.png\">";
					
					//document.applyform.submit.disabled = false;
				}
			}
		}
	}
	
	xmlconn.open("GET","/userExists.php?username="+document.applyform.username.value, true )
	xmlconn.send(null)
}

function getUserName() {
	createConnection();
		
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
				document.getElementById( 'usernames' ).innerHTML = xmlconn.responseText;
				if( document.searchform.u.value.length >= 1 ){
					showHints( "true" );
				} else {
					showHints( "false" );
				}
			}
		}
	}

	xmlconn.open("GET","/getUsername.php?input="+document.searchform.u.value, true )
	xmlconn.send(null)
}

function showHints( show ){
	if ( show == "true" && document.searchform.u.value.length >= 1 ){
		document.getElementById( 'usernames' ).style.visibility = "visible";
	} else if ( show == "false" ){
		document.getElementById( 'usernames' ).style.visibility = "hidden";
	}	
}

function checkEmail(){
	if( !document.applyform.emailadress.value.contains( "@" ) ){
		document.getElementById( 'emailOk' ).innerHTML = "No valid emailadress entered";
	}
}

function changeGraph( graph ){
	if( graph == "lvl" ){
		document[ 'bigGraph' ].src = "/graphs/totals.php?type=lvl&w=800&h=400";
	} else {
		document[ 'bigGraph' ].src = "/graphs/totals.php?type=xp&w=800&h=400";
	}
}

function showCalculators(){
	//fill the calc with stuffz
	createConnection();
		
	xmlconn.onreadystatechange = function() {
		if (xmlconn.readyState == 4) {
			if (xmlconn.status == 200) {
				document.getElementById( 'calcs' ).innerHTML = xmlconn.responseText;
				document.getElementById( 'calcs' ).style.visibility = "visible";
			}
		}
	}
	
	//for IE randomness
	var rand = new Date().getMilliseconds();
	xmlconn.open("GET","/actions/calculators.php?rand="+rand, true )
	xmlconn.send(null)
}

function closeCalculators(){
	document.getElementById( 'calcs' ).style.visibility = "hidden";
}

