var objFirstField = "", objFirstFieldReq = ""; function validateAllFields(objStart, iCount) { if (iCount == 0) { var objErrMsg = document.getElementById("errArea"); objErrMsg.innerHTML = ""; objErrMsg.style.display = "none"; } var objChild = "", objLabel = ""; if (objStart == "") objStart = document.body; for (var i=0; i<=objStart.childNodes.length-1; i++) { objChild = objStart.childNodes[i]; if (objChild.tagName) { switch (objChild.tagName.toLowerCase()) { case "input": switch(objChild.type.toLowerCase()) { case "text": if ((objChild.id.search(/radio-moreinfo/gi) < 0) && (objChild.id.search(/checkbox-moreinfo/gi) < 0)) { objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objChild.id.search(/req/gi) >= 0) validator(objLabel, objChild, "req"); else if (objChild.id.search(/min/gi) >= 0) validator(objLabel, objChild, "min"); } break; case "password": objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objChild.id.search(/req/gi) >= 0) validator(objLabel, objChild, "req"); else if (objChild.id.search(/min/gi) >= 0) validator(objLabel, objChild, "min"); break; case "radio": if (objChild.id.search(/req/gi) >= 0) validator("", objChild, "req"); case "checkbox": if (objChild.id.search(/req/gi) >= 0) validator("", objChild, "req"); break; case "button": break; default: break; } break; case "textarea": objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objChild.id.search(/req/gi) >= 0) validator(objLabel, objChild, "req"); else if (objChild.id.search(/min/gi) >= 0) validator(objLabel, objChild, "min"); break; case "select": objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objChild.id.search(/req/gi) >= 0) validator(objLabel, objChild, "req"); else if (objChild.id.search(/min/gi) >= 0) validator(objLabel, objChild, "min"); break; default: break; } } if (objChild.childNodes.length > 0) validateAllFields(objChild, iCount+1); } if (iCount == 0) { if (objFirstFieldReq) { objFirstFieldReq.focus(); objFirstFieldReq = ""; return false; } else return true; } } function validator(objLabel, objField, reqType) { var objNameID = objField.id; var arrFldnameParts = objNameID.split("_"); switch (trim(arrFldnameParts[1]).toLowerCase()) { case "text": if (objLabel) objLabel.style.color = "#000000"; objField.style.border = "solid 1px #999999"; if ((trim(objField.value) == "") && (reqType == "req")) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; getErrMsg("text"); } break; case "select": if (objLabel) objLabel.style.color = "#000000"; objField.style.border = "solid 1px #999999"; if ((trim(objField.options[objField.selectedIndex].value) == "") && (reqType == "req")) { if (objField.id.toLowerCase().search(/state/gi) >= 0) { var objCountry = document.getElementById(objField.id.replace(/State/gi, "Country")); if (objCountry.options[objCountry.selectedIndex].value.toLowerCase() == "united states") { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; getErrMsg("select"); } } else { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; getErrMsg("select"); } } break; case "radio": var curRadioObj = "", curRadioObjNameRoot = "", blnChecked = false; var arrTmp = objField.id.split("-"); var arrRadRoot = arrTmp[0].split("_"); for (var x=0; x<=arrRadRoot.length-2; x++) { if (x>0) curRadioObjNameRoot += "_"; curRadioObjNameRoot += arrRadRoot[x] } var iTotRadioGrp = parseInt(arrTmp[1]); for (var z=1; z <= iTotRadioGrp; z++) { curRadioObj = document.getElementById(curRadioObjNameRoot + "_" + z + "-" + iTotRadioGrp); if (curRadioObj.checked) { blnChecked = true; switch (curRadioObj.value.toLowerCase()) { case "other": var depTextbox = curRadioObjNameRoot.replace(/radio/gi, "radio-moreinfo"); var objDepTextbox = document.getElementById(depTextbox); if (objDepTextbox) { objLabel = document.getElementById(curRadioObjNameRoot.replace(/fld/gi, "lbl")); if (trim(objDepTextbox.value) == "") { blnSpecialErr = true; if (objFirstFieldReq == "") objFirstFieldReq = objDepTextbox; if (objLabel) objLabel.style.color = "#FF0000"; objDepTextbox.style.border = "1px solid #FF0000"; getErrMsg("radio-moreinfo"); } else { if (objLabel) objLabel.style.color = "#000000"; objDepTextbox.style.border = "1px solid #999999"; } } break; default: break; } } } objLabel = document.getElementById(curRadioObjNameRoot.replace(/fld/gi, "lbl")); if (!blnChecked) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; getErrMsg("radio"); } else if (objLabel) objLabel.style.color = "#000000"; break; case "checkbox": var curChkObj = "", curChkObjNameRoot = "", blnChecked = false, blnSpecialErr = false; var arrTmp = objField.id.split("-"); var arrRadRoot = arrTmp[0].split("_"); for (var x=0; x<=arrRadRoot.length-2; x++) { if (x>0) curChkObjNameRoot += "_"; curChkObjNameRoot += arrRadRoot[x] } var iTotRadioGrp = parseInt(arrTmp[1]); for (var z=1; z <= iTotRadioGrp; z++) { curChkObj = document.getElementById(curChkObjNameRoot + "_" + z + "-" + iTotRadioGrp); if (curChkObj.checked) { blnChecked = true; switch (curChkObj.value.toLowerCase()) { case "other": var depTextbox = curChkObjNameRoot.replace(/checkbox/gi, "checkbox-moreinfo"); var objDepTextbox = document.getElementById(depTextbox); if (objDepTextbox) { objLabel = document.getElementById(curChkObjNameRoot.replace(/fld/gi, "lbl")); if (trim(objDepTextbox.value) == "") { blnSpecialErr = true; if (objFirstFieldReq == "") objFirstFieldReq = objDepTextbox; if (objLabel) objLabel.style.color = "#FF0000"; objDepTextbox.style.border = "1px solid #FF0000"; getErrMsg("checkbox-moreinfo"); } else { if (objLabel) objLabel.style.color = "#000000"; objDepTextbox.style.border = "1px solid #999999"; } } break; default: break; } } } if (!blnSpecialErr) { objLabel = document.getElementById(curChkObjNameRoot.replace(/fld/gi, "lbl")); if (!blnChecked) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; getErrMsg("checkbox"); } else if (objLabel) objLabel.style.color = "#000000"; } break; case "email": var blnEmailValid = false; if ((trim(objField.value) == "") && (reqType == "req")) getErrMsg("text"); else { if ((trim(objField.value) != "") && ((reqType == "min") || (reqType == "req"))) { var blnEmailValid = validateEmail(trim(objField.value)); if (!blnEmailValid) getErrMsg("email"); } else blnEmailValid = true; } if (objLabel) objLabel.style.color = "#000000"; objField.style.border = "solid 1px #999999"; if (!blnEmailValid) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; } break; case "emailconfirm": var blnEmailValid = false; if (trim(objField.value) == "") getErrMsg("text"); else { var blnEmailValid = validateEmail(trim(objField.value)); if (!blnEmailValid) getErrMsg("email"); } if (objLabel) objLabel.style.color = "#000000"; objField.style.border = "solid 1px #999999"; if (!blnEmailValid) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; } else { var objEmail = document.getElementById(objNameID.replace(/emailconfirm/gi, "email")); if (objEmail.value.toLowerCase() != objField.value.toLowerCase()) { if (objFirstFieldReq == "") objFirstFieldReq = objField; if (objLabel) objLabel.style.color = "#FF0000"; objField.style.border = "1px solid #FF0000"; getErrMsg("emailconfirm"); } } break; default: break; } } function getErrMsg(dataType) { var objErrMsg = document.getElementById("errArea"); objErrMsg.style.color = "#FF0000"; switch (dataType) { case "text": if (trim(objErrMsg.innerHTML) == "") objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; break; case "select": if (trim(objErrMsg.innerHTML) == "") objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; break; case "radio": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Required radio fields must have at least one choice selected.
"; } break; case "radio-moreinfo": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Please provide more information for the Other field.
"; } break; case "checkbox": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Required checkbox fields must have at least one choice selected.
"; } break; case "checkbox-moreinfo": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Please provide more information for the Other field.
"; } break; case "email": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Email is not valid.
"; } break; case "emailconfirm": if (trim(objErrMsg.innerHTML) == "") { objErrMsg.innerHTML = "
All fields colored in RED are required entry.
"; objErrMsg.innerHTML += "
Email Confirm field does not match with Email.
"; } break; default: break; } objErrMsg.style.display = "block"; } function clearAllFields(objStart, iCount) { var objChild = "", objLabel = ""; if (objStart == "") objStart = document.body; for (var i=0; i<=objStart.childNodes.length-1; i++) { objChild = objStart.childNodes[i]; if (objChild.tagName) { switch (objChild.tagName.toLowerCase()) { case "input": switch(objChild.type.toLowerCase()) { case "text": if ((objChild.id.search(/radio-moreinfo/gi) < 0) && (objChild.id.search(/checkbox-moreinfo/gi) < 0)) { if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; objChild.style.border = "solid 1px #999999"; objChild.value = ""; } break; case "password": if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; objChild.style.border = "solid 1px #999999"; objChild.value = ""; break; case "radio": var curRadioObj = "", curRadioObjNameRoot = ""; var arrTmp = objChild.id.split("-"); var arrRadRoot = arrTmp[0].split("_"); for (var x=0; x<=arrRadRoot.length-2; x++) { if (x>0) curRadioObjNameRoot += "_"; curRadioObjNameRoot += arrRadRoot[x] } var iTotRadioGrp = parseInt(arrTmp[1]); for (var z=1; z <= iTotRadioGrp; z++) { curRadioObj = document.getElementById(curRadioObjNameRoot + "_" + z + "-" + iTotRadioGrp); switch (curRadioObj.value.toLowerCase()) { case "other": var depTextbox =curRadioObjNameRoot.replace(/radio/gi, "radio-moreinfo"); var objDepTextbox = document.getElementById(depTextbox); if (objDepTextbox) { objDepTextbox.value = ""; objDepTextbox.style.border = "1px solid #999999"; } break; default: break; } curRadioObj.checked = false; } if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(curRadioObjNameRoot.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; break; case "checkbox": var curChkObj = "", curChkObjNameRoot = ""; var arrTmp = objChild.id.split("-"); var arrRadRoot = arrTmp[0].split("_"); for (var x=0; x<=arrRadRoot.length-2; x++) { if (x>0) curChkObjNameRoot += "_"; curChkObjNameRoot += arrRadRoot[x] } var iTotRadioGrp = parseInt(arrTmp[1]); for (var z=1; z <= iTotRadioGrp; z++) { curChkObj = document.getElementById(curChkObjNameRoot + "_" + z + "-" + iTotRadioGrp); switch (curChkObj.value.toLowerCase()) { case "other": var depTextbox = curChkObjNameRoot.replace(/checkbox/gi, "checkbox-moreinfo"); var objDepTextbox = document.getElementById(depTextbox); if (objDepTextbox) { objDepTextbox.value = ""; objDepTextbox.style.border = "1px solid #999999"; } break; default: break; } curChkObj.checked = false; } if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(curChkObjNameRoot.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; break; case "button": break; default: break; } break; case "textarea": if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; objChild.style.border = "solid 1px #999999"; objChild.value = ""; break; case "select": if (objFirstField == "") objFirstField = objChild; objLabel = document.getElementById(objChild.id.replace(/fld/gi, "lbl")); if (objLabel) objLabel.style.color = "#000000"; objChild.style.border = "solid 1px #999999"; if (objChild.id.toLowerCase().search(/country/gi) >= 0) objChild.value = "United States"; else { if (objChild.id.toLowerCase().search(/state/gi) >= 0) { if (objChild.parentNode) { //alert(objChild.parentNode.tagName); var objStateContainer = objChild.parentNode; objStateContainer.style.display = "block"; } } objChild.selectedIndex = 0; } break; default: break; } } if (objChild.childNodes.length > 0) clearAllFields(objChild, iCount+1); } if ((iCount == 0) && (objFirstField)) { objErrMsg = document.getElementById("errArea"); objErrMsg.innerHTML = ""; objErrMsg.style.display = "none"; objFirstField.focus(); objFirstField = ""; } } function validateEmail(valEmail) { var blnValid = true; if ((valEmail.search(/\@/gi)) && (valEmail.search(/ /gi)<0)) { var arrEmail = valEmail.split("@"); if (arrEmail.length == 2) { var leftPartEmail = arrEmail[0]; if (leftPartEmail.search(/\./gi)>=0) { var arrLeftPartEmail = leftPartEmail.split("."); for (var i=0; i<=arrLeftPartEmail-1; i++) { if (trim(arrLeftPartEmail[i])=="") blnValid = false; } } var rightPartEmail = trim(arrEmail[1]); if (rightPartEmail.search(/\./gi)>=0) { var arrRightPartEmail = rightPartEmail.split("."); for (var i=0; i<=arrRightPartEmail.length-1; i++) { if (trim(arrRightPartEmail[i])=="") blnValid = false; } if (blnValid) { var maxArrayVal = arrRightPartEmail.length; var lastExt = trim(arrRightPartEmail[maxArrayVal-1]); if (maxArrayVal >= 2) { for (x=1; x<=arrRightPartEmail.length-1; x++) { var curExtVal = trim(arrRightPartEmail[x]); if ((curExtVal.length<2) || (curExtVal.length>3)) blnValid = false; } } } } else blnValid = false; } else blnValid = false; } else blnValid = false; return blnValid; } function hideState(nameCountryObj, stateObjContainerName) { var objCountry = document.getElementById(nameCountryObj); var objStateContainer = document.getElementById(stateObjContainerName); if (objCountry.options[objCountry.selectedIndex].value.toLowerCase() != "united states") objStateContainer.style.display = "none"; else objStateContainer.style.display = "block"; } function chkProcess(curObj) { var curChkObj = "", curChkObjNameRoot = ""; var arrTmp = curObj.id.split("-"); var arrRadRoot = arrTmp[0].split("_"); for (var x=0; x<=arrRadRoot.length-2; x++) { if (x>0) curChkObjNameRoot += "_"; curChkObjNameRoot += arrRadRoot[x] } var iTotRadioGrp = parseInt(arrTmp[1]); for (var z=1; z <= iTotRadioGrp; z++) { curChkObj = document.getElementById(curChkObjNameRoot + "_" + z + "-" + iTotRadioGrp); if (curChkObj.value.toLowerCase() == "none") { var objChkAgainst = curChkObj; break; } } if ((objChkAgainst.checked) && (curObj != objChkAgainst)) objChkAgainst.checked = false; else if ((objChkAgainst.checked) && (curObj == objChkAgainst)) { for (var z=1; z <= iTotRadioGrp; z++) { curChkObj = document.getElementById(curChkObjNameRoot + "_" + z + "-" + iTotRadioGrp); if (curChkObj.value.toLowerCase() != "none") curChkObj.checked = false; } } }