$j(document).ready(function(){
	//global vars
	
	var form = $j("#customForm");
	var username = $j("#username");
	var usernameInfo = $j("#usernameInfo");
	var upassword = $j("#upassword");
	var ucpassword = $j("#ucpassword");
	var passwordInfo = $j("#passwordInfo");
	var cpasswordInfo = $j("#cpasswordInfo");
	var uname = $j("#uname");
	var unameInfo = $j("#unameInfo");
	var designation = $j("#designation");
	var designationInfo = $j("#designationInfo");
	var company_name = $j("#company_name");
	var company_nameInfo = $j("#company_nameInfo");
	var industry_type = $j("#industry_type");
	var industryInfo = $j("#industryInfo");
	var address1 = $j("#address1");
	var address1Info = $j("#address1Info");
	var city= $j("#city");
	var cityInfo = $j("#cityInfo");
	var pincode = $j("#pincode");
	var pincodeInfo = $j("#pincodeInfo");
	var country= $j("#country");
	var countryInfo = $j("#countryInfo");
	var phone_no = $j("#phone_no");
	var phone_noInfo = $j("#phone_noInfo");
	var email_id = $j("#email_id");
	var email_idInfo = $j("#email_idInfo");
	var scode_Info = $j("#scode_Info");
	var iagree = $j("#iagree");
	var iagree_Info = $j("#iagree_Info");

	
	//On blur
	username.blur(validateUsername);
	upassword.blur(validatePassword);	
	ucpassword.blur(validateCPassword);
	uname.blur(validateName);
	designation.blur(validateDesignation);
	company_name.blur(validateCname);
	industry_type.blur(validateIndustry);
	address1.blur(validateAddress1);
	city.blur(validateCity);
	pincode.blur(validatePin);
	country.blur(validateCountry);
	phone_no.blur(validatePhone);
	email_id.blur(validateEmail);

	//On key press
	username.keyup(validateUsername);
	upassword.keyup(validatePassword);	
	ucpassword.keyup(validateCPassword);
	uname.keyup(validateName);
	designation.keyup(validateDesignation);
	company_name.keyup(validateCname);
	industry_type.keyup(validateIndustry);
	address1.keyup(validateAddress1);
	city.keyup(validateCity);
	pincode.keyup(validatePin);
	country.keyup(validateCountry);
	phone_no.keyup(validatePhone);
	email_id.keyup(validateEmail);
	//On Submitting
	form.submit(function(){
			
		if(validateUsername() && validatePassword() && validateCPassword() && validateName() && validateDesignation() && validateCname() && validateIndustry() &&validateAddress1() && validateCity() && validatePin() && validateCountry() && validatePhone() && validateEmail() && validationIagree()){
		
			return true;
		}else{
			
			return false;
		}
	});
	
		
	function validateUsername(){
				//if it's NOT valid
		if(document.getElementById('username').value==''){
			username.addClass("error");
			usernameInfo.text(ERR_USER_NAME);
			usernameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			user_name = document.getElementById('username').value;
			//chk for spaces etc
			 if(validUsername(user_name)==false){
				username.addClass("error");
				usernameInfo.text(ERR_VALIDUSER_NAME);
				usernameInfo.addClass("error");
					return false; 
				 
			 }
			 else if(validChars(user_name)==false){
				 username.addClass("error");
				usernameInfo.text(ERR_VALIDUSER_NAME);
				usernameInfo.addClass("error");
				 return false;
			 }else{
			
			username.removeClass("error");
			usernameInfo.text('');
			usernameInfo.removeClass("error");
			 }
			return true;
		}
	}
	function validUsername(value) {
      var result = true;
     // unwanted characters
     var testCond = RegExp("^[a-zA-Z][a-zA-Z0-9_]*$");
	 if(testCond.test(value)==false)
	 {
	 result = false;
	 }
     if(value=="")
	 {
	 result = true;
	 }
     return result;
  
   }
   
   function validChars(value){
		 var result = true;
     // unwanted characters
     var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
  
     for (var i = 0; i < value.length; i++) {
         if (iChars.indexOf(value.charAt(i)) != -1) {
             result = false;
         }
     }
     return result;
     
	   
	   
   }
	function validatePassword(){
		if(document.getElementById('upassword').value==''){
				upassword.addClass("error");
				passwordInfo.text(ERR_PASSWORD_BLANK);
				passwordInfo.addClass("error");
				return false;
			}
			//if it's valid
			else{ 
				if(document.getElementById('upassword').value.length<6){
					upassword.addClass("error");
					passwordInfo.text( ERR_PASSWORD_TOOSMALL);
					passwordInfo.addClass("error");
				return false;
				}else{
				upassword.removeClass("error");
				passwordInfo.text('');
				passwordInfo.removeClass("error");
				return true;
				}
			}
		}	
		
	function validateCPassword(){
		if(document.getElementById('ucpassword').value==''){
				ucpassword.addClass("error");
				cpasswordInfo.text(ERR_CONFIRM_PASSWORD_BLANK);
				cpasswordInfo.addClass("error");
				return false;
			}
			//if it's valid
			else{ 
				if(document.getElementById('ucpassword').value!=document.getElementById('upassword').value){
					ucpassword.addClass("error");
					cpasswordInfo.text(PASSWORD_NOT_MATCH);
					cpasswordInfo.addClass("error");
				return false;
				}else{
				ucpassword.removeClass("error");
				cpasswordInfo.text('');
				cpasswordInfo.removeClass("error");
				return true;
				}
			}
		}	

	function validateName(){
		if(document.getElementById('uname').value==''){
			uname.addClass("error");
			unameInfo.text(ERR_NAME);
			unameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			uname.removeClass("error");
			unameInfo.text('');
			unameInfo.removeClass("error");
			
			return true;
		}
	}
	
	function validateDesignation(){
				//if it's NOT valid
		if(document.getElementById('designation').value==''){
			designation.addClass("error");
			designationInfo.text(ERR_DESIGNATION);
			designationInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			designation.removeClass("error");
			designationInfo.text('');
			designationInfo.removeClass("error");
			
			return true;
		}
	}
	
	function validateCname(){
				//if it's NOT valid
		if(document.getElementById('company_name').value==''){
			company_name.addClass("error");
			company_nameInfo.text(ERR_CNAME);
			company_nameInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			company_name.removeClass("error");
			company_nameInfo.text('');
			company_nameInfo.removeClass("error");
			
			return true;
		}
	}
	
	function validateIndustry(){
				//if it's NOT valid
		if(document.getElementById('industry_type').value==''){
			industry_type.addClass("error");
			industryInfo.text(ERR_INDUSTRY);
			industryInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			industry_type.removeClass("error");
			industryInfo.text('');
			industryInfo.removeClass("error");
			
			return true;
		}
	}
	function validateAddress1(){
				//if it's NOT valid
		if(document.getElementById('address1').value==''){
			address1.addClass("error");
			address1Info.text(ERR_ADDRESS);
			address1Info.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			address1.removeClass("error");
			address1Info.text('');
			address1Info.removeClass("error");
			
			return true;
		}
	}
	
	
	function validateCity(){
				//if it's NOT valid
		if(document.getElementById('city').value==''){
			city.addClass("error");
			cityInfo.text(ERR_CITY);
			cityInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			city.removeClass("error");
			cityInfo.text('');
			cityInfo.removeClass("error");
			
			return true;
		}
	}
	function validatePin(){
				//if it's NOT valid
		if(document.getElementById('pincode').value==''){
			pincode.addClass("error");
			pincodeInfo.text(ERR_PIN);
			pincodeInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			pincode.removeClass("error");
			pincodeInfo.text('');
			pincodeInfo.removeClass("error");
			
			return true;
		}
	}
		function validateCountry(){
				//if it's NOT valid
		if(document.getElementById('country').value==''){
			country.addClass("error");
			countryInfo.text(ERR_COUNTRY);
			countryInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			country.removeClass("error");
			countryInfo.text('');
			countryInfo.removeClass("error");
			
			return true;
		}
	}
	function validatePhone(){
				//if it's NOT valid
		if(document.getElementById('phone_no').value==''){
			phone_no.addClass("error");
			phone_noInfo.text(ERR_PHONE);
			phone_noInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			phone_no.removeClass("error");
			phone_noInfo.text('');
			phone_noInfo.removeClass("error");
			
			return true;
		}
	}
	function validateEmail(){
				//if it's NOT valid
		if(document.getElementById('email_id').value==''){
			email_id.addClass("error");
			email_idInfo.text(ERR_BLANK_EMAIL);
			email_idInfo.addClass("error");
			return false;
		}
		//if it's valid
		else{ 
			if(!echeck(document.getElementById('email_id').value)){
				email_id.addClass("error");
				email_idInfo.text(ERR_VALID_EMAIL);
				email_idInfo.addClass("error");
				return false;
			}else{
			email_id.removeClass("error");
			email_idInfo.text('');
			email_idInfo.addClass("error");
			return true;
			}
		}
	}

	function validationIagree(){
		if(iagree.attr('checked')==false)
		{
			iagree.addClass("error");
			iagree_Info.text(I_AGREE_NOT_CLICK);
			iagree_Info.addClass("error");
			return false;
		}
		else
		{
			iagree.removeClass("error");
			iagree_Info.text('');
			iagree_Info.addClass("error");
			return true;
		}
	}
	
});


