function LoadErrorImageArray(gImgs) {

	gImgs['REQUIRED'] = new Image(100,17);

	gImgs['COVER'] = new Image(100,17);

	gImgs['INVALID_TELEPHONE_FORMAT'] = new Image(100,17);

	gImgs['ALPHA_ONLY'] = new Image(100,17);

	gImgs['NUMERIC_ONLY'] = new Image(100,17);

	gImgs['ALPHANUMERIC_ONLY'] = new Image(100,17);

	gImgs['INVALID_EMAIL_FORMAT'] = new Image(100,17);

	gImgs['INVALID_SSN_FORMAT'] = new Image(100,17);

	gImgs['INVALID_ZIP_FORMAT'] = new Image(100,17);

	gImgs['INVALID_ADDRESS_FORMAT'] = new Image(100,17);			

	gImgs['INVALID_ACCOUNT_NUM_FORMAT'] = new Image(100,17);

	gImgs['INVALID_DATE'] = new Image(100,17);

	

	gImgs['REQUIRED'].src = '../images/req_arrow_left.gif';

	gImgs['COVER'].src = '../images/image_cover.gif';

	gImgs['INVALID_TELEPHONE_FORMAT'].src = '../images/invalid_tele_format.gif';

	gImgs['ALPHA_ONLY'].src = '../images/alpha_only.gif';

	gImgs['NUMERIC_ONLY'].src = '../images/numeric_only.gif';

	gImgs['ALPHANUMERIC_ONLY'].src = '../images/alphanumeric_only.gif';

	gImgs['INVALID_EMAIL_FORMAT'].src = '../images/invalid_email_format.gif';

	gImgs['INVALID_SSN_FORMAT'].src = '../images/invalid_ssn_format.gif';

	gImgs['INVALID_ZIP_FORMAT'].src = '../images/invalid_zip_format.gif';

	gImgs['INVALID_ADDRESS_FORMAT'].src = '../images/invalid_address_format.gif';			

	gImgs['INVALID_ACCOUNT_NUM_FORMAT'].src = '../images/invalid_account_num.gif';			

	gImgs['INVALID_DATE'].src = '../images/invalid_date.gif';			

}



function CreateNewFormObj(sIndex) {

	var 

		oFrm=null;

	if (sIndex) {

		if (sIndex.toString().indexOf("object")!=-1) {

			oFrm=sIndex;

		} else {

			sIndex = sIndex;	

		}				

	} else {

		sIndex = 0;

	}

	if (oFrm==null) {

		oFrm = document.forms[sIndex];

	}

	for (var i = 0; i < oFrm.length;i++) {

		switch (oFrm[i].type) {

			case ('select-one' || 'select-muti'):

				oFrm[i].field_type = "SELECTION";

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "";						

				oFrm[i].selected = false;

			break;

			case 'radio':

				oFrm[i].field_type = "OPTION_GROUP";

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "";						

				oFrm[i].selected = false;

			break;

			case 'text':

				oFrm[i].field_type = getAttribute(oFrm[i].name);

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "";

			break;

			case 'textarea':

				oFrm[i].field_type = getAttribute(oFrm[i].name);	

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "";

			break;							

			case 'hidden':

				oFrm[i].field_type = "HIDDEN";	

				oFrm[i].required = false;				

				oFrm[i].validation_status = "VALIDATED";

				oFrm[i].ErrorType = "";	

			break;

			case 'button':

				oFrm[i].field_type = "BUTTON";	

				oFrm[i].required = false;				

				oFrm[i].validation_status = "VALIDATED";

				oFrm[i].ErrorType = "";							

			break;

			case 'image':

				oFrm[i].field_type = "IMAGE";	

				oFrm[i].required = false;				

				oFrm[i].validation_status = "VALIDATED";

				oFrm[i].ErrorType = "";	

			break;						

			case 'password':

				oFrm[i].field_type = "PASSWORD";	

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "";							

			break;

			case 'reset':

				oFrm[i].field_type = "RESET";	

				oFrm[i].required = false;				

				oFrm[i].validation_status = "VALIDATED";

				oFrm[i].ErrorType = "";	

			break;						

			case 'submit':

				oFrm[i].field_type = "SUBMIT";	

				oFrm[i].required = false;				

				oFrm[i].validation_status = "VALIDATED";

				oFrm[i].ErrorType = "";	

			break;																								

			case 'checkbox':

				oFrm[i].field_type = "CHECKBOX";	

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "REQUIRED";							

			break;																								

			case 'file':

				oFrm[i].field_type = "FILE";	

				oFrm[i].required = true;				

				oFrm[i].validation_status = "NOT_VALIDATED";

				oFrm[i].ErrorType = "REQUIRED";							

			break;					

		} 			

	} 

	oFrm.form_errors = 0;

	return oFrm;

} 



