function autoTab(element, nextElement) { if (element.value.length == element.maxLength && nextElement != null) { element.form.elements[nextElement].focus(); } } function showHelpWindow(target) { var helpWindow = window.open("./jsp/help.jsp#" + target, "_blank", "height=600,width=600,resizable=1,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes"); try { helpWindow.focus(); } catch(e) { } } function confirmExit(url) { var ok = null; ok = confirm('You are about to exit the site! Continue?'); if (!ok) { return false; } window.location.href = url; return true; } function set(target, validated) { document.forms[1].mustValidate.value = validated; document.forms[1].dispatch.value = target; return true; } function allowSubmit() { return document.forms[1].dispatch.value != ''; } function disable(element) { if (element) { element.readOnly = true; element.disabled = true; element.style.color = "#000000"; element.style.backgroundColor = "#fff"; element.style.border = "1px dotted #CDCDCD"; return true; } return false; } function readonly(element) { if (element) { element.readOnly = true; element.style.color = "#000000"; element.style.backgroundColor = "#fff"; element.style.border = "1px dotted #CDCDCD"; return true; } return false; } function enable(element) { if (element) { element.readOnly = false; element.disabled = false; element.style.color = "#000000"; element.style.backgroundColor = "#ffffff"; element.style.border = "1px solid #7F9DB9"; return true; } return false; } function toggleEnable(element, toggle) { if (toggle) { enable(element); } else { disable(element); } return false; } function formatDate(date) { var dateOfBirth = new Date(date); var gsMonthNames = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); var day = dateOfBirth.getDate(); var month = gsMonthNames[dateOfBirth.getMonth()]; var year = dateOfBirth.getFullYear(); return year + '-' + month + '-' + day; } var jsel = { // config for first option text e.g '-' or 'Please Select' blankOption: '(none)', // Removes the children of the target element removeChildren: function(elm) { while (elm.hasChildNodes()) { elm.removeChild(elm.firstChild); } }, // Gets current selected value getSelVal: function(select) { if (select.selectedIndex > -1) { return select.options[select.selectedIndex].value; } else { return -1; } }, setSelVal: function(select, value) { if (select.nodeName == 'SELECT') { for (var i = 0, j = select.options.length; i < j; i++) { if (select.options[i].value == value) { select.selectedIndex = i; } } } }, // Creates select options createOpt: function(strVal, strText, objTargetSelect) { var opt = document.createElement('OPTION'); opt.setAttribute('value', strVal); var text = document.createTextNode(strText); opt.appendChild(text); objTargetSelect.appendChild(opt); }, // Loads in the data to the select based on the previous selection loadData: function(objData, objSrcSelect) { jsel.removeChildren(objSrcSelect); jsel.createOpt('-1', jsel.blankOption, objSrcSelect); for (i = 0; i < objData.length; i++) { var fullName = objData[i].fullName + (objData[i].jobTitleDescription != '' ? ' - ' + objData[i].jobTitleDescription : ''); jsel.createOpt(objData[i].partyId, fullName, objSrcSelect); } } } function findParty(objSelData, partyId) { for (var i = 0; i < objSelData.length; i++) { if (objSelData[i].partyId == partyId) { return objSelData[i]; } } return ''; } function updateSafetyProfileParty(parties) { var selectedParty = findParty(objSelData, jsel.getSelVal(parties)); if (selectedParty != '') { $('partyId').value = selectedParty.partyId; $('surname').value = selectedParty.surname; $('givenName1').value = selectedParty.givenName1; $('givenName2').value = selectedParty.givenName2; $('driversLicenceNumber').value = selectedParty.driversLicenceNumber; //$('dateOfBirth').value = formatDate(selectedParty.dateOfBirth); $('dateOfBirth').value = selectedParty.dateOfBirth; jsel.setSelVal($('jurisdiction'), selectedParty.jurisdiction); jsel.setSelVal($('jobTitle'), selectedParty.jobTitle); disable($('surname')); disable($('givenName1')); disable($('givenName2')); disable($('driversLicenceNumber')); disable($('dateOfBirth')); disable($('jurisdiction')); disable($('jobTitle')); } else { enable($('surname')); enable($('givenName1')); enable($('givenName2')); enable($('driversLicenceNumber')); enable($('dateOfBirth')); enable($('jurisdiction')); enable($('jobTitle')); $('partyId').value = -1; $('surname').value = ''; $('givenName1').value = ''; $('givenName2').value = ''; $('driversLicenceNumber').value = ''; $('dateOfBirth').value = ''; jsel.setSelVal($('jurisdiction'), 'BC'); jsel.setSelVal($('jobTitle'), ''); } } function updateSafetyProfileDeclaringParty(declaringParties) { var selectedParty = findParty(objSelData, jsel.getSelVal(declaringParties)); if (selectedParty != '') { $('declaringPartyId').value = selectedParty.partyId; $('declaringSurname').value = selectedParty.surname; $('declaringGivenName1').value = selectedParty.givenName1; $('declaringGivenName2').value = selectedParty.givenName2; $('declaringDriversLicenceNumber').value = selectedParty.driversLicenceNumber; //$('declaringDateOfBirth').value = formatDate(selectedParty.dateOfBirth); $('declaringDateOfBirth').value = selectedParty.dateOfBirth; jsel.setSelVal($('declaringJurisdiction'), selectedParty.jurisdiction); jsel.setSelVal($('declaringJobTitle'), selectedParty.jobTitle); disable($('declaringSurname')); disable($('declaringGivenName1')); disable($('declaringGivenName2')); disable($('declaringDriversLicenceNumber')); disable($('declaringDateOfBirth')); disable($('declaringJurisdiction')); disable($('declaringJobTitle')); } else { enable($('declaringSurname')); enable($('declaringGivenName1')); enable($('declaringGivenName2')); enable($('declaringDriversLicenceNumber')); enable($('declaringDateOfBirth')); enable($('declaringJurisdiction')); enable($('declaringJobTitle')); $('declaringPartyId').value = -1; $('declaringSurname').value = ''; $('declaringGivenName1').value = ''; $('declaringGivenName2').value = ''; $('declaringDriversLicenceNumber').value = ''; $('declaringDateOfBirth').value = ''; jsel.setSelVal($('declaringJurisdiction'), 'BC'); jsel.setSelVal($('declaringJobTitle'), ''); } } function isAlphaNumeric(e) { var k = document.all ? e.keyCode : e.which; return ((k > 47 && k < 58) || (k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 9 || (k == 0) ); } function isNumericKey(e) { var k; document.all ? k = e.keyCode : k = e.which; return ((k > 47 && k < 58) || (k == 8) || (k == 9) || (k == 0) ); } function isLowercase(e) { var k; document.all ? k = e.keyCode : k = e.which; return ((k > 47 && k < 58) || (k == 8) || (k == 9) || (k == 0) ); } function extractNumeric(str) { return str.replace(/\D/g, ""); } /** * Sets the cursor focus to the first text, password, or * textarea field on the first form of the document (if it * exists). * * @return True/False Whether or not the classes were set */ function focusFirstField() { var boolReturn = false ; if (!document || !document.forms || ( document.forms.length < 1 ) || ( !document.forms[1] ) || ( document.forms[1].elements < 1 )) { return boolReturn; } var form = document.forms[1] ; var elements = form.elements ; for (var i = 0; i < elements.length && !boolReturn; i++) { var element = elements[i] ; switch (element.type) { case "text" : case "radio" : case "checkbox" : case "button" : try { element.focus(); element.select(); } catch(e) { } boolReturn = true; break; default : // keep looping break; } } return boolReturn; } /** * Call this function inside a script tag * instead of waiting until the onload event is fired to * call a function. * * @param statement The statement to try to run. * Statement can return true to * break iteration. * @param iInterval Number milliseconds between tries * @param iNumTries Keep trying for iNumTries times * @return nothing */ function tryStatement(statement, iInterval, iNumTries) { var stopTrying = eval(statement) ; if (!stopTrying && ( iNumTries > 0 )) { iNumTries--; functionCall = "tryStatement(" + "'" + statement + "'" + "," + iInterval + "," + iNumTries + ")"; setTimeout(functionCall, iInterval); } } tryStatement("focusFirstField()", 1, 300); function numericOnly(element) { if (element) { element.onkeypress = "return isNumericKey(event)"; element.onchange = new Function('this.value=extractNumeric(this.value)'); return true; } return false; } function showPrintPreview() { var printPreviewWindow = window.open("printPreview.do", "_printPreviewWindow", "height=600,width=600,resizable=1,status=no,toolbar=no,menubar=no,location=no"); try { printPreviewWindow.focus(); } catch(e) { } } function showPrintPreviewWithReceipt() { var printPreviewWindow = window.open("printPreview.do?includeReceipt=true", "_printPreviewWindow", "height=600,width=600,resizable=1,status=no,toolbar=no,menubar=no,location=no"); try { printPreviewWindow.focus(); } catch(e) { } } function showPrintSupportingDocuments() { var printPreviewWindow = window.open("printSupportingDocuments.do", "_printSupportingDocumentsWindow", "height=600,width=600,resizable=1,status=no,toolbar=no,menubar=no,location=no"); try { printPreviewWindow.focus(); } catch(e) { } } function setSelectToNone(select) { var objSelect = $(select); if (objSelect.nodeName == 'SELECT') { for (var i = 0, j = objSelect.options.length; i < j; i++) { if (objSelect.options[i].value == '') { objSelect.selectedIndex = i; } } disable(objSelect); } } function enableSelect(select) { var objSelect = $(select); if (objSelect.nodeName == 'SELECT') { enable(objSelect); } } function syncSafetySelects() { var arrNumbers = ['questionOne','questionTwo','questionThree','questionFour','questionFive','questionSix','questionSeven'] var noMoreQuestions = false; for (var i = 0, nLen = arrNumbers.length; i < nLen && !noMoreQuestions; i++) { if ($(arrNumbers[i] + 'Xmtn') != null) { if ($(arrNumbers[i] + 'Yes').checked) { setSelectToNone(arrNumbers[i] + 'Xmtn'); } else if ($(arrNumbers[i] + 'No').checked) { enableSelect(arrNumbers[i] + 'Xmtn'); } } else { noMoreQuestions = true; } } } document.getElementsByClassName = function (needle) { var my_array = document.getElementsByTagName("*"); var retvalue = new Array(); var i; var j; for (i = 0,j = 0; i < my_array.length; i++) { var c = " " + my_array[i].className + " "; if (c.indexOf(" " + needle + " ") != -1) retvalue[j++] = my_array[i]; } return retvalue; } function HelpHover() { this._mousePosX = 0; this._mousePosY = 0; this._hoverItem = null; this._hoverContents = null; } HelpHover.prototype.init = function() { var hh = this; var helpItems = document.getElementsByClassName('hasHelp'); for (var i = 0; i < helpItems.length; i++) { helpItems[i].onmousemove = function(e) { if (!e) var e = window.event; if (e.pageX || e.pageY) { hh.mousePosX = e.pageX; hh.mousePosY = e.pageY; } else if (e.clientX || e.clientY) { hh.mousePosX = e.clientX + document.documentElement.scrollLeft; hh.mousePosY = e.clientY + document.documentElement.scrollTop; } hh._hoverItem = this; hh._hoverContents = document.getElementById(this.id + 'Help'); hh.move(); showShim(hh); } helpItems[i].onmouseout = function (e) { hh.out(); hideShim(hh); } } } HelpHover.prototype.out = function() { this._hoverContents.style.top = -10000 + 'px'; this._hoverContents.style.left = -10000 + 'px'; this._hoverItem = null; this._hoverContents = null; hideShim(this._hoverContents); } HelpHover.prototype.move = function() { this._hoverContents.style.top = this.mousePosY + 10 + 'px'; this._hoverContents.style.left = this.mousePosX + 10 + 'px'; showShim(this._hoverContents); } function showShim(boxoverObject) { try { with (boxoverShim.style) { left = boxoverObject.style.left; top = boxoverObject.style.top; width = boxoverObject.offsetWidth + "px"; height = boxoverObject.offsetHeight + "px"; zindex = -1; display = (boxoverObject.style.top != '-10000px') ? "block" : "none"; } } catch (e) { } } function hideShim(boxoverObject) { try { boxoverShim.style.display = 'none'; } catch (e) { } }