var totErr= new Array(); 

var mandatoryDOB;
var mandatoryGender;

function setMandatoryFields(mDOB, mGender){
	mandatoryDOB = mDOB;
	mandatoryGender = mGender;
}
 
function clrSrvErr(){ 
	//clear values
	totErr[0] = 0;
	totErr[1]='';
	sDynamicMainErr = '';
	//clear server side errors
	arrDiv=document.getElementsByTagName('div');
	for(var j=0; j<arrDiv.length; j++) {
		var hasErr = /err/.test(arrDiv[j].className);
		var isSrvDiv1 = /mainerr|srvErr|errloc/.test(arrDiv[j].id);
		//if (arrDiv[j].className == 'err') {
		if(hasErr || isSrvDiv1){
			if (arrDiv[j].id){
				//var isSrvDiv2 = /srvErr|errloc/.test(arrDiv[j].id);
				if (isSrvDiv1){
					//arrDiv[j].innerHTML='';
					//arrDiv[j].className += ' errhide';
					//arrDiv[j].visibility='hidden';
					if(arrDiv[j].className.indexOf('ab_content') >= 0){
						//if this is in an alert bubble make sure the other divs are set to display
						arrDiv[j].parentNode.style.display = 'none'
						//alert('found ab_content - ' + arrDiv[j].parentNode.style.display)
					}else{
						arrDiv[j].style.display='none';
					}
				}
				//islabel = /label/.test(arrDiv[j].id);
				arrDiv[j].className = arrDiv[j].className.replace(/err/,'');
			}
		}
	}	
}


function validateForm(xForm) {
	if (typeof requestSubmitted == 'boolean') {
		if (requestSubmitted == true) {
			return;
		}else {
			requestSubmitted=true;
		}
	}
	
	if (!document.getElementById('p')) {
		if (popWin !=null && !popWin.closed) {
			return;
		}
	}
	
	clrSrvErr();
	//when there is more than one form on a page only check the values for that form by passing the form name
	if(document.forms[xForm]){
		srchErr('false', xForm);
		srchErr(totErr, xForm);
	}else{
		srchErr('false');
		srchErr(totErr);
	}
	//alert('totErr after val = ' + totErr[0])
		
	if (totErr[0]>1) {
		if (typeof requestSubmitted == 'boolean') {
			requestSubmitted = false;
		}
		mainVal = document.getElementById('mainerr');
		mainVal.style.display='';
		
		if(mainVal.className.indexOf('ab_content') >= 0){
			//if this is in an alert bubble make sure the other divs are set to display
			//alert('validateForm found ab');
			mainVal.parentNode.style.display = ''
			if(sDynamicMainErr != ''){
				mainVal.innerHTML = "<span class='err'>"+sDynamicMainErr+"</span>";
			}else{
				mainVal.innerHTML = "<span class='err'>"+sErrMain+"</span>";
			}
		}else{
			mainVal.className='w';
			mainVal.innerHTML = "<div class='fD'><p class='err'>"+sErrMain+"</p></div>";
		}
		//mainVal.visibility='visible';
		
		
		//what is this??? why do we display the errors different for the browsers???
		if (this.chkBrowser("safari")) {
			if (document.getElementById('navSearch')) {
				navSearch.focus();
				navSearch.blur();
			}
		}
		
		if (this.chkBrowser("msie") && this.chkBrowser("windows")) {
			if (document.getElementById('blueHeader')) {
				focLocX=document.getElementById('blueHeader');
				focLocX.focus();
			}	
		}else {
			if (!this.chkBrowser("safari")) {
				if (document.getElementById('topanc')) {
					document.getElementById('topanc').focus();	
				}	
			}	
		}
		
		if (this.chkBrowser("msie") && this.chkBrowser("mac")) {
			if (document.getElementById('navSearch')) {
				focLocX=document.getElementById('navSearch');
				focLocX.focus();
				focLocX.blur();
			}
		}
	}
	
	if (totErr[0] == 1){
		if (typeof requestSubmitted == 'boolean') {
		requestSubmitted = false;
		}
		focField = document.getElementById(totErr[1]);		
		focField.focus();
	}
	
	if (totErr[0] == 0){
		if (typeof requestSubmitted == 'boolean') {
			requestSubmitted = true;
		}
		if (xForm == 'shopInputForm' || xForm == 'lightboxform'){
			if(document.getElementById("shop_from0")&& document.getElementById("shop_to0")) {
				var shopFrom0Val = document.getElementById("shop_from0").value;
				var shopTo0Val = document.getElementById("shop_to0").value;
				shopFrom0Val = shopFrom0Val.replace("(","");
				shopTo0Val = shopTo0Val.replace("(","");
				document.getElementById("shop_from0").value=shopFrom0Val;
				document.getElementById("shop_to0").value=shopTo0Val;
			}
			if(document.getElementById('refundable') != null) {
				if(document.getElementById('refundable').checked){
					document.getElementById('serviceclass').value = document.getElementById('cabinclass').value+"-REFUNDABLE";			
				}else{
					document.getElementById('serviceclass').value = document.getElementById('cabinclass').value+"-NON-REFUNDABLE";
				}
			}
			
			if (xForm == 'shopInputForm'){
				submitForm('search');
			}else{
				submitFormForLB('search');
			}
			return;
		}
		if (xForm =='purchase') {
			requestSubmitted = true;
			revType=1;
			dimButton(1);
			return;
		}
		if (xForm =='provres') {
			requestSubmitted = true;
			revType=2;
			dimButton(2);
			return;
		}
		if (xForm =='flyted') {
			submitForm('search');
			return false;
		}
		if (xForm =='award') {
			if((document.getElementById("userId") && document.getElementById("password"))
					&& (document.getElementById("userId").value!="" 
						|| document.getElementById("password").value!="" ))
			{
				var str="&lang="+document.getElementById("awardlang").value;
				if(document.getElementById("awardstamp")){
					str+="&stamp=/"+document.getElementById("awardstamp").value;
				}
				document.shopInputForm.action ="https://www.ua2go.com/ci/DoLogin.jsp?return_to=ibe_bridge&fwdPath=compactSearch"+str;
				document.shopInputForm.method="post";
				document.shopInputForm.submit();
				return false;
			}
			else{
				submitForm('search');
				return false;
				}
		}
		if (xForm =='flifo') {
			submitForm('flightStatusForm');
			return false;
		}
		if (xForm =='tripTemplateForm') {
			subTTForm('save');
			return false;
		}
		
		if (xForm =='mpaddr') {
			callAddrChange();
			return false;
		}
		if (xForm =='credit'){
			chgCardType();
		} else {
			document.forms[xForm].submit();
		}
	}		
}
 
function srchErr(chkClr,formName) {
	totErr[0]=0;
  	var formObj = document;
  	if(formName){
  		formObj = document.forms[formName];
  	}
  	arrLab=formObj.getElementsByTagName('label');
	
	for(var i=0; i<arrLab.length; i++) {
	   yName = arrLab[i].id;
		if (yName) {
			xName = arrLab[i];
			//added by Chuck for future use to help make this page reusable
		    if (xName.htmlFor != '') {
		         var elem = document.getElementById(xName.htmlFor);
		         if(elem){elem.label = xName};
		    }

			if (xName.id.indexOf("label-") > -1 && xName.className.indexOf("noValidate") < 0) {
				xDefs=xName.id.split("-");
				// xDefs[1] = input field name
				// xDefs[2] = type of error
				// xDefs[3] = err field name
				if (chkClr != 'false'){
					//label ID example: label-passenger0-adlt-errloc7
					//errList arguments = inputID, validation Type, the label id, error display location id, error Count array
					cntErrs(errList(xDefs[1],xDefs[2],arrLab[i].id,xDefs[3]),totErr);
					//alert('totErr after srchErr = ' + totErr[0])
				}
				else {
					//remove all errors								
					lblVal = arrLab[i];
					lblVal.className='';
					errVal = document.getElementById(xDefs[3]);
					errVal.innerHTML = '';
					errVal.className='hide';
				}					
		 	}
		}
	}
	if (chkClr = 'false') {
		mainVal = document.getElementById("mainerr");
		mainVal.innerHTML = '';
		if(mainVal.className.indexOf('ab_content') >= 0){
			mainVal.parentNode.style.display = 'none'
		}else{
			mainVal.className='hide';
		}
		//mainVal.visibility='none';
	}
	return totErr;
}

function cntErrs(idToFoc) {
	if (idToFoc){
		totErr[0]++
		totErr[1]=idToFoc;
	}
	return totErr;
}