function LoadImageSlots(oDefFrm) {

	for (var ndx = 0; ndx < oDefFrm.length; ndx++) {

		if (eval('oDefFrm.' + 'img_' + oDefFrm[ndx].name) == null) {

			oDefFrm[ndx].image_slot = imgErrorTypes['COVER'];						

		} else {

			oDefFrm[ndx].image_slot = eval('oDefFrm.' + 'img_' + oDefFrm[ndx].name);

		}

	} 

}



function trim(sItem) {

	sItem=""+sItem;

	while (sItem.charAt(0)==" ") {

		sItem=sItem.substring(1,sItem.length);

	}

	while (sItem.charAt(sItem.length - 1)==" ") {

		sItem=sItem.substring(0,sItem.length-1);

	}

	return sItem;

}		

											

function getFront(mainStr,searchStr) {

	var foundOffset = mainStr.indexOf(searchStr);

	if (foundOffset == -1) {

		return null;

	}

	return mainStr.substring(0,foundOffset);

}



function getEnd(mainStr,searchStr) {

	var foundOffset = mainStr.indexOf(searchStr);

	if (foundOffset == -1) {

		return null;

	}

	return mainStr.substring(foundOffset+searchStr.length,mainStr.length);

}



function replaceString(mainStr,searchStr,replaceStr) {

	var front = getFront(mainStr,searchStr);

	var end = getEnd(mainStr,searchStr);

	if (front != null && end != null) {

		return front + replaceStr + end;

	}		

	return null;

}



function isDate(oFld) { 

	var inputStr = oFld.value;

	while (inputStr.indexOf("-") != -1) { 

		inputStr = replaceString(inputStr,"-","/"); 

	} 

	var delim1 = inputStr.indexOf("/"); 

	var delim2 = inputStr.lastIndexOf("/"); 

	if ((delim1 != -1) && (delim1 == delim2)) { 

		return false; 

	} 

	if (delim1 != -1) { 

		var mm = parseInt(inputStr.substring(0,delim1),10); 

		var dd = parseInt(inputStr.substring(delim1 + 1,delim2),10); 

		var yyyy = parseInt(inputStr.substring(delim2 + 1, inputStr.length),10); 

	} else { 

		var mm = parseInt(inputStr.substring(0,2),10); 

		var dd = parseInt(inputStr.substring(2,4),10); 

		var yyyy = parseInt(inputStr.substring(4,inputStr.length),10); 

	} 

	if (isNaN(mm) || isNaN(dd) || isNaN(yyyy)) { 

		return false; 

	} 

	if (mm < 1 || mm > 12) { 

		return false;

	} 

	if (dd < 1 || dd > 31) { 

		return false; 

	} 

	var year=parseInt(new Date().getFullYear());

	if (yyyy < 100) { 

		if (((parseInt(yyyy)+2000)-year)>2) {

			yyyy=yyyy+1900;

		} else {

			yyyy=yyyy+2000;

		}

	}

	if ((yyyy < (year-125)) || (yyyy > (year+25))) {

		return false;

	}

	if (!checkMonthLength(mm,dd)) { 

		return false; 

	} 

	if (mm == 2) { 

		if (!checkLeapMonth(mm,dd,yyyy)) { 

			return false; 

		} 

	}			

	oFld.value = mm + "/" + dd + "/" + yyyy; 

	return true; 

} 

			

