/****************************************************************/ 
/* A L L T E L    C O P Y R I G H T    S T A T E M E N T        */ 
/****************************************************************/ 
/*                                                              */ 
/*  NOTICE: THIS SOFTWARE CONTAINS TRADE SECRETS THAT BELONG TO */ 
/*          ALLTEL COMMUNICATIONS, INC. AND IS LICENSED         */ 
/*          BY AN AGREEMENT.  ANY UNAUTHORIZED ACCESS, USE,     */ 
/*          DUPLICATION OR DISCLOSURE IS UNLAWFUL.              */ 
/*                                                              */ 
/*  COPYRIGHT (C) 2007 ALLTEL COMMUNICATIONS, INC.              */ 
/*  ALL RIGHTS RESERVED.                                        */ 
/****************************************************************/ 
/** 
 * Revision History: 
 * 03/26/2007    N9913977       Initial version. 
 */

function validateENewsLetter(namespace){
	var portletNamespaceForView='view'+ namespace;
	var firstName = document.getElementById(portletNamespaceForView+':eNewsLetterForm:firstName').value;
	var lastName = document.getElementById(portletNamespaceForView+':eNewsLetterForm:lastName').value;
	var address = document.getElementById(portletNamespaceForView+':eNewsLetterForm:address').value;
	var city = document.getElementById(portletNamespaceForView+':eNewsLetterForm:city').value;
	var zipCode = document.getElementById(portletNamespaceForView+':eNewsLetterForm:zipCode').value;
	var state = document.getElementById(portletNamespaceForView+':eNewsLetterForm:state').value;
	var email = document.getElementById(portletNamespaceForView+':eNewsLetterForm:email').value;
	var mobileNPA = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNPA').value;
	var mobileNXX = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNXX').value;
	var mobileNumber = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNumber').value;
	var zipcodelength=document.getElementById(portletNamespaceForView+':eNewsLetterForm:zipCode').value.length;

	var trimmedFirstName = trimFieldValue(firstName);
	var trimmedlastName = trimFieldValue(lastName);
	var trimmedcity = trimFieldValue(city);
	
	if (checkIfBlank(document.getElementById(portletNamespaceForView+':eNewsLetterForm:firstName'))) {
		alert("Please enter your first name.");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:firstName').focus();	
		return false;
	} else if (func_isNumericValidation(trimmedFirstName)) {
		alert('First name can not be numeric.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:firstName').focus();
		return false;
	} else if(!func_isNumericValidation(trimmedFirstName) && !func_isAlphabetValidation(trimmedFirstName) ){
		alert("Special character or numbers are not allowed in contact first name");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:firstName').focus();
		return false;
	}
	if (checkIfBlank(document.getElementById(portletNamespaceForView+':eNewsLetterForm:lastName'))) {
		alert("Please enter your last name.");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:lastName').focus();
		return false;
	} else if (func_isNumericValidation(trimmedlastName)) {
		alert('Last name can not be numeric.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:lastName').focus();
		return false;
	} else if(!func_isNumericValidation(trimmedlastName) && !func_isAlphabetValidation(trimmedlastName) ){
	    alert("Special character or numbers are not allowed in contact last name");
	    document.getElementById(portletNamespaceForView+':eNewsLetterForm:lastName').focus();
	    return false;
	} 
	if (checkIfBlank(document.getElementById(portletNamespaceForView+':eNewsLetterForm:address'))) {
		alert("Please enter your street address.");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:address').focus();
		return false;
	}
	if (checkIfBlank(document.getElementById(portletNamespaceForView+':eNewsLetterForm:city'))) {
		alert("Please enter your city name.");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:city').focus();
		return false;
	} else if (func_isNumericValidation(trimmedcity)) {
		alert('City name can not be numeric.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:city').focus();
		return false;
	} else if(!func_isNumericValidation(trimmedcity) && !func_isAlphabetValidation(trimmedcity) ){
	    alert("Special character or numbers are not allowed in city name");
	    document.getElementById(portletNamespaceForView+':eNewsLetterForm:city').focus();
	    return false;
	} else if ("SelectState" == state){
		alert('Please select your state.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:state').focus();
		return false;
	} else if (null == zipCode || '' == zipCode || (!IsZip(zipCode))){
		alert('Please enter a valid zip code.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:zipCode').focus();
		return false;
	} else if(zipcodelength <5 ) {
		alert("Zip code should  have atleast 5 digits.");
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:zipCode').focus();
		return false;
	} else if (!(/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3}))$/.test(email))){
		alert('Please enter a valid email address.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:email').focus();
		return false;
	} else if ( null == mobileNPA || '' == mobileNPA || (!IsNumeric(mobileNPA)) || mobileNPA.length != "3" || null == mobileNXX || '' == mobileNXX || (!IsNumeric(mobileNXX)) || mobileNXX.length != "3" || null == mobileNumber || '' == mobileNumber || (!IsNumeric(mobileNumber)) || mobileNumber.length != "4"){
		alert('Please enter your complete mobile number.');
		document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNPA').focus();
		return false;
	}
	return true;
}
	
