<!-- 
function writeMessage(message, object) { var object_suffix = "_msg"; object += object_suffix; var ret = true; if (document.getElementById && document.getElementById(object)) document.getElementById(object).innerHTML = message; else if (document.all && document.all[object]) document.all[object].innerHTML = message; else return false; (message == "")?hideLayer(object):showLayer(object) ; return ret;}
function validateMaxLength(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oMaxLength = eval('new ' + jcv_retrieveFormName(form) +  '_maxlength()'); for (x in oMaxLength) { if (!(typeof form[oMaxLength[x][0]] == "undefined")) { writeMessage("", oMaxLength[x][0]); if (form[oMaxLength[x][0]].type == 'text' || form[oMaxLength[x][0]].type == 'password' || form[oMaxLength[x][0]].type == 'textarea') { var iMax = parseInt(oMaxLength[x][2]("maxlength")); if (form[oMaxLength[x][0]].value.length > iMax) { if (focusField == null) { focusField = form[oMaxLength[x][0]]; } if (!writeMessage(oMaxLength[x][1], oMaxLength[x][0])) fields[i++] = oMaxLength[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateFloatRange(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oRange = eval('new ' + jcv_retrieveFormName(form) +  '_floatRange()'); for (x in oRange) { if (!(typeof form[oRange[x][0]] == "undefined")) { writeMessage("", oRange[x][0]); if ((form[oRange[x][0]].type == 'text' || form[oRange[x][0]].type == 'textarea') && (form[oRange[x][0]].value.length > 0)) { var fMin = parseFloat(oRange[x][2]("min")); var fMax = parseFloat(oRange[x][2]("max")); var fValue = parseFloat(form[oRange[x][0]].value); if (!(fValue >= fMin && fValue <= fMax)) { if (focusField == null) { focusField = form[oRange[x][0]]; } if (!writeMessage(oRange[x][1], oRange[x][0])) fields[i++] = oRange[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function isAllDigits(argvalue) { argvalue = argvalue.toString(); var validChars = "0123456789"; var startFrom = 0; if (argvalue.substring(0, 2) == "0x") { validChars = "0123456789abcdefABCDEF"; startFrom = 2; } else if (argvalue.charAt(0) == "0") { startFrom = 1; } for (var n = 0; n < argvalue.length; n++) { if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false; } return true;}
function validateEmail(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oEmail = eval('new ' + jcv_retrieveFormName(form) +  '_email()'); for (x in oEmail) { if (!(typeof form[oEmail[x][0]] == "undefined")) { writeMessage("", oEmail[x][0]); if ((form[oEmail[x][0]].type == 'text' || form[oEmail[x][0]].type == 'textarea') && (form[oEmail[x][0]].value.length > 0)) { if (!checkEmail(form[oEmail[x][0]].value)) { if (focusField == null) { focusField = form[oEmail[x][0]]; } if (!writeMessage(oEmail[x][1], oEmail[x][0])) fields[i++] = oEmail[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function checkEmail(emailStr) { if (emailStr.length == 0) { return true; } var emailPat=/^(.+)@(.+)$/; var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; var validChars="\[^\\s" + specialChars + "\]"; var quotedUser="(\"[^\"]*\")"; var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; var atom=validChars + '+'; var word="(" + atom + "|" + quotedUser + ")"; var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$"); var matchArray=emailStr.match(emailPat); if (matchArray == null) { return false; } var localPartUser=matchArray[1]; var domain=matchArray[2]; if (localPartUser.match(userPat) == null) { return false; } var IPArray = domain.match(ipDomainPat); if (IPArray != null) { for (var i = 1; i <= 4; i++) { if (IPArray[i] > 255) { return false; } } return true; } var domainArray=domain.match(domainPat); if (domainArray == null) { return false; } var atomPat=new RegExp(atom,"g"); var domArr=domain.match(atomPat); var len=domArr.length; if ((domArr[domArr.length-1].length < 2) || (domArr[domArr.length-1].length > 6)){ return false; } if (len < 2) { return false; } return true;}
function validateDate(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oDate = eval('new ' + jcv_retrieveFormName(form) +  '_DateValidations()'); for (x in oDate) { if (!(typeof form[oDate[x][0]] == "undefined")) { writeMessage("", oDate[x][0]); var value = form[oDate[x][0]].value; var datePattern = oDate[x][2]("datePatternStrict"); if ((form[oDate[x][0]].type == 'text' || form[oDate[x][0]].type == 'textarea') && (value.length > 0) && (datePattern.length > 0)) { var MONTH = "MM"; var DAY = "dd"; var YEAR = "yyyy"; var orderMonth = datePattern.indexOf(MONTH); var orderDay = datePattern.indexOf(DAY); var orderYear = datePattern.indexOf(YEAR); if ((orderDay < orderYear && orderDay > orderMonth)) { var iDelim1 = orderMonth + MONTH.length; var iDelim2 = orderDay + DAY.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderDay && iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 == orderDay) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[2], matched[1], matched[3])) { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else if ((orderMonth < orderYear && orderMonth > orderDay)) { var iDelim1 = orderDay + DAY.length; var iDelim2 = orderMonth + MONTH.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderMonth && iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); } else if (iDelim1 == orderMonth) { dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); } else if (iDelim2 == orderYear) { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); } else { dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[1], matched[2], matched[3])) { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else if ((orderMonth > orderYear && orderMonth < orderDay)) { var iDelim1 = orderYear + YEAR.length; var iDelim2 = orderMonth + MONTH.length; var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); if (iDelim1 == orderMonth && iDelim2 == orderDay) { dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); } else if (iDelim1 == orderMonth) { dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); } else if (iDelim2 == orderDay) { dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$"); } else { dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); } var matched = dateRegexp.exec(value); if(matched != null) { if (!isValidDate(matched[3], matched[2], matched[1])) { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } else { if (focusField == null) { focusField = form[oDate[x][0]]; } fields[i++] = oDate[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function isValidDate(day, month, year) { if (isNaN(day)) day = "" ; if (isNaN(month)) month = "" ; if (isNaN(year)) year = "" ; if (day == "" && month == "" && year == "") return true ; if (!(day != "" && month != "" && year != "")) return false ; if (month < 1 || month > 12) { return false; } if (day < 1 || day > 31) { return false; } if ((month == 4 || month == 6 || month == 9 || month == 11) && (day == 31)) { return false; } if (month == 2) { var leap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day == 29 && !leap)) { return false; } } return true;}
function validateFloat(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oFloat = eval('new ' + jcv_retrieveFormName(form) +  '_FloatValidations()'); for (x in oFloat) { if (!(typeof form[oFloat[x][0]] == "undefined")) { writeMessage("", oFloat[x][0]); var field = form[oFloat[x][0]]; if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio') { var value = ''; if (field.type == "select-one") { var si = field.selectedIndex; if (si >= 0) { value = field.options[si].value; } } else { value = field.value; } if (value.length > 0) { var iValue = parseFloat(value); if (isNaN(iValue)) { if (focusField == null) { focusField = field; } if (!writeMessage(oFloat[x][1], oFloat[x][0])) fields[i++] = oFloat[x][1]; bValid = false; } } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateShort(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oShort = eval('new ' + jcv_retrieveFormName(form) +  '_ShortValidations()'); for (x in oShort) { if (!(typeof form[oShort[x][0]] == "undefined")) { writeMessage("", oShort[x][0]); var field = form[oShort[x][0]]; if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio') { var value = ''; if (field.type == "select-one") { var si = field.selectedIndex; if (si >= 0) { value = field.options[si].value; } } else { value = field.value; } if (value.length > 0) { var iValue = parseInt(value); if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) { if (focusField == null) { focusField = field; } if (!writeMessage(oShort[x][1], oShort[x][0])) fields[i++] = oShort[x][1]; bValid = false; } } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateRange(form) { return validateIntRange(form); }
function validateIntRange(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oRange = eval('new ' + jcv_retrieveFormName(form) +  '_intRange()');  for (x in oRange) { if (!(typeof form[oRange[x][0]] == "undefined")) { writeMessage("", oRange[x][0]); if ((form[oRange[x][0]].type == 'text' || form[oRange[x][0]].type == 'textarea') && (form[oRange[x][0]].value.length > 0)) { var iMin = parseInt(oRange[x][2]("min")); var iMax = parseInt(oRange[x][2]("max")); var iValue = parseInt(form[oRange[x][0]].value); if (!(iValue >= iMin && iValue <= iMax)) { if (focusField == null) { focusField = form[oRange[x][0]]; } if (!writeMessage(oRange[x][1], oRange[x][0])) fields[i++] = oRange[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateCreditCard(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oCreditCard = eval('new ' + jcv_retrieveFormName(form) +  '_creditCard()'); for (x in oCreditCard) { if (!(typeof form[oCreditCard[x][0]] == "undefined")) { writeMessage("", oCreditCard[x][0]); if ((form[oCreditCard[x][0]].type == 'text' || form[oCreditCard[x][0]].type == 'textarea') && (form[oCreditCard[x][0]].value.length > 0)) { if (!luhnCheck(form[oCreditCard[x][0]].value)) { if (focusField == null) { focusField = form[oCreditCard[x][0]]; } if (!writeMessage(oCreditCard[x][1], oCreditCard[x][0])) fields[i++] = oCreditCard[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid; }
function luhnCheck(cardNumber) { if (isLuhnNum(cardNumber)) { var no_digit = cardNumber.length; var oddoeven = no_digit & 1; var sum = 0; for (var count = 0; count < no_digit; count++) { var digit = parseInt(cardNumber.charAt(count)); if (!((count & 1) ^ oddoeven)) { digit *= 2; if (digit > 9) digit -= 9; }; sum += digit; }; if (sum == 0) return false; if (sum % 10 == 0) return true; }; return false;}
function isLuhnNum(argvalue) { argvalue = argvalue.toString(); if (argvalue.length == 0) { return false; } for (var n = 0; n < argvalue.length; n++) { if ((argvalue.substring(n, n+1) < "0") || (argvalue.substring(n,n+1) > "9")) { return false; } } return true;}
function validateMask(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oMasked = eval('new ' + jcv_retrieveFormName(form) +  '_mask()'); for (x in oMasked) { if (!(typeof form[oMasked[x][0]] == "undefined")) { writeMessage("", oMasked[x][0]); if ((form[oMasked[x][0]].type == 'text' || form[oMasked[x][0]].type == 'textarea' || form[oMasked[x][0]].type == 'password') && (form[oMasked[x][0]].value.length > 0)) { if (!matchPattern(form[oMasked[x][0]].value, oMasked[x][2]("mask"))) { if (focusField == null) { focusField = form[oMasked[x][0]]; } if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function matchPattern(value, mask) { var bMatched = mask.exec(value); if (!bMatched) { return false; } return true;}
function validateByte(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oByte = eval('new ' + jcv_retrieveFormName(form) + '_ByteValidations()'); for (x in oByte) { if (!(typeof form[oByte[x][0]] == "undefined")) { var field = form[oByte[x][0]]; writeMessage("", oByte[x][0]) ; if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio') { var value = ''; if (field.type == "select-one") { var si = field.selectedIndex; if (si >= 0) { value = field.options[si].value; } } else { value = field.value; } if (value.length > 0) { var iValue = parseInt(value); if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) { if (focusField == null) { focusField = field; } if (!writeMessage(oByte[x][1], oByte[x][0])) fields[i++] = oByte[x][1]; bValid = false; } } } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid;}
function validateTwoFields(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oTwoFields = eval('new ' + jcv_retrieveFormName(form) + '_twofields()'); for (x in oTwoFields) { if (!(typeof form[oTwoFields[x][0]] == "undefined")) { writeMessage("", oTwoFields[x][0]) ; var field = form[oTwoFields[x][0]]; var secondField = form[oTwoFields[x][2]("secondProperty")]; if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio' || field.type == 'password') { var value; var secondValue; if (field.type == "select-one") { var si = field.selectedIndex; value = field.options[si].value; secondValue = secondField.options[si].value; } else { value = field.value; secondValue = secondField.value; } if (value != secondValue) { if (focusField == null) { focusField = field; } if (!writeMessage(oTwoFields[x][1], oTwoFields[x][0])) fields[i++] = oTwoFields[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateTwoFieldsNotSame(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oTwoFields = eval('new ' + jcv_retrieveFormName(form) + '_twofieldsNotSame()'); for (x in oTwoFields) { if (!(typeof form[oTwoFields[x][0]] == "undefined")) { writeMessage("", oTwoFields[x][0]) ; var field = form[oTwoFields[x][0]]; var secondField = form[oTwoFields[x][2]("secondProperty")]; if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio' || field.type == 'password') { var value; var secondValue; if (field.type == "select-one") { var si = field.selectedIndex; value = field.options[si].value; secondValue = secondField.options[si].value; } else { value = field.value; secondValue = secondField.value; } if (value == secondValue) { if (focusField == null) { focusField = field; } if (!writeMessage(oTwoFields[x][1], oTwoFields[x][0])) fields[i++] = oTwoFields[x][1]; bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateDateFields(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oDateFields = eval('new ' + jcv_retrieveFormName(form) +  '_datefields()'); for (x in oDateFields) { if (!(typeof form[oDateFields[x][0]] == "undefined")) { writeMessage("", oDateFields[x][0]) ; var monthField = form[oDateFields[x][0]]; var dayField = form[oDateFields[x][2]("dayProperty")]; var yearField = form[oDateFields[x][2]("yearProperty")]; var validate = oDateFields[x][2]("validate"); if (monthField.type == 'text' || monthField.type == 'select-one') { var monthValue; var dayValue; var yearValue ; if (monthField.type == "select-one") { var mi = monthField.selectedIndex; var di = dayField.selectedIndex; var yi = yearField.selectedIndex; monthValue = monthField.options[mi].value; dayValue = dayField.options[di].value; yearValue = yearField.options[yi].value; } else { monthValue = monthField.value; dayValue = dayField.value; yearValue = yearField.value; } var iDayVal = parseInt(dayValue, 10) ; var iMonthVal = parseInt(monthValue, 10) ; var iYearVal = parseInt(yearValue, 10) ; var validDate = isValidDate(iDayVal, iMonthVal, iYearVal); if (validDate && (!(isNaN(iDayVal) && isNaN(iMonthVal) && isNaN(iYearVal)))) { var dDate = Date.UTC(iYearVal-0, iMonthVal-1, iDayVal-0,0,0,0); var curDate = new Date(); var curTime = Date.UTC(y2k(curDate.getYear()),curDate.getMonth(), curDate.getDate(),0,0,0); if (validate == "before") validDate = dDate < curTime ; else if (validate == "after") validDate = dDate > curTime ; } if (!validDate) { if (focusField == null) { focusField = monthField; } if (!writeMessage(oDateFields[x][1], oDateFields[x][0])) fields[i++] = oDateFields[x][1];  bValid = false; } } } } if (fields.length > 0) { alert(fields.join('\n')); } if (focusField != null && focusField != '') focusField.focus(); return bValid;}
function validateSelectedCriteria(form) { var bValid = true; var focusField = null; var i = 0; var fields = new Array(); oCriteria = new selectedCriteria(); for (x in oCriteria) { var destField = form[oCriteria[x][0]]; var portField = form[oCriteria[x][2]("portSelect")]; var priceField = form[oCriteria[x][2]("priceSelect")]; var durationField = form[oCriteria[x][2]("durationSelect")]; var dateField = form[oCriteria[x][2]("dateSelect")]; var shipField = form[oCriteria[x][2]("shipSelect")]; var promoTypeField = form[oCriteria[x][2]("promoTypeSelect")]; if (destField.type == 'text' || destField.type == 'textarea' || destField.type == 'select-one' || destField.type == 'radio' || destField.type == 'password') { var destValue; var portValue; var priceValue; var durationValue; var dateValue; var shipValue; var portTypeValue; if (destField.type == "select-one") { var dest = destField.selectedIndex; var port = portField.selectedIndex; var date = dateField.selectedIndex; var ship = shipField.selectedIndex; var duration; var price; var promoType; if( durationField == null){ durationValue = "ANY"; }else{ duration= durationField.selectedIndex; durationValue=durationField.options[duration].value; } if( priceField == null ){ priceValue = "ANY" }else{ price= priceField.selectedIndex; priceValue= priceField.options[price].value; } if( promoTypeField == null){ promoTypeValue = "ANY"; }else{ promoType= promoTypeField.selectedIndex; promoTypeValue= promoTypeField.options[promoType].value; } destValue = destField.options[dest].value; portValue = portField.options[port].value; dateValue=dateField.options[date].value; shipValue=shipField.options[ship].value; } else { destValue = destField.value; portValue = portField.value; priceValue= priceField.value; durationValue=durationField.value; dateValue=dateField.value; shipValue=shipField.value; promoTypeValue=promoTypeField.value; } if( !(destValue != "ANY" || portValue != "ANY" || priceValue != "ANY" || durationValue != "ANY" || shipValue != "ANY" || dateValue != "ANY" || promoTypeValue != "ANY") ){ if (focusField == null) { focusField = destField; } fields[i++] = oCriteria[x][1]; bValid = false; } } } if (fields.length > 0) { focusField.focus(); alert(fields.join('\n')); } return bValid;}
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function validateUsaPhone(form) { var bValid = true; var i = 0; var focusField = null; var fields = new Array(); var oUsaPhone = eval('new ' + jcv_retrieveFormName(form) +  '_usaphone()'); for (x in oUsaPhone) { var phone = form[oUsaPhone[x][0]]; var countryField = form[oUsaPhone[x][2]("countryValue")]; if (countryField.type == "select-one") { var si = countryField.selectedIndex; var countryValue = countryField.options[si].value; countryValue = countryField.options[si].value; if (countryValue == "USA") { if (phone.value.length > 10) { if (!writeMessage(oUsaPhone[x][1], oUsaPhone[x][0])) fields[i++] = oUsaPhone[x][1]; focusField = form[oUsaPhone[x][0]]; bValid = false; }}}} if (fields.length > 0) { focusField.focus(); alert(fields.join('\n'));} return bValid; } 
function validateMinLength(form) { 
	var bValid = true; var focusField = null; var i = 0; var fields = new Array(); var tldomain = null;
	if(typeof document.forms[jcv_retrieveFormName(form)].topLevelDomainName != "undefined") 
		tldomain=document.forms[jcv_retrieveFormName(form)].topLevelDomainName.value;
	oMinLength = eval('new ' + jcv_retrieveFormName(form) +  '_minlength()'); 
	for (x in oMinLength) { 
		if (!(typeof form[oMinLength[x][0]] == "undefined"))  {
			 writeMessage("", oMinLength[x][0]); 
			 var tld = oMinLength[x][2]("supportedMinLengthDomains");
			 if(!(typeof tld == "undefined")) { 
			 	var retVar=true; var tld_arr=tld.split(",");	
			 	for(var i=0;i<tld_arr.length;i++) { 
			 		if((tldomain!=null) && (tldomain==tld_arr[i])) { retVar=false; }	
			 	}
			 	if(retVar) { return retVar; }
			} 
			if (form[oMinLength[x][0]].type == 'text' || form[oMinLength[x][0]].type == 'password' || form[oMinLength[x][0]].type == 'textarea') { 
				var iMin = parseInt(oMinLength[x][2]("minlength")); 
				if (form[oMinLength[x][0]].value.length < iMin) { 
					if (focusField == null) { focusField = form[oMinLength[x][0]]; } 
					if (!writeMessage(oMinLength[x][1], oMinLength[x][0]))
					 fields[i++] = oMinLength[x][1]; 
					 bValid = false; 
				 } 
			 } 
		 } 
	 } 
	 if (fields.length > 0) { alert(fields.join('\n')); } 
	 if (focusField != null && focusField != '') 
	 	focusField.focus(); 
	 return bValid;
	 }
function validateInteger(form) {
 var bValid = true; var focusField = null; var tldomain = null;
 if(typeof document.forms[jcv_retrieveFormName(form)].topLevelDomainName != "undefined")
 	tldomain=document.forms[jcv_retrieveFormName(form)].topLevelDomainName.value;
 var i = 0; var fields = new Array(); 
 oInteger = eval('new ' + jcv_retrieveFormName(form) +  '_IntegerValidations()'); 
 for (x in oInteger) { 
 	if (!(typeof form[oInteger[x][0]] == "undefined")) { 
  		writeMessage("", oInteger[x][0]); 
 		var field = form[oInteger[x][0]]; var tld = oInteger[x][2]("supportedIntegerDomains");
	 	if(!(typeof tld == "undefined")) {
			var retVar=true; var tld_arr=tld.split(",");
	 		for(var i=0;i<tld_arr.length;i++) { if(tldomain!=null && tldomain==tld_arr[i]) {retVar=false;} }			
	 		if(retVar) {return retVar;}
	 	}
 		if (field.type == 'text' || field.type == 'textarea' || field.type == 'select-one' || field.type == 'radio') { 
 		var value = ''; 
 		if (field.type == "select-one") { 
 			var si = field.selectedIndex; 
 			if (si >= 0) { value = field.options[si].value; } 
 		} else { value = field.value; } 
 		if (value.length > 0) { 
 			if (!isAllDigits(value)) {
 				if (focusField == null){ focusField = field; }
 				if (!writeMessage(oInteger[x][1], oInteger[x][0])) fields[i++] = oInteger[x][1]; bValid = false; 
 			} else { 
	 			var iValue = parseInt(value); 
	 			if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) { 
	 				if (focusField == null) { focusField = field; } 
	 					if (!writeMessage(oInteger[x][1], oInteger[x][0])) fields[i++] = oInteger[x][1]; bValid = false; 
 				} 
 			} 
 		} 
 	} 
 } 
 }
 if (fields.length > 0) { alert(fields.join('\n')); } 
 if (focusField != null && focusField != '') focusField.focus(); 
 return bValid;
}
function validateRequired(form) {
var bValid = true; var focusField = null; var retVar=false; var i=0; var fields = new Array(); var tldomain = null;
if(typeof document.forms[jcv_retrieveFormName(form)].topLevelDomainName != "undefined"){
	tldomain=document.forms[jcv_retrieveFormName(form)].topLevelDomainName.value;
}
	// oRequired = new required();
 oRequired = eval('new ' + jcv_retrieveFormName(form) +  '_required()'); /* 1.3.5 upgrade changes*/
 for (x in oRequired) {
	 if (!(typeof form[oRequired[x][0]] == "undefined")) {
	 	writeMessage("", oRequired[x][0]);
	 	var field = form[oRequired[x][0]]; var tld = oRequired[x][2]("supportedRequiredDomains");
		if(!(typeof tld == "undefined")) {
			var tld_arr=tld.split(",");
	 		for(var i=0;i<tld_arr.length;i++) {	
 				if((tldomain!=null) && (tldomain==tld_arr[i])) {retVar=false;}
 		 	}	
  			if(retVar) {return retVar;}
	 	}
	if (typeof field.type == "undefined") {
	 		if (!(typeof form[oRequired[x][0]][0] == "undefined")) {
		 		var field = form[oRequired[x][0]][0];
		 			if (field.type == 'radio') {
					var isChecked = false; var radioGroup = eval("document.forms['" + form.name + "']." + field.name); var radioGroupLength = radioGroup.length;
					for (var loop = 0; loop < radioGroupLength; loop++) {
						if (radioGroup[loop].checked) {
							isChecked = true;
							break;
						}
					}
					if (isChecked == false) {
						if (!writeMessage(oRequired[x][1], oRequired[x][0])) fields[i++] = oRequired[x][1];
						bValid = false;
					}
				} else if(field.type == 'text') {
				   var isValueEntered=false; var textGroup=eval("document.forms['" + form.name + "']." + field.name); var textGroupLength=textGroup.length;
				   for (var loop = 0; loop < textGroupLength; loop++) {
						if (textGroup[loop].value !='') {
							isValueEntered = true;
							break;
						}
					}
				    if (isValueEntered == false) {
						if (!writeMessage(oRequired[x][1], oRequired[x][0])) fields[i++] = oRequired[x][1];
						bValid = false;
					}
			    }
			}
		} else if (field.type == 'text' || field.type == 'textarea' || field.type == 'file' || field.type == 'select-one' || field.type == 'radio' || field.type == 'password') {
	 		var value = '';
	 		if (field.type == "select-one") {
	 			var si = field.selectedIndex;
	 			if (si >= 0) { value = field.options[si].value; }
	 		}
	 		else if (field.type == "radio") {
	 			if ( field.checked ) { value = 'checked'; }
	 		} 
	 		else { value = field.value; }
	 		if (value == '') {
				if (focusField == null) { focusField = field; }
				if (!writeMessage(oRequired[x][1], oRequired[x][0]))
					fields[i++] = oRequired[x][1]; 
					bValid = false;
			}
		}
	}
 }
 if (fields.length > 0) { alert(fields.join('\n')); }
 if (focusField != null && focusField != '') focusField.focus();
 return bValid;
}
function validateRequired2ndForm(form) {
 var bValid = true; var focusField = null; var i = 0; var fields = new Array();
 //oRequired = new required2ndForm();
 oRequired = eval('new ' + jcv_retrieveFormName(form) +  '_required2ndForm()');
 for (x in oRequired) {
	 if (!(typeof form[oRequired[x][0]] == "undefined")) {
	 	writeMessage("", oRequired[x][0]);
	 	var field = form[oRequired[x][0]];
		if (typeof field.type == "undefined") {
	 		if (!(typeof form[oRequired[x][0]][0] == "undefined")) {
		 		var field = form[oRequired[x][0]][0];
				if (field.type == 'radio') {
					var isChecked = false; var radioGroup = eval("document.forms['" + form.name + "']." + field.name); var radioGroupLength = radioGroup.length;
					for (var loop = 0; loop < radioGroupLength; loop++) {
						if (radioGroup[loop].checked) {
							isChecked = true;
							break;
						}
					}
					if (isChecked == false) {
						if (!writeMessage(oRequired[x][1], oRequired[x][0])) fields[i++] = oRequired[x][1];
						bValid = false;
					}
				}
			}
		} else if (field.type == 'text' || field.type == 'textarea' || field.type == 'file' || field.type == 'select-one' || field.type == 'radio' || field.type == 'password') {
	 		var value = '';
	 		if (field.type == "select-one") {
	 			var si = field.selectedIndex;
	 			if (si >= 0) { value = field.options[si].value; }
	 		}
	 		else if (field.type == "radio") {
	 			if ( field.checked ) { value = 'checked'; }
	 		} 
	 		else { value = field.value; }
	 		if (value == '') {
				if (focusField == null) { focusField = field; }
				if (!writeMessage(oRequired[x][1], oRequired[x][0])) fields[i++] = oRequired[x][1]; bValid = false;
			}
		}
	}
 }
 if (fields.length > 0) { alert(fields.join('\n')); }
 if (focusField != null && focusField != '') focusField.focus();
 return bValid;
}
function validateMaxWords(form) {
    var bValid = true; var focusField = null; var i = 0; var fields = new Array();
    //oMaxWords = new maxwords();
    oMaxWords = eval('new ' + jcv_retrieveFormName(form) +  '_maxwords()');      
    for (x in oMaxWords) {
       	if (!(typeof form[oMaxWords[x][0]] == "undefined")) {
            if (form[oMaxWords[x][0]].type == 'text' ||
				form[oMaxWords[x][0]].type == 'password' ||
                form[oMaxWords[x][0]].type == 'textarea') {
                var iMax = parseInt(oMaxWords[x][2]("maxwords"));
                if (form[oMaxWords[x][0]].value.split(" ").length > iMax) {
                    if (i == 0) { focusField = form[oMaxWords[x][0]]; }
                    fields[i++] = oMaxWords[x][1];
                    bValid = false;
                }
            }
		}
    }
    if (fields.length > 0) {
       focusField.focus();
       alert(fields.join('\n'));
    }
    return bValid;
}
function validateMaxWordsNoStruts(form, controlName, iMax) {
    var bValid = true; var control = form[controlName];
	//control is not a control it is a DOM list of controls
	if (!(typeof control.length == "undefined")) {
		var msg;
		msg = "You are testing more than one control\n";
		msg += "for the name of '" +  controlName +"'.\n";
		msg += "You cannot use this method!!!";
		alert(msg);
		bValid = false;
	}
   	if (!(typeof control == "undefined")) {
	    if (control.value.split(" ").length > iMax) { bValid = false; }
    }
    return bValid;
}
function validateUsaCanadaZip(form) {
        var bValid = true; var focusField = null; var i = 0; var fields = new Array();
        oMasked = eval('new ' + jcv_retrieveFormName(form) +  '_usacanadazip()');
        for (x in oMasked) {
           	if (!(typeof form[oMasked[x][0]] == "undefined")) {
                if ((form[oMasked[x][0]].type == 'text' ||
                     form[oMasked[x][0]].type == 'textarea' ||
                     form[oMasked[x][0]].type == 'password') &&
                    (form[oMasked[x][0]].value.length > 0)) {
     		    	var countryField = form[oMasked[x][2]("countryValue")];
                 	if (countryField.type == "select-one") {
                        var si = countryField.selectedIndex; var countryValue = countryField.options[si].value;
						if (countryValue == "USA") {
                    		if (!matchPattern(form[oMasked[x][0]].value,oMasked[x][2]("mask"))) {
                        		if (i == 0) { focusField = form[oMasked[x][0]]; }
                        		if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1];
                        		bValid = false;
                    		}
                    	}
  						if (countryValue == "CAN") {
  							var mask =/^[A-Za-z][0-9][A-Za-z][0-9][A-Za-z][0-9]$/;  
                    		if (!matchPattern(form[oMasked[x][0]].value,mask)) {
                        		if (i == 0) { focusField = form[oMasked[x][0]]; }
                        		if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1];
                        		bValid = false;
                    		}
                    	}
                    }
                }
			}
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
		if (focusField != null && focusField != '') focusField.focus();                 
        return bValid;
    }
	function validateUsaCanadaZipExtension(form) {
        var bValid = true; var focusField = null; var i = 0; var fields = new Array();
        oMasked = eval('new ' + jcv_retrieveFormName(form) +  '_usacanadazipext()');
        for (x in oMasked) {
           	if (!(typeof form[oMasked[x][0]] == "undefined")) {
                if ((form[oMasked[x][0]].type == 'text' ||
                     form[oMasked[x][0]].type == 'textarea' ||
                     form[oMasked[x][0]].type == 'password') &&
                    (form[oMasked[x][0]].value.length > 0)) {
     		    	var countryField = form[oMasked[x][2]("countryValue")];
                 	if (countryField.type == "select-one") {
                        var si = countryField.selectedIndex; var countryValue = countryField.options[si].value;
						if (countryValue == "USA") {
                    		if (!matchPattern(form[oMasked[x][0]].value,oMasked[x][2]("mask"))) {
                        		if (i == 0) { focusField = form[oMasked[x][0]]; }
                        		if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1];
                        		bValid = false;
                    		}
                    	}
  						if (countryValue == "CAN") {
  							var mask =/^(\s)*$/;  
                    		if (!matchPattern(form[oMasked[x][0]].value,mask)) {
                        		if (i == 0) { focusField = form[oMasked[x][0]]; }
                        		if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1];
                        		bValid = false;
                    		}
                    	}
                    }
                }
			}
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return bValid;
    }
	function validateNullOrMinLength(form) {
        var bValid = true; var focusField = null; var i = 0; var fields = new Array();
        oMinLength = eval('new ' + jcv_retrieveFormName(form) +  '_nullOrMinlength()');
        for (x in oMinLength) {
           	if (!(typeof form[oMinLength[x][0]] == "undefined")) {
				writeMessage("", oMinLength[x][0]); 
                if (form[oMinLength[x][0]].type == 'text' ||
					form[oMinLength[x][0]].type == 'password' ||
                    form[oMinLength[x][0]].type == 'textarea') {
                    var iMin = parseInt(oMinLength[x][2]("minlength"));
                    if (form[oMinLength[x][0]].value.length > 0 && form[oMinLength[x][0]].value.length < iMin) {
                        if (focusField == null) { focusField = form[oMinLength[x][0]]; }
                        if (!writeMessage(oMinLength[x][1], oMinLength[x][0])) fields[i++] = oMinLength[x][1];
                        bValid = false;
                    }
                }
			}
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return bValid;
    }
  function jcv_retrieveFormName(form) {
      // Please refer to Bugs 31534, 35127, 35294, 37315 & 38159
      var formName;
      if (form.getAttributeNode) {
          if (form.getAttributeNode("id") && form.getAttributeNode("id").value) { formName = form.getAttributeNode("id").value; }
          else { formName = form.getAttributeNode("name").value; }
      } else if (form.getAttribute) {
          if (form.getAttribute("id")) { formName = form.getAttribute("id"); }
          else { formName = form.attributes["name"]; }
      } else {
          if (form.id) { formName = form.id; }
          else { formName = form.name; }
      }
      return formName;
  }  
  function validateMailingAddress(form) {
  	var bValid = true; var focusField = null; var i = 0; var fields = new Array();
	oMasked = eval('new ' + jcv_retrieveFormName(form) +  '_mailingaddress()');
	for (x in oMasked) {
      	if (!(typeof form[oMasked[x][0]] == "undefined")) {
             if ((form[oMasked[x][0]].type == 'text' ||
                         form[oMasked[x][0]].type == 'textarea' ||
                         form[oMasked[x][0]].type == 'password') &&
                        (form[oMasked[x][0]].value.length > 0)) {
				var mask =/^[A-Za-z0-9]*@[A-Za-z0-9]*.[A-Za-z]*$/;  
            	if (matchPattern(form[oMasked[x][0]].value,mask)) {
            		if (i == 0) { focusField = form[oMasked[x][0]]; }
            		if (!writeMessage(oMasked[x][1], oMasked[x][0])) fields[i++] = oMasked[x][1];
               		bValid = false;
            	}
			}
		}
	}
	if (fields.length > 0) {
         focusField.focus();
         alert(fields.join('\n'));
    }
	if (focusField != null && focusField != '') focusField.focus();                 
    return bValid;
  }
function validateSelectBox(form){
 var bValid = true; var focusField = null; var i = 0; var fields = new Array();
 oRequired = eval('new ' + jcv_retrieveFormName(form) +  '_selectBox()');
 for (x in oRequired) {
	 if (!(typeof form[oRequired[x][0]] == "undefined")) {
	   writeMessage("", oRequired[x][0]);
	 	var field = form[oRequired[x][0]];
	 	if (typeof field.type == "undefined") {
	 		if (!(typeof form[oRequired[x][0]][0] == "undefined")) { var field = form[oRequired[x][0]][0]; }
		} else if (field.type == 'select-one') {
	 		var value = '';
	 		if (field.type == "select-one") {
	 			var si = field.selectedIndex;
	 			if(field.options[si].value == -1) {
				    if (!writeMessage(oRequired[x][1], oRequired[x][0])){
						fields[i++] = oRequired[x][1];
					    var temp = oRequired[x][1];
					    bValid = false;
					}
			    }
	 			if (si >= 0) { value = field.options[si].value; }
	 		}
		}
	}
 }
 if (fields.length > 0) { alert(fields.join('\n')); }
 if (focusField != null && focusField != '') focusField.focus();
 return bValid;
  }
//End --> 