 /*Code Compressed with JS Code Compressor v.1.0.3 - http://www.sarmal.com/*/var m_sLastButtonPressed = "";var m_bButtonHandlersAdded = false;var m_bWillLoadAjax = false;var m_bOnLoadHandlerHasRun = false;var m_bAlreadySubmitted = false;var m_intervalAutoSave;var m_bAssister = false;var m_bInAutoSave = false;var m_LastAutoSaveTime;var m_nAutoSaveFailure = 0;var m_bShowingDialogAboveForm = false;var msgArray = new Array();msgArray[1000] = "You cannot press buttons while you are assisting someone.\n\n(Except for \'Deactivate Assistance\', to stop assisting).";msgArray[1001] = "If the customer clicks to check spelling, you will only see the initial spell check screen.  You will not see each incorrect word as it is flagged to the customer.";msgArray[1002] = "If the customer downloads a file, for example retrieves a PDF file for printing or opens/saves a form attachment, you will only see the screen where they press the button to get the file.  You will not see the file itself.  (You cannot obtain a copy of the file unless, for example, you ask the customer to save it and email it to you).\n\nIf the customer uploads a file, for example adds an attachment to their form, you will see the screen where they press \'Browse\' to choose a file, but you will not see them navigating through folders on their PC in order to find the file to upload.";function onLoadHandler(){if(m_bOnLoadHandlerHasRun){return;}RecordJavaScriptIsEnabledInHiddenField();switchOffAutoCompleteIfNecessary();var bodyOrDialog = GetBodyOrDialogPseudoBodyElement();insertItems(bodyOrDialog);insertButtonHandlers(bodyOrDialog);showAjaxLink();InsertARIALiveRegionAttributes();ScrollToTopIfSectionErrorShowing();prepareBufferForJAWS();initialiseSpellCheckDialogIfNecessary();m_bAssister = AreWeAssisting();if(m_bAssister){waitForPageChange();}initialiseRichTextAreas();initialiseOtherDateFields(bodyOrDialog);initialiseOtherTimeFields(bodyOrDialog);IfDoingTableInlineRowAddThenNobbleRestOfForm();m_bOnLoadHandlerHasRun = true;}function RecordJavaScriptIsEnabledInHiddenField(){try{document.forms[TLFormName].I_JAVASCRIPTON.value = "1";}catch(err){}}function AreWeAssisting(){if(typeof(m_bCoBrowseMode) != 'undefined' && m_bCoBrowseMode){var sCookie = readCookie(document,'OFCoBrowseMode');if(sCookie){return true;}}return false;}function initialiseSpellCheckDialogIfNecessary(){if(document.forms[TLFormName].I_SCTEXT){initialise();}}var m_bTinyMceIsLoaded = false;function loadTinyMce(){if(!m_bTinyMceIsLoaded){if(typeof(tinyMCE) != "undefined" && tinyMCE){tinyMCE.init({mode : "none",plugins: "paste",theme : "advanced",theme_advanced_buttons1: "cut,copy,paste,pastetext,pasteword,separator,forecolor,fontselect,fontsizeselect",theme_advanced_buttons2: "undo,redo,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,outdent,indent",theme_advanced_buttons3: "",theme_advanced_toolbar_align : "left",theme_advanced_toolbar_location : "top",strict_loading_mode : true,inline_styles : false,button_tile_map : true,valid_elements : "strong/b,-div[align],p[align],ul,li,ol,-i/em,blockquote,-u,br,-font[face|size|color]",width: "100%"});m_bTinyMceIsLoaded = true;}}}function initialiseRichTextAreas(){if(typeof(m_richTextAreasInNobbledFormUnderDialog) != "undefined"){InitialiseRichTextAreasImpl(m_richTextAreasInNobbledFormUnderDialog,true );}if(typeof(m_richTextAreas) != "undefined"){InitialiseRichTextAreasImpl(m_richTextAreas,false );}}function InitialiseRichTextAreasImpl(richTextFieldNamesArray,bForFormUnderDialog){for(var i = 0;i < richTextFieldNamesArray.length;i++){initialiseRichTextArea(richTextFieldNamesArray[i],bForFormUnderDialog);}}var m_RichTextWordCountInterval;var m_bRichTextWordCountIntervalSet = false;function fieldHasWordCount(sFieldName){var sCountNodeName = "TL_ajaxreplace_wordcount_" + sFieldName;var oCountSpanNode = document.getElementById(sCountNodeName);if(oCountSpanNode){return true;}else{return false;}}function setRichTextWordCountTimer(){if(!m_bRichTextWordCountIntervalSet){m_RichTextWordCountInterval = setInterval(richTextWordCountTimer,1000);m_bRichTextWordCountIntervalSet = true;}}function clearRichTextWordCountTimer(){if(m_bRichTextWordCountIntervalSet){clearInterval(m_RichTextWordCountInterval);m_bRichTextWordCountIntervalSet = false;}}function richTextWordCountTimer(){var ctrl = tinyMCE.selectedInstance;if(ctrl && ctrl.formTargetElementId){var sFieldName = ctrl.formTargetElementId.toString().substring(2);textareaUpdateWordCount(sFieldName,textareaCountWordsHTML(ctrl.getHTML()));}}function initialiseRichTextArea(sFieldName,bInFormUnderDialog){if(fieldHasWordCount(sFieldName)){setRichTextWordCountTimer();}var identifiers = new RichTextControlIDs(sFieldName);if(bInFormUnderDialog){identifiers.PrefixForFormUnderDialog();}var oTextArea = document.getElementById(identifiers.textArea);if(oTextArea && oTextArea.disabled != true && typeof(tinyMCE) != "undefined" && tinyMCE){var oDisplay = document.getElementById(identifiers.display);if(oDisplay != null){if(oTextArea.value == "") oTextArea.value = oDisplay.innerHTML;var oHiddenCtrl = document.getElementById(identifiers.hiddenControl);if(oHiddenCtrl){oHiddenCtrl.value = "1";}var old_height_style = oTextArea.style.height;oTextArea.style.height = String((oTextArea.rows * 15) + 45) + "px";tinyMCE.execCommand('mceAddControl',false,identifiers.textArea);oDisplay.style.display = 'none';oTextArea.style.height = old_height_style;}}}function RichTextControlIDs(fieldName){this.textArea = 'F_' + fieldName;this.display = 'disabled_F_' + fieldName;this.hiddenControl = 'FHC_' + fieldName;}RichTextControlIDs.prototype.PrefixForFormUnderDialog = function(){this.textArea = PrefixIdForFormUnderDialog(this.textArea);this.display = PrefixIdForFormUnderDialog(this.display);this.hiddenControl = PrefixIdForFormUnderDialog(this.hiddenControl);};function disableRichTextArea(sArea){if(typeof(tinyMCE) != "undefined" && tinyMCE){var oTextArea = document.getElementById('F_' + sArea);var oDisplay = document.getElementById('disabled_F_' + sArea);tinyMCE.execCommand('mceRemoveControl',false,'F_' + sArea);if(oDisplay) oDisplay.innerHTML = oTextArea.value;if(oTextArea) oTextArea.style.display = 'none';if(oDisplay) oDisplay.style.display = 'block';}}function initialiseOtherDateFields(bodyOrDialog){var oSelects = bodyOrDialog.getElementsByTagName("select");var selectElementCount = oSelects.length;for (var i = 0;i < selectElementCount;i++){var sId = oSelects[i].getAttribute("id");if (sId && sId.search(/DO_/) == 0){var sFieldName = sId = sId.substring(3);var oNoScript = document.getElementById("NS_F_" + sFieldName);if (oNoScript != null){oNoScript.parentNode.removeChild(oNoScript);}var oDay = document.getElementById("DO_" + sFieldName);var oMonth = document.getElementById("MO_" + sFieldName);var oYear = document.getElementById("YO_" + sFieldName);if(oDay != null){oDay.id = "FD_" + sFieldName;oDay.name = "FD_" + sFieldName;}if(oMonth != null){oMonth.id = "FM_" + sFieldName;oMonth.name = "FM_" + sFieldName;}if(oYear != null){oYear.id = "FY_" + sFieldName;oYear.name = "FY_" + sFieldName;}}}}function initialiseOtherTimeFields(bodyOrDialog){var oInputs = bodyOrDialog.getElementsByTagName("input");var inputElementCount = oInputs.length;for (var i = 0;i < inputElementCount;i++){var sId = oInputs[i].getAttribute("id");if (sId && sId.search(/HO_/) == 0){var sFieldName = sId = sId.substring(3);var oNoScript = document.getElementById("NS_F_" + sFieldName);if (oNoScript != null){oNoScript.parentNode.removeChild(oNoScript);}var oHour = document.getElementById("HO_" + sFieldName);var oMinute = document.getElementById("NO_" + sFieldName);if(oHour != null){oHour.id = "FH_" + sFieldName;oHour.name = "FH_" + sFieldName;}if(oMinute != null){oMinute.id = "FN_" + sFieldName;oMinute.name = "FN_" + sFieldName;}}}}function insertButtonHandlers(bodyOrDialog){var list = bodyOrDialog.getElementsByTagName("input");if (!list){return;}var inputElementCount = list.length;for (var i = 0;i < inputElementCount;++i){if ((list[i].type == "submit" || list[i].type == "image") && typeof(list[i].onclick) != "function"){list[i].onclick = storeButtonName;}}m_bButtonHandlersAdded = true;}function showAjaxLink(){var oAjaxLink = document.getElementById("TL_ajaxreplace_toggleajax");if (oAjaxLink){oAjaxLink.style.display = "inline";}}function InsertARIALiveRegionAttributes(){document.body.setAttribute("aria-live","polite");document.body.setAttribute("aria-relevant","all");}function storeButtonName(e){var targ;if (!e){var e = window.event;}if (e.target){targ = e.target;}else if (e.srcElement){targ = e.srcElement;}if (targ.nodeType == 3) 		targ = targ.parentNode;m_sLastButtonPressed = urlencode(targ.name);if(m_bAssister && m_sLastButtonPressed != "BB_DeactivateAssistance" && !BrowserDoesNotSupportTLAjax()){alert(msgArray[1000]);return false;}if(m_bAjaxMode && !BrowserDoesNotSupportTLAjax()){ShowWaitCursor();}}function GetErrorDiv(){return document.getElementById("aj_formmessage");}var m_nErrorSwitchCounter = 0;function ScrollToTopIfSectionErrorShowing(){var oErrorDiv = GetErrorDiv();if (oErrorDiv){var content = oErrorDiv.innerHTML;if(content != ""){if(content.length > 40 && content.substr(0,40).toLowerCase() == "<p class=\"fields mandatoryfieldmessage\">"){}else{var bTableInlineAddRow = IsInsideTableInlineRowAddContent(oErrorDiv);if(bTableInlineAddRow){SetFocusOnSectionError(oErrorDiv);}else{scrollTo(0,0);}m_nErrorSwitchCounter = 0;setTimeout("ToggleInfoClass();",150);if(m_bAjaxMode && !bTableInlineAddRow){SetFocusOnSectionErrorForJAWSAfterDelay();}}}}}function SetFocusOnSectionErrorForJAWSAfterDelay(){setTimeout("SetFocusOnSectionError(null);",1200);}function SetFocusOnSectionError(oErrorDivIn){var oErrorDiv = oErrorDivIn;if(!oErrorDiv){oErrorDiv = GetErrorDiv();}if(oErrorDiv){oErrorDiv.tabIndex = -1;oErrorDiv.focus();}}function ToggleInfoClass(){var oErrorDiv = GetErrorDiv();if (oErrorDiv){if (m_nErrorSwitchCounter <= 7){m_nErrorSwitchCounter++;var nodeCount = oErrorDiv.childNodes.length;for (var i = 0;i < nodeCount;i++){var className = oErrorDiv.childNodes[i].className;if (className == "info" || className == "info2"){oErrorDiv.childNodes[i].className = (className == "info" ? "info2" : "info");}}setTimeout("ToggleInfoClass();",70);}}}function GetTableInlineRowAddDiv(){return document.getElementById("tlTableInlineAddRowContent");}function DoingTableInlineRowAdd(){return (GetTableInlineRowAddDiv() != null);}function IsInsideTableInlineRowAddContent(elem){return ElementIsInsideElement(elem,GetTableInlineRowAddDiv(),8);}function ElementIsInsideElement(childElement,parentElement,maxLevelsToSearch){if(!parentElement || !childElement){return false;}if(parentElement == childElement){return false;}if(!maxLevelsToSearch || maxLevelsToSearch < 1){maxLevelsToSearch = 1000;}var currentElement = childElement;var count = 0;while(currentElement && count <= maxLevelsToSearch){if(currentElement == parentElement){return true;}currentElement = currentElement.parentNode;count++;}return false;}function prepareBufferForJAWS(){if(document.getElementById('virtualbufferupdate')){return;}var objNew = document.createElement('p');var objHidden = document.createElement('input');objNew.setAttribute('class','virtualbufferupdate');objHidden.setAttribute('type','hidden');objHidden.setAttribute('value','1');objHidden.setAttribute('id','virtualbufferupdate');objHidden.setAttribute('name','virtualbufferupdate');objNew.appendChild(objHidden);document.body.appendChild(objNew);}function updateBufferForJAWS(){var objHidden = document.getElementById('virtualbufferupdate');if (objHidden){if (objHidden.getAttribute('value') == '1'){objHidden.setAttribute('value','0');}else{objHidden.setAttribute('value','1');}}}function saveRichTextAreas(){if(typeof(tinyMCE) != "undefined" && tinyMCE){tinyMCE.triggerSave();}}function removeRichTextAreas(){clearRichTextWordCountTimer();if(typeof(tinyMCE) == "undefined" || !tinyMCE){return;}if(typeof(m_richTextAreas) != "undefined"){RemoveRichTextAreasImpl(m_richTextAreas,false );}if(typeof(m_richTextAreasInNobbledFormUnderDialog) != "undefined"){RemoveRichTextAreasImpl(m_richTextAreasInNobbledFormUnderDialog,true );}}function RemoveRichTextAreasImpl(richTextFieldNamesArray,bForFormUnderDialog){for(var i = 0;i < richTextFieldNamesArray.length;i++){var id = 'F_' + richTextFieldNamesArray[i];if(bForFormUnderDialog){id = PrefixIdForFormUnderDialog(id);}var oTextArea = document.getElementById(id);if(oTextArea && oTextArea.disabled != true){tinyMCE.execCommand('mceFocus',false,id);tinyMCE.execCommand('mceRemoveControl',false,id);}}}function sendAjaxRequest(){if(typeof(HideCalendar) == "function"){HideCalendar();}if (!m_bAjaxMode){return true;}m_bOnLoadHandlerHasRun = false;if (!m_bButtonHandlersAdded){if (m_bWillLoadAjax){return false;}else{return true;}}if(BrowserDoesNotSupportTLAjax()){return true;}var oForm = document.forms[TLFormName];var sLastButtonPressed = m_sLastButtonPressed;if(FormContainsFileInput(oForm)){return true;}saveRichTextAreas();try{var oXmlHttp = zXmlHttp.createRequest();oXmlHttp.open("post",getAjaxURL(oForm.action),true);oXmlHttp.setRequestHeader("Content-Type","text/xml");oXmlHttp.onreadystatechange = function (){if (oXmlHttp.readyState == 4){ClearWaitCursor();if (oXmlHttp.status == 200){var oXmlDom = zXmlDom.createDocument();oXmlDom.onreadystatechange = function(){sendAjaxRequest_xmlDomReadyStateChanged(oXmlDom,oXmlHttp,oForm,sLastButtonPressed);};oXmlDom.loadXML(oXmlHttp.responseText);}else{addOrUpdateDefaultButton(oForm,sLastButtonPressed);oForm.submit();}}updateBufferForJAWS();};oXmlHttp.send(getAjaxRequestXml(oForm,false,false));}catch(err){return true;}return false;}function FormContainsFileInput(oForm){var formElements = oForm.elements;var formElementCount = formElements.length;for (var i = 0;i < formElementCount;i++){if (formElements[i].type == "file"){return true;}}return false;}function sendAjaxRequest_xmlDomReadyStateChanged(oXmlDom,oXmlHttp,oForm,sLastButtonPressed){if (typeof oXmlDom.readyState == "undefined"){if(m_bAlreadySubmitted){return false;}else{m_bAlreadySubmitted = true;addOrUpdateDefaultButton(oForm,sLastButtonPressed);oForm.submit();}}if (oXmlDom.readyState == 4 || oXmlDom.readyState == "complete"){if (oXmlDom.parseError.errorCode == 0){try{HandleAjaxReply(oXmlDom,oForm,sLastButtonPressed);}catch (ex){if(ex instanceof TLAjaxException){alert(ex.message);return false;}throw ex;}}else{addOrUpdateDefaultButton(oForm,sLastButtonPressed);oForm.submit();}}}function HandleAjaxReply(oXmlDom,oForm,sLastButtonPressed){setAutoSaveInterval();HandleAjaxReply_Errors(oXmlDom);HandleAjaxReply_Cookies(oXmlDom);HandleAjaxReply_AllElementChanges(oXmlDom,oForm,sLastButtonPressed);HandleAjaxReply_Resync(oXmlDom,oForm,sLastButtonPressed);HandleAjaxReply_Navigate(oXmlDom);}function HandleAjaxReply_AllElementChanges(oXmlDom,oForm,sLastButtonPressed){var oChangeNodes = zXPath.selectNodes(oXmlDom,"ajaxreply/elementchange",null);var changeNodeCount = oChangeNodes.length;if(changeNodeCount <= 0){return;}var sBodyOnLoad = new RefString("");removeRichTextAreas();var richTextAreasSaved = SaveCopyOfRichTextFieldNames();for (var i = 0;i < changeNodeCount;i++){HandleAjaxReply_ElementChange(oChangeNodes[i],oForm,sLastButtonPressed,sBodyOnLoad,richTextAreasSaved);}CallOnLoadHandler(String(sBodyOnLoad));MakeIERedrawToWorkAroundPositioningBugIfNecessary();CalculationsOnAjaxChangeDocument();}function SaveCopyOfRichTextFieldNames(){return m_richTextAreas.slice();}function HandleAjaxReply_ElementChange(changeNode,oForm,sLastButtonPressed,sBodyOnLoad,richTextAreasSaved){var sId = changeNode.getAttribute("id");var oElement = document.getElementById(sId);if (sId == "aj_calculation" || sId == "aj_ajaxmode"|| sId == "aj_numberformats" || sId == "aj_autosave"){AjaxElementChange_InlineScript(changeNode);}else if (sId == "aj_title"){AjaxElementChange_Title(changeNode);}else if (sId == "aj_stylesheet"){AjaxElementChange_StyleSheet(changeNode,oElement);}else if (sId == "aj_scriptlanguagestrings" || sId == "aj_scriptrichtexteditor"){AjaxElementChange_ExternalScript(changeNode);}else if (sId == "aj_body"){sBodyOnLoad.value = getOnLoadEvents(changeNode.text);AjaxElementChange_Body(changeNode,oElement,richTextAreasSaved);}else if (oElement != null){var sRowAction = changeNode.getAttribute("rowaction");if (sRowAction){AjaxElementChange_TableRowAction(sRowAction,changeNode,oForm,oElement);}else{AjaxElementChange_GeneralElement(changeNode,oElement);if(sId == "aj_secbuttons"){ScrollToTopOfPage();}}}}function AjaxElementChange_InlineScript(changeNode){var sScript = changeNode.text;var nStart = sScript.indexOf(">",0);var nEnd = sScript.lastIndexOf("<",sScript.length - 1);if(StartsWithDiv(sScript)){nStart = sScript.indexOf(">",nStart + 1);nEnd = sScript.lastIndexOf("<",nEnd - 1);}nStart = sScript.indexOf("<!--",nStart + 1);nEnd = sScript.lastIndexOf("// -->",nEnd - 1);sScript = sScript.substring(nStart + 4,nEnd);eval(sScript);}function AjaxElementChange_Title(changeNode){var sText = changeNode.text;var nStart = sText.indexOf(">",0);var nEnd = sText.lastIndexOf("<",sText.length - 1);if(StartsWithDiv(sText)){nStart = sText.indexOf(">",nStart + 1);nEnd = sText.lastIndexOf("<",nEnd - 1);}sText = sText.substring(nStart + 1,nEnd);document.title = sText;}function AjaxElementChange_StyleSheet(changeNode,oElement){var sScript = changeNode.text;var nStart = 0;var nEnd = sScript.length;if(StartsWithDiv(sScript)){nStart = sScript.indexOf(">",0);nEnd = sScript.lastIndexOf("<",nEnd - 1);}nStart = sScript.indexOf("href",nStart);nEnd = sScript.lastIndexOf("ofss",nEnd);sScript = sScript.substring(nStart+6,nEnd+4);var customStyle = document.getElementById("TL_CustomStyle");if(customStyle){customStyle.href = sScript;}else{var bSupported = oElement.outerHTML;if (bSupported){document.styleSheets[1].href = sScript;}else{oElement.innerHTML = changeNode.text;oElement.innerHTML = oElement.firstChild.innerHTML;}}}function AjaxElementChange_ExternalScript(changeNode){var sScript = changeNode.text;if(!sScript){return;}var iSrcStart = sScript.indexOf("src=\"",0) + 5;var iSrcEnd = sScript.indexOf("\"",iSrcStart);var sScriptFile = sScript.substring(iSrcStart,iSrcEnd);var oScript = document.createElement('script');var oHead = document.getElementsByTagName('head')[0];oScript.setAttribute('type','text/javascript');oScript.setAttribute('src',sScriptFile);oHead.appendChild(oScript);}function AjaxElementChange_Body(changeNode,oElement,richTextAreasSaved){var sHTML = changeNode.text;var sNewBodyClass = getBodyClass(sHTML);var bHtmlStartsWithDiv = StartsWithDiv(sHTML);var ajBodyDivElement = document.getElementById("aj_bodydiv");var bShowDialogAboveForm = DetermineWhetherToShowDialogAboveForm(sNewBodyClass,ajBodyDivElement,bHtmlStartsWithDiv);if(!m_bShowingDialogAboveForm && bShowDialogAboveForm){AjaxElementChange_Body_FormSectionToDialog(sHTML,sNewBodyClass,ajBodyDivElement,richTextAreasSaved);}else if(m_bShowingDialogAboveForm && bShowDialogAboveForm){AjaxElementChange_Body_DialogToDialog(sHTML,sNewBodyClass,ajBodyDivElement);}else if(m_bShowingDialogAboveForm && !bShowDialogAboveForm){AjaxElementChange_Body_DialogToFormSection(sHTML,sNewBodyClass,ajBodyDivElement);}else{TLAssert(!m_bShowingDialogAboveForm && !bShowDialogAboveForm);AjaxElementChange_Body_Normal(sHTML,sNewBodyClass,oElement,ajBodyDivElement);}}function DetermineWhetherToShowDialogAboveForm(sNewBodyClass,ajBodyDivElement,bHtmlStartsWithDiv){if(CanShowDialogAboveForm(ajBodyDivElement,bHtmlStartsWithDiv)){if(ContainsInstructionToShowDialogAboveForm(sNewBodyClass)){if(!AlreadyShowingDialogButNotAboveForm()){return true;}}}return false;}function CanShowDialogAboveForm(ajBodyDivElement,bHtmlStartsWithDiv){if(IsIE6OrBelow()){return false;}if(!ajBodyDivElement){return false;}if(bHtmlStartsWithDiv){return false;}return true;}function ContainsInstructionToShowDialogAboveForm(sClass){var classArray = SafeSplit(sClass);return ArrayContains(classArray,"TLAjaxHintShowDialogAboveForm");}function AlreadyShowingDialogButNotAboveForm(){if(ContainsClassNameThatIndicatesItIsADialog(document.body.attributes["class"].value)){return true;}return false;}function ContainsClassNameThatIndicatesItIsADialog(sClass){var classArray = SafeSplit(sClass);if(   ArrayContains(classArray,"dialogbody")|| ArrayContains(classArray,"TLAjaxHintShowDialogAboveForm")|| ArrayContains(classArray,"TLAjaxHintDoNotShowDialogAboveForm")  ){return true;}return false;}function AppendDialogAboveFormClassName(sClassIn){if(sClassIn){return sClassIn + " dialogaboveform";}return "dialogaboveform";}function AjaxElementChange_Body_FormSectionToDialog(sHTMLIn,sNewBodyClassIn,oldBodyDiv,richTextAreasSaved){TLAssert(!m_bShowingDialogAboveForm);NobbleOldFormSectionToBeShownUnderModalDialog(oldBodyDiv);oldBodyDiv.className = document.body.attributes["class"].value;document.body.attributes["class"].value = GetBrowserTypeCssClassName();oldBodyDiv.id = PrefixIdForFormUnderDialog("aj_bodydiv");var overlayDiv = CreateAndInsertModalDialogOverlayDiv(oldBodyDiv);var newBodyDiv = document.createElement("div");document.body.insertBefore(newBodyDiv,overlayDiv);var sHTML = RemoveContainingElement(sHTMLIn);sHTML = RemoveContainingElement(sHTML);sHTML = ChangeFormNameForDialogOnTop(sHTML);TLFormName = TL_FORM_NAME_DIALOG;var sNewBodyClass = AppendDialogAboveFormClassName(sNewBodyClassIn);if(newBodyDiv.outerHTML){sHTML = '<div id="aj_bodydiv" class="' + sNewBodyClass + '">' + sHTML + '</div>';newBodyDiv.outerHTML = sHTML;}else{newBodyDiv.innerHTML = sHTML;newBodyDiv.id = "aj_bodydiv";newBodyDiv.className = sNewBodyClass;}m_richTextAreasInNobbledFormUnderDialog = richTextAreasSaved;InsertDialogAboveFormAccessibilityMessage();CentreDialogVertically();m_bShowingDialogAboveForm = true;}function CentreDialogVertically(){var dialogOuterDiv = document.getElementById("tldialogouter");if(!dialogOuterDiv){TLAssert(false);return;}var dialogHeight = dialogOuterDiv.offsetHeight;var viewportHeight = Screen.getViewportHeight();var pixelsAbove = Screen.getScrollTop();if(dialogHeight < viewportHeight){pixelsAbove += (viewportHeight - dialogHeight) / 2;}else{}if(pixelsAbove < 0){TLAssert(false);pixelsAbove = 0;}CSS.setStyle(dialogOuterDiv,"margin-top",pixelsAbove + "px");}function GetBrowserTypeCssClassName(){if(typeof(m_browserTypeCssClassName) == "undefined" || !m_browserTypeCssClassName){TLAssert(false,"m_browserTypeCssClassName not set by fragments");return "";}return m_browserTypeCssClassName;}function CreateAndInsertModalDialogOverlayDiv(referenceElement){if(DEBUG){TLAssert(!document.getElementById("modaldialogoverlay"),"About to create duplicate div with id='modaldialogoverlay'");}var overlayDiv = document.createElement("div");document.body.insertBefore(overlayDiv,referenceElement);overlayDiv.className = "modaldialogoverlay";overlayDiv.id = "modaldialogoverlay";overlayDiv.onclick = function(){return false;};setTimeout("SetSizeOfModalOverlayToCoverEntirePage(\"modaldialogoverlay\");",100);return overlayDiv;}function SetSizeOfModalOverlayToCoverEntirePage(overlayDivId){var overlayDiv = document.getElementById(overlayDivId);if(overlayDiv){overlayDiv.style.width = GetDocumentWidthIncludingOverflow() + "px";overlayDiv.style.height = GetDocumentHeight() + "px";}}function GetDocumentWidthIncludingOverflow(){var width = Screen.getDocumentWidth();return Math.max(width,document.documentElement.scrollWidth)}function GetDocumentHeight(){return Screen.getDocumentHeight();}function InsertDialogAboveFormAccessibilityMessage(){var span = document.getElementById("HiddenDialogAboveFormAccessibilityMessage");if(span){span.style.display = "inline";}}function AjaxElementChange_Body_DialogToDialog(sHTMLIn,sNewBodyClassIn,bodyDiv){TLAssert(m_bShowingDialogAboveForm);var sHTML = RemoveContainingElement(sHTMLIn);sHTML = RemoveContainingElement(sHTML);sHTML = ChangeFormNameForDialogOnTop(sHTML);TLAssert(TLFormName == TL_FORM_NAME_DIALOG);var sNewBodyClass = AppendDialogAboveFormClassName(sNewBodyClassIn);if(bodyDiv.outerHTML){sHTML = '<div id="aj_bodydiv" class="' + sNewBodyClass + '">' + sHTML + '</div>';bodyDiv.outerHTML = sHTML;}else{bodyDiv.innerHTML = sHTML;bodyDiv.id = "aj_bodydiv";bodyDiv.className = sNewBodyClass;}InsertDialogAboveFormAccessibilityMessage();CentreDialogVertically();}function AjaxElementChange_Body_DialogToFormSection(sHTMLIn,sNewBodyClass,oldBodyDiv){TLAssert(m_bShowingDialogAboveForm);var sHTML = RemoveContainingElement(sHTMLIn);if(document.body.outerHTML){document.body.innerHTML = '<div id="aj_bodydiv"></div>';var newBodyDiv = document.getElementById("aj_bodydiv");if(DEBUG && (!newBodyDiv || newBodyDiv.id != "aj_bodydiv" || newBodyDiv.outerHTML == oldBodyDiv.outerHTML)){TLAssert(false,"Error: DOM latency! We haven't got the newBodyDiv we just added, or it has been created incorrectly.");}newBodyDiv.outerHTML = sHTML;}else{document.body.innerHTML = sHTML;}TLFormName = TL_FORM_NAME_STANDARD;document.body.attributes["class"].value = sNewBodyClass;m_richTextAreasInNobbledFormUnderDialog = [];m_bShowingDialogAboveForm = false;}function ChangeFormNameForDialogOnTop(sHTML){var iStart = sHTML.indexOf("<form",0);var iEnd = sHTML.indexOf(">",iStart + 1);if(iStart == -1 || iEnd == -1){alert("Error: Failed to find <form> element in HTML received via AJAX");return sHTML;}var sFormTagOriginal = sHTML.substring(iStart,iEnd + 1);var sFormTagUpdated = sFormTagOriginal.replace('name="' + TL_FORM_NAME_STANDARD + '"','name="' + TL_FORM_NAME_DIALOG + '"');TLAssert(sFormTagOriginal != sFormTagUpdated);var sUpdatedHTML = sHTML.substring(0,iStart) + sFormTagUpdated + sHTML.substring(iEnd + 1);return sUpdatedHTML;}function NobbleOldFormSectionToBeShownUnderModalDialog(ajBodyDivElement){NobbleFormElement();NobbleOldBodyContents(ajBodyDivElement);}function NobbleFormElement(){var form = document.forms[TLFormName];form.action = '';form.onsubmit = function(){return false;};}function NobbleOldBodyContents(container){RemoveSkipLinksAndTargets(container);var list = container.getElementsByTagName('*');var listLength = list.length;for(var i = 0;i < listLength;i++){var node = list[i];if(node.nodeType == 1 ){if(node.id){node.id = PrefixIdForFormUnderDialog(node.id);}if(node.nodeName == 'LABEL' && node.htmlFor){node.htmlFor = PrefixIdForFormUnderDialog(node.htmlFor);}MakeNonTabbable(node);if(node.nodeName == 'A'){NobbleLink(node);}else if(node.onclick){node.onclick = function(){return false;};}}}}function PrefixIdForFormUnderDialog(sId){return "ajOldId_" + sId;}function MakeNonTabbable(element){if(element.tabIndex == -1){return;}switch(element.nodeName){case 'DIV':case 'SPAN':case 'P':case 'BR':case 'FIELDSET':case 'LEGEND':case 'TABLE':case 'THEAD':case 'TBODY':case 'TH':case 'TD':break;default:element.tabIndex = -1;}}var m_skipLinkNames = ['snav','secnav','Top'];function RemoveSkipLinksAndTargets(container){var pageUrlWithHash = StripNamedLinkTarget(StripQueryString(window.location.href)) + "#";var linksToRemove = [];var skipLinkHrefs = [];for(var i = 0;i < m_skipLinkNames.length;i++){skipLinkHrefs.push(pageUrlWithHash + m_skipLinkNames[i]);}var links = container.getElementsByTagName('A');var linkCount = links.length;for(var i = 0;i < linkCount;i++){var link = links[i];var bMarkedForRemoval = false;var linkName = link.name;if(linkName){if(ArrayContains(m_skipLinkNames,linkName)){linksToRemove.push(link);bMarkedForRemoval = true;}}if(!bMarkedForRemoval){var linkHref = link.href;if(linkHref){if(ArrayContains(skipLinkHrefs,linkHref)){linksToRemove.push(link);}}}}var i = linksToRemove.length;while(i > 0){i--;DOM.removeNode(linksToRemove[i]);}}function StripQueryString(url){return TruncateStringAfterFirstInstanceOf(url,'?');}function StripNamedLinkTarget(url){return TruncateStringAfterFirstInstanceOf(url,'#');}function TruncateStringAfterFirstInstanceOf(stringToTruncate,stringToFind){var charIndex = stringToTruncate.indexOf(stringToFind);if(charIndex != -1){return stringToTruncate.substring(0,charIndex);}return stringToTruncate;}function NobbleLink(element){if(element.href){element.href = '#';}else{}element.onclick = function(){return false;};if(element.name){if(DEBUG){TLAssert(!ArrayContains(m_skipLinkNames,element.name),"Skip link was not removed");}element.name = "ajOldName_" + element.name;}}function AjaxElementChange_Body_Normal(sHTML,sBodyClass,oElement,ajBodyDivElement){var bDoingTableInlineRowAddBeforeBodyChangeApplied = DoingTableInlineRowAdd();AjaxElementChange_Body_NormalImpl(sHTML,sBodyClass,oElement,ajBodyDivElement);var bDoingTableInlineRowAdd = DoingTableInlineRowAdd();if(bDoingTableInlineRowAddBeforeBodyChangeApplied == bDoingTableInlineRowAdd){ScrollToTopOfPage();}else{if(bDoingTableInlineRowAdd){setTimeout("SetFocusOnFirstElementInInlineRowAddDiv();",300);}else{setTimeout("SafeSetFocus(GetLastElementWithName(\"" + "BTA_" + m_sNameOfLastTableBeingEditedInline + "\"));",300);}}}function AjaxElementChange_Body_NormalImpl(sHTML,sBodyClass,oElement,ajBodyDivElement){if(oElement.outerHTML){if(StartsWithDiv(sHTML)){TLAssert(oElement.nodeName == "DIV","outerHTML (IE proprietary property) is read-only on <body>");oElement.outerHTML = sHTML;}else{TLAssert(oElement == document.body,"AjaxElementChange_Body_Normal: oElement != document.body");sHTML = RemoveContainingElement(sHTML);if(!ajBodyDivElement){alert('Failed to get body div element');}else{ajBodyDivElement.outerHTML = sHTML;}}}else{sHTML = RemoveContainingElement(sHTML);oElement.innerHTML = sHTML;}document.body.attributes["class"].value = sBodyClass;}function StartsWithDiv(sHTML){return (sHTML.substring(0,4).toLowerCase() == '<div');}function AjaxElementChange_GeneralElement(changeNode,oElement){var bSupported = oElement.outerHTML;if (bSupported){oElement.outerHTML = changeNode.text;}else{var sHTML = changeNode.text;sHTML = RemoveContainingElement(sHTML);oElement.innerHTML = sHTML;}}function ScrollToTopOfPage(){setTimeout("scrollTo(0, 0);",1);}function RemoveContainingElement(sHTML){return sHTML.substring(sHTML.indexOf('>') + 1,sHTML.lastIndexOf('<'));}function AjaxElementChange_TableRowAction(sRowAction,changeNode,oForm,oElement){var nTableRow = parseInt(changeNode.getAttribute("tablerow"));var nDOMRows = oElement.rows.length - 1;try{if (sRowAction == "DELETE"){AjaxElementChange_TableRowDelete(oElement,nDOMRows,nTableRow);}else if (sRowAction == "ADD" || sRowAction == "EDIT"){AjaxElementChange_TableRowAddOrEdit(sRowAction,changeNode,oElement,nDOMRows,nTableRow);}else{throw new TLAjaxException("Invalid table row action:" + sRowAction);}}catch(ex){if(ex instanceof TLAjaxException){addOrUpdateDefaultButton(oForm,sLastButtonPressed);oForm.submit();}else{throw ex;}}}function AjaxElementChange_TableRowDelete(oElement,nDOMRows,nTableRow){if (nDOMRows >= nTableRow){oElement.deleteRow(nTableRow);}else{throw new TLAjaxException("Trying to delete table id '" + oElement.id + "' row: " + nTableRow + " but the table only has " + nDOMRows + " rows");}}function AjaxElementChange_TableRowAddOrEdit(sRowAction,changeNode,oElement,nDOMRows,nTableRow){var oHTMLRowObject,oRowNode,oTDNodes;var oRowDOMObject= zXmlDom.createDocument();var sXML = changeNode.text;sXML = sXML.replace(/&nbsp;/gi,"&#160;");sXML = sXML.replace(/&copy;/gi,"&#169;");oRowDOMObject.loadXML(sXML);oRowNode = zXPath.selectSingleNode(oRowDOMObject,"tr",null);oTDNodes = zXPath.selectNodes(oRowDOMObject,"tr/td",null);if (!oRowNode || !oTDNodes){throw new TLAjaxException("Failed to locate <tr> Node or <td> Node list from the changeelement data returned");}else{var bReAddRow = false;if (nTableRow <= nDOMRows && oElement.rows[nTableRow].cells.length != oTDNodes.length){bReAddRow = true;}if (sRowAction == "ADD" || bReAddRow){if (sRowAction == "ADD"){oHTMLRowObject = oElement.insertRow(oElement.rows.length);}else{oHTMLRowObject = oElement.insertRow(nTableRow);oElement.deleteRow(nTableRow + 1);}oHTMLRowObject.id = oRowNode.getAttribute("id");AjaxElementChange_TableRowAdd_SetCellAttributes(oTDNodes,oHTMLRowObject);}else{if (nTableRow <= nDOMRows){oHTMLRowObject = oElement.rows[nTableRow];AjaxElementChange_TableRowEdit_SetCellAttributes(oTDNodes,oHTMLRowObject);}else{throw new TLAjaxException("Trying to edit table id '" + oElement.id + "' row: " + nTableRow + " but the table only has " + nDOMRows + " rows");}}if (oHTMLRowObject && oHTMLRowObject.cells.length == oTDNodes.length){var tdElementCount = oTDNodes.length;for (var j = 0;j < tdElementCount;j++){var strCellData = oTDNodes[j].xml;strCellData = RemoveContainingElement(strCellData);oHTMLRowObject.cells[j].innerHTML = strCellData;}}else{throw new TLAjaxException("oHTMLRowObject is null or returned row cells count does not match HTML row cells count");}}}function AjaxElementChange_TableRowAdd_SetCellAttributes(oTDNodes,oHTMLRowObject){var tdElementCount = oTDNodes.length;for (var j = 0;j < tdElementCount;j++){var oCell = oHTMLRowObject.insertCell(j);var attributeCount = oTDNodes[j].attributes.length;for (var k = 0;k < attributeCount;k++){oCell.setAttribute(oTDNodes[j].attributes[k].name,oTDNodes[j].attributes[k].value);if (oTDNodes[j].attributes[k].name == "style" && oTDNodes[j].attributes[k].value == "display: none;"){oCell.style.display = "none";}}}}function AjaxElementChange_TableRowEdit_SetCellAttributes(oTDNodes,oHTMLRowObject){var tdElementCount = oTDNodes.length;for (var j = 0;j < tdElementCount;j++){for (var l = oHTMLRowObject.cells[j].attributes.length-1;l >= 0;l--){oHTMLRowObject.cells[j].removeAttribute(oHTMLRowObject.cells[j].attributes[l].nodeName);}var attributeCount = oTDNodes[j].attributes.length;for (var k = 0;k < attributeCount;k++){var strAttName = oTDNodes[j].attributes[k].name;if (document.all){if (strAttName == "class"){strAttName = "className";}else if (strAttName == "for"){strAttName = "htmlFor";}}oHTMLRowObject.cells[j].setAttribute(strAttName,oTDNodes[j].attributes[k].value);if (strAttName == "style" && oTDNodes[j].attributes[k].value == "display: none;"){oHTMLRowObject.cells[j].style.display = "none";}}}}function HandleAjaxReply_Errors(oXmlDom){var oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/error",null);if (oNode){throw new TLAjaxException(oNode.text);}var oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/xmlerror",null);if (oNode){alert(oNode.text);}}function	HandleAjaxReply_Cookies(oXmlDom){var oCookieNodes = zXPath.selectNodes(oXmlDom,"ajaxreply/setcookie",null);for (var i = 0;i < oCookieNodes.length;i++){var sCookie = oCookieNodes[i].text;sCookie = decodeURI(sCookie);document.cookie = sCookie;}}function HandleAjaxReply_Resync(oXmlDom,oForm,sLastButtonPressed){var oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/resync",null);if (oNode && oNode.text == "true"){var oURLNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/url",null);if (oURLNode != null){oForm.action = oURLNode.text;}var oInstNumAndHashNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/insthash",null);if (oInstNumAndHashNode && oForm.elements.I_INSTHASH){oForm.elements.I_INSTHASH.value = oInstNumAndHashNode.text;}addOrUpdateDefaultButton(oForm,sLastButtonPressed);oForm.submit();}}function	HandleAjaxReply_Navigate(oXmlDom){var oNavNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/navigate",null);if (oNavNode){document.location = oNavNode.text;}}function getAjaxURL(sURL){var iDotOfml = sURL.toLowerCase().indexOf(".ofml");if (iDotOfml > 0){return sURL.substr(0,iDotOfml) + ".ofaj" + sURL.substring(iDotOfml + 5,sURL.length);}else{throw new Error("Failed to getAjaxURL from " + sURL);}}function getAjaxRequestXml(oForm,bForSave,bForWait){var sReturn = "<ajaxrequest>";if(oForm.elements.I_INSTHASH){sReturn += ("<insthash>" + oForm.elements.I_INSTHASH.value + "</insthash>");}else{if(DEBUG){alert('Form does not contain I_INSTHASH hidden field');}}sReturn += "<post url='" + oForm.action + "'>";if(bForSave == true){if(m_bAutoSaveData == true && m_bHasAutoSaved){sReturn += escapeForXml(getQueryString(oForm));}sReturn += "</post>";sReturn += "<saving>TRUE</saving>";}else{if(bForWait){sReturn += "</post><wait>" + oForm.elements.I_PAGENUM.value + "</wait>";}else{sReturn += escapeForXml(getQueryString(oForm));sReturn += "</post>";}}sReturn += "</ajaxrequest>";return sReturn;}function escapeForXml(str){var sEscapedString = "";var sChar;var stringLength = str.length;for(var i = 0;i < stringLength;i++){sChar = str.charAt(i);switch (sChar){case "<":{sChar = "&lt;";break;}case ">":{sChar = "&gt;";break;}case "&":{sChar = "&amp;";break;}case '"':{sChar = "&quot;";break;}case "'":{sChar = "&#039;";break;}}sEscapedString = sEscapedString + sChar;}return sEscapedString;}function getQueryString(oForm){var aParams = new Array();var formElementCount = oForm.elements.length;for (var i = 0;i < formElementCount;i++){var sParam = toQueryComponent(oForm.elements[i]);if (sParam != "") aParams.push(sParam);}if (m_sLastButtonPressed != ""){aParams.push(m_sLastButtonPressed + "=");}m_sLastButtonPressed = "";return aParams.join("&");}function toQueryComponent(input){if (!input.name || input.disabled)return "";var n = urlencode(input.name);switch (input.type){case "text":case "password":case "hidden":return n + "=" + urlencode(input.value);case "textarea":var v = input.value.replace(/(\r\n)|\r|\n/g,"\r\n");return n + "=" + urlencode(v);case "checkbox":case "radio":if (!input.checked)return "";var v = getRealValue(input);if (v === null) v = "on";return n + "=" + urlencode(v);case "select-one":case "select-multiple":var nvp = [];var opt,i = 0;while ((opt = input.options[i++]) != null){if (opt.selected){var v = getRealValue(opt);if (v === null) v = opt.text;var namevalue = n + "=";if (v != null){namevalue += urlencode(v);}nvp[nvp.length] = namevalue;}}return nvp.join("&");default:return "";}}function urlencode(str){var v;try{v = escape(str);}catch (e){v = encodeURIComponent(str);}v = v.replace(/\+/g,"%2B");return v.replace(/%20/g,"+");}function getRealValue(input){var attr = input.getAttributeNode("value");return (attr) ? input.getAttribute("value") : null;}function getOnLoadEvents(str){var iEventStart = str.search(/ onload=["].*["]/);if(iEventStart >= 0){iEventStart += 9;var iEventEnd = str.indexOf("\"",iEventStart + 1);return str.substring(iEventStart,iEventEnd);}else{return "";}}function getBodyClass(str){var iClassStart = str.search(/[<]body class=["].*["]/);if(iClassStart >= 0){iClassStart += 13;var iClassEnd = str.indexOf("\"",iClassStart + 1);return str.substring(iClassStart,iClassEnd);}else{return "";}}function IsIE55AndBelow(){var ua,s,i;ua = navigator.userAgent;s = "MSIE";if((i = ua.indexOf(s)) < 0) return false;var version = parseFloat(ua.substr(i + s.length));if(version < 5.6){return true;}return false;}function IsSafari(){var ua = navigator.userAgent.toLowerCase();if(ua.indexOf("safari") < 0){return false;}if(ua.indexOf("chrome") >= 0){return false;}return true;}function IsIE(){if(navigator.userAgent.indexOf("MSIE") < 0){return false;}if(window.opera){return false;}return true;}function doInitialAutoSave(){doAutoSave();m_bHasAutoSaved = true;setAutoSaveInterval();}function doAutoSave(){if(m_bAssister){return;}var oForm = document.forms[TLFormName];if(oForm && oForm.I_AUTOSAVEOFF && oForm.I_AUTOSAVEOFF.value){if(m_intervalAutoSave){clearInterval(m_intervalAutoSave);}return;}if(m_bInAutoSave){var now = new Date();if(m_LastAutoSaveTime && now.getTime() - m_LastAutoSaveTime.getTime() > 300000){m_nAutoSaveFailure++;}else{return;}}if(m_nAutoSaveFailure >= 3){if(m_intervalAutoSave){clearInterval(m_intervalAutoSave);}return;}m_bInAutoSave = true;m_LastAutoSaveTime = new Date();try{var oXmlHttp = zXmlHttp.createRequest();oXmlHttp.open("post",getAjaxURL(oForm.action),true);oXmlHttp.setRequestHeader("Content-Type","text/xml");oXmlHttp.onreadystatechange = function (){if (oXmlHttp.readyState == 4){m_bInAutoSave = false;if (oXmlHttp.status == 200){var oXmlDom = zXmlDom.createDocument();oXmlDom.onreadystatechange = function(){if (typeof oXmlDom.readyState == "undefined"){return;}if (oXmlDom.readyState == 4 || oXmlDom.readyState == "complete"){if (oXmlDom.parseError.errorCode == 0){var oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/error",null);if (oNode){m_nAutoSaveFailure++;return;}oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/xmlerror",null);if (oNode){m_nAutoSaveFailure++;}oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/resync",null);if(oNode){m_nAutoSaveFailure++;}oNode = zXPath.selectSingleNode(oXmlDom,"ajaxreply/saved",null);if(oNode){m_nAutoSaveFailure = 0;}}else{m_nAutoSaveFailure++;}}};oXmlDom.loadXML(oXmlHttp.responseText);}else{m_nAutoSaveFailure++;}}};oXmlHttp.send(getAjaxRequestXml(oForm,true,false));}catch(err){return;}}function setAutoSaveInterval(){m_nAutoSaveFailure = 0;if(m_intervalAutoSave){clearInterval(m_intervalAutoSave);}if(!m_bHasAutoSaved){setTimeout("doInitialAutoSave()",5000);}else{if(m_nInterval > 0){m_intervalAutoSave = setInterval("doAutoSave()",m_nInterval);}}}function waitForPageChange(){var oForm = document.forms[TLFormName];try{var oXmlHttp = zXmlHttp.createRequest();oXmlHttp.open("post",getAjaxURL(oForm.action),true);oXmlHttp.setRequestHeader("Content-Type","text/xml");oXmlHttp.onreadystatechange = function (){if (oXmlHttp.readyState == 4){if (oXmlHttp.status == 200){var oXmlDom = zXmlDom.createDocument();oXmlDom.onreadystatechange = function(){if (typeof oXmlDom.readyState == "undefined"){oForm.submit();return;}if (oXmlDom.readyState == 4 || oXmlDom.readyState == "complete"){oForm.submit();}};oXmlDom.loadXML(oXmlHttp.responseText);}else{}}};oXmlHttp.send(getAjaxRequestXml(oForm,false,true));}catch(err){return;}}function BrowserDoesNotSupportTLAjax(){if(window.opera){return true;}if(IsIE55AndBelow()){return true;}if(IsSafari()){return true;}if(!BrowserSupportsXPath()){return true;}return false;}function BrowserSupportsXPath(){if(typeof(XPathEvaluator) != "undefined"){return true;}if(zXml && zXml.useActiveX){return true;}return false;}function ClearWaitCursor(){SetCursorOnBodyAndButtons('');}function ShowWaitCursor(){SetCursorOnBodyAndButtons('progress');}function SetCursorOnBodyAndButtons(sCursor){if(document.body.style.cursor == sCursor){return;}document.body.style.cursor = sCursor;var list = document.getElementsByTagName('input');if(list){var elementCount = list.length;for(var i = 0;i < elementCount;++i){list[i].style.cursor = sCursor;}}}function ajaxLoadStringTable(){if(typeof(m_javaStringTable) == "undefined"){return;}var nCount = msgArray.length + 1000;for(var i = 1000;i < nCount;i++){if(typeof(m_javaStringTable[i]) != "undefined"){msgArray[i] = m_javaStringTable[i];}}}function ReloadLinkClicked(sQueryString){m_sLastButtonPressed = sQueryString + '&BB_Reload';if(!sendAjaxRequest()){return false;}else{var oForm = document.forms[TLFormName];addOrUpdateDefaultButton(oForm,'BB_Reload');if(oForm.action.indexOf('?') == -1){oForm.action += ('?' + sQueryString);}else{oForm.action += ('&' + sQueryString);}oForm.submit();return false;}}function CallOnLoadHandler(sBodyOnLoad){if(sBodyOnLoad != ""){if(typeof(CallBOOnLoadHandlerWithoutEval) == "function"){sBodyOnLoad = CallBOOnLoadHandlerWithoutEval(sBodyOnLoad);}if(sBodyOnLoad == "onLoadHandler();"){onLoadHandler();}else{eval(sBodyOnLoad);}}else{window.onload();}}function switchOffAutoCompleteIfNecessary(){if(typeof(m_bAutoCompleteOff) != "undefined" && m_bAutoCompleteOff){document.forms[TLFormName].setAttribute("autocomplete","off");}}function ArrayIndexOf(array,item){var i = array ? array.length : 0;while(i > 0){i--;if(array[i] == item){return i;}}return -1;}function ArrayContains(array,item){return (ArrayIndexOf(array,item) != -1);}function TLAjaxException(message){this.message = message;}TLAjaxException.prototype = new Error();function RefString(s){this.value = s;}RefString.prototype.toString = function(){return this.value;};RefString.prototype.charAt = String.prototype.charAt;function TLAssert(bCondition,sDescription){if(DEBUG && !bCondition){var message = "Assert fail";if(sDescription){message += "\n\n" + sDescription;}alert(message);}}function MakeIERedrawToWorkAroundPositioningBugIfNecessary(){TLAssert(m_bAjaxMode);var inlineAddDiv = GetTableInlineRowAddDiv();if(inlineAddDiv){inlineAddDiv.className = inlineAddDiv.className;}}function IfDoingTableInlineRowAddThenNobbleRestOfForm(){if(m_bShowingDialogAboveForm){return;}var inlineRowAddDiv = GetTableInlineRowAddDiv();if(!inlineRowAddDiv){return;}setTimeout("SetSizeOfModalOverlayToCoverEntirePage(\"modalinlinetableoverlay\");",100);RemoveSkipLinksAndTargets(document.body);var list = document.body.getElementsByTagName('*');var listLength = list.length;var childList = inlineRowAddDiv.getElementsByTagName('*');for(var i = 0;i < listLength;i++){var node = list[i];if(node == inlineRowAddDiv){i += childList.length + 1;TLAssert(i < listLength);continue;}if(node.nodeType == 1 ){MakeNonTabbable(node);if(node.nodeName == 'A'){NobbleLink(node);}else if(node.onclick){node.onclick = function (){return false;};}}}}function SetFocusOnFirstElementInInlineRowAddDiv(){SafeSetFocus(GetFirstInputElementIn(GetTableInlineRowAddDiv()));}function SafeSetFocus(element){if(element){element.focus();}}function GetFirstInputElementIn(container){var list = container.getElementsByTagName("input");if(list && list.length){return list[0];}return null;}function GetLastElementWithName(elementName){if(elementName){if(!document.getElementsByName){TLAssert(false,"document.getElementsByName not defined");}else{var list = document.getElementsByName(elementName);if(list && list.length){return list[list.length - 1];}}}return null;}var m_sDateFieldCalendarDisplayedFor;function writeCalendar(oFieldDate){var dateFieldName = oFieldDate.name.substring(7);if(m_sDateFieldCalendarDisplayedFor && (dateFieldName != m_sDateFieldCalendarDisplayedFor)){HideCalendar();}displayDatePicker(dateFieldName,oFieldDate);m_sDateFieldCalendarDisplayedFor = dateFieldName;AddBodyEventHandlersForCalendar();}var datePickerDivID = "tldatepicker";var iFrameDivID = "tldatepickeriframe";var dayArrayShort = new Array('Su','Mo','Tu','We','Th','Fr','Sa');var monthArrayLong = new Array('January','February','March','April','May','June','July','August','September','October','November','December');var defaultDateSeparator = "/";var defaultDateFormat = "dmy";var dateSeparator = defaultDateSeparator;var dateFormat = defaultDateFormat;function displayDatePicker(dateFieldName,displayBelowThisObject,dtFormat,dtSep){if(dtSep){dateSeparator = dtSep;}else{dateSeparator = defaultDateSeparator;}if(dtFormat){dateFormat = dtFormat;}else{dateFormat = defaultDateFormat;}var x = displayBelowThisObject.offsetLeft + displayBelowThisObject.offsetWidth;var y = displayBelowThisObject.offsetTop;var parent = displayBelowThisObject;while(parent.offsetParent){parent = parent.offsetParent;if(parent.nodeName.toLowerCase() == "body" && ElementIsPositioned(parent)){}else{x += parent.offsetLeft;y += parent.offsetTop;}}drawDatePicker(dateFieldName,x,y);}function ElementIsPositioned(element){var myStyle = GetCurrentStyle(element);if(myStyle){if(myStyle.position == "relative" || myStyle.position == "absolute"){return true;}}return false;}function GetCurrentStyle(element){if(!element) return null;if(element.currentStyle){return element.currentStyle;}if(window.getComputedStyle){return window.getComputedStyle(element,null);}if(DEBUG) alert("currentStyle/getComputedStyle not supported");return null;}function drawDatePicker(dateFieldName,x,y){var dt = GetJSDateFromTLDateFields(dateFieldName);if(!document.getElementById(datePickerDivID)){var newNode = document.createElement("div");newNode.setAttribute("id",datePickerDivID);newNode.setAttribute("class","dpDiv");newNode.setAttribute("style","visibility: hidden;");document.body.appendChild(newNode);}var pickerDiv = document.getElementById(datePickerDivID);pickerDiv.style.position = "absolute";pickerDiv.style.left = x + "px";pickerDiv.style.top = y + "px";pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible");pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block");pickerDiv.style.zIndex = 10000;refreshDatePicker(dateFieldName,dt.getFullYear(),dt.getMonth(),dt.getDate());}function refreshDatePicker(dateFieldName,year,month,day){var thisDay = new Date();if((month >= 0) && (year > 0)){thisDay = new Date(year,month,1);}else{day = thisDay.getDate();thisDay.setDate(1);}var crlf = "\r\n";var TABLE = "<table cols=7 class='dpTable'>" + crlf;var xTABLE = "</table>" + crlf;var TR = "<tr class='dpTR'>";var TR_title = "<tr class='dpTitleTR'>";var TR_days = "<tr class='dpDayTR'>";var TR_todaybutton = "<tr class='dpTodayButtonTR'>";var xTR = "</tr>" + crlf;var TD = "<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ";var TDsatsun = "<td class='dpTDsatsun' onMouseOut='this.className=\"dpTDsatsun\";' onMouseOver=' this.className=\"dpTDHover\";' ";var TDblank = "<td class='dpTD'>";var TD_title = "<td colspan=5 class='dpTitleTD'>";var TD_buttons = "<td class='dpButtonTD'>";var TD_todaybutton = "<td colspan=7 class='dpTodayButtonTD'>";var TD_days = "<td class='dpDayTD'>";var TD_selected = "<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";var xTD = "</td>" + crlf;var DIV_title = "<div class='dpTitleText'>";var DIV_selected = "<div class='dpDayHighlight'>";var xDIV = "</div>";var html = TABLE;html += TR_title;html += TD_buttons + getButtonCode(dateFieldName,thisDay,-1,"&lt;") + xTD;html += TD_title + DIV_title + monthArrayLong[thisDay.getMonth()] + " " + thisDay.getFullYear() + xDIV + xTD;html += TD_buttons + getButtonCode(dateFieldName,thisDay,1,"&gt;") + xTD;html += xTR;html += TR_days;for(i = 0;i < dayArrayShort.length;i++){html += TD_days + dayArrayShort[i] + xTD;}html += xTR;html += TR;for(i = 0;i < thisDay.getDay();i++){html += TDblank + "&nbsp;" + xTD;}do{dayNum = thisDay.getDate();TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "','" + getDateString(thisDay) + "');\">";if(dayNum == day){html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD;}else{if(thisDay.getDay() == 6 || thisDay.getDay() == 0){html += TDsatsun;}else{html += TD;}html += TD_onclick + dayNum + xTD;}if(thisDay.getDay() == 6){html += xTR + TR;}thisDay.setDate(thisDay.getDate() + 1);}while(thisDay.getDate() > 1)if(thisDay.getDay() > 0){for(i = 6;i > thisDay.getDay();i--){html += TDblank + "&nbsp;" + xTD;}}html += xTR;html += TR_todaybutton + TD_todaybutton;html += "<button class='dpTodayButton' onClick='todayButton(\"" + dateFieldName + "\");'>Today</button>";html += "<button class='dpTodayButton' onClick='clearButton(\"" + dateFieldName + "\");'>Clear</button>";html += "<button class='dpTodayButton' onClick='updateDateField(\"" + dateFieldName + "\");'>Close</button>";html += xTD + xTR;html += xTABLE;document.getElementById(datePickerDivID).innerHTML = html;adjustiFrame();}function todayButton(dateFieldName){var today = new Date();updateDateField(dateFieldName,getDateString(today));}function clearButton(dateFieldName){updateDateField(dateFieldName,'');}function getButtonCode(dateFieldName,dateVal,adjust,label){var newMonth = (dateVal.getMonth() + adjust) % 12;var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12);if(newMonth < 0){newMonth += 12;newYear += -1;}return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";}function getDateString(dateVal){var dayString = "00" + dateVal.getDate();var monthString = "00" + (dateVal.getMonth() + 1);dayString = dayString.substring(dayString.length - 2);monthString = monthString.substring(monthString.length - 2);switch(dateFormat){case "dmy":return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear();case "ymd":return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString;case "mdy":default:return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear();}}function getFieldDate_NSF(dateString){var dateVal;var dArray;var d,m,y;try{dArray = splitDateString(dateString);if(dArray){switch(dateFormat){case "dmy":d = parseInt(dArray[0],10);m = parseInt(dArray[1],10) - 1;y = parseInt(dArray[2],10);break;case "ymd":d = parseInt(dArray[2],10);m = parseInt(dArray[1],10) - 1;y = parseInt(dArray[0],10);break;case "mdy":default:d = parseInt(dArray[1],10);m = parseInt(dArray[0],10) - 1;y = parseInt(dArray[2],10);break;}dateVal = new Date(y,m,d);}else if(dateString){dateVal = new Date(dateString);}else{dateVal = new Date();}}catch(e){dateVal = new Date();}return dateVal;}function splitDateString(dateString){var dArray;if(dateString.indexOf("/") >= 0){dArray = dateString.split("/");}else if(dateString.indexOf(".") >= 0){dArray = dateString.split(".");}else if(dateString.indexOf("-") >= 0){dArray = dateString.split("-");}else if(dateString.indexOf("\\") >= 0){dArray = dateString.split("\\");}else{dArray = false;}return dArray;}function updateDateField(dateFieldName,dateString){var theForm = document.forms[TLFormName];var fld = theForm["FY_" + dateFieldName];if(!fld){}else{if(typeof(dateString) == 'undefined'){}else{if(dateString == ""){fld.value = "";theForm["FM_" + dateFieldName].value = "";theForm["FD_" + dateFieldName].value = "";}else{var date = getFieldDate_NSF(dateString);fld.value = date.getFullYear();theForm["FM_" + dateFieldName].value = date.getMonth() + 1;theForm["FD_" + dateFieldName].value = date.getDate();}}}HideCalendar();fld.focus();if(typeof(dateString) != 'undefined'){fld.onchange();}}function HideCalendar(){var pickerDiv = document.getElementById(datePickerDivID);if(pickerDiv){pickerDiv.style.visibility = "hidden";pickerDiv.style.display = "none";adjustiFrame();}m_sDateFieldCalendarDisplayedFor = null;RemoveBodyEventHandlersForCalendar();}function adjustiFrame(pickerDiv,iFrameDiv){if(!IsIE6OrBelow()) return;var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);if(is_opera) return;try{if(!document.getElementById(iFrameDivID)){var newNode = document.createElement("iFrame");newNode.setAttribute("id",iFrameDivID);newNode.setAttribute("src","javascript:false;");newNode.setAttribute("scrolling","no");newNode.setAttribute("frameborder","0");document.body.appendChild(newNode);}if(!pickerDiv){pickerDiv = document.getElementById(datePickerDivID);}if(!iFrameDiv){iFrameDiv = document.getElementById(iFrameDivID);}try{iFrameDiv.style.position = "absolute";iFrameDiv.style.width = pickerDiv.offsetWidth;iFrameDiv.style.height = pickerDiv.offsetHeight;iFrameDiv.style.top = pickerDiv.style.top;iFrameDiv.style.left = pickerDiv.style.left;iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1;iFrameDiv.style.visibility = pickerDiv.style.visibility;iFrameDiv.style.display = pickerDiv.style.display;}catch(e){}}catch(ee){}}function IsIE6OrBelow(){var i;var ua = navigator.userAgent;var s = "MSIE";if((i = ua.indexOf(s)) < 0) return false;var version = parseFloat(ua.substr(i + s.length));if(version >= 7.0) return false;return true;}function GetJSDateFromTLDateFields(sName){var theForm = document.forms[TLFormName];var fld = theForm["FY_" + sName];if(!fld){return null;}var nYear = fld.value;var nMonth = parseInt(theForm["FM_" + sName].value,10);var nDay = parseInt(theForm["FD_" + sName].value,10);var today = new Date();if(isNaN(nDay) && isNaN(nMonth) && nYear == '') return today;if(isNaN(nDay)) nDay = 1;if(isNaN(nMonth)) nMonth = 1;if(isNaN(nMonth)) nMonth = today.getMonth() + 1;if(nYear == '') nYear = today.getFullYear();var date = new Date(nYear,nMonth - 1,nDay);return date;}function AddBodyEventHandlersForCalendar(){addEvent(document.body,"click",bodyOnClick,false);addEvent(window,"resize",windowOnResize,false);}function RemoveBodyEventHandlersForCalendar(){removeEvent(document.body,"click",bodyOnClick,false);removeEvent(window,"resize",windowOnResize,false);}function bodyOnClick(eventIn){var e = eventIn || window.event;var targ = e.target || e.srcElement;if(targ.nodeType == 3){targ = targ.parentNode;}if(targ && targ.id && targ.id.substring(0,5) == 'Cal_F'){return;}if(IsInsideCalendar(targ)){return;}HideCalendar();}function IsInsideCalendar(elem){if(elem.id == datePickerDivID){return true;}var oCurrent = elem;var iCount = 0;while(oCurrent && iCount <= 8){if(oCurrent.tagName == 'TABLE' && oCurrent.className == 'dpTable'){return true;}oCurrent = oCurrent.parentNode;iCount++;}return false;}var m_currentWindowHeight;function windowOnResize(eventIn){var height = document.documentElement.clientHeight;if(m_currentWindowHeight == height){return;}m_currentWindowHeight = height;HideCalendar();}var asFormulaTargets = new Array();var asFormulaRPs = new Array();var asFieldNames = new Array();var aRoundSets = new Array();var anLitVals = new Array();var anLitValsRuntime = null;var aoConds = new Array();var NULL_DATE = Infinity;var asFieldsInError;var asFldsRoundedForDisp;var RESTART_CALCS = 2;var SERVER_ROUNDTRIP_SUBMIT = 3;var asFieldNameToCalcIDMap;var asFieldTypes;var aoRadioButtons;var ONE_PLUS_EPSILON = 1.0 + Number('2.220446e-16');function CalcFieldGetData(sCalcID,bEvaluatingCond){if(sCalcID.length < 2){if(DEBUG){alert('Calculation Script Error: CalcFieldGetData called with argument too short: ' + sCalcID);}return;}var sPrefix = sCalcID.charAt(0);switch (sPrefix){case "L":case "A":return GetLiteralValue(sCalcID);case "F":case "C":var sFldName = asFieldNames[sCalcID];var nValue = FieldGetData(sFldName,bEvaluatingCond,false);if(typeof(nValue) == "undefined" || asFldsRoundedForDisp[sCalcID]){nValue = GetLiteralValue(sCalcID);}else{SetLiteralValue(sCalcID,nValue);}if(bEvaluatingCond && nValue == "" && typeof(nValue) == "string"){return null;}if(bEvaluatingCond){return ConvertToNamedType(GetFieldType(sCalcID),nValue);}return ConvertToNumberForce(GetLiteralValue(sCalcID));default:if(DEBUG){alert('Calculation Script Error: CalcFieldGetData called with unrecognised prefix: ' + sPrefix);}}}function CalcFieldSetData(sCalcID,nValue){if(sCalcID.length < 2){if(DEBUG){alert('Calculation Script Error: CalcFieldSetData called with argument too short: ' + sCalcID);}return false;}var sPrefix = sCalcID.charAt(0);switch (sPrefix){case "L":case "A":if(DEBUG){alert('Calculation Script Error: Trying to set the value of literal/aggregate ' + sCalcID + ' to ' + nValue);}SetLiteralValue(sCalcID,nValue);return true;case "F":case "C":var nRounded = RoundOrTruncateIfNecessary(sCalcID,nValue);if(asFldsRoundedForDisp[sCalcID]){SetLiteralValue(sCalcID,nValue);}else{SetLiteralValue(sCalcID,nRounded);}var sFldName = asFieldNames[sCalcID];FieldSetData(sFldName,nRounded);return true;default:if(DEBUG){alert('Calculation Script Error: CalcFieldSetData called with unrecognised prefix: ' + sPrefix);}return false;}}function ConvertToNumberForce(nValue){if(nValue && nValue == true) return parseFloat("1");if(!isNumeric(nValue)){return parseFloat("0");}return parseFloat(nValue);}function isNumeric(val){return(parseFloat(val,10)==(val*1));}function ConvertToNumberIfPossible(nValue){if(nValue && nValue == true) return parseFloat("1");if(nValue && nValue == false) return parseFloat("0");if(nValue == null) return parseFloat("0");if(isNaN(nValue)) return nValue;if(isNumeric(nValue)){return parseFloat(nValue);}return "" + nValue;}function ConvertToNamedType(sType,nValue){switch(sType){case "number":return ConvertToNumberForce(nValue);case "string":return "" + nValue;default:if(DEBUG){alert('Calculation Script Error: unrecognised type: ' + sType);}return nValue;}}function FieldGetData(sName,bEvaluatingCond,bGetOtherValue){var theForm = document.forms[TLFormName];if(!theForm){if(DEBUG){alert('Calculation Script Error: Failed to get form object - document.forms[' + TLFormName + ']');}return;}var rb = GetRadioButton(sName);if(rb && rb.type && rb.type == "radio"){return rb.checked;}if(typeof(m_richTextAreas) != "undefined" && typeof(tinyMCE) != "undefined" && tinyMCE){for(var i = 0;i < m_richTextAreas.length;i++){if(sName == m_richTextAreas[i]){var oEditor = tinyMCE.getInstanceById('F_' + sName);if(oEditor && oEditor != null){return oEditor.getHTML();}else{var oDisplay = document.getElementById('disabled_F_' + sName);if(oDisplay && oDisplay != null){return oDisplay.innerHTML;}}}}}rb = GetRadioButton("FLR_0_" + sName);if(rb && rb.type && rb.type == "radio"){for(var i = 0;;i++){rb = GetRadioButton("FLR_" + i + "_" + sName);if(rb && rb.type && rb.type == "radio"){if(rb.checked == true){return rb.value;}}else{break;}}return "";}var fld;if (bGetOtherValue){fld = theForm["FI_" + sName];}else{fld = theForm["F_" + sName];}if(fld){if(!fld.type){if(DEBUG){alert('Calculation Script Error: Element.type not supported');}return;}switch(fld.type){case "checkbox":return fld.checked;case "text":return stripFormatting("F_" + sName,fld.value,true);case "textarea":case "select-one":var fldOtherCB = theForm["FC_" + sName];if (fldOtherCB && (fldOtherCB.checked == 1)){return FieldGetData(sName,bEvaluatingCond,true);}else{return fld.value;}default:if(DEBUG){alert('Calculation Script Error: unexpected element type: ' + fld.type);}return fld.value;}}fld = theForm["FY_" + sName];if(fld){var nYear = fld.value;var nMonth = parseInt(theForm["FM_" + sName].value,10);var nDay = parseInt(theForm["FD_" + sName].value,10);if (isNaN(nDay) && isNaN(nMonth) && nYear == '') return "";if (isNaN(nDay) || isNaN(nMonth) || nYear == '') return (bEvaluatingCond ? "" : NULL_DATE);var date = new Date(nYear,nMonth - 1,nDay,0,0,0,0);var nDays = Math.round(date.getTime() / (1000 * 60 * 60 * 24));nDays += 25569;return nDays;}fld = theForm["FH_" + sName];if(fld){var nHours = fld.value;var nMinutes = theForm["FN_" + sName].value;if(nHours == '' || nMinutes == '') return '';var nHoursInToDay = parseFloat(nHours) + (parseFloat(nMinutes) / 60.0);var nDays = nHoursInToDay / 24.0;return nDays;}}function FieldSetData(sName,nValue){var theForm = document.forms[TLFormName];if(!theForm){if(DEBUG){alert('Calculation Script Error: Failed to get form object - document.forms[' + TLFormName + ']');}return;}var rb = GetRadioButton(sName);if(rb && rb.type && rb.type == "radio"){rb.checked = nValue;return true;}rb = GetRadioButton("FLR_0_" + sName);if(rb && rb.type && rb.type == "radio"){return SetListBoxRadioButtonsValue(sName,nValue)}if(typeof(m_richTextAreas) != "undefined" && typeof(tinyMCE) != "undefined" && tinyMCE){for(var i = 0;i < m_richTextAreas.length;i++){if(sName == m_richTextAreas[i]){window.setTimeout("tinyMCE.execInstanceCommand('F_" + sName + "', 'mceSetContent', false, '" + nValue + "');",1);var oDisplay = document.getElementById('disabled_F_' + sName);if(oDisplay && oDisplay != null){oDisplay.innerHTML = nValue;}}}}var fld;fld = theForm["F_" + sName];if(fld){if(!fld.type){if(DEBUG){alert('Calculation Script Error: Element.type not supported');}return;}switch(fld.type){case "checkbox":if (nValue == "0"){fld.checked = false;}else if (nValue == "1"){fld.checked = true;}else{fld.checked = nValue;}return true;case "text":fld.value = GetFormattedValue("F_" + sName,nValue,true);return true;case "textarea":fld.value = nValue;return true;case "select-one":return SetListBoxValue(fld,nValue);default:if(DEBUG){alert('Calculation Script Error: unexpected element type: ' + fld.type);}fld.value = nValue;return true;}}fld = theForm["FY_" + sName];if(fld){if(nValue == ""){fld.value = "";theForm["FM_" + sName].value = "";theForm["FD_" + sName].value = "";return true;}var nDays = nValue - 25569;var nMillis = nDays * (1000 * 60 * 60 * 24);var date = new Date(nMillis);fld.value = date.getFullYear();theForm["FM_" + sName].value = date.getMonth() + 1;theForm["FD_" + sName].value = date.getDate();return true;}fld = theForm["FH_" + sName];if(fld){if(nValue == ""){fld.value = "";theForm["FN_" + sName].value = "";return true;}var nHours = Math.floor(nValue * 24);var nMinutes = Math.round(((nValue * 24) - nHours) * 60);if(nMinutes == 60){nMinutes = 0;nHours += 1;}fld.value = FormatNN(nHours);theForm["FN_" + sName].value = FormatNN(nMinutes);return true;}}function FormatNN(num){if(num < 10) return "0" + num;return num;}function SetListBoxValue(fld,nValue){if(!fld.options){if(DEBUG){alert('Calculation Script Error: SetListBoxValue(fld, ...) - fld.options not defined.');}return false;}if(DEBUG && typeof(ConvertToNumberIfPossible(nValue)) != "number"){alert('Calculation Script Error: SetListBoxValue(fld, nValue) - non-numeric nValue is not supported.');}fld.value = nValue;var epsilon = nValue * 1e-15;var i = fld.options.length - 1;var nClosest;while( i > 0 ){var nCurrentVal = parseFloat(fld.options[i].value);if(typeof(nClosest) == "undefined" || (Math.abs(nCurrentVal - nValue) < Math.abs(nClosest - nValue))){nClosest = nCurrentVal;}i -= 1;}if(typeof(nClosest) == "number" && (Math.abs(nClosest - nValue) < epsilon)){fld.value = nClosest;}}function SetListBoxRadioButtonsValue(sName,nValue){if(DEBUG && typeof(ConvertToNumberIfPossible(nValue)) != "number"){alert('Calculation Script Error: SetListBoxRadioButtonsValue(fld, nValue) - non-numeric nValue is not supported.');}var epsilon = nValue * 1e-15;var oClosest;var nCurrentVal;var nClosest;for(var i = 0;;i++){rb = GetRadioButton("FLR_" + i + "_" + sName);if(rb && rb.type && rb.type == "radio"){nCurrentVal = parseFloat(rb.value);if(Math.abs(nCurrentVal - nValue) < epsilon){if(typeof(nClosest) == "undefined" || (Math.abs(nCurrentVal - nValue) < Math.abs(nClosest - nValue))){nClosest = nCurrentVal;rb.checked = true;if(typeof(oClosest) != "undefined") oClosest.checked = false;oClosest = rb;}else{rb.checked = false;}}else{rb.checked = false;}}else{break;}}return true;}function Calculate(sCalcID){if(sCalcID == ''){return true;}asFieldsInError = new Array();asFldsRoundedForDisp = new Array();var nIdx = 0;while(nIdx < asFormulaRPs.length){var result = CalcFormula(asFormulaTargets[nIdx],asFormulaRPs[nIdx]);if(!result){SetFieldInError(asFormulaTargets[nIdx]);}else if(result == RESTART_CALCS){nIdx = -1;}else if(result == SERVER_ROUNDTRIP_SUBMIT){return false;}nIdx++;}return true;}function SetFieldInError(sCalcID){asFieldsInError[sCalcID] = true;}function IsFieldInError(sCalcID){return (asFieldsInError[sCalcID] ? true : false);}function CalcFormula(sTargetCalcID,asRP){var bEvaluatingCond = TargetIDIsCondition(sTargetCalcID);var stack = new CalcStack(bEvaluatingCond);var nIdx = 0;while(nIdx < asRP.length){var str = asRP[nIdx];if(str.length < 2){if(DEBUG){alert("Calculation Script Error: RP item '" + str + "' is too short.");}return false;}var type = str.charAt(0);if(type == 'F' || type == 'C' || type == 'A' || type == 'L' || type == 'V'){if(IsFieldInError(str)){return false;}stack.push(CalcFieldGetData(str,bEvaluatingCond));}else{switch(str){case "+|":{break;}case "-|":{stack.push(-stack.pop());break;}case "!!":{stack.push(!stack.pop());break;}case ">=":{stack.evaluateGT_OR_EQUAL_TO();break;}case "<=":{stack.evaluateLT_OR_EQUAL_TO();break;}case "!=":{stack.evaluateNOT_EQUAL();break;}case "^^":{stack.evaluateEXPONENTIAL();break;}case "++":{stack.evaluatePLUS();break;}case "--":{stack.evaluateMINUS();break;}case "**":{stack.evaluateMULTIPLY();break;}case "//":{stack.evaluateDIVIDE();break;}case "==":{stack.evaluateEQUALS();break;}case "<<":{stack.evaluateLESS_THAN();break;}case ">>":{stack.evaluateGREATER_THAN();break;}case "||":{stack.evaluateLOGICAL_OR();break;}case "&&":{stack.evaluateLOGICAL_AND();break;}case ")IsNull01":{stack.evaluateIS_NULL();break;}case ")IsNotNull01":{stack.evaluateIS_NOT_NULL();break;}default:if(DEBUG){alert("Calculation Script Error: RP item '" + str + "' is not recognised.");}return false;}}nIdx++;}if(stack.getCount() != 1){if(DEBUG){alert("Calculation Script Error: '" + stack.getCount() + "' items on the stack after calculation. (Should be 1).");}return false;}var nResult = stack.pop();if(isNaN(nResult)) return false;if(isFinite(1) && !isFinite(nResult)) return false;if(bEvaluatingCond){return aoConds[sTargetCalcID].setResult(nResult);}CalcFieldSetData(sTargetCalcID,ConvertToNumberForce(nResult));return true;}function TargetIDIsCondition(targetCalcID){return (targetCalcID.charAt(0) == 'H');}function GetFieldType(calcID){if(typeof (asFieldTypes) == "undefined" || asFieldTypes == null){SetupFieldTypesArray();}return asFieldTypes[calcID];}function SetupFieldTypesArray(){asFieldTypes = new Array();for(var sCalcID in anLitVals){if(anLitVals[sCalcID] == null){asFieldTypes[sCalcID] = "number";}else{asFieldTypes[sCalcID] = typeof(anLitVals[sCalcID]);}}}function GetRadioButton(fieldName){if(typeof (aoRadioButtons) == "undefined" || aoRadioButtons == null){SetupRadioButtonsArray();}return aoRadioButtons[fieldName];}function SetupRadioButtonsArray(){aoRadioButtons = new Array();var oFormElems = document.forms[TLFormName].elements;for(var i = 0;i < oFormElems.length;i++){if(oFormElems[i].type == 'radio'){var oElem = oFormElems[i];var sFieldName = oElem.id;aoRadioButtons[sFieldName] = oElem;}}}function GetLiteralValue(calcID){SetupRuntimeLiteralArrayIfNeeded();return anLitValsRuntime[calcID];}function SetLiteralValue(calcID,value){SetupRuntimeLiteralArrayIfNeeded();anLitValsRuntime[calcID] = value;}function SetupRuntimeLiteralArrayIfNeeded(){if(typeof (anLitValsRuntime) != "undefined" && anLitValsRuntime != null){return;}anLitValsRuntime = new Array();for(var calcID in anLitVals){anLitValsRuntime[calcID] = anLitVals[calcID];}}if(typeof Array.prototype.pop=='undefined'){Array.prototype.pop=function(){var b=this[this.length-1];this.length--;return b;};}if(typeof Array.prototype.push=='undefined'){Array.prototype.push=function(){var b=this.length;var a=arguments;for(var i=0;i<a.length;i++){this[b+i]=a[i];}return this.length;};}if (!Array.prototype.indexOf){Array.prototype.indexOf = function(elt ){var len = this.length;var from = Number(arguments[1]) || 0;from = (from < 0) ? Math.ceil(from) : Math.floor(from);if (from < 0) from += len;for (;from < len;from++){if (from in this && this[from] === elt) return from;}return -1;};}Array.prototype.remove = function(s){var i = this.indexOf(s);if(i != -1) this.splice(i,1);};function CalcStack(bEvaluatingCond){this.m_Array = new Array();this.m_bEvaluatingCond = bEvaluatingCond;this.push = function(d){this.m_Array.push(d)};this.pop = function(){if(this.m_Array.length == 0){if(DEBUG){alert("Calculation Script Error: Tried to pop empty stack");}}return this.m_Array.pop();};this.getCount = function(){return this.m_Array.length;};this.evaluateEXPONENTIAL = function(){var nPower = this.pop();this.push(Math.pow(this.pop(),nPower));};this.evaluatePLUS = function(){this.push(this.pop() + this.pop());};this.evaluateMINUS = function(){var d = this.pop();this.push(this.pop() - d);};this.evaluateMULTIPLY = function(){this.push(this.pop() * this.pop());};this.evaluateDIVIDE = function(){var nDenominator = this.pop();var nNumerator = parseFloat(this.pop());if(nNumerator == 0){this.push(0);return;}this.push(nNumerator / nDenominator);};this.evaluateLOGICAL_OR = function(){var d = this.pop();this.push(this.pop() || d);};this.evaluateLOGICAL_AND = function(){var d = this.pop();this.push(this.pop() && d);};this.evaluateGT_OR_EQUAL_TO = function(){if(this.handleNulls()) return;this.push(this.compare() >= 0);};this.evaluateLT_OR_EQUAL_TO = function(){if(this.handleNulls()) return;this.push(this.compare() <= 0);};this.evaluateNOT_EQUAL = function(){if(this.handleNulls()) return;this.push(this.compare() != 0);};this.evaluateEQUALS = function(){if(this.handleNulls()) return;this.push(this.compare() == 0);};this.evaluateLESS_THAN = function(){if(this.handleNulls()) return;this.push(this.compare() < 0);};this.evaluateGREATER_THAN = function(){if(this.handleNulls()) return;this.push(this.compare() > 0);};this.compare = function(){var rhs = this.pop();var lhs = this.pop();if(this.m_bEvaluatingCond && typeof(lhs) == "string"){return CompareStrings(lhs,rhs);}return ConvertToNumberForce(lhs) - ConvertToNumberForce(rhs);};this.handleNulls = function(){if(this.m_Array[this.m_Array.length-1] == null || this.m_Array[this.m_Array.length-2] == null){this.pop();this.pop();this.push(true);return true;}return false;};this.evaluateIS_NULL = function(){this.push(this.pop() == null);};this.evaluateIS_NOT_NULL = function(){this.push(this.pop() != null);};}function CompareStrings(s1,s2){var sA = new String(s1);var sB = new String(s2);sA = sA.toLowerCase();sB = sB.toLowerCase();if(sA < sB) return -1;if(sA == sB) return 0;return 1;}function RoundOrTruncateIfNecessary(sCalcID,n){var s = aRoundSets[sCalcID];if(!s || s.length < 2){return FormatNumberToMatchServer(sCalcID,n,-1,true);}var sPrefix = s.charAt(0);var nDP = parseInt(s.substring(1));switch (sPrefix){case "r":n = RoundToNdp(n,nDP);return FormatNumberToMatchServer(sCalcID,n,nDP,false);case "t":n = TruncateToNdp(n,nDP);return FormatNumberToMatchServer(sCalcID,n,nDP,false);case "n":return FormatNumberToMatchServer(sCalcID,n,nDP,true);}return n;}function RoundToNdp(numIn,decPlaces){var factor = Number('1e' + decPlaces);var num = numIn * ONE_PLUS_EPSILON;return Math.round(num * factor) / factor;}function TruncateToNdp(numIn,decPlaces){var factor = Number('1e' + decPlaces);var num = numIn * ONE_PLUS_EPSILON;if(numIn < 0){return Math.ceil(num * factor) / factor;}else{return Math.floor(num * factor) / factor;}}function FormatNumberToMatchServer(sCalcID,n,nDP,bMarkRoundedForDisplay){var bDefault = false;if(nDP == -1){bDefault = true;nDP = 10;}if(Math.abs(n) < 1e21 && Math.abs(n) >= 0.000001){if(bMarkRoundedForDisplay){asFldsRoundedForDisp[sCalcID] = true;}var nx = RoundToNdp(n,nDP);if(!bDefault){nx = PadWithZeros(nx,nDP);}return nx;}if(!bDefault){n = RoundToNdp(n,nDP);}var s = new String(n);var a = s.split("e")[0];var p = s.split("e")[1];if(!p || p == ""){return n;}var sRes = "" + RoundToNdp(a,nDP < 10 ? 9 : nDP - 1) + "e";var sSign = p.substring(0,1);if(sSign != "+" && sSign != "-"){return n;}sRes += sSign;p = p.substring(1);if(p.length == 1){sRes += "00";}else if(p.length == 2){sRes += "0";}sRes += p;if(bMarkRoundedForDisplay){asFldsRoundedForDisp[sCalcID] = true;}return sRes;}function HeadingCondition(sName,cType,bHide,bDisable,bClear,asFldNames,asInitVals){this.m_sName = sName;this.m_cType = cType;this.m_bHide = bHide;this.m_bDisable = bDisable;this.m_bClear = bClear;this.m_asFldNames = asFldNames;this.m_asInitVals = asInitVals;this.m_bValue = false;this.m_bInitialValue = false;if(asInitVals != null && typeof(asInitVals[0]) == "undefined" && asInitVals.length != 0){if(DEBUG){alert('Calculation/Condition Script Warning: InitVals array is empty but its length has been set.');}asInitVals[0] = asInitVals.length;}this.setInitialValue = function(value){this.m_bInitialValue = value;this.m_bValue = value;};this.setResult = function(bResult){if(bResult == this.m_bValue){return true;}this.m_bValue = bResult;if(this.m_bHide){this.doHide();}if(this.m_bDisable){if(this.m_cType == 'T'){return this.doDisableTable();}this.doDisable();}if(this.m_bClear && this.m_bValue){if(this.doClear() == SERVER_ROUNDTRIP_SUBMIT){return SERVER_ROUNDTRIP_SUBMIT;}return RESTART_CALCS;}return true;};this.onAjaxChange = function(){this.m_bValue = this.m_bInitialValue;if(this.m_bHide){this.doHide();}if(this.m_bDisable){if(this.m_cType == 'T'){return this.doDisableTable();}this.doDisable();}return true;};this.doDisableTable = function(){var oButtons;var oTableCell;var i = 0;while(1){if(i > 0){oButtons = document.getElementById("BTB_" + this.m_sName + ":" + i);if(oButtons){oButtons.style.display = this.m_bValue ? "none" : "inline";}else{break;}}if(this.m_bValue == false){oTableCell = document.getElementById("BTD_" + this.m_sName + ":" + i);if(oTableCell){oTableCell.style.display = ""}else{if(DEBUG){alert("BTD_" + this.m_sName + ":" + i);}}}i++;}var theForm = document.forms[TLFormName];oButtons = theForm["BTA_" + this.m_sName];if(!oButtons){}else if(!oButtons.length){oButtons.style.display = this.m_bValue ? "none" : "block";}else{for(i = 0;oButtons[i];i++){oButtons[i].style.display = this.m_bValue ? "none" : "block";}}updateDisabledFieldLink(this.m_sName,this.m_bValue);var elem = document.getElementById(this.m_sName);if(!elem){if(DEBUG){alert('Calculation/Condition Script Error: heading/table HTML element with ID = \"' + this.m_sName + '\" not found.');}return;}elem.className = this.m_bValue ? "tabledisabled" : "tableenabled";return true;};this.doHide = function(){var elem = document.getElementById(this.m_sName);if(!elem){if(DEBUG){alert('Calculation/Condition Script Error: heading/table HTML element with ID = \"' + this.m_sName + '\" not found.');}return;}elem.style.display = this.m_bValue ? "none" : "block";var otemp = elem.parentNode;var oparentelem = otemp.parentNode;var oParentFrameSet = this.findParentFrameSet(oparentelem);if(oparentelem && oParentFrameSet){var bHasDisplay = false;var a = oparentelem.childNodes;for(var j = 0;j < a.length;j++){var sTag = a.item(j).tagName;if(sTag && sTag.toLowerCase() == 'div'){var achildnodes = a.item(j).childNodes;for(var i = 0;i < achildnodes.length;i++){var achild = achildnodes.item(i);var sChildTag = achild.tagName;if(sChildTag && sChildTag.toLowerCase() == 'div'){var sStyle = achild.style.display;if(sStyle != "none"){bHasDisplay = true;break;}}}}}oParentFrameSet.style.display = bHasDisplay ? "block" : "none";}if(!this.m_bValue){var headingHelpSpan = document.getElementById("TL_ajaxreplace_help_" + this.m_sName);if(headingHelpSpan){PositionGroupHelpIconIfNecessary(headingHelpSpan);}}};this.findParentFrameSet = function(elem){var oCurrent = elem;var iCount = 0;while(oCurrent && iCount <= 8){if(oCurrent.id.substring(0,4) == 'top_'){return oCurrent;}oCurrent = oCurrent.parentNode;iCount++;}return null;};this.doDisable = function(){if(!this.m_asFldNames){if(DEBUG){alert('Calculation/Condition Script Error: trying to enable/disable heading/table ' + this.m_sName + ' but field names array is null.');}return;}for(var i = 0;i < this.m_asFldNames.length;i++){var a = GetFieldIDsArray(this.m_asFldNames[i]);if(a){var bChanged = false;for(var j = 0;j < a.length;j++){var elem = document.getElementById(a[j]);if(elem){bChanged = elem.disabled != this.m_bValue ? true : false;elem.disabled = this.m_bValue;if (bChanged){updateFieldIcon(elem);updateCheckBoxOrRadioButtonHiddenField(elem,this.m_bValue);}}}if (bChanged){updateMandatoryIcon(this.m_asFldNames[i],this.m_bValue);updateDisabledFieldLink(this.m_asFldNames[i],this.m_bValue);updateFieldClass(this.m_asFldNames[i],this.m_bValue);updateRichTextArea(this.m_asFldNames[i],this.m_bValue);}}}var elem = document.getElementById(this.m_sName);if(!elem){if(DEBUG){alert('Calculation/Condition Script Error: heading/table HTML element with ID = \"' + this.m_sName + '\" not found.');}return;}elem.className = this.m_bValue ? "headingdisabled" : "headingenabled";};this.doClear = function(){if (DEBUG && (this.m_cType != 'H')){alert('Calculation/Condition Script Error: trying to clear item ' + this.m_sName + ' - type is not Heading.');}if (DEBUG && (!this.m_asFldNames)){alert('Calculation/Condition Script Error: trying to clear heading ' + this.m_sName + ' but field names array is null.');}if (DEBUG && (!this.m_asInitVals)){alert('Calculation/Condition Script Error: trying to clear heading ' + this.m_sName + ' but initial values array is null.');}if(!this.m_asFldNames){return;}var theForm = document.forms[TLFormName];for (var i = 0;i < this.m_asFldNames.length;i++){var sField = this.m_asFldNames[i];var attachFld = theForm["FA_" + sField];if (attachFld && attachFld.checked){return SERVER_ROUNDTRIP_SUBMIT;}var sValue = this.m_asInitVals[i];var sCalcID = GetCalcID(sField);if (sCalcID){CalcFieldSetData(sCalcID,sValue);}else{FieldSetData(sField,sValue);}}};}function GetFieldIDsArray(sName){var rb = GetRadioButton(sName);if(rb && rb.type && rb.type == "radio"){return new Array(sName);}rb = GetRadioButton("FLR_0_" + sName);if(rb && rb.type && rb.type == "radio"){var test = new Array();for(var i = 0;;i++){rb = GetRadioButton("FLR_" + i + "_" + sName);if(rb && rb.type && rb.type == "radio"){test[i] = "FLR_" + i + "_" + sName;}else{break;}}return test;}var theForm = document.forms[TLFormName];if(theForm["F_" + sName]){return new Array("F_" + sName,"BSP_" + sName);}if(theForm["FY_" + sName]){return new Array("FY_" + sName,"FM_" + sName,"FD_" + sName,"Cal_FY_" + sName);}if(theForm["FH_" + sName]){return new Array("FH_" + sName,"FN_" + sName);}if(theForm["BA_" + sName]){return new Array("BA_" + sName);}if(theForm["FA_" + sName]){return new Array("FA_" + sName,"BAA_" + sName,"BAD_" + sName);}}function GetCalcID(sFieldName){if(typeof (asFieldNameToCalcIDMap) == "undefined" || asFieldNameToCalcIDMap == null){asFieldNameToCalcIDMap = new Array();for(var sCalcID in asFieldNames){asFieldNameToCalcIDMap[asFieldNames[sCalcID]] = sCalcID;}}return asFieldNameToCalcIDMap[sFieldName];}function getFormElement(sNameOrID){if (document.getElementById){return document.getElementById(sNameOrID);}else{return document.all[sNameOrID];}}function updateFieldIcon(oEl){if (oEl.name.substring(0,4) == "BSP_" || oEl.name.substring(0,7) == "Cal_FY_"){oEl.style.visibility = oEl.disabled ? "hidden" : "visible";}}function updateCheckBoxOrRadioButtonHiddenField(oEl,bDisable){if (oEl.name.substring(0,2) == "F_" && (oEl.type.toLowerCase() == "radio" || oEl.type.toLowerCase() == "checkbox")){var sHiddenFieldNormal = "FHC_" + oEl.name.substring(2,oEl.name.length);var sHiddenFieldDisable = "XFHC_" + oEl.name.substring(2,oEl.name.length);var oHiddenFieldElem = document.getElementById(sHiddenFieldNormal);if(oHiddenFieldElem){if(bDisable){oHiddenFieldElem.name = sHiddenFieldDisable;}else{oHiddenFieldElem.name = sHiddenFieldNormal;}}}}function updateMandatoryIcon(sElName,bDisabled){var oMandIcon = getFormElement("F_" + sElName + "-mand");if (!oMandIcon){oMandIcon = getFormElement("FA_" + sElName + "-mand");}if (oMandIcon){oMandIcon.style.visibility = bDisabled ? "hidden" : "visible";}}function updateFieldClass(sElName,bDisabled){var oFieldRow = getFormElement("F_" + sElName + "-row");if (!oFieldRow){oFieldRow = getFormElement("FA_" + sElName + "-row");}if (oFieldRow){var classes = getElementClassesAsArray(oFieldRow);classes.remove("fielddisabled");classes.remove("fieldenabled");classes.push(bDisabled ? "fielddisabled" : "fieldenabled");oFieldRow.className = classes.join(' ');}}function getElementClassesAsArray(element){var className = element.className;return SafeSplit(className);}function SafeSplit(className){return (className && typeof className.split == 'function' ? className.split(' ') : []);}function updateRichTextArea(sElName,bDisabled){if(typeof(m_richTextAreas) != "undefined"){for(var i = 0;i < m_richTextAreas.length;i++){if(sElName == m_richTextAreas[i]){if(bDisabled){disableRichTextArea(sElName);}else{initialiseRichTextArea(sElName);}}}}}function updateDisabledFieldLink(sElName,bDisabled){var sTabElement = "BINFOTAB_" + sElName;var sElement = "BINFO_" + sElName;var oTabElement = getFormElement(sTabElement);var oElement = getFormElement(sElement);if (oElement && oTabElement){var sTabInfo = oTabElement.title;var sTitle = sTabInfo.substring(0,sTabInfo);var sTabIndex = sTabInfo.substring(sTabInfo.lastIndexOf("|")+1);if (sTabIndex != ""){var sContent;if (bDisabled){sContent = "<a href=\"#\" hreflang=\"en\" onclick=\"return false;\" onkeypress=\"return (event.keyCode == 9);\" tabindex=\"" + sTabIndex + "\"><img src=\"spacer.ofif\" width=\"1\" height=\"1\" alt=\"field inactive: '" + sTitle + "'\"></a>"}else{sContent = "<img src=\"spacer.ofif\" width=\"1\" height=\"1\" alt=\"\">";}oElement.innerHTML = sContent;}}}function PadWithZeros(Q,N){if (N == 0) return Q;var P;Q = String(Q);while ((P = Q.indexOf('.')) < 0){Q+='.';}while (Q.length <= P+N){Q+='0';}return Q;}function CalculationsOnAjaxChangeDocument(){aoRadioButtons = null;asFieldNameToCalcIDMap = null;anLitValsRuntime = null;asFieldTypes = null;ConditionsOnAjaxChangeDocument();}function ConditionsOnAjaxChangeDocument(){if(!aoConds || !asFormulaTargets) return;var formulaCount = asFormulaTargets.length;for(var i = 0;i < formulaCount;i++){var targetID = asFormulaTargets[i];if(TargetIDIsCondition(targetID)){if(aoConds[targetID]) aoConds[targetID].onAjaxChange();}}}function createCookie(doc,name,value,path,days){if (days){var date = new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires = '; expires='+date.toGMTString();}else var expires = '';if (path != ''){var sPath = '; path='+path;}else var sPath = '';doc.cookie = name+'='+value+expires+sPath;}function readCookie(doc,name){var nameEQ = name + '=';var ca = doc.cookie.split(';');for(var i=0;i < ca.length;i++){var c = ca[i];while (c.charAt(0)==' ') c = c.substring(1,c.length);if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);}return null;}function eraseCookie(doc,name,path){createCookie(doc,name,'',path,-1);}var DEBUG = 0;function FieldChanged(Element,sValidCriteria,sCalcID,nSubmit){if(typeof(HideCalendar) == "function"){HideCalendar();}if(typeof(Element) != "undefined"){if(Element.id.substring(0,3)  == "FC_"){return allowEntriesNotInList(Element.id.substring(3,Element.id.length),Element.checked);}}if(typeof(ValidateField) == "undefined"){if(DEBUG){alert("Error: JavaScript function 'ValidateField' is not defined. Is validation.js loaded?");}return true;}if(!ValidateField(Element,sValidCriteria)){return false;}if(!CheckFieldIsComplete(Element,sValidCriteria)){return true;}if(nSubmit == 1){SubmitForm(document.forms[TLFormName]);return true;}if(!sCalcID || sCalcID == ""){return true;}if(typeof(m_bCoBrowseMode) != "undefined" && m_bCoBrowseMode && !m_bAssister){SubmitForm(document.forms[TLFormName]);return true;}if(typeof(Calculate) == "undefined"){if(DEBUG){alert("Error: JavaScript function 'Calculate' is not defined. Is calculation.js loaded?");}return true;}if (!Calculate(sCalcID)){SubmitForm(document.forms[TLFormName]);return true;}return true;}function allowEntriesNotInList(sFieldName,bShowTextField){if(!document.getElementById("F_" + sFieldName) && !document.getElementById("FI_" + sFieldName)){return true;}if(bShowTextField){document.getElementById("F_" + sFieldName).style.display = 'none';document.getElementById("FI_" + sFieldName).style.display = 'inline';document.getElementById("FI_" + sFieldName).style.width = "70%";}else{document.getElementById("FI_" + sFieldName).style.display = 'none';document.getElementById("F_" + sFieldName).style.display = 'inline';}return true;}function SubmitForm(form){addOrUpdateDefaultButton(form,"BB_Reload");if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){form.submit();}}function addOrUpdateDefaultButton(form,value){var defbtnfld = getField(form,"D_DEFBTN");if(!defbtnfld){addField(form,"hidden","D_DEFBTN",value);}else{defbtnfld.value = value;}}function addField(form,fieldType,fieldName,fieldValue){if(document.getElementById){var input = document.createElement('INPUT');if(document.all){input.type = fieldType;input.name = fieldName;input.value = fieldValue;}else if (document.getElementById){input.setAttribute('type',fieldType);input.setAttribute('name',fieldName);input.setAttribute('value',fieldValue);}form.appendChild(input);}}function getField(form,fieldName){if(!document.all){return form[fieldName];}else{var formElementCount = form.elements.length;for(var i = 0;i < formElementCount;i++){if(form.elements[i].name == fieldName){return form.elements[i];}}}return null;}function CheckFieldIsComplete(Element,sCriteria){if	(sCriteria == ""){return true;}var DataType;DataType = sCriteria.charAt(0);switch (DataType){case "D":var dDay,dMon,dYr;var fieldName;fieldName = Element.name.substring(2);if(document.forms[TLFormName].elements["FD" + fieldName]){}else{return true;}dDay = parseInt(document.forms[TLFormName].elements["FD" + fieldName].value,10);dMon = parseInt(document.forms[TLFormName].elements["FM" + fieldName].value,10);dYr = document.forms[TLFormName].elements["FY" + fieldName].value;if (isNaN(dDay) && isNaN(dMon) && dYr == '') return true;if (isNaN(dDay) || isNaN(dMon) || dYr == '') return false;return true;break;case "T":var dHour,dMin;var fieldName;fieldName = Element.name.substring(2);if(document.forms[TLFormName].elements["FH" + fieldName]){}else{return true;}dHour = document.forms[TLFormName].elements["FH" + fieldName].value;dMin = document.forms[TLFormName].elements["FN" + fieldName].value;if (dHour == '' && dMin == '') return true;if (dHour == '' || dMin == '') return false;return true;break;default:return true;break;}}var TL_FORM_NAME_STANDARD = "ToplevelForm";var TL_FORM_NAME_DIALOG = "ToplevelDialogForm";var TLFormName = TL_FORM_NAME_STANDARD;function OpenHelpWindow(text){var PRETEND_LENGTH = 100;return OpenHelpWindowEx(text,PRETEND_LENGTH,false);}function OpenHelpWindowEx(text,helpSize,helpIsURL){var numberOfCharacters = parseInt(helpSize);var width = 400;var height = 400;var top = 150;var left = 150;if(helpIsURL || numberOfCharacters >= 500){width = 560;height = 560;top = 50;left = 50;}var bResized = TryResizeHelpWindow(width,height);helpWindow = window.open(text,'help','resizable,scrollbars,width=' + width + ',height=' + height + ',top=' + top + ',left=' + left);if(helpWindow){try{helpWindow.focus();}catch(ex){}if(!bResized){if(!TryResizeHelpWindow(width,height)){setTimeout("TryResizeHelpWindow(" + width + ", " + height + ");",100);}}}CallReloadImagesIfNeeded();return false;}function TryResizeHelpWindow(width,height){var bResult = false;if(typeof(helpWindow) != "undefined" && helpWindow){try{helpWindow.resizeTo(width,height);bResult = true;}catch(ex){}}return bResult;}function TLGetDocumentElementByID(id){var oElement;if(document.getElementById){return document.getElementById(id);}else{return document.all[id];}}function CallReloadImagesIfNeeded(){if(!m_bAjaxMode) return;var ua,s,i;ua = navigator.userAgent;s = "MSIE";if((i = ua.indexOf(s)) < 0) return;var version = parseFloat(ua.substr(i + s.length));if(version < 5.5 || version >= 7.0){return;}setTimeout("ReloadPreloadImages();",1000);}function ReloadPreloadImages(){var oPreloadImages = TLGetDocumentElementByID("aj_imagepreload");if(oPreloadImages){var bSupported = oPreloadImages.outerHTML;if (bSupported){oPreloadImages.outerHTML = oPreloadImages.outerHTML;}else{oPreloadImages.innerHTML = oPreloadImages.innerHTML;}}}function AccessOn(){document.forms[TLFormName].I_ACCESS.value = "TRUE";document.forms[TLFormName].submit();}function ToggleAjaxMode(){document.forms[TLFormName].I_AJAXMODE.value = (m_bAjaxMode ? "FALSE" : "TRUE");document.forms[TLFormName].submit();}function OnOK(){document.close();window.close();}window.onload = gotoMessage;function gotoMessage(){var oMessage = TLGetDocumentElementByID("Message");if (oMessage){var sURL = document.URL;if (sURL.length > 8){var iHash = sURL.lastIndexOf("#");if (iHash > 0){sURL = sURL.substring(0,iHash);}sURL += "#Message";}window.location.href = sURL;return false;}}function spacekeyhandler(e,oElement){var iKeyCode;if (document.all){iKeyCode = window.event.keyCode;}else{iKeyCode = e.which;}if (iKeyCode == 32){oElement.click();return false;}}function headingClick(button,sLinkId){if(document.getElementById){var h = document.getElementById(sLinkId);if(h){h.click();}m_sLastButtonPressed = urlencode(h.name);}headingMousedown(button);}function headingMouseover(button){if(button){if(button.className){button.className = 'thbut2inset';button.style.cursor = 'pointer';}}}function headingMouseout(button){if(button){if(button.className){button.className = 'thbut2';button.style.cursor = 'default';}}}function headingMousedown(button){if(button){if(button.className){button.className = 'thbut2inset2';}}}function insertItems(bodyOrDialog){var oSpans = bodyOrDialog.getElementsByTagName("span");var spanCount = oSpans.length;for (var i = 0;i < spanCount;i++){var sId = oSpans[i].getAttribute("id");if (sId && sId.search(/TL_ajaxreplace_/) == 0){sId = sId.substring(15);if (sId.search(/cal_/) == 0){insertCalendar(oSpans[i]);}else if (sId.search(/spell_/) == 0){insertSpell(oSpans[i]);}else if (sId.search(/fielderror_/) == 0){insertFieldError(oSpans[i]);}else if (sId.search(/help_/) == 0){insertHelp(oSpans[i]);}else if (sId.search(/tablerowerror_/) == 0){insertTableRowError(oSpans[i]);}else if (sId.search(/textonly/) == 0){insertTextOnly(oSpans[i]);}else if (sId.search(/helplink/) == 0){insertHelpLink(oSpans[i]);}else if (sId.search(/navok/) == 0){insertNavigateOKButton(oSpans[i]);}else if (sId.search(/wordcount_/) == 0){insertWordCount(oSpans[i]);}}else if(sId && sId.search(/TL_textarea_/) == 0){sId = sId.substring(12);initialiseTextareaEventHandlers(sId);}}insertSpellCheckAll();}function GetBodyOrDialogPseudoBodyElement(){if(m_bShowingDialogAboveForm){var element = document.getElementById("aj_bodydiv");if(DEBUG){TLAssert(ContainsClassNameThatIndicatesItIsADialog(element.className));TLAssert(document.getElementById("ajOldId_aj_bodydiv"));}return element;}return document.body;}function left(str,i){return String(str).substring(0,i);}function isEmpty(str){return !(str && str.length > 0);}function insertCalendar(oSpan){oSpan.style.display = "";}function insertSpell(oSpan){oSpan.style.display = "";}function insertFieldError(oSpan){oSpan.style.display = "";}function insertHelp(oSpan){PositionGroupHelpIconIfNecessary(oSpan);oSpan.style.display = "";}function insertTableRowError(oSpan){oSpan.style.display = "";}function insertTextOnly(oSpan){oSpan.style.display = "";}function insertHelpLink(oSpan){oSpan.style.display = "";}function insertNavigateOKButton(oSpan){oSpan.style.display = "";}function insertWordCount(oSpan){var sID = oSpan.getAttribute("id");var name = sID.substring(25);var oElement = document.getElementById("F_" + name);if(oElement != null){textareaDisplayWordCount(oElement);}}function insertSpellCheckAll(){var oTopSpellCheckButton = document.getElementById("BB_SpellCheck");if(oTopSpellCheckButton && oTopSpellCheckButton.style){oTopSpellCheckButton.style.display = "";}var oBottomSpellCheckButton = document.getElementById("BTB_BB_SpellCheck");if(oBottomSpellCheckButton && oBottomSpellCheckButton.style){oBottomSpellCheckButton.style.display = "";}}function initialiseTextareaEventHandlers(sId){var oTextarea = document.getElementById(sId);if(oTextarea && oTextarea.tagName == "TEXTAREA"){addEvent(oTextarea,"paste",function(event){textareaOnPaste(document.getElementById(sId));},false);addEvent(oTextarea,"cut",function(event){textareaOnCut(document.getElementById(sId));},false);addEvent(oTextarea,"input",function(event){textareaOnInput(document.getElementById(sId));},false);}}function ElementHasCSSClass(element,className){return ArrayContains(getElementClassesAsArray(element),className);}function PositionGroupHelpIconIfNecessary(span){var parentSpan = span.parentNode;if(!ElementHasCSSClass(parentSpan,"tlgrouphelp")){return;}var fieldset = parentSpan.parentNode;if(fieldset.nodeName.toLowerCase() != "fieldset"){TLAssert(false,"Unexpected DOM structure - expected fieldset");return;}var helpIconSpan = span.firstChild;if(!helpIconSpan || !ElementHasCSSClass(helpIconSpan,"tliconhelp")){TLAssert(false,"Unexpected DOM structure - element with class='tliconhelp' not found");return;}var helpIconStyle = GetCurrentStyle(helpIconSpan);if(!helpIconStyle) return;if(helpIconStyle.position == "absolute"){return;}var legend = fieldset.getElementsByTagName("LEGEND")[0];if(!legend){return;}if(legend.offsetWidth > 500){return;}PositionGroupHelpIcon(helpIconSpan,legend);}function PositionGroupHelpIcon(helpIconSpan,legend){var bLegendIsEmpty = (legend.innerHTML == "");if(legend.offsetWidth == 0 && legend.offsetHeight == 0 && !bLegendIsEmpty){return;}var top = -legend.offsetHeight;var left = legend.offsetWidth + 7;var helpIconWidth = 16;var padding = helpIconWidth + 10;if(IsIE()){if(bLegendIsEmpty){padding -= 2;}}else{top -= 1;left -= 4;padding -= 2;if(bLegendIsEmpty){top -= 11;padding -= 3;}}helpIconSpan.style.position = "absolute";helpIconSpan.style.top = top + "px";helpIconSpan.style.left = left + "px";legend.style.paddingRight = padding + "px";}document.onkeypress = keyhandler;function keyhandler(e){var iKeyCode,sType,sTagName;if (document.all){iKeyCode = window.event.keyCode;sType = window.event.srcElement.type;sTagName = window.event.srcElement.tagName;}else{iKeyCode = e.which;sType = e.target.type;sTagName = e.target.tagName;}if (iKeyCode == 13){if (sType != "textarea" && sType != "submit" && sType != "image" && sTagName != "A"){if((sType == "text" || sType == "password" || !sType) && document.forms[TLFormName].elements["D_DEFBTN"]){if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){document.forms[TLFormName].submit();}}return false;}}}var NS6 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 7);var NSX = (navigator.appName == "Netscape");var IE4 = (document.all) ? true : false;var originalText;var m_ScreenReaderMode = false;var m_bMethodChosen = false;var m_bReplaceDone = false;function clearSelectList(){for (i = document.forms[TLFormName].WORDLIST.options.length;i >= 0;i--)document.forms[TLFormName].WORDLIST.options[i] = null;}function displaySuggestedList(ErrorNum){clearSelectList();var sSuggestedWordsArray = ErrorObjectList[ErrorNum-1].sSuggestedArray;var oOption,selLength;for (i = 0;i < sSuggestedWordsArray.length;i++){if (NSX){oOption = new Option(sSuggestedWordsArray[i]);oOption.ondblclick = function(){Change();};selLength = document.forms[TLFormName].WORDLIST.length;document.forms[TLFormName].WORDLIST.options[selLength] = oOption;}else{oOption = document.createElement("OPTION");oOption.ondblclick = function(){Change();};oOption.text = sSuggestedWordsArray[i];document.forms[TLFormName].WORDLIST.add(oOption);}}if (sSuggestedWordsArray[0] == "No Suggestions"){document.forms[TLFormName].WORDLIST.disabled = true;document.forms[TLFormName].ChangeTo.value = "";}else{document.forms[TLFormName].WORDLIST.disabled = false;document.forms[TLFormName].WORDLIST.options[0].selected = true;document.forms[TLFormName].ChangeTo.value = document.forms[TLFormName].WORDLIST.options[0].text;if (!m_ScreenReaderMode && m_bMethodChosen){document.forms[TLFormName].ChangeTo.select();}}}function highlightWordError(ErrorNum){var startCharIndex = ErrorObjectList[ErrorNum-1].iStartChar - 1;var iLength = ErrorObjectList[ErrorNum-1].iLength;var sHTMLhead = originalText.substring(0,startCharIndex);var sWord = ErrorObjectList[ErrorNum-1].sErrorText;var sHTMLtail = originalText.substring(startCharIndex+iLength);HTMLText = formatTags(sHTMLhead) + "<a name='ErrorWord' id='cWord' title='Misspelt Word'>" + formatTags(sWord) + "</a>" + formatTags(sHTMLtail);displayOnScreen(HTMLText);ScrollWordInErrorIntoView();}function ScrollWordInErrorIntoView(){var wordInError = document.getElementById("cWord");if(IE4 && !window.opera){var sRange = document.body.createTextRange();sRange.moveToElementText(wordInError);sRange.scrollIntoView();}else{if(typeof(wordInError.scrollIntoView) == "function"){if(Screen.getViewportHeight() >= 500){wordInError.scrollIntoView(false);}else{wordInError.scrollIntoView();}}else{location.hash = "ErrorWord";}}}var spellTextHeight = "";function displayOnScreen(unformattedText){HTMLText = unformattedText.replace(/\n/g,"<BR>");HTMLText = HTMLText.replace(/\s\s/g,"&nbsp;&nbsp;");document.getElementById("spelltext").innerHTML = HTMLText;if (NS6){document.getElementById("spelltext").style.overflow = "hidden";document.getElementById("spelltext").style.overflow = "auto";}if(IE4){if(spellTextHeight == ""){spellTextHeight = parseInt(document.getElementById("spelltext").style.height);if(spellTextHeight != NaN){spellTextHeight = (spellTextHeight + 1);spellTextHeight = spellTextHeight + "px";}}if(spellTextHeight != NaN && spellTextHeight != ""){document.getElementById("spelltext").style.height = spellTextHeight;}}}function ErrorObject(iErrorNum){var sErrorString = getSpellCheckField("I_SCERR_" + iErrorNum).value;var sErrorArray = sErrorString.split("|");var sWord = originalText.substring(Number(sErrorArray[0])-1,Number(sErrorArray[0])+Number(sErrorArray[1])-1);this.iStartChar = Number(sErrorArray[0]);this.iLength = Number(sErrorArray[1]);if (sErrorArray[2] == "")this.sSuggestedArray = new Array("No Suggestions");else this.sSuggestedArray = sErrorArray[2].split(",");this.sErrorText = sWord;this.bChecked = false;this.nAction = 0;this.sNewText = "";}function changeWord(ErrorNum){var sWord = document.forms[TLFormName].ChangeTo.value;var ErrorObj = ErrorObjectList[ErrorNum-1];sOriginalTextHead = originalText.substring(0,ErrorObj.iStartChar-1);sOriginalTextTail = originalText.substring(ErrorObj.iStartChar+ErrorObj.iLength-1);originalText = sOriginalTextHead + sWord + sOriginalTextTail;updateStartPositions(ErrorNum,sWord.length-ErrorObj.iLength);ErrorObj.bChecked = true;ErrorObj.nAction = 1;ErrorObj.sNewText = sWord;}function Change(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;if (iCurrentError == null) return;setReplaceDoneFlag();m_bMethodChosen = true;setCookie("methodChosen",m_bMethodChosen);changeWord(iCurrentError);nextError();}function ChangeAll(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;if (iCurrentError == null || iCurrentError > iError) return;setReplaceDoneFlag();m_bMethodChosen = true;setCookie("methodChosen",m_bMethodChosen);var currentCharIndex = 0;var sErrorWord = ErrorObjectList[iCurrentError-1].sErrorText;var sWord = document.forms[TLFormName].ChangeTo.value;var oError = ErrorObjectList[iCurrentError-1];oError.nAction = 2;oError.sNewText = sWord;var multipleCap = moreThanOneCap(sWord);var deliberateCap;if (isFirstLetterCap(sWord) != isFirstLetterCap(sErrorWord)) deliberateCap = true;var tempString = originalText.substring(currentCharIndex);var iNextMatch = eval("tempString.search(/" + sErrorWord + "/i)");var charBefore,charAfter,sOriginalTextHead,sOriginalTextTail;var RE = /[^a-zA-Z0-9]/;var bCase;var iCounter = 0;var oErrorObject,iErrorStartChar,sErrorText;while (iNextMatch != -1){charBefore = currentCharIndex+iNextMatch;if (currentCharIndex!= 0 || iNextMatch!=0) charBefore--;charAfter = iNextMatch+sErrorWord.length;NextIteration:if(	(charBefore == 0 || RE.test(originalText.charAt(charBefore)))&& (charAfter >= tempString.length || RE.test(tempString.charAt(charAfter)))&& !IsInFieldHeader(currentCharIndex+iNextMatch)){for (i=1;i<=ErrorObjectList.length;i++){oErrorObject = ErrorObjectList[i-1];iErrorStartChar = oErrorObject.iStartChar;if (iErrorStartChar-1 == currentCharIndex+iNextMatch && oErrorObject.iLength != sErrorWord.length)break NextIteration;if (iErrorStartChar-1 >= currentCharIndex+iNextMatch){updateStartPositions(i-1,sWord.length-sErrorWord.length);break;}}if (!multipleCap && !deliberateCap){bCase = isFirstLetterCap(originalText.charAt(currentCharIndex+iNextMatch));sWord = setFirstLetter(sWord,bCase);}sOriginalTextHead = originalText.substring(0,currentCharIndex+iNextMatch);sOriginalTextTail = originalText.substring(currentCharIndex+iNextMatch+sErrorWord.length);originalText = sOriginalTextHead + sWord + sOriginalTextTail;iCounter++;}currentCharIndex += (iNextMatch+Math.max(1,sWord.length));tempString = originalText.substring(currentCharIndex);iNextMatch = eval("tempString.search(/" + sErrorWord + "/i)");}for (i=1;i<=ErrorObjectList.length;i++){oErrorObject = ErrorObjectList[i-1];sErrorText = oErrorObject.sErrorText;if (sErrorWord.toLowerCase() == sErrorText.toLowerCase())oErrorObject.bChecked = true;}displayOnScreen(formatTags(originalText));nextError();}function Ignore(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;if (iCurrentError == null) return;m_bMethodChosen = true;setCookie("methodChosen",m_bMethodChosen);ErrorObjectList[iCurrentError-1].bChecked = true;nextError();}function IgnoreAll(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;if (iCurrentError == null) return;m_bMethodChosen = true;setCookie("methodChosen",m_bMethodChosen);ErrorObjectList[iCurrentError-1].bChecked = true;if (iCurrentError <= iError){sIgnoreAll[sIgnoreAll.length] = ErrorObjectList[iCurrentError-1].sErrorText;var oErrorObject;for(i=iCurrentError;i<=ErrorObjectList.length;i++){oErrorObject = ErrorObjectList[i-1];if (oErrorObject.sErrorText.toLowerCase() == ErrorObjectList[iCurrentError-1].sErrorText.toLowerCase())oErrorObject.bChecked = true;}nextError();}else FinishingTouch();}function nextError(){if ((iCurrentError < 20 && !m_ScreenReaderMode) || iCurrentError == 0 ){if (iCurrentError < iError){iCurrentError++;if (ErrorObjectList[iCurrentError-1].bChecked)nextError();else{if (m_ScreenReaderMode){document.forms[TLFormName].MISWORD.value = spaceOutWord(ErrorObjectList[iCurrentError-1].sErrorText);document.forms[TLFormName].Context.value = getShortContext();}displaySuggestedList(iCurrentError);if (!m_ScreenReaderMode){highlightWordError(iCurrentError);}}}else FinishingTouch();}else{document.forms[TLFormName].D_DEFBTN.value = "BB_SCNextBatch";document.forms[TLFormName].I_SCIGNOREALL.value = sIgnoreAll.join(",");document.forms[TLFormName].I_SCTEXT.value = originalText;UpdateReturnFieldsWithChanges();document.forms[TLFormName].I_SCTEXT.value = "";if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){document.forms[TLFormName].submit();}else{document.forms[TLFormName].I_SCTEXT.value = originalText;}}}function spaceOutWord(sWord){return sWord.replace(/(.)/gi,"$1  ");}function getShortContext(){var re = /\s/;var sWords = originalText.split(re);var iPos = 0;var i;for (i = 0;i < sWords.length;i++){iPos += sWords[i].length + 1;if (iPos >= ErrorObjectList[iCurrentError-1].iStartChar) break;}var sContext = "";var cSpace = "";for (var j = Math.max(0,i-3);j < Math.min(i+4,sWords.length);j++){var bHeaderWord = false;if(sWords[j].indexOf(">") != -1 || sWords[j].indexOf("<") != -1){bHeaderWord = true;}if(bHeaderWord){if(j < i){sContext = "";cSpace = "";continue;}else if(j > i){break;}}sContext += cSpace + sWords[j];cSpace = " ";}return sContext;}function setFirstLetter(sWord,bState){var firstChar = sWord.charAt(0);var re = /^[a-zA-Z]/;if (!re.test(sWord)) return sWord;if (bState)firstChar = firstChar.toUpperCase();else firstChar = firstChar.toLowerCase();return firstChar + sWord.substring(1);}function isFirstLetterCap(sWord){var reg = /^[A-Z]/;return reg.test(sWord);}function moreThanOneCap(sWord){var reg = /[A-Z]{2,}/;return reg.test(sWord);}function formatTags(sText){return sText;}function FinishingTouch(){clearSelectList();document.forms[TLFormName].ChangeTo.value = "";document.forms[TLFormName].BB_SCChange.disabled = true;document.forms[TLFormName].BB_SCChangeAll.disabled = true;document.forms[TLFormName].BB_SCIgnore.disabled = true;document.forms[TLFormName].BB_SCIgnoreAll.disabled = true;document.forms[TLFormName].WORDLIST.disabled = true;document.forms[TLFormName].ChangeTo.disabled = true;if (m_ScreenReaderMode){getElement("MISWORD_row").style.display = "none";getElement("Context_row").style.display = "none";getElement("Suggestions_row").style.display = "none";getElement("ChangeTo_row").style.display = "none";getElement("OptionButtons").style.display = "none";}else if (m_bMethodChosen){document.forms[TLFormName].BB_SCFinish.focus();}getElement("CompletedMessage").style.display = "block";displayOnScreen(formatTags(originalText));}function FinishButton(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;setCookie("methodChosen",false);document.forms[TLFormName].D_DEFBTN.value = "BB_SCFinish";UpdateReturnFieldsWithChanges();var text = document.forms[TLFormName].I_SCTEXT.value;document.forms[TLFormName].I_SCTEXT.value = "";if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){document.forms[TLFormName].submit();}else{document.forms[TLFormName].I_SCTEXT.value = text;}}function UpdateReturnFieldsWithChanges(){var i;for(i = 0;i < ErrorObjectList.length;i++){getSpellCheckField("I_SCACT_" + (i + 1)).value = ErrorObjectList[i].nAction;if(ErrorObjectList[i].nAction == 0 && ErrorObjectList[i].bChecked){getSpellCheckField("I_SCACT_" + (i + 1)).value = 3;}getSpellCheckField("I_SCWORD_" + (i + 1)).value = ErrorObjectList[i].sNewText;}}function CancelButton(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;if(m_bReplaceDone){if(!confirm(ErrMsg[31])){return;}}setCookie("methodChosen",false);document.forms[TLFormName].I_SCTEXT.value = "";document.forms[TLFormName].D_DEFBTN.value = "BB_SCCancel";if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){document.forms[TLFormName].submit();}}function ToggleScreenReaderMode(){if(ShowAssisterCannotPressButtonsMsgIfNecessary()) return;m_ScreenReaderMode = !m_ScreenReaderMode;setCookie("screenReaderMode",m_ScreenReaderMode);if (sIgnoreAll) document.forms[TLFormName].I_SCIGNOREALL.value = sIgnoreAll.join(",");document.forms[TLFormName].D_DEFBTN.value = "BB_SCNextBatch";document.forms[TLFormName].I_SCTEXT.value = originalText;UpdateReturnFieldsWithChanges();document.forms[TLFormName].I_SCTEXT.value = "";if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){document.forms[TLFormName].submit();}else{document.forms[TLFormName].I_SCTEXT.value = originalText;}}function UpdateScreenReaderMode(){if (m_ScreenReaderMode){document.forms[TLFormName].BB_SCMODE.value = "Click Here To Return To Default Version";document.forms[TLFormName].BB_SCMODE.title = "Return To Default Version";}else{document.forms[TLFormName].BB_SCMODE.value = "Click Here For Screen Reader Friendly Version";document.forms[TLFormName].BB_SCMODE.title = "Screen Reader Friendly Version";}getElement("spelltext").style.display = m_ScreenReaderMode ? "none" : "block";getElement("MISWORD_row").style.display = m_ScreenReaderMode ? "block" : "none";getElement("Context_row").style.display = m_ScreenReaderMode ? "block" : "none";}function updateStartPositions(ErrorNum,iChangeBy){for (i=ErrorNum;i < ErrorObjectList.length;i++)ErrorObjectList[i].iStartChar = ErrorObjectList[i].iStartChar + iChangeBy;}var ErrorObjectList = new Array();var iCurrentError;var iError = 0;var sIgnoreAll;var temp;function getSpellCheckField(sField){return document.forms[TLFormName][sField];}function initialise(){ErrorObjectList = new Array();iError = 0;m_ScreenReaderMode = getCookie("screenReaderMode");if (m_ScreenReaderMode == ""){m_ScreenReaderMode = false;setCookie("screenReaderMode",m_ScreenReaderMode);}else{m_ScreenReaderMode = m_ScreenReaderMode == "true";}var bChosen = getCookie("methodChosen");m_bMethodChosen = bChosen == "" ? false : bChosen == "true";UpdateScreenReaderMode();while(getSpellCheckField("I_SCERR_" + (iError + 1)) != null){iError++;}m_bReplaceDone = false;if(document.forms[TLFormName].I_SCMODIFIED != null){if(parseInt(document.forms[TLFormName].I_SCMODIFIED.value)){m_bReplaceDone = true;}}originalText = document.forms[TLFormName].I_SCTEXT.value;originalText = originalText.replace(/\r\n/g,unescape("%0A"));var iFirstChar = originalText.search(/[^\n]/);var iServerFirstChar = parseInt(document.forms[TLFormName].I_SCFIRSTCHAR.value,10);if (iServerFirstChar > iFirstChar){var counter;if (iFirstChar < 0){counter = iServerFirstChar;}else{counter = iServerFirstChar - iFirstChar;}for(i=1;i <= counter;i++){originalText = unescape("%0A") + originalText;}}if (iError == 0){FinishingTouch();return;}for (i=0;i < iError;i++)ErrorObjectList[i] = new ErrorObject(i+1);if (ErrorObjectList[0].iStartChar == 0){FinishingTouch();document.forms[TLFormName].ChangeTo.value = "No Spelling Errors";return;}iCurrentError = 0;sIgnoreAll = document.forms[TLFormName].I_SCIGNOREALL.value.split(",");for (i=0;i<iError;i++){for (j=0;j<sIgnoreAll.length;j++){if (sIgnoreAll[j].toLowerCase() == ErrorObjectList[i].sErrorText.toLowerCase()){ErrorObjectList[i].bChecked = true;break;}}}nextError();}function setCookie(sName,sValue){document.cookie= sName + "=" + escape(sValue) + "; path=/" +((document.URL.substring(0,5) == "https") ? "; secure" : "");}function getCookie(sName){var sCookiData = document.cookie;var prefix = sName + "=";var iStart = sCookiData.indexOf("; " + prefix);if (iStart == -1){iStart = sCookiData.indexOf(prefix);if (iStart != 0) return "";}else{iStart += 2;}var iEnd = sCookiData.indexOf(";",iStart);if (iEnd == -1){iEnd = sCookiData.length;}return unescape(sCookiData.substring(iStart + prefix.length,iEnd));}function getElement(sNameOrID){if (document.getElementById){return document.getElementById(sNameOrID);}else{return document.all[sNameOrID];}}function ShowAssisterCannotPressButtonsMsgIfNecessary(){if(typeof(m_bAssister) != "undefined" && m_bAssister && msgArray && msgArray[1000] && !BrowserDoesNotSupportTLAjax()){alert(msgArray[1000]);return true;}return false;}function setReplaceDoneFlag(){if(m_bReplaceDone) return;m_bReplaceDone = true;if(document.forms[TLFormName].I_SCMODIFIED != null){document.forms[TLFormName].I_SCMODIFIED.value = "1";}}function IsInFieldHeader(nPos){var i = originalText.indexOf("<",nPos);if(i == -1) return false;var sSearch = "<span style=\"color: blue;\">";if(i + sSearch.length <= originalText.length && originalText.substring(i,i + sSearch.length) == sSearch){return false;}else{return true;}}eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('k 2K={\'$2M\':1.2F};9 1p(o){5(o!=f&&A(o)=="X"&&A(o.w)=="2u"&&(o.w==0||m(o[0])))};9 1O(o){5(o!=f&&A(o)=="X"&&m(o.1Y)&&o.1Y==31&&!m(o.1c))};9 m(o){5(A(o)!="2N")};9 20(R){k i,j,o;k y=[];7(A(R)=="W"){R=1t 2P(\'$22\',R)}I(i=1;i<S.w;i++){o=S[i];7(1p(o)){I(j=0;j<o.w;j++){y[y.w]=R(o[j])}}x 7(1O(o)){I(j 1x o){y[y.w]=R(o[j])}}x{y[y.w]=R(o)}}5 y};9 2O(o,13){7(!m(o)||o==f){o={}}7(!m(13)||13==f){5 o}I(k p 1x 13){7(!m(o[p])){o[p]=13[p]}}5 o};21.2X.1W=9(o){k i,l;7(!(l=1Z.w)){5 G}I(i=0;i<l;i++){7(o==1Z[i]){5 H}}};k 2S=(9(){k L={};L.2T=9(o,O){7(o==f){5 f}7(1p(O)){O=20("5 $22.1M()",O);1g(o=o.17){7(o.1c&&O.1W(o.1c)){5 o}}}x{O=O.1M();1g(o=o.17){7(o.1c&&O==o.1c){5 o}}}5 f};L.2U=9(o){7(o!=f&&o.17&&o.17.1V){I(k i 1x o){7(A(o[i])=="9"){o[i]=f}}o.17.1V(o);5 H}5 G};L.2V=9(o){7(m(o.1L)){5 o.1L}5 f};L.30=9(o){7(m(o.1I)){5 o.1I}5 f};L.V=9(){k y=1t 21();k i,j,o;I(k i=0;i<S.w;i++){k o=S[i];7(o==f){7(S.w==1){5 f}y[y.w]=f}x 7(A(o)==\'W\'){7(h.1A){o=h.1A(o)}x 7(h.2f){o=h.2f[o]}7(S.w==1){5 o}y[y.w]=o}x 7(1p(o)){I(j=0;j<o.w;j++){y[y.w]=o[j]}}x 7(1O(o)){I(j 1x o){y[y.w]=o[j]}}x 7(S.w==1){5 o}x{y[y.w]=o}}5 y};L.$=L.V;5 L})();k 18=(9(){k r={};r.27=9(1d){7(A(1d)!="W"||!m(1d.1n)){5 f}k 1e=1d.1n(/^\\s*12\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*/);7(1e==f){5 1d}k 12=+1e[1]<<16|+1e[2]<<8|+1e[3];k Q="";k 24="2C";1g(12!=0){Q=24.1F(12&2J)+Q;12>>>=4}1g(Q.w<6){Q=\'0\'+Q}5"#"+Q};r.1E=9(z){7(!m(z)||z==f){5 f}7(z.2I("-")<0){5 z}k 11="";k c=f;k l=z.w;I(k i=0;i<l;i++){c=z.1F(i);11+=(c!="-")?c:z.1F(++i).1M()}5 11};r.1K=9(q,u){7(!m(q)||q==f||!1J){5 G}k 14=1t 1J("(^|\\\\s)"+u+"(\\\\s|$)");7(A(q)=="W"){5 14.1l(q)}x 7(A(q)=="X"&&q.u){5 14.1l(q.u)}5 G};r.25=9(q,u){7(A(q)!="X"||q==f||!m(q.u)){5 G}7(q.u==f||q.u==\'\'){q.u=u;5 H}7(r.1K(q,u)){5 H}q.u=q.u+" "+u;5 H};r.2a=9(q,u){7(A(q)!="X"||q==f||!m(q.u)||q.u==f){5 G}7(!r.1K(q,u)){5 G}k 14=1t 1J("(^|\\\\s+)"+u+"(\\\\s+|$)");q.u=q.u.1N(14,\' \');5 H};r.3k=9(q,u,26){7(A(q)!="X"||q==f||!m(q.u)||q.u==f){5 G}r.2a(q,u);r.25(q,26);5 H};r.1k=9(o,z){7(o==f){5 f}k p=f;k 1f=r.1E(z);7(z=="29"){p=r.1k(o,"2e");7(p==f){p=r.1k(o,"2d")}}x 7(o.1P&&m(o.1P[1f])){p=o.1P[1f]}x 7(Z.28){p=Z.28(o,f).38(z)}x 7(o.F&&m(o.F[1f])){p=o.F[1f]}7(/^\\s*12\\s*\\(/.1l(p)){p=r.27(p)}7(/^#/.1l(p)){p=p.2t()}5 p};r.19=r.1k;r.23=9(o,z,M){7(o==f||!m(o.F)||!m(z)||z==f||!m(M)){5 G}7(z=="29"){o.F["2e"]=M;o.F["2d"]=M}x 7(z=="1b"){o.F[\'-33-1b\']=M;o.F[\'-34-1b\']=M;o.F.1b=M;7(m(o.F.2c)){o.F.2c="35(1b="+M*1q+")"}}x{o.F[r.1E(z)]=M}5 H};r.3b=r.23;r.1X=3h;r.3f=9(o){7(m(o)&&o!=f&&m(o.E)&&o.E!=f&&o.E!=""){5 o.E}k E=f;1g(E==f||h.1A(E)!=f){E="3c"+(r.1X++)}7(m(o)&&o!=f&&(!m(o.E)||o.E=="")){o.E=E}5 E};5 r})();k 3m=(9(){k D={};D.V=9(e){7(!m(e)&&m(Z.2b)){e=Z.2b}5 e};D.3d=9(q,1y,1z,2x){7(q.2B){q.2B(1y,1z,2x);5 H}x 7(q.2z){q.2z("3e"+1y,1z);5 H}5 G};D.3g=9(e){e=D.V(e);7(m(e.2y)){5 e.2y}7(m(e.2A)){5 e.2A+1D.2i()}5 f};D.3a=9(e){e=D.V(e);7(m(e.2v)){5 e.2v}7(m(e.2g)){5 e.2g+1D.2w()}5 f};D.1j=9(e){e=D.V(e);7(A(e.1B)=="9"){e.1B()}7(m(e.1j)){e.1j=H}};D.1B=D.1j;D.1C=9(e){e=D.V(e);7(A(e.1C)=="9"){e.1C()}7(m(e.2m)){e.2m=G}};5 D})();k 1D=(9(){k B={};B.1U=9(){7(h.v){5 h.v}7(h.2k){k 1i=h.2k("36");7(1i!=f&&1i.w>0){5 1i[0]}}5 f};B.2w=9(){7(h.C&&m(h.C.1a)&&h.C.1a>0){5 h.C.1a}7(h.v&&m(h.v.1a)){5 h.v.1a}5 f};B.2i=9(){7(h.C&&m(h.C.15)&&h.C.15>0){5 h.C.15}7(h.v&&m(h.v.15)){5 h.v.15}5 f};B.Y=9(n){5(!m(n)||1m(n))?0:n};B.3j=9(){k T=0;k v=B.1U();7(h.C&&(!h.J||h.J=="1s")){k 2o=1h(18.19(v,\'37\'),10)||0;k 2n=1h(18.19(v,\'39\'),10)||0;T=1w.1u(v.1L+2n+2o,h.C.1r)}x{T=1w.1u(v.1r,v.3i)}7(1m(T)||T==0){T=B.Y(N.2q)}5 T};B.3n=9(){k v=B.1U();k U=(m(N.U)&&!1m(N.U))?N.U:0;7(h.C&&(!h.J||h.J=="1s")){k 2s=1h(18.19(v,\'3p\'),10)||0;k 2r=1h(18.19(v,\'3o\'),10)||0;5 1w.1u(v.1I+2s+2r,h.C.1o,h.C.2p,B.Y(N.U))}5 1w.1u(v.2p,v.1o,B.Y(N.U))};B.3l=9(){7(h.C&&(!h.J||h.J=="1s")){5 h.C.1r}x 7(h.J&&h.v){5 h.v.1r}5 B.Y(N.2q)};B.32=9(){7(!Z.2h&&h.C&&(!h.J||h.J=="1s")){5 h.C.1o}x 7(h.J&&!Z.2h&&h.v){5 h.v.1o}5 B.Y(N.U)};5 B})();k 2H=(9(){k t={};t.1G=9(a,b){7(a==b){5 0}7(a<b){5-1}5 1};t.2G=t.1G;t.1v=9(p){7(A(p)!="2u"){7(A(p)=="W"){p=2D(p.1N(/,/g,\'\'));7(1m(p)||p==f){p=0}}x{p=0}}5 p};t.1T=9(a,b){5 t.1v(a)-t.1v(b)};t.1H=9(p){7(p==f){p=""}5(""+p).2t()};t.2E=9(a,b){5 t.1G(t.1H(a),t.1H(b))};t.1S=9(p){7(A(p)=="W"){p=p.1N(/^[^\\d\\.]/,\'\')}5 t.1v(p)};t.2L=9(a,b){5 t.1T(t.1S(a),t.1S(b))};t.1Q=9(p){9 2l(11){9 1R(P){P=+P;7(P<2W){P+=2Y}x 7(P<1q){P+=2Z}5 P};k K;7(K=11.1n(/(\\d{2,4})-(\\d{1,2})-(\\d{1,2})/)){5(1R(K[1])*2j)+(K[2]*1q)+(+K[3])}7(K=11.1n(/(\\d{1,2})[\\/-](\\d{1,2})[\\/-](\\d{2,4})/)){5(1R(K[3])*2j)+(K[1]*1q)+(+K[2])}5 2R};5 2l(p)};t.2Q=9(a,b){5 t.1T(t.1Q(a),t.1Q(b))};5 t})();',62,212,'|||||return||if||function||||||null||document|||var||defined|||val|obj|css||sort|className|body|length|else|results|property|typeof|screen|documentElement|ev|id|style|false|true|for|compatMode|ret|dom|value|self|tagNames|yr|hex|func|arguments|width|innerHeight|resolve|string|object|zero|window||str|rgb|values|re|scrollLeft||parentNode|CSS|get|scrollTop|opacity|nodeName|rgbString|result|camelProperty|while|parseInt|bodies|cancelBubble|getStyle|test|isNaN|match|clientHeight|isArray|100|clientWidth|CSS1Compat|new|max|NumericConversion|Math|in|type|fn|getElementById|stopPropagation|preventDefault|Screen|hyphen2camel|charAt|AlphaNumeric|IgnoreCaseConversion|offsetHeight|RegExp|hasClass|offsetWidth|toUpperCase|replace|isObject|currentStyle|DateConversion|fixYear|CurrencyConversion|Numeric|getBody|removeChild|contains|uniqueIdNumber|constructor|this|map|Array|_|setStyle|digits|addClass|newClassName|rgb2hex|getComputedStyle|float|removeClass|event|filter|styleFloat|cssFloat|all|clientY|opera|getScrollLeft|10000|getElementsByTagName|getdate|returnValue|leftMargin|rightMargin|scrollHeight|innerWidth|bottomMargin|topMargin|toLowerCase|number|pageY|getScrollTop|capture|pageX|attachEvent|clientX|addEventListener|0123456789abcdef|parseFloat|IgnoreCase|06|Default|Sort|indexOf|0xf|Util|Currency|VERSION|undefined|setDefaultValues|Function|Date|99999999|DOM|getParentByTagName|removeNode|getOuterWidth|50|prototype|2000|1900|getOuterHeight|Object|getViewportHeight|moz|khtml|alpha|BODY|marginRight|getPropertyValue|marginLeft|getMouseY|set|ID_|add|on|createId|getMouseX|1000|scrollWidth|getDocumentWidth|replaceClass|getViewportWidth|Event|getDocumentHeight|marginBottom|marginTop'.split('|'),0,{}));function addEvent(obj,evType,fn,useCapture){if(obj.addEventListener){obj.addEventListener(evType,fn,useCapture);return true;}else if (obj.attachEvent){var r = obj.attachEvent("on"+evType,fn);return r;}}function removeEvent(obj,evType,fn,useCapture){if(obj.removeEventListener){obj.removeEventListener(evType,fn,useCapture);return true;}else if(obj.detachEvent){var r = obj.detachEvent("on" + evType,fn);return r;}}if(typeof(onLoadHandler) != "undefined"){addEvent(window,"load",onLoadHandler,false);}var dummyData;var dummyName;var anNumberFormat = new Array();var ErrMsg = new Array();var gbtextareaOnInputCalled = false;ErrMsg[0] = 'This is not a valid number entry';ErrMsg[1] = 'This is not a valid integer entry';ErrMsg[2] = 'This is not a valid date entry';ErrMsg[3] = 'This is not a valid time entry';ErrMsg[4] = 'The value must be greater than %1';ErrMsg[5] = 'The value must be less than %1';ErrMsg[6] = 'The value must be between %1 and %2';ErrMsg[7] = 'The value must be equal to %1';ErrMsg[8] = 'The value must be greater than or equal to %1';ErrMsg[9] = 'The value must be less than or equal to %1';ErrMsg[10] = 'The value cannot be greater than %1';ErrMsg[11] = 'The value cannot be less than %1';ErrMsg[12] = 'The value cannot be between %1 and %2';ErrMsg[13] = 'The value cannot be equal to %1';ErrMsg[14] = 'The value cannot be greater than or equal to %1';ErrMsg[15] = 'The value cannot be less than or equal to %1';ErrMsg[16] = 'The maximum number of decimal places allowed in this field is %1';ErrMsg[17] = 'The maximum number of characters allowed in this field is %1.\n(You have entered %2 too many).';ErrMsg[18] = 'Not enough room to paste text into field. The text is 1 character too long.';ErrMsg[19] = 'Invalid Year Entry';ErrMsg[20] = 'Pound signs are not valid for this field';ErrMsg[21] = 'Commas are not valid for this field';ErrMsg[22] = 'Percentage signs are not valid for this field';ErrMsg[23] = 'The date must be before today\'s date';ErrMsg[24] = 'The date must be after today\'s date';ErrMsg[25] = 'The date cannot be before today\'s date';ErrMsg[26] = 'The date cannot be after today\'s date';ErrMsg[27] = 'There is too much text to fit on the printed form.';ErrMsg[28] = 'There is too much text to fit on the printed form.\n\nIt has been changed to indicate where the limit has been reached.';ErrMsg[29] = 'Not enough room to paste text into field. The text is %1 characters too long.';ErrMsg[30] = 'Not enough room to paste text into field.';ErrMsg[31] = 'Are you sure you want to cancel the spell check and lose the spelling corrections you have made?';function ValidateField(Element,sCriteria){if(sCriteria == '') return true;if ((Element.value == dummyData && Element.name == dummyName) || (Element.value == '')) return true;var DataType,bCheck;DataType = sCriteria.charAt(0);sCriteria = sCriteria.substring(1);switch (DataType){case "N":bCheck = NumberCriteriaCheck(Element,sCriteria);break;case "S":bCheck = TextCriteriaCheck(Element,sCriteria);break;case "M":bCheck = MemoCriteriaCheck(Element,sCriteria);break;case "D":bCheck = DateCriteriaCheck(Element,sCriteria);break;case "T":bCheck = TimeCriteriaCheck(Element,sCriteria,false);break;case "I":bCheck = TimeCriteriaCheck(Element,sCriteria,true);break;default:}if (!bCheck){document.forms[TLFormName].elements[Element.name].focus();setTimeout('document.forms[TLFormName].elements["' + Element.name + '"].focus();',1);if (Element.type != "select-one")document.forms[TLFormName].elements[Element.name].select();dummyData = Element.value;dummyName = Element.name;}else{dummyData = '';dummyName = '';}return bCheck;}function NumberCriteriaCheck(Element,sCriteria){if(!validNumberFormat(Element.name,Element.value)) return false;var Value = stripFormatting(Element.name,Element.value,true);if (!isNumber(Value)){alert(ErrMsg[0]);return false;}reformatValue(Element);var maxDecimal = parseInt(sCriteria,10);if (!isNaN(maxDecimal)){sCriteria = sCriteria.substring(String(maxDecimal).length);if (!MaxDecimals(Value,maxDecimal)){alert(validationFormatString1(ErrMsg[16],maxDecimal));return false;}}return EqualitiesCheck("N",Value,sCriteria);}function TextCriteriaCheck(Element,sCriteria){var maxChar,maxLines,maxCharPerLine;maxChar = parseInt(sCriteria,10);if (!isNaN(maxChar)){sCriteria = sCriteria.substring(String(maxChar).length);var nCharsExceeded = MaxCharacters(Element.value,maxChar);if (nCharsExceeded > 0){alert(validationFormatString2(ErrMsg[17],maxChar,nCharsExceeded));return false;}}if (sCriteria.charAt(0) == ',') sCriteria = sCriteria.substring(1);maxLines = parseInt(sCriteria,10);if (!isNaN(maxLines)){sCriteria = sCriteria.substring(String(maxLines).length+1);maxCharPerLine = parseInt(sCriteria,10);sCriteria = sCriteria.substring(String(maxCharPerLine).length);if (Element.tagName != "SELECT"){if (!MaxLines(Element,maxCharPerLine,maxLines,false)) return false;}}return EqualitiesCheck("S",Element.value,sCriteria);}function MemoCriteriaCheck(Element,sCriteria){return TextCriteriaCheck(Element,sCriteria);}function DateCriteriaCheck(Element,sCriteria){var dDay,dMon,dYr;var dDate;var fieldName;fieldName = Element.name.substring(2);if(document.forms[TLFormName].elements["FD" + fieldName]){}else{if(document.forms[TLFormName].elements["F_" + fieldName]){return true;}}dDay = parseInt(document.forms[TLFormName].elements["FD" + fieldName].value,10);dMon = parseInt(document.forms[TLFormName].elements["FM" + fieldName].value,10);dYr = document.forms[TLFormName].elements["FY" + fieldName].value;if (isNaN(dDay) || isNaN(dMon) || dYr == '') return true;if (!isInteger(dYr)){alert(ErrMsg[19]);return false;}dYr = parseInt(dYr,10);if (!isDate(dDay,dMon,dYr)){alert(ErrMsg[2]);return false;}dDate = new Date(dYr,dMon-1,dDay);return EqualitiesCheck("D",dDate,sCriteria);}function TimeCriteriaCheck(Element,sCriteria,bTimeInterval){var dHour,dMin;var dDate;var fieldName;fieldName = Element.name.substring(2);if(document.forms[TLFormName].elements["FH" + fieldName]){}else{if(document.forms[TLFormName].elements["F_" + fieldName]){return true;}}dHour = document.forms[TLFormName].elements["FH" + fieldName].value;dMin = document.forms[TLFormName].elements["FN" + fieldName].value;if (dHour == '' || dMin == '') return true;if ((!isInteger(dHour)) || (!isInteger(dMin))){alert(ErrMsg[3]);return false;}dHour = parseInt(dHour,10);dMin = parseInt(dMin,10);if (!isTime(dHour,dMin,bTimeInterval)){alert(ErrMsg[3]);return false;}dDate = new Date();dDate.setHours(dHour);dDate.setMinutes(dMin);dDate.setSeconds(0);return EqualitiesCheck("T",dDate,sCriteria);}function isNumber(sNumber){return(parseFloat(sNumber,10) == (sNumber * 1));}function isInteger(sNumber){var reg = /\D/;return reg.test(sNumber) == true ? false : true;}function isDate(dDay,dMonth,dYear){var leapYear = isLeapYear(dYear);if ((dMonth == 2) && leapYear && (dDay > 29)) return false;if ((dMonth == 2) && !leapYear && (dDay > 28)) return false;if ((dDay > 30) && ((dMonth == 4) || (dMonth == 6)|| (dMonth == 9) || (dMonth == 11))) return false;return true;}function isLeapYear(year){return (year % 4 == 0 && (year % 100 !=0 || year % 400 == 0));}function isTime(dHour,dMin,bTimeInterval){if (dHour < 0) return false;if	(!bTimeInterval && (dHour > 23)) return false;if ((dMin > 60) || (dMin < 0)) return false;return true;}function MaxDecimals(sNumber,iMaxDec){if(sNumber.indexOf("e") != -1 || sNumber.indexOf("E") != -1){return MaxDecimalsScientific(sNumber,iMaxDec);}if (sNumber.indexOf(".") == -1) return true;var testString = new RegExp("\\.\\d{0," + iMaxDec + "}$");return testString.test(sNumber);}function MaxDecimalsScientific(sNumber,iMaxDec){var nIndexOfE = sNumber.indexOf("e");if(nIndexOfE == -1){nIndexOfE = sNumber.indexOf("E");}var nIndexOfDot = sNumber.indexOf(".");var nDecimalPlaces;if(nIndexOfDot != -1){nDecimalPlaces = (nIndexOfE - nIndexOfDot - 1) - parseInt(sNumber.substring(nIndexOfE + 1));}else{nDecimalPlaces = - parseInt(sNumber.substring(nIndexOfE + 1));if(nDecimalPlaces > iMaxDec){var i = 0;while(sNumber.substring(nIndexOfE - i - 1,nIndexOfE - i) == "0"){i++;}nDecimalPlaces = nDecimalPlaces - i;}}return (iMaxDec >= nDecimalPlaces);}function MaxCharacters(sData,iMaxChar){sData = sData.replace(/[\n\r]+/g,"");return (sData.length - iMaxChar);}function MaxLines(Element,iMaxOnLine,iMaxLines,bSuppressErrors){var sBuffer = Element.value;if (sBuffer.length == 0) return true;var iLine,iLines,iSurplus;iLine = 0;iLines = 1;while (true){iLine = NextLine(sBuffer,iLine,iMaxOnLine);if (iLine == 0) break;iLines++;if (iLines > iMaxLines){iSurplus = iLine;break;}}if (iSurplus != null){if (!bSuppressErrors){var sNewData,sMsg;sMsg = ErrMsg[27];if (sBuffer.search("<-------->") == -1){sMsg = ErrMsg[28];sNewData = sBuffer.substring(0,iSurplus) + "<-------->\n" + sBuffer.substring(iSurplus);Element.value = sNewData;}alert(sMsg)}return false;}return true;}function NextLine(psBuffer,piLineStart,iMaxOnLine){var i,iBuffLen,iLineEnd,iMaxOnLine,sChar;iLineEnd = 0;i = piLineStart;iBuffLen = psBuffer.length;while (true){if (i >= iBuffLen) return 0;sChar = psBuffer.charAt(i);if (sChar == '\n'){iLineEnd = i;break;}else if (sChar == " " && i - piLineStart < iMaxOnLine)iLineEnd = i;else if (sChar == '\r' &&  psBuffer.charAt(i+1) == '\n'){iLineEnd = i + 1;break;}else if (i - piLineStart + 1 == iMaxOnLine && psBuffer.charAt(i+1) != '\n' && psBuffer.charAt(i+1) != '\r' && i + 1 != iBuffLen){break;}else if(i - piLineStart + 1 > iMaxOnLine) break;i++;}if (iLineEnd == 0)return piLineStart + iMaxOnLine;else return iLineEnd == iBuffLen ? 0 : iLineEnd + 1}function EqualitiesCheck(sType,sData,sCriteria){if(sCriteria == '') return true;var EqualityType = sCriteria.charAt(0);if(EqualityType == ","){return true;}var bNegate = false;var bEqCheck;if (EqualityType == '^'){bNegate = true;EqualityType = sCriteria.charAt(1);sCriteria = sCriteria.substring(2);}else sCriteria = sCriteria.substring(1);var sCustomMsg = '';var nIndex = sCriteria.indexOf(',');if (EqualityType == "B") nIndex = sCriteria.indexOf(',',nIndex + 1);if (nIndex != -1){sCustomMsg = sCriteria.substring(nIndex + 1);sCriteria = sCriteria.substring(0,nIndex);}switch (EqualityType){case "G":bEqCheck = GreaterThan(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "L":bEqCheck = LessThan(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "B":bEqCheck = Between(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "E":bEqCheck = Equal(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "H":bEqCheck = GreaterEqual(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "P":bEqCheck = LessEqual(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "A":bEqCheck = BeforeToday(sType,sData,sCriteria,bNegate,sCustomMsg);break;case "Z":bEqCheck = AfterToday(sType,sData,sCriteria,bNegate,sCustomMsg);break;default:}return bEqCheck;}function GreaterThan(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck;if (sType == "N"){var smallNumber = 1e-10;bCheck = parseFloat(Data) - parseFloat(sCriteria) > smallNumber ? true : false;sCriteria = addSeparatorsNF(sCriteria,'.','.',',');}else if (sType == "S" || sType == "M"){sCriteria = unescape(sCriteria);bCheck = Data > sCriteria ? true : false;}else if (sType == "D"){var dCriteriaDate = new Date(sCriteria.substring(4),parseInt(sCriteria.substring(2,4),10)-1,sCriteria.substring(0,2));sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);bCheck = Data.getTime() > dCriteriaDate.getTime() ? true : false;}else if (sType == "T"){var dCriteriaTime = new Date();dCriteriaTime.setHours(sCriteria.substring(0,2));dCriteriaTime.setMinutes(sCriteria.substring(2,4));dCriteriaTime.setSeconds(0);sCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2);bCheck = Data.getTime() > dCriteriaTime.getTime() ? true : false;}if (bNegate == "Off") return bCheck;if (!bNegate && !bCheck){OFalert(validationFormatString1(ErrMsg[4],sCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString1(ErrMsg[10],sCriteria),sCustomMsg);return false;}else return true;}function LessThan(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck;if (sType == "N"){var smallNumber = 1e-10;bCheck = parseFloat(sCriteria) - parseFloat(Data) > smallNumber ? true : false;sCriteria = addSeparatorsNF(sCriteria,'.','.',',');}else if (sType == "S" || sType == "M"){sCriteria = unescape(sCriteria);bCheck = Data < sCriteria ? true : false;}else if (sType == "D"){var dCriteriaDate = new Date(sCriteria.substring(4),parseInt(sCriteria.substring(2,4),10)-1,sCriteria.substring(0,2));sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);bCheck = Data.getTime() < dCriteriaDate.getTime() ? true : false;}else if (sType == "T"){var dCriteriaTime = new Date();dCriteriaTime.setHours(sCriteria.substring(0,2));dCriteriaTime.setMinutes(sCriteria.substring(2,4));dCriteriaTime.setSeconds(0);sCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2);bCheck = Data.getTime() < dCriteriaTime.getTime() ? true : false;}if (bNegate == "Off") return bCheck;if (!bNegate && !bCheck){OFalert(validationFormatString1(ErrMsg[5],sCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString1(ErrMsg[11],sCriteria),sCustomMsg);return false;}else return true;}function Equal(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck;if (sType == "N"){var smallNumber = 1e-10;var result = Math.abs(parseFloat(sCriteria) - parseFloat(Data));bCheck = result < smallNumber ? true : false;sCriteria = addSeparatorsNF(sCriteria,'.','.',',');}else if (sType == "S" || sType == "M"){sCriteria = unescape(sCriteria);bCheck = Data == sCriteria ? true : false;}else if (sType == "D"){var dCriteriaDate = new Date(sCriteria.substring(4),parseInt(sCriteria.substring(2,4),10)-1,sCriteria.substring(0,2));sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);bCheck = Data.getTime() == dCriteriaDate.getTime() ? true : false;}else if (sType == "T"){var dCriteriaTime = new Date();dCriteriaTime.setHours(sCriteria.substring(0,2));dCriteriaTime.setMinutes(sCriteria.substring(2,4));dCriteriaTime.setSeconds(0);sCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2);bCheck = Data.getTime() == dCriteriaTime.getTime() ? true : false;}if (bNegate == "Off") return bCheck;if (!bNegate && !bCheck){OFalert(validationFormatString1(ErrMsg[7],sCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString1(ErrMsg[13],sCriteria),sCustomMsg);return false;}else return true;}function GreaterEqual(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck = (GreaterThan(sType,Data,sCriteria,'Off') || Equal(sType,Data,sCriteria,'Off')) ? true : false;if (bNegate == "Off") return bCheck;if (sType == "D") sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);else if (sType == "T") sCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2);else if (sType == "S" || sType == "M") sCriteria = unescape(sCriteria);else if (sType == "N") sCriteria = addSeparatorsNF(sCriteria,'.','.',',');if (!bNegate && !bCheck){OFalert(validationFormatString1(ErrMsg[8],sCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString1(ErrMsg[14],sCriteria),sCustomMsg);return false;}else return true;}function LessEqual(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck = (LessThan(sType,Data,sCriteria,'Off') || Equal(sType,Data,sCriteria,'Off')) ? true : false;if (bNegate == "Off") return bCheck;if (sType == "D") sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);else if (sType == "T") sCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2);else if (sType == "S" || sType == "M") sCriteria = unescape(sCriteria);else if (sType == "N") sCriteria = addSeparatorsNF(sCriteria,'.','.',',');if (!bNegate && !bCheck){OFalert(validationFormatString1(ErrMsg[9],sCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString1(ErrMsg[15],sCriteria),sCustomMsg);return false;}else return true;}function Between(sType,Data,sCriteria,bNegate,sCustomMsg){var location = sCriteria.indexOf(",");var LCriteria = sCriteria.substring(0,location);var HCriteria = sCriteria.substring(location+1);var bCheck = (GreaterEqual(sType,Data,LCriteria,'Off') && LessEqual(sType,Data,HCriteria,'Off')) ? true : false;if (sType == "D"){LCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4,8);HCriteria = sCriteria.substring(9,11)+'/'+sCriteria.substring(11,13)+'/'+sCriteria.substring(13);}else if (sType == "T"){LCriteria = sCriteria.substring(0,2) + ':' + sCriteria.substring(2,4);HCriteria = sCriteria.substring(5,7) + ':' + sCriteria.substring(7);}else if (sType == "S" || sType == "M"){LCriteria = unescape(LCriteria);HCriteria = unescape(HCriteria);}else if (sType == "N"){LCriteria = addSeparatorsNF(LCriteria,'.','.',',');HCriteria = addSeparatorsNF(HCriteria,'.','.',',');}if (!bNegate && !bCheck){OFalert(validationFormatString2(ErrMsg[6],LCriteria,HCriteria),sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(validationFormatString2(ErrMsg[12],LCriteria,HCriteria),sCustomMsg);return false;}else return true;}function BeforeToday(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck;var currentTime = new Date();var year = currentTime.getFullYear();var month = String(currentTime.getMonth() + 1);var day = String(currentTime.getDate());if(month.length < 2){month = "0" + month;}if(day.length < 2){day = "0" + day;}sCriteria = "";sCriteria += day;sCriteria += month;sCriteria += year;if (sType == "D"){var dCriteriaDate = new Date(sCriteria.substring(4),parseInt(sCriteria.substring(2,4),10) - 1,sCriteria.substring(0,2));sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);bCheck = Data.getTime() < dCriteriaDate.getTime() ? true : false;}if (bNegate == "Off") return bCheck;if (!bNegate && !bCheck){OFalert(ErrMsg[23],sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(ErrMsg[25],sCustomMsg);return false;}else return true;}function AfterToday(sType,Data,sCriteria,bNegate,sCustomMsg){var bCheck;var currentTime = new Date();var year = currentTime.getFullYear();var month = String(currentTime.getMonth() + 1);var day = String(currentTime.getDate());if(month.length < 2){month = "0" + month;}if(day.length < 2){day = "0" + day;}sCriteria = "";sCriteria += day;sCriteria += month;sCriteria += year;if (sType == "D"){var dCriteriaDate = new Date(sCriteria.substring(4),parseInt(sCriteria.substring(2,4),10)-1,sCriteria.substring(0,2));sCriteria = sCriteria.substring(0,2)+'/'+sCriteria.substring(2,4)+'/'+sCriteria.substring(4);bCheck = Data.getTime() > dCriteriaDate.getTime() ? true : false;}if (bNegate == "Off") return bCheck;if (!bNegate && !bCheck){OFalert(ErrMsg[24],sCustomMsg);return false;}else if (bNegate && bCheck){OFalert(ErrMsg[26],sCustomMsg);return false;}else return true;}function OFalert(sErrMsg,sCustomMsg){if (sCustomMsg == ''){alert(sErrMsg);}else{alert(unescape(sCustomMsg));}}function ValidateTextarea(Element,event,sCriteria){var k = event.which ? event.which : event.keyCode;if (k<=46 && k!=32 && k!=13 && k!=10) return true;var sPaste;if (event.ctrlKey && (k==86 || k==118) && window.clipboardData){sPaste = window.clipboardData.getData('Text');}var sSelected;if (document.selection && document.selection.createRange){var range = document.selection.createRange();if (range.text.length != 0){if (!sPaste){return true;}sSelected = range.text;}}var DataType,bCheck;DataType = sCriteria.charAt(0);sCriteria = sCriteria.substring(1);var maxChar,maxLines,maxCharPerLine;maxChar = parseInt(sCriteria,10);if (sCriteria.charAt(0) == ',') sCriteria = sCriteria.substring(1);if (!isNaN(maxChar)){sCriteria = sCriteria.substring(String(maxChar).length);}if (sCriteria.charAt(0) == ',') sCriteria = sCriteria.substring(1);maxLines = parseInt(sCriteria,10);if (!isNaN(maxLines)){sCriteria = sCriteria.substring(String(maxLines).length+1);maxCharPerLine = parseInt(sCriteria,10);if(!isNaN(maxCharPerLine)){if(isNaN(maxChar) || ((maxLines * maxCharPerLine) < maxChar)){maxChar = maxLines * maxCharPerLine;}}}else{if(k==13) return true;}if (!isNaN(maxChar)){if (!sPaste){if (MaxCharacters(Element.value,maxChar - 1) > 0){return false;}}else{var sProposed = Element.value + sPaste;var nCharsExceeded = MaxCharacters(sProposed,maxChar);if (sSelected){sSelected = sSelected.replace(/[\n\r]+/g,"");nCharsExceeded -= sSelected.length;}if (nCharsExceeded > 0){if(nCharsExceeded == 1){alert(ErrMsg[18]);}else{alert(validationFormatString1(ErrMsg[29],nCharsExceeded));}return false;}}}if (!isNaN(maxLines)){if(!checkMaxLines(Element,maxCharPerLine,maxLines,k,sPaste)){return false;}}if(sPaste && sSelected){var range = document.selection.createRange();range.text = sPaste;}return true;}function textareaOnPaste(textareaElement){textareaSetupDelayedDisplayWordCount(textareaElement);}function textareaOnCut(textareaElement){textareaSetupDelayedDisplayWordCount(textareaElement);}function textareaSetupDelayedDisplayWordCount(textareaElement){var sID = textareaElement.attributes["id"].nodeValue;var sFunction = "textareaOnDelayedDisplayWordCount('" + sID + "')";setTimeout(sFunction,20);}function textareaOnInput(textareaElement){gbtextareaOnInputCalled = true;textareaDisplayWordCount(textareaElement);}function textareaOnKeyUp(textareaElement){if(!gbtextareaOnInputCalled){textareaDisplayWordCount(textareaElement);}}function textareaOnDelayedDisplayWordCount(sId){var textareaElement = document.getElementById(sId);textareaDisplayWordCount(textareaElement);}function textareaDisplayWordCount(textareaElement){var sFieldName = textareaElement.attributes["name"].nodeValue;var data = textareaElement.value;var fRichText = false;var oDisplay = document.getElementById("disabled_" + sFieldName);if(oDisplay){fRichText = true;if(oDisplay.style.display != 'none'){data = oDisplay.innerHTML;}}sFieldName = sFieldName.substring(2);var countOfWords;if(fRichText){countOfWords = textareaCountWordsHTML(data);}else{countOfWords = textareaCountWords(data);}textareaUpdateWordCount(sFieldName,countOfWords);}function textareaUpdateWordCount(sFieldName,countOfWords){var sCountNodeName = "TL_ajaxreplace_wordcount_" + sFieldName;var oCountSpanNode = document.getElementById(sCountNodeName);if(oCountSpanNode == null) return;var oCountDivNode = oCountSpanNode.parentNode;oCountDivNode.style.visibility = "visible";oCountSpanNode.innerHTML = String(countOfWords);}function textareaCountWords(data){var dataLength = data.length;var countOfWords = 0;var i;var fInWord = false;for(i = 0;i < dataLength;i++){var c = data.charCodeAt(i);if(wordCountIsAlphaNumeric(c)){if(!fInWord){countOfWords++;}fInWord = true;}else{fInWord = false;}}return countOfWords;}function wordCountIsAlphaNumeric(c){if(	(c >= 48 && c <= 57)|| (c >= 65 && c <= 90)|| (c >= 97 && c <= 122)){return true;}else{return false;}}function textareaCountWordsHTML(data){var dataLength = data.length;var countOfWords = 0;var i;var fInWord = false;for(i = 0;i < dataLength;i++){var c = data.charCodeAt(i);if(wordCountIsAlphaNumeric(c)){if(!fInWord){countOfWords++;}fInWord = true;}else{fInWord = false;}if(c == 60){i = wordCountSkipTagOrComment(data,i);}else if(c == 38){i = wordCountSkipEntity(data,i);}}return countOfWords;}function wordCountSkipTagOrComment(data,iStart){if(wordCountIsCommentStart(data,iStart)){var i = data.indexOf("-->",iStart);if(i == -1){return iStart;}else{return i + 2;}}else{var i = data.indexOf(">",iStart);if(i == -1){return iStart;}else{return i;}}}function wordCountIsCommentStart(data,iStart){if(iStart + 4 > data.length){return false;}var sStart = data.substring(iStart,iStart + 4);return (sStart == "<!--");}function wordCountSkipEntity(data,iStart){var i = data.indexOf(";",iStart);if(i == -1){return iStart;}else{return i;}}var iCurLinePos;var sCurLineText;var iCurLineNum;var sCurrentElementName;function checkMaxLines(Element,iMaxOnLine,iMaxLines,k,sPaste){var sChar;if(sPaste != undefined){sChar = sPaste;}else if(k != 13){sChar = String.fromCharCode(k);}else{sChar = "\r\n";}var theCaretPos;var iSelectLen = 0;if (document.selection && document.selection.createRange){var range = document.selection.createRange();iSelectLen = range.text.length;var stored_range = range.duplicate();stored_range.moveToElementText( Element );stored_range.setEndPoint( 'EndToEnd',range );theCaretPos = stored_range.text.length - range.text.length;if(range.text.length == 0){range.moveEnd("character",3);if(Element.value.substring(theCaretPos,theCaretPos + 1) == "\r" && range.text != Element.value.substring(theCaretPos,theCaretPos + range.text.length)) theCaretPos+=2;}else{range.moveEnd("character",3);if(iSelectLen + 3 != range.text.length) iSelectLen += 2;}}else if (Element.selectionStart || Element.selectionStart == '0'){theCaretPos = Element.selectionStart;iSelectLen = Element.selectionEnd - Element.selectionStart;}else{return true;}sBuffer = Element.value.substring(0,theCaretPos) + sChar + Element.value.substring(theCaretPos + iSelectLen);var iLine,iLines,iSurplus;if(Element.name == sCurrentElementName &&sBuffer.substring(0,iCurLinePos) == sCurLineText){iLine = iCurLinePos;iLines = iCurLineNum;}else{iLine = 0;iLines = 1;iCurLinePos = 0;iCurLineNum = 1;sCurLineText = "";}var iLastLinePos = iLine;var iLastLineNum = iLines;while (true){iLine = NextLine(sBuffer,iLine,iMaxOnLine);if (iLine == 0) break;iLines++;if(iLine <= theCaretPos){iLastLinePos = iLine;iLastLineNum = iLines;}if (iLines > iMaxLines){iSurplus = iLine;break;}}if (iSurplus != null){if (sPaste != undefined){alert(ErrMsg[30]);}return false;}else{if(iLines > 1){iCurLinePos = iLastLinePos;iCurLineNum = iLastLineNum;sCurLineText = sBuffer.substring(0,iCurLinePos);sCurrentElementName = Element.name;}return true;}}function addSeparatorsNF(nStr,inD,outD,sep){nStr += '';var dpos = nStr.indexOf(inD);var nStrEnd = '';if (dpos != -1){nStrEnd = outD + nStr.substring(dpos + 1,nStr.length);nStr = nStr.substring(0,dpos);}var rgx = /(\d+)(\d{3})/;while (rgx.test(nStr)){nStr = nStr.replace(rgx,'$1' + sep + '$2');}return nStr + nStrEnd;}function hasNumberFormat(fieldName){return (anNumberFormat[fieldName] != undefined);}function hasPoundSignFormat(fieldName){if (!hasNumberFormat(fieldName)) return false;return ((anNumberFormat[fieldName] & 1) == 1);}function hasCommaFormat(fieldName){if (!hasNumberFormat(fieldName)) return false;return ((anNumberFormat[fieldName] & 2) == 2);}function hasPercentFormat(fieldName){if (!hasNumberFormat(fieldName)) return false;return ((anNumberFormat[fieldName] & 4) == 4);}function stripFormatting(fieldName,Value,bConvertPercentage){var returnValue = Value;if (hasNumberFormat(fieldName)){if (hasPoundSignFormat(fieldName)){returnValue = returnValue.replace(/£/gi,"");}if (hasCommaFormat(fieldName)){var sValuesArray = returnValue.split('.');sValuesArray[0] = sValuesArray[0].replace(/,/gi,"");returnValue = sValuesArray.join('.');}if (hasPercentFormat(fieldName)){returnValue = returnValue.replace(/%/gi,"");if (bConvertPercentage && isNumber(returnValue)){var dValue = parseFloat(returnValue,10) / 100;returnValue = dValue.toString();}}}returnValue = returnValue.replace(/\s*(-?\d)/,"$1");return returnValue;}function GetFormattedValue(fieldName,value,bConvertPercentage){var returnValue = value.toString();if (!isNumber(returnValue)) return returnValue;if (hasNumberFormat(fieldName)){var dValue;if (hasPercentFormat(fieldName)){dValue = parseFloat(returnValue,10);if (bConvertPercentage){dValue *= 100;}returnValue = dValue.toString() + "%";}if (hasPoundSignFormat(fieldName)){dValue = parseFloat(returnValue,10);if (dValue < 0){returnValue = "-£" + returnValue.substring(1);}else{returnValue = "£" + returnValue;}}if (hasCommaFormat(fieldName)){returnValue = addSeparatorsNF(returnValue,'.','.',',');}}return returnValue;}function reformatValue(Element){if (Element.type != "text") return;var Value = Element.value;if (hasNumberFormat(Element.name)){var Value = stripFormatting(Element.name,Value,false);Value = GetFormattedValue(Element.name,Value,false);}Element.value = Value.replace(/\s*(-?\d)/,"$1");}function validNumberFormat(fieldName,sValue){if (!hasPoundSignFormat(fieldName) && sValue.indexOf("£") != -1){alert(ErrMsg[20]);return false;}if (!hasCommaFormat(fieldName) && sValue.indexOf(",") != -1){alert(ErrMsg[21]);return false;}if (!hasPercentFormat(fieldName) && sValue.lastIndexOf("%") != -1){alert(ErrMsg[22]);return false;}return true;}function SubmitTableLink(btnName){m_sLastButtonPressed = btnName;if ((typeof(sendAjaxRequest) == "undefined") || sendAjaxRequest()){if(document.forms[TLFormName].I_TABLELINK){document.forms[TLFormName].I_TABLELINK.value = btnName;}else{addField(document.forms[TLFormName],"hidden","I_TABLELINK",btnName);}document.forms[TLFormName].submit();document.forms[TLFormName].I_TABLELINK.value = "";return false;}return false;}function validationFormatString1(sFormat,sParam1){var n1 = sFormat.indexOf("%1");if(n1 == -1){return sFormat;}else{return sFormat.substring(0,n1) + sParam1 + sFormat.substring(n1 + 2);}}function validationFormatString2(sFormat,sParam1,sParam2){var n1 = sFormat.indexOf("%1");var n2 = sFormat.indexOf("%2");var s1 = sParam1;var s2 = sParam2;if(n1 > n2){var temp;temp = n2;n2 = n1;n1 = temp;temp = s2;s2 = s1;s1 = temp;}if(n1 == -1 && n2 == -1){return sFormat;}else if(n1 == -1){return sFormat.substring(0,n2) + s2 + sFormat.substring(n2 + 2);}else{return sFormat.substring(0,n1) + s1 + sFormat.substring(n1 + 2,n2) + s2 + sFormat.substring(n2 + 2);}}function validationLoadStringTable(){if(typeof(m_javaStringTable) == "undefined"){return;}var nCount = ErrMsg.length;var i;for(i = 0;i < nCount + 10;i++){if(typeof m_javaStringTable[i] != "undefined"){ErrMsg[i] = m_javaStringTable[i];}}}var zXml  ={useActiveX: (typeof ActiveXObject != "undefined"),useDom: document.implementation && document.implementation.createDocument,useXmlHttp: (typeof XMLHttpRequest != "undefined")};zXml.ARR_XMLHTTP_VERS  = ["MSXML2.XmlHttp.6.0","MSXML2.XmlHttp.3.0"];zXml.ARR_DOM_VERS  = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.3.0"];function zXmlHttp(){}zXmlHttp.createRequest = function (){if (zXml.useXmlHttp){return new XMLHttpRequest();}else if (zXml.useActiveX){if (!zXml.XMLHTTP_VER){for (var i=0;i < zXml.ARR_XMLHTTP_VERS.length;i++){try{new ActiveXObject(zXml.ARR_XMLHTTP_VERS[i]);zXml.XMLHTTP_VER = zXml.ARR_XMLHTTP_VERS[i];break;}catch (oError){}}}if (zXml.XMLHTTP_VER){return new ActiveXObject(zXml.XMLHTTP_VER);}else{throw new Error("Could not create XML HTTP Request.");}}else{throw new Error("Your browser doesn't support an XML HTTP Request.");}};zXmlHttp.isSupported = function (){return zXml.useXmlHttp || zXml.useActiveX;};function zXmlDom(){}zXmlDom.createDocument = function (){if (zXml.useDom){var oXmlDom = document.implementation.createDocument("","",null);oXmlDom.parseError ={valueOf: function (){return this.errorCode;},toString: function (){return this.errorCode.toString()}};oXmlDom.__initError__();oXmlDom.addEventListener("load",function (){this.__checkForErrors__();this.__changeReadyState__(4);},false);return oXmlDom;}else if (zXml.useActiveX){if (!zXml.DOM_VER){for (var i=0;i < zXml.ARR_DOM_VERS.length;i++){try{new ActiveXObject(zXml.ARR_DOM_VERS[i]);zXml.DOM_VER = zXml.ARR_DOM_VERS[i];break;}catch (oError){}}}if (zXml.DOM_VER){return new ActiveXObject(zXml.DOM_VER);}else{throw new Error("Could not create XML DOM document.");}}else{throw new Error("Your browser doesn't support an XML DOM document.");}};zXmlDom.isSupported = function (){return zXml.useDom || zXml.useActiveX;};var oMozDocument = null;if (typeof XMLDocument != "undefined"){oMozDocument = XMLDocument;}else if (typeof Document != "undefined"){oMozDocument = Document;}if (oMozDocument && !window.opera){try{oMozDocument.prototype.readyState = 0;}catch(e){}oMozDocument.prototype.onreadystatechange = null;oMozDocument.prototype.__changeReadyState__ = function (iReadyState){try{this.readyState = iReadyState;}catch(e){}if (typeof this.onreadystatechange == "function"){this.onreadystatechange();}};oMozDocument.prototype.__initError__ = function (){this.parseError.errorCode = 0;this.parseError.filepos = -1;this.parseError.line = -1;this.parseError.linepos = -1;this.parseError.reason = null;this.parseError.srcText = null;this.parseError.url = null;};oMozDocument.prototype.__checkForErrors__ = function (){if (this.documentElement.tagName == "parsererror"){var reError = new RegExp(">([\\s\\S]*?)Location:([\\s\\S]*?)Line Number (\\d+), Column (\\d+):<sourcetext>([\\s\\S]*?)(?:\\-*\\^)");reError.test(this.xml);this.parseError.errorCode = -999999;this.parseError.reason = RegExp.$1;this.parseError.url = RegExp.$2;this.parseError.line = parseInt(RegExp.$3);this.parseError.linepos = parseInt(RegExp.$4);this.parseError.srcText = RegExp.$5;}};oMozDocument.prototype.loadXML = function (sXml){this.__initError__();this.__changeReadyState__(1);var oParser = new DOMParser();var oXmlDom = oParser.parseFromString(sXml,"text/xml");while (this.firstChild){this.removeChild(this.firstChild);}for (var i=0;i < oXmlDom.childNodes.length;i++){var oNewNode = this.importNode(oXmlDom.childNodes[i],true);this.appendChild(oNewNode);}this.__checkForErrors__();this.__changeReadyState__(4);};oMozDocument.prototype.__load__ = oMozDocument.prototype.load;oMozDocument.prototype.load = function (sURL){this.__initError__();this.__changeReadyState__(1);this.__load__(sURL);};Node.prototype.__defineGetter__("xml",function (){var oSerializer = new XMLSerializer();return oSerializer.serializeToString(this,"text/xml");});Node.prototype.__defineGetter__("text",function (){var sText = "";for (var i = 0;i < this.childNodes.length;i++){if (this.childNodes[i].hasChildNodes()){sText += this.childNodes[i].text;}else{sText += this.childNodes[i].nodeValue;}}return sText;});}function zXslt(){}zXslt.transformToText = function (oXml,oXslt ){if (typeof XSLTProcessor != "undefined"){var oProcessor = new XSLTProcessor();oProcessor.importStylesheet(oXslt);var oResultDom = oProcessor.transformToDocument(oXml);var sResult = oResultDom.xml;if (sResult.indexOf("<transformiix:result") > -1){sResult = sResult.substring(sResult.indexOf(">") + 1,sResult.lastIndexOf("<"));}return sResult;}else if (zXml.useActiveX){return oXml.transformNode(oXslt);}else{throw new Error("No XSLT engine found.");}};function zXPath(){}zXPath.selectNodes = function (oRefNode,sXPath,oXmlNs ){if (typeof XPathEvaluator != "undefined"){oXmlNs = oXmlNs ||{};var nsResolver = function (sPrefix){return oXmlNs[sPrefix];};var oEvaluator = new XPathEvaluator();var oResult = oEvaluator.evaluate(sXPath,oRefNode,nsResolver,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes = new Array;if (oResult != null){var oElement = oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement = oResult.iterateNext();}}return aNodes;}else if (zXml.useActiveX){if (oXmlNs){var sXmlNs = "";for (var sProp in oXmlNs){sXmlNs += "xmlns:" + sProp + "=\'" + oXmlNs[sProp] + "\' ";}oRefNode.ownerDocument.setProperty("SelectionNamespaces",sXmlNs);}return oRefNode.selectNodes(sXPath);}else{throw new Error("No XPath engine found.");}};zXPath.selectSingleNode = function (oRefNode,sXPath,oXmlNs ){if (typeof XPathEvaluator != "undefined"){oXmlNs = oXmlNs ||{};var nsResolver = function (sPrefix){return oXmlNs[sPrefix];};var oEvaluator = new XPathEvaluator();var oResult = oEvaluator.evaluate(sXPath,oRefNode,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null);if (oResult != null){return oResult.singleNodeValue;}else{return null;}}else if (zXml.useActiveX){if (oXmlNs){var sXmlNs = "";for (var sProp in oXmlNs){sXmlNs += "xmlns:" + sProp + "=\'" + oXmlNs[sProp] + "\' ";}oRefNode.ownerDocument.setProperty("SelectionNamespaces",sXmlNs);}return oRefNode.selectSingleNode(sXPath);}else{throw new Error("No XPath engine found.");}};function zXMLSerializer(){}zXMLSerializer.prototype.serializeToString = function (oNode ){var sXml = "";switch (oNode.nodeType){case 1:             sXml = "<" + oNode.tagName;for (var i=0;i < oNode.attributes.length;i++){sXml += " " + oNode.attributes[i].name + "=\"" + oNode.attributes[i].value + "\"";}sXml += ">";for (var i=0;i < oNode.childNodes.length;i++){sXml += this.serializeToString(oNode.childNodes[i]);}sXml += "</" + oNode.tagName + ">";break;case 3:             sXml = oNode.nodeValue;break;case 4:             sXml = "<![CDATA[" + oNode.nodeValue + "]]>";break;case 7:             sXml = "<?" + oNode.nodevalue + "?>";break;case 8:             sXml = "<!--" + oNode.nodevalue + "-->";break;case 9:             for (var i=0;i < oNode.childNodes.length;i++){sXml += this.serializeToString(oNode.childNodes[i]);}break;}return sXml;};
