$(document).ready(function() { var query = window.location.search.substring(1) if(query.length) { if(window.history != undefined && window.history.pushState != undefined) { window.history.pushState({}, document.title, window.location.pathname); } } var pageOne = document.getElementById("cr351_fullname_label"); var pageTwo = document.getElementById("pageTwo"); var pageThree = document.getElementById("pageThree"); if(pageOne) { Xrm.Portal.Form.get("moh_stage").setVisible(false); Xrm.Portal.Form.get("moh_duplicate").setVisible(false); Xrm.Portal.Form.get("cr351_email").setRequired(true, emailValidation, "Please provide an valid email"); Xrm.Portal.Form.get("cr351_emailconfirmation").setRequired(false, compareEmail, "Email addresses must match"); Xrm.Portal.Form.get("cr351_nominationtype").setRequired(true); } else if (pageTwo) { Xrm.Portal.Form.get("cr351_individualsorganisation").setRequired(true); Xrm.Portal.Form.get("cr351_workforceparticipation").setRequired(true); Xrm.Portal.Form.get("moh_livinginnz").setRequired(true); Xrm.Portal.Form.get("cr351_workstart").setRequired(true); Xrm.Portal.Form.get("cr351_workend").setRequired(true, validateworkdend, "Cease working date cannot be passed to 30 June 2022 or empty"); Xrm.Portal.Form.get("moh_livinginnz").attachOnChange(liveInNzOnChange); Xrm.Portal.Form.get("cr351_certificatetype").attachOnChange(hideOrShowOtherOutsideNZAddresses); hideOrShowFields(); } else if (pageThree) { Xrm.Portal.Form.get("cr351_organisationname").setRequired(true); Xrm.Portal.Form.get("cr351_organisationemail").setRequired(true, organisationEmailValidation, "Please provide an valid email"); Xrm.Portal.Form.get("cr351_organisationcriteria").setRequired(true); } }); function validateworkdend() { var workdend = Xrm.Portal.Form.get("cr351_workend").getValue(); if (workdend == '') return false; var WorkstartDay = parseInt( workdend.substr(8,2)); var WorkstartMonth = workdend.substr(5,2); var WorkstartYear = workdend.substr(0,4); WorkstartDay = WorkstartDay + 1; var now = new Date() var year = 2022; var month = 6; var day = 30; if (WorkstartYear > year ) return false; else if (WorkstartYear == year && WorkstartMonth > month ) return false; else if (WorkstartYear == year && WorkstartMonth == month && WorkstartDay > day) return false; return true; } function validateWorkstartDate() { var Workstartdate = Xrm.Portal.Form.get("cr351_workstart").getValue(); if (Workstartdate == '') return false; var WorkstartDay = parseInt( Workstartdate.substr(8,2)); var WorkstartMonth = Workstartdate.substr(5,2); var WorkstartYear = Workstartdate.substr(0,4); WorkstartDay = WorkstartDay + 1; var now = new Date() var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); if (WorkstartYear > year ) return false; else if (WorkstartYear == year && WorkstartMonth > month ) return false; else if (WorkstartYear == year && WorkstartMonth == month && WorkstartDay > day) return false; return true; } function liveInNzOnChange() { hideOrShowFields(); } function hideOrShowOtherOutsideNZAddresses() { var certType = Xrm.Portal.Form.get("cr351_certificatetype").getValue(); if (certType!= undefined) { if(certType == "479670001") { Xrm.Portal.Form.get("cr351_nominatedaddress").setVisible(true); Xrm.Portal.Form.get("cr351_nominatedcity").setVisible(true); Xrm.Portal.Form.get("cr351_nominatedpostcode").setVisible(true); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(true); Xrm.Portal.Form.get("cr351_nominatedcity").setRequired(true); Xrm.Portal.Form.get("cr351_nominatedpostcode").setRequired(true); } else { Xrm.Portal.Form.get("cr351_nominatedaddress").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedcity").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedcity").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setRequired(false); } } else{ Xrm.Portal.Form.get("cr351_nominatedaddress").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedcity").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedcity").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setRequired(false); } } function hideOrShowFields() { var liveinnz = Xrm.Portal.Form.get("moh_livinginnz").getValue(); if(liveinnz != undefined) { if(liveinnz == "865180000") { Xrm.Portal.Form.get("cr351_address").setVisible(true); Xrm.Portal.Form.get("cr351_city").setVisible(true); Xrm.Portal.Form.get("cr351_postcode").setVisible(true); Xrm.Portal.Form.get("cr351_address").setRequired(true); Xrm.Portal.Form.get("cr351_city").setRequired(true); Xrm.Portal.Form.get("cr351_postcode").setRequired(true); Xrm.Portal.Form.get("cr351_certificatetype").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedcity").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setVisible(false); Xrm.Portal.Form.get("cr351_certificatetype").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); } else{ Xrm.Portal.Form.get("cr351_certificatetype").setVisible(true); Xrm.Portal.Form.get("cr351_certificatetype").setRequired(true); hideOrShowOtherOutsideNZAddresses(); Xrm.Portal.Form.get("cr351_address").setVisible(false); Xrm.Portal.Form.get("cr351_city").setVisible(false); Xrm.Portal.Form.get("cr351_postcode").setVisible(false); Xrm.Portal.Form.get("cr351_address").setRequired(false); Xrm.Portal.Form.get("cr351_city").setRequired(false); Xrm.Portal.Form.get("cr351_postcode").setRequired(false); } } else { Xrm.Portal.Form.get("cr351_certificatetype").setVisible(false); Xrm.Portal.Form.get("cr351_address").setVisible(false); Xrm.Portal.Form.get("cr351_city").setVisible(false); Xrm.Portal.Form.get("cr351_postcode").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedcity").setVisible(false); Xrm.Portal.Form.get("cr351_nominatedpostcode").setVisible(false); Xrm.Portal.Form.get("cr351_address").setRequired(false); Xrm.Portal.Form.get("cr351_city").setRequired(false); Xrm.Portal.Form.get("cr351_postcode").setRequired(false); Xrm.Portal.Form.get("cr351_certificatetype").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); Xrm.Portal.Form.get("cr351_nominatedaddress").setRequired(false); } } function organisationEmailValidation() { var email = Xrm.Portal.Form.get("cr351_organisationemail").getValue(); var emailReg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (email != '') { return emailReg.test(email); } else { return false; } } function emailValidation() { var email = Xrm.Portal.Form.get("cr351_email").getValue(); var emailReg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (email != '') { return emailReg.test(email); } else { return false; } } function compareEmail() { var email = Xrm.Portal.Form.get("cr351_email").getValue(); var email2 = Xrm.Portal.Form.get("cr351_emailconfirmation").getValue(); if (email.toLowerCase() != email2.toLowerCase()) return false; else return true; }