//Javascript Document

/**************** script validation ***************/

function validateCppFields()
{

	var formObj = document.CppCardProtectionForm;
	
	var nameRegEx = /^([a-zA-Z\'/ ])*$/
	var cityRegEx = /^([a-zA-Z])*$/

	var name	= formObj.fullName.value;
	var namelen = name.length;
	
	var errordot = 0;
	var errorspace = 0;

	//validate name
		for (var i = 0; i < namelen; i++)
		{
			if(name.charAt(i) == '.'){
				errordot++;
				if(errordot > 2){
				alert("Please enter a valid name");
				document.getElementById('fullName').focus();
				return false;
				 }
			 }
			
		}

	for (var i = 0; i < namelen; i++)
		{
			if(name.charAt(i) == ' '){
				errorspace++;
				if(errorspace > 5){
					alert("Please enter a valid name");
					document.getElementById('fullName').focus();
					return false;
				 }
				
			 }
		}

	
	if(nameRegEx.test(name)==false|| namelen < 1){
		alert("Please enter a valid name with no special characters");
		document.getElementById('fullName').focus();
		return false;
	}

	/*End validating credit card Number*/
	
	/*Start validation for Email*/
	var emailid = formObj.emailId.value;
	if((emailid.indexOf("--") != -1)||(emailid.indexOf("..") !== -1)||(emailid.indexOf("__") !== -1)||(emailid.indexOf("++") !== -1)){
		alert("Please enter a valid email-id");
		//formObj.emailId.style.border = "2px solid red";
		formObj.emailId.focus() = true;;
		return false;
		}
	var emailIDRegEx = /^[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
	if(emailIDRegEx.test(emailid)==false){
    formObj.emailId.focus();
	alert("Please enter a valid email-id");
	//formObj.emailId.style.border = "2px solid red";
	return false;
	}
	/*End validation for Email*/
	
	/*Start of off ph. no. validation*/
	var phoneNumber  = trim(formObj.officeNumber.value);
	var phoneStdcode = trim(formObj.stdCode.value);
	var flag = false;
	
	if(phoneNumber != "" || phoneStdcode != "")
	{
		flag = true;
		
		if(phoneStdcode == ""){
			alert("Please enter std code for office ph. no.")
			formObj.stdCode.focus();
			return false;
		}
		if(phoneNumber == ""){
			alert("Please enter office ph. no.")
			formObj.officeNumber.focus();
			return false;
		}

		if(validateStdCode(phoneStdcode)== false){
				alert("Please enter valid std code for office ph. no.");
				formObj.phoneStdcode.focus();
				return false;
			}

		if(validateStdCode(phoneNumber)== false){
			alert("Please enter valid office ph. no.");
			formObj.phoneNumber.focus();
			return false;
		}
	}
	/*End of validation for office ph. no.*/
	
	/*start of validation for mobile number*/

	var mobileNo = trim(formObj.mobileNumber.value);
	var moblen   = mobileNo.length;
	
	if(mobileNo != ""){
	
	 flag = true;

	if(mobileNo.charAt(0) != '9'){
			alert("Please check your Mobile No.(it should start with '9')");
			formObj.mobileNumber.focus();
			return false;
		}
		var mobRegExp = /^([0-9])*$/
		if((mobRegExp.test(mobileNo)==false)||(moblen != 10)){
		alert("Please enter 10 digit mobile number");
		formObj.mobileNumber.focus();
		return false;
		}
	}
	/*end of validation for mobile number*/
	
	if(!flag){
		alert("Please enter 'Mobile Number' or 'Office Ph. No.' ");
		return false;
	}	
	flag = false;
	
	/*validaion for city*/	
	var city = trim(formObj.city.value);
	var citylen = city.length;
	if(cityRegEx.test(city)==false|| citylen < 1){
		alert("Please enter city");
		return false;
	}

}


// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim(value) {
	
	return LTrim(RTrim(value));
	
}

//validation for std code
function validateStdCode(stdCode){
	var stdCodeRegExp = /^([0-9]){2,10}$/
	if(stdCodeRegExp.test(stdCode) == false){
		return false;
	}
}


//change case of first char
 function changeCase(obj){
 	
	var objVal = trim(obj.value); 
 	var objLen = objVal.length;
 	
 	for(var i=0; i<objLen ;i++)
 	{
	 if(objVal.charAt(i) != " "){
		 	 {
				firstChar = objVal.charAt(i);
				firstChar = firstChar.toUpperCase();
				objVal = objVal.replace(objVal.charAt(i),firstChar);
				obj.value = objVal;
				break;
	 		 }
	 	}	
	}

 
 }
