function nuevoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function checkUsername(){
	var displayArea = document.getElementById('displayArea');
	var username = document.getElementById('username').value;
	displayArea.style.display = '';
	ajax=nuevoAjax();

	if(username != ""){

		ajax.open("POST", "/signup/checkusernameajax", true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				if(ajax.responseText == 0){
					document.getElementById('usernamereal').value = username;
					document.getElementById('continue').disabled=false;
					document.getElementById('username').disabled=true;
					document.getElementById('displayArea').style.color = 'green';
					document.getElementById('displayArea').style.textAlign="left";
					displayArea.innerHTML = "Username is Available. <br/>If you whant Check other username <a href='javascript:checkOtherUsername();'>click here</a>";
				} else {
					document.getElementById('continue').disabled=true;
					document.getElementById('displayArea').style.color = 'red';
					document.getElementById('displayArea').style.textAlign="center";
					displayArea.innerHTML = "Sorry username "+username+" already exists!";
				}
			} else {
				displayArea.innerHTML = "<img src=\"/images/loading.gif\" />";
			}
		}
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		ajax.send("username="+username);
	} else {
		document.getElementById('continue').disabled=true;
		document.getElementById('displayArea').style.textAlign="center";
		document.getElementById('displayArea').style.color = 'red';
		displayArea.innerHTML = "Plese type a valid username";
	}
}

function checkOtherUsername(){
	document.getElementById('displayArea').style.display = 'none';
	document.getElementById('continue').disabled=true;
	document.getElementById('username').disabled=false;
	document.getElementById('username').value = "";
	document.getElementById('usernamereal').value = "";
	document.getElementById('username').focus();

}

function showText(divName){
	document.getElementById(divName).style.display = '';
}

function hiddenText(divName){
	document.getElementById(divName).style.display = 'none';
}

function checkCredentialsASYNC(){
	
	var username = document.getElementById('username');
	var password = document.getElementById('password');
	var nickName = document.getElementById('nickname');
	var email = document.getElementById('email');
	document.getElementById('mainError').style.display = 'none';
	document.getElementById('usernameError').style.display = 'none';
	document.getElementById('passwordError').style.display = 'none';
	document.getElementById('nicknameError').style.display = 'none';
	document.getElementById('emailError').style.display = 'none';
	ajax=nuevoAjax();

	ajax.open("POST", "/signup/checkplayer", true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			
			if(ajax.responseText == 0){
				return true;
			} else {
				var responseInfo = ajax.responseText.split("||");
				var displayArea = document.getElementById(responseInfo[0]);
				
				switch (responseInfo[0]){
					case "emailError":
						email.value = "";
						break;
					case "usernameError":
						username.value = "";
						checkOtherUsername();
						break;
					case "passwordError":
						password.value = "";
						break;
					case "nicknameError":
						nickName.value = "";
						break;
				} 
				
				//displayArea.innerHTML = responseInfo[1];
				document.getElementById(responseInfo[0]+"DEM").innerHTML = responseInfo[1];
				displayArea.style.display = 'block';
				return false;
			}
		} else {
			return false;
		}
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("username="+username.value+"&password="+password.value+"&nickname="+nickName.value+"&email="+email.value);
}

function checkCredentials(){
	
	var username = document.getElementById('username');
	var password = document.getElementById('password');
	var repassword = document.getElementById('repassword');
	var nickName = document.getElementById('nickname');
	var email = document.getElementById('email');
	document.getElementById('mainError').style.display = 'none';
	document.getElementById('usernameError').style.display = 'none';
	document.getElementById('passwordError').style.display = 'none';
	document.getElementById('nicknameError').style.display = 'none';
	document.getElementById('emailError').style.display = 'none';
	ajax=nuevoAjax();

	ajax.open("POST", "/signup/checkplayer", false);
	
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("username="+username.value+"&password="+password.value+"&nickname="+nickName.value+"&email="+email.value);
	
	if(ajax.responseText == 0){
		return true;
	} else {
		var responseInfo = ajax.responseText.split("||");
		var displayArea = document.getElementById(responseInfo[0]);
				
		switch (responseInfo[0]){
			case "emailError":
				email.value = "";
				break;
			case "usernameError":
				username.value = "";
				checkOtherUsername();
				break;
			case "passwordError":
				password.value = "";
				repassword.value = "";
				break;
			case "nicknameError":
				nickName.value = "";
				break;
		} 
				
		if(responseInfo[0] == "mainError"){
			displayArea.innerHTML = "<img src=\"/images/error-ico.png\" /> "+responseInfo[1];
		} else {
			document.getElementById(responseInfo[0]+"DEM").innerHTML = responseInfo[1];
		}
		displayArea.style.display = 'block';
		document.getElementById('signupLoading').style.display = 'none';
		return false;
	}
}

function hiddenErrorBox(szDivID, iState) // 1 visible, 0 hidden
{

	if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.display = iState ? "block" : "none";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.display = iState ? "block" : "none";
    }
}
