function isValidTelephoneNumber(field){
	var valid=" 0123456789-/+"

	for (var i=0; i<field.length; i++) {
		if (valid.indexOf(field.charAt(i)) < 0){
			return false;
		}
	}
	return true;
}

function TrimField(field)
{
	field.value=field.value.replace(/\r\n/g,' ')	
	while(field.value.charAt(0)==' ')
	{
		field.value= field.value.substring(1)
	}

	while(field.value.charAt(field.value.length-1) == ' ')
	{
		field.value = field.value.substring(0, (field.value.length-1))
	}
}

function  validateAlphaNumeric( strValue ) {
	var objRegExp  =  /^[\w\.\-\#]+$/;
	
    //check for numeric characters

	return objRegExp.test(strValue);
}

function isVaildEmail(field)
{
	var msg = '';
	var validEmail = /^[\w|\.-]+\@[\w|\.-]+\.[a-z|A-Z]+$/;	
	if(!(field.match(validEmail)))
	{
		msg +="Please Enter Valid Email ID\n";
	}

	if(msg!='')
	{
		//alert(msg);
		return false;
	}else
	{
		return true;
	}
}



function ValidateUserName(){
	TrimField(document.registerrform.username);
	var userName = document.registerrform.username.value;			
	var Exists;
	
	var  url = "/users/checkuser?userName="+userName;

	if (window.XMLHttpRequest){
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("GET", url, true);
		req.send(null);
	}else if (window.ActiveXObject){
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req){
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send(null);
		}
	}

	function processReqChange(){
		if (req.readyState == 4){
			if (req.status == 200){
				Exists = req.responseText; 					

				if(Exists=='1'){
					document.getElementById('userNameExistsOrNot').innerHTML="Already Exists...";
				}else{
					document.getElementById('userNameExistsOrNot').innerHTML="";
				}					
			}else{
			   alert("No Connection");		
			   Exists = "NoCon";
			}
			return Exists;
		}	
	}	
}

function submitForm()
{
	var thisform = document.registerrform;		

	TrimField(thisform.firstname);
	TrimField(thisform.lastname);
	TrimField(thisform.email);
	TrimField(thisform.confirmemail);
	TrimField(thisform.username);	
	TrimField(thisform.password);
	TrimField(thisform.confirmpassword);
	TrimField(thisform.phone);

	var firstname = thisform.firstname.value;
	var lastname = thisform.lastname.value;
	var email = thisform.email.value;
	var confirmemail = thisform.confirmemail.value;
	var username = thisform.username.value;
	var password = thisform.password.value;
	var confirmpassword = thisform.confirmpassword.value;
	var phone = thisform.phone.value;
	

	errStatus = false;	
	var errDesc = "Please Enter Missing FORM Field(s)\n\n";
	var i = 1;

	
	if(firstname==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") First Name is missing\n\n";
	   i++;
	}
	
	if(lastname==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Last Name is missing\n\n";
	   i++;
	}
	
	if(phone!=""){
		if(!isValidTelephoneNumber(phone)){
			errStatus = true;
			errDesc =errDesc + "\t"+i+") Enter valid Phone no\n\n";
			i++;
		}
	}

	if(email==""){
		errStatus = true;
		errDesc =errDesc + "\t"+i+") Enter Email Address\n\n";
		i++;
	}else{
		if(!isVaildEmail(email)){
		  errStatus = true;
		  errDesc =errDesc + "\t"+i+") Enter valid Email Address\n\n";
		  i++;
	  }else{
		  if(confirmemail == ""){
			  errStatus = true;
			  errDesc =errDesc + "\t"+i+") Enter Confirm Email Address\n\n";
			  i++;
		}else if(confirmemail != email){
			errStatus = true;
			  errDesc =errDesc + "\t"+i+") Confirm  Email Address does not match\n\n";
			  i++;
			}
		}
	}

	if(username==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Enter User Name\n\n";
	   i++;
	}
		
	if(password==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Password is missing\n\n";
	   i++;
	}else{
		if(confirmpassword == ""){
			  errStatus = true;
			  errDesc =errDesc + "\t"+i+") Confirm your Password\n\n";
			  i++;
		}else if(confirmpassword != password){
			errStatus = true;
			errDesc =errDesc + "\t"+i+") Confirm  Password does not match\n\n";
			i++;
		}
	}
	
	if(errStatus == false){
		document.registerrform.action = "/users/adduser/";
		document.registerrform.submit();
	}else{
		alert(errDesc);
		return false;
	}
}