var PLPApplicationForm = { target: null, recalcTimeout: null, form: null, forms: [ "privacy", "paymentConfirmation", "accounts", "account", "profileUpdate", "applicationForm", "confirmation" ], recalcFields: { }, changeFields: [], Init: function() { PLPApplicationForm.changeFields = []; PLPApplicationForm.target = null; var form = null; var forms = PLPApplicationForm.forms; for (var i = 0; i < forms.length; i++) { form = document.getElementById(forms[i]); if (form != null) { break; } } if (form) { PLPApplicationForm.form = form; form.onsubmit = PLPApplicationForm.Events.onSubmit; var inputs = form.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { if (inputs[i].type == "submit") { if (inputs[i].className == "sharedAddressWarning") { inputs[i].onclick = MemberForms.Events.sharedAddressWarning_onClick; } else { inputs[i].onclick = PLPApplicationForm.Events.button_onClick; } } else if (inputs[i].name == "socialInsuranceNumberHelp") { inputs[i].onclick = PLPApplicationForm.Events.socialInsuranceNumberHelp_onClick; } else if (inputs[i].name == "expectedBirthDateHelp") { inputs[i].onclick = PLPApplicationForm.Events.expectedBirthDateHelp_onClick; } else if (inputs[i].name == "claimStartDateHelp") { inputs[i].onclick = PLPApplicationForm.Events.claimStartDateHelp_onClick; } else if (inputs[i].name == "claimEndDateHelp") { inputs[i].onclick = PLPApplicationForm.Events.claimEndDateHelp_onClick; } else if (inputs[i].name == "help") { inputs[i].onclick = PLPApplicationForm.Events.help_onClick; } } if (PLPApplicationForm.recalcFields[form.id]) { var recalcFields = PLPApplicationForm.recalcFields[form.id]; for (var i = 0; i < recalcFields.single.length; i++) { var field = document.getElementById(recalcFields.single[i]); if (field != null) { field.onchange = PLPApplicationForm.Events.recalcField_onChange; PLPApplicationForm.changeFields.push(field.id); } } for (var i = 0; i < recalcFields.multiple.length; i++) { for (var j = 1, found = true; found; j++) { var field = document.getElementById(recalcFields.multiple[i] + j.toString()); if (field != null) { field.onchange = PLPApplicationForm.Events.recalcField_onChange; PLPApplicationForm.changeFields.push(field.id); } else { found = false; } } } } } if (document.getElementById("addressTypeNorthAmerica")) { document.getElementById("addressTypeNorthAmerica").onclick = MemberForms.Events.addressTypeNorthAmerica_onClick; } if (document.getElementById("addressTypeForeign")) { document.getElementById("addressTypeForeign").onclick = MemberForms.Events.addressTypeForeign_onClick; } popUpCal.onchange = function(field) { for (var i = 0; i < PLPApplicationForm.changeFields.length; i++) { if (field.id == PLPApplicationForm.changeFields[i]) { PLPApplicationForm.Recalculate(field.id); return; } } } window.onresize = PLPApplicationForm.Events.window_onScrollOrResize; window.onscroll = PLPApplicationForm.Events.window_onScrollOrResize; PLPApplicationForm.CenterPopup(); }, CenterPopup: function() { var warnings = document.getElementById("warnings") || document.getElementById("popup"); if (warnings) { warnings.style.display = "block"; warnings.style.left = Math.round((((window.innerWidth || document.documentElement.clientWidth) - warnings.offsetWidth) / 2)) + "px"; warnings.style.top = Math.round((((window.innerHeight || document.documentElement.clientHeight) - warnings.offsetHeight) / 2)) + "px"; } }, DisplayPopup: function(html) { var body = document.body || document.documentElement; var overlay = document.createElement("div"); overlay.className = "overlay"; document.getElementById("content").appendChild(overlay); var popup = document.createElement("div"); popup.id = "popup"; popup.className = "popup"; var popupMessage = document.createElement("div"); popupMessage.className = "popupMessage"; popupMessage.innerHTML = html; popup.appendChild(popupMessage); var buttons = document.createElement("div"); buttons.className = "buttons"; var closeButton = document.createElement("input"); closeButton.type = "button"; closeButton.value = "Close"; closeButton.onclick = function () { document.getElementById("content").removeChild(overlay); document.getElementById("content").removeChild(popup); body.style.overflow = "auto"; }; buttons.appendChild(closeButton); popup.appendChild(buttons); document.getElementById("content").appendChild(popup); body.style.overflow = "hidden"; PLPApplicationForm.CenterPopup(); }, Help: function() { var helpContents = document.getElementById("helpContents"); if (helpContents) { PLPApplicationForm.DisplayPopup(helpContents.innerHTML); } }, SocialInsuranceNumberHelp: function() { var socialInsuranceNumberHelpContents = document.getElementById("socialInsuranceNumberHelpContents"); if (socialInsuranceNumberHelpContents) { PLPApplicationForm.DisplayPopup(socialInsuranceNumberHelpContents.innerHTML); } }, ExpectedBirthDateHelp: function() { var expectedBirthDateHelpContents = document.getElementById("expectedBirthDateHelpContents"); if (expectedBirthDateHelpContents) { PLPApplicationForm.DisplayPopup(expectedBirthDateHelpContents.innerHTML); } }, ClaimStartDateHelp: function() { var claimStartDateHelpContents = document.getElementById("claimStartDateHelpContents"); if (claimStartDateHelpContents) { PLPApplicationForm.DisplayPopup(claimStartDateHelpContents.innerHTML); } }, ClaimEndDateHelp: function() { var claimEndDateHelpContents = document.getElementById("claimEndDateHelpContents"); if (claimEndDateHelpContents) { PLPApplicationForm.DisplayPopup(claimEndDateHelpContents.innerHTML); } }, Send: function(request, method) { if (method == "POST") { request.open("POST", request.href); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.send(request.postData); } else if (method == "GET") { request.open("GET", request.href); request.send(); } $(document).trigger("tracking:submit"); }, BuildRequest: function(args) { if (typeof args == "undefined") { args = {}; } if (!args.form) { args.form = PLPApplicationForm.form; } var x = common.xmlHttpRequest(); if (x == null) { return null; } x.href = location.href; x.postData = AJAX.Serialize(args.form, this.target); x.errorMessage = "There was an unknown error submitting the form."; x.onreadystatechange = function() { if (x.readyState == 4) { if (x.status == 200 && x.responseXML != null && x.responseXML.getElementsByTagName("content").length == 1) { var content = document.getElementById("content"); var contentParent = content.parentNode || content.parentElement; var div = document.createElement("div"); div.innerHTML = "