﻿var frmValidator = new function() { var A = "input-validation-error"; var C = /^(\d{1,2})[\/ ]{1}(\d{1,2})[\/ ]{1}(\d{4})$/; $(document).ready(function() { $("#Insured_FirstName,#Insured_LastName").bind("blur", frmValidator.onBlurValidateEmpty); $("#Insured_MailAddress_Street").bind("blur", frmValidator.onBlurValidateEmpty); $("#Insured_MailAddress_City").bind("blur", frmValidator.onBlurValidateEmpty); $("#Insured_MailAddress_State").bind("change", frmValidator.onChangeValidateEmpty).bind("blur", frmValidator.onChangeValidateEmpty); $("#Insured_MailAddress_Zip").bind("blur", frmValidator.onBlurValidateZip).bind("keydown", frmValidator.onKeyDownNumOnly); $("#Insured_HomePhone").bind("blur", frmValidator.onBlurValidatePhone); $("#Insured_CellPhone,#Insured_WorkPhone").bind("blur", { emptyOk: true }, frmValidator.onBlurValidatePhone); $("#Insured_Email").bind("blur", { emptyOk: true }, frmValidator.onBlurValidateEmail); $("#PolicyType").bind("change", frmValidator.onChangeValidateEmpty).bind("blur", frmValidator.onChangeValidateEmpty); $("#PolicyNumber").bind("blur", frmValidator.onBlurValidateEmpty); $("#PolicyEffective").bind("blur", { exp: "PolicyExpiration" }, function(D) { frmValidator.onBlurValidateDate(D); frmValidator.onBlurSetExpiration(D); }).bind("keydown", { format: "date" }, frmValidator.onKeyDownNumOnly); $("#PolicyExpiration").bind("blur", frmValidator.onBlurValidateDate).bind("keydown", { format: "date" }, frmValidator.onKeyDownNumOnly); $("#LossType").bind("change", frmValidator.onChangeValidateEmpty).bind("blur", frmValidator.onChangeValidateEmpty); $("#LossDate").bind("blur", frmValidator.onBlurValidateDate); $("#LossDescription").bind("blur", frmValidator.onBlurValidateEmpty); $("#AgentName").bind("blur", frmValidator.onBlurValidateEmpty); $("#AgentEmail").bind("blur", frmValidator.onBlurValidateEmail); $("#AgentAddress_Zip").bind("blur", { emptyOk: true }, frmValidator.onBlurValidateZip).bind("keydown", frmValidator.onKeyDownNumOnly); $("#btnReset").bind("click", frmValidator.jClear); }); function B(E, F, D) { if ((!D || (D && (E.value.length > 0))) && !F.test(E.value)) { $.className.add(E, A); return false; } else { $.className.remove(E, A); return true; } } return { onBlurValidateEmail: function(D) { if (!D || !D.target) { return; } B(D.target, /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/, (D.data && D.data.emptyOk)); }, onBlurValidateDate: function(D) { if (!D || !D.target) { return; } if ((D.data && D.data.emptyOk) && (D.target.value.length == 0)) { return; } if (C.test(D.target.value)) { $.className.remove(D.target, A); D.target.value = D.target.value.replace(C, "$1/$2/$3"); } else { $.className.add(D.target, A); } }, onBlurValidateZip: function(D) { if (!D || !D.target) { return; } B(D.target, /^\d{5}[- ]{0,1}(\d{4}){0,1}$/, (D.data && D.data.emptyOk)); }, onBlurValidateEmpty: function(E) { if (!E || !E.target) { return; } var D = E.target; if (D.value.length == 0) { $.className.add(D, A); } else { $.className.remove(D, A); } }, onChangeValidateEmpty: function(E) { if (!E || !E.target) { return; } for (var D = 0; D < E.target.length; D++) { if (E.target[D].selected) { if (E.target[D].text.length > 0) { $.className.remove(E.target, A); return; } else { break; } } } $.className.add(E.target, A); }, onBlurValidatePhone: function(E) { if (!E || !E.target) { return; } var F = /^[\(]{0,1}(\d{3})[-\)]{0,1}[ ]{0,1}(\d{3})[- ]{0,1}(\d{4})$/; var D = E.target; if (B(D, F, (E.data && E.data.emptyOk))) { D.value = D.value.replace(F, "($1) $2-$3"); } }, onBlurSetExpiration: function(I) { if (!I || !I.target) { return; } var F = I.target; if (C.test(F.value)) { var E = new Date(F.value); var H = E.getMonth() + 1; var D = E.getDate(); var G = E.getFullYear() + 1; $("#" + I.data.exp).val(H + "/" + D + "/" + G); } }, jClear: function() { $("input:not(:submit):not(:button),textarea", "td[class=content]").each(function() { $(this).val("").removeClass(A).removeAttr("checked"); }); $("select", "td[class=content]").each(function() { $(this)[0].selectedIndex = -1; $(this).removeClass(A); }); $("#submitError").text(""); }, onKeyDownNumOnly: function(F) { if (!F) { return; } if ((F.keyCode != 8) && (F.keyCode != 9) && (F.keyCode != 13)) { if (F.data && F.data.format) { if ((F.data.format == "date") && ((F.keyCode == 191) || (F.keyCode == 32))) { return; } } var D = String.fromCharCode(F.keyCode); var E = parseInt(D); if (isNaN(E)) { F.preventDefault(); } } } }; };