function checkMonthLength(mm,dd) { 

	var months = new Array("","January","February","March","April","May","June","July","August","September","October","November","December");

	if ((mm == 4 || mm == 6 || mm == 9 || mm == 11) && dd > 30) { 

		return false 

	} else if (dd > 31) { 

		return false 

	} 

	return true 

} 



function checkLeapMonth(mm,dd,yyyy) { 

	if (yyyy % 4 > 0 && dd > 28) { 

		return false 

	} else if (dd > 29) { 

		return false 

	} 

	return true 

} 			

		

function FormatNumber (expr, decplaces) {

	var str = "" + Math.round (eval(expr) * Math.pow(10,decplaces));

	while(str.length <= decplaces) {

		str = "0" + str;

	}

	var decpoint = str.length - decplaces;

	return str.substring(0,decpoint) + (decplaces == 2 ? "." : "") + str.substring(decpoint,str.length);

}

			

function StripCurrencyChars(strValue,strCurrencySymbol) {

	var RegEx = eval('/[,' + '\\' + strCurrencySymbol + ']/g');

	return strValue.replace(RegEx,"");

}

			

function StripAllNonNumericChars(strValue,strCurrencySymbol) {

	var RegEx = eval('/[\,' + '\\' + strCurrencySymbol + '\.]/g');

	return strValue.replace(RegEx,"");			

}



function AddCurrencyChars(objTextObject,strCurrencySymbol) {

	var strNumber = objTextObject.value;

	var fltNumber = parseFloat(strNumber);

	if (isNaN(fltNumber))

		return false;

	var decplaces;

	strNumber.indexOf(".") == -1 ? decplaces = 0 : decplaces = 2;

	strNumber = StripCurrencyChars(strNumber,strCurrencySymbol); 

	if (isNaN(strNumber)) {

		return false;

	} else {

		strNumber = FormatNumber(strNumber,decplaces);

		var RegEx = /(-?\d+)(\d{3})/;

		while (RegEx.test(strNumber)) {

			strNumber = strNumber.replace(RegEx,"$1,$2");

		}

		if (strCurrencySymbol != null) {

			objTextObject.value = strCurrencySymbol + strNumber;  

			return true;

		} else {

			objTextObject.value = strNumber;

			return true;

		} 

	} 

} 

					

function IsSelected(SelectionObj) {

	if (SelectionObj.selectedIndex == 0) {

		return false;

	}

	return true;

}

			

function IsPosNumericOnly(sValue) {

	var sNumericChars = "0123456789";

	if (trim(sValue) == "") {

		return false;

	}

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		for (var j = 0;  j < sNumericChars.length;  j++) {

			if (ch == sNumericChars.charAt(j)) {

				break;

			}	

		}

		if (j == sNumericChars.length) {

			return false;

		}

	}

	return true;

}



function IsZipCode(sValue) {

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		if ((i<5)|| (i>5)) {

			if (!IsPosNumericOnly(ch.toString())) {

				return false;

			}

		} else {

			if (ch!="-") {

				return false;

			}

		}

	}

	if ((sValue.length<5) || ((sValue.length>5)  && (sValue.length<10))) {

		return false;

	}

	return true;

}

			

function IsAlphaOnly(sValue) {

	var sAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ,.'&!-?#;()";

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		for (var j = 0;  j < sAlphaChars.length;  j++) {

			if (ch == sAlphaChars.charAt(j)) {

				break;

			}	

		}

		if (j == sAlphaChars.length) {

			return false;

		}

	}

	return true;

}



function IsAlphaNumericOnly(sValue) {

	var sAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ,.'&!-?0123456789*#@_;:/<>[]{}+=^%$()";

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		for (var j = 0;  j < sAlphaChars.length;  j++) {

			if (ch == sAlphaChars.charAt(j)) {

				break;

			}	

		}

		if (j == sAlphaChars.length) {

			return false;

		}

	}

	return true;

}



