// JavaScript Document
//-------------------------------------user availablity-----------------------------------//
var xhr
function GetXmlHttpObject()
{
var xhr=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xhr=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xhr=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xhr=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xhr;
}

function avail(str)
{
xhr=GetXmlHttpObject()
if (xhr==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="log.php";
url=url+"?q="+str;
xhr.open("GET",url,true);
xhr.onreadystatechange=stateChanged;
xhr.send(null);

}
function stateChanged() 
{ 
if (xhr.readyState==4 || xhr.readyState=="complete")
 {
	
	document.getElementById("ajaxfield").innerHTML=xhr.responseText;
	
	 if ( xhr.responseText == "unavailable" )
	 {
	alert(jhj);
	document.getElementById("ajaxfield").innerHTML=xhr.responseText
	document.getElementById("loginid").value=""
    document.getElementById("loginid").focus();	 
	
		 }
		
 } 
}

///////////////////////////////////////////////////////////////////////////
function formValidator(){
	// Make quick references to our fields
	var firstname = document.getElementById('upass');
	var addr = document.getElementById('address');
	var zip = document.getElementById('tel');
	var date = document.getElementById('date');
	var month = document.getElementById('month');
	var year = document.getElementById('year');
	var username = document.getElementById('loginid');
	var email = document.getElementById('email');
	
	// Check each input in the order that it appears in the form!
	if(isAlphabet(username, 6,20)){
		if(lengthRestriction(firstname, 6)){
		//if(isAlphanumeric(addr, "Numbers and Letters Only for Address")){
			if(emailValidator(email, "Please enter a valid email address")){
			
				if(madeSelection(date, "Please Choose your date of birth")){
					if(madeSelectionmonth(month, "Please Choose your month of birth")){
						if(madeSelectionyear(year, "Please Choose your year of birth")){
					               if(isNumeric(zip, "Please enter a valid phone number")){
						
							return true;
								   }
						     }
						}
					}
				}
			}
		}
	
	
	
	return false;
	
}

function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(ghgjghj);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}



function isAlphabet(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("User id should between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min){
	var uInput = elem.value;
	if(uInput.length >= min){
		return true;
	}else{
		alert("Password must be minimum " +min+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}
function madeSelectionmonth(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}
function madeSelectionyear(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}
//---------------------------------------form validator2-------------------------------
            //var currField = null;
//        
//            function checkValue(field, required)
//            {
//                if ((required) && (field.value == ""))
//                {
//                    alert(field.name + ' is mandatory');
//        
//                    return false;
//                }
//        
//                return true;
//            }
//        
//            function preCheckValue(field, required)
//            {
//                if ((currField != null) && (currField == field))
//                {
//                    if (!checkValue(field, required))
//                    {
//                        field.focus();
//                    }
//                    else
//                    {
//                        currField = null;
//                    }
//                }
//                else if (currField == null)
//                {
//                    currField = field;
//        
//                    preCheckValue(field, required);
//                }
//            }
//        
//        // -------------------email validation---------------------------------------////
//		
//		function checkEmail(emField){ //reference to email field passed as argument
//
//var fieldValue = emField.value // store field's entire value in variable
//
//// Begin Valid Email Address Tests
//
////if field is not empty
//if(fieldValue != ""){ 
//var atSymbol = 0
//
////loop through field value string
//for(var a = 0; a < fieldValue.length; a++){ 
//
////look for @ symbol and for each @ found, increment atSymbol variable by 1
//if(fieldValue.charAt(a) == "@"){ 
//atSymbol++
//}
//
//}
//
//// if more than 1 @ symbol exists
//if(atSymbol > 1){ 
//// then cancel and don't submit form
//alert("Please Enter A Valid Email Address") 
//return false
//}
//
//// if 1 @ symbol was found, and it is not the 1st character in string
//if(atSymbol == 1 && fieldValue.charAt(0) != "@"){ 
////look for period at 2nd character after @ symbol 
//var period = fieldValue.indexOf(".",fieldValue.indexOf("@")+2) 
//
//// "." immediately following 1st "." ? 
//var twoPeriods = (fieldValue.charAt((period+1)) == ".") ? true : false 
//
////if period was not found OR 2 periods together OR field contains less than 5 characters OR period is in last position
//if(period == -1 || twoPeriods || fieldValue.length < period + 2 || fieldValue.charAt(fieldValue.length-1)=="."){
//// then cancel and don't submit form
//alert("Please Enter A Valid Email Address") 
//return false
//}
//
//}
//// no @ symbol exists or it is in position 0 (the first character of the field)
//else{ 
//// then cancel and don't submit form
//alert("Please Enter A Valid Email Address")
//return false 
//}
//}
//// if field is empty
//else{ 
//// then cancel and don't submit form
//alert("Please Enter A Valid Email Address")
//return false 
//}
//
////all tests passed, submit form
////alert("VALID EMAIL ADDRESS!")
//
//return true
//}
//-------------------------------------user availablity-----------------------------------//

 
 
