if(!typeof(w3url)=='string'||typeof(w3url)=='undefined'||!w3url.substring(0,4)=='http') {
	var w3url; // this should come in from user web page but if not, set it to default w3shoppingcart
	(location.href.substring(0,5)=="https")?w3url="https://w3safesecure.com/w3shoppingcart":w3url="http://www.w3shoppingcart.com";	 
} 
function getContainer(dv) { 
	var container;
	if(document.getElementById) {
		if(document.getElementById(dv)) container = document.getElementById(dv);   
	}
	else {
		var c=eval(dv);
		 if(c) container = c;
	}
	return container;
}
//keeps field characters from overflowing : onKeyUp="chkCharsLen(this,#app_nbrBannerTextChars#,fieldtokeepcount,countfieldtype);"
function chkCharsLen(field,desiredNbr,countfield,countfieldtype) {  
	if (field.value.length>desiredNbr) field.value=field.value.substring(0,desiredNbr);
	if (countfield) chrCount(field,countfield);	 
} 
//keeps count of number characters in given field2, shows to user the count
function chrCount(field,field2,countfieldtype) {
	if(countfieldtype=="html") { // div or span innerHTML - given: html div or span space ID
		var container=getContainer(field2);
		if(container) container.innerHTML=field.value.length;
	}
	else field2.value=field.value.length; // form field - given: actual form.field	 
}
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validMoney.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validInteger.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validEntry.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validCheckboxes.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validRadio.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validZip.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validPhone.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validEmail.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validDate.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validNumber.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validDateTime.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validLetterNumber.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validSecretCode.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validPersonName.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validDomain.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validPostal.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validURL.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validPercent.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validWWW.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validCheckboxAccept.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validListEntry.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validFileUpload.js"></s');document.write('cript>'); 
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validQtyList.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validPasswordCompare.js"></s');document.write('cript>');
document.write('<sc');document.write('ript language="javascript" type="text/javascript" src="'+w3url+'/srv/js/validSelect.js"></s');document.write('cript>');

// map the scripts to the form field validation ID 
var formValArray = new Array ();  
for (i=0; i <=63; i++) formValArray[i]=new Array(4);
  
