var request;
var queryString;   //will hold the POSTed data

function get_ajax_call(id,type){
  	if(type=='username')
	{
		if(document.frm_registration.username.value.search(/\S/)==-1)
		{
			//alert("Please Enter Username.");
			document.frm_registration.username.focus();
			return false;
		}
	queryString="username="+id;
    url='get_ajax_response.php?mode=username&'+queryString;
	}else {
		if(document.frm_registration.email.value.search(/\S/)==-1)
		{
			//alert("Please Enter Email.");
			document.frm_registration.email.focus();
			return false;
		}
		var regEmail =  /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var email=document.frm_registration.email.value;
		if(document.frm_registration.email!="")
		{
			if(regEmail.test(email)==false)
			{
				//alert("Enter valid Email Id.");
				document.frm_registration.email.focus();
				return false;
			}
		}
		
	
	queryString="email="+id;
    url='get_ajax_response.php?mode=email&'+queryString;
	}
    httpRequest("POST",url,true);
}

//event handler for XMLHttpRequest
function handleJson(  ){
    if(request.readyState == 4){
        if(request.status == 200){
            var resp =  request.responseText;
			var respValue=resp.split('^');
			if(respValue[0]=='email')
			{
				
					if(respValue[1]==1)
					{
						document.getElementById('span_email').innerHTML='Email Available!';
					}else{
						document.getElementById('span_email').innerHTML='Email Not Available.';
				 }
			
			
			}else {
					if(respValue[1]==1)
					{
						document.getElementById('span_username').innerHTML='Username Available!';
					}else{
						document.getElementById('span_username').innerHTML='Username Not Available.';
				 }
			
			}
            
        } else {
            //alert("A problem occurred with communicating between "+"the XMLHttpRequest object and the server program.");
        }
    }//end outer if
}

/* Initialize a request object that is already constructed */
function initReq(reqType,url,bool){
    /* Specify the function that will handle the HTTP response */
    request.onreadystatechange=handleJson;
    request.open(reqType,url,bool);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    request.send(queryString);
}

/* Wrapper function for constructing a request object.
 Parameters:
  reqType: The HTTP request type, such as GET or POST.
  url: The URL of the server program.
  asynch: Whether to send the request asynchronously or not. */
  
function httpRequest(reqType,url,asynch){
    //Mozilla-based browsers
    if(window.XMLHttpRequest){
        request = new XMLHttpRequest(  );
    } else if (window.ActiveXObject){
        request=new ActiveXObject("Msxml2.XMLHTTP");
        if (! request){
            request=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    //the request could still be null if neither ActiveXObject
    //initialization succeeded
    if(request){
        initReq(reqType,url,asynch);
    } else {
        alert("Your browser does not permit the use of all "+ "of this application's features!");
    }
}
function check()
{
	if(document.frm_registration.username.value.search(/\S/)==-1)
	{
		alert("Please Enter username.");
		document.frm_registration.username.focus();
		return false;
	}
	if(document.frm_registration.password.value.search(/\S/)==-1)
	{
		alert("Please Enter Password.");
		document.frm_registration.password.focus();
		return false;
	}
	if(document.frm_registration.confirm_password.value.search(/\S/)==-1)
	{
		alert("Please Confirm Password.");
		document.frm_registration.confirm_password.focus();
		return false;
	}
	if(document.frm_registration.password.value!=document.frm_registration.confirm_password.value)
	{
		alert("Password Mismatch.");
		document.frm_registration.password.value='';
		document.frm_registration.confirm_password.value='';
		document.frm_registration.password.focus();
		return false;
	}
	if(document.frm_registration.fname.value.search(/\S/)==-1)
	{
		alert("Please Enter First Name.");
		document.frm_registration.fname.focus();
		return false;
	}
	if(document.frm_registration.lname.value.search(/\S/)==-1)
	{
		alert("Please Enter Last Name.");
		document.frm_registration.lname.focus();
		return false;
	}
	if(document.frm_registration.email.value.search(/\S/)==-1)
	{
		alert("Please Enter Email.");
		document.frm_registration.email.value='';
		document.frm_registration.email.focus();
		return false;
	}
	var regEmail =  /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var email=document.frm_registration.email.value;
	if(document.frm_registration.email!="")
	{
	 	if(regEmail.test(email)==false)
	 	{
	 		alert("Enter valid Email Id.");
			document.frm_registration.email.focus();
			return false;
	 	}
	}
}
