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++;
	}else if(!validateAlphaNumeric(firstname)){
		errStatus = true;
		errDesc =errDesc + "\t"+i+") First Name should not contain special characters\n\n";
		i++;
								   
	}
	
	if(lastname==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Last Name is missing\n\n";
	   i++;
	}else if(!validateAlphaNumeric(lastname)){
		errStatus = true;
		errDesc =errDesc + "\t"+i+") Last Name should not contain special characters\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++;
	}else if(!validateAlphaNumeric(username)){
		errStatus = true;
		errDesc =errDesc + "\t"+i+") User Name should not contain special characters\n\n";
		i++;
								   
	}
		
	if(password==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Password is missing\n\n";
	   i++;
	}else if(parseInt(password.length) < 5)
	{
		errStatus = true;
	   errDesc =errDesc + "\t"+i+") Password should be minimum 5 characters\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;
	}
}

function validateChgPassword(){
	
	errStatus = false;	
	var errDesc = "Please Enter Missing FORM Field(s)\n\n";
	var i = 1;
	
	var thisform = document.changePasswordForm;		

	TrimField(thisform.currentpass);
	TrimField(thisform.newpass);
	TrimField(thisform.confirmpass);

	var currentpass = thisform.currentpass.value;
	var newpass = thisform.newpass.value;
	var confirmpass = thisform.confirmpass.value;
	
	if(currentpass==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") Current Password is missing\n\n";
	   i++;
	}
	
	if(newpass==""){
	   errStatus = true;
	   errDesc =errDesc + "\t"+i+") New Password is missing\n\n";
	   i++;
	}else{
		if(newpass.length<5){
			  errStatus = true;
			  errDesc =errDesc + "\t"+i+") New Password is too short.Minimum 5 characters are must.\n\n";
			  i++;			
		}else if(confirmpass == ""){
			  errStatus = true;
			  errDesc =errDesc + "\t"+i+") Confirm your Password\n\n";
			  i++;
		}else if(confirmpass != newpass){
			errStatus = true;
			errDesc =errDesc + "\t"+i+") Confirm  Password does not match\n\n";
			i++;
		}
	}
	
	if(errStatus == false){
		document.changePasswordForm.submit();
	}else{
		alert(errDesc);
		return false;
	}
}


function validateChangeEmail(){
	
	errStatus = false;	
	var errDesc = "Please Enter Missing FORM Field(s)\n\n";
	var i = 1;
	
	var thisform = document.changeEmailForm;		

	TrimField(thisform.newemail);

	var newemail = thisform.newemail.value;
	
	if(newemail==""){
			errStatus = true;
			errDesc =errDesc + "\t"+i+") Enter New Email\n\n";
			i++;
	}else if(!isVaildEmail(newemail)){
		  errStatus = true;
		  errDesc =errDesc + "\t"+i+") Enter valid New Email\n\n";
		  i++;	  
	}
	
	if(errStatus == false){
		document.changeEmailForm.submit();
	}else{
		alert(errDesc);
		return false;
	}
}
function validateLogin()
{
		var thisform = document.loginform;
		/*		TrimField(thisform.username);
		TrimField(thisform.password);
		
		var username = thisform.username.value;
		var password = thisform.password.value;
		
		if(username=="")
		{
				alert("Enter User Name!");
				return false;
		}
		if(password=="")
		{
				alert("Enter Password!");
				return false;
		}
		*/
		thisform.action="/users/login/?frm=popup";
		thisform.submit();
		
}

