{"version":3,"sources":["AjaxTransfer.js","EnableScrollToTopFix.js","PasswordMeter.js","SessionTimer.js","Twitter.js","ValidationEx.js","ValidationEx_Display.js","ValidationEx_Summary.js","uploader.js","common.js","ReadMore.js","ScrollToView.js","SkipLinks.js","DOBControls.js","debug-panel.js","RocktimeCommon.js"],"names":["orginalFormAction","EndRequestHandlerAjaxTransfer","theForm","action","_initialAction","RegisterRequestHandlersAjaxTransfer","Sys","WebForms","PageRequestManager","getInstance","add_endRequest","Application","notifyScriptLoaded","document","addEventListener","add_load","String","prototype","strReverse","newstring","s","length","charAt","pass_createError","value","index","pass_Standards","pass_Mins","output","replace","pass_getBackgroundcolor","score","hexc","Array","redcol_1","redcol_2","greencol_1","greencol_2","bluecol_1","bluecol_2","red","green","blue","Math","round","floor","pass_chkPassKeyPress","pwd","id","val","getElementById","isvalid","pass_chkPass","ValidatorUpdateDisplay","parent","undefined","parentObj","all","RocktimeValidateEx","oHelp","$","oScore","hide","show","pass_DisplayType","eval","pass_UseHelp","pass_ShowOk","pass_Complexities","pass_ComplexityThresholds","nScore","nLength","nAlphaUC","nAlphaLC","nNumber","nSymbol","nMidChar","nUnqChar","nRepChar","nRepInc","nConsecAlphaUC","nConsecAlphaLC","nConsecNumber","nConsecSymbol","nConsecCharType","nSeqAlpha","nSeqNumber","nSeqSymbol","nSeqChar","nReqChar","nMultConsecCharType","nMultMidChar","nMultConsecAlphaUC","nMultConsecAlphaLC","nMultConsecNumber","nMultSeqAlpha","nMultSeqNumber","nMultSeqSymbol","nMultLength","nMultNumber","nMultSymbol","nTmpAlphaUC","nTmpAlphaLC","nTmpNumber","nTmpSymbol","sAlphas","sNumerics","sSymbols","sComplexity","sStandard","css","text","html","parseInt","arrPwd","split","arrPwdLen","a","match","bCharExists","b","abs","ceil","sFwd","substring","sRev","toLowerCase","indexOf","nTypes","penaltyOffset","isValid","rtSessionTimer","rtNow","rtServerTime","rtEnd","rtWarningTimer","rtUIWarningTimer","rtSessionLength","rtLoggedIn","rtUseUIWarning","rtTimeOffset","rtTime","rtRemaining","rtGetDataWait","rtUseTitle","rtTitle","rtColorBoxIsOpen","rtControl","rtTimerId","rtLastLoggedInState","rtDebugMode","jQuery","get","rtGetLocation","data","Date","getTime","rtProcessData","rtCalcWait","title","window","setInterval","rtAction","click","rtContinue","rtLogout","attr","rtGetData","rtUpdateDivs","mode","encodeURIComponent","location","pathname","dataParts","clearInterval","rtFormatTime","rtSetTime","rtShow","divId","divHide","useColorBox","colorbox","close","escKey","overlayClose","inline","href","onOpen","onCleanup","onClosed","timeSecs","toFixed","pad","l","join","substr","getTwitterTweets","listId","screenName","tweetCount","includeRetweets","ajax","url","contentType","dataType","responseType","success","twitterCallback","twitters","statusHTML","i","username","user","screen_name","status","reply","push","id_str","relative_time","created_at","innerHTML","time_value","values","parsed_date","parse","relative_to","arguments","delta","getTimezoneOffset","toString","RocktimeValidate","ValidatorName","validator","ValidatorValidate","Page_ClientValidateByControl","controlId","Page_InvalidControlToBeFocused","Page_Validators","controltovalidate","RocktimeCustomResultProcessing","customResultProcessingJavascriptFunction","ValidatorGetValue","RocktimeDropDownListValidatorIsValid","allowcustomtext","invalidValue","isRadDropDownList","raddropdownlist","$find","get_selectedItem","get_value","combo","get_text","node","findItemByText","_value","RocktimeCheckBoxValidatorIsValid","testType","is","checkBoxCount","find","each","ValidatorTrim","requiredChecked","minimumChecked","maximumChecked","RocktimeListBoxValidatorIsValid","minimumSelected","maximumSelected","RocktimeRadioButtonRequiredValidatorIsValid","checkedClassName","controlToValidate","checkedOptions","RocktimeTextBoxLengthValidatorIsValid","minimumlength","maximumlength","RocktimeTextBoxRequiredValidatorIsValid","IsFileUploadEx","FileExists","IsWYSIWYG","get_html","initialValue","RocktimePasswordStrengthValidatorIsValid","RocktimeNumericValidatorIsValid","RocktimeNumericValidatorAction","allowdecimal","fieldErrorClass","allowDecimal","result","isNumeric","isInt","removeClass","addClass","n","parseFloat","isNaN","RocktimeTimeValidatorIsValid","RocktimeTimeValidatorValidateTime","minimumtime","maximumtime","RocktimeTimeValidatorGetTime","Time","Parts","Seconds","RocktimeTimeValidateControl","controlToValidateId","RocktimeRegularExpressionValidatorEvaluateIsValid","setCase","toUpperCase","removeChars","pattern","RegExp","rx","validationexpression","matches","exec","CompareValidatorEvaluateIsValidEx","CompareValidatorEvaluateIsValid","RocktimeAjaxValidatorEvaluateIsValid","ajaxIsValid","RocktimeAjaxValidatorKeyUp","timeoutId","clearTimeout","setTimeout","webFormDoCallback","RocktimeAjaxValidatorResult","returnValue","update","LastIsValid","RocktimeAjaxValidatorError","message","alert","decodeHTML","txt","createElement","ValidatorUpdateDisplaySaved","ValidatorUpdateDisplayEx","RocktimeValidateExSetHighlight","getCoreValidator","endsWith","UpdateValidationSummariesAutoAction","GetCoreIsValid","IsValidationGroupValid","validationGroup","valValidationGroup","enabled","Page_ValidationSummaries","summary","sums","headerSep","first","pre","post","end","AutoUpdateSummaryValidationMessages","style","display","showsummary","displaymode","headertext","summaryValidationGroup","errormessage","scrollTo","showmessagebox","lastValIndex","UpdateSummaryWrappers","RocktimeValidateClass","RocktimeValidateBorderCss","borderColorNormal","borderColorError","fieldErrorClassTarget","fieldErrorClassCompareTarget","controltocompare","RocktimeValidateClassForMultiLine","RocktimeValidateClassForMultiLineAction","target","borderColor","ValidationSummaryOnSubmitSaved","ValidationSummaryOnSubmit","ValidationSummaryOnSubmitEx","summaryTarget","GetSummaryTarget","SummaryHasEMShowing","SummaryIsVisible","uploader","bind","initFakeInput","cancelBtn","off","on","removeFile","hideFileInput","showFileDetails","replaceBtn","hideFileDetails","showFileInput","container","imageUpload","inputTarget","uploadMsg","parents","containerClass","fileUploadMsgClass","input","files","selected","fileOpts","fileOptsClass","fileOptsHiddenClass","focus","fileDetails","fileDetailsClass","fileDetailsHiddenClass","replaceBtnClass","init","cancelBtnClass","fileInput","cbox","onComplete","width","height","timerInMSecs","minWidth","minHeight","maxHeight","x","y","resize","readToggleButton","readMoreBtn","showText","readLessBtn","hideText","e","preventDefault","stopPropagation","stopImmediatePropagation","innerSpan","parentNode","outerSpan","label","textMin","getElementsByClassName","moreTextMinClass","textMax","moreTextMaxClass","classList","add","remove","scrollToView","speed","scrollTarget","animate","scrollTop","offsetTop","actionSkipLink","parentId","senderId","replaceAll","updateSelectValue","changedCheckbox","control","yearValue","monthValue","dayValue","m","d","FiredValidation","updateValue","sender","eventArgs","_uniqueId","getValue","item","listItem","daysInMonth","month","year","getDate","dateControlSetup","isEmpty","isValidDay","showAsValid","isValidMonth","isValidYear","day","maxDate","getMonth","minDate","getFullYear","HideError","$field","max","maxValue","min","minValue","blur","keyup","keyCode","$dataOptions","closest","$previousField","$nextField","maxchars","numbersOnly","isComboBox","allowcomboboxfreetext","fieldVar","trim","Dl","hideDropDown","checkComboBoxValue","previousmaxchars","$previousDataOptions","$nextDataOptions","select","textInTheCombo","get_items","get_count","getItem","toTitleCase","trackChanges","set_text","commitChanges","startsWith","showDropDown","set_selected","inputElement","get_inputDomElement","popoutMessagePanel","ctrl","toggleView","viewClose","view","clearLoadTime","loadTimer","removeEventListener","contains","viewHiddenClass","openView","closeView","innerHeight","load","loadDisplayTime","documentReady","setupHelp","editorsSetup","onRowDropping","args","destId1","destId2","recycleBinId1","recycleBinId2","alertText","canSort","get_id","get_destinationHtmlElement","isChildOf","confirm","set_destinationHtmlElement","$get","set_cancel","element","rtHelpOpen","HelpMessage","LinkId","rtHelpOpenMessage","Text","isOpera","opera","navigator","userAgent","isFirefox","InstallTrigger","isSafari","Object","call","HTMLElement","isChrome","chrome","isIE","documentMode","FixPTags","content","toXML","toXMLDate","toXMLTime","timeNow","today","getHours","getMinutes","timeNowSeconds","getSeconds","str","search","replacement","defineProperties","addTrailingDirSlash","urlParts","Element","active","state","validationActive","eId","vId","ValidatorEnableNoValidate","enable","ToggleRadRadioButtonEx","button","set_checked","get_checked","setFocus","moveCaretToEndRadEditor","copyRadEditorContent","moveCaretToEnd","initTextAreas","initRadEditors","FixRECs","ToggleTACEditView","btnView","btnEdit","ToggleRECEditView","rtRECHideEditor","editor","editorFindPart","get_contentArea","margin","padding","border","part","set_html","repaint","selectionStart","lastIndexOf","selectionEnd","iframe","iframewin","contentWindow","contentDocument","body","setSelectionRange","adjustOffset","selection","range","createRange","collapse","moveEnd","moveStart","createTextRange","get_document","oRange","duplicate","getSelection","sel","startContainer","offset","lastChild","nodeType","localName","tempnode","previousSibling","nodeValue","setStart","setEnd","removeAllRanges","addRange","getRangeAt","getRange","src","dest","setIframeDocument","contents","iframeWin","parentWindow","open","write","el","moveCaretTo","newOffset","slice"],"mappings":"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","file":"core.js","sourcesContent":["var orginalFormAction = null;\r\nfunction EndRequestHandlerAjaxTransfer() {\r\n theForm.action = orginalFormAction;\r\n theForm._initialAction = orginalFormAction;\r\n}\r\nfunction RegisterRequestHandlersAjaxTransfer() {\r\n if (typeof (Sys) != \"undefined\") {\r\n if (typeof (Sys.WebForms.PageRequestManager.getInstance()) != \"undefined\") {\r\n Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandlerAjaxTransfer);\r\n Sys.Application.notifyScriptLoaded();\r\n }\r\n }\r\n}\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (typeof (Sys) != \"undefined\") {\r\n orginalFormAction = theForm.action;\r\n Sys.Application.add_load(RegisterRequestHandlersAjaxTransfer);\r\n }\r\n})","","/*\r\n** Created by: Jeff Todnem (http://www.todnem.com/)http://www.passwordmeter.com/\r\n** Created on: 2007-08-14\r\n** Last modified: 2010-05-17 Kieron Matthews - Rocktime\r\n** \r\n** License Information:\r\n** -------------------------------------------------------------------------\r\n** Copyright (C) 2007 Jeff Todnem\r\n**\r\n** This program is free software; you can redistribute it and/or modify it\r\n** under the terms of the GNU General Public License as published by the\r\n** Free Software Foundation; either version 2 of the License, or (at your\r\n** option) any later version.\r\n** \r\n** This program is distributed in the hope that it will be useful, but\r\n** WITHOUT ANY WARRANTY; without even the implied warranty of\r\n** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r\n** General Public License for more details.\r\n** \r\n** You should have received a copy of the GNU General Public License along\r\n** with this program; if not, write to the Free Software Foundation, Inc.,\r\n** 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r\n** \r\n*/\r\n\r\nString.prototype.strReverse = function () {\r\n var newstring = \"\";\r\n for (var s = 0; s < this.length; s++) {\r\n newstring = this.charAt(s) + newstring;\r\n }\r\n return newstring;\r\n};\r\n\r\nfunction pass_createError(value, index, pass_Standards, pass_Mins) {\r\n var output = '
  • ' + pass_Standards[index] + '
  • ';\r\n output = output.replace(/\\{0\\}/gi, pass_Mins[index])\r\n output = output.replace(/\\{1\\}/gi, value)\r\n output = output.replace('/', ' / ')\r\n return output\r\n}\r\n\r\nfunction pass_getBackgroundcolor(score) {\r\n var hexc = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');\r\n var redcol_1;\r\n var redcol_2;\r\n var greencol_1;\r\n var greencol_2;\r\n var bluecol_1;\r\n var bluecol_2;\r\n var red = 0;\r\n var green = 0;\r\n var blue = 0;\r\n\r\n if (score >= 50) {\r\n red = Math.round(255 - ((score - 50) * (255 / 50)));\r\n } else {\r\n red = 255;\r\n }\r\n\r\n if (score <= 50) {\r\n green = Math.round(255 - ((50 - score) * (255 / 50)));\r\n } else {\r\n green = 255;\r\n }\r\n\r\n redcol_1 = hexc[Math.floor(red / 16)];\r\n redcol_2 = hexc[red % 16];\r\n\r\n greencol_1 = hexc[Math.floor(green / 16)];\r\n greencol_2 = hexc[green % 16];\r\n\r\n bluecol_1 = hexc[Math.floor(blue / 16)];\r\n bluecol_2 = hexc[blue % 16];\r\n\r\n return '#' + redcol_1 + redcol_2 + greencol_1 + greencol_2 + bluecol_1 + bluecol_2\r\n}\r\n\r\nfunction pass_chkPassKeyPress(pwd, id) {\r\n var val = document.getElementById(id);\r\n val.isvalid = pass_chkPass(pwd, id);\r\n ValidatorUpdateDisplay(val);\r\n if (val.parent != undefined && val.parent != '') {\r\n val.parentObj = document.all ? document.all[val.parent] : document.getElementById(val.parent)\r\n RocktimeValidateEx(val.parentObj);\r\n };\r\n}\r\n\r\nfunction pass_chkPass(pwd, id) {\r\n\r\n var oHelp = $('#pass_help_' + id);\r\n var oScore = $('#pass_score_' + id);\r\n\r\n if (pwd == '') { oScore.hide(); oHelp.hide(); return true; }\r\n oScore.show();\r\n oHelp.show();\r\n\r\n var pass_DisplayType = eval('pass_DisplayType_' + id);\r\n var pass_UseHelp = eval('pass_UseHelp_' + id);\r\n var pass_ShowOk = eval('pass_ShowOk_' + id);\r\n var pass_Standards = eval('pass_Standards_' + id);\r\n var pass_Complexities = eval('pass_Complexities_' + id);\r\n var pass_ComplexityThresholds = eval('pass_ComplexityThresholds_' + id);\r\n var pass_Mins = eval('pass_Mins_' + id);\r\n\r\n // Simultaneous variable declaration and value assignment aren't supported in IE apparently\r\n // so I'm forced to assign the same value individually per var to support a crappy browser *sigh* \r\n var nScore = 0, nLength = 0, nAlphaUC = 0, nAlphaLC = 0, nNumber = 0, nSymbol = 0, nMidChar = 0, nUnqChar = 0, nRepChar = 0, nRepInc = 0, nConsecAlphaUC = 0, nConsecAlphaLC = 0, nConsecNumber = 0, nConsecSymbol = 0, nConsecCharType = 0, nSeqAlpha = 0, nSeqNumber = 0, nSeqSymbol = 0, nSeqChar = 0, nReqChar = 0, nMultConsecCharType = 0;\r\n var nMultMidChar = 2, nMultConsecAlphaUC = 2, nMultConsecAlphaLC = 2, nMultConsecNumber = 2;\r\n var nMultSeqAlpha = 3, nMultSeqNumber = 3, nMultSeqSymbol = 3;\r\n var nMultLength = 4, nMultNumber = 4;\r\n var nMultSymbol = 6;\r\n var nTmpAlphaUC = \"\", nTmpAlphaLC = \"\", nTmpNumber = \"\", nTmpSymbol = \"\";\r\n var sAlphas = \"abcdefghijklmnopqrstuvwxyzqwertyuiopasdfghjklzxcvbnm\";\r\n var sNumerics = \"01234567890\";\r\n var sSymbols = \")!@#$%^&*()!\\\"�$%\";\r\n\r\n var sComplexity = \"\";\r\n var sStandard = \"\";\r\n\r\n //if (document.all) { var nd = 0; } else { var nd = 1; }\r\n\r\n if (!pwd) {\r\n /* Display default score criteria to client */\r\n oScore.css({ 'backgroundColor': pass_getBackgroundcolor(0) });\r\n switch (pass_DisplayType) {\r\n case 0:\r\n oScore.text(pass_Complexities[0] + ' (0%)');\r\n break;\r\n\r\n case 1:\r\n oScore.text(pass_Complexities[0]);\r\n break;\r\n\r\n case 2:\r\n oScore.text('0%');\r\n break;\r\n case 3:\r\n oScore.text(' ');\r\n break;\r\n }\r\n if (pass_UseHelp) { oHelp.html(\"\"); }\r\n return false;\r\n }\r\n\r\n\r\n nScore = parseInt(pwd.length * nMultLength);\r\n nLength = pwd.length;\r\n var arrPwd = pwd.replace(/\\s+/g, \"\").split(/\\s*/);\r\n var arrPwdLen = arrPwd.length;\r\n\r\n /* Loop through password to check for Symbol, Numeric, Lowercase and Uppercase pattern matches */\r\n for (var a = 0; a < arrPwdLen; a++) {\r\n if (arrPwd[a].match(/[A-Z]/g)) {\r\n if (nTmpAlphaUC !== \"\") { if ((nTmpAlphaUC + 1) == a) { nConsecAlphaUC++; nConsecCharType++; } }\r\n nTmpAlphaUC = a;\r\n nAlphaUC++;\r\n }\r\n else if (arrPwd[a].match(/[a-z]/g)) {\r\n if (nTmpAlphaLC !== \"\") { if ((nTmpAlphaLC + 1) == a) { nConsecAlphaLC++; nConsecCharType++; } }\r\n nTmpAlphaLC = a;\r\n nAlphaLC++;\r\n }\r\n else if (arrPwd[a].match(/[0-9]/g)) {\r\n if (a > 0 && a < (arrPwdLen - 1)) { nMidChar++; }\r\n if (nTmpNumber !== \"\") { if ((nTmpNumber + 1) == a) { nConsecNumber++; nConsecCharType++; } }\r\n nTmpNumber = a;\r\n nNumber++;\r\n }\r\n //else if (arrPwd[a].match(/[^a-zA-Z0-9_]/g)) {\r\n else {\r\n if (a > 0 && a < (arrPwdLen - 1)) { nMidChar++; }\r\n if (nTmpSymbol !== \"\") { if ((nTmpSymbol + 1) == a) { nConsecSymbol++; nConsecCharType++; } }\r\n nTmpSymbol = a;\r\n nSymbol++;\r\n }\r\n /* Internal loop through password to check for repeat characters */\r\n var bCharExists = false;\r\n for (var b = 0; b < arrPwdLen; b++) {\r\n if (arrPwd[a] == arrPwd[b] && a != b) { /* repeat character exists */\r\n bCharExists = true;\r\n /* \r\n Calculate increment deduction based on proximity to identical characters\r\n Deduction is incremented each time a new match is discovered\r\n Deduction amount is based on total password length divided by the\r\n difference of distance between currently selected match\r\n */\r\n nRepInc += Math.abs(arrPwdLen / (b - a));\r\n }\r\n }\r\n if (bCharExists) {\r\n nRepChar++;\r\n nUnqChar = arrPwdLen - nRepChar;\r\n nRepInc = (nUnqChar) ? Math.ceil(nRepInc / nUnqChar) : Math.ceil(nRepInc);\r\n }\r\n }\r\n\r\n /* Check for sequential alpha string patterns (forward and reverse) */\r\n for (var s = 0; s < 49; s++) {\r\n var sFwd = sAlphas.substring(s, parseInt(s + 3));\r\n var sRev = sFwd.strReverse();\r\n if (pwd.toLowerCase().indexOf(sFwd) != -1 || pwd.toLowerCase().indexOf(sRev) != -1) { nSeqAlpha++; nSeqChar++; }\r\n }\r\n\r\n /* Check for sequential numeric string patterns (forward and reverse) */\r\n for (var s = 0; s < 8; s++) {\r\n var sFwd = sNumerics.substring(s, parseInt(s + 3));\r\n var sRev = sFwd.strReverse();\r\n if (pwd.toLowerCase().indexOf(sFwd) != -1 || pwd.toLowerCase().indexOf(sRev) != -1) { nSeqNumber++; nSeqChar++; }\r\n }\r\n\r\n /* Check for sequential symbol string patterns (forward and reverse) */\r\n for (var s = 0; s < 13; s++) {\r\n var sFwd = sSymbols.substring(s, parseInt(s + 3));\r\n var sRev = sFwd.strReverse();\r\n if (pwd.toLowerCase().indexOf(sFwd) != -1 || pwd.toLowerCase().indexOf(sRev) != -1) { nSeqSymbol++; nSeqChar++; }\r\n }\r\n\r\n /* Modify overall score value based on usage vs requirements */\r\n var nTypes = 0;\r\n\r\n /* General point assignment */\r\n if (nAlphaUC > 0) {\r\n nScore = parseInt(nScore + ((nLength - nAlphaUC) * 2));\r\n nTypes += 1;\r\n }\r\n if (nAlphaLC > 0) {\r\n nScore = parseInt(nScore + ((nLength - nAlphaLC) * 2));\r\n nTypes += 1;\r\n }\r\n if (nNumber > 0) {\r\n nScore = parseInt(nScore + (nNumber * nMultNumber));\r\n nTypes += 1;\r\n }\r\n if (nSymbol > 0) {\r\n nScore = parseInt(nScore + (nSymbol * nMultSymbol));\r\n nTypes += 1;\r\n }\r\n if (nMidChar > 0) {\r\n nScore = parseInt(nScore + (nMidChar * nMultMidChar));\r\n }\r\n\r\n /* Point deductions for poor practices */\r\n if ((nAlphaLC > 0 || nAlphaUC > 0) && nSymbol === 0 && nNumber === 0) { // Only Letters\r\n nScore = parseInt(nScore - nLength);\r\n }\r\n if (nAlphaLC === 0 && nAlphaUC === 0 && nSymbol === 0 && nNumber > 0) { // Only Numbers\r\n nScore = parseInt(nScore - nLength);\r\n }\r\n if (nRepChar > 0) { // Same character exists more than once\r\n nScore = parseInt(nScore - nRepInc);\r\n }\r\n if (nConsecAlphaUC > 0) { // Consecutive Uppercase Letters exist\r\n nScore = parseInt(nScore - (nConsecAlphaUC * nMultConsecAlphaUC));\r\n }\r\n if (nConsecAlphaLC > 0) { // Consecutive Lowercase Letters exist\r\n nScore = parseInt(nScore - (nConsecAlphaLC * nMultConsecAlphaLC));\r\n }\r\n if (nConsecNumber > 0) { // Consecutive Numbers exist\r\n nScore = parseInt(nScore - (nConsecNumber * nMultConsecNumber));\r\n }\r\n if (nSeqAlpha > 0) { // Sequential alpha strings exist (3 characters or more)\r\n nScore = parseInt(nScore - (nSeqAlpha * nMultSeqAlpha));\r\n }\r\n if (nSeqNumber > 0) { // Sequential numeric strings exist (3 characters or more)\r\n nScore = parseInt(nScore - (nSeqNumber * nMultSeqNumber));\r\n }\r\n if (nSeqSymbol > 0) { // Sequential symbol strings exist (3 characters or more)\r\n nScore = parseInt(nScore - (nSeqSymbol * nMultSeqSymbol));\r\n }\r\n\r\n sStandard = \"\";\r\n //pass_Standards (0\"length\", 1\"score\", 2\"upper case chars\", 3\"lower case chars\", 4\"numbers\", 5\"symbols\", 6\"%\", 7\"Ok\", 8\"You need to meet the following minimums:\",);\r\n\r\n var penaltyOffset = pass_Mins[0] + pass_Mins[2] + pass_Mins[3] + pass_Mins[4] + pass_Mins[5];\r\n if (!penaltyOffset == 0) { penaltyOffset = 40 / penaltyOffset; }\r\n if (nScore > 100) { nScore = 100; } //ensures you can never get 100% if all criteria aren't met\r\n\r\n\r\n if (nLength < pass_Mins[0]) {\r\n nScore -= (penaltyOffset * (pass_Mins[0] - nLength));\r\n sStandard += pass_createError(nLength, 0, pass_Standards, pass_Mins);\r\n }\r\n\r\n if (nAlphaUC < pass_Mins[2]) {\r\n nScore -= (penaltyOffset * (pass_Mins[2] - nAlphaUC));\r\n sStandard += pass_createError(nAlphaUC, 2, pass_Standards, pass_Mins);\r\n }\r\n\r\n if (nAlphaLC < pass_Mins[3]) {\r\n nScore -= (penaltyOffset * (pass_Mins[3] - nAlphaLC));\r\n sStandard += pass_createError(nAlphaLC, 3, pass_Standards, pass_Mins);\r\n }\r\n\r\n if (nNumber < pass_Mins[4]) {\r\n nScore -= (penaltyOffset * (pass_Mins[4] - nNumber));\r\n sStandard += pass_createError(nNumber, 4, pass_Standards, pass_Mins);\r\n }\r\n\r\n if (nSymbol < pass_Mins[5]) {\r\n nScore -= (penaltyOffset * (pass_Mins[5] - nSymbol));\r\n sStandard += pass_createError(nSymbol, 5, pass_Standards, pass_Mins);\r\n }\r\n\r\n if (nTypes < pass_Mins[6]) {\r\n nScore -= (10 * (pass_Mins[6] - nTypes));\r\n sStandard += pass_createError(nTypes, 6, pass_Standards, pass_Mins);\r\n }\r\n\r\n nScore = Math.round(nScore);\r\n\r\n if (nScore > 100) { nScore = 100; } else if (nScore < 0) { nScore = 0; }\r\n if (nScore < pass_Mins[1]) {\r\n sStandard += pass_createError(nScore, 1, pass_Standards, pass_Mins);\r\n }\r\n\r\n var isValid;\r\n if (sStandard == \"\") {\r\n if (pass_ShowOk == 1) {\r\n sStandard = '' + pass_Standards[7] + '';\r\n } else {\r\n sStandard = '';\r\n }\r\n isValid = true;\r\n } else {\r\n sStandard = '' + pass_Standards[8] + ''\r\n isValid = false;\r\n }\r\n\r\n //for color tesing\r\n //nScore = nLength * 1;\r\n\r\n /* Determine complexity based on overall score */\r\n if (nScore >= 0 && nScore < pass_ComplexityThresholds[0]) { sComplexity = pass_Complexities[0]; }\r\n else if (nScore >= pass_ComplexityThresholds[0] && nScore < pass_ComplexityThresholds[1]) { sComplexity = pass_Complexities[1]; }\r\n else if (nScore >= pass_ComplexityThresholds[1] && nScore < pass_ComplexityThresholds[2]) { sComplexity = pass_Complexities[2]; }\r\n else if (nScore >= pass_ComplexityThresholds[2] && nScore < pass_ComplexityThresholds[3]) { sComplexity = pass_Complexities[3]; }\r\n else if (nScore >= pass_ComplexityThresholds[3] && nScore <= 100) { sComplexity = pass_Complexities[4]; }\r\n\r\n /* Display updated score criteria to client */\r\n oScore.css({ 'backgroundColor': pass_getBackgroundcolor(nScore) });\r\n if (pass_UseHelp) { oHelp.html(sStandard); }\r\n switch (pass_DisplayType) {\r\n case 0:\r\n oScore.text(sComplexity + ' (' + nScore + \"%)\");\r\n break;\r\n\r\n case 1:\r\n oScore.text(sComplexity);\r\n break;\r\n\r\n case 2:\r\n oScore.text(nScore + \"%\");\r\n break;\r\n\r\n case 3:\r\n oScore.text(' ');\r\n break;\r\n }\r\n return isValid;\r\n}","var rtSessionTimer = function () {\r\n var rtNow;\r\n var rtServerTime;\r\n var rtEnd;\r\n var rtWarningTimer = 60;\r\n var rtUIWarningTimer = 300;\r\n var rtSessionLength = 1200;\r\n var rtLoggedIn = false;\r\n var rtUseUIWarning = false;\r\n var rtTimeOffset = 0;\r\n var rtTime = 0;\r\n var rtRemaining = 0;\r\n var rtGetDataWait = 600;\r\n var rtUseTitle = false;\r\n var rtTitle = \"\";\r\n var rtColorBoxIsOpen = false;\r\n var rtControl = false;\r\n var rtTimerId;\r\n var rtLastLoggedInState = false;\r\n var rtDebugMode = 'N';\r\n\r\n if (typeof jQuery == 'undefined') return;\r\n\r\n $.get(rtGetLocation(\"S\"), function (data) {\r\n rtNow = new Date().getTime();\r\n rtServerTime = rtNow;\r\n rtEnd = rtNow;\r\n rtProcessData(data);\r\n rtCalcWait();\r\n rtTitle = document.title;\r\n rtTimerId = window.setInterval(rtAction, 200);\r\n $(\"a.rtSessionContinue\").click(function () { rtContinue(); });\r\n $(\"a.rtSessionLogout\").click(function () { rtLogout(); });\r\n $(\"a.rtSessionContinue\").attr(\"href\", \"javascript:void(0);\");\r\n $(\"a.rtSessionLogout\").attr(\"href\", \"javascript:void(0);\");\r\n\r\n }, \"html\")\r\n\r\n function rtAction() {\r\n rtGetData();\r\n rtNow = new Date().getTime()\r\n rtTime = rtEnd - rtNow;\r\n rtRemaining = Math.floor((rtTime - rtTimeOffset) / 1000);\r\n rtUpdateDivs()\r\n }\r\n\r\n function rtGetData() {\r\n rtGetDataWait -= 1;\r\n if (rtGetDataWait > 0) { return }\r\n rtCalcWait();\r\n $.get(rtGetLocation(\"S\"), function (data) { rtProcessData(data) }, \"html\");\r\n }\r\n\r\n function rtGetLocation(mode) {\r\n return \"/RocktimeCore.Session.ashx?mode=\" + mode + \"&location=\" + encodeURIComponent(window.location.pathname);\r\n }\r\n\r\n function rtCalcWait() {\r\n rtGetDataWait = ((rtEnd - rtNow) / 1000) - rtUIWarningTimer - 10;\r\n if (rtSessionLength < rtGetDataWait) { rtGetDataWait = rtSessionLength - 10; }\r\n if (rtLoggedIn && rtGetDataWait > 30) { rtGetDataWait = 30; }\r\n if (rtRemaining < rtUIWarningTimer + 20) { rtGetDataWait = 10; }\r\n if (rtRemaining < rtWarningTimer + 4) { rtGetDataWait = 2; }\r\n if (rtRemaining < 10) { rtGetDataWait = 1; }\r\n rtGetDataWait = Math.floor(rtGetDataWait * 5);\r\n }\r\n\r\n function rtProcessData(data) {\r\n var dataParts = data.split(\",\");\r\n rtServerTime = parseInt(dataParts[0]);\r\n rtEnd = parseInt(dataParts[1]);\r\n rtWarningTimer = parseInt(dataParts[2]);\r\n rtUIWarningTimer = parseInt(dataParts[3]);\r\n rtLoggedIn = (dataParts[4] == \"True\");\r\n rtUseUIWarning = (dataParts[5] == \"True\");\r\n rtUseTitle = (dataParts[6] == \"True\");\r\n rtSessionLength = parseInt(dataParts[7]);\r\n rtControl = (dataParts[8] == \"True\");\r\n rtDebugMode = dataParts[9];\r\n rtTimeOffset = rtServerTime - rtNow;\r\n if (rtLoggedIn) { rtLastLoggedInState = true; }\r\n }\r\n\r\n function rtUpdateDivs() {\r\n if (rtRemaining <= 0) {\r\n clearInterval(rtTimerId);\r\n if (rtLoggedIn | rtControl) { document.location = rtGetLocation(\"L\"); }\r\n else { $.get(rtGetLocation(\"E\")); }\r\n }\r\n //document.title = rtTitle + \" (\" + rtFormatTime(rtRemaining) + \")\" + rtGetDataWait; //Ajax Call Timer Showing (Debug)\r\n if (rtUseTitle) { document.title = rtTitle + \" (\" + rtFormatTime(rtRemaining) + \")\"; } //Normal Operation\r\n\r\n if (rtDebugMode == 'N' && !rtLoggedIn) {\r\n if (rtLastLoggedInState) {\r\n rtLastLoggedInState = false;\r\n rtLogout();\r\n }\r\n return;\r\n }\r\n rtSetTime(\"#rtUIDialogTime\");\r\n rtShow(\"#rtUIDialog\", (rtRemaining > rtWarningTimer) && rtDebugMode != 'P', true)\r\n\r\n if (!rtUseUIWarning || rtGetLocation == \"C\") { return; }\r\n rtSetTime(\"#rtUIWarningTime\");\r\n rtShow(\"#rtUIWarning\", (rtRemaining > rtUIWarningTimer) && rtDebugMode != 'B', false);\r\n }\r\n\r\n function rtShow(divId, divHide, useColorBox) {\r\n if ($(divId).length = 0) { return; }\r\n if (useColorBox) {\r\n if (divHide) { if (rtColorBoxIsOpen) { $.colorbox.close(); } }\r\n else {\r\n if (!rtColorBoxIsOpen) {\r\n $.colorbox(\r\n {\r\n close: \"\",\r\n escKey: false,\r\n overlayClose: false,\r\n inline: true,\r\n href: divId,\r\n onOpen: function () { rtColorBoxIsOpen = true; },\r\n onCleanup: function () { rtContinue(); },\r\n onClosed: function () { rtColorBoxIsOpen = false; }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n else {\r\n if (divHide) { $(divId).hide(); }\r\n else { $(divId).show(); }\r\n }\r\n }\r\n\r\n function rtSetTime(divId) {\r\n if ($(divId).length = 0) { return; }\r\n $(divId).html(rtFormatTime(rtRemaining));\r\n }\r\n\r\n function rtFormatTime(timeSecs) {\r\n if (timeSecs < 0) return '0:00';\r\n return Math.floor(timeSecs / 60) + ':' + (timeSecs % 60).toFixed().pad(2, '0');\r\n }\r\n\r\n function rtContinue() {\r\n $.get(rtGetLocation(\"R\"), function () { rtGetDataWait = -1; rtGetData(); });\r\n }\r\n\r\n function rtLogout() {\r\n rtRemaining = -1;\r\n rtUpdateDivs();\r\n }\r\n\r\n String.prototype.pad = function (l, s) {\r\n return (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length) + 1).join(s)).substr(0, s.length) + this + s.substr(0, l - s.length) : this;\r\n }\r\n};","\r\nfunction getTwitterTweets(listId, screenName, tweetCount, includeRetweets) {\r\n $.ajax({\r\n url: \"/twitter.ashx?fdScreenName=\" + screenName + \"&fdTweetCount=\" + tweetCount + \"&fdIncludeRetweets=\" + includeRetweets,\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n responseType: \"json\",\r\n success: twitterCallback\r\n })\r\n\r\n function twitterCallback(twitters) {\r\n var statusHTML = [];\r\n for (var i = 0; i < twitters.length; i++) {\r\n var username = twitters[i].user.screen_name;\r\n var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\\:\\/\\/[^\"\\s\\<\\>]*[^.,;'\">\\:\\s\\<\\>\\)\\]\\!])/g, function (url) {\r\n return '' + url + '';\r\n }).replace(/\\B@([_a-z0-9]+)/ig, function (reply) {\r\n return reply.charAt(0) + '' + reply.substring(1) + '';\r\n });\r\n statusHTML.push('
  • ' + status + ' ' + relative_time(twitters[i].created_at) + '
  • ');\r\n }\r\n document.getElementById(listId).innerHTML = statusHTML.join('');\r\n }\r\n\r\n function relative_time(time_value) {\r\n var values = time_value.split(\" \");\r\n time_value = values[1] + \" \" + values[2] + \", \" + values[5] + \" \" + values[3];\r\n var parsed_date = Date.parse(time_value);\r\n var relative_to = (arguments.length > 1) ? arguments[1] : new Date();\r\n var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);\r\n delta = delta + (relative_to.getTimezoneOffset() * 60);\r\n\r\n if (delta < 60) {\r\n return 'less than a minute ago';\r\n } else if (delta < 120) {\r\n return 'about a minute ago';\r\n } else if (delta < (60 * 60)) {\r\n return (parseInt(delta / 60)).toString() + ' minutes ago';\r\n } else if (delta < (120 * 60)) {\r\n return 'about an hour ago';\r\n } else if (delta < (24 * 60 * 60)) {\r\n return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';\r\n } else if (delta < (48 * 60 * 60)) {\r\n return '1 day ago';\r\n } else {\r\n return (parseInt(delta / 86400)).toString() + ' days ago';\r\n }\r\n }\r\n};\r\n\r\n","//\r\n//Trigger Validate\r\n//\r\nfunction RocktimeValidate(ValidatorName) {\r\n var validator = document.getElementById(ValidatorName);\r\n ValidatorValidate(validator);\r\n}\r\n\r\nfunction Page_ClientValidateByControl(controlId) {\r\n if (typeof (Page_InvalidControlToBeFocused) !== \"undefined\") { Page_InvalidControlToBeFocused = null; }\r\n if (typeof (Page_Validators) == \"undefined\") { return true; }\r\n var i;\r\n for (i = 0; i < Page_Validators.length; i++) {\r\n if (Page_Validators[i].controltovalidate == controlId) {\r\n ValidatorValidate(Page_Validators[i]);\r\n return;\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n//\r\n//Custom Result Processing\r\n//\r\nfunction RocktimeCustomResultProcessing(val) {\r\n if (val.customResultProcessingJavascriptFunction == undefined | val.customResultProcessingJavascriptFunction == '') { return; }\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n value = eval(val.customResultProcessingJavascriptFunction + '(value)');\r\n if (value != undefined) { document.getElementById(val.controltovalidate).value = value };\r\n}\r\n\r\n//\r\n//Core\r\n//\r\nfunction RocktimeValidateEx(val) {\r\n val.isvalid = true;//GetCoreIsValid(val);\r\n return val.isvalid;//true;//prevents default behaviour for core validator\r\n}\r\n\r\n//\r\n//DropDownList\r\n//\r\nfunction RocktimeDropDownListValidatorIsValid(val) {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n if (val.allowcustomtext == \"true\") { return (value != val.invalidValue); }\r\n\r\n if (val.isRadDropDownList == \"true\") {\r\n var raddropdownlist = $find(val.controltovalidate);\r\n return (raddropdownlist.get_selectedItem().get_value() != val.invalidValue);\r\n }\r\n\r\n var combo = $find(val.controltovalidate);\r\n var text;\r\n if (combo == null) {\r\n combo = $(\"#\" + val.controltovalidate);\r\n text = combo.val();\r\n return (value != val.invalidValue);\r\n }\r\n\r\n text = combo.get_text();\r\n if (text.length < 1) { return false; }\r\n\r\n var node = combo.findItemByText(text);\r\n if (!node) {\r\n value = combo._value;\r\n return (value != val.invalidValue);\r\n }\r\n\r\n //if (value == node.get_value()) { return true; }//assumes that the please select is not an item\r\n value = node.get_value();\r\n return (value != val.invalidValue);\r\n}\r\n\r\n//\r\n//CheckBox\r\n//\r\nfunction RocktimeCheckBoxValidatorIsValid(val) {\r\n if (val.testType == 'CheckBox') {\r\n return $(\"#\" + val.controltovalidate).is(':checked');\r\n }\r\n var checkBoxCount = 0;\r\n if (val.testType == \"CheckBoxList\") {\r\n $(\"#\" + val.controltovalidate).find(\":checkbox\").each(function () {\r\n if ($(this).is(\":checked\")) { checkBoxCount++; }\r\n });\r\n } else if (val.testType == \"RadListBox\") {\r\n $(\"#\" + val.controltovalidate).find(\":checkbox\").each(function () {\r\n if ($(this).is(\":checked\")) { checkBoxCount++; }\r\n });\r\n } else {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n if (ValidatorTrim(value).length == 0) { checkBoxCount = 0; }\r\n else { checkBoxCount = value.split(\",\").length; }\r\n }\r\n\r\n if (val.requiredChecked == 'false' && checkBoxCount == 0) { return true; }\r\n if (val.minimumChecked == '' && val.maximumChecked == '') { return true; }\r\n if (val.minimumChecked == '' && checkBoxCount <= val.maximumChecked) { return true; }\r\n if (val.maximumChecked == '' && checkBoxCount >= val.minimumChecked) { return true; }\r\n return (checkBoxCount <= val.maximumChecked && checkBoxCount >= val.minimumChecked);\r\n}\r\n\r\n//\r\n//ListBox\r\n//\r\nfunction RocktimeListBoxValidatorIsValid(val) {\r\n var checkBoxCount = 0;\r\n\r\n if ($(\"#\" + val.controltovalidate + \"_ClientState\").length == 0) {\r\n $(\"#\" + val.controltovalidate).find(\"option\").each(function () {\r\n if ($(this).is(\":selected\")) { checkBoxCount++; }\r\n });\r\n }\r\n else {\r\n checkBoxCount = $(\"#\" + val.controltovalidate + \" .rlbSelected\").length\r\n }\r\n if (val.minimumSelected == '' && val.maximumSelected == '') { return true; }\r\n if (val.minimumSelected == '' && checkBoxCount <= val.maximumSelected) { return true; }\r\n if (val.maximumSelected == '' && checkBoxCount >= val.minimumSelected) { return true; }\r\n return (checkBoxCount <= val.maximumSelected && checkBoxCount >= val.minimumSelected);\r\n}\r\n\r\n//\r\n//RadioButton\r\n//\r\nfunction RocktimeRadioButtonRequiredValidatorIsValid(val) {\r\n var checkedClassName = val.checkedClassName;\r\n var controlToValidate = $(\"#\" + val.controltovalidate);\r\n var checkedOptions = controlToValidate.find(\".\" + checkedClassName);\r\n return (checkedOptions.length == 1);\r\n}\r\n\r\n//\r\n//TextBox Length\r\n//\r\nfunction RocktimeTextBoxLengthValidatorIsValid(val) {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n if (ValidatorTrim(value).length == 0) { return true; }\r\n if (val.minimumlength == '' && val.maximumlength == '') { return true; }\r\n if (val.minimumlength == '' && value.length <= val.maximumlength) { return true; }\r\n if (val.maximumlength == '' && value.length >= val.minimumlength) { return true; }\r\n return (value.length <= val.maximumlength && value.length >= val.minimumlength);\r\n}\r\n\r\n//\r\n//TextBox Required\r\n//\r\nfunction RocktimeTextBoxRequiredValidatorIsValid(val) {\r\n if (val.IsFileUploadEx == \"true\") {\r\n if (val.FileExists == \"true\") { return true; }\r\n }\r\n var value;\r\n if (val.IsWYSIWYG == \"true\") {\r\n value = $find(val.controltovalidate).get_html();\r\n value = value.replace(/[ \\n\\r\\t]|<[^>]+>| /gmi, '');\r\n value = ValidatorTrim(value);\r\n return (value.length != 0) && (value != ValidatorTrim(val.initialValue));\r\n }\r\n value = ValidatorGetValue(val.controltovalidate);\r\n return (ValidatorTrim(value).length != 0) && (ValidatorTrim(value) != ValidatorTrim(val.initialValue))\r\n}\r\n\r\n//\r\n//TextBox Password Strength\r\n//\r\nfunction RocktimePasswordStrengthValidatorIsValid(val) {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n return pass_chkPass(value, val.id);\r\n}\r\n\r\n//\r\n//TextBox Numeric\r\n//\r\nfunction RocktimeNumericValidatorIsValid(val) {\r\n return RocktimeNumericValidatorAction(val.controltovalidate, (val.allowdecimal == \"true\"), val.fieldErrorClass);\r\n}\r\n\r\nfunction RocktimeNumericValidatorAction(id, allowDecimal, fieldErrorClass) {\r\n var result;\r\n var val = $(\"#\" + id).val();\r\n val = val.replace(/,/g, \"\");\r\n if (val == \"\") {\r\n result = true;\r\n } else {\r\n if (allowDecimal) { result = $.isNumeric(val); }\r\n else { result = isInt(val); }\r\n }\r\n\r\n if (result) {\r\n $('#' + id).removeClass(fieldErrorClass);\r\n } else {\r\n $('#' + id).addClass(fieldErrorClass);\r\n }\r\n return result;\r\n}\r\n\r\nfunction isInt(n) {\r\n return parseFloat(n) == parseInt(n, 10) && !isNaN(n);\r\n}\r\n\r\n//\r\n//TextBox Time\r\n//\r\nfunction RocktimeTimeValidatorIsValid(val) {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n if (value == \"\") { return true; }\r\n if (!RocktimeTimeValidatorValidateTime(value)) { return false; }\r\n if (val.minimumtime == '' && val.maximumtime == '') { return true; }\r\n if (val.minimumtime == '' && RocktimeTimeValidatorGetTime(value) <= RocktimeTimeValidatorGetTime(val.maximumtime)) { return true; }\r\n if (val.maximumtime == '' && RocktimeTimeValidatorGetTime(value) >= RocktimeTimeValidatorGetTime(val.minimumtime)) { return true; }\r\n return (RocktimeTimeValidatorGetTime(value) <= RocktimeTimeValidatorGetTime(val.maximumtime)) && RocktimeTimeValidatorGetTime(value) >= RocktimeTimeValidatorGetTime(val.minimumtime);\r\n}\r\n\r\nfunction RocktimeTimeValidatorGetTime(Time) {\r\n var Parts;\r\n\r\n if (Time.indexOf(\"-\") != -1) {\r\n Parts = Time.split(\"-\");\r\n return new Date(2000, 1, 1, Parts[3], Parts[4], Parts[5]);\r\n }\r\n\r\n Parts = Time.split(\":\");\r\n\r\n if (Parts.length == 2) { return new Date(2000, 1, 1, Parts[0], Parts[1], 0); }\r\n if (Parts[2].indexOf(\".\") != -1) { return new Date(2000, 1, 1, Parts[0], Parts[1], Parts[2]); }\r\n\r\n var Seconds = Parts[2].split(\".\");\r\n return new Date(2000, 1, 1, Parts[0], Parts[1], Seconds[0], Seconds[1]);\r\n\r\n}\r\n\r\nfunction RocktimeTimeValidatorValidateTime(Time) {\r\n\r\n var Parts;\r\n if (Time.indexOf(\"-\") != -1) {\r\n Parts = Time.split(\"-\");\r\n return (Parts.length == 6);\r\n\r\n }\r\n\r\n Parts = Time.split(\":\")\r\n if (Parts.length == 2) {\r\n if (Parts[0] < 0) { return false };\r\n if (Parts[0] > 23) { return false };\r\n if (Parts[1] < 0) { return false };\r\n if (Parts[1] > 59) { return false };\r\n return true;\r\n }\r\n if (Parts.length == 3) {\r\n if (Parts[0] < 0) { return false };\r\n if (Parts[0] > 23) { return false };\r\n if (Parts[1] < 0) { return false };\r\n if (Parts[1] > 59) { return false };\r\n if (Parts[2] < 0) { return false };\r\n if (Parts[2] >= 60) { return false };\r\n return true;\r\n }\r\n return false;\r\n\r\n}\r\n\r\nfunction RocktimeTimeValidateControl(controlToValidateId) {\r\n var validator = document.getElementById(controlToValidateId);\r\n RocktimeValidateEx(validator);\r\n}\r\n\r\n//\r\n//TextBox Regular Expression\r\n//\r\nfunction RocktimeRegularExpressionValidatorEvaluateIsValid(val) {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n switch (val.setCase) {\r\n case \"u\": value = value.toUpperCase(); break;\r\n case \"l\": value = value.toLowerCase(); break;\r\n }\r\n if (val.removeChars != '') {\r\n var pattern = new RegExp('[' + val.removeChars + ']', 'gmi');\r\n value = value.replace(pattern, '');\r\n }\r\n if (ValidatorTrim(value).length == 0)\r\n return true;\r\n var rx = new RegExp(val.validationexpression);\r\n var matches = rx.exec(value);\r\n return (matches != null && value == matches[0]);\r\n}\r\n\r\n//\r\n//TextBox Compare\r\n//\r\nfunction CompareValidatorEvaluateIsValidEx(val) {\r\n var result = CompareValidatorEvaluateIsValid(val)\r\n return result;\r\n\r\n}\r\n\r\n//\r\n//TextBox Compare Ajax\r\n//\r\nfunction RocktimeAjaxValidatorEvaluateIsValid(val) {\r\n return (val.ajaxIsValid.toLowerCase() == 'true');\r\n}\r\n\r\nfunction RocktimeAjaxValidatorKeyUp(val, controlToValidateId) {\r\n val = document.getElementById(controlToValidateId);//Reconect val to validator span after ajax call\r\n if (val.timeoutId) { window.clearTimeout(val.timeoutId); }\r\n val.timeoutId = window.setTimeout(function () {\r\n var value = ValidatorGetValue(val.controltovalidate);\r\n eval(val.webFormDoCallback);\r\n }, 200);\r\n}\r\n\r\n// Called when result is returned from server\r\nfunction RocktimeAjaxValidatorResult(returnValue, val) {\r\n val.update = !(val.LastIsValid == returnValue) ? 'true' : 'false';\r\n val.ajaxIsValid = returnValue;\r\n val.LastIsValid = returnValue;\r\n val.isvalid = (val.ajaxIsValid.toLowerCase() == 'true');\r\n if (val.update == 'true') {\r\n ValidatorUpdateDisplay(val);\r\n if (val.parent != undefined && val.parent != '') {\r\n val.parentObj = document.all ? document.all[val.parent] : document.getElementById(val.parent)\r\n RocktimeValidateEx(val.parentObj);\r\n };\r\n }\r\n}\r\n\r\n// If there is an error, show it\r\nfunction RocktimeAjaxValidatorError(message, val) {\r\n alert('Error: ' + decodeHTML(message));\r\n val.ajaxIsValid = 'false';\r\n}\r\n\r\nvar decodeHTML = function (html) {\r\n var txt = document.createElement('textarea');\r\n txt.innerHTML = html;\r\n return txt.value;\r\n};\r\n","//\r\n//Intercept and extend ValidatorUpdateDisplay\r\n//\r\nvar ValidatorUpdateDisplaySaved;\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (typeof (ValidatorUpdateDisplay) == \"function\") {\r\n ValidatorUpdateDisplaySaved = ValidatorUpdateDisplay;\r\n ValidatorUpdateDisplay = ValidatorUpdateDisplayEx;\r\n }\r\n}\r\n)\r\n\r\nfunction ValidatorUpdateDisplayEx(val) {\r\n ValidatorUpdateDisplaySaved(val);\r\n RocktimeValidateExSetHighlight(getCoreValidator(val));\r\n if (!val.id.endsWith('_Core')) UpdateValidationSummariesAutoAction();\r\n return val.isvalid;\r\n}\r\n\r\n// \r\n//Core\r\n//\r\nfunction GetCoreIsValid(val) {\r\n if ((typeof (Page_Validators) != \"undefined\") && (Page_Validators != null)) {\r\n for (var i = 0; i < Page_Validators.length; i++) {\r\n if (val.controltovalidate == Page_Validators[i].controltovalidate && val.id != Page_Validators[i].id) {\r\n if (!Page_Validators[i].isvalid) { return false; }\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nfunction getCoreValidator(val) {\r\n if ((typeof (Page_Validators) != \"undefined\") && (Page_Validators != null)) {\r\n for (var i = 0; i < Page_Validators.length; i++) {\r\n if (val.controltovalidate == Page_Validators[i].controltovalidate && Page_Validators[i].id.endsWith('_Core')) return Page_Validators[i];\r\n }\r\n }\r\n return;\r\n}\r\n\r\n//\r\n//Misc\r\n//\r\nfunction IsValidationGroupValid(validationGroup) {\r\n if (!validationGroup) validationGroup = '';\r\n if (typeof (Page_Validators) == \"undefined\") return true;\r\n for (var i = 0; i < Page_Validators.length; i++) {\r\n var val = Page_Validators[i];\r\n var valValidationGroup = val.validationGroup;\r\n if (!valValidationGroup) valValidationGroup = '';\r\n if ((typeof (val.enabled) == \"undefined\" || val.enabled != false) && valValidationGroup == validationGroup) {\r\n if (!val.id.endsWith('_Core')) {\r\n if (!val.isvalid) return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n//\r\n//Summary Error Highlighting\r\n//\r\nfunction UpdateValidationSummariesAutoAction() {\r\n if (typeof (Page_ValidationSummaries) == \"undefined\") return;\r\n var summary, sums, s;\r\n var headerSep, first, pre, post, end;\r\n for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {\r\n summary = Page_ValidationSummaries[sums];\r\n if (!summary) continue;\r\n if (summary.AutoUpdateSummaryValidationMessages == 'true') {\r\n summary.style.display = \"none\";\r\n if (!IsValidationGroupValid(summary.validationGroup)) {\r\n var i;\r\n if (typeof (summary.showsummary) != \"undefined\") {\r\n if (summary.showsummary.toLowerCase() != \"false\") {\r\n summary.style.display = \"\";\r\n if (typeof (summary.displaymode) != \"string\") {\r\n summary.displaymode = \"BulletList\";\r\n }\r\n switch (summary.displaymode) {\r\n case \"List\":\r\n headerSep = \"
    \";\r\n first = \"\";\r\n pre = \"\";\r\n post = \"
    \";\r\n end = \"\";\r\n break;\r\n case \"BulletList\":\r\n default:\r\n headerSep = \"\";\r\n first = \"\";\r\n break;\r\n case \"SingleParagraph\":\r\n headerSep = \" \";\r\n first = \"\";\r\n pre = \"\";\r\n post = \" \";\r\n end = \"
    \";\r\n break;\r\n }\r\n s = \"\";\r\n if (typeof (summary.headertext) == \"string\") {\r\n s += summary.headertext + headerSep;\r\n }\r\n s += first;\r\n for (i = 0; i < Page_Validators.length; i++) {\r\n var summaryValidationGroup = summary.validationGroup;\r\n if (!summaryValidationGroup) summaryValidationGroup = '';\r\n var valValidationGroup = Page_Validators[i].validationGroup;\r\n if (!valValidationGroup) valValidationGroup = '';\r\n if (!Page_Validators[i].isvalid && typeof (Page_Validators[i].errormessage) == \"string\" && valValidationGroup == summaryValidationGroup) {\r\n s += pre + Page_Validators[i].errormessage + post;\r\n }\r\n }\r\n s += end;\r\n summary.innerHTML = s;\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n if (typeof (summary.showmessagebox) != \"undefined\") {\r\n if (summary.showmessagebox.toLowerCase() == \"true\") {\r\n s = \"\";\r\n if (typeof (summary.headertext) == \"string\") {\r\n s += summary.headertext + \"\\r\\n\";\r\n }\r\n var lastValIndex = Page_Validators.length - 1;\r\n for (i = 0; i <= lastValIndex; i++) {\r\n var summaryValidationGroup = summary.validationGroup;\r\n if (!summaryValidationGroup) summaryValidationGroup = '';\r\n var valValidationGroup = Page_Validators[i].validationGroup;\r\n if (!valValidationGroup) valValidationGroup = '';\r\n if (!Page_Validators[i].isvalid && typeof (Page_Validators[i].errormessage) == \"string\" && valValidationGroup == summaryValidationGroup) {\r\n switch (summary.displaymode) {\r\n case \"List\":\r\n s += Page_Validators[i].errormessage;\r\n if (i < lastValIndex) {\r\n s += \"\\r\\n\";\r\n }\r\n break;\r\n case \"BulletList\":\r\n default:\r\n s += \"- \" + Page_Validators[i].errormessage;\r\n if (i < lastValIndex) {\r\n s += \"\\r\\n\";\r\n }\r\n break;\r\n case \"SingleParagraph\":\r\n s += Page_Validators[i].errormessage + \" \";\r\n break;\r\n }\r\n }\r\n }\r\n alert(s);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n UpdateSummaryWrappers();\r\n}\r\n\r\n//\r\n//Field Error Highlighting\r\n//\r\nfunction RocktimeValidateExSetHighlight(val) {\r\n if (!val) return;\r\n if (GetCoreIsValid(val)) {\r\n RocktimeValidateClass(val, true);\r\n RocktimeValidateBorderCss(val, val.borderColorNormal);\r\n return;\r\n }\r\n RocktimeValidateClass(val, false);\r\n RocktimeValidateBorderCss(val, val.borderColorError);\r\n}\r\n\r\nfunction RocktimeValidateClass(val, removeClass) {\r\n if (val.fieldErrorClass == '') { return; }\r\n\r\n $('#' + val.fieldErrorClassTarget).removeClass(val.fieldErrorClass);\r\n if (!removeClass) { $('#' + val.fieldErrorClassTarget).addClass(val.fieldErrorClass); }\r\n\r\n if (val.fieldErrorClassCompareTarget != undefined && val.fieldErrorClassCompareTarget != '') {\r\n $('#' + val.fieldErrorClassCompareTarget).removeClass(val.fieldErrorClass);\r\n if (!removeClass && $('#' + val.controltocompare).val() != '') { $('#' + val.fieldErrorClassCompareTarget).addClass(val.fieldErrorClass); }\r\n }\r\n RocktimeValidateClassForMultiLine(val, true);\r\n if (!removeClass) { RocktimeValidateClassForMultiLine(val, false); }\r\n}\r\n\r\nfunction RocktimeValidateClassForMultiLine(val, removeClass) {\r\n RocktimeValidateClassForMultiLineAction($('#' + val.fieldErrorClassTarget).parent().parent().find(\".rtRECView\"), val, removeClass);\r\n RocktimeValidateClassForMultiLineAction($('#' + val.fieldErrorClassTarget).parent().parent().find(\".rtTACView\"), val, removeClass);\r\n RocktimeValidateClassForMultiLineAction($('#' + val.fieldErrorClassTarget).parent().parent().parent().find(\".rtTACView\"), val, removeClass);\r\n}\r\n\r\nfunction RocktimeValidateClassForMultiLineAction(target, val, removeClass) {\r\n if (target == null) { return };\r\n if (removeClass) {\r\n target.removeClass(val.fieldErrorClass);\r\n }\r\n else {\r\n target.addClass(val.fieldErrorClass);\r\n }\r\n}\r\n\r\nfunction RocktimeValidateBorderCss(val, borderColor) {\r\n if (borderColor == '') { return; }\r\n $('#' + val.fieldErrorClassTarget).css('border-color', borderColor);\r\n if (val.controltocompare != '') { $('#' + val.controltocompare).css('border-color', borderColor); }\r\n}\r\n","//\r\n//Intercept and extend ValidationSummaryOnSubmit\r\n//\r\nvar ValidationSummaryOnSubmitSaved;\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (typeof (ValidationSummaryOnSubmit) == \"function\") {\r\n ValidationSummaryOnSubmitSaved = ValidationSummaryOnSubmit;\r\n ValidationSummaryOnSubmit = ValidationSummaryOnSubmitEx;\r\n }\r\n}\r\n)\r\n\r\nfunction ValidationSummaryOnSubmitEx(validationGroup) {\r\n ValidationSummaryOnSubmitSaved(validationGroup);\r\n UpdateSummaryWrappers(validationGroup);\r\n}\r\n\r\n//\r\n//Summary Update\r\n//\r\nfunction UpdateSummaryWrappers() {\r\n if (typeof (Page_ValidationSummaries) == \"undefined\") return;\r\n for (var sums = 0; sums < Page_ValidationSummaries.length; sums++) {\r\n var summary = Page_ValidationSummaries[sums];\r\n if (!summary) continue;\r\n var summaryTarget = GetSummaryTarget(summary.validationGroup);\r\n if (SummaryHasEMShowing(summaryTarget) || SummaryIsVisible(summaryTarget)) $(summaryTarget).show();\r\n else $(summaryTarget).hide();\r\n }\r\n}\r\n\r\nfunction SummaryIsVisible(summaryTarget) {\r\n if ($(summaryTarget + ' .error-componant__validator').css('display') == 'none') return false;\r\n return true;\r\n}\r\n\r\nfunction SummaryHasEMShowing(summaryTarget) {\r\n return ($(summaryTarget).attr('data-state-has-em') == 'true');\r\n}\r\n\r\nfunction GetSummaryTarget(validationGroup) {\r\n var summaryTarget = validationGroup;\r\n if (!summaryTarget || summaryTarget == '') summaryTarget = 'no-group';\r\n summaryTarget = '.error-componant-' + summaryTarget;\r\n return summaryTarget;\r\n}\r\n\r\n","// Custom browser upload feature that hides features upon button clicks, and changes the browser default input file type to use a custom build input workaround\r\nvar uploader = {};\r\n\r\nuploader.bind = function () {\r\n uploader.initFakeInput();\r\n\r\n uploader.cancelBtn.off(\"click\").on(\"click\", function () {\r\n\r\n uploader.removeFile($(this));\r\n uploader.hideFileInput($(this));\r\n uploader.showFileDetails($(this));\r\n });\r\n\r\n uploader.replaceBtn.off(\"click\").on(\"click\", function () {\r\n\r\n uploader.hideFileDetails($(this));\r\n uploader.showFileInput($(this));\r\n });\r\n};\r\n\r\nuploader.initFakeInput = function () {\r\n for (var i = 0; i < uploader.container.length; i++) {\r\n var container = $(uploader.container[i]);\r\n var imageUpload = container.find(uploader.inputTarget);\r\n\r\n imageUpload.on(\"change\", function () {\r\n\r\n var uploadMsg = $(this).parents(\".\" + uploader.containerClass).find(\".\" + uploader.fileUploadMsgClass),\r\n input = this.files[0],\r\n text,\r\n val = $(this).val();\r\n\r\n if (input) {\r\n text = 'Selected File to upload: ' + val.replace(/.*\\\\(.+)/g, \"$1\") + \"\";\r\n } else {\r\n text = 'Please select a file';\r\n }\r\n\r\n uploadMsg.html(text);\r\n });\r\n }\r\n};\r\n\r\nuploader.removeFile = function (selected) {\r\n var container = selected.parents(\".\" + uploader.containerClass);\r\n var input = container.find(uploader.inputTarget);\r\n var uploadMsg = container.find(\".\" + uploader.fileUploadMsgClass);\r\n\r\n input.val(\"\");\r\n uploadMsg.html(\"No File Selected\");\r\n};\r\n\r\nuploader.hideFileInput = function (selected) {\r\n var container = selected.parents(\".\" + uploader.containerClass);\r\n var fileOpts = container.find(\".\" + uploader.fileOptsClass);\r\n fileOpts.addClass(uploader.fileOptsHiddenClass);\r\n};\r\n\r\nuploader.showFileInput = function (selected) {\r\n var container = selected.parents(\".\" + uploader.containerClass);\r\n var fileOpts = container.find(\".\" + uploader.fileOptsClass);\r\n fileOpts.removeClass(uploader.fileOptsHiddenClass);\r\n var input = container.find(uploader.inputTarget);\r\n input.focus();\r\n};\r\n\r\nuploader.hideFileDetails = function (selected) {\r\n var container = selected.parents(\".\" + uploader.containerClass);\r\n var fileDetails = container.find(\".\" + uploader.fileDetailsClass);\r\n fileDetails.addClass(uploader.fileDetailsHiddenClass);\r\n};\r\n\r\nuploader.showFileDetails = function (selected) {\r\n var container = selected.parents(\".\" + uploader.containerClass);\r\n var fileDetails = container.find(\".\" + uploader.fileDetailsClass);\r\n fileDetails.removeClass(uploader.fileDetailsHiddenClass);\r\n fileDetails.find(\".\" + uploader.replaceBtnClass).focus();\r\n};\r\n\r\nuploader.init = function () {\r\n if (typeof jQuery == 'undefined') return;\r\n uploader.containerClass = \"c-file-upload\";\r\n uploader.cancelBtnClass = \"c-file-upload__cancel\";\r\n uploader.replaceBtnClass = \"c-file-upload__replace\";\r\n uploader.fileOptsClass = \"c-file-upload__file-opts\";\r\n uploader.fileOptsHiddenClass = \"c-file-upload__file-opts--hidden\";\r\n uploader.fileDetailsClass = \"c-file-upload__file-details\";\r\n uploader.fileDetailsHiddenClass = \"c-file-upload__file-details--hidden\";\r\n uploader.fileUploadMsgClass = \"c-file-upload__upload-msg\";\r\n uploader.inputTarget = \"input[type=file]\";\r\n\r\n uploader.container = $(\".\" + uploader.containerClass);\r\n uploader.fileInput = uploader.container.find(uploader.inputTarget);\r\n\r\n if (uploader.fileInput.length > 0) {\r\n\r\n uploader.cancelBtn = uploader.container.find(\".\" + uploader.cancelBtnClass);\r\n uploader.replaceBtn = uploader.container.find(\".\" + uploader.replaceBtnClass);\r\n\r\n uploader.bind();\r\n }\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n uploader.init();\r\n});\r\n","var cbox = {};\r\n\r\ncbox.onComplete = function (id, width, height, timerInMSecs) {\r\n\r\n var minWidth = 250,\r\n minHeight = 75,\r\n maxHeight = 450,\r\n x = 0,\r\n y=0;\r\n if (width == 'auto') x = $('#' + id).width() + 20; else x = width;\r\n if (timerInMSecs === 0) x += 60;\r\n if (x < minWidth) x = minWidth;\r\n\r\n if (width == 'auto') y = $('#' + id).height() + 15; else y = height;\r\n if (y < minHeight) y = minHeight;\r\n if (y > maxHeight) y = maxHeight;\r\n\r\n $.colorbox.resize({ width: x, height: y })\r\n\r\n}","/*************************************\r\n- The (read) 'more' and (read) 'less' links on the end of some lengthy sentences\r\n**************************************/\r\n\r\nvar readToggleButton = {};\r\n\r\nreadToggleButton.bind = function () {\r\n for (var i = 0; i < readToggleButton.readMoreBtn.length; i++) {\r\n readToggleButton.showText(i);\r\n }\r\n\r\n for (var i = 0; i < readToggleButton.readLessBtn.length; i++) {\r\n readToggleButton.hideText(i);\r\n }\r\n};\r\n\r\nreadToggleButton.showText = function (i) {\r\n $(readToggleButton.readMoreBtn[i])\r\n .off(\"click.show\")\r\n .on(\"click.show\", function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n\r\n readToggleButton.innerSpan = this.parentNode;\r\n readToggleButton.outerSpan = readToggleButton.innerSpan.parentNode;\r\n readToggleButton.label = readToggleButton.outerSpan.parentNode;\r\n\r\n readToggleButton.textMin = readToggleButton.label.getElementsByClassName(readToggleButton.moreTextMinClass)[0];\r\n readToggleButton.textMax = readToggleButton.label.getElementsByClassName(readToggleButton.moreTextMaxClass)[0];\r\n\r\n readToggleButton.textMin.classList.add(\"hidden\");\r\n readToggleButton.textMax.classList.add(\"show\");\r\n return false;\r\n });\r\n};\r\n\r\nreadToggleButton.hideText = function (i) {\r\n $(readToggleButton.readLessBtn[i])\r\n .off(\"click.hide\")\r\n .on(\"click.hide\", function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n\r\n readToggleButton.innerSpan = this.parentNode;\r\n readToggleButton.outerSpan = readToggleButton.innerSpan.parentNode;\r\n readToggleButton.label = readToggleButton.outerSpan.parentNode;\r\n\r\n readToggleButton.textMin = readToggleButton.label.getElementsByClassName(readToggleButton.moreTextMinClass)[0];\r\n readToggleButton.textMax = readToggleButton.label.getElementsByClassName(readToggleButton.moreTextMaxClass)[0];\r\n\r\n readToggleButton.textMin.classList.remove(\"hidden\");\r\n readToggleButton.textMax.classList.remove(\"show\");\r\n return false;\r\n });\r\n};\r\n\r\nreadToggleButton.init = function () {\r\n if (document.getElementsByClassName(\"more-text__button-show\").length > 0) {\r\n readToggleButton.moreTextMinClass = \"more-text__min\";\r\n readToggleButton.moreTextMaxClass = \"more-text__max\";\r\n\r\n readToggleButton.readMoreBtn = document.getElementsByClassName(\r\n \"more-text__button-show\"\r\n );\r\n readToggleButton.readLessBtn = document.getElementsByClassName(\r\n \"more-text__button-hide\"\r\n );\r\n\r\n readToggleButton.bind();\r\n }\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n readToggleButton.init();\r\n});","var scrollToView = function (id, speed) {\r\n\r\n var scrollTarget = document.getElementById(id);\r\n\r\n $(\"html,body\").animate({\r\n scrollTop: scrollTarget.offsetTop\r\n }, speed);\r\n\r\n return false;\r\n};","var actionSkipLink = function (id) {\r\n $(\"#\" + id).focus();\r\n scrollToView(id, 0);\r\n};","//Setup DOB Controls\r\nfunction parentId(senderId) {\r\n return senderId.replace(\"_Year\", \"\").replace(\"_Month\", \"\").replace(\"_Day\", \"\").replaceAll(\"$\", \"_\");\r\n}\r\n\r\n//function updateDroplistDays(sender, eventArgs) { \r\n// var senderId = parentId(sender._uniqueId);\r\n// var day = $find(senderId + \"_Day\");\r\n// var month = $find(senderId + \"_Month\");\r\n// var year = $find(senderId + \"_Year\");\r\n// day.trackChanges();\r\n\r\n// var daySelectedItem = day.get_selectedItem();\r\n// var monthSelectedItem = month.get_selectedItem();\r\n// var yearSelectedItem = year.get_selectedItem();\r\n\r\n// var dIM = daysInMonth(monthSelectedItem.get_value(), yearSelectedItem.get_value());\r\n// if (daySelectedItem != undefined) { if (daySelectedItem.get_value() > dIM) { day.getItem(0).set_selected(true); } }\r\n\r\n// var Item29 = day.findItemByValue(29);\r\n// var Item30 = day.findItemByValue(30);\r\n// var Item31 = day.findItemByValue(31);\r\n\r\n// if (Item29 != undefined) { Item29.set_visible(dIM >= 29); }\r\n// if (Item30 != undefined) { Item30.set_visible(dIM >= 30); }\r\n// if (Item31 != undefined) { Item31.set_visible(dIM >= 31); }\r\n\r\n// day.commitChanges();\r\n// updateValue(sender, eventArgs);\r\n//}\r\n\r\nfunction updateSelectValue(changedCheckbox) {\r\n var senderId = parentId(changedCheckbox.id);\r\n var control = document.getElementById(senderId);\r\n if (control.yearValue() == -1 && control.monthValue() == -1 && control.dayValue() == -1) {\r\n control.value = \"-1\";\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).removeClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n else if (control.yearValue() != \"\" && control.monthValue() != \"\" && control.dayValue() != \"\" && control.yearValue() != -1 && control.monthValue() != -1 && control.dayValue() != -1) {\r\n var y = control.yearValue();\r\n var m = (parseInt(control.monthValue()) > 9 ? \"\" : \"0\") + parseInt(control.monthValue());\r\n var d = (parseInt(control.dayValue()) > 9 ? \"\" : \"0\") + parseInt(control.dayValue());\r\n control.value = y + \"-\" + m + \"-\" + d;\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).addClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n else {\r\n control.value = \"\";\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).removeClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n if ((control.FiredValidation == 'true') || (control.yearValue() != \"\" && control.monthValue() != \"\" && control.dayValue() != \"\")) {\r\n control.FiredValidation = 'true';\r\n Page_ClientValidateByControl(parentId(changedCheckbox.id));\r\n }\r\n else {\r\n control.value = \"Error!\";\r\n Page_ClientValidateByControl(parentId(changedCheckbox.id));\r\n control.value = \"\";\r\n }\r\n}\r\n\r\nfunction updateValue(sender, eventArgs) {\r\n var senderId = parentId(sender._uniqueId);\r\n var control = document.getElementById(senderId);\r\n if (control.yearValue() == -1 && control.monthValue() == -1 && control.dayValue() == -1) {\r\n control.value = \"-1\";\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).removeClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n else if (control.yearValue() != \"\" && control.monthValue() != \"\" && control.dayValue() != \"\" && control.yearValue() != -1 && control.monthValue() != -1 && control.dayValue() != -1) {\r\n var y = control.yearValue();\r\n var m = (parseInt(control.monthValue()) > 9 ? \"\" : \"0\") + parseInt(control.monthValue());\r\n var d = (parseInt(control.dayValue()) > 9 ? \"\" : \"0\") + parseInt(control.dayValue());\r\n control.value = y + \"-\" + m + \"-\" + d;\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).addClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n else {\r\n control.value = \"\";\r\n $(\"#\" + senderId).parents('.' + $('#' + senderId).attr('data-parent')).removeClass($('#' + senderId).attr('data-active-class'));\r\n }\r\n if ((control.FiredValidation == 'true') || (control.yearValue() != \"\" && control.monthValue() != \"\" && control.dayValue() != \"\")) {\r\n control.FiredValidation = 'true';\r\n Page_ClientValidateByControl(parentId(sender._uniqueId));\r\n }\r\n}\r\n\r\n//function updateComboBoxDays(sender, eventArgs) {\r\n// updateComboBoxDaysAction(sender._uniqueId);\r\n// updateValue(sender, eventArgs);\r\n//}\r\n\r\n//function updateComboBoxDaysAction(senderId) {\r\n\r\n// senderId = parentId(senderId);\r\n// var jqDay = $(\"#\" + senderId + \"_Day\");\r\n// jqDay.removeClass('day-error');\r\n// jqDay.removeClass('day-error--custom');\r\n\r\n// var day = $find(senderId + \"_Day\");\r\n// var month = $find(senderId + \"_Month\");\r\n// var year = $find(senderId + \"_Year\");\r\n// day.trackChanges();\r\n\r\n// var daySelectedItem = day.get_selectedItem();\r\n// var monthSelectedItem = month.get_selectedItem();\r\n// var yearSelectedItem = year.get_selectedItem();\r\n\r\n// var dIM = daysInMonth(getValue(month), getValue(year));\r\n// if ((getValue(day) == -1 && getValue(month) != -1 && getValue(year) != -1) || getValue(day) > dIM) {\r\n// day.get_items().getItem(0).set_selected(true);\r\n// if (typeof day.set_text !== \"undefined\") { day.set_text(\"??\"); }\r\n// jqDay.addClass('day-error');\r\n// jqDay.addClass('day-error--custom');\r\n// }\r\n\r\n// var Item29 = day.findItemByValue(29);\r\n// var Item30 = day.findItemByValue(30);\r\n// var Item31 = day.findItemByValue(31);\r\n\r\n// if (Item29 != undefined) { Item29.set_visible(dIM >= 29); }\r\n// if (Item30 != undefined) { Item30.set_visible(dIM >= 30); }\r\n// if (Item31 != undefined) { Item31.set_visible(dIM >= 31); }\r\n\r\n// //if (dIM >= 29) {\r\n// // if (Item29 == undefined) {\r\n// // var newItem = new Telerik.Web.UI.RadComboBoxItem();\r\n// // newItem.set_text(\"29\");\r\n// // newItem.set_value(\"29\");\r\n// // day.get_items().add(newItem);\r\n// // }\r\n// //}\r\n// //else {\r\n// // if (Item29 != undefined) { day.get_items().remove(Item29); }\r\n// //}\r\n\r\n// //if (dIM >= 30) {\r\n// // if (Item30 == undefined) {\r\n// // var newItem = new Telerik.Web.UI.RadComboBoxItem();\r\n// // newItem.set_text(\"30\");\r\n// // newItem.set_value(\"30\");\r\n// // day.get_items().add(newItem);\r\n// // }\r\n// //}\r\n// //else {\r\n// // if (Item30 != undefined) { day.get_items().remove(Item30); }\r\n// //}\r\n\r\n// //if (dIM >= 31) {\r\n// // if (Item31 == undefined) {\r\n// // var newItem = new Telerik.Web.UI.RadComboBoxItem();\r\n// // newItem.set_text(\"31\");\r\n// // newItem.set_value(\"31\");\r\n// // day.get_items().add(newItem);\r\n// // }\r\n// //}\r\n// //else {\r\n// // if (Item31 != undefined) { day.get_items().remove(Item31); }\r\n// //}\r\n// day.commitChanges();\r\n//}\r\n\r\nfunction getValue(item) {\r\n if (typeof item.get_text !== \"undefined\") {\r\n var listItem = item.findItemByText(item.get_text());\r\n if (listItem) { return listItem.get_value(); }\r\n return \"\";\r\n } else if (typeof item.get_selectedItem === \"function\") {\r\n return item.get_selectedItem().get_value();\r\n } else {\r\n return item.value;\r\n }\r\n return \"\"\r\n}\r\n\r\nfunction daysInMonth(month, year) {\r\n if (month == undefined || year == undefined) { return 31; }\r\n if (isNaN(month)) { month = getValue(month); }\r\n if (isNaN(year)) { year = getValue(year); }\r\n if ((month == '' || month == -1) || (year == '' || year == -1)) { return 31; }\r\n return new Date(year, month, 0).getDate();\r\n}\r\n\r\nfunction dateControlSetup() {\r\n\r\n $('.date-droplist,.date-combobox').each(function () {\r\n document.getElementById(this.id).getValue = function () {\r\n if (this.isEmpty()) { return \"-1\"; }\r\n if (!this.isValid()) { return; }\r\n return (new Date(this.yearValue(), this.monthValue() - 1, this.dayValue()));\r\n };\r\n\r\n document.getElementById(this.id).value = \"\";\r\n\r\n document.getElementById(this.id).isValidDay = function () {\r\n //updateComboBoxDaysAction(this.id);\r\n if (this.isEmpty()) { return this.showAsValid(true); }\r\n if (this.dayValue() == \"\") { return this.showAsValid(false); }\r\n if (!this.isValidMonth) { return this.showAsValid(true); }\r\n if (!this.isValidYear) { return this.showAsValid(true); }\r\n if (daysInMonth(this.month(), this.year()) >= this.day()) { return this.showAsValid(false); }\r\n if (this.maxDate().getMonth() + 1 == this.monthValue()) { return this.showAsValid(this.maxDate().getDate() >= this.dayValue()) };\r\n if (this.minDate().getMonth() + 1 == this.monthValue()) { return this.showAsValid(this.minDate().getDate() <= this.dayValue()) };\r\n return this.showAsValid(true);\r\n };\r\n\r\n document.getElementById(this.id).isValidMonth = function () {\r\n //updateComboBoxDaysAction(this.id);\r\n if (this.isEmpty()) { return this.showAsValid(true); }\r\n if (this.monthValue() == \"\") { return this.showAsValid(false); }\r\n if (!this.isValidYear) { return this.showAsValid(true); } if (this.maxDate().getFullYear() == this.yearValue()) { return this.showAsValid(this.maxDate().getMonth() + 1 >= this.monthValue()) };\r\n if (this.minDate().getFullYear() == this.yearValue()) { return this.showAsValid(this.minDate().getMonth() + 1 <= this.monthValue()) };\r\n return this.showAsValid(true);\r\n };\r\n\r\n document.getElementById(this.id).isValidYear = function () {\r\n //updateComboBoxDaysAction(this.id);\r\n if (this.isEmpty()) { return this.showAsValid(true); }\r\n if (this.yearValue() == \"\") { return this.showAsValid(false); }\r\n if (this.yearValue() == -1) { return this.showAsValid(false); }\r\n return this.showAsValid(this.maxDate().getFullYear() >= this.yearValue()) && (this.minDate().getFullYear() <= this.yearValue());\r\n };\r\n\r\n document.getElementById(this.id).isValid = function () {\r\n //updateComboBoxDaysAction(this.id);\r\n if (this.isEmpty()) { return this.showAsValid(true); }\r\n return this.showAsValid(this.isValidYear() && this.isValidMonth() && this.isValidDay());\r\n };\r\n\r\n document.getElementById(this.id).showAsValid = function (HideError) {\r\n if (HideError) { this.classList.remove(\"RocktimeFieldErrorDate\"); }\r\n else { this.classList.add(\"RocktimeFieldErrorDate\"); }\r\n return (HideError);\r\n };\r\n\r\n document.getElementById(this.id).isEmpty = function () {\r\n return (this.yearValue() == \"-1\") && (this.monthValue() == \"-1\") && (this.dayValue() == \"-1\");\r\n };\r\n\r\n document.getElementById(this.id).maxDate = function () {\r\n var $field = $(this);\r\n var max = Date.parse($field.attr('data-maxdate'));\r\n if (!max) { return new Date(Date.maxValue); }\r\n return new Date(max);\r\n\r\n };\r\n\r\n document.getElementById(this.id).minDate = function () {\r\n var $field = $(this);\r\n var min = Date.parse($field.attr('data-mindate'));\r\n if (!min) { return new Date(Date.minValue); }\r\n return new Date(min);\r\n };\r\n\r\n document.getElementById(this.id).day = function () {\r\n if ($find(this.id + \"_Day\") != undefined) {\r\n return $find(this.id + \"_Day\");\r\n } else {\r\n return document.getElementById(this.id + \"_Day\");\r\n }\r\n };\r\n\r\n document.getElementById(this.id).month = function () {\r\n if ($find(this.id + \"_Month\") != undefined) {\r\n return $find(this.id + \"_Month\");\r\n } else {\r\n return document.getElementById(this.id + \"_Month\");\r\n }\r\n };\r\n\r\n document.getElementById(this.id).year = function () {\r\n if ($find(this.id + \"_Year\") != undefined) {\r\n return $find(this.id + \"_Year\");\r\n } else {\r\n return document.getElementById(this.id + \"_Year\");\r\n }\r\n };\r\n\r\n document.getElementById(this.id).dayValue = function () {\r\n return getValue(this.day());\r\n };\r\n\r\n document.getElementById(this.id).monthValue = function () {\r\n return getValue(this.month());\r\n };\r\n\r\n document.getElementById(this.id).yearValue = function () {\r\n return getValue(this.year());\r\n };\r\n\r\n })\r\n\r\n $('.AutoAdvance Input, Input.AutoAdvance').blur(\r\n function () {\r\n $(this).removeClass('day-error');\r\n $(this).removeClass('day-error--custom');\r\n }\r\n )\r\n\r\n $('.AutoAdvance Input, Input.AutoAdvance').keyup(function (e) {\r\n if (e.keyCode < 48 && e.keyCode != 8) { return }\r\n if (e.keyCode > 105) { return }\r\n var $field = $(this);\r\n var $dataOptions = $(this).closest('.AutoAdvance');\r\n var $previousField = $('#' + $dataOptions.attr('data-autoadvance-previous') + ' Input, Input#' + $dataOptions.attr('data-autoadvance-previous'));\r\n var $nextField = $('#' + $dataOptions.attr('data-autoadvance-next') + ' Input, Input#' + $dataOptions.attr('data-autoadvance-next'));\r\n var maxchars = parseInt($dataOptions.attr('data-autoadvance-maxchars'), 10);\r\n var numbersOnly = ($dataOptions.attr('data-autoadvance-numbersonly') == \"true\");\r\n var isComboBox = ($dataOptions.attr('data-autoadvance-iscombobox') == \"true\");\r\n var allowcomboboxfreetext = ($dataOptions.attr('data-autoadvance-allowcomboboxfreetext') == \"true\");\r\n var fieldVar = $field.val().trim();\r\n\r\n if (isComboBox) {\r\n var Dl = $find(this.id.replace(\"_Input\", \"\"));\r\n if (Dl) {\r\n Dl.hideDropDown();\r\n\r\n if (!allowcomboboxfreetext && fieldVar != '1') {\r\n maxchars = 10;\r\n var result = checkComboBoxValue(Dl);\r\n if (result == -1) { return };\r\n if (result != 0) { fieldVar = result; maxchars = fieldVar.length; }\r\n }\r\n }\r\n }\r\n\r\n if (numbersOnly && isNaN(fieldVar)) {\r\n $field.val(fieldVar.substring(0, previousmaxchars - 1));\r\n return\r\n }\r\n\r\n if (e.keyCode == 8) {\r\n if ($dataOptions.attr('data-autoadvance-previous') != undefined) {\r\n if ($dataOptions.attr('isEmpty') == 'true' && fieldVar == '') {\r\n var $previousDataOptions = $previousField.closest('.AutoAdvance');\r\n var previousmaxchars = parseInt($previousDataOptions.attr('data-autoadvance-maxchars'), 10);\r\n $previousDataOptions.attr('isEmpty', false);\r\n $previousField.focus();\r\n $previousField.val($previousField.val().substring(0, previousmaxchars - 1));\r\n }\r\n $dataOptions.attr('isEmpty', (fieldVar == ''));\r\n }\r\n return;\r\n }\r\n\r\n $dataOptions.attr('isEmpty', true);\r\n if (fieldVar.length >= maxchars) {\r\n if ($dataOptions.attr('data-autoadvance-next') != undefined) {\r\n var $nextDataOptions = $nextField.closest('.AutoAdvance');\r\n $nextField.focus();\r\n $nextField.select();\r\n if (!fieldVar.substring(maxchars) == \"\") { $nextField.val(fieldVar.substring(maxchars)); }\r\n $nextDataOptions.attr('isEmpty', false);\r\n }\r\n $field.val(fieldVar.substring(0, maxchars));\r\n return;\r\n }\r\n });\r\n\r\n function checkComboBoxValue(Dl) {\r\n\r\n var textInTheCombo = Dl.get_text();\r\n for (var i = 0; i < Dl.get_items().get_count(); i++) {\r\n var item = Dl.get_items().getItem(i);\r\n if (item.get_text() == textInTheCombo || item.get_text() == textInTheCombo.toTitleCase() || item.get_value() == textInTheCombo) {\r\n Dl.trackChanges();\r\n Dl.set_text(item.get_text());\r\n Dl.commitChanges();\r\n return item.get_text();\r\n }\r\n if (item.get_text().startsWith(textInTheCombo) || item.get_text().startsWith(textInTheCombo.toTitleCase()) || item.get_value().startsWith(textInTheCombo)) {\r\n return 0;\r\n }\r\n }\r\n\r\n Dl.showDropDown();\r\n Dl.trackChanges();\r\n Dl.get_items().getItem(0).set_selected(true);\r\n Dl.set_text(\"\");\r\n var inputElement = Dl.get_inputDomElement();\r\n inputElement.focus();\r\n Dl.commitChanges();\r\n return -1;\r\n }\r\n\r\n}","var popoutMessagePanel = {};\r\n\r\npopoutMessagePanel.bind = function () {\r\n popoutMessagePanel.ctrl.addEventListener('click', function () { popoutMessagePanel.toggleView(); });\r\n popoutMessagePanel.viewClose.addEventListener('click', function () { popoutMessagePanel.toggleView(); });\r\n popoutMessagePanel.view.addEventListener('click', popoutMessagePanel.clearLoadTime);\r\n};\r\n\r\npopoutMessagePanel.clearLoadTime = function () {\r\n clearTimeout(popoutMessagePanel.loadTimer);\r\n popoutMessagePanel.view.removeEventListener('click', popoutMessagePanel.clearLoadTime);\r\n};\r\n\r\npopoutMessagePanel.toggleView = function () {\r\n if (popoutMessagePanel.view.classList.contains(popoutMessagePanel.viewHiddenClass)) {\r\n popoutMessagePanel.openView();\r\n return;\r\n }\r\n popoutMessagePanel.closeView();\r\n\r\n};\r\n\r\npopoutMessagePanel.closeView = function () {\r\n popoutMessagePanel.view.classList.add(popoutMessagePanel.viewHiddenClass);\r\n popoutMessagePanel.view.style.maxHeight = 0 + \"px\";\r\n};\r\n\r\npopoutMessagePanel.openView = function () {\r\n popoutMessagePanel.view.classList.remove(popoutMessagePanel.viewHiddenClass);\r\n popoutMessagePanel.view.style.maxHeight = window.innerHeight + \"px\";\r\n};\r\n\r\npopoutMessagePanel.load = function () {\r\n popoutMessagePanel.loadTimer = setTimeout(function () {\r\n popoutMessagePanel.closeView();\r\n popoutMessagePanel.view.removeEventListener('click', popoutMessagePanel.clearLoadTime);\r\n }, popoutMessagePanel.loadDisplayTime);\r\n};\r\n\r\npopoutMessagePanel.init = function () {\r\n popoutMessagePanel.view = document.getElementsByClassName('c-popout-message-panel__view')[0];\r\n if (!popoutMessagePanel.view) return;\r\n popoutMessagePanel.ctrl = document.getElementsByClassName('c-popout-message-panel__ctrl-button')[0];\r\n popoutMessagePanel.viewClose = document.getElementsByClassName('c-popout-message-panel__view-close')[0];\r\n popoutMessagePanel.viewHiddenClass = 'c-popout-message-panel__view--hidden';\r\n popoutMessagePanel.loadDisplayTime = 500;\r\n popoutMessagePanel.openView();\r\n popoutMessagePanel.bind();\r\n popoutMessagePanel.load();\r\n\r\n};\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n popoutMessagePanel.init();\r\n});","document.addEventListener(\"DOMContentLoaded\", function () {\r\n documentReady();\r\n});\r\n\r\n\r\nfunction documentReady() {\r\n\r\n if (typeof jQuery == 'undefined') return;\r\n //InIt\r\n setupHelp();\r\n editorsSetup();\r\n dateControlSetup();\r\n\r\n //Events\r\n $('.ViewImage').colorbox({ onComplete: function () { $.colorbox.resize(); $('#cboxClose').remove(); } });\r\n}\r\n//Init Functions\r\n\r\n//Setup Help\r\nfunction setupHelp() {\r\n $('.rtHelpButton').attr('href', 'javascript:void(0);');\r\n $('.rtHelpButton').attr('target', '');\r\n $('.rtHelpMessage').click(function () { $(this).hide(); });\r\n}\r\n\r\n//Functions\r\n//Grid\r\nfunction onRowDropping(sender, args, senderId, destId1, destId2, recycleBinId1, recycleBinId2, alertText, canSort) {\r\n if (sender.get_id() == senderId) {\r\n var node = args.get_destinationHtmlElement();\r\n if (isChildOf(senderId, node) || isChildOf(destId1, node) || isChildOf(destId2, node)) {\r\n }\r\n else if (isChildOf(recycleBinId1, node)) {\r\n if (confirm(alertText)) { args.set_destinationHtmlElement($get(recycleBinId1)); }\r\n else { args.set_cancel(true); }\r\n }\r\n else if (isChildOf(recycleBinId2, node)) {\r\n if (confirm(alertText)) { args.set_destinationHtmlElement($get(recycleBinId2)); }\r\n else { args.set_cancel(true); }\r\n }\r\n else {\r\n args.set_cancel(true);\r\n }\r\n }\r\n else {\r\n args.set_cancel(true);\r\n }\r\n}\r\n\r\n//Misc\r\nfunction isChildOf(parentId, element) {\r\n if (parentId == \"\") { return false; }\r\n while (element) {\r\n if (element.id && element.id.indexOf(parentId) > -1) {\r\n return true;\r\n }\r\n element = element.parentNode;\r\n }\r\n return false;\r\n}\r\n\r\n\r\n//Help\r\nfunction rtHelpOpen(HelpMessage, LinkId) {\r\n $('#' + HelpMessage).text('Loading....');\r\n $('#' + HelpMessage).show();\r\n $('#' + HelpMessage).load('/help/summary/' + LinkId);\r\n}\r\n//Help\r\nfunction rtHelpOpenMessage(HelpMessage, Text) {\r\n $('#' + HelpMessage).html(Text);\r\n $('#' + HelpMessage).show();\r\n}\r\n\r\nvar isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; // Opera 8.0+ (UA detection to detect Blink/v8-powered Opera) \r\nvar isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+ \r\nvar isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; // At least Safari 3+: \"[object HTMLElementConstructor]\" \r\nvar isChrome = !!window.chrome && !isOpera; // Chrome 1+ \r\nvar isIE = /*@cc_on!@*/false || document.documentMode;\r\n\r\nfunction FixPTags(content) {\r\n\r\n while (content.endsWith(\"
    \")) { content = content.substring(0, content.length - 4); }\r\n while (content.endsWith(\"
    \")) { content = content.substring(0, content.length - 6); }\r\n\r\n // content = content.replace(/| [^>]*>) /gmi, \"| [^>]*>)[\\s\\t\\n\\r]*/gmi, \"/gmi, \"

    \"); //remove white space\r\n // content = content.replace(/<\\/p>[\\s\\t\\n\\r]*| [^>]*>)/gmi, \"

    /gmi, \"

    \"); //remove any end p tags\r\n // content = content.replace(/| [^>]*>)/gmi, \"

    | [^>]*>)/gmi, \"\\s*$/gmi, \"

    \"); //remove white space after ending p tag\r\n\r\n // if (!content.startsWith(\"

    \") && !content.startsWith(\"

    \" + content; } //add missing start p tag\r\n // if (!content.endsWith(\"

    \")) { content = content + \"

    \"; } //add missing end p tag\r\n\r\n // content = content.replace(/| [^>]*>)[\\s\\t\\n\\r]*/gmi, \"/gmi, \"

    \"); //remove white space\r\n\r\n // content = content.replace(/<\\/p>

    <\\/p>| [^>]*>)/gmi, \"

    <\\/p>| [^>]*>)/gmi, \"

    <\\/p>$/gmi, \"

    \"); //remove unwanted empty p tags at end\r\n\r\n // content = content.replace(/| [^>]*>)<\\/p>/gmi, \"\"); //fix empty p tags\r\n\r\n return content;\r\n}\r\n\r\n// For xml date+time;\r\nDate.prototype.toXML = function () {\r\n return (this.toXMLDate() + \"T\" + this.toXMLTime());\r\n}\r\n\r\n// For xml date;\r\nDate.prototype.toXMLDate = function () {\r\n return this.getFullYear() + \"-\" + (((this.getMonth() + 1) < 10) ? \"0\" : \"\") + (this.getMonth() + 1) + \"-\" + ((this.getDate() < 10) ? \"0\" : \"\") + this.getDate();\r\n}\r\n\r\n// For xml time;\r\nDate.prototype.toXMLTime = function () {\r\n return this.timeNow();\r\n}\r\n\r\n// For todays date;\r\nDate.prototype.today = function () {\r\n return ((this.getDate() < 10) ? \"0\" : \"\") + this.getDate() + \"/\" + (((this.getMonth() + 1) < 10) ? \"0\" : \"\") + (this.getMonth() + 1) + \"/\" + this.getFullYear();\r\n}\r\n\r\n// For the time now\r\nDate.prototype.timeNow = function () {\r\n return ((this.getHours() < 10) ? \"0\" : \"\") + this.getHours() + \":\" + ((this.getMinutes() < 10) ? \"0\" : \"\") + this.getMinutes();\r\n}\r\n\r\n// For the time now\r\nDate.prototype.timeNowSeconds = function () {\r\n return ((this.getHours() < 10) ? \"0\" : \"\") + this.getHours() + \":\" + ((this.getMinutes() < 10) ? \"0\" : \"\") + this.getMinutes() + \":\" + ((this.getSeconds() < 10) ? \"0\" : \"\") + this.getSeconds();\r\n}\r\n\r\nString.prototype.toTitleCase = function () {\r\n return this.replace(/\\w\\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });\r\n}\r\n\r\nString.prototype.endsWith = function (str) {\r\n return (this.match(str + \"$\") == str)\r\n}\r\n\r\nString.prototype.startsWith = function (str) {\r\n return (this.match(\"^\" + str) == str)\r\n}\r\n\r\nString.prototype.trim = function () {\r\n return (this.replace(/^[\\s\\xA0]+/, \"\").replace(/[\\s\\xA0]+$/, \"\"))\r\n}\r\n\r\nString.prototype.replaceAll = function (search, replacement) {\r\n return this.split(search).join(replacement);\r\n};\r\n\r\nObject.defineProperties(Date, {\r\n minValue: { value: -8640000000000000 }, // A number, not a date\r\n maxValue: { value: 8640000000000000 }\r\n});\r\n\r\n//Url\r\nfunction addTrailingDirSlash(url) {\r\n if (url == \"\") { return \"\" }\r\n url = url.replace(/\\/\\/+/gi, \"/\").toLowerCase();\r\n if (url.charAt(0) == '/') { url = url.substring(1) }\r\n if (url == \"\" || url == \"/\") { return \"\" }\r\n var urlParts = url.split(\"/\");\r\n if (urlParts[urlParts.length - 1].indexOf(\".\") !== -1) { return url }\r\n return (url + \"/\").replace(/\\/\\/+/gi, \"/\");\r\n}\r\n\r\n//ControlBaseEx\r\nElement.prototype.active = function (state) {\r\n if (state) {\r\n $(this).show();\r\n }\r\n else {\r\n $(this).hide();\r\n }\r\n return this.validationActive(state);\r\n};\r\n\r\nElement.prototype.validationActive = function (state) {\r\n var i;\r\n for (i = 0; i < Page_Validators.length; i++) {\r\n var eId = this.id;\r\n var vId = Page_Validators[i].id;\r\n if (vId.startsWith(eId)) { ValidatorEnableNoValidate(Page_Validators[i], state); }\r\n }\r\n return this;\r\n};\r\n\r\nfunction ValidatorEnableNoValidate(val, enable) {\r\n val.enabled = (enable != false);\r\n}\r\n\r\nfunction ToggleRadRadioButtonEx(val) {\r\n var button = $find(val);\r\n button.set_checked(!button.get_checked());\r\n}\r\n\r\n//RadEditor\r\nfunction editorsSetup() {\r\n\r\n $(\".rtRECView\").click(function () {\r\n $(this).parent().parent().find(\".rtRECEdit\").show();\r\n $(this).parent().parent().find(\".rtRECView\").hide();\r\n $(this).parent().find(\".rtRECEditbtn\").hide();\r\n $(this).parent().find(\".rtRECViewbtn\").show();\r\n $find($(this).parent().find(\".RadEditor\").attr('id')).setFocus();\r\n moveCaretToEndRadEditor($find($(this).parent().find(\".RadEditor\").attr('id')));\r\n });\r\n\r\n $(\".rtRECEditbtn\").click(function () {\r\n $(this).parent().parent().find(\".rtRECEdit\").show();\r\n $(this).parent().parent().find(\".rtRECView\").hide();\r\n $(this).parent().find(\".rtRECEditbtn\").hide();\r\n $(this).parent().find(\".rtRECViewbtn\").show();\r\n $find($(this).parent().parent().find(\".RadEditor\").attr('id')).setFocus();\r\n moveCaretToEndRadEditor($find($(this).parent().parent().find(\".RadEditor\").attr('id')));\r\n });\r\n\r\n $(\".rtRECViewbtn\").click(function () {\r\n $(this).parent().parent().find(\".rtRECEdit\").hide();\r\n $(this).parent().parent().find(\".rtRECView\").show();\r\n $(this).parent().find(\".rtRECEditbtn\").show();\r\n $(this).parent().find(\".rtRECViewbtn\").hide();\r\n copyRadEditorContent($find($(this).parent().parent().find(\".RadEditor\").attr('id')), $(this).parent().parent().find(\".rtRECView\"));\r\n });\r\n\r\n //TextArea\r\n $(\".rtTACView\").click(function () {\r\n $(this).parent().parent().find(\".rtTACEdit\").show();\r\n $(this).parent().parent().find(\".rtTACView\").hide();\r\n $(this).parent().find(\".rtTACEditbtn\").hide();\r\n $(this).parent().find(\".rtTACViewbtn\").show();\r\n $(this).parent().parent().find(\"textarea\").focus();\r\n moveCaretToEnd($(this).parent().parent().find(\"textarea\"));\r\n });\r\n\r\n $(\".rtTACEditbtn\").click(function () {\r\n $(this).parent().parent().find(\".rtTACEdit\").show();\r\n $(this).parent().parent().find(\".rtTACView\").hide();\r\n $(this).parent().find(\".rtTACEditbtn\").hide();\r\n $(this).parent().find(\".rtTACViewbtn\").show();\r\n $(this).parent().parent().find(\"textarea\").focus();\r\n moveCaretToEnd($(this).parent().parent().find(\"textarea\"));\r\n });\r\n\r\n $(\".rtTACViewbtn\").click(function () {\r\n $(this).parent().parent().find(\".rtTACEdit\").hide();\r\n $(this).parent().parent().find(\".rtTACView\").show();\r\n $(this).parent().find(\".rtTACEditbtn\").show();\r\n $(this).parent().find(\".rtTACViewbtn\").hide();\r\n $(this).parent().parent().find(\".rtTACView\").text($(this).parent().parent().find(\"textarea\").val().replace(/\\n/gi, \"
    \").replace(/\\r/, \"\"));\r\n $(this).parent().parent().find(\".rtTACView\").html($(this).parent().parent().find(\".rtTACView\").html().replace(/<br \\/>/gi, \"
    \"));\r\n });\r\n\r\n //Init\r\n initTextAreas();\r\n initRadEditors();\r\n}\r\n\r\nfunction FixRECs() {\r\n $(\".rtRECViewbtn\").each(function () {\r\n $(this).parent().parent().find(\".rtRECEdit\").hide();\r\n $(this).parent().parent().find(\".rtRECView\").show();\r\n $(this).parent().find(\".rtRECEditbtn\").show();\r\n $(this).parent().find(\".rtRECViewbtn\").hide();\r\n copyRadEditorContent($find($(this).parent().parent().find(\".RadEditor\").attr('id')), $(this).parent().parent().find(\".rtRECView\"));\r\n });\r\n}\r\n\r\nfunction ToggleTACEditView(target) {\r\n var btnView = target.parent().parent().find(\".rtTACViewbtn\");\r\n var btnEdit = target.parent().parent().find(\".rtTACEditbtn\");\r\n if (btnView.is(':visible')) { btnView.click() }\r\n else { btnEdit.click() }\r\n}\r\n\r\nfunction ToggleRECEditView(target) {\r\n var btnView = target.parent().parent().find(\".rtRECViewbtn\");\r\n var btnEdit = target.parent().parent().find(\".rtRECEditbtn\");\r\n if (btnView.is(':visible')) { btnView.click() }\r\n else { btnEdit.click() }\r\n}\r\n\r\n\r\n//RadEditor\r\nfunction initRadEditors() {\r\n FixRECs();\r\n}\r\n\r\nfunction rtRECHideEditor(editor, args) {\r\n copyRadEditorContent(editor, editorFindPart(editor));\r\n editorFindPart(editor, \"rtRECEdit\").hide();\r\n var style = editor.get_contentArea().style;\r\n style.margin = \"0\";\r\n style.padding = \"8px 10px\";\r\n style.border = \"0\";\r\n}\r\n\r\nfunction editorFindPart(editor, part) {\r\n return $(\"#\" + editor.get_id()).parent().parent().find(\".\" + part);\r\n}\r\n\r\nfunction moveCaretToEndRadEditor(editor) {\r\n //editor.set_html('

    0123456789abcdefghijklmnop


    ');\r\n //editor.set_html('

    0123456789abcdefghijklmnop

    ');\r\n //editor.set_html('0123456789abcdefghijklmnop');\r\n var content = editor.get_html();\r\n content = FixPTags(content);\r\n editor.set_html(content);\r\n editor.repaint();\r\n\r\n var selectionStart = content.lastIndexOf(\"

    \");\r\n if (selectionStart == -1) { selectionStart = content.length; }\r\n var selectionEnd = selectionStart;\r\n\r\n var iframe = document.getElementById(editor.get_id() + \"_contentIframe\");\r\n var iframewin = iframe.contentWindow;\r\n var input = (iframe.contentDocument || iframe.contentWindow.document).body;\r\n if (input.setSelectionRange) {\r\n selectionStart = adjustOffset(input, selectionStart);\r\n selectionEnd = adjustOffset(input, selectionEnd);\r\n input.setSelectionRange(selectionStart, selectionEnd);\r\n }\r\n else if (input.selection) {\r\n var range = input.createRange();\r\n range.collapse(true);\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n else if (input.createTextRange) {\r\n var range = input.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n else if (editor.get_document().selection) {\r\n var range = (editor.get_document().selection.createRange());\r\n var oRange = range.duplicate();\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n else if (iframewin.getSelection && isChrome) {//Chrome\r\n var sel = iframewin.getSelection();\r\n var range = editor.get_document().createRange();\r\n var node = range.startContainer;\r\n var offset = 1;\r\n node = node.lastChild;\r\n node = node.lastChild;\r\n if (node.nodeType != 3) {\r\n if (node.lastChild && node.lastChild.localName == \"p\") {\r\n node = node.lastChild;\r\n }\r\n else {\r\n var tempnode = node.lastChild;\r\n while (tempnode.previousSibling) {\r\n tempnode = tempnode.previousSibling;\r\n if (tempnode.localName == \"p\" || tempnode.nodeType == 3) {\r\n node = tempnode;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n }\r\n if (node.lastChild) { node = node.lastChild; }\r\n if (node.nodeType == 3) { offset = node.nodeValue.length; }\r\n range.setStart(node, offset);\r\n range.setEnd(node, offset);\r\n range.collapse(false);\r\n sel.removeAllRanges();\r\n sel.addRange(range);\r\n }\r\n else if (iframewin.getSelection && !isChrome) {//firefox\r\n var range = iframewin.getSelection().getRangeAt(0);\r\n var node = range.startContainer;\r\n var offset = 1;\r\n if (node.nodeType != 3) {\r\n if (node.lastChild && node.lastChild.localName == \"p\") {\r\n node = node.lastChild;\r\n }\r\n else {\r\n var tempnode = node.lastChild;\r\n while (tempnode.previousSibling) {\r\n tempnode = tempnode.previousSibling;\r\n if (tempnode.localName == \"p\" || tempnode.nodeType == 3) {\r\n node = tempnode;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (node.nodeType == 3) { offset = node.nodeValue.length; }\r\n range.setEnd(node, offset);\r\n range.setStart(node, offset);\r\n range.collapse(false);\r\n }\r\n else if (editor.getSelection) {\r\n var range = editor.getSelection().getRange();\r\n range.collapse(true);\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n}\r\n\r\nfunction copyRadEditorContent(src) {\r\n var dest = $(\"#\" + src.get_id() + \"_contentIframeViewOnly\");\r\n setIframeDocument(document.getElementById(src.get_id() + \"_contentIframeViewOnly\"), src.get_html());\r\n if ($(window).width() < 1024) {\r\n dest.contents().find('body').css(\"min-height\", \"26px\");\r\n }\r\n else {\r\n dest.contents().find('body').css(\"min-height\", \"20px\");\r\n }\r\n dest.height(\"0px\");\r\n dest.contents().find('body').css(\"padding\", \"0\");\r\n dest.contents().find('body').css(\"margin\", \"0\");\r\n dest.contents().find('#iFrameHtml').css(\"padding\", \"8px 10px\");\r\n dest.contents().find('#iFrameHtml').css(\"margin\", \"0\");\r\n dest.contents().find('#iFrameHtml').css(\"cursor\", \"pointer\");\r\n dest.contents().find('#iFrameHtml').click(function () { dest.click() });\r\n dest.height(dest.contents().find('body').height() - 2);\r\n}\r\n\r\nfunction setIframeDocument(iframe, content) {\r\n if (iframe) {\r\n content = FixPTags(content);\r\n var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;\r\n var d = iframeWin.document;\r\n d.open();\r\n d.write('<\\/head>' + content + '<\\/body><\\/html>');\r\n d.close();\r\n }\r\n};\r\n\r\n//TextArea\r\nfunction initTextAreas() {\r\n $(\".rtTACView\").each(function () {\r\n $(this).text($(this).parent().parent().find(\"TextArea\").text().replace(/\\n/gi, \"
    \").replace(/\\r/, \"\"));\r\n $(this).html($(this).html().replace(/<br \\/>/gi, \"
    \"));\r\n });\r\n $(\".rtTACEdit\").hide();\r\n}\r\n\r\nfunction moveCaretToEnd(el) {\r\n moveCaretTo(el, el.val().length, el.val().length)\r\n}\r\n\r\nfunction moveCaretTo(el, selectionStart, selectionEnd) {\r\n el.focus();\r\n var input = el[0];\r\n if (input.setSelectionRange) {\r\n selectionStart = adjustOffset(input, selectionStart);\r\n selectionEnd = adjustOffset(input, selectionEnd);\r\n input.setSelectionRange(selectionStart, selectionEnd);\r\n }\r\n else if (input.createTextRange) {\r\n var range = input.createTextRange();\r\n range.collapse(true);\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n else if (input.selection) {\r\n var range = input.createRange();\r\n range.collapse(true);\r\n range.moveEnd('character', selectionEnd);\r\n range.moveStart('character', selectionStart);\r\n range.select();\r\n }\r\n else {\r\n el.val(el.val());\r\n }\r\n};\r\n\r\nfunction adjustOffset(el, offset) {\r\n var val = el.value, newOffset = offset;\r\n if (val.indexOf(\"\\r\\n\") > -1) {\r\n var matches = val.replace(/\\r\\n/g, \"\\n\").slice(0, offset).match(/\\n/g);\r\n newOffset += matches ? matches.length : 0;\r\n }\r\n return newOffset;\r\n}"]}