function func_autotab(thisObj, portletNs) {
	var portletNamespaceForView='view' + portletNs;	
	var fieldCurrent = thisObj.name;		
	var fieldMobileNPA = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNPA');
	var fieldMobileNXX = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNXX');
	var fieldMobileNum = document.getElementById(portletNamespaceForView+':eNewsLetterForm:mobileNumber');	

	if (fieldCurrent == fieldMobileNPA.name) {
		func_autotabMove(fieldMobileNPA, fieldMobileNXX);
	}
	else if (fieldCurrent == fieldMobileNXX.name) {
		func_autotabMove(fieldMobileNXX, fieldMobileNum);
	} 
	return true;
}

function func_autotabMove(currentField, toField) {
	if(currentField.getAttribute && currentField.value.length == currentField.getAttribute("maxlength")){
		toField.focus();		
	}
	return true;
}
	
// for address
function IsAlphanumeric(sText){
   var ValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\' ";
   var IsAlphanumeric=true;
   var Char;
   for (i = 0; i < sText.length && IsAlphanumeric == true; i++){
	  Char = sText.charAt(i);
	  if (ValidChars.indexOf(Char) == -1){
		 IsAlphanumeric = false;
	  }
   }
   return IsAlphanumeric;
}
	
// for firstName,lastname and city
function IsCharacter(sText){
   var ValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\' ";
   var IsCharacter=true;
   var Char;
   for (i = 0; i < sText.length && IsCharacter == true; i++){
	  Char = sText.charAt(i);
	  if (ValidChars.indexOf(Char) == -1){
		 IsCharacter = false;
	  }
   }
   return IsCharacter;
}
	
function IsNumeric(sText){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++){
	  Char = sText.charAt(i);
	  if (ValidChars.indexOf(Char) == -1){
		 IsNumber = false;
	  }
   }
   return IsNumber;
}

function IsZip(sText){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++){
	  Char = sText.charAt(i);
	  if (ValidChars.indexOf(Char) == -1){
		 IsNumber = false;
	  }
   }
   return IsNumber;
}

function trimFieldValue(validateField){
	while(validateField.charAt(0) == " ") {
		validateField = validateField.slice(1);
	}
	var len = validateField.length - 1;
	while(validateField.charAt(len) == " "){
		validateField = validateField.substr(0,len);
		len = validateField.length - 1;
	}
	return validateField;
}


function func_isNumericValidation(validateField){
	var validChars = "0123456789";
	
	for(iChar = 0 ; iChar < validateField.length ; iChar++ ) {
    	if(validChars.indexOf(validateField.charAt(iChar)) < 0) {
       		return false;
     	}
   	}
   	return true;
}

function func_isAlphabetValidation(validateField){
	if(!(/^[a-zA-Z\s\'-]*$/.test(validateField)))
		return false;
	else 
		return true;
}
function checkIfBlank(frm_field) {
	var frm_field_val=trimFieldValue(frm_field.value);
	var len=frm_field_val.length;
	
	var count=0;
	if (len==0) {
		return true;
	}
	for(i=0;i<len;i++) {
		if (frm_field_val.charAt(i)==" ") {
			count++;	
		}
	}

	if (count==len) {
		return true;
	}
		return false;
}