function IsValidAccountNum(sValue) {

	var sAcctNumChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-";

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		for (var j = 0;  j < sAcctNumChars.length;  j++) {

			if (ch == sAcctNumChars.charAt(j)) {

				break;

			}	

		}

		if (j == sAcctNumChars.length) {

			return false;

		}

	}

	return true;

}

			

function IsValidAddress(sValue) {

	sValue = trim(sValue);

	var CARRAGE_RETURN = 10;

	var LINEFEED = 13;

	var sAddressChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 .-#/()&,';" + String.fromCharCode(CARRAGE_RETURN) + String.fromCharCode(LINEFEED);

	var bCharDataTypeKnown = false;

	var strCrlf = String.fromCharCode(CARRAGE_RETURN) + String.fromCharCode(LINEFEED);

	Array.prototype.numeric = false;

	Array.prototype.alpha = false;

	Array.prototype.space = false;

	var udtHasDataType = new Array(1);

	for (var i = 0;  i < sValue.length;  i++) {

		ch = sValue.charAt(i);

		for (var j = 0;  j < sAddressChars.length && ! bCharDataTypeKnown == true;  j++) {

			if (ch == sAddressChars.charAt(j)) {

				if (IsAlphaOnly(ch)) {

					if (ch == " ") {

						udtHasDataType.space = true;									

					} else {

						udtHasDataType.alpha = true;

					}

					bCharDataTypeKnown = true;

				} else if (IsPosNumericOnly(ch)) {

					udtHasDataType.numeric = true;

					bCharDataTypeKnown = true;

				} else if ((ch == String.fromCharCode(CARRAGE_RETURN)) || (ch == String.fromCharCode(LINEFEED))) {

					bCharDataTypeKnown = true;	

				} else {

					bCharDataTypeKnown = false;

				}

			}

			if (bCharDataTypeKnown) {break;}

		} 

		if (bCharDataTypeKnown == false) {					     

		     return false;

		}

		bCharDataTypeKnown = false;

	} 

	return true;

} 



function ValidEmailFormat(sEmail) {

	sEmail = trim(sEmail);

	if (((sEmail!="") && ((sEmail.indexOf('@')== -1) ||	((sEmail.charAt(sEmail.length-4)!= '.') && (sEmail.charAt(sEmail.length-3)!= '.'))))) {

		return false;

	} else {

		return true;

	}

}



function IsFieldBlank(strFieldValue) {

	if (trim(strFieldValue) == "") {

		return true;

	} else {

		return false;

	}

}

			

function AddHyphens(strFieldName) {

	var strFormElement = "GlobalFormObject." + strFieldName;

	var objField = eval(strFormElement);

	var sObj = objField.value;

	if ((sObj == "" ) || 

		((sObj.indexOf("-") != -1) && (objField.field_type == "SSN") && (sObj.length != 11)) ||

		((sObj.indexOf("-") == -1) && (objField.field_type == "SSN") && (sObj.length != 9)) ||

		((sObj.indexOf("-") != -1) && (objField.field_type == "TELEPHONE_NUMBER") && (sObj.length != 12)) ||

		((sObj.indexOf("-") == -1) && (objField.field_type == "TELEPHONE_NUMBER") && (sObj.length != 10)) ||

		(sObj.indexOf("-") != -1))

	{ return; }	

	if (objField.field_type == "SSN") {

		objField.value = sObj.substring(0,3) + "-" + sObj.substring(3,5) + "-" + sObj.substring(5,9);

	} else {

		objField.value = sObj.substring(0,3) + "-" + sObj.substring(3,6) + "-" + sObj.substring(6,10);

	}	

}

			

