function createRequestObject()
{	var request_o; 
	var browser = navigator.appName; 
	if(browser == "Microsoft Internet Explorer")
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	else		
		request_o = new XMLHttpRequest();	
	return request_o; 
	
}
var http = createRequestObject(); 
/********************************************Functions calling from php pages****************************************************/
//Function for Admin user name availability checking
function checkAdminUserName(username)
{	
	if(username!="")
	{
		if(username.length > 4)
		{
		http.open('get', '../php/ajax_username_email_check.php?action=adminusername&username='+username);
		http.onreadystatechange = handleAdminUserNameAvailability;
		http.send(null);
		}
		else
		{
		document.getElementById('username_div').innerHTML="Username must contain minimum 5 characters";	
		//document.getElementById('username').focus();
		setTimeout("document.getElementById('username').focus();",1);
		setTimeout("document.getElementById('username').select();",1);
		}
	}
}

function checkRecruitUserName(username)
{	
	if(username!="")
	{
		if(username.length > 4)
		{
		http.open('get', '../php/ajax_username_email_check.php?action=adminusername&username='+username);
		http.onreadystatechange = handleAdminUserNameAvailability;
		http.send(null);
		}
		else
		{
		document.getElementById('username_div').innerHTML="Username must contain minimum 5 characters";	
		//document.getElementById('username').focus();
		
		
		
		setTimeout("document.getElementById('rec_uname').focus();",1);
		setTimeout("document.getElementById('rec_uname').select();",1);
		}
	}
}

//Function for Admin email address availability checking
//if "id" is null then it will work as add
function checkAdminEmail(email,id)
{	
	var randomStr = rnd();
	if(email!="")
	{
		if(echeck(email)!=false)
		{
			http.open('get', '../php/ajax_username_email_check.php?action=adminemail&email='+email+'&id='+id+'&rndstr='+randomStr);
			http.onreadystatechange = handleAdminEmailAvailability;	
			http.send(null);
		}
		else
		{
			document.getElementById('email_div').innerHTML="Enter a valid email address";	
			document.getElementById('username').focus();	
			setTimeout("document.getElementById('username').focus();",1);
			setTimeout("document.getElementById('username').select();",1);
		}
	}
}

//Function for Corporate email address availability checking
//if "id" is null then it will work as add
function checkQuizEmail(email,id)
{	
	var randomStr = rnd();
	if(email!="")
	{
		if(echeck(email)!=false)
		{
			http.open('get', '../php/ajax_username_email_check.php?action=quizEmail&email='+email+'&id='+id);
			http.onreadystatechange = handleQuizEmailAvailability;
			http.send(null);
		}
		else
		{
			document.getElementById('email_div').innerHTML="Enter a valid email address";	
			//document.getElementById('corp_email').focus();	
			setTimeout("document.getElementById('login_name').focus();",1);
			setTimeout("document.getElementById('login_name').select();",1);
		}
	}
}

//Function for Corporate User - user name availability checking
function checkCorporateUserName(username)
{	
	if(username!="")
	{
		if(username.length > 4)
		{
			http.open('get', '../php/ajax_username_email_check.php?action=corporateusername&username='+username);
			http.onreadystatechange = handleCorporateUserNameAvailability;
			http.send(null);
		}
		else
		{
		document.getElementById('username_div').innerHTML="Username must contain minimum 5 characters";	
		//document.getElementById('corp_username').focus();
		setTimeout("document.getElementById('corp_username').focus();",1);
		setTimeout("document.getElementById('corp_username').select();",1);
		}
	}
}

//Function for Recruiter email address availability checking
//if "id" is null then it will work as add
function checkRecruiterEmail(email,id)
{	
	if(email!="")
	{
		if(echeck(email)!=false)
		{
			http.open('get', '../php/ajax_username_email_check.php?action=RecruiterEmail&email='+email+'&id='+id);
			http.onreadystatechange = handleRecruiterEmailAvailability;
			http.send(null);
		}
		else
		{
			document.getElementById('email_div').innerHTML="Enter a valid email address";	
			//document.getElementById('corp_user_email').focus();	
			setTimeout("document.getElementById('rec_uname').focus();",1);
			setTimeout("document.getElementById('rec_uname').select();",1);
		}
	}
}

