/********************************************************************
 * EnrolValidations.js
 *
 * @version :  1.00 16/01/2009	Initial  version
 *
 * @author Infosys
 *********************************************************************
 */
var mac = navigator.appVersion.indexOf("Mac")>-1;
var n = ((navigator.appName == "Netscape")&&(navigator.userAgent.indexOf("Netscape6")<=-1));//Netscape except for Netscape6
var ie5 = navigator.appVersion.indexOf("MSIE 5.")>-1;
var n6 = ((navigator.appName == "Netscape")&&(navigator.userAgent.indexOf("Netscape6")>-1));

var ok=true;

//CR-426 starts here
function getInternetExplorerVersion()
{
  var rv = -1;
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
//CR-426 starts here

function checkAge18ValidNumber(){
	if(document.getElementById('ageChild1').value != null && document.getElementById('ageChild1').value !=''){
		if(isNaN(document.getElementById('ageChild1').value)|| !validateAge(document.getElementById('ageChild1').value)){
			alert(preferencesAgeError);
			document.getElementById('ageChild1').value='';
			document.getElementById('ageChild1').focus();
		}
	}
	if(document.getElementById('ageChild2').value != null && document.getElementById('ageChild2').value !=''){
		if(isNaN(document.getElementById('ageChild2').value)|| !validateAge(document.getElementById('ageChild2').value)){
			alert(preferencesAgeError);
			document.getElementById('ageChild2').value='';
			document.getElementById('ageChild2').focus();
		}
	}
	if(document.getElementById('ageChild3').value != null && document.getElementById('ageChild3').value !=''){
		if(isNaN(document.getElementById('ageChild3').value)|| !validateAge(document.getElementById('ageChild3').value)){
			alert(preferencesAgeError);
			document.getElementById('ageChild3').value='';
			document.getElementById('ageChild3').focus();
		}
	}
	if(document.getElementById('ageChild4').value != null && document.getElementById('ageChild4').value !=''){
		if(isNaN(document.getElementById('ageChild4').value)|| !validateAge(document.getElementById('ageChild4').value)){
			alert(preferencesAgeError);
			document.getElementById('ageChild4').value='';
			document.getElementById('ageChild4').focus();
		}
	}
}
function next_keyDown(prevObj,curObj,nextObj) {
    if(ok){
        curObj.value="";
        ok=false;
    }

    if( curObj == document.getElementById('dateOfBirthYear')){
        ok=true;
    }
	var keyval=event.keyCode;

	if(!event.ctrlKey && (keyval==37|| keyval==9|| keyval==39  || keyval==13 || keyval==46)) return;
	if(keyval == 86 ) {
		return;
	}
	if((keyval >=48 && keyval <= 57) || (keyval >=96 && keyval <= 105) || keyval==8 || (keyval >=65 && keyval <= 90) || (keyval==37 || keyval==39) ) {
		var c = curObj.value;
		var p = prevObj.value;
		var n = nextObj.value;
		var num=2;
		if( curObj == document.getElementById('dateOfBirthYear')){
			ok=true;
			if(c.length ==4 && keyval != 8)
			return false;
		}
		if( (c.length==num && keyval!= 8 )  ) {
			nextObj.select();
			nextObj.focus();
		}
		if((c.length==0) && (prevObj!=curObj) && keyval== 8) {
			prevObj.focus();
			event.keyCode=35;
		}
	} else if(!event.ctrlKey) {
		event.returnValue=false;
	}
}

function fnValidateVATNumber(){

	var EVENNUMBERLENGTH = 10;
	var ODDNUMBERLENGTH = 9;
	var EVENMULTIPLYFACTOR = 2;
	var EVENSUBTRACTIONVALUE = 9;
	var calculatedCheckDigit = 0;
	var total = 0;
	var sumOddVal = 0;
	var sumEvenVal = 0;
	var reminder = 0;
	var vatCheckDigit = 0;
	var tempOddVal = 0;
	var tempEvenVal = 0;
	var checkDigitValid = false;
	var vatNo = document.getElementById('vatNo').value;
	var vatLength = document.getElementById('vatNo').value.length;

	if (null != vatNo && vatLength > 0) {
		if (vatLength == 11) {
			vatCheckDigit = vatNo.substring(vatLength - 1, vatLength);
			//alert(vatCheckDigit);
		}
		for (var i = 1; i <= ODDNUMBERLENGTH; i = i + 2) {
			tempOddVal = vatNo.substring(i - 1, i) * 1;
			sumOddVal = sumOddVal + tempOddVal;
		}
		var evenMultiplyValue = 0;
		for (var j = 2; j <= EVENNUMBERLENGTH; j = j + 2) {
			tempEvenVal = vatNo.substring(j - 1, j);
			evenMultiplyValue = EVENMULTIPLYFACTOR * tempEvenVal;
			if (evenMultiplyValue > EVENSUBTRACTIONVALUE) {
				evenMultiplyValue = evenMultiplyValue - EVENSUBTRACTIONVALUE;
			}
			sumEvenVal = sumEvenVal + evenMultiplyValue;
			//alert(sumEvenVal);
		}
		total = sumOddVal + sumEvenVal;
		reminder = total % 10;
		if (reminder > 0) {
			calculatedCheckDigit = EVENNUMBERLENGTH - reminder;
		} else {
			calculatedCheckDigit = 0;
		}
		vatCheckDigit = fnTrim(vatCheckDigit);
		var vatCheckDigitlength=vatCheckDigit.length;
		if(null != vatCheckDigit && vatCheckDigitlength > 0){
			if (calculatedCheckDigit == vatCheckDigit) {
				checkDigitValid = true;
			} else {
				checkDigitValid = false;
			}
		}
	}
	return checkDigitValid;
}

function fnSubmit(indicator,takeoneindicator){
	//validate birth date
	if(!validateAge(document.getElementById('enrolment'))){
		return
	}
	fnAddSubmit(indicator,takeoneindicator);
}

var myVatCheck = 0;

function fnAddSubmit(indicator,takeoneindicator){
	if (document.getElementById('ovrAddrInd').checked==false && document.getElementById('lookup').disabled == false && document.getElementById('addressCheck').value=='N') {
		alert(enrolValidationsFindAddressError);
		document.getElementById('lookup').focus();
		return;
	}
	var collectorCivilStatus = isEmpty(document.getElementById('title'));
	if(!collectorCivilStatus){
        document.getElementById('title').value = fnTrimMiddleToSingle(document.getElementById('title').value);
    }
	var myGender = document.getElementById('gender').value;
	if(myGender == ""){
		alert(activationGenderError);
		document.getElementById('gender').focus();
		return;
	}

	var field = document.getElementById('title');
	if(field.value == 'Altro'){
		var otherTitle=document.getElementById('otherTitle');
		if(otherTitle.value==''){
			alert(activationOtherTitleError);
			document.getElementById('otherTitle').focus();
			return;
		}
	}else if(field.value==""){
		alert(activationTitleError);
		document.getElementById('title').focus();
		return;
	}

	var collectorFName = isEmpty(document.getElementById('firstName'));
	if(collectorFName){
		alert(activationNameError);
		document.getElementById('firstName').focus();
		return;
	}else{
		(document.getElementById('firstName').value = fnTrimMiddleToSingle(document.getElementById('firstName').value));
	}

	var collectorSName = isEmpty(document.getElementById('surName'));
	if(collectorSName){
		alert(activationSurnameError);
		document.getElementById('surName').focus();
		return;
	}else{
		document.getElementById('surName').value = fnTrimMiddleToSingle(document.getElementById('surName').value);
	}
	
	// SAL NEW ALERT FOR ADDRESS AND CAP
	var collectorpostCode = isEmpty(document.getElementById('postCode'));
	if(collectorpostCode){
		alert(activationPostCodeError);
		document.getElementById('postCode').focus();
		return;
	}else{
		document.getElementById('postCode').value = fnTrimMiddleToSingle(document.getElementById('postCode').value);
	}
	
	var collectorhouseNumber = isEmpty(document.getElementById('houseNumber'));
	if(collectorhouseNumber){
		alert(activationHouseNumberError);
		document.getElementById('houseNumber').focus();
		return;
	}else{
		document.getElementById('houseNumber').value = fnTrimMiddleToSingle(document.getElementById('houseNumber').value);
	}
	
	
	var collectorcounty = isEmpty(document.getElementById('county'));
	if(collectorcounty){
		alert(activationCountyError);
		document.getElementById('county').focus();
		return;
	}else{
		document.getElementById('county').value = fnTrimMiddleToSingle(document.getElementById('county').value);
	}
	
		// END SAL NEW ALERT FOR ADDRESS AND CAP
	
	var collectordateOfBirthDay = isEmpty(document.getElementById('dateOfBirthDay'));
	if(collectordateOfBirthDay){
		alert(mandatoryBirthDayEmpty);
		document.getElementById('dateOfBirthDay').focus();
		return;
	}else{
		document.getElementById('dateOfBirthDay').value = fnTrimMiddleToSingle(document.getElementById('dateOfBirthDay').value);
	}
	var collectordateOfBirthMonth = isEmpty(document.getElementById('dateOfBirthMonth'));
	if(collectordateOfBirthMonth){
		alert(mandatoryBirthMonthEmpty);
		document.getElementById('dateOfBirthMonth').focus();
		return;
	}else{
		document.getElementById('dateOfBirthMonth').value = fnTrimMiddleToSingle(document.getElementById('dateOfBirthMonth').value);
	}
	var collectordateOfBirthYear = isEmpty(document.getElementById('dateOfBirthYear'));
	if(collectordateOfBirthYear){
		alert(mandatoryBirthYearEmpty);
		document.getElementById('dateOfBirthYear').focus();
		return;
	}else{
		document.getElementById('dateOfBirthYear').value = fnTrimMiddleToSingle(document.getElementById('dateOfBirthYear').value);
	}
	if(!isEmpty(document.getElementById('dateOfBirthDay')) && !isEmpty(document.getElementById('dateOfBirthMonth')) && !isEmpty(document.getElementById('dateOfBirthYear'))){
		var day = validateDate(document.getElementById('dateOfBirthDay').value);
		if(!day){
			alert(enrolValidationDOBError);
			document.getElementById('dateOfBirthDay').focus();
			return;
		}
		var month=validateDate(document.getElementById('dateOfBirthMonth').value);
		if(!month){
			alert(enrolValidationDOBError);
			document.getElementById('dateOfBirthMonth').focus();
			return;
		}
		var year=validateDate(document.getElementById('dateOfBirthYear').value);
		if(!year){
			alert(enrolValidationDOBError);
			document.getElementById('dateOfBirthYear').focus();
			return;
		}
		DDindex=document.getElementById('dateOfBirthDay').value;
		MMindex=document.getElementById('dateOfBirthMonth').value;
		YearField=document.getElementById('dateOfBirthYear').value;
		strDoB = DDindex + "/" + MMindex + "/" + YearField;

		var validdate=chkdate(strDoB);
		var intYear = parseInt(YearField, 10);
		if(intYear<1895){
			alert(enrolValidationDOBError);
			document.getElementById('dateOfBirthYear').focus();
			return;
        }
		if(!validdate){
			alert(enrolValidationDOBError);
            document.getElementById('dateOfBirthDay').focus();
            return;
        }
        var fromDate=strDoB;
		var currDate = new Date();
		var month=currDate.getMonth()+1

		if(n || n6){
			var year =1900+ currDate.getYear();
		}
		//CR-426 starts here
		else if(getInternetExplorerVersion() >= 9){
			var year = currDate.getFullYear();
		}
		//CR-426 ends here
		else{
			var year = currDate.getYear();
		}
		var curDate=currDate.getDate()+"/"+month+"/"+year;
		var checkFuture = checkAgeFuture(curDate, strDoB);
		if(!checkFuture){
			alert(enrolValidationDOBError);
			document.getElementById('dateOfBirthDay').focus();
			return;
		}
	}
	var emailAddress = isEmpty(document.getElementById('emailaddress'));
	if(emailAddress){
		alert(mandatoryEmailEmpty);
		document.getElementById('emailaddress').focus();
		return;
	}else{
		document.getElementById('emailaddress').value = fnTrimMiddleToSingle(document.getElementById('emailaddress').value.toLowerCase());
	}

	var confirmemailAddress = isEmpty(document.getElementById('confirmemailadd'));
	if(confirmemailAddress){
		alert(mandatoryEmailConfirmEmpty);
		document.getElementById('confirmemailadd').focus();
		return;
	}else{
		document.getElementById('confirmemailadd').value = fnTrimMiddleToSingle(document.getElementById('confirmemailadd').value.toLowerCase());
	}
	var passWord = isEmpty(document.getElementById('setpassword'));
	if(passWord){
		alert(activationPasswordEmptyError);
		document.getElementById('setpassword').focus();
		return;
	}else{
		document.getElementById('setpassword').value = fnTrim(document.getElementById('setpassword').value);
	}
	var passWordConfirm = isEmpty(document.getElementById('confirmnewpassword'));
	if(passWordConfirm){
		alert(activationConfirmPasswordEmptyError);
		document.getElementById('confirmnewpassword').focus();
		return;
	}else{
		document.getElementById('confirmnewpassword').value = fnTrimMiddleToSingle(document.getElementById('confirmnewpassword').value);
	}

	var validPasswordForSpace = validatePasswordForSpace(document.getElementById('setpassword').value);
	if(!validPasswordForSpace){
		alert(passwordInvalidSpace);
		document.getElementById('setpassword').focus();
		return;
	}

	/*CR_9010 Starts here*/
	if(!(validatePasswordCharacters(document.getElementById('setpassword').value))){
		document.getElementById('setpassword').value="";
		document.getElementById('confirmpassword').value="";
		document.getElementById('setpassword').focus();
		return ;
	}

	if(document.getElementById('dateOfBirthDay').value > 31 ){
		alert(enrolValidationDOBError);
		document.getElementById('dateOfBirthDay').focus();
		return;
	}

	if(document.getElementById('dateOfBirthMonth').value > 12){
		alert(enrolValidationDOBError);
		document.getElementById('dateOfBirthMonth').focus();
		return;
	}

	var validEmail = isEmail(document.getElementById('emailaddress').value);
	if(!(validEmail)){
		alert(registerEmailError);
		document.getElementById('emailaddress').focus();
		return;
	}else{
		document.getElementById('emailaddress').value = fnTrimMiddleToSingle(document.getElementById('emailaddress').value);
	}
	var validConfirmEmail = (isEmail(document.getElementById('confirmemailadd').value));
	if(!(validConfirmEmail)){
		alert(registerEmailError);
		document.getElementById('confirmemailadd').focus();
		document.getElementById('confirmemailadd').select();
		return;
	}else{
		document.getElementById('confirmemailadd').value = fnTrimMiddleToSingle(document.getElementById('confirmemailadd').value);
	}
	if(!(emailConfirm())){
		return;
	}

	if(document.getElementById('otherTitle').value != ''){
		var validTitleOther = validateTitle(document.getElementById('otherTitle').value);
		if(!(validTitleOther)){
			alert(enrolValidationOtherTitleCharacterError);
			document.getElementById('otherTitle').focus();
			return;
		}
	}

	var validFName = validateFirstName(document.getElementById('firstName').value);
	if(!(validFName)){
		alert(enrolValidationFirstNameCharacterError);
		document.getElementById('firstName').focus();
		return;
	}

	var validSName = validateName(document.getElementById('surName').value);
	if(!(validSName)){
		alert(enrolValidationSecondNameCharacterError);
		document.getElementById('surName').focus();
		return;
	}

	var validMInitial = (validateInitial(document.getElementById('middleInitial').value));
	if(!(validMInitial)){
		alert(enrolValidationInitialCharacterError);
		document.getElementById('middleInitial').focus();
		return;
	}

	if(document.getElementById('title').selectedIndex > 0){
		var title = fnTrim(document.getElementById('title').value);
	}
	var otherTitle = fnTrim(document.getElementById('otherTitle').value);

	//if(takeoneindicator =='takeOne'){
	/*if(!isEmpty(document.getElementById('nameOnCard'))) {
		var validFName = validateNameOnCard(document.getElementById('nameOnCard').value);
		if(!(validFName)){
			alert(nameOnCardInvalid);
			document.getElementById('nameOnCard').value="";
			document.getElementById('nameOnCard').focus();
			return;
		}
	}*/
    // }
	
	

/*	var validpostCode = validatepostCode(document.getElementById('postCode').value);
	if(!(validpostCode)){
		alert(nameOnCardInvalid);
		document.getElementById('postCode').focus();
		return;
	}
*/
	var validPasswordLen = isValidPswdLen(document.getElementById('setpassword').value);
	if(!(validPasswordLen)){
		alert(passwordLengthError);
		document.getElementById('setpassword').focus();
		return;
	}
	// unnecessary to validate length of confirmpassword since password length is validated and if confirmpassword is of different length it will fail the matching validation
	/*var validConfirmPasswordLen = isValidPswdLen(document.getElementById('confirmnewpassword').value);
	if(!(validConfirmPasswordLen)){
		alert(passwordLengthError);
		document.getElementById('confirmnewpassword').focus();
		return;
	}*/

	if (fnTrim(document.getElementById('setpassword').value) != fnTrim(document.getElementById('confirmnewpassword').value)){
		alert(registerPasswordsMatchError);
		document.getElementById('confirmnewpassword').focus();
		return;
	}

	if (document.getElementById('homephone').value != ''){
		var validHomePhone = validatePhone(document.getElementById('homephone').value);
		if(!(validHomePhone)){
			alert(registerHomeNumberError);
			document.getElementById('homephone').focus();
			return;
		}
	}
	if (document.getElementById('mobile').value != ''){
		var validMobilePhone = (validatePhone(document.getElementById('mobile').value));
		if(!(validMobilePhone)){
			alert(registerMobileNumberError);
			document.getElementById('mobile').focus();
			return;
		}
	}
	if (document.getElementById('workphone').value != ''){
		var validWorkPhone = validatePhone(document.getElementById('workphone').value);
		if(!(validWorkPhone)){
			alert(registerWorkNumberError);
			document.getElementById('workphone').focus();
			return;
		}
	}
	if (document.getElementById('fax').value != ''){
		var validFax = validatePhone(document.getElementById('fax').value);
		if(!(validFax)){
			alert(registerFaxNumberError);
			document.getElementById('fax').focus();
			return;
		}
	}
//alert(document.getElementById('vatNo').value);
	if(document.getElementById('vatNo') != undefined){
		if(document.getElementById('vatNo') != null){
			var myVatNumberLengthEnrol = document.getElementById('vatNo').value.length;
			var myVatStringEnrol = document.getElementById('vatNo').value;
			var mySanMarinoEnrol = myVatStringEnrol.substring(2,0);
			var mySanMarinoNumberEnrol = myVatStringEnrol.substring(2,7);
		document.getElementById('vatNo').value = fnTrim(document.getElementById('vatNo').value);

		if ((document.getElementById('vatNo').value == '' || document.getElementById('vatNo').value.length == 0) &&(myVatCheck==1)){
			if(!confirm(activationVATEmptyError)){
				document.getElementById('vatNo').focus();
				document.getElementById('vatNoAllowedByUser').value = 'N';
				return;
			}else{
				document.getElementById('vatNoAllowedByUser').value = 'Y';
			}
		}
		
		
		if ((document.getElementById('vatNo').value == '' || document.getElementById('vatNo').value.length == 0) &&(myVatCheck==0)){
				alert("Attenzione! Il campo Partita IVA č obbligatorio per poter utilizzare i punti.\n"+ activationVATNoError);
								//alert(activationVATNoError);
				//myVatCheck = 1;
				document.getElementById('vatNo').focus();
				return;
		}		

		if (document.getElementById('vatNo').value != ''){
			if(document.getElementById('vatNo').value.search(/\W/) != -1){
				alert(errVatNumber);
				document.getElementById('vatNo').focus();
				return;
			}
		//if(((document.getElementById('vatNo').value == '' || document.getElementById('vatNo').value.length == 0) &&(myVatCheck==0))||(myVatNumberLengthEnrol != 11 && myVatNumberLengthEnrol !=7)||(myVatNumberLengthEnrol == 7 && (!(mySanMarinoEnrol=="SM")|| isNaN(mySanMarinoNumberEnrol)))
		if((myVatNumberLengthEnrol != 11 && myVatNumberLengthEnrol !=7)||(myVatNumberLengthEnrol == 7 && (!(mySanMarinoEnrol=="SM")|| isNaN(mySanMarinoNumberEnrol)))
			||(myVatNumberLengthEnrol == 11 && isNaN(myVatStringEnrol))){
							myVatCheck = 1;
				//alert(activationVATNoError);
			if(!confirm("Attenzione! La Partita IVA inserita non č corretta. \nPremi ANNULLA per coreggere la Partita IVA inserita.\nSe, invece, desideri continuare nella registrazione senza inserire la Partita IVA premi OK.\nFino a quando non verrā inserita una Partita IVA valida non sarā possibile utilizzare i punti.")){				

				document.getElementById('vatNo').focus();
				return;
			}
			else{
			document.getElementById('vatNo').value="";
			}
			}
			/* if(document.getElementById('vatNo').value.length < 11){
				alert(activationVATNoError);
				document.getElementById('vatNo').focus();
				return;
			}*///code change for San Marino
			
			
			if(myVatNumberLengthEnrol == 11 && !isNaN(myVatStringEnrol)){
			var validateVat = fnValidateVATNumber();
			if(!validateVat) {
			if(!confirm("Attenzione! La Partita IVA inserita non č corretta. \nPremi ANNULLA per coreggere la Partita IVA inserita.\nSe, invece, desideri continuare nella registrazione senza inserire la Partita IVA premi OK.\nFino a quando non verrā inserita una Partita IVA valida non sarā possibile utilizzare i punti.")){				

				document.getElementById('vatNo').focus();
				return;
			}
			else{
			document.getElementById('vatNo').value="";
			}
			}
			}
			/*
			if(myVatNumberLengthEnrol == 0 && myVatCheck==1){
			//var validateVat = fnValidateVATNumber();
			//if(!validateVat) {
				if(!confirm("Test")){
					//alert(activationVATNoError);
					document.getElementById('vatNo').focus();
					return;
				}
			//}
			}
			*/
			
			
			
			
		}
		}
	}
	//Address Validations
	if(!validAddress(document.getElementById('enrolment'))){
		return;
	}

	//password should not be same as first name
	if(document.getElementById('firstName').value == document.getElementById('setpassword').value){
		alert(errPassFirstNameIdentical);
		document.getElementById('setpassword').value='';
		document.getElementById('confirmnewpassword').value='';
		document.getElementById('setpassword').focus();
		return;
	}

	//password should not be same as surname
	if(document.getElementById('surName').value == document.getElementById('setpassword').value){
		alert(errPassSurNameIdentical);
		document.getElementById('setpassword').value='';
		document.getElementById('confirmnewpassword').value='';
		document.getElementById('setpassword').focus();
		return;
	}
	if(takeoneindicator =='takeOne'){
		servletUrl8 = trimUrl(servletUrl8);
		document.getElementById('enrolment').action=servletUrl8;
	}else{
		if(indicator==1){
			//getting the url from custom tag
			servletUrl6 = trimUrl(servletUrl6);
			document.getElementById('enrolment').action=servletUrl6;
		}else{
			//getting the url from custom tag
			servletUrl7 = trimUrl(servletUrl7);
			document.getElementById('enrolment').action=servletUrl7;
		}
	}
	addressEnable();
	document.getElementById('enrolment').submit();
}

function fnReset() {
	document.getElementById('enrolment').reset();
}

/**************************************************************************************************
* Function to disable the preferred phone dropdown in Enrolment, Secondary Enrolment,
* Add Member to household and Change Personal Info
***************************************************************************************************/

function changePrefNumber(cntrlName,formName,changedYesValue) {
	if(document.getElementById('changeInd')!=null) document.getElementById('changeInd').value=changedYesValue;
	var res=fnTrimMiddleToSingle(document.getElementById('homephone').value);
	var off=fnTrimMiddleToSingle(document.getElementById('workphone').value);
	var mob=fnTrimMiddleToSingle(document.getElementById('mobile').value);
	var pref=document.getElementById('phonepref').selectedIndex;

	if(pref==1 && res=='') document.getElementById('phonepref').selectedIndex=0;
	if(pref==2 && mob=='') document.getElementById('phonepref').selectedIndex=0;
	if(pref==3 && off=='') document.getElementById('phonepref').selectedIndex=0;

	if(res!='' && document.getElementById('phonepref').selectedIndex==0) document.getElementById('phonepref').selectedIndex=1;
	else
	if(off!='' && document.getElementById('phonepref').selectedIndex==0) document.getElementById('phonepref').selectedIndex=3;
	else
	if(mob!='' && document.getElementById('phonepref').selectedIndex==0) document.getElementById('phonepref').selectedIndex=2;

	if(res=='' && off=='' && mob=='') document.getElementById('phonepref').selectedIndex=0;
}

/**************************************************************************************************
* Function to disable the email dropdowns in Enrolment, Secondary Enrolment,
* Add Member to household and Change Personal Info
***************************************************************************************************/

function changeEmail(formName,changedYesValue) {
	document.getElementById('emailaddress').value = document.getElementById('emailaddress').value.toLowerCase();
	document.getElementById('confirmemailadd').value = document.getElementById('confirmemailadd').value.toLowerCase();
	if(document.getElementById('changeInd')!=null) document.getElementById('changeInd').value=changedYesValue;
	var res=fnTrimMiddleToSingle(document.getElementById('emailaddress').value);
	var conf=fnTrimMiddleToSingle(document.getElementById('confirmemailadd').value);
	if(res==''|| conf=='') {
		document.getElementById('emaillocation').selectedIndex=0;
	}
}

/**************************************************************************************************
* Function for checking whether need validation of address
* Add Member to household and Enrol Personal Info
***************************************************************************************************/

function fnChangeAddress(formName) {
	document.getElementById('flagNeedtoValidate').value="true";
}

/**************************************************************************************************
* Function for Automatically changing the gender based on title
*
***************************************************************************************************/

function titleChange(form) {
    var titleValue = "";
	titleValue=fnTrim(document.getElementById('title').value);

	if(titleValue=='Altro'){
		document.getElementById('otherTitle').removeAttribute("disabled");
	}else{
		document.getElementById('otherTitle').value="";
		document.getElementById('otherTitle').disabled="disabled";
	}

}

// PRJ_0157 changes ends here
/***************************************************************
* Function for Automatically adjusting the gender according to title
****************************************************************/

function selectGender(form) {

    if(document.getElementById('title').value=='Sig.' ) {
		document.getElementById('gender').value='M';
	} else if(document.getElementById('title').value=='Sig.ra') {
		document.getElementById('gender').value='F';
	}
}


// PRJ_0157 changes start here
/***************************************************************************************
* Function for Automatically gererating the name on card based on first name and surname
****************************************************************************************/
function nameOnCardChange(form){
	var titleNameOnCard = document.getElementById('title').value.toUpperCase();

	if(titleNameOnCard == 'Altro'){
		titleNameOnCard = document.getElementById('otherTitle').value.toUpperCase();
	}

	var firstNameOnCard = document.getElementById('firstName').value.toUpperCase();
	var surnamNameOnCard = document.getElementById('surName').value.toUpperCase();

	//firstNameOnCard = firstNameOnCard.substring(0,1);

	var NameOnCard = firstNameOnCard+" "+surnamNameOnCard;
	var NameOnCardLength = NameOnCard.length;
	if(NameOnCardLength<19){
		document.getElementById('nameOnCard').value = NameOnCard;
	}else {
		NameOnCard = +surnamName2OnCard;
		NameOnCardLength = NameOnCard.length;
		if(NameOnCardLength<19){
			document.getElementById('nameOnCard').value = NameOnCard;
		}else{
			NameOnCard = firstNameOnCard+" "+surnamNameOnCard;
			NameOnCardLength = NameOnCard.length;
			if(NameOnCardLength<19){
				document.getElementById('nameOnCard').value = NameOnCard;
			}else{
				document.getElementById('nameOnCard').value = "";
			}
		}
	}
}

// PRJ_0157 changes ends here
/***************************************************************
* Function for Automatically changing the title based on gender
****************************************************************/

function genderChange(form) {
    if ( document.getElementById('title').value == "Altro") {
        return false;
    }
    var genderValue="";
    genderValue=fnTrim(document.getElementById('gender').value);
	if (genderValue == "M") {
		document.getElementById('title').value="Sig.";
        //changes for defect 146 starts here
		if(mac) {
			document.getElementById('title').value=2;
		}
		//changes for defect 146 ends here
	}
	if (genderValue == "F") {
		document.getElementById('title').value="Sig.ra";
		//changes for defect 146 starts here
		if(mac) {
			document.getElementById('title').value=1;
		}
		//changes for defect 146 ends here
	}
	if (genderValue == "") {
		document.getElementById('title').value="";
		//changes for defect 146 starts here
		if(mac) {
			document.getElementById('title').value=0;
		}
		//changes for defect 146 ends here
	}
}

function emailConfirm() {

    var emailId=document.getElementById('emailaddress').value;
    var confirmEmailId=document.getElementById('confirmemailadd').value;
	if(!(emailId==confirmEmailId)){
		alert(registerEmailMatchError);
		document.getElementById('confirmemailadd').focus();
		return false ;
    }else{
        return true;
    }
}

function validateDate(fieldValue) {
        fieldValue = fnTrim(fieldValue);

        var allValid = true;
        var temp;

        for (var i=0; i<fieldValue.length; i++) {
			temp = "" + fieldValue.substring(i, i+1);
			if (numberCharSet.indexOf(temp) == "-1") {
				allValid = false;
				return(allValid);
			}
        }
        return(allValid);
}

function fnCheck() {
	var emptyvalue = isEmpty(document.getElementById('collectorNumber'));
	//getting the url from custom tag
	enrolHomeUrl = trimUrl(enrolHomeUrl);

	if( !emptyvalue ) {
		var colNumber = document.getElementById('collectorNumber').value;

		colNumber = colNumber.toLowerCase();

		for(i=0; i<colNumber.length; i++){
			colNumber = colNumber.replace('o','0');
			colNumber = colNumber.replace('i','1');
		}
		valid = validateNumber(colNumber);
		if(valid === true) {
			if(document.getElementById('collectorNumber').value.length==11) {
				document.getElementById('enrolment').action=enrolHomeUrl;
				return true;
			} else {
				alert(cardNumberInvalid);
				document.getElementById('collectorNumber').value="";
				document.getElementById('collectorNumber').focus();
				return false;
			}
		} else {
			alert(enrolValidationsCardCharacterError);
			document.getElementById('collectorNumber').value="";
			document.getElementById('collectorNumber').focus();
			return false;
		}
	} else {
		alert(enrolValidationsCardFieldEmpty);
		document.getElementById('collectorNumber').focus();
		return false;
	}
}

function checkPreference( obj){
	if (document.getElementById('preferEmailComm')== null) {
		return(true);
	}
	var iCheckBoxLength = document.getElementById('preferEmailComm').length;

	for (var iCount=0;iCount<iCheckBoxLength;iCount++) {
		if (document.getElementById('preferEmailComm[iCount]') != obj) {
			if (document.getElementById('preferEmailComm[iCount]').checked) {
				document.getElementById('preferEmailComm[iCount]').checked = false;
			}
		}else{
			if(iCount==1){
				document.getElementById('preferEmailComm[0]').checked=true;
			}else{
				document.getElementById('preferEmailComm[1]').checked=true;
			}
			break;
		}
	}
}

function openFindWindow(form){
	//getting the url from custom tag
	var homeStoreServletUrl1;
	homeStoreServletUrl1 = trimUrl(homeStoreServletUrl);
	var b = unescape(document.getElementById('postCode').value);
	var a= homeStoreServletUrl1+'?formName='+document.getElementById('name')+'&postCode='+b;
	openDialog(a,440,465,dummy);
}

// sets the hidden home store variables called by child window
function setHomeStoreValues(id,name,address){
	document.getElementById('homeStore').value = name;
	document.getElementById("lblHomeStoreName").innerHTML = name;
	document.getElementById('homeStoreAddress').value = address;
	document.getElementById("lblHomeStoreAddress").innerHTML = address;
	document.getElementById('homeStoreId').value = fnTrim(id);
}

function setValues(id,name,address){
	document.getElementById('homeStore').value = fnTrim(name);
	document.getElementById("lblHomeStoreName").innerHTML = fnTrim(name);
	document.getElementById('homeStoreAddress').value = address;
	document.getElementById("lblHomeStoreAddress").innerHTML = address;
	document.getElementById('homeStoreId').value = fnTrim(id);
}

// function for Auto Tab
var agent = navigator.userAgent.toLowerCase();
var isNN = (agent.indexOf("netscape") != -1);
var isOpera = (agent.indexOf("opera") != -1);
var isIE = (agent.indexOf("msie") != -1);

var excludedKeyCodes = new Array(0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46);

if (isOpera | isIE) {
	excludedKeyCodes = new Array(0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46);
} else if (isNN) {
	excludedKeyCodes = new Array(0, 8, 9);
}

function containsElement(arr, ele) {

	var found = false, index = 0;

	while (!found && index < arr.length)

		if (arr[index] == ele)
			found = true;
		else
			index++;

	return found;
}

function getIndex(eCtrl) {

	var index = -1, i = 0, found = false;

	while (i < eCtrl.form.length && index == -1)

		if (eCtrl.form[i] == eCtrl)
			index = i;
		else
			i++;

	return index;
}

function autoTaab(eCtrl, len, e, prevObj, curObj, nextObj) {
	var keyCode;
	var filter;
	c = curObj.value;

	if (isOpera | isIE) {
		keyCode = e.keyCode;
		filter = [ 0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46 ];
	} else if (isNN) {
		keyCode = e.which;
		filter = [ 0, 8, 9 ];
	} else {keyCode = e.which;filter = [ 0, 8, 9 ];}
	if ((c.length == 0) && (prevObj != curObj) && keyCode == 8) {
		prevObj.select();
		prevObj.focus();
		event.keyCode = 35;
	}
	if (curObj == document.getElementById('enrolment').keyNumberFourth && keyCode != 8) {
		if (c.length == 4 && keyCode != 8) {
			curObj.focus();
			event.keyCode = 9;
		}
		return;
	}
	if (eCtrl.value.length >= len && !containsElement(filter, keyCode)) {
		eCtrl.value = eCtrl.value.slice(0, len);
		eCtrl.form[(getIndex(eCtrl) + 1) % eCtrl.form.length].focus();
	}

	return true;
}

function selectGender(fieldValue) {
    if(fieldValue.value=='Sig.' ) {
		document.getElementById('gender').value='M';
	} else if(fieldValue.value=='Sig.ra') {
		document.getElementById('gender').value='F';
	} else if(fieldValue.value=='' ) {
		document.getElementById('gender').value='';
	}
}