// begin err Types
function errList(inpField,errT,lblField,errField) {

	if (errT == 'valNrUsrPwd'){
		fltField="";	
		fltField=inpField.substring(0,inpField.length);	
		var fltErrCnt=0;
		var searchValue = trim(document.getElementById(inpField.replace(/^\s*|\s*$/g,'')).value); 
		if(document.getElementById("userId").value!="" || document.getElementById("password").value!="" ){
			if(fltField=="userId" ){					
				if (searchValue.length == 0){	
					errMsg = 'sErrMsg'+fltField+'_req'; 
					fltErrCnt=fltErrCnt+1;
					errVal = document.getElementById(errField);	
					errVal.className='err';
					lblVal = document.getElementById(lblField);
					lblVal.className='err';	
					errCon = errVal.innerHTML;
					if (!errCon){
						errVal.innerHTML = eval(errMsg);
					}else{
						errVal.innerHTML = errVal.innerHTML + '<br>' 
						errVal.innerHTML = errVal.innerHTML + eval(errMsg);
					}						
				}else if ((/^\d{1,11}$/.test(searchValue))){
					
					while (searchValue.length<11) {searchValue="0"+searchValue} ; //pad left with 0 until length 11				
					
					if (validateMP(searchValue)==false){		
						errMsg = 'sErrMsgInvalidMPNumber';				
						fltErrCnt=fltErrCnt+1;
						errVal = document.getElementById(errField);	
						errVal.className='err';
						lblVal = document.getElementById(lblField);
						lblVal.className='err';
						errCon = errVal.innerHTML;
						if (!errCon) {
							errVal.innerHTML = eval(errMsg);
						}else{
							errVal.innerHTML = errVal.innerHTML + '<br>' 
							errVal.innerHTML = errVal.innerHTML + eval(errMsg);
						}
					}
				}else{ 
					if (!validateEml(searchValue)){ 	
						errMsg = 'sErrMsgInvalidMPNumberOrMailAddress';	
						fltErrCnt=fltErrCnt+1;
						errVal = document.getElementById(errField);	
						errVal.className='err';
						lblVal = document.getElementById(lblField);
						lblVal.className='err';
						errCon = errVal.innerHTML;
						if (!errCon){
							errVal.innerHTML = eval(errMsg);
						}else{
							errVal.innerHTML = errVal.innerHTML + '<br>' 
							errVal.innerHTML = errVal.innerHTML + eval(errMsg);
						}
					}
				}
			}
			if(fltField=="password"){	
				if (searchValue.length == 0){
					fltErrCnt=fltErrCnt+1;	
					errMsg = 'sErrMsg'+fltField+'_req';
					errVal = document.getElementById(errField);	
					errVal.className='err';
					errCon = errVal.innerHTML;
					lblVal = document.getElementById(lblField);
					lblVal.className='err';
					if (!errCon){				
						errVal.innerHTML = eval(errMsg);
					}else{				
						errVal.innerHTML = errVal.innerHTML + '<br>' 
						errVal.innerHTML = errVal.innerHTML + eval(errMsg);
					}	
				}							
			}
			if (fltErrCnt > 0){ 
				if (document.getElementById('srvErrReq')){	
					lblVal = document.getElementById('srvErrReq')				
					lblVal.className='err';		
				}
				return inpField;
			}
		}					
	}
	
	if (errT == 'flt') {
		var fltErrCnt=0;
		chkFldName=inpField.charAt(inpField.length-1);
		if(inpField.indexOf("_temp")!=-1){
			chkFldName=inpField.charAt(inpField.length-6);
		}
		
		if (chkFldName < 2) {
			chkVal=document.getElementById(inpField);
			if(inpField.indexOf("_temp")!=-1){
				var tempField = inpField.substring(0,inpField.length-5);
				chkVal=document.getElementById(tempField);
			}		
			isalpha = /^[a-zA-Z'"-,. ]+$/.test(chkVal.value);
			fltField=inpField.substring(0,inpField.length-1);
			if(inpField.indexOf("_temp")!=-1){				
				fltField=inpField.substring(0,inpField.length-6);
			}
			if (!fltMaxLen){
				fltMaxLen=3;
			}
			if (chkVal.value.length < fltMaxLen) {
				if (chkVal.value == 0) {
					errMsg = eval('sErrMsg'+fltField+'_req');
				}
				else {
					errMsg = eval('sErrMsg'+fltField+'_len');	
				}
				
				fltErrCnt=fltErrCnt+1;
				spcErrHandle(inpField,errT,lblField,errField,errMsg);
			}			
			
			// numeric
			if (isalpha==false && chkVal.value.length > 0) {
				errMsgAlpha = eval('sErrMsg'+fltField+'_alpha');
				fltErrCnt=fltErrCnt+1;
				spcErrHandle(inpField,errT,lblField,errField,errMsg);
			}
		}	
		
		if (fltErrCnt > 0) { 
			if (document.getElementById('srvErrReq')){	
					lblVal = document.getElementById('srvErrReq')				
					lblVal.className='err';		
			}
		return inpField;
		}	
	}

	if (errT == 'adlt') {	
		
		if (inpField == 'passenger0') {
			chkAdl = document.getElementById('passenger0');
			chkSen = document.getElementById('passenger1');
			chkChd = document.getElementById('passenger2');
			if (document.getElementById('passenger3')) {
				chkInfL = document.getElementById('passenger3');
			}
			//chkInfS = document.getElementById('passenger4');
			//if (document.getElementById('passenger3')){
			if (parseInt(chkAdl.value) < 1 && parseInt(chkSen.value) <1) {
				
				if (parseInt(chkChd.value) <1 && parseInt(chkSen.value) <1){  //&& parseInt(chkInfL.value)<1)
					errMsg = sErrMsgpassenger0;
					lblPass=document.getElementById('label-passenger0-adlt-errloc7');
					lblPass.className = 'err';
					lblPass=document.getElementById('label-passenger1-adlt-errloc7');
					lblPass.className = 'err';
					errVal = document.getElementById(errField);
					errVal.style.display='';
					errVal.innerHTML = errMsg;
					errVal.className='err';
					
					return inpField;
				}
			}
			//}
		}
		
		if (inpField =='passenger1') {
			chkPas0 = document.getElementById('passenger0');	
			chkPas1 = document.getElementById('passenger1');
			chkPas2 = document.getElementById('passenger2');

			//chkPas4 = document.getElementById('passenger4');
			var totPass=0;
			//var passNumTot=0;
			
			totPass += parseInt(chkPas0.value);
			totPass += parseInt(chkPas1.value);
			totPass += parseInt(chkPas2.value);
			var numOfFields = 3;
			
			if (document.getElementById('passenger3')) {
				chkPas3 = document.getElementById('passenger3');
				totPass += parseInt(chkPas3.value);
				numOfFields = 4;
			}
//			// chkPas4 = document.getElementById('passenger4');
// var totPass=0;
// var passNumTot=0;
// arrPass=document.getElementsByTagName('select');
// for (var addP = 0; addP < arrPass.length; addP++) {
// if (/passenger/.test(arrPass[addP].name)) {
// passNumTot=passNumTot+1;
// }
// }
// for(var addP=0; addP<passNumTot; addP++) {
// totPass=totPass+parseInt(eval('chkPas'+addP).value);
//			   
// }
			if (totPass > 9) {
				errMsg = 'sErrMsgpassenger4';  
			    for(var i=0; i<numOfFields; i++) {
			       var psngrCnt = parseInt(eval('chkPas'+i).value);
                   if ( psngrCnt > 0 ) {
				      lblPass = document.getElementById('label-passenger'+i+'-adlt-errloc7');
                      lblPass.className = 'err';
                   }
			    }
				
				errCon1 = errVal.innerHTML;
				errVal = document.getElementById(errField);
				errVal.className='err';
				if (errCon1) {
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				
				return inpField;
			}
		}
		
		if (inpField =='passenger2') {
			chkAdl = document.getElementById('passenger0');
			chkSen = document.getElementById('passenger1');
			chkInf = document.getElementById('passenger2');
	
			if (parseInt(chkAdl.value) < 1 && parseInt(chkSen.value) < 1 && parseInt(chkInf.value)> 0) {
				errMsg = 'sErrMsgpassenger1';
				lblPass=document.getElementById('label-passenger0-adlt-errloc7');
				lblPass.className = 'err';
				lblPass=document.getElementById('label-passenger1-adlt-errloc7');
				lblPass.className = 'err';
				if (parseInt(chkInf.value) > 0) {
					lblPass=document.getElementById('label-passenger2-adlt-errloc7');
					lblPass.className = 'err';
				}
				
				errVal = document.getElementById(errField);
				errCon2 = errVal.innerHTML;
				errVal.className='err';
				if (errCon2) {
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				errVal.style.display='';
				return inpField;
			}
		
		}
		
		if (inpField =='passenger3' && document.getElementById('passenger3')) {
			chkAdl = document.getElementById('passenger0');
			chkSen = document.getElementById('passenger1');
			chkInf = document.getElementById('passenger3');
	
			if ((parseInt(chkAdl.value) + parseInt(chkSen.value))< (parseInt(chkInf.value))) {
				errMsg = 'sErrMsgpassenger3';
				lblPass=document.getElementById('label-passenger0-adlt-errloc7');
				lblPass.className = 'err';
				lblPass=document.getElementById('label-passenger1-adlt-errloc7');
				lblPass.className = 'err';
				if (parseInt(chkInf.value) > 0) {
					lblPass=document.getElementById('label-passenger3-adlt-errloc7');
					lblPass.className = 'err';
				}
				errVal = document.getElementById(errField);
				errCon3 = errVal.innerHTML;
				errVal.className='err';
				if (errCon3) {
					
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				errVal.style.display='';
				return inpField;
			}
		}
		
		if (inpField =='passenger4') {
			chkAdl = document.getElementById('passenger0');
			chkSen = document.getElementById('passenger1');
			chkInf = document.getElementById('passenger4');
			
			if (parseInt(chkAdl.value) <1 && parseInt(chkSen.value)< 1 && parseInt(chkInf.value)> 0) {
				errMsg = 'sErrMsgpassenger2';
				lblPass=document.getElementById('label-passenger0-adlt-errloc7');
				lblPass.className = 'err';
				lblPass=document.getElementById('label-passenger1-adlt-errloc7');
				lblPass.className = 'err';
				if (parseInt(chkInf.value) > 0) {
					lblPass=document.getElementById('label-passenger4-adlt-errloc7');
					lblPass.className = 'err';
				}
				errVal = document.getElementById(errField);
				errCon4 = errVal.innerHTML;
				errVal.className='err';
				if (errCon4) {
					
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				errVal.style.display='';
				return inpField;
			}
		}
		//end adlt	
	}
	
	if (errT == 'awardpass') {	
		
	   if (inpField == 'passenger0') {
			chkAdl = document.getElementById('passenger0');
		if (document.getElementById('passenger1')) {
			chkInf = document.getElementById('passenger1').value;
		}
		else {
			chkInf=0;
		}
			if (parseInt(chkAdl.value) < 1 && parseInt(chkInf)<1) {
				errMsg = 'sErrMsgpassenger0';
		   	lblPass=document.getElementById('label-passenger0-awardpass-errloc7');
				lblPass.className = 'err';
				errVal = document.getElementById(errField);
				errVal.innerHTML = eval(errMsg);
				errVal.className='err';
				if (parseInt(chkInf.value) > 0) {
					lblPass=document.getElementById('label-passenger0-awardpass-errloc7');
					lblPass.className = 'err';
				}
				errVal.style.display='';
				return inpField;
			}
		}
		if (inpField =='passenger1') {
			chkAdl = document.getElementById('passenger0');
			chkSen = document.getElementById('passenger1');
			chkInf = document.getElementById('passenger2');
			
			if ((parseInt(chkAdl.value) + parseInt(chkSen.value))< (parseInt(chkInf.value))) {
				errMsg = 'sErrMsgpassenger3';
				lblPass=document.getElementById('label-passenger0-awardpass-errloc7');
				lblPass.className = 'err';
				lblPass=document.getElementById('label-passenger1-awardpass-errloc7');
				lblPass.className = 'err';
				
				errVal = document.getElementById(errField);
				errCon3 = errVal.innerHTML;
				errVal.className='err';
				if (errCon3) {			
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				errVal.style.display='';
				return inpField;
			}
			
			chkPas0 = document.getElementById('passenger0');	
			chkPas1 = document.getElementById('passenger1');
			var totPass=0;
			for(var addP=0; addP<2; addP++) {
			   totPass=totPass+parseInt(eval('chkPas'+addP).value);
			}
			if (totPass > 9) {
				errMsg = 'sErrMsgpassenger4';  
					errVal = document.getElementById(errField);
			    for(var i=0; i<2; i++) {
			       var psngrCnt = parseInt(eval('chkPas'+i).value);
                   if ( psngrCnt > 0 ) {
				      	 lblPass = document.getElementById('label-passenger'+i+'-awardpass-errloc7');
                      lblPass.className = 'err';
                   }
			    }
				errVal = document.getElementById(errField);
				errCon1 = errVal.innerHTML;
				errVal.className='err';
				if (errCon1) {
					errVal.innerHTML = errVal.innerHTML + '<br>' 
					errVal.innerHTML = errVal.innerHTML + eval(errMsg);
				}
				else {
					errVal.innerHTML = eval(errMsg);
				}
				errVal.style.display='';
				return inpField;
			}
		}
		//end award passenger check	
	}
	
	
	if (errT == 'prom') {
	   promErr=0;
		isalpha ='';
		chkVal=document.getElementById(inpField);
		chkVal.value = chkVal.value.removeFromString(' ');
		if (chkVal.value){
		isalpha = /^[a-zA-Z,0-9_*]+$/.test(chkVal.value);
		}
		else isalpha='true';
		
		if (chkVal.value.length > 42 || isalpha==false) {
         promErr=1;
		}
		chkPromo = new Array();
		var chkPromo = chkVal.value.split(',');
		//alert(chkPromo.length);
		if (chkPromo.length >2){
		 	promErr = 2;	
		}
		if (chkPromo[0]) {
			if (chkPromo[0].length >20) {
				promErr = 3;
			}
		}		
		if (chkPromo[1]) {
		if (chkPromo[1].length >20) {
				promErr = 3;
			}
		}	
		
		if (promErr == 1) {
			errMsg=sErrMsgpromocode;
			spcErrHandle(inpField,errT,lblField,errField,errMsg);
		}
		if (promErr == 2) {
			errMsg=sErrMsgMaxNumberOfPromos;
			spcErrHandle(inpField,errT,lblField,errField,errMsg);
		}
	
		if (promErr == 3) {
			errMsg=sErrMsgpromoMaxLength;
			spcErrHandle(inpField,errT,lblField,errField,errMsg);
		}
		if (promErr >0) {
			return inpField;
		}
	}
	
	if (errT == 'fName') {
		chkMinReqVal=1;
		fltField=inpField.substring(inpField.length-1,inpField.length);
		errMsg = eval('sErrMsggenPass'+fltField);	
		chkVal=document.getElementById(inpField);
		chkVal.value=chkVal.value.trim();
		isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
		if (fltField=='0') {chkMinReqVal = 1}
		else {chkMinReqVal = 2}
		 if (chkVal.value.length < chkMinReqVal) {
		 	spcErrHandle(inpField,errT,lblField,errField,errMsg);
			return inpField;
		 }
		 if (isalpha == false) {
		 	if (fltField=='0') {
				errMsg = sErrMsgfNameAlpha;
				}
			else {
				errMsg = sErrMsglNameAlpha;
			}
		 	spcErrHandle(inpField,errT,lblField,errField,errMsg);
			return inpField;
		 }
	}
	
	if (errT == 'fNameMP') {
		fltField=inpField.substring(inpField.length-1,inpField.length);
		errMsg = eval('sErrMsggenPass'+fltField);	
		lblFld =inpField.substring(inpField.length-2,inpField.length);
		chkVal=document.getElementById(inpField);
		isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
		//alert(errField.innerHTML);
		errVal = document.getElementById(errField);
		errCon1 = errVal.innerHTML;
		
		 if (chkVal.value.length < 2) {
		 	lblPass = document.getElementById('label-genPass'+lblFld+'-fNameMP-errloc1');
         lblPass.className = 'err';
			if (!errCon1) {
				errMsg=sErrMsggenPassMP;
				spcErrHandle(inpField,errT,lblField,errField,errMsg);
			}
			return inpField;
		 }
		 if (isalpha == false) {
		 	if (fltField=='0') {
				errMsg = sErrMsgfNameAlpha;
				}
			else {
				errMsg = sErrMsglNameAlpha;
			}
		 	spcErrHandle(inpField,errT,lblField,errField,errMsg);
			return inpField;
		 }
	}
	if (errT == 'mName') {
		fltField=inpField.substring(inpField.length-1,inpField.length);
		errMsg = eval('sErrMsggenPass'+fltField);
		chkVal=document.getElementById(inpField);
		if (chkVal.value) {
			isalpha = /^[ a-zA-Z]+$/.test(chkVal.value);
	 		if (isalpha == false) {
	 			spcErrHandle(inpField,errT,lblField,errField,errMsg);
				return inpField;
		 	}
		}	
	}
	
	// SFA - II Starts
	
	// DOB Validation

	if(errT == 'sfaDOB'){
		
	dobFld =inpField.substring(inpField.length-1,inpField.length);
	var sfdbchecked = false;
	if(null != document.getElementById("checksfdb0")){
		sfdbchecked = document.getElementById("checksfdb0").checked;
	}
	
	if((document.getElementById("dobDisplay"+dobFld).style.display=="") && ((dobFld == '0' && sfdbchecked) || mandatoryDOB)){
			var monthSelected = document.forms['reviewInputForm'].elements["secureFlightForm("+dobFld+").birthMonth"].selectedIndex;
			var daySelected = document.forms['reviewInputForm'].elements["secureFlightForm("+dobFld+").birthDay"].selectedIndex;
			var yearSelected = document.forms['reviewInputForm'].elements["secureFlightForm("+dobFld+").birthYear"].selectedIndex;
			if(inpField == 'dateOfBirth'+dobFld){
				if((monthSelected == 0) || (daySelected == 0) || (yearSelected == 0))
				{
					if(inpField == 'dateOfBirth'+dobFld)
					{	
						if(mandatoryDOB)
							errMsg = eval('sErrMsgselDOB');
						else
							errMsg = eval('sErrMsgselDOBSave');
						spcErrHandle('dateOfBirth'+dobFld,errT,'label-dateOfBirth'+dobFld+'-sfaDOB-errloc11'+dobFld,errField,errMsg);
						return inpField;
					}
				}
			}
		}
	}	
		
	//Gender
	if(errT == 'sfaGender'){
		genFld =inpField.substring(inpField.length-7,inpField.length-6);
		var sfdbchecked = false;
		if(null != document.getElementById("checksfdb0")){
			sfdbchecked = document.getElementById("checksfdb0").checked;
		}
		if((document.getElementById("genDisplay"+dobFld).style.display=="") && ((dobFld == '0' && sfdbchecked) || mandatoryGender)){
			errMsg = eval('sErrMsgselGender');
			chkVal=document.getElementById(inpField).selectedIndex;
			if(inpField == 'genPass'+genFld+'gender'){
				if(chkVal == 0)
				{
					if(mandatoryGender)
						errMsg = eval('sErrMsgselGender');
					else
						errMsg = eval('sErrMsgselGenderSave');	
					spcErrHandle('genPass'+genFld+'gender',errT,'label-genPass'+genFld+'gender-sfaGender-errloc11'+genFld,errField,errMsg);
					return inpField;
				}
			}
		}
	}
	
	// SFA - II Ends
	
	// Redress
	if (errT == 'redressMP' || errT == 'redress') {
		errMsg = eval('sErrMsgRedressAlpha');
		chkVal=document.getElementById(inpField);
		if (chkVal.value) {
			isalpha = /^[ a-zA-Z0-9]+$/.test(chkVal.value);
	 		if (isalpha == false) {
	 			spcErrHandle(inpField,errT,lblField,errField,errMsg);
				return inpField;
		 	}
		}	
	}
	if (errT == 'pllDwn') {
		chkPMenu=document.getElementById(inpField);
		if (chkPMenu.selectedIndex==0) {
			regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		}
	}
	
	if (errT == 'cmpDate') {	
			var fYear = document.getElementById('fromyear').value;
			var fMonth = document.getElementById('frommonth').value;
			var fDay = document.getElementById('fromday').value;
			var tYear = document.getElementById('toyear').value;
			var tMonth = document.getElementById('tomonth').value;
			var tDay = document.getElementById('todate').value;
	   		var fromDate = new Date(fYear, fMonth, fDay);
	   		var thruDate = new Date(tYear, tMonth, tDay);

  			if (thruDate < fromDate) {
    			regErrHandle(inpField,errT,lblField,errField);
				return inpField;
  			}		
		}
	
	if (errT == 'chkReq') {
		chkVal=document.getElementById(inpField);
		if (chkVal.style.display != 'none' && chkVal.value.length < 1) {
	 			regErrHandle(inpField,errT,lblField,errField);
				return inpField;
		 }	
	}
	
	if (errT == 'purcAddr' || errT == 'purcAddrInt') {
		addrErrflg = ""; 
		purErrCnt = 0;
		if (errT == 'purcAddr' && document.getElementById('label-billTitle-none-errloc1')){//domestic only
			chkVal=document.getElementById('billTitle');
			if (document.getElementById('mpenroll')) {
				chkChkBox=document.getElementById('mpenroll');
					
				if (chkVal.value=='none' && chkChkBox.checked==true) {
					purErrCnt++;
					spcErrHandle(inpField,errT,'label-billTitle-none-errloc1',errField,sErrMsgbillTitle);
				}	
			}
		}
		
		chkVal=document.getElementById('firstName');
		isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
		if (chkVal.value.length < 1 || isalpha == false) {
			purErrCnt++;;		
			if (document.getElementById('label-firstName-none-errloc1')) {		
				lblField = 'label-firstName-none-errloc1';
			}else if (document.getElementById('label-firstName-purcAddr-errloc1')) {		
				lblField = 'label-firstName-purcAddr-errloc1';
			}
			spcErrHandle(inpField,errT,lblField,errField,sErrMsgfirstName);
		}		
		
		chkVal=document.getElementById('lastName');
		isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
		if (chkVal.value.length < 2 || isalpha == false) {
		 	purErrCnt++;;					
			spcErrHandle(inpField,errT,'label-lastName-none-errloc1',errField,sErrMsglastName);
		}		
		
		chkVal=document.getElementById('billingAddressOne');
		//chkVal.value = chkVal.value.replace(/[#\-,\.]/g,' ');
		chkVal.value = chkVal.value.replace(/[\(\)'\-;:,\.\/%#+=]/g,' ');//updated to strip out all the valid special characters the following: ()'-;:,/%#+=
		chkVal.value = chkVal.value.trim();
		re = /^[0-9a-zA-Z' ]+$/
		if (chkVal.value.length < 1) { 
	 		purErrCnt++;
	 		addrErrflg = true;		
			spcErrHandle('billingAddressOne',errT,'label-billingAddressOne-none-errloc1',errField,sErrMsgbillingAddressOne_required);
		}else if(!re.test(chkVal.value) || chkVal.value.length < 2){
	 		purErrCnt++;			
	 		addrErrflg = true;				
		}
		
		if (document.getElementById('billingAddressTwo')) {
			chkVal=document.getElementById('billingAddressTwo');
			//chkVal.value = chkVal.value.replace(/#/g,' ');
			chkVal.value = chkVal.value.replace(/[\(\)'\-;:,\.\/%#+=]/g,' ');//updated to strip out all the valid special characters the following: ()'-;:,/%#+=
			chkVal.value = chkVal.value.trim();
			if (chkVal.value.length > 0 && (!re.test(chkVal.value) || chkVal.value.length < 2)){
	 			purErrCnt++;
	 			addrErrflg = true; 
			}			
		}
		if (addrErrflg == true){
				spcErrHandle('billingAddressOne',errT,'label-billingAddressOne-none-errloc1',errField,sErrMsgmpstreetaddress_format);			
		}
				
		chkVal=document.getElementById('city');
		chkVal.value = chkVal.value.replace(/[,-]/g,' ');//CITY should strip out the following 2 characters: ,-
		isalpha = /^[a-zA-Z .#]+$/.test(chkVal.value);
		if (chkVal.value == '') {
			purErrCnt++;
			spcErrHandle('city',errT,'label-city-none-errloc1',errField,sErrMsgcity_required);
		} else if (!isalpha) {
			purErrCnt++;
			spcErrHandle('city',errT,'label-city-none-errloc1',errField,sErrMsgcity);
		}

		if((document.getElementById('country') && document.getElementById('country').value=='US') || (document.getElementById('countryCode') && document.getElementById('countryCode').value=='US')) {
			//if (document.getElementById('country').value=='US' || document.getElementById('country').value=='CA'){

				document.getElementById('state').value = document.getElementById('state').value.trim();
				chkVal=document.getElementById('state');
				if (chkVal.value.trim().length != 2) {
					purErrCnt++;
					if (document.getElementById('label-stLbl-none-errloc1')) {
						purErrCnt++;
						spcErrHandle('state',errT,'label-stLbl-none-errloc1',errField,sErrMsgInvalidState);
					}
				}
			//}
				chkVal=document.getElementById('zip');
				isalpha = /^[0-9- ]+$/.test(chkVal.value);
				if (chkVal.value.length < 5 || isalpha == false ) {
					purErrCnt++;
					spcErrHandle('zip',errT,'label-zip-none-errloc1',errField,sErrMsgzip);
				}
				//check if starts with '00000'				
				isNum = /^0{5}/.test(chkVal.value);
				if (isNum == true ) {
					purErrCnt++;
					spcErrHandle('zip',errT,'label-zip-none-errloc1',errField,sErrAllZeroesMsgzip);
				}
		}
		
		else if((document.getElementById('country') && document.getElementById('country').value=='CA') || (document.getElementById('countryCode') && document.getElementById('countryCode').value=='CA')) {
		   chkVal=document.getElementById('state');
				if (chkVal.value.length != 2) {
					purErrCnt++;
					if (document.getElementById('label-stLbl-none-errloc1')) {
						purErrCnt++;
						spcErrHandle('state',errT,'label-stLbl-none-errloc1',errField,sErrMsgInvalidState);
					}
				}
				chkVal=document.getElementById('zip');
				if (!isCAPostCode(chkVal.value)) {
					purErrCnt++;
					spcErrHandle('zip',errT,'label-zip-none-errloc1',errField,sErrMsgpostalcode_format_ca);
				}
		}
		else if(document.getElementById('country') && document.getElementById('country').value=='') {
			purErrCnt++;
			spcErrHandle('country',errT,'label-zip-none-errloc1',errField,sErrMsgCountryRequired);
		}
				
		//if(document.getElementById('country')) {
			//if (document.getElementById('country').value=='US' || document.getElementById('country').value=='CA'){
			//}
			//else {
			//do nothing for other countries zip
			//}
		//}
		
		else {
		if( document.getElementById('zip')){ 
			//chkVal=document.getElementById('zip');
			//isalpha = /^[0-9- ]+$/.test(chkVal.value);
			 //if (chkVal.value.length > 0 || isalpha == false ) {
				//	purErrCnt++;
					//spcErrHandle('zip',errT,'label-zip-none-errloc1',errField,sErrMsgzip);
			// }
		 }
		}
		if (purErrCnt > 0) {
			//errVal = document.getElementById('errloc1');
			//errVal.className='err';
			//errMsg = sErrMsgInvalidAddress1;
			//errCon = errVal.innerHTML;
			//if (!errCon){
				//errVal.innerHTML = errMsg;
			//}
			//else {
				//errVal.innerHTML = errVal.innerHTML + '<br>' + errMsg;
			//}
			//if (purErrCnt == 1) {
			//	return inpField;
			//}
			//else {
			//	inpField = 'firstName';		
			//	return inpField;
			//}
			//alert('purErrCnt = ' + purErrCnt)
			if (purErrCnt > 1){
				totErr[0] = purErrCnt;
				inpField = 'firstName';
			}
			//alert('purErrCnt = ' + purErrCnt + ' totErr[0] = ' + totErr[0] + ' inpField = ' + inpField )
			return inpField;
		}	
		 	
	}
	
	if(errT == 'billMeLater'){
		purErrCnt = 0;
		if(inpField == 'bmssn' || inpField == 'bmdbMonth'){
			var monthSelected = document.getElementById('bmdbMonth').selectedIndex;
			var daySelected = document.getElementById('bmdbDay').selectedIndex;
			var yearSelected = document.getElementById('bmdbYear').selectedIndex;
			if((monthSelected == 0) || (daySelected == 0) || (yearSelected == 0)){
				purErrCnt++;
				spcErrHandle('bmdbMonth',errT,'label-bmdbMonth-billMeLater-bml_errloc11','bml_errloc11','');
				//lblPass = document.getElementById('label-bmdbMonth-billMeLater-bml_errloc11');
				//lblPass.className = 'err';
			}
			
			chkVal=document.getElementById('bmssn');
			isalpha = /^[0-9- ]+$/.test(chkVal.value);
			if (chkVal.value.length < 4 || isalpha == false ) {
				purErrCnt++;
				spcErrHandle('errField',errT,'label-bmssn-billMeLater-bml_errloc11','bml_errloc11','');
				//lblPass = document.getElementById('label-bmssn-billMeLater-bml_errloc11');
				//lblPass.className = 'err';
			}
			
			if(purErrCnt > 0){
				if(purErrCnt > 1) inpField = 'bmdbMonth';
				//totErr[0] = 0;
				document.getElementById('bml_errloc11').innerHTML = "";
				spcErrHandle(inpField,errT,'bml_errloc11','bml_errloc11',sErrMsgBmlDataVerify);
				return inpField;
			}
			
		}else if(inpField == 'IAgree'){
			
			chkVal=document.getElementById('IAgree');
			if(!chkVal.checked){
				//errMsg = sErrMsgInvalidAddress1;
				var tncErrMsg = sErrMsglblTermsAndCondition;
				//totErr[0] = 0;
				spcErrHandle('IAgree',errT,'bml_errloc2',errField,tncErrMsg);
				//purErrCnt++;
				
				var midPageRcBox = document.getElementById('midPage_errloc');
				midPageRcBox.innerHTML = tncErrMsg;
				midPageRcBox.style.display = '';
				midPageRcBox.parentNode.className = midPageRcBox.parentNode.className.replace(/hide/g,'')
				midPageRcBox.parentNode.style.display = '';
				return inpField;
			}
			
			
		}else{
			
			chkVal=document.getElementById('bmfirstName');
			isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
			if(chkVal.value.length < 1 ){
				purErrCnt++;					
				lblPass = document.getElementById('label-bmfirstName-billMeLater-bm_errloc1');
				lblPass.className = 'err';
			}		
			
			chkVal=document.getElementById('bmlastName');
			isalpha = /^[ a-zA-Z\'\-]+$/.test(chkVal.value);
			if(chkVal.value.length < 2 ){
				purErrCnt++;					
				lblPass = document.getElementById('label-bmlastName-none-bm_errloc1');
				lblPass.className = 'err';
			}		
			
			chkVal=document.getElementById('bmbillingAddressOne');
			chkVal.value = chkVal.value.replace(/[#\-,\.]/g,' ');
			if(chkVal.value.length < 1) {
		 		purErrCnt++;					
				lblPass = document.getElementById('label-bmbillingAddressOne-none-bm_errloc1');
				lblPass.className = 'err';
			}
			
			if(document.getElementById('bmbillingAddressTwo')){
				chkVal=document.getElementById('bmbillingAddressTwo');
				chkVal.value = chkVal.value.replace(/[#\-,\.]/g,' ');
			}
			
			
			chkVal=document.getElementById('bmcity');
			chkVal.value = chkVal.value.replace(/[#\-,\.]/g,' ');
			isalpha = /^[a-zA-Z .#]+$/.test(chkVal.value);
			if (chkVal.value == '' || !isalpha) {
				purErrCnt++;
				lblPass = document.getElementById('label-bmcity-none-bm_errloc1');
				lblPass.className = 'err';
				//spcErrHandle('bmcity',errT,'label-bmcity-none-bm_errloc1',errField,sErrMsgcity_required);
			}
			/* 
			 // else if (!isalpha) {
			//		purErrCnt++;
			//		//spcErrHandle('bmcity',errT,'label-bmcity-none-bm_errloc1',errField,sErrMsgcity);
			//	}
			*/
			
			if(document.getElementById('bmstate')){
				chkVal=document.getElementById('bmstate');
				isalpha = /^[a-zA-Z ,]+$/.test(chkVal.value);
				chkVal.value = chkVal.value.replace(/[#\-,\.]/g,' ');
				if(chkVal.value.length < 1 || isalpha == false){
					purErrCnt++;
					lblPass = document.getElementById('label-bmstate-none-bm_errloc1');//sErrMsgInvalidState
					lblPass.className = 'err';
					//spcErrHandle('bmstate',errT,'label-bmstate-none-bm_errloc1',errField,sErrMsgInvalidState);
				}
			}	
					
			if(document.getElementById('bmzip')){ 
				chkVal=document.getElementById('bmzip');
				isalpha = /^[a-zA-Z0-9- ]+$/.test(chkVal.value);
				if(chkVal.value.length < 1 || isalpha == false){
				 	purErrCnt++;
					lblPass = document.getElementById('label-bmzip-none-bm_errloc1');
					lblPass.className = 'err';
					//spcErrHandle('bmzip',errT,'label-bmzip-none-bm_errloc1',errField,sErrMsgzip);
				}
			}
		
			
			if(purErrCnt > 0){
				errMsg = sErrMsgInvalidAddress1;
				if(purErrCnt > 1) inpField = 'bmfirstName';
				//totErr[0] = 0;
				spcErrHandle(inpField,errT,'bm_errloc1','bm_errloc1',sErrMsgInvalidAddress1);
				return inpField;
			}
		}
		 	
	}
	
   if (errT == 'mpadd') {
	purErrCnt = 0;	
	document.getElementById('errloc0').innerHTML='';
	document.getElementById('errloc1').innerHTML='';
	document.getElementById('errloc2').innerHTML='';
	document.getElementById('errloc3').innerHTML='';
	
	if (document.getElementById('stLbl')) {
		document.getElementById('stLbl').className='';
	}
	if (document.getElementById('prvLbl')) {
		document.getElementById('prvLbl').className='';
	}
	if (document.getElementById('zipLbl')) {
		document.getElementById('zipLbl').className='';
	}
	if (document.getElementById('phoneLbl')) {
	     document.getElementById('phoneLbl').className='';
	}
	
	if (document.getElementById('label-billingAddressOne-mpadd-errloc0')) {
	     document.getElementById('label-billingAddressOne-mpadd-errloc0').className='';
	}
	if (document.getElementById('label-city-none-errloc0')) {
	     document.getElementById('label-city-none-errloc0').className='';
	}
	if (document.getElementById('pcLbl')) {
	     document.getElementById('pcLbl').className='';
	}
	if (document.getElementById('label-phoneCountryCode-none-errloc2')) {
	     document.getElementById('label-phoneCountryCode-none-errloc2').className='';
	}
	
	
	chkVal=document.getElementById('billingAddressOne');
	chkNoVal=chkVal.value.trim();
	addrFormatErr = false;
	re = /^[a-zA-Z0-9'-\.;: \(\)\/\%#+=]+$/
	 if (chkVal.value.length < 1 || chkNoVal.length < 1) { 		 
			purErrCnt++;
			spcErrHandle('billingAddressOne',errT,'label-billingAddressOne-mpadd-errloc0','errloc0',sErrMsgbillingAddressOne_required);
	 } else if (!re.test(chkNoVal)) { 
		 addrFormatErr = true;
		 purErrCnt++; 
		 spcErrHandle('billingAddressOne',errT,'label-billingAddressOne-mpadd-errloc0','errloc0',sErrMsgInvalidAddressformat);
	}
	
	if(!addrFormatErr) {
		//validate addr2
		chkVal=document.getElementById('billingAddressTwo');
		chkNoVal=chkVal.value.trim();
		re = /^[a-zA-Z0-9'-\.;: \(\)\/\%#+=]+$/
		if (chkNoVal.length >= 1&& !re.test(chkNoVal)) { 
			purErrCnt++;	
			spcErrHandle('billingAddressTwo',errT,'label-billingAddressOne-mpadd-errloc0','errloc0',sErrMsgInvalidAddressformat);
		}
		
	}
	
	chkVal=document.getElementById('city');
	chkVal.value=chkVal.value.trim();
	isalpha = /^[a-zA-Z ,\.-]+$/.test(chkVal.value);
	 if (chkVal.value.length < 1) {
		purErrCnt++;
		lblPass = document.getElementById('label-city-none-errloc0');
		lblPass.className = 'err';		
		errField='errloc1';
		lblField='label-city-none-errloc0';
		spcErrHandle(inpField,errT,lblField,errField,sErrMsgcity_required);  
	 }
	 else if (isalpha == false) {
		purErrCnt++;
		lblPass = document.getElementById('label-city-none-errloc0');
		lblPass.className = 'err';		
		errField='errloc1';
		lblField='label-city-none-errloc0';
		spcErrHandle(inpField,errT,lblField,errField,sErrMsgcityformat);
	 }
		
	if (document.getElementById('countryName').value == 'USA') {
		
		chkVal=document.getElementById('state'); 
		if (chkVal.value == '') {
			purErrCnt++;
			spcErrHandle('state',errT,'stLbl','errloc2',sErrMsgstateoprovince_required);
		}

		if (document.getElementById('zip')){ 
			chkVal=document.getElementById('zip'); 
			 chkVal.value=chkVal.value.trim();			 
			 if (chkVal.value == '') {
				 spcErrHandle('zip',errT,'zipLbl','errloc2',sErrMsgzipcode_required);
				 purErrCnt++;
			} else if (chkVal.value.length <5 ){
				purErrCnt++
				spcErrHandle('zip',errT,'zipLbl','errloc2',sErrMsgzip_format);

			} else if (isUSPostCode(chkVal.value)==false) {
				purErrCnt++;
				spcErrHandle('zip',errT,'zipLbl','errloc2',sErrMsgzip_format);
			}
		} 
		
	} //end USA special
	
	else if (document.getElementById('countryName').value == 'CAN') {
		
		chkVal=document.getElementById('province');
		isalpha = /^[a-zA-Z ,]+$/.test(chkVal.value);
			if (chkVal.value.length == 0) {
				purErrCnt++;
			 	spcErrHandle('province',errT,'prvLbl','errloc2',sErrMsgstateoprovince_required);
			}
		//}
		 if (document.getElementById('postalCode')){ 
				chkVal=document.getElementById('postalCode');
				//chkVal = chkVal.value.trim();
				if (chkVal.value == '') {				
				   purErrCnt++;
				   //alert("sErrMsgpostcode_required "+sErrMsgpostcode_required);
				   spcErrHandle('postalCode',errT,'pcLbl','errloc2',sErrMsgpostcode_required);
				   
				}
				else if (isCAPostCode(chkVal.value)==false ) {
					purErrCnt++;
					//lblPass = document.getElementById('pcLbl');
					//lblPass.className = 'err';
					spcErrHandle('postalCode',errT,'pcLbl','errloc2',sErrMsgpostalcode_format_ca);
				 }
			}

		} //end special CANADA  
		
		
	
	
	if (document.getElementById('telDomIposNumber')) {
		chkVal=document.getElementById('telDomIposNumber');
		if (chkVal.value.length < 1) {
			purErrCnt++;				
			spcErrHandle('phoneid',errT,'phoneLbl','errloc3',sErrMsgphone_required);
		}
		else {
			chkVal.value = chkVal.value.replace(/[\ \-\(\)]/g,'');//remove <sp> and dashes
			chkVal.value = chkVal.value.replace(/(ext|x)/gi,'');//remove x or ext
			isalpha = /^[0-9]{6,15}$/.test(chkVal.value);
			if (!isalpha ) {								
				lblPass = document.getElementById('phoneLbl');
				lblPass.className = 'err';
				purErrCnt++;
				spcErrHandle('phoneid',errT,'phoneLbl','errloc3',sErrMsgphone_format);
			}
		}
	}
	
	//validate phone countyr code
	chkVal=document.getElementById('phoneCountryCode');
	chkVal.value=chkVal.value.trim();
	isnum = /^[\d]{1,3}$/.test(chkVal.value);
	
	if (chkVal.value.length == 0 ) {
		purErrCnt++;
		spcErrHandle('phoneCntryCode',errT,'label-phoneCountryCode-none-errloc2','errloc3',sErrMsgphoneCountryCodeReq);
		
	} else if(!isnum){
		purErrCnt++;
		spcErrHandle('phoneCntryCode',errT,'label-phoneCountryCode-none-errloc2','errloc3',sErrMsgphoneCountryCode);
	}	
	
	if (purErrCnt > 0) {
	   return inpField;
	}
	
	if (errT == 'city') {
		chkVal=document.getElementById(inpField);
		isalpha = /^[a-zA-Z ,]+$/.test(chkVal.value);
		 if (chkVal.value.length < 1 || isalpha == false ) {
		 	regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		 }
	}
	if (errT == 'zipUS') {
		chkVal=document.getElementById(inpField);
		isalpha = /^[0-9- ]+$/.test(chkVal.value);
		 if (chkVal.value.length < 5 || isalpha == false ) {
		 	regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		 }
	}
	if (errT == 'promoZip') {
		purErrCnt=0;
		chkVal=document.getElementById(inpField);
		chkVal.value=chkVal.value.trim();
		 if (chkVal.value.length < 5 || chkVal.value.length >10) {
		 	errMsg = sErrMsgzipReq;
		 	spcErrHandle(inpField,errT,lblField,errField,errMsg);
			purErrCnt=purErrCnt+1;
		 }
		 isalpha = /^[0-9-A-Za-z]+$/.test(chkVal.value);
		 if (isalpha == false && chkVal.value !=0) {
		 	errMsg = sErrMsgzipcode;
		 	spcErrHandle(inpField,errT,lblField,errField,errMsg);
		 	purErrCnt=purErrCnt+1;
		 }
		 if (purErrCnt >0) {
		 	return inpField;
		 }	 
	} 
	
		if (errT == 'phone') {
		chkVal=document.getElementById(inpField);
		if (chkVal.id=='phonearea') {
		chkAltVal = document.getElementById('workarea');
		}
		else {
		chkAltVal = document.getElementById('phonearea');
		}
		chkLenVal = chkVal.value.replace(/[ -]/g,'');
		chkLenAltVal = chkAltVal.value.replace(/[ -]/g,'');
		
		isalpha = /^[0-9-()xXEextT ]+$/.test(chkVal.value);
		 
		 if (isalpha == false && chkLenVal.length >0) {
			spcErrHandle(inpField,errT,lblField,errField,sErrMsgPhoneAlpha);
			return inpField;
		 }	
		
		 if (chkLenVal.length==0 && chkLenAltVal.length==0) {
		 errCon = document.getElementById(errField).innerHTML;
		 if (!errCon){
				spcErrHandle(inpField,errT,lblField,errField,sErrMsgPhoneRequired);
				return inpField;
			}
			else {
				if (chkVal.id=='phonearea') {
					lblPass = document.getElementById('label-phonearea-phone-errloc4');
					lblPass.className = 'err';
				}
				else {
					lblPass = document.getElementById('label-workarea-phone-errloc4');
					lblPass.className = 'err';
				}
			}
		 }
		 if (chkLenVal.length>0 && chkLenVal.length<8) {
		 spcErrHandle(inpField,errT,lblField,errField,sErrMsgphonearea);
			return inpField;
		 }
	}

	}	
		
		
		
		
		// Release 3.4 : Added for IRROPS : Begin
		if (errT == 'notiNumber' && isNotiValidationTurnedOn) {
			chkVal=document.getElementById(inpField);
			
			if (chkVal != null && chkVal.value.length > 0) {
				var isValid = /^[1]?[(]?[0-9]{3}[)]?[-]?[0-9]{3}[-]?[0-9]{4}$/.test(chkVal.value);
				if (!isValid) {
					spcErrHandle(inpField, errT, lblField, errField, sErrMsgPhoneIncorrect);
					return inpField;
				}
			}
		}
		// Release 3.4 : Added for IRROPS : End
		
	if (errT == 'tripT') {
		chkVal=document.getElementById(inpField);		
		 if (chkVal.value.length < 2 || chkVal.value.length >45 ) {
		 	regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		 }
	}
	
	if (errT == 'eMail') {
		chkemail=document.getElementById('email').value.toLowerCase();
		chkver=document.getElementById('emailverify').value.toLowerCase();		
		emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|))$/i.test(chkemail);

		if (chkemail != chkver || chkemail.length < 7 || emailRe == false) {
			lblPass = document.getElementById('label-email-eMail-errloc4');
			lblPass.className = 'err';
			lblPass = document.getElementById('label-emailverify-no-errloc4');
			lblPass.className = 'err';	
			errVal = document.getElementById(errField);
			errVal.className='err';
			errMsg = 'sErrMsg'+inpField;
			errCon = errVal.innerHTML;
			if (!errCon){
				errVal.innerHTML = eval(errMsg);
			}
			else {
				errVal.innerHTML = errVal.innerHTML + '<br>' 
				errVal.innerHTML = errVal.innerHTML + eval(errMsg);
			}
			errVal.style.display='';
			return inpField;
		}	
	}

		if (errT == 'crdid') {
			chkcard=document.getElementById('cardIdNumber');
			chkVis=document.getElementById('secCode').style.display;
		
		if (chkVis != 'none') {
			crdType=document.getElementById('cardType').value;
			
			if (crdType == 'AX') {
				chkLnVal=4;
			}
			else {chkLnVal =3};
			
			if (chkcard.value.length < chkLnVal) {
				regErrHandle(inpField,errT,lblField,errField);
				return inpField;
			}
		}	
	} 
	if (errT == 'crddate') {
		today = new Date();
		crdy = document.getElementById('cardMonth').value;
		crdm = document.getElementById('cardYear').value;
		expiry = new Date(crdm, crdy);
		//alert(expiry);
		if (today.getTime() > expiry.getTime()) {
			regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		}
		
		isyynum = /^[0-9- ]+$/.test(crdy);
		ismmnum = /^[0-9- ]+$/.test(crdm);
		
		if (isyynum == false || ismmnum == false) {
			regErrHandle(inpField,errT,lblField,errField);
			return inpField;
		}
	}
	
	if (errT == 'accChg') {
		if (document.getElementById('userAccChg')) {
			accChg=document.getElementById('userAccChg')
			if (accChg.checked==false) {
				regErrHandle(inpField,errT,lblField,errField);
				return inpField;
			}	
		}
	}
	
	
	
	//purchase page
	
	if (errT == 'chkBox') {
		if (document.getElementById(inpField)) {
			accChg=document.getElementById(inpField)
			if (accChg.checked==false) {
				regErrHandle(inpField,errT,lblField,errField);
				return inpField;
			}	
		}
	}
	
//ins val
if (errT == 'insName' && document.getElementById('ccinsarea').style.display=='block') {
		crdErrCnt = 0;
		
		if (document.getElementById('tripInsCardType')) {
		chkVal=document.getElementById('tripInsCardType');
		if (chkVal.value == 'XX' || chkVal.value == 'xx') {
		lblPass = document.getElementById('label-cardTypeIns-none-errloc5');
				lblPass.className = 'err';	
		 		crdErrCnt = crdErrCnt + 1;
				inpField='tripInsCardType';
		}
		}
		
		 chkVal=document.getElementById('tripInsCardNumber');
		 	if (chkVal.value.length < 1 ) {
				lblPass = document.getElementById('label-cardNumber-insName-errloc5');
				lblPass.className = 'err';	
		 		crdErrCnt = crdErrCnt + 1;
				inpField='tripInsCardNumber';
		 	}
		
		chCType=document.getElementById('tripInsCardType');
		chkcard=document.getElementById('tripInsCardNumber');
		chkcard.value = chkcard.value.replace(/ /g,'');
		chkcard.value = chkcard.value.replace(/-/g,'');
		isCover = /^[0-9* ]+$/.test(chkcard.value);
		
		if (isCover==false) {
			crdErrCnt = crdErrCnt + 1;
			inpField='tripInsCardNumber';
		}
	
		if (typeof checkCreditCard =='function') {
			
			if (!checkCreditCard(chkcard.value,chCType.value)) {
				lblPass = document.getElementById('label-cardNumber-insName-errloc5');
				lblPass.className = 'err';	
				crdErrCnt = crdErrCnt + 1;
				inpField='tripInsCardNumber';
			}
		}
		
		crdm = document.getElementById('tripInsCardMonth').value;
		crdy = document.getElementById('tripInsCardYear').value;
			if (crdy == 'YYYY' || crdm == 'MM') {
				lblPass = document.getElementById('label-cardMonthIns-none-errloc5');
				lblPass.className = 'err';	
				crdErrCnt = crdErrCnt + 1;
				inpField='tripInsCardMonth';
			}
		chkVis=document.getElementById('secCodeIns').style.display;
		if (chkVis !='none') {
			chkVal=document.getElementById('tripInsCardPin');
			if (chkVal.value.length < 1 ) {
				lblPass = document.getElementById('label-cardIdNumber-none-errloc5');
				lblPass.className = 'err';	
		 		crdErrCnt = crdErrCnt + 1;
				inpField='tripInsCardPin';
			}
		}	
			
		if (crdErrCnt > 0) {	
			errVal = document.getElementById('errloc5');
			errVal.className='err';
			errMsg = sErrMsgPaymentReq;
			errCon = errVal.innerHTML;
			if (!errCon){
				errVal.innerHTML = errMsg;
			}
			else {
				errVal.innerHTML = errMsg + '<br>' + errVal.innerHTML;
			}	
			errVal.style.display='';
			if (crdErrCnt == 1) {
				return inpField;
			}
			else {	
				inpField = 'tripInsCardNumber';
				return inpField;
			}
		}	
	}
	//end ins val

	if (errT == 'pfName' && document.getElementById('CCbilling').style.display!='none') {
		crdErrCnt = 0;
		sDynamicMainErr = '';
		
		if (document.getElementById('cardType')) {
		chkVal=document.getElementById('cardType');
		if (chkVal.value == 'XX' || chkVal.value == 'xx') {
		lblPass = document.getElementById('label-cardType-none-errloc0');
				lblPass.className = 'err';	
		 		crdErrCnt++;
				inpField='cardType';
		}
		}
		
		 chkVal=document.getElementById('cardNumber');
		 	if (chkVal.value.length < 1 ) {
				lblPass = document.getElementById('label-cardNumber-pfName-errloc0');
				lblPass.className = 'err';	
				crdErrCnt++;
				inpField='cardNumber';
		 	}
		
		chCType=document.getElementById('cardType');
		chkcard=document.getElementById('cardNumber');
		chkcard.value = chkcard.value.replace(/ /g,'');
		chkcard.value = chkcard.value.replace(/-/g,'');

		isCover = /^[0-9* ]+$/.test(chkcard.value);
		
		if (isCover==false) {
			crdErrCnt++;
			inpField='cardNumber';
		}
	
		if (typeof checkCreditCard =='function') {
			
			if (!checkCreditCard(chkcard.value,chCType.value)) {
				lblPass = document.getElementById('label-cardNumber-pfName-errloc0');
				lblPass.className = 'err';	
				crdErrCnt++;
				inpField='cardNumber';
			}
		}
		
		crdm = document.getElementById('cardMonth').value;
		crdy = document.getElementById('cardYear').value;
			if (crdy == 'YYYY' || crdm == 'MM') {
				lblPass = document.getElementById('label-cardMonth-none-errloc0');
				lblPass.className = 'err';	
				crdErrCnt++;;
				inpField='cardMonth';
			}
		chkVis=document.getElementById('secCode').style.display;
		if (chkVis !='none') {
			chkVal=document.getElementById('cardIdNumber');
			if (chkVal.value.length < 1 ) {
				lblPass = document.getElementById('label-cardIdNumber-none-errloc0');
				lblPass.className = 'err';	
				crdErrCnt++;
				inpField='cardIdNumber';
			}
		}
		
		if(document.forms['confirmPaymentForm'] != undefined){
		 	var radioBtns = document.forms['confirmPaymentForm'].WASCInsuranceOfferOption;
		 	if(radioBtns == undefined || radioBtns == null){
		 		radioBtns = document.forms['confirmPaymentForm'].insurance;
		 	}
	
		 	if(radioBtns != undefined && radioBtns != null){
		 		if(radioBtns.length && forcedTiChoice != undefined && forcedTiChoice == 'true'){
					var isSelected = false;
					for(var x=radioBtns.length-1; x>=0; x--){
						//reset the class on the label - the label property is defined in the loop of labels
						if(radioBtns[x].checked == true){
							isSelected = true;
							break
						}
					}
					
					if(!isSelected){
						for(var x=radioBtns.length-1; x>=0; x--){
							if(radioBtns[x].label){radioBtns[x].label.className += ' err'};
							if(radioBtns[0].id == '' || radioBtns[0].id == null) radioBtns[0].id = 'tripInsRb' + x;
						}
						inpField=radioBtns[0].id;
						sDynamicMainErr = sErrMsgPleaseSupply + '<br/><span style="font-weight:normal">' + sErrMsgTripInsRequired + '</span>';
						//check for any other errors
	
						if(crdErrCnt == 0){
							//the main aeero onlys shows if there is more than 1 error so add 2
							totErr[0] += 2;
							return inpField;
						}else{
							crdErrCnt++;
						}
					}else{
						for(var x=radioBtns.length-1; x>=0; x--){
							if(radioBtns[x].label) radioBtns[x].label.className = radioBtns[x].className.replace(/err/gi, "");
						}
					}
				}
			}
		}
		
		if (crdErrCnt > 0) {
			totErr[0] += crdErrCnt;
			errVal = document.getElementById('errloc0');
			errVal.className='err';
			errMsg = sErrMsgPaymentReq;
			if(sDynamicMainErr != '') sDynamicMainErr = sDynamicMainErr + '<br/><span style="font-weight:normal">' + sErrMain + '</span>';
			
			//errCon = errVal.innerHTML;
			//if(!errCon){
				errVal.innerHTML = errMsg;
			//}else {
			//	errVal.innerHTML = errMsg + '<br>' + errVal.innerHTML;
			//}
		
			if(crdErrCnt > 1) inpField = 'cardNumber';
			return inpField;
		}
	}
	
	if (errT == 'pmName') {
		chkVal=document.getElementById(inpField);
		if (chkVal.value) {
			isalpha = /^[ a-zA-Z]+$/.test(chkVal.value);
	 		if (isalpha == false) {
	 			regErrHandle(inpField,errT,lblField,errField);
				return inpField;
		 	}
		}	
	}
	if (errT == 'title') {
		if (document.getElementById(inpField)) {
			chkVal=document.getElementById(inpField);
		
			if (chkVal.value=='none') {
				regErrHandle(inpField,errT,lblField,errField);
				return inpField;
			}
		}	
	}
	if (errT == 'pmppass') {
		var totPassErr=0;
		MPchkBox=document.getElementById('mpenroll');
		if (MPchkBox.checked==true) {
			
			chkVal=document.getElementById(inpField);	
			chkConfirm = document.getElementById('mppassconfirm');	
			
			if (chkVal.value.length ==0) {
					errMsg = sErrMsgmppassenter;
					spcErrHandle(inpField,errT,lblField,errField,errMsg)
					totPassErr=totPassErr+1;
					lblVal = document.getElementById('label-mppassconfirm-none-errloc2');
					lblVal.className='err';
				}
		
			if (totPassErr <1) {
			if (chkVal.value.length <6) {
					errMsg = sErrMsgmppasslen;
					spcErrHandle(inpField,errT,lblField,errField,errMsg)
					totPassErr=totPassErr+1;
					lblVal = document.getElementById('label-mppassconfirm-none-errloc2');
					lblVal.className='err';
				}
			
			if (chkConfirm.value.length == 0){
				errMsg =sErrMsgmppassconfirm;
				spcErrHandle(inpField,errT,lblField,errField,errMsg)
				lblVal = document.getElementById('label-mppassconfirm-none-errloc2');
				lblVal.className='err';
				totPassErr=totPassErr+1;
			}
			if (totPassErr <2) {
				
				if (chkVal.value.length >5) {
				isalpha = /^[A-Za-z0-9]+$/.test(chkVal.value);	
				isunited = /united|United|UNITED/.test(chkVal.value);
				ismpass = /password|Password|PASSWORD/.test(chkVal.value);
			
				if (isalpha == false || isunited == true || ismpass == true) {
					errMsg = sErrMsgmppassrestrict;
					spcErrHandle(inpField,errT,lblField,errField,errMsg)
					lblVal = document.getElementById('label-mppassconfirm-none-errloc2');
					lblVal.className='err';
					totPassErr=totPassErr+1;
				}
			
				chkMP=document.getElementById(inpField);
				chkMPDup=document.getElementById('mppassconfirm');
				if (chkVal.value != chkMPDup.value && totPassErr <1) {
					errMsg = sErrMsgmppass_nomatch;
					spcErrHandle(inpField,errT,lblField,errField,errMsg)
					lblVal = document.getElementById('label-mppassconfirm-none-errloc2');
					lblVal.className='err';
					totPassErr=totPassErr+1;
				}
			}	
		}	
		}	
		if (totPassErr >0) {
			return inpField;
		}			
		}	
	}
if (errT == 'flifo') {
		err1Cnt=0;
		chkVal=document.getElementById(inpField);	
		if (chkVal.value.length ==0) {
			regErrHandle(inpField,errT,lblField,errField);
			err1Cnt=err1Cnt+1;
		}
		chkVal=document.getElementById('flightNbr');	
		if (chkVal.value.length ==0) {
			
			if (err1Cnt ==0) {
				
				errMsg = eval('sErrMsg'+inpField);
				lblVal=document.getElementById(errField);
				lblVal.className='err';
				lblVal.innerHTML = errMsg;
			}
			lblVal=document.getElementById('label-flightNbr-none-errloc1');
			lblVal.className='err';
			errVal.style.display='';
			err1Cnt=err1Cnt+1;
		}
		if (err1Cnt>0) {
			return inpField;
		}
	}		

if (errT == 'emp20') {	
	err1Cnt=0;
	for (chkP = 0; chkP < passengerRecord.length; chkP++) {
		if (document.getElementById('genPassSelectedIdx'+chkP)) {	
			chkVal=document.getElementById('genPassSelectedIdx'+chkP);		
			if (chkVal.selectedIndex==0) {	
				err1Cnt=err1Cnt+1;
				if (chkP==0) {
					lblVal=document.getElementById('label-genPassSelectedIdx0-emp20-errloc1');
				}
				else {
					lblVal=document.getElementById('label-genPassSelectedIdx'+chkP+'-none-errloc1');
				}
				lblVal.className='err';
			}	
		}	
	}
	if (err1Cnt>0) {
		errMsg = sErrMsgEmp20;
		errField=document.getElementById('errloc1');
		errField.className='err';
		if (errField.innerHTML.length>0) {
			errField.innerHTML=errField.innerHTML+errMsg;
		}
		else {
			errField.innerHTML=errMsg;
		}
		return inpField;
	}
}
	
// end error types	
}	
function regErrHandle(inpField,errT,lblField,errField) {
	lblVal = document.getElementById(lblField);
	lblVal.className='err';
	errMsg = 'sErrMsg'+inpField;
	errVal = document.getElementById(errField);
	errVal.style.display = '';
	errVal.className='err';
	if(inpField.indexOf("depart")!=-1 && !document.getElementById('fareFamily1')){
		errMsg = "sErrMsgshop_depart";
	}
	if(inpField.indexOf("arrive")!=-1){
		errMsg = "sErrMsgshop_arrive";
	}
	if(errMsg!=null && errMsg!=undefined && errMsg!=''){
		errCon = errVal.innerHTML;
		if (!errCon){
			errVal.innerHTML = eval(errMsg);
		}
		else {
			errVal.innerHTML = errVal.innerHTML + '<br>' 
			errVal.innerHTML = errVal.innerHTML + eval(errMsg);
		}
	}
	return inpField;
}
function spcErrHandle(inpField,errT,lblField,errField,errMsg) {
	lblVal = document.getElementById(lblField);
	lblVal.className='err';
	errVal = document.getElementById(errField);
	errVal.style.display='';
	errVal.className='err';
	if(errMsg!=null && errMsg!=undefined && errMsg!=''){
		errCon = errVal.innerHTML;
		if (!errCon){
			errVal.innerHTML = errMsg;
		}
		else {
			errVal.innerHTML = errVal.innerHTML + '<br>' 
			errVal.innerHTML = errVal.innerHTML + errMsg;
		}
	}
	return inpField;
}
function m_removeFromString(remove) {
    var s = this;
    if (remove + '' != 'undefined') {
        var i = 0;
        while (i < s.length) {
            if (remove.indexOf(s.charAt(i)) == -1) {
                i++;
            } else {
                s = s.substr(0, i) + s.substr(i + 1);
            }
        }
    }
    return s;
}
String.prototype.removeFromString = m_removeFromString;

String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
}; 


// US Postal CODES ONLY
//Formats 99999/999999999/99999-9999 
function isUSPostCode(entry){ 
 	strlen=entry.length; 
	if (strlen <5 ) {return false}
	entry=entry.toUpperCase();    // in case of lowercase characters
	//var re= /(^\d{5}$)|(^\d{5}\s\s\s\s$)|(^\d{5}-\d{4}$)|(^\d{9}\s$)|(^\d{9}$)/ ;
	var re = /^\d{5}([\-]{0,1}\d{4})?$/ 
    if (entry.match(re)){return true;}
	return false;
}

// CANADIAN CODES ONLY
//Formats X9X9X9 / X9X 9X9 /X9X-9X9
function isCAPostCode(entry){
	entry = entry.trim(); //strip leading trailing spaces
	strlen=entry.length; 
	if (strlen <6 ) {return false}
	entry=entry.toUpperCase();    // in case of lowercase characters
	var re=/^\s*[a-ceghj-npr-tvxy]\d[a-z](\s)?(-)?\d[a-z]\d\s*$/i;
    if (entry.match(re)){return true;}
    return false;
    
}
 
function validateMP(MPNO){
	if (!/^\d{11}$/.test(MPNO) ) {return false;}
	var factor = [5,4,3,2,7,6,5,4,3,2]; var check = 0;
	for (var digit = 0; digit < 10; digit++)
	check += MPNO.charAt(digit) * factor[digit];
	check = (((11 - (check % 11)) % 11) % 10);
	return (check == MPNO.charAt(10));	17
}

function validateEml(str) {
	re = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]{0,4}[a-zA-Z]$/;
	return (re.test(str));
} 