/****************************************End of functions calling from php pages************************************************/
//Retun Function for Admin username availability checking
function handleAdminUserNameAvailability()
{	
	if(http.readyState == 4)
	{	
		var response=http.responseText;
		if(response==0)
		{
			document.getElementById('username').value="";
			//document.getElementById('username').focus();
			setTimeout("document.getElementById('username').focus();",1);
			setTimeout("document.getElementById('username').select();",1);
			document.getElementById('username_div').innerHTML = "Username not Available";
		}
		else if(response==1)
		{
			document.getElementById('username_div').innerHTML = "Username Available";	
		}
		
	}
}

//Retun Function for Admin email availability checking
function handleAdminEmailAvailability()
{	
	if(http.readyState == 4)
	{	
		var response=http.responseText;
		//alert(response);return false;
		if(response==0)
		{
			document.getElementById('username').value="";
			//document.getElementById('email').focus();
			setTimeout("document.getElementById('username').focus();",1);
			setTimeout("document.getElementById('username').select();",1);
			document.getElementById('email_div').innerHTML = "Email already choosen by someone. <br>Please use another email";
		}
		else if(response==1)
		{
			document.getElementById('email_div').innerHTML="Email Id is valid and available";	
			
		}
	}
}

//Retun Function for Corporate email availability checking
function handleQuizEmailAvailability()
{	
	if(http.readyState == 4)
	{	
		var response=http.responseText;
		if(response==0)
		{
			document.getElementById('login_name').value="";
			//document.getElementById('corp_email').focus();
			setTimeout("document.getElementById('login_name').focus();",1);
			setTimeout("document.getElementById('login_name').select();",1);
			document.getElementById('email_div').innerHTML = "Email already choosen by someone. Please use another email";
		}
		else if(response==1)
		{
			document.getElementById('email_div').innerHTML = "Email Id is valid and available";	
		}
	}
}


//Retun Function for Corporate User username availability checking
function handleCorporateUserNameAvailability()
{	
	if(http.readyState == 4)
	{	
		var response=http.responseText;
		if(response==0)
		{
			document.getElementById('corp_username').value="";
			//document.getElementById('corp_username').focus();	
			setTimeout("document.getElementById('corp_username').focus();",1);
			setTimeout("document.getElementById('corp_username').select();",1);
			document.getElementById('username_div').innerHTML = "Username not Available";
		}
		else if(response==1)
		{
			document.getElementById('username_div').innerHTML = "Username Available";	
		}
	}
}

//Retun Function for Recruiter email availability checking
function handleRecruiterEmailAvailability()
{	
	if(http.readyState == 4)
	{	
		var response=http.responseText;
		if(response==0)
		{
			document.getElementById('rec_uname').value="";
			//document.getElementById('corp_user_email').focus();
			setTimeout("document.getElementById('rec_uname').focus();",1);
			setTimeout("document.getElementById('rec_uname').select();",1);
			document.getElementById('email_div').innerHTML = "Email already choosen by someone. <br>Please use another email";
			}
			else if(response==1)
			{
				document.getElementById('email_div').innerHTML = "Email Id is valid and available";	
			}
	}
}

//Email validation
function echeck(str) 
{
		str=trimSpaces(str);
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1)
		{
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		{
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1)
		 {
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		 {
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1)
		 {
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1)
		 {
		    return false
		 }

 		 return true					
}

//Trim space
function trimSpaces(stringValue) {
	// Checks the first occurance of spaces and removes them
	for(i = 0; i < stringValue.length; i++) {
		if(stringValue.charAt(i) != " ") {
			break;
		}
	}
	if(i > 0) {
		stringValue = stringValue.substring(i);
	}
	
	// Checks the last occurance of spaces and removes them
	strLength = stringValue.length - 1;
	for(i = strLength; i >= 0; i--) {
		if(stringValue.charAt(i) != " ") {
			break;
		}
	}
	if(i < strLength) {
		stringValue = stringValue.substring(0, i + 1);
	}
	
	// Returns the string after removing leading and trailing spaces.
	return stringValue;
}
function rnd(){ return String((new Date()).getTime()).replace(/\D/gi,'') }