function ValidPhoneNumberFormat(sPhone) {

	if ((sPhone.substring(0,1)=='0')|| (sPhone.substring(0,1)=='1')) {

		return false;

	}

	var sSect = sPhone.substring(0,sPhone.indexOf("-"));

	if (sSect.length != 3) {return false;} 

	//if ((sSect.substring(0,1)=='1')|| (sSect.substring(0,1)=='1')) {return false;} 

	if (IsPosNumericOnly(sSect)) {

		sSect = sPhone.substring(sPhone.indexOf("-") + 1, sPhone.lastIndexOf("-"));

		if (sSect.length != 3) {return false;} 

		if (IsPosNumericOnly(sSect)) {

			sSect = sPhone.substring(sPhone.lastIndexOf("-") + 1, sPhone.lastIndexOf("-") + 5);

			if (sSect.length != 4) {return false;} 

			if (IsPosNumericOnly(sSect)) {

				return true;

			}

		}

	}

	return false;

}

			

function ValidSSNFormat(sSSN) {

	if (sSSN.indexOf("-") == -1) {

		return false;

	}

	var sSect = sSSN.substring(0,sSSN.indexOf("-"));

	if (sSect.length != 3) {return false;} 

	if (IsPosNumericOnly(sSect)) {

		sSect = sSSN.substring(sSSN.indexOf("-") + 1, sSSN.lastIndexOf("-"));

		if (sSect.length != 2) {return false;} 

		if (IsPosNumericOnly(sSect)) {

			sSect = sSSN.substring(sSSN.lastIndexOf("-") + 1, sSSN.lastIndexOf("-") + 5);

			if (sSect.length != 4) {return false;} 

			if (IsPosNumericOnly(sSect)) {

				return true;

			}

		}

	}

	return false;

}

			

function GroupItemSelected(strGroupName,sIndex) {

	var strGroup;

	var objGroup;

	var objForm=null;

	if (sIndex) {

		if (sIndex.toString().indexOf("object")!=-1) {

			objForm=sIndex;

		} else {

			sIndex = sIndex;	

		}				

	} else {

		sIndex = 0;

	}

	if (objForm==null) {

		objForm = document.forms[sIndex];

	}

	strGroup = 'objForm.' + strGroupName;

	objGroup = eval(strGroup);

	for (var i = 0; i < objGroup.length; i++) {

		if (objGroup[i].checked) {

			return true;

		}

	}

	return false;

}

			

function IsFormCorrect(oDefFrm) {

	for (var ndx = 0; ndx < oDefFrm.length; ndx++) {

		if (oDefFrm[ndx].validation_status == "NOT_VALIDATED") {

			return false;

		}

	}

	return true;

}



