function createAjaxRequest(){
	try{
		// Opera 8.0+, Firefox, Safari
		return new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
}

function loginAjax(){
	var ajaxRequest = createAjaxRequest();

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var username = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var params = "username=" + username + "&password=" + password + "&sublogin=1";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function logout(){
	var ajaxRequest = createAjaxRequest();
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}
	var params = "";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}

function registerAjax(){
	var ajaxRequest = createAjaxRequest();
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	var username = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var email = document.getElementById('email').value;
	var params = "username=" + username + "&password=" + password + "&email=" + email + "&subjoin=1";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}

function editAjax(){
	var ajaxRequest = createAjaxRequest();
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	var username = document.getElementById('curpass').value;
	var password = document.getElementById('newpass').value;
	var email = document.getElementById('email').value;
	var params = "curpass=" + username + "&newpass=" + password + "&email=" + email + "&subedit=1";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}

function viewUCP(){
	var ajaxRequest = createAjaxRequest();
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	var params = "";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/ucp.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}


function goRegister(){

		var register_form = "<form name='register'>&nbsp;Username: <input type='text' id='username' maxlength='30' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" />Password: <input type='password' id='password' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" />Email: <input type='text' id='email' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" /><input type='button' id='enterregister' onclick='registerAjax()' value='Register' /><input type='button' onclick='goLogin()' value='Back' /></form>";

		document.getElementById('ajaxDiv').innerHTML = register_form;

}

function goLogin(){

		var login_form = "<form name='login'>&nbsp;Username: <input name='username' type='text' id='username' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterlogin').click()\" />Password: <input name='password' type='password' id='password' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterlogin').click()\" /><input type='button' id='enterlogin' onclick='loginAjax()' value='Login' /><input type='button' onclick='goRegister()' value='Register' /></form>";

		document.getElementById('ajaxDiv').innerHTML = login_form;

}

function goEdit(){

		var edit_form = "<form name='edit'>&nbsp;Current Password: <input type='password' id='curpass' maxlength='30' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" />New Password: <input type='password' id='newpass' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" />Email: <input type='text' id='email' value='' onkeydown=\"if (event.keyCode == 13) document.getElementById('enterregister').click()\" /><input type='button' id='enterregister' onclick='editAjax()' value='Edit' /><input type='button' onclick='viewUCP()' value='Back' /></form>";

		document.getElementById('ajaxDiv').innerHTML = edit_form;

}

function rateGame(){
	var ajaxRequest = createAjaxRequest();
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	var rating = document.getElementById('rating').value;
	var gameName = document.getElementById('gameName').value;
	var username = document.getElementById('userName').value;
	var params = "username=" + username + "&gameName=" + gameName + "&rating=" + rating + "&subrate=1";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}

function goFav(value){
 
    //if they selected the menu title, don't do anything
    if(value == "Favorite Games")
    {
      return;
    }

	var chopped = new Array();
	var game;
	var genre;
	var location;
	
	//split the string at the # to extract the game name and game genre
	chopped = value.split('#');
	
	//save the game name as it's own variable
	game = chopped[0];
	
	//save the game genre as it's own variable
	genre = chopped[1];
	
	//replace spaces with dashes
	while (game.indexOf(" ") > -1)
	  game = game.replace(" " , "-");
	
	//make the entire string lowercase
	game = game.toLowerCase();
	
	//add .png to the game name
    game = game + ".png";
	
	//set location variable with the game url
	location = "http://www.pwnagegames.com/play-game.php?game_name=" + game + "&game_type=" + genre;
	
	//set their window location to the game url
	window.location.href = location;
}

function favoriteGame(){
	var ajaxRequest = createAjaxRequest();

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	var gameName = document.getElementById('gameName').value;
	var username = document.getElementById('userName').value;

	var params = "username=" + username + "&gameName=" + gameName + "&subfav=1";

	ajaxRequest.open("POST", "http://www.pwnagegames.com/login/process.php", true);
//Send the proper header information along with the request
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.setRequestHeader("Content-length", params.length);
ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params); 
}

function getRating(){

	var rating;

	for (i=0;i<document.forms[0].rateform.length;i++) 
	{
		if (document.forms[0].rateform[i].checked) 
		{
			rating = document.forms[0].rateform[i].value;
		}
	}

	document.getElementById('rating').value = rating;
}

/*
 * These functions are for the star rating system
 */
function hover(rating){

	for(var i = 1;i <= rating;i++)
	{

		if(i <= 5)
		{
		document.getElementById('star'+i).src = "images/star-a.png";
		}

		else
		{
		document.getElementById('star'+i).src = "images/star-aa.png";
		}
	}

	for(var i = 10;i > rating;i--)
	{

		document.getElementById('star'+i).src = "images/star.png";

	}
}

function unhover(rating){

	for(var i = 1;i <= 10;i++)
	{

		document.getElementById('star'+i).src = "images/star.png";

	}

}

function starrate(rating){

	document.getElementById('rating').value = rating;

	rateGame();

}