/*---------------User registration validation------------------------------------------*/

function registerformValidator(){
	
	var registeremailid     = document.getElementById('emailid');	
	var registertermsagree   = document.login.agree.checked	

	// Check each input in the order that it appears in the form!
			if(registeremailValidator(registeremailid, "Please enter a valid Email ID")){
				if(registerlicense(registertermsagree)){																				
						return true;
	        		   	    }
		        	 }	
	return false;
}



function registeremailValidator(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 registerlicense(form) { 

	if(!document.login.agree.checked)
	{
		alert("Please accept Terms of Use to register"); 
		return false;
	}else{
		return true;
}
}


/*----------------user login--------------------------------*/

function loginValidator(){




		
	var loginemailid     = document.getElementById('useremailid');
	var loginpassword    = document.getElementById('userpassword');		
		
	// Check each input in the order that it appears in the form!
		if(loginemailValidator(loginemailid, "Please enter your Registered Email ID")){
       				if(loginlengthRestriction(loginpassword, 6, 16)){
						return true;
	        		   } 
			     }
return false;
}



function loginemailValidator(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 loginlengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Your Password must be of atleast " +min+ " Characters");
		elem.focus();
		return false;
	}
}


/*-----------------forgot password----------------------------*/

function forgotpassword(){
	
	var forgotemailid     = document.getElementById('emailid');
	if(forgotemailValidator(forgotemailid, "Please enter your Registered Email ID")){
       			return true;
	
  }
return false;
}
function forgotemailValidator(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;
	}
}



//----------------------CHANGE PASSWORD----------------------------//

function changepassvalidate(){
	
	var oldpassword         = document.getElementById('oldpass');
	var registerpassword    = document.getElementById('newpass');		
	var registerconfirmpass = document.getElementById('conpass');
			

	// Check each input in the order that it appears in the form!
	if(chkoldpass(oldpassword,  6, 16)){		
 				if(accectpassword(registerpassword, 6, 16)){
					if(chknewpass(registerpassword,registerconfirmpass)){						
							return true;
	      
		        	 }	
		        } 
	     }

return false;
}

function chkoldpass(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Your Password must be of atleast " +min+ " Characters and Maximum of" +max+ " ");
		elem.focus();
		return false;
	}
}

function accectpassword(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Your Password must be of atleast " +min+ " Characters and Maximum of" +max+ " ");
		elem.focus();
		return false;
	}
}

function chknewpass(elem1,elem2) {

	if(elem1.value != elem2.value) {
		alert('Your Passwords do not match. Please enter again');
		elem2.focus();
		return false;
		}
return true;
}



//----------------------Individual User Info----------------------------//

function registerIndUser(){
	var individualname      = document.getElementById('name');	
	var individualadd       = document.getElementById('address');	
	var individualcountry   = document.getElementById('country');	
	var individualstate     = document.getElementById('state');	
	var individualpin       = document.getElementById('pincode');			
	var individualphone     = document.getElementById('phone');			

			
     // Check each input in the order that it appears in the form!
        if(registerMandatory(individualname,"Please enter User Name")){
		if(registerAddress(individualadd,255)){
			if(registerMandatory(individualcountry, "Please enter your Country")){
				if(registerMandatory(individualstate, "Please enter your State")){
					if(registerMandatory(individualpin, "Please enter your Zipcode")){
						if(registerMandatory(individualphone, "Please enter your Phone number")){
							return true;
						}
					}
       		   	     	}
		        }	
		}
	}
return false;
}

function registerMandatory(elem, helperMsg){
	if((elem.value.length<=2) || (elem.value==null)) {
		alert(helperMsg);
		elem.focus();
		return false;
	}else{		
		return true;
	}
}

function registerAddress(elem, max){
	var uInput = elem.value;
	if(uInput.length <=6){
	alert("Please enter your detailed address");
	elem.focus();
	return false;
	}
	if(uInput.length <= max){
		return true;
	}
	else{
		alert("Address should be less than 255 characters!");
		elem.focus();
		return false;

	}
}

//----------------------Corporate User Info----------------------------//

function registerCorpUser(){

	var corporatename      = document.getElementById('company');
	var corporateadd       = document.getElementById('address');
	var corporatecountry   = document.getElementById('country');			
	var corporatestate     = document.getElementById('state');				
	var corporatepin       = document.getElementById('pincode');			
	var corporatephone     = document.getElementById('phone');			


			
     // Check each input in the order that it appears in the form!
    	if(CorporateName(corporatename, "Please enter Company Name")){
		if(corpformaddresslength(corporateadd,255)){
			if(registerMandatory(corporatecountry, "Please enter your Country")){
				if(registerMandatory(corporatestate, "Please enter your State")){
					if(registerMandatory(corporatepin, "Please enter your Zipcode")){
						if(registerMandatory(corporatephone, "Please enter your Phone number")){
							return true;
						}
					}
       		   	     	}
		        }	
               	}
	}
return false;
}

function CorporateName(elem, helperMsg){
	var alphaExp = /^[a-z A-Z ]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}
	else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function corpformaddresslength(elem, max){
	var uInput = elem.value;
	if(uInput.length <=6){
		alert("Please enter your detailed address");
		elem.focus();
		return false;
	}
	if(uInput.length <= max){
		return true;
	}
	else{
		alert("Address should be less than 255 characters!");
		elem.focus();
		return false;

	}
}

function registerMandatory(elem, helperMsg){
	if((elem.value.length<=2) || (elem.value==null)) {
		alert(helperMsg);
		elem.focus();
		return false;
	}
	else{		
		return true;
	}
}


//-----------------------------Bug Report-------------------------------------------//


function postValidator(){
	
	var postsubject    = document.getElementById('subject');		
	var postmessage    = document.getElementById('message');


			

	// Check each input in the order that it appears in the form!
	
       				if(postsubjectlength(postsubject, 6, 25)){		
						if(postQuerylength(postmessage,512)){
						return true;
	        		   	} 
  			}
return false;
}


function postsubjectlength(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter subject of atleast " +min+ " and Maximum of " +max+ " characters!");
		elem.focus();
		return false;
	}
}

function postQuerylength(elem,max) {
	var uInput = elem.value;
	if(uInput.length < 6){
	alert("Bug report description must be a minimum of 6 and a maximum of 512 characters!");
	elem.focus();
	return false;
	}
	if(uInput.length <= max){
		return true;
	}else{
		alert("Bug report description must be a minimum of 6 and a maximum of 512 characters!");
		elem.focus();
		return false;
	}
}