formValArray[2][1] ="validEmail";
formValArray[2][2]="Enter valid email address like mine@yahoo.com";
formValArray[2][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[2][4]=''; // default spec
   
formValArray[3][1] ="validSelect";
formValArray[3][2]="Select a Country";
formValArray[3][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[3][4]=''; // default spec

formValArray[6][1] ="validPhone";
formValArray[6][2]="Enter a Phone Number like 999-999-9999";
formValArray[6][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[6][4]=''; // default spec

formValArray[7][1] ="validInteger";
formValArray[7][2]="Enter a Number like 999";
formValArray[7][3]=2; // fvID, nbr of specs wanted for script Call
formValArray[7][4]='0,99999'; // default spec, if required: low and high allowed values

formValArray[9][1] ="validCheckboxAccept";
formValArray[9][2]="Check the box to continue";
formValArray[9][3]=0; // fvID, nbr of specs wanted for script Call (2 characters for country code)
formValArray[9][4]=''; // default spec

formValArray[11][1]="validSelect";
formValArray[11][2]="Select a U.S. State";
formValArray[11][3]=0 // fvID, nbr of specs needed for script Call
formValArray[11][4]='';// default spec list if spec field not found

formValArray[12][1]="validZip"; // input text field
formValArray[12][2]="Enter U.S. Zip Code like 99999 or 99999-9999";
formValArray[12][3]=0 // fvID, nbr of specs needed for script Call
formValArray[12][4]='';// default spec list if spec field not found

formValArray[14][1]="validMoney";
formValArray[14][2]="Enter a Currency (Money) Amount like 33.00";
formValArray[14][3]=3; // fvID, nbr of specs wanted for script Call (2 characters for country code)
formValArray[14][4]='1,99999999,USD'; // low, high, currency code default spec

formValArray[15][1] ="validNumber";
formValArray[15][2]="Enter a Number";
formValArray[15][3]=3; // fvID, nbr of specs wanted for script Call
formValArray[15][4]='2,.01,9999999.99'; // default spec (2 decimal places required, min, max)

formValArray[18][1]="validFileUpload"; // document or other file upload
formValArray[18][2]="Use the Browse button to locate your File for upload";
formValArray[18][3]=1 // fvID, nbr of specs needed for script Call
formValArray[18][4]="doc,pdf^application/msword,application/pdf"; // default spec list if spec field not found

formValArray[26][1] ="validURL";
formValArray[26][2]="Enter a complete URL like http://www.mydomain.com/page.php";
formValArray[26][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[26][4]=''; // default spec

formValArray[27][1] ="validDomain";
formValArray[27][2]="Enter a Domain Name like domain.com";
formValArray[27][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[27][4]=''; // default spec

formValArray[28][1] ="validPostal";
formValArray[28][2]="Enter a Postal Code";
formValArray[28][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[28][4]=''; // default spec

formValArray[29][1] ="validPercent";
formValArray[29][2]="Enter a Percentage like 75 for 75%";
formValArray[29][3]=3; // fvID, nbr of specs wanted for script Call
formValArray[29][4]='0,1,100'; // default spec (0 decimal places required, min, max)
  
formValArray[33][1]="validPersonName"; // input text field
formValArray[33][2]="Enter a Name, no numbers";
formValArray[33][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[33][4]=''; // default spec

formValArray[35][3]=1; // fvID, nbr of specs needed for script Call 

formValArray[40][1]="validRadio"; // or radio buttons
formValArray[40][2]="Select one";
formValArray[40][3]=0; // fvID, nbr of specs needed for script Call
formValArray[40][4]=0; // always 1 must be checked

formValArray[41][1]="validEntry"; //  password
formValArray[41][2]="Enter a password";
formValArray[41][3]=1; // fvID, nbr of specs needed for script Call
formValArray[41][4]=4; // default spec list if spec field not found

formValArray[43][1]='validSelect'; // validSelect drop-down
formValArray[43][2]='Make a selection';
formValArray[43][3]=0; // fvID, nbr of specs needed for script Call
formValArray[43][4]='';

formValArray[44][1]="validCheckboxes"; // or radio buttons
formValArray[44][2]="Select the correct number of boxes";
formValArray[44][3]=2; // fvID, nbr of specs needed for script Call
formValArray[44][4]="1,0"; // spk1, check at least this nbr of boxes, spk2: check this exact nbr of boxes exactly!

formValArray[45][1]="validRadio"; // or radio buttons
formValArray[45][2]="Select one";
formValArray[45][3]=0; // fvID, nbr of specs needed for script Call
formValArray[45][4]=0; // always 1 must be checked on radio

formValArray[46][1]="validEntry"; //  small text box
formValArray[46][2]="Enter required information into the box";
formValArray[46][3]=1; // fvID, nbr of specs needed for script Call
formValArray[46][4]=1; // default spec list if spec field not found

formValArray[47][1]="validEntry"; // med  text box
formValArray[47][2]="Enter required information into the box";
formValArray[47][3]=1; // fvID, nbr of specs needed for script Call
formValArray[47][4]=1; // default spec list if spec field not found

formValArray[48][1]="validEntry"; // large text box
formValArray[48][2]="Enter required information into the box";
formValArray[48][3]=1; // fvID, nbr of specs needed for script Call
formValArray[48][4]=3; // default spec list if spec field not found

formValArray[49][1]="validEntry"; // input text field
formValArray[49][2]="Enter required information";
formValArray[49][3]=1; // fvID, nbr of specs needed for script Call
formValArray[49][4]=1; // default spec list if spec field not found
 
formValArray[51][1] ="validCheckboxAccept";
formValArray[51][2]="Check the box to continue";
formValArray[51][3]=0; // fvID, nbr of specs wanted for script Call (2 characters for country code)
formValArray[51][4]=''; // default spec
 
formValArray[53][1]="validFileUpload"; // image upload
formValArray[53][2]="Use the Browse button to locate your Image File for upload";
formValArray[53][3]=1; // fvID, nbr of specs needed for script Call
formValArray[53][4]="jpg,gif,png^image/gif,image/jpg,image/jpeg,image/pjpeg,image/png" // default spec list if spec field not found

formValArray[54][1]="validEntry"; // extra large text box
formValArray[54][2]="Enter required information into the box";
formValArray[54][3]=1; // fvID, nbr of specs needed for script Call
formValArray[54][4]=3; // default spec list if spec field not found

formValArray[60][1]="validQtyList"; // or radio buttons
formValArray[60][2]="Enter the required total Qty of items in the list.";
formValArray[60][3]=2; // fvID, nbr of specs needed for script Call
formValArray[60][4]="2,exactly"; // spk1, goal Qty, spk2: rule (exactly, at least, returnqtyonly) - note theForm and fieldnames are prepended to 
   
formValArray[61][1]="validEntry"; //  password
formValArray[61][2]="Enter a username";
formValArray[61][3]=1; // fvID, nbr of specs needed for script Call
formValArray[61][4]=4; // default spec list if spec field not found

formValArray[62][1] ="validSelect";
formValArray[62][2]="Make a selection"; // for Annual Parker Chamber Memberships
formValArray[62][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[62][4]=''; // default spec

formValArray[63][1] ="validSelect";
formValArray[63][2]="Make a selection"; // for Monthly Parker Chamber Memberships
formValArray[63][3]=0; // fvID, nbr of specs wanted for script Call
formValArray[63][4]=''; // default spec
 
function getCountryFieldValue(theForm,FormField_Name,nbr) {   
	countrySpecFound='';
	for (c=0; c<nbr; c++) { 
				checkField=theForm.elements[c]; 
				if (checkField.type && (checkField.type == 'submit' ||  
					checkField.type == 'image'  || 
					(checkField.type == 'button' && checkField.name && checkField.name=="submitbutton")) ) break; 
				checkFieldna=checkField.name;
				if (checkFieldna != FormField_Name) { // do not check itself  
						checkFieldna=checkFieldna.toLowerCase();
						countryFound=checkFieldna.indexOf('country'); 
						 //// alert ('looking for string country in field name: ' + checkField.name + ' is ' + countryFound)
						if ( countryFound >= 0) { 
									// // alert ('FOUND index of country in field: ' + checkField.name + ' is ' + countryFound)
									if (checkField.type == 'text' && checkField.value != '') {
										countrySpecFound=checkField.value; 
										break;
									}
									else { 
										if (checkField.selectedIndex) {
												x=checkField.selectedIndex;
												if (x >=0 && checkField[x].value != '') {
													countrySpecFound=checkField[x].value;
													break;
												}
										}
									}
						 }
					} // endif not itslf
		}  // end for 
		return countrySpecFound; 
}
function formValidate(theForm) { 
	// alert("at formVal");
	var submitButtonValu="SUBMIT";
	var err='';
	var hasQtyListFields=false;
	var selectedOne=0;
	var nbr=theForm.elements.length;
	var errArray=new Array(nbr);  
	var priorFieldID='';
	for (i=0; i <nbr; i++) errArray[i]=new Array(6); 
	var validatedFields=0;
	var eix=0;
	 
	var pwcount=0;
	var passwordArray = new Array ();  
	var hasPasswordCompares=0; 
	var passwordCompareArray = new Array(10);
	for (i=1; i <=10; i++) passwordCompareArray[i]=new Array(3); 
	 
	 // first find qty lists, if any, and get the submt button value and get any passwords
	for (f=0; f < nbr; f++) { 
			theField = theForm.elements[f];
			// get submit button value
			if (theField.type && (theField.type.toLowerCase() == 'submit' ||  theField.type.toLowerCase() == 'image') ) {
				if (theField.type.toLowerCase() == 'submit' && theField.value > ' ') {
					submitButtonValu=theField.value.toUpperCase(); 
				} 
				break; 
			}
			//check qty Lists and passwords
			if (theField.id && theField.id > ' ') {  
					idParseArray = theField.id.split('_');				
				  // should be at least 4: T_ffid_validID_required like:  T_1500_60_1 
					fvID = idParseArray[idParseArray.length-2]; // next-to last element   
					if (fvID==60) {	
								thisQtyListVar = theField.id + "_fieldNames"; 
								if (theField.id != priorFieldID) {  // qtylists are read here as several fields, but they all have 1 id  
									window[thisQtyListVar] = theField.name; 
									priorFieldID=theField.id; 
								 } 
								else { 
									window[thisQtyListVar] = window[thisQtyListVar] + "~" + theField.name; 
								}  
					}// 60 is Qty List
					else if (fvID==41) {	//password
						pwcount++;
						passwordArray[pwcount] = theField.value;
						if ( pwcount == 2 ) { // the 2nd one is presumed to be the retype or confirm of the first one
							hasPasswordCompares++;
							passwordCompareArray[hasPasswordCompares][1]=passwordArray[1];
							passwordCompareArray[hasPasswordCompares][2]=passwordArray[2];
							passwordCompareArray[hasPasswordCompares][3]=theField.id; // id of the 2nd one
							pwcount=0;
							//validPasswordCompare
						}
					}
			} // end field id
	 } // end for 
			
			
 	//if(hasPasswordCompares) alert("has password compares " + hasPasswordCompares);	 
	 
	priorFieldID='';// reset this var 
	for (f=0; f < nbr; f++) { 
		theField = theForm.elements[f];
		
		/* for php checkboxes later
theForm['mailadres[]'].length;     //mailadres is the field name
leeg = 0
aantalElementen = 0

aantalElementen = theForm['mailadres[]'].length;

theField = theForm['mailadres[]'];

for(x = 0; x < aantalElementen; x++){
if(theField[x].checked != true){
leeg++;
				*/
		if (theField.type && (theField.type.toLowerCase() == 'submit' ||  theField.type.toLowerCase() == 'image') ) {
			if (theField.type.toLowerCase() == 'submit' && theField.value > ' ') {
				submitButtonValu=theField.value.toUpperCase(); 
			} 
			break; 
		}
		if (theField.id && theField.id != priorFieldID) {  // checkboxes and radios and qtylists are read here as several fields.		 
				
				priorFieldID=theField.id;  // checkboxes and radios are read here as several fields.
			 
				idParseArray = theField.id.split('_');				
				nbrParts=idParseArray.length; // should be at least 4: T_ffid_validID_required like:  T_1500_49_1
								
				RequiredEntry = idParseArray[nbrParts-1]; // last element 1=required, 0=not required
				fvID = idParseArray[nbrParts-2]; // next-to last element is fvID
				FormField_ID = idParseArray[nbrParts-3]; // etc  3 is optID
				TCS = idParseArray[nbrParts-4]; // etc   // T or C or S (text,  checkbox or radio or Qtylist is Q, or select [needs selectedIndex pull]  
					 
				FormField_Name=theField.name;
				fieldLength=0;
				 
				// alert ("TCS: " + TCS + " Rq: " + RequiredEntry + " fvID: " + fvID + " ffid: " + FormField_ID);
				if (TCS == 'C' ) { // this is a php checkbox list array like Plans[] of more than one
						if (eval('theForm["' + FormField_Name + '"].length')  ) {
							 	fieldLength = eval('theForm["' + FormField_Name + '"].length'); // it HAS to be done this way
								//cannot use: fieldLength = theField.length;
						}
						theField = eval('theForm["' + FormField_Name + '"]');
						//alert("field length: " + fieldLength + " fieldname: " + FormField_Name);
				}
		 
					//	theField = theForm['mailadres[]'];
					//theForm['mailadres[]'].length; 
				 // reset any old error fields to original colors
				   if (document.getElementById) {
				      formFieldLabelID = document.getElementById('l'+FormField_ID);
					}
					else { 
						formFieldLabelID=eval('l'+FormField_ID);  
					}
					if (formFieldLabelID) {
						formFieldLabelID.style.backgroundColor=''; 
						formFieldLabelID.style.color='';
					}
					//     alert ("TCS: " + TCS + " Rq: " + RequiredEntry + " fvID: " + fvID + " ffid: " + FormField_ID + "lid: " + formFieldLabelID);					  
						//   Required entry: 1=required, 2 not required but if entered must be valid, 0=not required 
						if ( (RequiredEntry ==1 || RequiredEntry ==2) && fvID && FormField_ID) { 
									validatedFields++; 									
									//if (fvID < 55 && formValArray[fvID][1] && formValArray[fvID][1] > ' ') { 
									if (formValArray[fvID][1] && formValArray[fvID][1] > ' ') {
								 	    scriptCall=formValArray[fvID][1];
										specsNeeded=formValArray[fvID][3];
										scriptErrToUse=formValArray[fvID][2];
									}
									else {
										    scriptCall=0; // some just do not have script calls, like 43
											specsNeeded=0;
											if(formValArray[fvID][2]) scriptErrToUse=formValArray[fvID][2];
											else scriptErrToUse='';
									}  
			 						var parm = new Array (3);  ; // leave this as 3 to fill up all spaces because all 3 parms are to be sent to every script!
									for (i=1; i <=3; i++) parm[i]='';  // init
									// find script call specs if needed 
									if (specsNeeded > 0) {    
											for (spk=1; spk <= specsNeeded; spk++) {  // for each spec needed, find a hidden spec field 1 to 3  
													specDone=0;   
													 if ( spk==1 && (scriptCall == 'validPostal') ) { // if it's a postal, find country field and use for spec( zip=usa only expected)
															specCountryField = getCountryFieldValue(theForm,FormField_Name,nbr);
															//// alert(specCountryField + ' country field found for field: ' +theField.name) 
															if ( specCountryField > '') {  
																	parm[spk] = specCountryField;
																	specDone=1;
																	break;
															}  
													   }   
													   if (!specDone) {  // find spec field, if it exists
																specFieldName='wspk_'+spk+'_'+FormField_ID; 
																specFieldExists=0;
																for (c=0; c<nbr; c++) {  
																		if (theForm.elements[c].name == specFieldName && theForm.elements[c].type == 'hidden') {
																			hiddenSpecFieldValue=theForm.elements[c].value;
					 														parm[spk] =  hiddenSpecFieldValue;  //  this could be a given select list ?
																			specDone=1;
																			//// alert ('final spec field value: ' + hiddenSpecFieldValue) ;
																			break;
																		 }
																}
														}  
														if (!specDone) {  // use spec default field
															  parm[spk] = formValArray[fvID][4];   // default Spec Value List !!! KRISTI SINCE THIS IS A LIST FIND THE RIGHT ELEMENT LATER 
													    }  //end if  
											} // end for   
									} // end if spec needed 
									// call script to check field
									TCS=TCS.toUpperCase();
									isTextField = eval(TCS == 'T');
									isSelectField = eval(TCS== 'S'); 				 						   
									isError=0;
									isError2=0; 
								    if (fvID==60 && parm[1] > 0 && scriptCall) {	// validQtyList, param1 is the goal Quantity to reach, param 2 is the rule:exactly,at least, any
										callScript=eval(scriptCall);
										var thisQtyListVar = theField.id + "_fieldNames";  
										if ( window[thisQtyListVar] && window[thisQtyListVar] > ' ' ) {  
											qLFieldNames = window[thisQtyListVar];
											isError= (!callScript(theForm,qLFieldNames,parm[1],parm[2]));   //  required text field textarea or input or select field 
											if(isError)  scriptErrToUse += " Enter total Qty of " + parm[2] + " " + parm[1] + "."; // enter total qty of exactly 3.
										} 
									}		
									else if(fvID==61 && document.getElementById && document.getElementById(FormField_ID+"UsernameAvail") &&											
											(document.getElementById(FormField_ID+"UsernameAvail").innerHTML.indexOf('not available') > 0 ||
											  document.getElementById(FormField_ID+"UsernameAvail").innerHTML.indexOf('too short') > 0
											 )
											) {
											isError=true;// exception for ajax of usernames	
											if(document.getElementById(FormField_ID+"UsernameAvail").innerHTML.indexOf('too short') > 0)  
												scriptErrToUse = "That Username is too short. Use at least 4 characters.";  	
											else 
												scriptErrToUse = "That Username is not available for you to use. Try a different one.";  													
									}			
									else if ( (isTextField || isSelectField) && scriptCall) { 		 
											callScript=eval(scriptCall);
											if (isSelectField) {
												x = theField.selectedIndex;
												fieldValue = theField[x].value;   
											}
											else { 
												fieldValue = theField.value; 
											}  
											if (RequiredEntry==1 && scriptCall > ' ') {
												// alert ("scriptCall: " + scriptCall);
												isError=(!callScript(fieldValue,parm[1],parm[2],parm[3]));   //  required text field textarea or input or select field
											} 
											else if (fieldValue.length > 0 && (scriptCall > 0 && scriptCall != "validEntry") ) {
												//  not required, but if entered must be correct for the script (validEntry is irrelevant, since no real data type check is made)
												isError=(fieldValue.length > 0 && !callScript(fieldValue,parm[1],parm[2],parm[3]));    
												scriptErrToUse += " (or leave blank)"; // since it's not required
											} 
											if (!isError && fvID==41 && hasPasswordCompares ) { 
											 	 for (i=1; i <= hasPasswordCompares; i++) {
													 	if ( theField.id == passwordCompareArray[i][3] ) { 
															isError=( !validPasswordCompare(passwordCompareArray[i][1], passwordCompareArray[i][2]) ); 
															if(isError)  {
																scriptErrToUse = "The confirmation password does not match";   
															}
														}
												} 
											}  
									} 
									else if (RequiredEntry==1 && scriptCall) { //  C is for Checkboxes and Radio buttons, see if checked
												callScript=eval(scriptCall);
												//alert('f: ' +fieldLength);
												isError= (!callScript(theField,fieldLength,parm[1])) ;   // parm 1 is only used for checkboxes, tells exact number to check, if any
									} 
									else if(isSelectField && !scriptCall && RequiredEntry==1) { 
												isError= (theField[theField.selectedIndex].text=="-select-"); // Make a selection error will appear
									} 
									if (isError) {								
										eix++; 
									    errArray[eix][1]=formFieldLabelID; // for highlightig the field titl text if err 
										errArray[eix][2]=TCS.toUpperCase();
										errArray[eix][3]=theField;
										errArray[eix][4]=FormField_Name;
										errArray[eix][5]= formFieldLabelID.innerHTML; // form field title for err msg 
										errArray[eix][6]= scriptErrToUse; 
								  } 
						} // end if validation to take place
			//	} // end checkbox check
		} // end if fifled id
	} // end for loop
	
	nbrBadFields=eix; 
	for (eix=1; eix <= nbrBadFields; eix++) {  
			TCS = errArray[eix][2]; 
			//alert ("tcs: "+errArray[eix][2] + "err: " + errArray[eix][6] + "title: " + errArray[eix][5]);
			theField = errArray[eix][3]; 
			scriptErrToUse=errArray[eix][6]; 
	 		errLabelText=errArray[eix][5]; 
			titleParseArray = errLabelText.split(' ');
			errLabelText='';
			nbr=titleParseArray.length;
			if (nbr > 5) nbr=5;
			for (e=0; e<nbr; e++) {  
				errLabelText += titleParseArray[e];
				if (e!=4) errLabelText+=' ';
			}
			if (titleParseArray.length> 5) errLabelText += '..';
			if (errLabelText.substring(0,2) != '* ' && errLabelText.substring(0,1) != '*') errLabelText = '* ' + errLabelText;
			formFieldLabelID = errArray[eix][1]; 
			if (formFieldLabelID &&  errLabelText) {  
					if (errLabelText.length > 35) { 
						errLabelText=errLabelText.substring(0,35);
					}
					formFieldLabelID.style.backgroundColor='#FFFF40';
					formFieldLabelID.style.color='red';  
			}
			else {
					errLabelText=errArray[eix][4]; // form field name 
			}
			errLabelTextUC=errLabelText.toUpperCase(); 
			errLabelTextUC=errLabelTextUC.replace(/&NBSP;/i, ' ');
			if ( errLabelTextUC.lastIndexOf(':') == -1) errLabelTextUC += ':';
			err += errLabelTextUC+' '+scriptErrToUse+'\n\n';  
			if ( (!selectedOne) && (TCS == 'T' || TCS == 'S') ) { 
				theField.focus();
				if (TCS == 'T')  theField.select(); // select first one to fix 
				selectedOne=1;
			}    
	} // end for loop for errs	
	// alert('nbr valiated: ' 	+ validatedFields + ' nbr errs: ' +	 nbrBadFields + ' nbr total fields: ' +nbr); 
	if (!err) return true; 
	var doubQ='"'; 
	if (submitButtonValu.length > 20)  {
		if (submitButtonValu.substring(0,8).toLowerCase() == 'continue') {
			submitButtonValu=submitButtonValu.substring(0,8);
		}
		else {
			submitButtonValu="SUBMIT";
		}		 
	}
	submitButtonValu = doubQ+submitButtonValu+doubQ;
	 alert('PLEASE CORRECT THESE ERRORS AND CLICK '+submitButtonValu+' AGAIN:\n\n'+err); 
	return false; 
}
