function GetXmlHttpObject() { 
	var objXMLHttp=null
	if (window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function highlight(star) {
  sC = 0;
  for(sC = 1; sC <= 5; sC++) {
    document.getElementById('star' + sC).src = "stardim.jpg";
  }

  sC = 0;
  for(sC = 1; sC <= star; sC++) {
    document.getElementById('star' + sC).src = "starlit.jpg";
  }
}

function RateGame(rating,game_id) {
		LockStarControl();
		xmlHttp=GetXmlHttpObject()
		if (xmlHttp==null) {
			alert ("Browser does not support HTTP Request.  Please upgrade your browser by visiting http://www.GetFirefox.com")
			return
		} 
		//xmlHttp.onreadystatechange=stateChanged 
		
		xmlHttp.open("GET",'rate-game/rating=' + rating + '&game_id=' + game_id,true)
		xmlHttp.send(null)
		
}

function LockStarControl() {
	for(sC = 1; sC <= 5; sC++) {
		
    document.getElementById('star' + sC).onclick = "";
    document.getElementById('star' + sC).onmouseover = "";
  }
}

function ResizeGame(modifier, ratio) {
  var width = parseInt(document.getElementById("game").width, 10) + modifier;
  document.getElementById("game").width = width;
  document.getElementById("game").height = parseInt(width * parseFloat(ratio, 10), 10);
}

function ClearDefaultText(element_id,default_message) {
	if (document.getElementById(element_id).value == default_message) {
		document.getElementById(element_id).value = "";
	}
}

function SetDefaultText(element_id,default_message) {
	if (document.getElementById(element_id).value == "") {
		document.getElementById(element_id).value = default_message;	
	}
}

function SendEmail(game_id,senders_name,email) {
	
	var emailRegEx = new RegExp("^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$");
	var nameRegEx = new RegExp("^[a-zA-Z0-9 \.]+$");

	if(senders_name == "" || senders_name == "Type your name here...") {
		senders_name = "An anonymous gamer";
	}
	
	var errors = "";

	if(!emailRegEx.test(email)) {
		errors += "The email address you supplied appears to be invalid.\n";
	}

	if(!nameRegEx.test(senders_name)) {
		errors += "Please use only letters, numbers, periods and spaces for your name.\n";
	}
	
	if(!errors == "") {
		//errors found, report them to the user
		alert("Some errors were found in the information you provided:\n\n" + errors);
	} else {
		//send the email		
		xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) {
		alert ("Your browser does not support HTTP Request.  Please upgrade your browser by visiting http://www.GetFirefox.com")
		return
	} 
	
	var parameters = "";
	parameters = "id=" + game_id + "&sender=" + senders_name + "&email=" + email;
	
	xmlHttp.onreadystatechange=EmailSentHandler; 
	xmlHttp.open("POST",'http://www.spudgames.com/send-invite', true)
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  	xmlHttp.setRequestHeader("Content-length", parameters.length);
  	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters)
	}
}

function EmailSentHandler() {
  if(xmlHttp.readyState == 4){
    var response = xmlHttp.responseText;
	alert(response);
  }
}