// JavaScript Document

/**
 * function is used to Remove leading and trailing spaces.
 *
 * @param Str strValue : String
 *
 */
function trimAll( strValue ) {
	var objRegExp = /^(\s*)$/;
	//check for all spaces
	if(objRegExp.test(strValue)) {
	   strValue = strValue.replace(objRegExp, '');
	   if( strValue.length == 0)
		  return strValue;
	}
	
   //check for leading &amp; trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
	   //remove leading and trailing whitespace characters
	   strValue = strValue.replace(objRegExp, '$2');
	}
  return strValue;
}

/**
 * function is used to validate the Application form details.
 *
 * @param Str strValue : String
 *
 */
function validateForm() {
	var frmObj 	= document.contactForm;
	var msg_err = '';
	
	// First name
	if( typeof(frmObj.first_name) != "undefined" ) {
		frmObj.first_name.value = trimAll(frmObj.first_name.value);
		var objRegExpName = /^([a-zA-Z'.\s]+)$/;
		if(msg_err == ''){
			frmObj.first_name.focus();
		}
		if(frmObj.first_name.value=="") {
			msg_err = msg_err + "First Name is a required field." + '\n';
		}
		else if( !objRegExpName.test(frmObj.first_name.value) ) {
			msg_err = msg_err + "Enter the valid First Name, only a-z A-Z . ' and space allowed" + '\n';
		}
	}

	// Last name
	if( typeof(frmObj.last_name) != "undefined" ) {
		frmObj.last_name.value = trimAll(frmObj.last_name.value);
		var objRegExpName = /^([a-zA-Z'.\s]+)$/;
		if(msg_err == ''){
			frmObj.last_name.focus();
		}
		if(frmObj.last_name.value=="") {
			msg_err = msg_err + "Last Name is a required field." + '\n';
		}
		else if( !objRegExpName.test(frmObj.last_name.value) ) {
			msg_err = msg_err + "Enter the valid Last Name, only a-z A-Z . ' and space allowed." + '\n';
		}
	}
	// Email
	if( typeof(frmObj.email) != "undefined" ) {
		frmObj.email.value = trimAll(frmObj.email.value);
		var objRegExpEmail = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/;
		if(msg_err == ''){
			frmObj.email.focus();
		}
		if(frmObj.email.value=="") {
			msg_err = msg_err + "Email Address is a required field." + '\n';
		}
		else if( !objRegExpEmail.test(frmObj.email.value) ) {
			msg_err = msg_err + "Enter the valid Email Address." + '\n';
		}
	}
	// Phone
	if( typeof(frmObj.phone) != "undefined" ) {
		frmObj.phone.value = trimAll(frmObj.phone.value);
		var objRegExpPhone = /^([0-9-+\s]+)$/;
		if(msg_err == ''){
			frmObj.phone.focus();
		}
		if(frmObj.phone.value=="") {
			msg_err = msg_err + "Telephone is a required field." + '\n';
		}
		else if( !objRegExpPhone.test(frmObj.phone.value) ) {
			msg_err = msg_err + "Enter the valid Telephone No., only 0-9 - + space allowed." + '\n';
		}
	}
	// Extension
	if( typeof(frmObj.extension) != "undefined" ) {
		frmObj.extension.value = trimAll(frmObj.extension.value);
		var objRegExpExtension = /^([0-9-+\s]+)$/;
		if(msg_err == ''){
			frmObj.extension.focus();
		}
		if(frmObj.extension.value!="") {
			if( !objRegExpExtension.test(frmObj.extension.value) ) {
				msg_err = msg_err + "Enter the valid Extension, only 0-9 - + space allowed." + '\n';
			}
		}
	}
	
	// Cell or Pager
	if( typeof(frmObj.cellorpager) != "undefined" ) {
		frmObj.cellorpager.value = trimAll(frmObj.cellorpager.value);
		var objRegExpPhone = /^([0-9-+\s]+)$/;
		if(msg_err == ''){
			frmObj.cellorpager.focus();
		}
		if(frmObj.cellorpager.value!="") {
			if( !objRegExpPhone.test(frmObj.cellorpager.value) ) {
				msg_err = msg_err + "Enter the valid Cell | Pager, only 0-9 - + space allowed." + '\n';
			}
		}
	}
	// Fax
	if( typeof(frmObj.fax) != "undefined" ) {
		var objRegExpFax = /^([0-9-+]+)$/;
		if(msg_err == ''){
			frmObj.fax.focus();
		}
		if(frmObj.fax.value!="") {
			if( !objRegExpFax.test(frmObj.fax.value) ) {
				msg_err = msg_err + "Please enter the valid Fax No. Only 0-9 - + allowed." + '\n';
			}
		}
	}
	
	// Title
	if( typeof(frmObj.title) != "undefined" ) {
		frmObj.title.value = trimAll(frmObj.title.value);
		var objRegExpCompany = /^([&amp;#@a-zA-Z-\/\s,'().-]+)$/;
		if(msg_err == ''){
			frmObj.title.focus();
		}
		if(frmObj.title.value !="") {
			if( !objRegExpCompany.test(frmObj.title.value) ) {
				msg_err = msg_err + "Enter the valid Title, only a-z A-Z () ' . - @ # & , and space allowed." + '\n';
			}
		}
	}
	
	// Organization
	if( typeof(frmObj.organization) != "undefined" ) {
		frmObj.organization.value = trimAll(frmObj.organization.value);
		var objRegExpOrganization = /^([&amp;#@a-zA-Z-\/\s,'().-]+)$/;
		if(msg_err == ''){
			frmObj.organization.focus();
		}
		if(frmObj.organization.value !="") {
			if( !objRegExpOrganization.test(frmObj.organization.value) ) {
				msg_err = msg_err + "Enter the valid Organization, only a-z A-Z () ' . - @ # & , and space allowed." + '\n';
			}
		}
	}
	
	// Department
	if( typeof(frmObj.department) != "undefined" ) {
		frmObj.department.value = trimAll(frmObj.department.value);
		var objRegExpDepartment = /^([&amp;#@a-zA-Z-\/\s,'().-]+)$/;
		if(msg_err == ''){
			frmObj.department.focus();
		}
		if(frmObj.department.value !="") {
			if( !objRegExpDepartment.test(frmObj.department.value) ) {
				msg_err = msg_err + "Enter the valid Department, only a-z A-Z () ' . - @ # & , and space allowed." + '\n';
			}
		}
	}
	
	// Address
	if( typeof(frmObj.address) != "undefined" ) {
		frmObj.address.value = trimAll(frmObj.address.value);
		var objRegExpAddress = /^([0-9&amp;#@a-zA-Z-\/\s,'().-]+)$/;
		if(msg_err == ''){
			frmObj.address.focus();
		}
		if(frmObj.address.value !="") {
			if( !objRegExpAddress.test(frmObj.address.value) ) {
				msg_err = msg_err + "Enter the valid Address, only a-z A-Z 0-9 () ' . - @ # & , and space allowed." + '\n';
			}
		}
	}
	
	// City
	if( typeof(frmObj.city) != "undefined" ) {
		frmObj.city.value = trimAll(frmObj.city.value);
		var objRegExpCity = /^([()a-zA-Z\s]+)$/;
		if(msg_err == ''){
			frmObj.city.focus();
		}
		if(frmObj.city.value!="") {
			if( !objRegExpCity.test(frmObj.city.value) ) {
				msg_err = msg_err + "Enter the valid City, only a-z A-Z () space allowed." + '\n';
			}
		}
	}
	
	// State
	if( typeof(frmObj.state) != "undefined" ) {
		frmObj.state.value = trimAll(frmObj.state.value);
		var objRegExpState = /^([()a-zA-Z\s]+)$/;
		if(msg_err == ''){
			frmObj.state.focus();
		}
		if(frmObj.state.value=="") {
			msg_err = msg_err + "State is a required field." + '\n';
		}
		else if( !objRegExpState.test(frmObj.state.value) ) {
			msg_err = msg_err + "Enter the valid State, only a-z A-Z () space allowed." + '\n';
		}
	}
	
	// Zip
	if( typeof(frmObj.zip) != "undefined" ) {
		frmObj.zip.value = trimAll(frmObj.zip.value);
		var objRegExpZip = /^([0-9-]+)$/;
		if(msg_err == ''){
			frmObj.zip.focus();
		}
		if(frmObj.zip.value=="") {
			msg_err = msg_err + "Zip Code is a required field." + '\n';
		}
		else if( !objRegExpZip.test(frmObj.zip.value) ) {
			msg_err = msg_err + "Enter the valid Zip Code, only 0-9 - allowed." + '\n';
		}
	}
	
	
	if ( msg_err.length > 0 ) {
		alert(msg_err);
		return false;
	}
	return true;
}
	
