var http = getHTTPObject();
var http1 = getHTTPObject();
function getHTTPObject() {
	//alert("In getHttpObject");
	var xmlhttp;
	if (window.XMLHttpRequest) {
		////alert("In first if condition");
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		//alert("In second if condition");
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} return xmlhttp;
}
function checkAvailabilityOfEmailForJS(email) {
	if(!(validateEmailID()))
	{
		return false;
	}
	var myEmailValue = email.value;
	var url = "PopulateDynamics?emailForJS="; // The server-side script

	http.open("GET", url + escape(myEmailValue), true);
	http.onreadystatechange = handleHttpResponseForEmail;
	http.send(null);
}
function handleHttpResponseForEmail() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			var email=document.getElementById("email");
			var message = http.responseXML.getElementsByTagName("email")[0];
			var result = message.childNodes[0].nodeValue;
			if(result == "AVAILABLE"){
				document.getElementById("checkAvailEmail").innerHTML="";
				if(document.getElementById("user").value != "SubUser") {
					saveEmailForIncompleteRegistration();
				}
			} else{
				document.getElementById("checkAvailEmail").innerHTML=document.getElementById("emailNotAvail").innerHTML+email.value+" "+document.getElementById("emailNotAvail1").innerHTML;
				//email.focus();
			}
		} else if ( http.status != 0 ) {
			alert(document.getElementById("emailError").innerHTML);
		}
	}
}
function checkAvailabilityOfEmailForRC(email)
{
	if(!(validateEmailID(email)))
	{
		return false;
	}
	var myEmailValue = email.value;
	var url = "PopulateDynamics?emailForRC="; // The server-side script

	http.open("GET", url + escape(myEmailValue), true);
	http.onreadystatechange = handleHttpResponseForEmail;
	http.send(null);
}
function checkAvailabilityOfEmailForAdmin(email)
{
	if(!(validateEmailID(email)))
	{
		return;
	}
	var myEmailValue = email.value;
	var url = "PopulateDynamics?emailForAdmin="; // The server-side script

	http.open("GET", url + escape(myEmailValue), true);
	http.onreadystatechange = handleHttpResponseForEmail;
	http.send(null);
}
function validateEmailID()
{
	var email = document.getElementById("email");
	var myEmailValue = email.value;
	if(myEmailValue.length == 0)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("enterEmail").innerHTML;
		//email.focus();
		return false;
	}
	var atIndex = myEmailValue.indexOf("@");
	if(atIndex == -1)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	var lastAtIndex = myEmailValue.lastIndexOf("@");
	if(atIndex != lastAtIndex)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	var lastDotIndex = myEmailValue.lastIndexOf(".");
	if(lastDotIndex < lastAtIndex)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	var atDot1 = myEmailValue.indexOf("@.");
	var atDot2 = myEmailValue.indexOf(".@");
	var dotDot = myEmailValue.indexOf("..");
	var atat = myEmailValue.indexOf("@@");
	var comma = myEmailValue.indexOf(",");
	if(atDot1 != -1 || atDot2 != -1 || dotDot != -1 || atat != -1 || comma != -1)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	var first = myEmailValue.charAt(0);
	var last = myEmailValue.charAt(myEmailValue.length - 1);
	if((first < 'a' || first > 'z') && (first < 'A' || first > 'Z'))
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	if((last < 'a' || last > 'z') && (last < 'A' || last > 'Z'))
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	var space = myEmailValue.indexOf(" ");
	if(space != -1)
	{
		document.getElementById("checkAvailEmail").innerHTML = document.getElementById("emailInvalid").innerHTML;
		//email.focus();
		return false;
	}
	return true;
}
function saveEmailForIncompleteRegistration()
{
	var email = document.getElementById("email").value;
	var userType = document.getElementById("user");
	var userName = document.getElementById("userName").value;
	if(userType.value == "JobSeeker"){
		var url = "IncompleteReg?email="+email+"&userType=JS&userName="+userName; // The server-side script
	}
	else{
		var url = "IncompleteReg?email="+email+"&userType=RC&userName="+userName; // The server-side script
	}
	http1.open("GET", url , true);
	http1.send(null);
}