function ValidateForm(oElems,sIndex)  {

	if (sIndex) {

		sIndex = sIndex;					

	} else {

		sIndex = 0;

	}

	for (var i = 0; i < oElems.length; i++) {

		if ((oElems[i].type == 'text') || (oElems[i].type == 'password') || (oElems[i].type == 'textarea')) {							

			switch (oElems[i].field_type) {

				case "ADDRESS":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsValidAddress(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_ADDRESS_FORMAT";

						}

					}

				break;

				case "ACCOUNT_NUM":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsValidAccountNum(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_ACCOUNT_NUM_FORMAT";

						}

					}

				break;

				case "PASSWORD":

					if ((IsFieldBlank(oElems[i].value) == true) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else if ((IsFieldBlank(oElems[i].value) == false) &&  (IsFieldBlank(oElems[i].required) == true)) {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";

					} else {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";

					}

				break;

				case "COMMENT":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";

					}

				break;

				case "CURRENCY":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsPosNumericOnly(StripAllNonNumericChars(oElems[i].value,"$"))) || 

							((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "NUMERIC_ONLY";

						}

					}

				break;

				case "DATE":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((isDate(oElems[i])) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_DATE";

						}

					}

				break;

				case "EMAIL_ADDRESS":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((ValidEmailFormat(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_EMAIL_FORMAT";

						}

					}

				break;

				case "TELEPHONE_NUMBER":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((ValidPhoneNumberFormat(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_TELEPHONE_FORMAT";

						}

					}

				break;

				case "SSN":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((ValidSSNFormat(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_SSN_FORMAT";

						}

					}

				break;

				case "ALPHA_ONLY":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsAlphaOnly(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "ALPHA_ONLY";

						}

					}

				break;

				case "NUMERIC_ONLY":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsPosNumericOnly(trim(oElems[i].value))) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "NUMERIC_ONLY";

						}

					}

				break;

				case "CURRENCY":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsValidCurrency(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "NUMERIC_ONLY";

						}

					}

				break; 				

				case "ALPHANUMERIC_ONLY":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsAlphaNumericOnly(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "ALPHANUMERIC_ONLY";

						}

					}

				break;

				case "US_ZIP_CODE":

					if ((IsFieldBlank(oElems[i].value)) && (oElems[i].required == true)) {

						oElems[i].validation_status = "NOT_VALIDATED";

						oElems[i].ErrorType = "REQUIRED";

					} else {

						if ((IsZipCode(oElems[i].value)) || ((oElems[i].required == false) && IsFieldBlank(oElems[i].value))) {

							oElems[i].validation_status = "VALIDATED";

							oElems[i].ErrorType = "";										

						} else {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "INVALID_ZIP_FORMAT";

						}

					}

				break;

			} 

		} else {

			switch (oElems[i].type) {

				case "select-multi":

				break;

				case "select-one":

					if (IsSelected(oElems[i])) {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";					

					} else {

						if (oElems[i].required == true) {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "REQUIRED";										

						}

					}

				break;

				case 'radio':

					if ((GroupItemSelected(oElems[i].name,sIndex)) || (oElems[i].required == false)) {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";					

					} else {

						if (oElems[i].required == true) {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "REQUIRED";										

						}

					}								

				break;

				case 'checkbox':

					if ((GroupItemSelected(oElems[i].name,sIndex)) || (oElems[i].required == false)) {

						oElems[i].validation_status = "VALIDATED";

						oElems[i].ErrorType = "";					

					} else {

						if (oElems[i].required == true) {

							oElems[i].validation_status = "NOT_VALIDATED";

							oElems[i].ErrorType = "REQUIRED";										

						}

					}								

				break;

			} 

		} 

	} 

} 



function HighlightErrorRows(oDefFrm) {

	var strImgCover = imgErrorTypes['COVER'].src;

	for (var i = 0; i < oDefFrm.length; i++) {

		switch (oDefFrm[i].ErrorType) {

			case "REQUIRED":

				oDefFrm[i].image_slot.src = imgErrorTypes["REQUIRED"].src;

			break;

			case "ALPHA_ONLY":

				oDefFrm[i].image_slot.src = imgErrorTypes["ALPHA_ONLY"].src;								

			break;

			case "INVALID_ADDRESS_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_ADDRESS_FORMAT"].src;								

			break;

			case "NUMERIC_ONLY":

				oDefFrm[i].image_slot.src = imgErrorTypes["NUMERIC_ONLY"].src;																

			break;

			case "ALPHANUMERIC_ONLY":

				oDefFrm[i].image_slot.src = imgErrorTypes["ALPHANUMERIC_ONLY"].src;																								

			break;

			case "INVALID_EMAIL_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_EMAIL_FORMAT"].src;																																

			break;

			case "INVALID_ACCOUNT_NUM_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_ACCOUNT_NUM_FORMAT"].src;																																

			break;

			case "INVALID_TELEPHONE_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_TELEPHONE_FORMAT"].src;																																								

			break;

			case "INVALID_SSN_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_SSN_FORMAT"].src;																																																

			break;

			case "INVALID_ZIP_FORMAT":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_ZIP_FORMAT"].src;																																																

			break;

			case "INVALID_DATE":

				oDefFrm[i].image_slot.src = imgErrorTypes["INVALID_DATE"].src;																																																

			break;

			case "IMPROPER_FIELD_LENGTH":

			break;

			default:

				oDefFrm[i].image_slot.src = strImgCover;

		} 

	} 

	for (var ndx = 0; ndx < oDefFrm.length; ndx++) {

		if (oDefFrm[ndx].ErrorType != "") {

			alert("There are possible errors in the data you entered.  \n\nPlease fix and continue.");

			oDefFrm[ndx].focus();

			return;							

		}

	}

} 
