//GLOBALSfn = 'document.' + fn + '.';var firstElement = '';var eCnt = 0;var eType = '';var eMsg = '';var colorOn = "#cccccc";var colorOff = "#ffffff";function validate(){	firstElement = '';	eCnt = 0;	eType = '';	eMsg = '';		required();		if (eCnt == 1){ eMsg = 'Please fill in the ' + eMsg + ' field.';}	else if (eCnt >= 2){ eMsg ='Please fill in these fields: ' + eMsg + '.';}		if (eCnt){ 		alert(eMsg);		if (eType == 'text'){		eval(fn + firstElement +'.focus()');		eval(fn + firstElement +'.select()');		}		if (eType == 'radio'){		eval(fn + firstElement + '[0]' +'.focus()');		}				if (eType == 'check'){				//eval(fn + firstElement  +'.focus()');		//document.Contact.checkbox1.focus();		//eval(fn + firstElement +'.focus();');		//eval(fn + firstElement +'.select()');		}		return false;	}	return true;}			function typeValidate (fieldName, type, fieldLabel, dBack) {	if (dBack){color(dBack, colorOff)}//reset color dhtml feedback		if ((type == 'text') || (type == 'textArea')){		if ( textCheck(fieldName) ) {			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel }else{eMsg += ', ' + fieldLabel;}			if (eCnt == 1){firstElement = fieldName; eType ='text';}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false;		}	}	else if(type == 'check'){		selected = false;		cfield = fieldName.split("::");		for (i=0; i<cfield.length; i++){			if (eval(fn + cfield[i]  + '.checked')){			selected = true;			return true;			}		}						if (selected == false){			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel }else{eMsg += ', ' + fieldLabel;}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false;		}	}	else if(type == 'pull'){		selected = false;		for (i=0; i<eval(fn + fieldName +'.length'); i++){			if ((eval(fn + fieldName + '[' + i + ']'  + '.selected')) && (eval(fn + fieldName + '[' + i + ']'  + '.value') != '')){			selected = true;			return true;			}		}		if (selected == false){			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel }else{eMsg += ', ' + fieldLabel;}			if (eCnt == 1){firstElement = fieldName; eType ='pull';}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false;		}		}	else if(type == 'radio'){		selected = false;		for (i=0; i<eval(fn + fieldName +'.length'); i++){			if (eval(fn + fieldName + '[' + i + ']'  + '.checked')){			selected = true;			return true;			}		}		if (selected == false){			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel }else{eMsg += ', ' + fieldLabel;}			if (eCnt == 1){firstElement = fieldName; eType ='radio';}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false;		}		}	else if (type == 'email'){		//var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;		var objRegExp  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;		var s = eval(fn + fieldName +'.value');		if (s != ''){			if (! objRegExp.test(s)){			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel + ' (not valid)' }else{eMsg += ', ' + fieldLabel + ' (not valid)';}			if (eCnt == 1){firstElement = fieldName; eType ='text';}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false; 			}		}		else{			eCnt += 1;			if (eCnt == 1){eMsg += fieldLabel + ' (not valid)' }else{eMsg += ', ' + fieldLabel + ' (not valid)';}			if (eCnt == 1){firstElement = fieldName; eType ='text';}			if (dBack){color(dBack, colorOn)}//color dhtml feedback			return false; 		}				return true;			}	}//Utility Functionsfunction textCheck (f_element) {	s = eval(fn + f_element +'.value');	for(var i=0; i< s.length; i++){		var a = s.charAt(i);		if ((a != ' ') && (a != '\n') && (a != '\t')) return false;	}	return true; }function color(obj, color) {	document.getElementById(obj).style.backgroundColor = color;}