

var loginhttp;

var interval;

var loginId;





var interval = window.setInterval(onstartup,10);





function onstartup() {

	window.clearInterval(interval);

	var username = getCookie("username");

	if(username != "") {

		var password = getCookie("password");

		try {

			document.getElementById("username").value = username;

			document.getElementById("password").value = password;

		}catch(e) {

			alert(e);

		}

	}

		

}



function getXHR() {

	var xhr;

	try {

		xhr = new ActiveXObject("Microsoft.loginhttp");

		//isIE = true;

		//isMozilla = false;

	} catch (e) {

		//alert("not IE");

		try {

			xhr = new XMLHttpRequest();

			//isMozilla = true;

			//isIE = false;

			//alert("Mozilla");

		} catch(e2) {

			alert("unsupported browser");

		}	

	}

	

	return xhr;

}



function doLogin() {

	try {

		loginhttp=getXHR();	

		if(!loginhttp) {

			return;

		}

		

		

			

		var username = document.getElementById("username").value;

		var password = document.getElementById("password").value;

	

	// <LOGIN TYPE="PARTICIPATION" USER_NAME="barakm" PASSWORD="12345678" ONI="No" PLATFORM_ID="6" LANGUAGE_ID="1" DEVICE_ID="192.168.01.12"/>

		var postData = "<LOGIN TYPE=\"PARTICIPATION\"  USER_NAME=\"" + username

						+ "\" PASSWORD=\"" + password

						+ "\" ONI=\"No\" PLATFORM_ID=\"6\" LANGUAGE_ID=\"1\" DEVICE_ID=\"192.168.01.12\"/>";		

					

		loginhttp.onreadystatechange = loginStatusChanged;

		loginhttp.overrideMimeType('text/xml');

							

		

		loginhttp.open("POST", loginURL, true);

		// required for s60 browser

		loginhttp.setRequestHeader("Content-Type", "application/xml");	

		loginhttp.send(postData);

		

		//document.getElementById("login").disabled = true;

	

		document.getElementById("status").innerHTML = "Please wait...";

	} catch(e) {

		alert(e);

	}

	

}



function setCookie(cookieName, cookieValue) {

	try {

		//var finalCookiet = cookieName + "=" + escape(cookieValue)+";";

		document.cookie= cookieName + "=" + escape(cookieValue);

	} catch(e) {

		alert(e);

	}

}

function doTransferToGame() {

	window.clearInterval(interval);

	window.location = "Test.html?LOGIN=" + loginId;

}



function setCookie(c_name,value,expiredays)

{

var exdate=new Date();

exdate.setDate(exdate.getDate()+expiredays);

document.cookie=c_name+ "=" +escape(value)+

((expiredays==null) ? "" : ";expires="+exdate.toGMTString());

}





function getCookie(c_name)

{

if (document.cookie.length>0)

  {

  c_start=document.cookie.indexOf(c_name + "=");

  if (c_start!=-1)

    { 

    c_start=c_start + c_name.length+1; 

    c_end=document.cookie.indexOf(";",c_start);

    if (c_end==-1) c_end=document.cookie.length;

    return unescape(document.cookie.substring(c_start,c_end));

    } 

  }

return "";

}





function loginStatusChanged(){

  //alert("status changes: " +loginhttp.readyState); 

  if (loginhttp.readyState==4){

  	//alert(loginhttp.responseText);

  	var xmlDoc;

	try {

		 xmlDoc = loginhttp.responseXML;

	} catch (e) {

		document.getElementById("status").innerHTML = "We could not log you in. Please try again later." + loginhttp.responseText;

		return;

	}

	

  	loginId = getLoginIDFromResponse(xmlDoc);

  	if(loginId){

  		// login succeeded

  		document.getElementById("status").innerHTML = "Welcome to 1 vs. 100. You will shortly be redirected to the game site.";

  		

  		// NOTE: setting a cookie from javascript does not work on N73 for some reason

  		// Not sure why. As a temporary patch, server may set the login cookie using a header.

  		// For now, we are also passing the login id as a URL parameter to the game page

		setCookie("LOGIN", loginId);  	

		

		var username = document.getElementById("username").value;

		var password = document.getElementById("password").value;

		setCookie("username", username, 7);

		setCookie("password", password, 7);

			

  		interval = window.setInterval(doTransferToGame,100);

  	} else {  		

  		document.getElementById("status").innerHTML = getErrorFromResponse(xmlDoc);

  		document.getElementById("login").disabled = false;

  	}

  }

}



function getErrorFromResponse(xmlDoc) {

	

	

	var loginNode = xmlDoc.getElementsByTagName("LOGIN");

	if(!loginNode[0]) {

		return "There was a problem with the response";

	}

	var errorDesc = loginNode[0].getAttribute("ERROR");

	return errorDesc;

	

	

}





function getLoginIDFromResponse(xmlDoc) {

	

	

	var loginNode = xmlDoc.getElementsByTagName("LOGIN");

	if(!loginNode[0]) {

		return null;

	}

	var loginId = loginNode[0].getAttribute("LOGIN_ID");

	return loginId;

	

	

}



	
