{"version":3,"sources":["wwwroot/js/sitepages/educator-main.js","wwwroot/js/site/site-libs.js","wwwroot/js/sitepages/address.js","wwwroot/js/sitepages/admin-adjustment-page.js","wwwroot/js/sitepages/admin-overview.js","wwwroot/js/sitepages/admin-UserMaintenance.js","wwwroot/js/sitepages/childcare-site-edit.js","wwwroot/js/sitepages/custom-validation.js","wwwroot/js/sitepages/dashboard-availability.js","wwwroot/js/sitepages/dashboard-statement-summary.js","wwwroot/js/sitepages/enroledchild.js","wwwroot/js/sitepages/fileupload.js","wwwroot/js/sitepages/enrolment-list.js","wwwroot/js/sitepages/enrolment-planning.js","wwwroot/js/sitepages/enrolmentdetails.js","wwwroot/js/sitepages/expired_storage.js","wwwroot/js/sitepages/fee-edit.js","wwwroot/js/sitepages/fee-subsidy-verification.js","wwwroot/js/sitepages/feesubsidy-multipleenrolments.js","wwwroot/js/sitepages/fis-payment-approval.js","wwwroot/js/sitepages/home-index.js","wwwroot/js/sitepages/phonenumber-validation.js","wwwroot/js/site/site.js","wwwroot/js/sitepages/user-edit.js","wwwroot/js/sitepages/waitlist-frequency.js","wwwroot/js/sitepages/waitlist.js","wwwroot/js/sitepages/wsp-application-review.js","wwwroot/js/sitepages/wsp-conditional-update.js","wwwroot/js/sitepages/wsp-employee-application.js","wwwroot/js/sitepages/wsp-employee-record-details.js","wwwroot/js/sitepages/wsp-hours-details.js","wwwroot/js/sitepages/wsp-payment-verification.js","wwwroot/js/sitepages/wsp-pending-application-details.js","wwwroot/js/sitepages/wsp-upload.js"],"names":["EducatorId","TrainingId","ReturnURL","exports","IS_BOT_REGEXP","RegExp","join","UserAgent","this","version","_Versions","Edge","Firefox","IE","Chrome","Chromium","Safari","Opera","Ps3","Psp","Amaya","SeaMonkey","OmniWeb","Flock","Epiphany","WinJs","PhantomJS","AlamoFire","UC","Facebook","WebKit","_Browsers","Konqueror","PS3","PSP","_OS","Windows10","Windows81","Windows8","Windows7","UnknownWindows","WindowsVista","Windows2003","WindowsXP","Windows2000","WindowsPhone81","WindowsPhone80","OSXCheetah","OSXPuma","OSXJaguar","OSXPanther","OSXTiger","OSXLeopard","OSXSnowLeopard","OSXLion","OSXMountainLion","OSXMavericks","OSXYosemite","OSXElCapitan","MacOSSierra","MacOSHighSierra","MacOSMojave","Mac","Linux","Linux64","ChromeOS","Wii","iPad","iPhone","iOS","Bada","Curl","Electron","_Platform","Windows","WindowsPhone","Playstation","iPod","Android","Blackberry","Samsung","DefaultAgent","isAuthoritative","isMobile","isTablet","isiPad","isiPod","isiPhone","isAndroid","isBlackberry","isOpera","isIE","isEdge","isIECompatibilityMode","isSafari","isFirefox","isWebkit","isChrome","isKonqueror","isOmniWeb","isSeaMonkey","isFlock","isAmaya","isPhantomJS","isEpiphany","isDesktop","isWindows","isLinux","isLinux64","isMac","isChromeOS","isBada","isSamsung","isRaspberry","isBot","isCurl","isAndroidTablet","isWinJs","isKindleFire","isSilk","isCaptive","isSmartTV","isUC","isFacebook","isAlamoFire","isElectron","silkAccelerated","browser","os","platform","geoIp","source","Agent","getBrowser","string","test","indexOf","$1","getBrowserVersion","$2","testWebkit","getOS","isWindowsPhone","match","replace","getPlatform","isiSamsung","testCompatibilityMode","ua","tridentVersion","parseInt","testSilk","SilkAccelerated","testKindleFire","testCaptiveNetwork","reset","key","testMobile","testTablet","testNginxGeoIP","headers","Object","keys","forEach","testBot","exec","toLowerCase","testSmartTV","testAndroidTablet","parse","window","directions","fr","id","text","en","Address","nspace","selectheight","profile","ns","selectht","getSelectedCityText","sel","$","select2","undefined","length","setupAddress","setTimeout","scrollTo","setupMunicipality","setupDirection","selectOnClose","allowClear","tags","width","minimumResultsForSearch","language","noResults","lang","ajax","url","prefixlang","data","params","term","city","val","dataType","delay","placeholder","el","isValueSaved","find","remove","prepend","trigger","init","calcTotals","amount","parseFloat","toString","toFixed","isNaN","pre","decimalValue","post","admin","total","adminAmount","html","each","removeAttr","prop","on","location","attr","pt","addClass","removeClass","is","change","modal","submit","e","inArray","keyCode","ctrlKey","metaKey","shiftKey","preventDefault","valid","rules","document","ready","jsViewOption","keypress","event","which","txt","parentxt","jslang","txtopertaor","txtfirstname","txtlastname","txtemail","baseURLop","jsbaseURLop","baseURLpp","jsbaseURLapp","jsOptionThree","printURL","open","jsOptionFour","jsOptionOne","href","jsOptionTwo","jsFeedbackURL","setUpList","res","objectId","i","roles","role","check","first","loginId","email","split","method","contentType","processData","success","selectedRoles","substring","OperatorVisibility","show","children","hide","stopPropagation","jsIsAllLicenseSelected","validator","addMethod","value","element","optional","unobtrusive","adapters","add","options","phonenumber","messages","message","trim","nCheck","nDigit","bEven","n","cDigit","charAt","validmedicare","UpdateChartSize","ratio","screen","height","Chart","getChart","parent","resize","chartColours","trendsFooter","tooltipItems","Intl","NumberFormat","jsLangCode","minimumFractionDigits","maximumFractionDigits","tooltipItem","label","jsInfantEnrolment","jsInfantAvailable","jsPreschoolEnrolment","jsPreschoolAvailable","jsSchoolAgetEnrolment","jsSchoolAgeAvailable","jsInfant","jsEnrolment","jsPreschool","jsSchoolAge","trendsCanvas","getElementById","trendsCanvasNotHme","bgPlugin","beforeDraw","chart","args","ctx","save","globalCompositeOperation","fillStyle","color","fillRect","restore","type","labels","datasets","backgroundColor","onresize","a","b","console","log","maintainAspectRatio","animation","locale","plugins","legend","position","title","display","jsEnrolmentAvailability","font","size","subtitle","jsSubtitleText","tooltip","callbacks","footer","footerFont","weight","customCanvasBackgroundColor","responsive","scales","x","stacked","y","suggestedMax","jsSuggestedMax","ticks","stepSize","trendsFooterNotHome","jsInfantRemainingSpaces","jsPreschoolRemainingSpaces","jsSchoolageRemainingSpaces","jsAvailable","jsRemaining","click","chartElement","date","Date","toISOString","createElement","toBase64Image","download","datetimepicker","viewMode","format","keepOpen","maxDate","backdrop","totalAmountsFooter","formatter","dataset","dataIndex","jsWspLabel","wspAmount","jsFsLabel","fsAmount","jsOgLabel","ogAmount","jsPsLabel","psAmount","jsIsLabel","isAmount","jsMpLabel","mpAmount","jsTotalLabel","totalAmount","totalAmountsCanvas","totals","parsing","xAxisKey","yAxisKey","jsTotalAmountsLabel","beginAtZero","trendsLabel","context","parsed","borderColor","elements","point","pointRadius","pointHoverRadius","jsTrendsLabel","wspTotal","fsTotal","ogTotal","psTotal","isTotal","mpTotal","wspPercent","fsPercent","ogPercent","psPercent","isPercent","mpPercent","programPercentagesLabel","raw","programPercentagesCanvas","rotation","jsProgramPercentagesLabel","stopImmediatePropagation","self","load","refreshFileList","error","IsSchoolAge","yes","jsIsDesignated","jsHasParentSubsidy","SetDailyFeeTypeDiv","HandleWeeklyFrequencyOptions","HandleFrequencyOptions","childAttendsDailyRV","isSchoolAge","dailyFeeTypeRV","index","obj","checked","SetReadOnlyMode","ShowHideInactiveRelatedGroups","SetEditOnlyMode","StatusEnrollmentCd","EffectiveDate","now","pageReload","isAdmin","cannotModifyEffectiveDate","inactiveStatus","inactivemode","SetSchoolAgeOptions","HandleSelectAll","weekday","totalChecked","chkweekday","lblweekday","UpdateEnrolmentFees","sumTicked","SubmitEnroll","status","ReloadDefaultValues","LicensedFacility","AgeCategory","MondayAM","TuesdayAM","WednesdayAM","ThursdayAM","FridayAM","MondayPM","TuesdayPM","WednesdayPM","ThursdayPM","FridayPM","MondayFull","TuesdayFull","WednesdayFull","ThursdayFull","FridayFull","HandleInactiveStatus","isOnload","HandleSubmitModal","SetEnrolmentFees","enrolmentFees","GetAgeGroup","category","GetEffectiveDate","timestamp","effectiveDate","getTime","moment","valueOf","LicenseNumber","AgeGroupType","currentEnrolmentFees","GetEnrolmentFees","FullDayFees","PartDayFees","IsFullWeek","FullWeekFullDay","FullWeekFullDayStr","FullWeekPartDay","FullWeekPartDayStr","PartWeekFullDay","PartWeekFullDayStr","PartWeekPartDay","PartWeekPartDayStr","isPartDay","currentTimestamp","selectedEnrolmentFee","Id","AlternateId","item","formatFeeValues","dailyFee","formattedDailyFee","isNumeric","decimalPointLang","decimalPointLocation","lastIndexOf","dailyFeeLength","SetDailyFees","ageCategory","radioValue","GetLicenseAlternateId","license","licenses","licenseNumber","alterateID","GetHighlightFee","ageGroupCategoryId","fullDate","twoDigitMonth","getMonth","twoDigitDate","getDate","currentDate","getFullYear","keyup","blur","alternateId","highlightGroup","highlightFeeType","baseURL","oper","hasGetUserMedia","navigator","mediaDevices","getUserMedia","urlParam","name","results","search","ddval","ddval2","navigate","prefix","selectedLicense","jsOper","jsLang","defaultDate","keydown","jsPrefix","licence","jsEDLang","jsBaseURLpp","jsParentIamId","jsLicence","jsEnrolId","jsExpiredBenefitDate","jsChildFirstName","jsChildLastName","HandleLoad","today","dd","String","padStart","mm","yyyy","changedt","dt","jsViewAsOfDate","minDate","jsEarliestDate","jsCFAMinEndDate","jsNow","canSave","processId","showAckMsg","chkAck","chkAdjustment","chkVerified","fullname","dateStr","terminationReasonCd","dateSplit","minDateSplit","minEndDate","maxDateSplit","jsCFALatestStartDate","maxStartDate","nowSplit","isValid","formData","FormData","append","jsLatestCfaId","reload","root","ExpiredStorage","storage","localStorage","Error","setItem","getItem","removeItem","clear","_storage","prototype","_expiration_key_prefix","getTimestamp","Math","floor","expiration","ret","updateExpiration","isExpired","peek","timeLeft","getTimeLeft","expireTime","setJson","JSON","stringify","getJson","includeExpired","that","_iterKeys","storageKey","push","callback","len","clearExpired","itemKey","substr","author","gitUrl","define","amd","module","validateDate","resetMaxPercentIncrease","ReloadEditPage","feeoption","reloadURLJS","feeUpdateAgeGroupTypeJS","validateDecimal","langCode","regEx","template1","template2","templateManual","isFieldValidationErrorJS","updateDate","message1","saveMessage1JS","message2","saveMessage2JS","hasClass","calculateMarketFeeOptionAllJS","calculateMarketFeeOptionPreschoolJS","calculateMarketFeeOptionManuallyJS","returnURLJS","operatorIdJS","licenseNumberJS","alternateIdJS","licenceFeeTypeCdJS","isAdminJS","UpdateFilters","filterWarning","filterStatus","searchText","jsPeriodLink","SetVerified","chk","isVerified","card","parents","header","Submit","hasErrors","verifiedList","deniedGrantList","deniedReason","deniedOtherDetail","deniedObject","FeeSubsidySubmissionId","DeniedReason","DeniedOtherDetail","jsFeeSubsidyDenialTypeOther","deniedList","jsErrorNoSelection","viewStatus","viewWarning","resultsCountStr","jsOperatorsLabel","jsOperCount","jsLicensesLabel","jsLicenseCount","jsViewNoWarning","jsViewReadyStatus","isCurrentDenied","detail","isDenied","siblings","isCurrentApproved","jsGrantDenialTypeOther","ids","FileId","SourceId","documentElement","removeProp","fileName","d","files","UpdateCheckboxes","approveBox","denyBox","isChecked","approveCount","denyCount","confirmString","jsAreYouSure","jsApprove","jsAnd","jsDeny","approvedList","approvalObject","PaymentTransactionId","OperatorId","reason","denialObject","strUrl","hostname","pathname","protocol","host","app","currentLanguage","encodeURIComponent","getJSON","hasNew","count","isNumericInput","isModifierKey","enforceFormat","formatToPhone","target","input","zip","middle","last","not","jsCanChangePrimary","EnrolCheckBox","closest","noChecked","noCheckBoxes","chkdStatus","jsIsPrimaryOperator","me","HandleRoleSelectionOnClicks","Waitlist_UpdateFrequency","allSelected","jsSchoolAgeCd","multiple","dropdownAutoWidth","theme","selectionCssClass","jsDefaultAgeCd","placement","container","fundingLevelId","hideTrainedOnly","jsApprovedStatusCd","isConditional","jsTrueString","SetIsUntrained","jsInternalReviewId","jsClarifyStatusCd","jsDeniedStatusCd","CommentRequired","jsCurrentUserId","jsLabelTakeOverReview","newNote","jsId","noteHtml","authorName","createdDate","jsAppId","timeout","jsEmployeeId","doesUserExist","jsNoEmail","isTrigger","onbeforeunload","UpdateNoEmailAddressInfo","SetDisplayhasExistingWEAccount","SetDisplayIamUserExists","SetDisplayIamUserExistsHide","isDisabled","UpdateUserInfo","DisplaySections","firstName","lastName","hasExistingWEAccount","hasExistingWEAccountbool","IamUserExistsbool","jsHasExistingWEAccount","jsIamUserExists","InitializeForm","jsIsNew","jsEmailAddress","modelStateIsValid","includes","jsHourlyWageInvalid","optionCount","firstOption","jsOtherCd","jsFundingLevelId","jsEntryLevelCd","jsUntrainedReliefStaffCd","jsEducatorRoleTypeCd","jsAllLicenseSelected","jsInactiveWorkStatus","jsMinDateString","round","formattedValue","toLocaleString","useGrouping","Number","methods","number","numFormatString","formatter2","calcInput","isfor","max","funding","calcRow","rowid","row","school","non","nonsch","hours","thours","preObj","schObj","nonObj","nonschObj","subtotal","hoursObj","jsAdminPercent","ishome","sum","tmax","isOver","setSelectionRange","WSPPaymentId","jsWSPPaymentDenialTypeOther","print","top","alert","endsWith","this_len","token","ajaxSetup","RequestVerificationToken","get","debug","$this","slideToggle","mouseenter","mouseleave","fn","defaults","set","clickEvent","origin","hrefPrefix","focus","hash","btn","btnHtml","EmailAddress","Email","Name","Comments","PhoneNumber","__RequestVerificationToken","xhr","result","msgs","popover","content","gtag","event_category","event_label","closeBsInfo","global","templates","getTemplate","t","Handlebars","compile","innerHTML","str","evt","off","baseHrefPart","IsLeftStreetType","st","userHasRole","db","tmp","user","setUserRole","hasRole","b64EncodeUnicode","btoa","p1","fromCharCode","b64DecodeUnicode","decodeURIComponent","Array","map","call","atob","c","charCodeAt","slice","parseMVCDate","strDate","toHtmlDate","path","info","msg","large","one","highlight","removeHightlight","clearHightlight","validPhoneNumber","num","validEmail","getCharFromEvent","iCol","ch","keyboardCharMap","keyboardNameMap","loadFrameOKCAllback","closeFrame","loadFramVars","loadFrame","showClose","onOk","cancel","ok","onCancel","icon","closeOnly","onFrameModalSave","loadFrameAfterSave","closeFrameAfterSave","keyboard","adjustFrameModalHeight","contentWindow","innerHeight","getElementsByTagName","is_gecko","userAgent","is_ie","start","end","range","createTextRange","collapse","moveStart","moveEnd","select","getSelectionStart","selectionStart","selection","createRange","compareEndPoints","getBookmark","getSelectionEnd","selectionEnd","inputKey","ev","doSelect","prev"],"mappings":"AAKA,IAAAA,WACAC,WACAC,WCIA,SAAAC,GACA,aAEA,IA8EAC,EAAA,IAAAC,OAAA,OA9EA,CACA,gEACA,kBACA,SACA,OACA,WACA,kBACA,cACA,UACA,aACA,aACA,UACA,OACA,aACA,cACA,UACA,SACA,sBACA,UACA,YACA,SACA,YACA,cACA,YACA,aACA,WACA,cACA,WACA,cACA,QACA,gBACA,SACA,UACA,eACA,YACA,UACA,YACA,SACA,YACA,kBACA,WACA,QACA,QACA,cACA,qBACA,UACA,SACA,UACA,aACA,UACA,gBACA,OACA,YACA,OACA,WACA,cACA,UACA,YACA,cACA,cACA,YACA,kBACA,UACA,kBACA,QACA,aACA,UACA,aACA,WACA,YACA,SACA,WACA,UACA,YACA,QACA,YACA,iBAEAC,KAAA,KAAA,QAEAC,EAAA,WAktBA,OAjtBAC,KAAAC,QAAA,SACAD,KAAAE,UAAA,CACAC,KAAA,uCACAC,QAAA,oCACAC,GAAA,2DACAC,OAAA,mCACAC,SAAA,2BACAC,OAAA,0BACAC,MAAA,6CACAC,IAAA,uBACAC,IAAA,wBACAC,MAAA,wBACAC,UAAA,4BACAC,QAAA,2BACAC,MAAA,wBACAC,SAAA,2BACAC,MAAA,4BACAC,UAAA,4BACAC,UAAA,4BACAC,GAAA,0BACAC,SAAA,qBACAC,OAAA,6BAEAtB,KAAAuB,UAAA,CACApB,KAAA,oBACAS,MAAA,SACAY,UAAA,aACAR,SAAA,YACAH,UAAA,aACAE,MAAA,SACAD,QAAA,WACAP,SAAA,YACAD,OAAA,gBACAE,OAAA,UACAH,GAAA,gBACAI,MAAA,eACAgB,IAAA,iBACAC,IAAA,wBACAtB,QAAA,iBACAa,MAAA,aACAC,UAAA,aACAC,UAAA,aACAC,GAAA,aACAC,SAAA,WAEArB,KAAA2B,IAAA,CACAC,UAAA,oBACAC,UAAA,mBACAC,SAAA,mBACAC,SAAA,mBACAC,eAAA,qBACAC,aAAA,mBACAC,YAAA,mBACAC,UAAA,mBACAC,YAAA,mBACAC,eAAA,sBACAC,eAAA,sBACAC,WAAA,gBACAC,QAAA,sBAC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","file":"site.min.js","sourcesContent":["\r\nif ($(\"#_EducatorQualifications\").length > 0) {\r\n \r\n console.log('_EducatorQualifications detected');\r\n\r\n var EducatorId;\r\n var TrainingId;\r\n var ReturnURL;\r\n\r\n $(document).on('click', '.btnEducatorQualificationDel', function (e) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n\r\n var self = $(this);\r\n\r\n //Set the employee, wsp application and training ids\r\n EducatorId = self.data('educatorid');\r\n TrainingId = self.data('trainingid');\r\n ReturnURL = self.data('returnurl');\r\n \r\n //Display the Delete Model window \r\n $(\"#educatorQualificationDeleteModal\").modal();\r\n });\r\n\r\n //btnQualificationDeleteYes\r\n //Respond to the button delete file click event \r\n $(document).on('click', '#btnQualificationDeleteYes', function (e) {\r\n var url = '';\r\n var self = $(this);\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/educator/home/DeleteEducatorQualification/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/educator/home/DeleteEducatorQualification/';\r\n }\r\n\r\n $.ajax({\r\n url: url + '?EducatorId=' + EducatorId + '&TrainingId=' + TrainingId ,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n url = url.replace('DeleteEducatorQualification', 'GetEducatorQualificationListPartial') + '?id=' + EducatorId + '&ReturnURL=' + ReturnURL;\r\n $(\"#_EducatorQualifications\").load(url, function () {\r\n $(\"#educatorQualificationModal\").modal();\r\n\r\n //Upload the file list if the file upload form is displayed\r\n if ($(\"#_fileUpload\").length > 0) {\r\n if (typeof refreshFileList === \"function\") {\r\n refreshFileList();\r\n };\r\n };\r\n });\r\n },\r\n error: function () {\r\n url = url.replace('DeleteEducatorQualification', 'GetEducatorQualificationListPartial') + '?id=' + EducatorId + '&ReturnURL=' + ReturnURL;\r\n $(\"#_EducatorQualifications\").load(url, function () {\r\n $(\"#educatorQualificationModal\").modal();\r\n\r\n //Upload the file list if the file upload form is displayed\r\n if ($(\"#_fileUpload\").length > 0) {\r\n if (typeof refreshFileList === \"function\") {\r\n refreshFileList();\r\n };\r\n };\r\n });\r\n }\r\n });\r\n });\r\n}","/**\r\n * /*!\r\n * express-useragent.js v1.0.12 (https://github.com/biggora/express-useragent/)\r\n * Copyright 2011-2018 Alexey Gordeyev\r\n * Licensed under MIT (https://github.com/biggora/express-useragent/blob/master/README.md#license)\r\n *\r\n * @format\r\n */\r\n\r\n\r\n\r\n(function(exports) {\r\n \"use strict\";\r\n\r\n var BOTS = [\r\n \"\\\\+https:\\\\/\\\\/developers.google.com\\\\/\\\\+\\\\/web\\\\/snippet\\\\/\",\r\n \"ad\\\\smonitoring\",\r\n \"adsbot\",\r\n \"apex\",\r\n \"applebot\",\r\n \"archive.org_bot\",\r\n \"baiduspider\",\r\n \"bingbot\",\r\n \"cloudflare\",\r\n \"cloudinary\",\r\n \"crawler\",\r\n \"curl\",\r\n \"discordbot\",\r\n \"duckduckbot\",\r\n \"embedly\",\r\n \"exabot\",\r\n \"facebookexternalhit\",\r\n \"facebot\",\r\n \"flipboard\",\r\n \"google\",\r\n \"googlebot\",\r\n \"gsa-crawler\",\r\n \"gurujibot\",\r\n \"guzzlehttp\",\r\n \"heritrix\",\r\n \"ia_archiver\",\r\n \"insights\",\r\n \"linkedinbot\",\r\n \"ltx71\",\r\n \"mediapartners\",\r\n \"msnbot\",\r\n \"odklbot\",\r\n \"phantom\\\\.js\",\r\n \"phantomjs\",\r\n \"pingdom\",\r\n \"pinterest\",\r\n \"python\",\r\n \"rtlnieuws\",\r\n \"skypeuripreview\",\r\n \"slackbot\",\r\n \"slurp\",\r\n \"spbot\",\r\n \"telegrambot\",\r\n \"test\\\\scertificate\",\r\n \"testing\",\r\n \"tiabot\",\r\n \"tumblr \",\r\n \"twitterbot\",\r\n \"vkshare\",\r\n \"web\\\\sscraper\",\r\n \"wget\",\r\n \"yandexbot\",\r\n \"apex\",\r\n \"applebot\",\r\n \"duckduckbot\",\r\n \"facebot\",\r\n \"flipboard\",\r\n \"gsa-crawler\",\r\n \"ia_archiver\",\r\n \"pinterest\",\r\n \"skypeuripreview\",\r\n \"odklbot\",\r\n \"archive.org_bot\",\r\n \"ltx71\",\r\n \"guzzlehttp\",\r\n \"vkshare\",\r\n \"discordbot\",\r\n \"whatsapp\",\r\n \"orangebot\",\r\n \"smtbot\",\r\n \"qwantify\",\r\n \"mj12bot\",\r\n \"ahrefsbot\",\r\n \"ltx71\",\r\n \"seznambot\",\r\n \"panscient.com\"\r\n ];\r\n var IS_BOT_REGEXP = new RegExp(\"^.*(\" + BOTS.join(\"|\") + \").*$\");\r\n\r\n var UserAgent = function() {\r\n this.version = \"1.0.12\";\r\n this._Versions = {\r\n Edge: /(?:edge|edga|edgios)\\/([\\d\\w\\.\\-]+)/i,\r\n Firefox: /(?:firefox|fxios)\\/([\\d\\w\\.\\-]+)/i,\r\n IE: /msie\\s([\\d\\.]+[\\d])|trident\\/\\d+\\.\\d+;.*[rv:]+(\\d+\\.\\d)/i,\r\n Chrome: /(?:chrome|crios)\\/([\\d\\w\\.\\-]+)/i,\r\n Chromium: /chromium\\/([\\d\\w\\.\\-]+)/i,\r\n Safari: /version\\/([\\d\\w\\.\\-]+)/i,\r\n Opera: /version\\/([\\d\\w\\.\\-]+)|OPR\\/([\\d\\w\\.\\-]+)/i,\r\n Ps3: /([\\d\\w\\.\\-]+)\\)\\s*$/i,\r\n Psp: /([\\d\\w\\.\\-]+)\\)?\\s*$/i,\r\n Amaya: /amaya\\/([\\d\\w\\.\\-]+)/i,\r\n SeaMonkey: /seamonkey\\/([\\d\\w\\.\\-]+)/i,\r\n OmniWeb: /omniweb\\/v([\\d\\w\\.\\-]+)/i,\r\n Flock: /flock\\/([\\d\\w\\.\\-]+)/i,\r\n Epiphany: /epiphany\\/([\\d\\w\\.\\-]+)/i,\r\n WinJs: /msapphost\\/([\\d\\w\\.\\-]+)/i,\r\n PhantomJS: /phantomjs\\/([\\d\\w\\.\\-]+)/i,\r\n AlamoFire: /alamofire\\/([\\d\\w\\.\\-]+)/i,\r\n UC: /ucbrowser\\/([\\d\\w\\.]+)/i,\r\n Facebook: /FBAV\\/([\\d\\w\\.]+)/i,\r\n WebKit: /applewebkit\\/([\\d\\w\\.]+)/i\r\n };\r\n this._Browsers = {\r\n Edge: /edge|edga|edgios/i,\r\n Amaya: /amaya/i,\r\n Konqueror: /konqueror/i,\r\n Epiphany: /epiphany/i,\r\n SeaMonkey: /seamonkey/i,\r\n Flock: /flock/i,\r\n OmniWeb: /omniweb/i,\r\n Chromium: /chromium/i,\r\n Chrome: /chrome|crios/i,\r\n Safari: /safari/i,\r\n IE: /msie|trident/i,\r\n Opera: /opera|OPR\\//i,\r\n PS3: /playstation 3/i,\r\n PSP: /playstation portable/i,\r\n Firefox: /firefox|fxios/i,\r\n WinJs: /msapphost/i,\r\n PhantomJS: /phantomjs/i,\r\n AlamoFire: /alamofire/i,\r\n UC: /UCBrowser/i,\r\n Facebook: /FBA[NV]/\r\n };\r\n this._OS = {\r\n Windows10: /windows nt 10\\.0/i,\r\n Windows81: /windows nt 6\\.3/i,\r\n Windows8: /windows nt 6\\.2/i,\r\n Windows7: /windows nt 6\\.1/i,\r\n UnknownWindows: /windows nt 6\\.\\d+/i,\r\n WindowsVista: /windows nt 6\\.0/i,\r\n Windows2003: /windows nt 5\\.2/i,\r\n WindowsXP: /windows nt 5\\.1/i,\r\n Windows2000: /windows nt 5\\.0/i,\r\n WindowsPhone81: /windows phone 8\\.1/i,\r\n WindowsPhone80: /windows phone 8\\.0/i,\r\n OSXCheetah: /os x 10[._]0/i,\r\n OSXPuma: /os x 10[._]1(\\D|$)/i,\r\n OSXJaguar: /os x 10[._]2/i,\r\n OSXPanther: /os x 10[._]3/i,\r\n OSXTiger: /os x 10[._]4/i,\r\n OSXLeopard: /os x 10[._]5/i,\r\n OSXSnowLeopard: /os x 10[._]6/i,\r\n OSXLion: /os x 10[._]7/i,\r\n OSXMountainLion: /os x 10[._]8/i,\r\n OSXMavericks: /os x 10[._]9/i,\r\n OSXYosemite: /os x 10[._]10/i,\r\n OSXElCapitan: /os x 10[._]11/i,\r\n MacOSSierra: /os x 10[._]12/i,\r\n MacOSHighSierra: /os x 10[._]13/i,\r\n MacOSMojave: /os x 10[._]14/i,\r\n Mac: /os x/i,\r\n Linux: /linux/i,\r\n Linux64: /linux x86\\_64/i,\r\n ChromeOS: /cros/i,\r\n Wii: /wii/i,\r\n PS3: /playstation 3/i,\r\n PSP: /playstation portable/i,\r\n iPad: /\\(iPad.*os (\\d+)[._](\\d+)/i,\r\n iPhone: /\\(iPhone.*os (\\d+)[._](\\d+)/i,\r\n iOS: /ios/i,\r\n Bada: /Bada\\/(\\d+)\\.(\\d+)/i,\r\n Curl: /curl\\/(\\d+)\\.(\\d+)\\.(\\d+)/i,\r\n Electron: /Electron\\/(\\d+)\\.(\\d+)\\.(\\d+)/i\r\n };\r\n this._Platform = {\r\n Windows: /windows nt/i,\r\n WindowsPhone: /windows phone/i,\r\n Mac: /macintosh/i,\r\n Linux: /linux/i,\r\n Wii: /wii/i,\r\n Playstation: /playstation/i,\r\n iPad: /ipad/i,\r\n iPod: /ipod/i,\r\n iPhone: /iphone/i,\r\n Android: /android/i,\r\n Blackberry: /blackberry/i,\r\n Samsung: /samsung/i,\r\n Curl: /curl/i,\r\n Electron: /Electron/i,\r\n iOS: /^ios\\-/i\r\n };\r\n\r\n this.DefaultAgent = {\r\n isAuthoritative: true,\r\n isMobile: false,\r\n isTablet: false,\r\n isiPad: false,\r\n isiPod: false,\r\n isiPhone: false,\r\n isAndroid: false,\r\n isBlackberry: false,\r\n isOpera: false,\r\n isIE: false,\r\n isEdge: false,\r\n isIECompatibilityMode: false,\r\n isSafari: false,\r\n isFirefox: false,\r\n isWebkit: false,\r\n isChrome: false,\r\n isKonqueror: false,\r\n isOmniWeb: false,\r\n isSeaMonkey: false,\r\n isFlock: false,\r\n isAmaya: false,\r\n isPhantomJS: false,\r\n isEpiphany: false,\r\n isDesktop: false,\r\n isWindows: false,\r\n isLinux: false,\r\n isLinux64: false,\r\n isMac: false,\r\n isChromeOS: false,\r\n isBada: false,\r\n isSamsung: false,\r\n isRaspberry: false,\r\n isBot: false,\r\n isCurl: false,\r\n isAndroidTablet: false,\r\n isWinJs: false,\r\n isKindleFire: false,\r\n isSilk: false,\r\n isCaptive: false,\r\n isSmartTV: false,\r\n isUC: false,\r\n isFacebook: false,\r\n isAlamoFire: false,\r\n isElectron: false,\r\n silkAccelerated: false,\r\n browser: \"unknown\",\r\n version: \"unknown\",\r\n os: \"unknown\",\r\n platform: \"unknown\",\r\n geoIp: {},\r\n source: \"\"\r\n };\r\n\r\n this.Agent = {};\r\n\r\n this.getBrowser = function(string) {\r\n switch (true) {\r\n case this._Browsers.AlamoFire.test(string):\r\n this.Agent.isAlamoFire = true;\r\n return \"AlamoFire\";\r\n case this._Browsers.Edge.test(string):\r\n this.Agent.isEdge = true;\r\n return \"Edge\";\r\n case this._Browsers.PhantomJS.test(string):\r\n this.Agent.isPhantomJS = true;\r\n return \"PhantomJS\";\r\n case this._Browsers.Konqueror.test(string):\r\n this.Agent.isKonqueror = true;\r\n return \"Konqueror\";\r\n case this._Browsers.Amaya.test(string):\r\n this.Agent.isAmaya = true;\r\n return \"Amaya\";\r\n case this._Browsers.Epiphany.test(string):\r\n this.Agent.isEpiphany = true;\r\n return \"Epiphany\";\r\n case this._Browsers.SeaMonkey.test(string):\r\n this.Agent.isSeaMonkey = true;\r\n return \"SeaMonkey\";\r\n case this._Browsers.Flock.test(string):\r\n this.Agent.isFlock = true;\r\n return \"Flock\";\r\n case this._Browsers.OmniWeb.test(string):\r\n this.Agent.isOmniWeb = true;\r\n return \"OmniWeb\";\r\n case this._Browsers.Opera.test(string):\r\n this.Agent.isOpera = true;\r\n return \"Opera\";\r\n case this._Browsers.Chromium.test(string):\r\n this.Agent.isChrome = true;\r\n return \"Chromium\";\r\n case this._Browsers.Facebook.test(string):\r\n this.Agent.isFacebook = true;\r\n return \"Facebook\";\r\n case this._Browsers.Chrome.test(string):\r\n this.Agent.isChrome = true;\r\n return \"Chrome\";\r\n case this._Browsers.WinJs.test(string):\r\n this.Agent.isWinJs = true;\r\n return \"WinJs\";\r\n case this._Browsers.IE.test(string):\r\n this.Agent.isIE = true;\r\n return \"IE\";\r\n case this._Browsers.Firefox.test(string):\r\n this.Agent.isFirefox = true;\r\n return \"Firefox\";\r\n case this._Browsers.Safari.test(string):\r\n this.Agent.isSafari = true;\r\n return \"Safari\";\r\n case this._Browsers.PS3.test(string):\r\n return \"ps3\";\r\n case this._Browsers.PSP.test(string):\r\n return \"psp\";\r\n case this._Browsers.UC.test(string):\r\n this.Agent.isUC = true;\r\n return \"UCBrowser\";\r\n default:\r\n // If the UA does not start with Mozilla guess the user agent.\r\n if (\r\n string.indexOf(\"Mozilla\") !== 0 &&\r\n /^([\\d\\w\\-\\.]+)\\/[\\d\\w\\.\\-]+/i.test(string)\r\n ) {\r\n this.Agent.isAuthoritative = false;\r\n return RegExp.$1;\r\n }\r\n return \"unknown\";\r\n }\r\n };\r\n\r\n this.getBrowserVersion = function(string) {\r\n var regex;\r\n switch (this.Agent.browser) {\r\n case \"Edge\":\r\n if (this._Versions.Edge.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"PhantomJS\":\r\n if (this._Versions.PhantomJS.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Chrome\":\r\n if (this._Versions.Chrome.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Chromium\":\r\n if (this._Versions.Chromium.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Safari\":\r\n if (this._Versions.Safari.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Opera\":\r\n if (this._Versions.Opera.test(string)) {\r\n return RegExp.$1 ? RegExp.$1 : RegExp.$2;\r\n }\r\n break;\r\n case \"Firefox\":\r\n if (this._Versions.Firefox.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"WinJs\":\r\n if (this._Versions.WinJs.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"IE\":\r\n if (this._Versions.IE.test(string)) {\r\n return RegExp.$2 ? RegExp.$2 : RegExp.$1;\r\n }\r\n break;\r\n case \"ps3\":\r\n if (this._Versions.Ps3.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"psp\":\r\n if (this._Versions.Psp.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Amaya\":\r\n if (this._Versions.Amaya.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Epiphany\":\r\n if (this._Versions.Epiphany.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"SeaMonkey\":\r\n if (this._Versions.SeaMonkey.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Flock\":\r\n if (this._Versions.Flock.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"OmniWeb\":\r\n if (this._Versions.OmniWeb.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"UCBrowser\":\r\n if (this._Versions.UC.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n case \"Facebook\":\r\n if (this._Versions.Facebook.test(string)) {\r\n return RegExp.$1;\r\n }\r\n break;\r\n default:\r\n if (this.Agent.browser !== \"unknown\") {\r\n regex = new RegExp(this.Agent.browser + \"[\\\\/ ]([\\\\d\\\\w\\\\.\\\\-]+)\", \"i\");\r\n if (regex.test(string)) {\r\n return RegExp.$1;\r\n }\r\n } else {\r\n this.testWebkit();\r\n if (this.Agent.isWebkit && this._Versions.WebKit.test(string)) {\r\n return RegExp.$1;\r\n }\r\n return \"unknown\";\r\n }\r\n }\r\n };\r\n\r\n this.getOS = function(string) {\r\n switch (true) {\r\n case this._OS.WindowsVista.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows Vista\";\r\n case this._OS.Windows7.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 7\";\r\n case this._OS.Windows8.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 8\";\r\n case this._OS.Windows81.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 8.1\";\r\n case this._OS.Windows10.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 10.0\";\r\n case this._OS.Windows2003.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 2003\";\r\n case this._OS.WindowsXP.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows XP\";\r\n case this._OS.Windows2000.test(string):\r\n this.Agent.isWindows = true;\r\n return \"Windows 2000\";\r\n case this._OS.WindowsPhone81.test(string):\r\n this.Agent.isWindowsPhone = true;\r\n return \"Windows Phone 8.1\";\r\n case this._OS.WindowsPhone80.test(string):\r\n this.Agent.isWindowsPhone = true;\r\n return \"Windows Phone 8.0\";\r\n case this._OS.Linux64.test(string):\r\n this.Agent.isLinux = true;\r\n this.Agent.isLinux64 = true;\r\n return \"Linux 64\";\r\n case this._OS.Linux.test(string):\r\n this.Agent.isLinux = true;\r\n return \"Linux\";\r\n case this._OS.ChromeOS.test(string):\r\n this.Agent.isChromeOS = true;\r\n return \"Chrome OS\";\r\n case this._OS.Wii.test(string):\r\n return \"Wii\";\r\n case this._OS.PS3.test(string):\r\n return \"Playstation\";\r\n case this._OS.PSP.test(string):\r\n return \"Playstation\";\r\n case this._OS.OSXCheetah.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Cheetah\";\r\n case this._OS.OSXPuma.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Puma\";\r\n case this._OS.OSXJaguar.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Jaguar\";\r\n case this._OS.OSXPanther.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Panther\";\r\n case this._OS.OSXTiger.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Tiger\";\r\n case this._OS.OSXLeopard.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Leopard\";\r\n case this._OS.OSXSnowLeopard.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Snow Leopard\";\r\n case this._OS.OSXLion.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Lion\";\r\n case this._OS.OSXMountainLion.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Mountain Lion\";\r\n case this._OS.OSXMavericks.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Mavericks\";\r\n case this._OS.OSXYosemite.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X Yosemite\";\r\n case this._OS.OSXElCapitan.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X El Capitan\";\r\n case this._OS.MacOSSierra.test(string):\r\n this.Agent.isMac = true;\r\n return \"macOS Sierra\";\r\n case this._OS.MacOSHighSierra.test(string):\r\n this.Agent.isMac = true;\r\n return \"macOS High Sierra\";\r\n case this._OS.MacOSMojave.test(string):\r\n this.Agent.isMac = true;\r\n return \"macOS Mojave\";\r\n case this._OS.Mac.test(string):\r\n this.Agent.isMac = true;\r\n return \"OS X\";\r\n case this._OS.iPad.test(string):\r\n this.Agent.isiPad = true;\r\n return string.match(this._OS.iPad)[0].replace(\"_\", \".\");\r\n case this._OS.iPhone.test(string):\r\n this.Agent.isiPhone = true;\r\n return string.match(this._OS.iPhone)[0].replace(\"_\", \".\");\r\n case this._OS.Bada.test(string):\r\n this.Agent.isBada = true;\r\n return \"Bada\";\r\n case this._OS.Curl.test(string):\r\n this.Agent.isCurl = true;\r\n return \"Curl\";\r\n case this._OS.iOS.test(string):\r\n this.Agent.isiPhone = true;\r\n return \"iOS\";\r\n case this._OS.Electron.test(string):\r\n this.Agent.isElectron = true;\r\n return \"Electron\";\r\n default:\r\n return \"unknown\";\r\n }\r\n };\r\n\r\n this.getPlatform = function(string) {\r\n switch (true) {\r\n case this._Platform.Windows.test(string):\r\n return \"Microsoft Windows\";\r\n case this._Platform.WindowsPhone.test(string):\r\n this.Agent.isWindowsPhone = true;\r\n return \"Microsoft Windows Phone\";\r\n case this._Platform.Mac.test(string):\r\n return \"Apple Mac\";\r\n case this._Platform.Curl.test(string):\r\n return \"Curl\";\r\n case this._Platform.Electron.test(string):\r\n this.Agent.isElectron = true;\r\n return \"Electron\";\r\n case this._Platform.Android.test(string):\r\n this.Agent.isAndroid = true;\r\n return \"Android\";\r\n case this._Platform.Blackberry.test(string):\r\n this.Agent.isBlackberry = true;\r\n return \"Blackberry\";\r\n case this._Platform.Linux.test(string):\r\n return \"Linux\";\r\n case this._Platform.Wii.test(string):\r\n return \"Wii\";\r\n case this._Platform.Playstation.test(string):\r\n return \"Playstation\";\r\n case this._Platform.iPad.test(string):\r\n this.Agent.isiPad = true;\r\n return \"iPad\";\r\n case this._Platform.iPod.test(string):\r\n this.Agent.isiPod = true;\r\n return \"iPod\";\r\n case this._Platform.iPhone.test(string):\r\n this.Agent.isiPhone = true;\r\n return \"iPhone\";\r\n case this._Platform.Samsung.test(string):\r\n this.Agent.isiSamsung = true;\r\n return \"Samsung\";\r\n case this._Platform.iOS.test(string):\r\n return \"Apple iOS\";\r\n default:\r\n return \"unknown\";\r\n }\r\n };\r\n\r\n this.testCompatibilityMode = function() {\r\n var ua = this;\r\n if (this.Agent.isIE) {\r\n if (/Trident\\/(\\d)\\.0/i.test(ua.Agent.source)) {\r\n var tridentVersion = parseInt(RegExp.$1, 10);\r\n var version = parseInt(ua.Agent.version, 10);\r\n if (version === 7 && tridentVersion === 7) {\r\n ua.Agent.isIECompatibilityMode = true;\r\n ua.Agent.version = 11.0;\r\n }\r\n\r\n if (version === 7 && tridentVersion === 6) {\r\n ua.Agent.isIECompatibilityMode = true;\r\n ua.Agent.version = 10.0;\r\n }\r\n\r\n if (version === 7 && tridentVersion === 5) {\r\n ua.Agent.isIECompatibilityMode = true;\r\n ua.Agent.version = 9.0;\r\n }\r\n\r\n if (version === 7 && tridentVersion === 4) {\r\n ua.Agent.isIECompatibilityMode = true;\r\n ua.Agent.version = 8.0;\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.testSilk = function() {\r\n var ua = this;\r\n switch (true) {\r\n case new RegExp(\"silk\", \"gi\").test(ua.Agent.source):\r\n this.Agent.isSilk = true;\r\n break;\r\n default:\r\n }\r\n\r\n if (/Silk-Accelerated=true/gi.test(ua.Agent.source)) {\r\n this.Agent.SilkAccelerated = true;\r\n }\r\n return this.Agent.isSilk ? \"Silk\" : false;\r\n };\r\n\r\n this.testKindleFire = function() {\r\n var ua = this;\r\n switch (true) {\r\n case /KFOT/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire\";\r\n case /KFTT/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HD\";\r\n case /KFJWI/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HD 8.9\";\r\n case /KFJWA/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HD 8.9 4G\";\r\n case /KFSOWI/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HD 7\";\r\n case /KFTHWI/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HDX 7\";\r\n case /KFTHWA/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HDX 7 4G\";\r\n case /KFAPWI/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HDX 8.9\";\r\n case /KFAPWA/gi.test(ua.Agent.source):\r\n this.Agent.isKindleFire = true;\r\n return \"Kindle Fire HDX 8.9 4G\";\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n this.testCaptiveNetwork = function() {\r\n var ua = this;\r\n switch (true) {\r\n case /CaptiveNetwork/gi.test(ua.Agent.source):\r\n ua.Agent.isCaptive = true;\r\n ua.Agent.isMac = true;\r\n ua.Agent.platform = \"Apple Mac\";\r\n return \"CaptiveNetwork\";\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n this.reset = function reset() {\r\n var ua = this;\r\n for (var key in ua.DefaultAgent) {\r\n ua.Agent[key] = ua.DefaultAgent[key];\r\n }\r\n return ua;\r\n };\r\n\r\n this.testMobile = function testMobile() {\r\n var ua = this;\r\n switch (true) {\r\n case ua.Agent.isWindows:\r\n case ua.Agent.isLinux:\r\n case ua.Agent.isMac:\r\n case ua.Agent.isChromeOS:\r\n ua.Agent.isDesktop = true;\r\n break;\r\n case ua.Agent.isAndroid:\r\n case ua.Agent.isSamsung:\r\n ua.Agent.isMobile = true;\r\n break;\r\n default:\r\n }\r\n switch (true) {\r\n case ua.Agent.isiPad:\r\n case ua.Agent.isiPod:\r\n case ua.Agent.isiPhone:\r\n case ua.Agent.isBada:\r\n case ua.Agent.isBlackberry:\r\n case ua.Agent.isAndroid:\r\n case ua.Agent.isWindowsPhone:\r\n ua.Agent.isMobile = true;\r\n ua.Agent.isDesktop = false;\r\n break;\r\n default:\r\n }\r\n if (/mobile|^ios\\-/i.test(ua.Agent.source)) {\r\n ua.Agent.isMobile = true;\r\n ua.Agent.isDesktop = false;\r\n }\r\n };\r\n\r\n this.testTablet = function testTablet() {\r\n var ua = this;\r\n switch (true) {\r\n case ua.Agent.isiPad:\r\n case ua.Agent.isAndroidTablet:\r\n case ua.Agent.isKindleFire:\r\n ua.Agent.isTablet = true;\r\n break;\r\n }\r\n if (/tablet/i.test(ua.Agent.source)) {\r\n ua.Agent.isTablet = true;\r\n }\r\n };\r\n\r\n this.testNginxGeoIP = function testNginxGeoIP(headers) {\r\n var ua = this;\r\n Object.keys(headers).forEach(function(key) {\r\n if (/^GEOIP/i.test(key)) {\r\n ua.Agent.geoIp[key] = headers[key];\r\n }\r\n });\r\n };\r\n\r\n this.testBot = function testBot() {\r\n var ua = this;\r\n var isBot = IS_BOT_REGEXP.exec(ua.Agent.source.toLowerCase());\r\n if (isBot) {\r\n ua.Agent.isBot = isBot[1];\r\n } else if (!ua.Agent.isAuthoritative) {\r\n // Test unauthoritative parse for `bot` in UA to flag for bot\r\n ua.Agent.isBot = /bot/i.test(ua.Agent.source);\r\n }\r\n };\r\n\r\n this.testSmartTV = function testBot() {\r\n var ua = this;\r\n var isSmartTV = new RegExp(\r\n \"smart-tv|smarttv|googletv|appletv|hbbtv|pov_tv|netcast.tv\",\r\n \"gi\"\r\n ).exec(ua.Agent.source.toLowerCase());\r\n if (isSmartTV) {\r\n ua.Agent.isSmartTV = isSmartTV[1];\r\n }\r\n };\r\n\r\n this.testAndroidTablet = function testAndroidTablet() {\r\n var ua = this;\r\n if (ua.Agent.isAndroid && !/mobile/i.test(ua.Agent.source)) {\r\n ua.Agent.isAndroidTablet = true;\r\n }\r\n };\r\n\r\n this.testWebkit = function testWebkit() {\r\n var ua = this;\r\n if (ua.Agent.browser === \"unknown\" && /applewebkit/i.test(ua.Agent.source)) {\r\n ua.Agent.browser = \"Apple WebKit\";\r\n ua.Agent.isWebkit = true;\r\n }\r\n };\r\n\r\n this.parse = function parse(source) {\r\n var ua = new UserAgent();\r\n ua.Agent.source = source.replace(/^\\s*/, \"\").replace(/\\s*$/, \"\");\r\n ua.Agent.os = ua.getOS(ua.Agent.source);\r\n ua.Agent.platform = ua.getPlatform(ua.Agent.source);\r\n ua.Agent.browser = ua.getBrowser(ua.Agent.source);\r\n ua.Agent.version = ua.getBrowserVersion(ua.Agent.source);\r\n ua.testBot();\r\n ua.testSmartTV();\r\n ua.testMobile();\r\n ua.testAndroidTablet();\r\n ua.testTablet();\r\n ua.testCompatibilityMode();\r\n ua.testSilk();\r\n ua.testKindleFire();\r\n ua.testCaptiveNetwork();\r\n ua.testWebkit();\r\n return ua.Agent;\r\n };\r\n\r\n this.Agent = this.DefaultAgent;\r\n return this;\r\n };\r\n\r\n exports.UserAgent = UserAgent;\r\n return new UserAgent();\r\n})(this);\r\n","/**/\r\nwindow.directions = {\r\n \"fr\": [\r\n { \"id\": \"EST\", \"text\": \"EST\" },\r\n { \"id\": \"NORD\", \"text\": \"NORD\" },\r\n { \"id\": \"NORD-EST\", \"text\": \"NORD-EST\" },\r\n { \"id\": \"NORD-OUEST\", \"text\": \"NORD-OUEST\" },\r\n { \"id\": \"SUD\", \"text\": \"SUD\" },\r\n { \"id\": \"SUD-EST\", \"text\": \"SUD-EST\" },\r\n { \"id\": \"SUD-OUEST\", \"text\": \"SUD-OUEST\" },\r\n { \"id\": \"OUEST\", \"text\": \"OUEST\" },\r\n ],\r\n \"en\": [\r\n { \"id\": \"EAST\", \"text\": \"EAST\" },\r\n { \"id\": \"NORTH\", \"text\": \"NORTH\" },\r\n { \"id\": \"NORTHEAST\", \"text\": \"NORTHEAST\" },\r\n { \"id\": \"NW\", \"text\": \"NORTHWEST\" },\r\n { \"id\": \"NORTHWEST\", \"text\": \"SOUTH\" },\r\n { \"id\": \"SOUTHEAST\", \"text\": \"SOUTHEAST\" },\r\n { \"id\": \"SOUTHWEST\", \"text\": \"SOUTHWEST\" },\r\n { \"id\": \"WEST\", \"text\": \"WEST\" },\r\n ]\r\n};\r\n\r\n; window.Address = function (nspace,selectheight) {\r\n var profile = {};\r\n var ns = nspace;\r\n\r\n var selectht = selectheight ?? \"300px\";\r\n\r\n\r\n\r\n // Get text from the selected city\r\n profile.getSelectedCityText = function () {\r\n let sel = $(\".\" + ns + \" .municipality\").select2('data');\r\n //console.log(sel);\r\n if (sel == undefined) {\r\n return;\r\n }\r\n let text = \"undefined\";\r\n if (sel.length > 0) {\r\n text = sel[0].text;\r\n }\r\n\r\n return text;\r\n } // getSelectedCityText\r\n\r\n\r\n\r\n // setup address tab\r\n profile.setupAddress = function () {\r\n // if validation errors visible, scroll to top\r\n if ($(\"div.alert-danger:visible\").length > 0) {\r\n window.setTimeout(function () { window.scrollTo(0, 0) }, 1);\r\n }\r\n profile.setupMunicipality();\r\n profile.setupDirection();\r\n\r\n $(\".\" + ns + \" .unittype\").select2({\r\n selectOnClose: true,\r\n allowClear: false,\r\n tags: false,\r\n width: selectht,\r\n minimumResultsForSearch: 10\r\n });\r\n\r\n $(\".\" + ns + \" .streetname\").select2({\r\n language: { noResults: function () { return lang == \"fr\" ? \"Aucun résultat trouvé\" : \"No results found\" } },\r\n ajax: {\r\n url: prefixlang + '/address/getstreets',\r\n data: function (params) {\r\n return {\r\n term: params.term,\r\n city: $(\".\" + ns + \" .municipality\").val()\r\n }\r\n },\r\n dataType: 'json',\r\n delay: 250\r\n },\r\n width: selectht,\r\n tags: false,\r\n selectOnClose: true,\r\n allowClear: true,\r\n placeholder: lang == 'fr' ? 'Recherche' : 'Search'\r\n });\r\n\r\n //$(\".\" + ns + \" .streetname\").on('select2:focus', function (evt) {\r\n // $(this).select2('open');\r\n //});\r\n } // setupAddress\r\n\r\n profile.setupMunicipality = function () {\r\n $(\".\" + ns + \" .municipality\").select2({\r\n language: { noResults: function () { return lang == \"fr\" ? \"Aucun résultat trouvé\" : \"No results found\" } },\r\n ajax: {\r\n url: prefixlang + '/address/getcities',\r\n dataType: 'json',\r\n delay: 250\r\n },\r\n width: selectht,\r\n tags: false,\r\n selectOnClose: true, \r\n allowClear: true,\r\n placeholder: lang == 'fr' ? 'Recherche' : 'Search'\r\n });\r\n //$(\".\" + ns + \" .municipality\").on('select2:focus', function (evt) {\r\n // $(this).select2('open');\r\n //});\r\n } // setupMunicipality\r\n\r\n\r\n\r\n\r\n profile.setupDirection = function () {\r\n var el = \".\" + ns + \" .streetdirection\";\r\n //debugger;\r\n var isValueSaved = $(el).val();\r\n if (isValueSaved) {\r\n $(el).find('option').remove();\r\n }\r\n\r\n // setup direction\r\n $(el).select2({\r\n selectOnClose: true,\r\n allowClear: false,\r\n data: window.directions[lang],\r\n tags: false,\r\n width: selectht,\r\n minimumResultsForSearch: 10\r\n });\r\n\r\n if (isValueSaved) {\r\n $(el).prepend('');\r\n $(el).val(isValueSaved).trigger('change');\r\n }\r\n else {\r\n $(el).prepend('');\r\n $(el).val(\"\").trigger('change');\r\n }\r\n }\r\n\r\n\r\n // init the profile page\r\n profile.init = function () {\r\n profile.setupAddress();\r\n }\r\n return profile;\r\n}; // end Address\r\n\r\n\r\n\r\n\r\n\r\n","$(function () {\r\n if ($(\"#adjustments-form\").length > 0) {\r\n\r\n $(':radio').each(function () {\r\n $(this).removeAttr('checked');\r\n $('input[type=\"radio\"]').prop('checked', false);\r\n })\r\n\r\n function calcTotals() {\r\n var amount = parseFloat(parseFloat($('#AmountText').val().toString().replace(\",\", \".\")).toFixed(2));\r\n\r\n if (amount > 10000000) {\r\n amount = 10000000;\r\n }\r\n\r\n if (isNaN(amount)) {\r\n // if no input, just show zero\r\n $('#TotalText').val(pre + '0.00'.replace('.', decimalValue) + post);\r\n } else {\r\n $('#AmountText').val(('' + amount).replace('.', decimalValue));\r\n var admin = parseFloat($('#AdminPercent').val().toString().replace(\",\", \".\"));\r\n\r\n var total = parseFloat(amount + (amount * admin)).toFixed(2).replace('.', decimalValue);\r\n var adminAmount = parseFloat((amount * admin)).toFixed(2).replace('.', decimalValue);\r\n\r\n if ($(\"input[name='NegativePositive']:checked\").val() == 0) {\r\n // is negative\r\n $('#TotalText').val(pre + '(' + total + ')' + post);\r\n\r\n $('.confirm-amount').html(pre + '(' + amount.toFixed(2).replace('.', decimalValue) + ')' + post);\r\n $('.confirm-admin').html(pre + '(' + adminAmount + ')' + post);\r\n $('.confirm-total').html(pre + '(' + total + ')' + post);\r\n } else {\r\n // is positive\r\n $('#TotalText').val(pre + total + post);\r\n\r\n $('.confirm-amount').html(pre + amount.toFixed(2).replace('.', decimalValue) + post);\r\n $('.confirm-admin').html(pre + adminAmount + post);\r\n $('.confirm-total').html(pre + total + post);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n $(\"#ProgramTypeCd\").on('change', function () {\r\n window.location = $(\"#adjustments-form\").attr('action') + '?pt=' + $(\"#ProgramTypeCd\").val();\r\n });\r\n\r\n if (pt != 1) {\r\n $(\"#AdminPercent\").val(0);\r\n $(\".aa\").addClass(\"d-none\");\r\n } else {\r\n $(\"#AdminPercent\").val(0.14);\r\n $(\".aa\").removeClass(\"d-none\");\r\n }\r\n\r\n $(\"#AmountText\").on('blur', function () {\r\n calcTotals();\r\n });\r\n\r\n $(\"#AdminPercent\").on('change blur', function () {\r\n calcTotals();\r\n });\r\n\r\n\r\n $(\"input[name='NegativePositive']\").on('change blur focus', function () {\r\n if ($('#Positive').is(':checked')) {\r\n $(\"input[name='NegativePositive']:checked\").val(1);\r\n }\r\n\r\n if ($(\"input[name='NegativePositive']:checked\").val() == 1) {\r\n $(\"#AdjustmentApplyToTypeCd option[value='2']\").prop('disabled', false);\r\n if ($(\"#AdjustmentApplyToTypeCd\").val() == 2) {\r\n $(\"#AdjustmentApplyToTypeCd\").val(1);\r\n }\r\n } else {\r\n $(\"#AdjustmentApplyToTypeCd option[value='2']\").prop('disabled', true);\r\n }\r\n calcTotals();\r\n });\r\n\r\n $(\"input[name='NegativePositive']\").change();\r\n\r\n $(\".btnSubmit\").on('click', function () {\r\n $(\"#confirmModal\").modal('hide');\r\n $(\"#adjustments-form\")[0].submit();\r\n });\r\n\r\n $(\".btnCancelSubmit\").on('click', function () {\r\n $(\"#cancelModal\").modal('hide');\r\n $(\"#form2\")[0].submit();\r\n });\r\n\r\n $(\"input.number\").on(\"keydown\", function (e) {\r\n // allow function keys and decimal separators\r\n if (\r\n // backspace, delete, tab, escape, enter, comma and .\r\n $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 188, 190]) !== -1 ||\r\n // Ctrl/cmd+A, Ctrl/cmd+C, Ctrl/cmd+X\r\n ($.inArray(e.keyCode, [65, 67, 88]) !== -1 && (e.ctrlKey === true || e.metaKey === true)) ||\r\n // home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n\r\n /*\r\n // optional: replace commas with dots in real-time (for en-US locals)\r\n if (e.keyCode === 188) {\r\n e.preventDefault();\r\n $(this).val($(this).val() + \".\");\r\n }\r\n\r\n // optional: replace decimal points (num pad) and dots with commas in real-time (for EU locals)\r\n if (e.keyCode === 110 || e.keyCode === 190) {\r\n e.preventDefault();\r\n $(this).val($(this).val() + \",\");\r\n }\r\n */\r\n\r\n return;\r\n }\r\n // block any non-number\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n $(\".btnShowConfirm\").on('click', function () {\r\n if ($(\"#adjustments-form\").valid()) {\r\n $(\"#confirmModal\").modal('show');\r\n }\r\n });\r\n\r\n\r\n $(\".btnShowCancel\").on('click', function () {\r\n if ($(\"#form2\").valid()) {\r\n $(\".confirm-reason\").html($(\"#CancelVM_AdjustmentCancelReasonTypeCd option:selected\").text());\r\n $(\"#cancelModal\").modal('show');\r\n }\r\n });\r\n\r\n\r\n $(\"#AdminPercent\").rules(\"remove\", \"number\");\r\n $(\"#TotalText\").rules(\"remove\", \"number\");\r\n $(\"#AmountText\").rules(\"remove\", \"number\");\r\n\r\n calcTotals();\r\n\r\n\r\n }\r\n});","$(function () {\r\n if ($('#OverviewForm').length > 0) {\r\n\r\n $(document).ready(function () {\r\n var id = jsViewOption;\r\n\r\n if (id == \"1\") {\r\n $(\".searchtxt\").removeClass('d-none');\r\n $(\".firstnametxt\").addClass('d-none'); \r\n $(\".lastnametxt\").addClass('d-none');\r\n $(\".emailtxt\").addClass('d-none');\r\n $(\".searchchildtxt\").addClass('d-none');\r\n $(\".searchparenttxt\").addClass('d-none');\r\n }\r\n\r\n if (id == \"2\") {\r\n $(\".searchtxt\").addClass('d-none');\r\n $(\".searchchildtxt\").addClass('d-none');\r\n $(\".searchparenttxt\").addClass('d-none');\r\n $(\".firstnametxt\").removeClass('d-none');\r\n $(\".lastnametxt\").removeClass('d-none');\r\n $(\".emailtxt\").removeClass('d-none');\r\n }\r\n });\r\n\r\n $(document).keypress(\r\n function (event) {\r\n if (event.which == '13') {\r\n $('.btnSearch').trigger('click');\r\n }\r\n });\r\n\r\n $(\".radOperator\").on('click', function () {\r\n $(\".searchtxt\").removeClass('d-none');\r\n $(\".firstnametxt\").addClass('d-none');\r\n $(\".lastnametxt\").addClass('d-none');\r\n $(\".emailtxt\").addClass('d-none');\r\n $(\".searchchildtxt\").addClass('d-none');\r\n $(\".searchparenttxt\").addClass('d-none');\r\n //$(\".btnSave\").removeClass('d-none');\r\n //$(\".btnSearch\").addClass('d-none');\r\n $(\".searcherror\").addClass('d-none');\r\n\r\n });\r\n\r\n $(\".radEducator\").on('click', function () {\r\n $(\".searchtxt\").addClass('d-none');\r\n $(\".searchchildtxt\").addClass('d-none');\r\n $(\".searchparenttxt\").addClass('d-none');\r\n $(\".firstnametxt\").removeClass('d-none');\r\n $(\".lastnametxt\").removeClass('d-none');\r\n $(\".emailtxt\").removeClass('d-none');\r\n //$(\".btnSave\").removeClass('d-none');\r\n //$(\".btnSearch\").addClass('d-none');\r\n $(\".searcherror\").addClass('d-none');\r\n\r\n });\r\n\r\n $(\".radChild\").on('click', function () {\r\n $(\".searchchildtxt\").removeClass('d-none');\r\n $(\".searchparenttxt\").addClass('d-none');\r\n $(\".firstnametxt\").addClass('d-none');\r\n $(\".lastnametxt\").addClass('d-none');\r\n $(\".emailtxt\").addClass('d-none');\r\n $(\".searchtxt\").addClass('d-none');\r\n //$(\".btnSave\").addClass('d-none');\r\n //$(\".btnSearch\").removeClass('d-none');\r\n $(\".searcherror\").addClass('d-none');\r\n $(\".searchvalue\").val(\"\");\r\n\r\n });\r\n\r\n $(\".radParent\").on('click', function () {\r\n $(\".searchparenttxt\").removeClass('d-none');\r\n $(\".searchchildtxt\").addClass('d-none');\r\n $(\".firstnametxt\").addClass('d-none');\r\n $(\".lastnametxt\").addClass('d-none');\r\n $(\".emailtxt\").addClass('d-none');\r\n $(\".searchtxt\").addClass('d-none');\r\n //$(\".btnSave\").addClass('d-none');\r\n //$(\".btnSearch\").removeClass('d-none');\r\n $(\".searcherror\").addClass('d-none');\r\n $(\".searchparentvalue\").val(\"\");\r\n\r\n });\r\n\r\n $(\".btnSearch\").on('click', function () {\r\n\r\n var id = $('input[type=\"radio\"]:checked').val();\r\n var txt = $(\".searchvalue\").val();\r\n var parentxt = $(\".searchparentvalue\").val();\r\n var lang = jslang;\r\n var txtopertaor = $(\".operatorsearchvalue\").val();\r\n var txtfirstname = $(\".firstname\").val();\r\n var txtlastname = $(\".lastname\").val();\r\n var txtemail = $(\".emailvalue\").val();\r\n var baseURLop = jsbaseURLop;\r\n\r\n var baseURLpp = jsbaseURLapp;\r\n\r\n if (id == jsOptionThree) {\r\n if (txt != \"\") {\r\n\r\n var searchString = txt;\r\n searchString = searchString.replace('%20', '+');\r\n\r\n var printURL = baseURLpp + '/' + lang + '/Admin/StudentSearch/?searchString=' + searchString;\r\n\r\n if (printURL != '') {\r\n window.open(printURL, \"_blank\");\r\n }\r\n }\r\n else {\r\n $(\".searcherror\").removeClass('d-none');\r\n }\r\n }\r\n\r\n if (id == jsOptionFour) {\r\n if (parentxt != \"\") {\r\n var searchString = parentxt;\r\n searchString = searchString.replace('%20', '+');\r\n\r\n\r\n var printURL = baseURLpp + '/' + lang + '/Admin/User/?searchString=' + searchString;\r\n\r\n if (printURL != '') {\r\n window.open(printURL, \"_blank\");\r\n } }\r\n else {\r\n $(\".searcherror\").removeClass('d-none');\r\n }\r\n }\r\n\r\n if (id == jsOptionOne) {\r\n if (txtopertaor != \"\") {\r\n\r\n var searchString = txtopertaor;\r\n\r\n var printURL = baseURLop + '/' + lang + '/Admin/Home/Index/?searchString=' + searchString + '&showInactive=false';\r\n\r\n location.href = printURL\r\n }\r\n else {\r\n $(\".searcherror\").removeClass('d-none');\r\n }\r\n }\r\n\r\n if (id == jsOptionTwo) {\r\n var firstname = txtfirstname;\r\n var lastname = txtlastname\r\n\r\n\r\n var printURL = baseURLop + '/' + lang + '/Admin/Employee/Index/?FirstNameSearch=' + txtfirstname + '&LastNameSearch=' + txtlastname + '&EmailSearch=' + txtemail;\r\n\r\n location.href = printURL\r\n }\r\n\r\n });\r\n\r\n\r\n\r\n //$(\".btnSave\").on('click', function () {\r\n\r\n // var id = $('input[type=\"radio\"]:checked').val();\r\n\r\n\r\n // var lang = jslang;\r\n\r\n\r\n\r\n //});\r\n\r\n $(\"#btnEdixt\").on('click', function () {\r\n\r\n var lang = jslang;\r\n\r\n var baseURLpp = jsbaseURLapp;\r\n\r\n var printURL = baseURLpp + '/' + lang + '/Admin/Dashboard/';\r\n\r\n\r\n if (printURL != '') {\r\n window.open(printURL, \"_blank\");\r\n }\r\n });\r\n\r\n\r\n $(\"#btnFeedback\").on('click', function () {;\r\n\r\n var baseURLpp = jsFeedbackURL;\r\n\r\n var printURL = baseURLpp;\r\n\r\n\r\n if (printURL != '') {\r\n window.open(printURL, \"_blank\");\r\n }\r\n });\r\n\r\n\r\n }\r\n}); ","$(function () {\r\n if ($('#UserMaintenanceSearch').length > 0) {\r\n\r\n $(\"#UserMaintenanceSearch\").on(\"click\", function () {\r\n $(\"#divUMSaved\").addClass(\"d-none\");\r\n $(\"#divUMSpinner\").removeClass(\"d-none\");\r\n\r\n var email = $(\"#UserMaintenanceEmail\").val();\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/admin/support/UserMaintenanceSearch/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/admin/support/UserMaintenanceSearch/';\r\n }\r\n\r\n $(\"#divUMSaved\").addClass(\"d-none\");\r\n\r\n $.ajax({\r\n url: url + \"?email=\" + email,\r\n method: 'GET',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n $(\"#divUMSpinner\").addClass(\"d-none\");\r\n setUpList(res);\r\n }\r\n });\r\n });\r\n\r\n $(\"#UserMaintenanceSave\").on(\"click\", function () {\r\n $(\"#divUMSaved\").addClass(\"d-none\");\r\n $(\"#divUMSpinner\").removeClass(\"d-none\");\r\n\r\n var selectedRoles = \"\";\r\n\r\n $(\"input.chk-role:checked\").each(function () {\r\n selectedRoles += $(this).data(\"id\") + \",\";\r\n });\r\n\r\n if (selectedRoles.length > 0) {\r\n selectedRoles = selectedRoles.substring(0, selectedRoles.length - 1);\r\n }\r\n\r\n var objectId = $(\"#UserMaintenanceObjectId\").val();\r\n \r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/admin/support/UserMaintenanceUpdate/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/admin/support/UserMaintenanceUpdate/';\r\n }\r\n\r\n \r\n $.ajax({\r\n url: url + '?id=' + objectId + '&rolesStr=' + selectedRoles,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n $(\"#divUMSpinner\").addClass(\"d-none\");\r\n if (res != null) {\r\n $(\"#divUMSaved\").removeClass(\"d-none\");\r\n setUpList(res);\r\n }\r\n }\r\n });\r\n });\r\n\r\n function setUpList(res) {\r\n // Start by unchecking all the checkboxes\r\n $(\"input.chk-role\").each(function () {\r\n $(this).prop(\"checked\", false);\r\n });\r\n\r\n if (res !== null && res !== undefined && res.objectId > 0) {\r\n for (var i = 0; i < res.roles.length; i++){\r\n var role = res.roles[i];\r\n var check = $(\"input.chk-role[data-id='\" + role + \"'\").first();\r\n\r\n if (check != undefined) {\r\n check.prop(\"checked\", true);\r\n }\r\n }\r\n\r\n $(\"#divUMNotFound\").addClass(\"d-none\");\r\n $(\"#divUMSetRoles\").removeClass(\"d-none\");\r\n\r\n $(\"#UserMaintenanceUserId\").text(res.loginId)\r\n $(\"#UserMaintenanceObjectId\").val(res.objectId)\r\n } else {\r\n $(\"#divUMNotFound\").removeClass(\"d-none\");\r\n $(\"#divUMSetRoles\").addClass(\"d-none\");\r\n }\r\n }\r\n }\r\n}); ","$(function () {\r\n if ($('form#ChildcareSiteEditForm').length > 0) {\r\n $(\".lblStopPropagation\").on('click touchstart', function (e) { // click or touch on label\r\n e.stopPropagation();\r\n });\r\n\r\n //$(\".licensecheckbox\").on('change', function () {\r\n // HandleRoleSelectionOnClicks($(this));\r\n //});\r\n\r\n if (jsIsAllLicenseSelected) {\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n\r\n OperatorVisibility();\r\n\r\n $(\".btnContinue\").on('click', function () {\r\n $(\"form\").submit();\r\n });\r\n\r\n function OperatorVisibility() {\r\n if ($(\".home-based-facility:checked\").length > 0) {\r\n $(\".operator-role\").each(function () {\r\n $(this).show();\r\n });\r\n } else {\r\n $(\".operator-role\").each(function () {\r\n $(this).children(\"input\").prop(\"checked\", false);\r\n $(this).hide();\r\n });\r\n }\r\n }\r\n\r\n function HandleRoleSelectionOnClicks(self) {\r\n //number of checked checkboxes\r\n var noChecked = self.parent().parent().find('.custom-control-input:checked').length;\r\n\r\n //number of all checkboxes\r\n var noCheckBoxes = self.parent().parent().find('.custom-control-input').length;\r\n\r\n //check all option is now selected\r\n if (self.siblings(\".custom-control-inputvalue\").val() == \"0\") {\r\n var chkdStatus = self.is(\":checked\");\r\n $('.licensecheckbox').prop('checked', chkdStatus);\r\n }\r\n else {\r\n\r\n var me = 0;\r\n if (self.is(\":checked\")) { me = 1; }\r\n\r\n if (noChecked == 0) {\r\n //all are not checked without using all option\r\n }\r\n else if (noChecked > 0 && noChecked == noCheckBoxes - me) {\r\n //all are checked without using all option\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n else if ($(\".chk-0\").length == 0 && noChecked == 1 && noChecked == 1) {\r\n //only one item so all option doesn't exist\r\n }\r\n else if (noChecked > 0 && noChecked != noCheckBoxes - me) {\r\n //one or more licence checked but bnot all of them-for sure without using all option\r\n $(\".chk-0\").prop('checked', false);\r\n }\r\n }\r\n\r\n OperatorVisibility();\r\n }\r\n\r\n }\r\n});","\r\n$(function () { /* query ready function */\r\n /* register custom validators */\r\n if ($.validator) {\r\n $.validator.addMethod(\"phonenumber\", function (value, element, params) {\r\n return this.optional(element) || /\\D*([2-9]\\d{2})(\\D*)([2-9]\\d{2})(\\D*)(\\d{4})\\D*/.test(value);\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add(\"phonenumber\", [\"phonenumber\"], function (options) {\r\n options.rules[\"phonenumber\"] = \"#\" + options.params.phonenumber;\r\n options.messages[\"phonenumber\"] = options.message;\r\n });\r\n\r\n $.validator.addMethod(\"validmedicare\", function (value, element, params) {\r\n value = \"\" + value; // ensure string\r\n\r\n if (value.trim() === \"\") {\r\n /***\r\n * So here's the thing. Users can proceed WITHOUT a medicare number, but not\r\n * actually apply for services. SOOOO we validate a number if enetered but\r\n * let them proceed if they don't enter one at all. See /Register/Child \r\n * js below and controller for more logic on that\r\n */\r\n return true;\r\n }\r\n\r\n // accept only digits, dashes or spaces\r\n if (/[^0-9-\\s]+/.test(value)) return false;\r\n\r\n // The Luhn Algorithm. It's so pretty.\r\n var nCheck = 0, nDigit = 0, bEven = false;\r\n value = value.replace(/\\D/g, \"\");\r\n\r\n for (var n = value.length - 1; n >= 0; n--) {\r\n var cDigit = value.charAt(n);\r\n nDigit = parseInt(cDigit, 10);\r\n\r\n if (bEven) {\r\n if ((nDigit *= 2) > 9) nDigit -= 9;\r\n }\r\n\r\n nCheck += nDigit;\r\n bEven = !bEven;\r\n }\r\n\r\n return nCheck % 10 === 0;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add(\"validmedicare\", [\"validmedicare\"], function (options) {\r\n options.rules[\"validmedicare\"] = \"#\" + options.params.validmedicare;\r\n options.messages[\"validmedicare\"] = options.message;\r\n });\r\n\r\n\r\n }\r\n\r\n /* end custom validators */\r\n\r\n\r\n});","$(function () {\r\n if ($('form#AvailabilityDashboardForm').length > 0) {\r\n\r\n\r\n function UpdateChartSize() {\r\n\r\n var ratio = screen.width > screen.height ? 2 : 1;\r\n\r\n var chartCanvases = $(\"canvas\");\r\n\r\n chartCanvases.each(function () {\r\n var id = $(this).attr(\"id\")\r\n\r\n var chart = Chart.getChart(id);\r\n\r\n if (chart) {\r\n var parent = $(this).parent();\r\n\r\n if (parent.width() > 0) {\r\n parent.height(parent.width() / ratio);\r\n }\r\n }\r\n });\r\n }\r\n\r\n $(window).resize(function () {\r\n UpdateChartSize();\r\n }).resize();\r\n\r\n $(window).on(\"orientationchange\", function () {\r\n UpdateChartSize();\r\n });\r\n\r\n var chartColours = ['#0069aa', '#ffcd00', '#808080', '#772432', '#000000']\r\n\r\n const trendsFooter = (tooltipItems) => {\r\n var formatter = new Intl.NumberFormat(jsLangCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n var txt;\r\n tooltipItems.forEach(function (tooltipItem) {\r\n txt = tooltipItem.label;\r\n });\r\n\r\n if (jsLangCode == 'fr-CA') {\r\n jsInfantEnrolment = jsInfantEnrolment.replace('.', ',');\r\n jsInfantAvailable = jsInfantAvailable.replace('.', ',');\r\n\r\n jsPreschoolEnrolment = jsPreschoolEnrolment.replace('.', ',');\r\n jsPreschoolAvailable = jsPreschoolAvailable.replace('.', ',');\r\n\r\n jsSchoolAgetEnrolment = jsSchoolAgetEnrolment.replace('.', ',');\r\n jsSchoolAgeAvailable = jsSchoolAgeAvailable.replace('.', ',');\r\n }\r\n \r\n\r\n if (txt == jsInfant) {\r\n //return [jsEnrolment + \": \" + jsInfantEnrolment, jsAvailable + \": \" + jsInfantAvailable];\r\n return [jsEnrolment + \": \" + jsInfantEnrolment];\r\n\r\n }\r\n if (txt == jsPreschool) {\r\n //return [jsEnrolment + \": \" + jsPreschoolEnrolment, jsAvailable + \": \" + jsPreschoolAvailable];\r\n return [jsEnrolment + \": \" + jsPreschoolEnrolment];\r\n }\r\n if (txt == jsSchoolAge) {\r\n //return [jsEnrolment + \": \" + jsSchoolAgetEnrolment, jsAvailable + \": \" + jsSchoolAgeAvailable];\r\n return [jsEnrolment + \": \" + jsSchoolAgetEnrolment];\r\n }\r\n };\r\n\r\n const trendsCanvas = document.getElementById('trendsChart');\r\n const trendsCanvasNotHme = document.getElementById('trendsChartNotHome');\r\n\r\n const bgPlugin = {\r\n id: 'customCanvasBackgroundColor',\r\n beforeDraw: (chart, args, options) => {\r\n const { ctx } = chart;\r\n ctx.save();\r\n ctx.globalCompositeOperation = 'destination-over';\r\n ctx.fillStyle = options.color || '#99ffff';\r\n ctx.fillRect(0, 0, chart.width, chart.height);\r\n ctx.restore();\r\n }\r\n };\r\n\r\n new Chart(trendsCanvas, {\r\n type: 'bar',\r\n data: {\r\n labels: [jsInfant, jsPreschool, jsSchoolAge],\r\n datasets: [\r\n {\r\n label: jsEnrolment,\r\n data: [jsInfantEnrolment, jsPreschoolEnrolment, jsSchoolAgetEnrolment],\r\n backgroundColor: chartColours[0]\r\n }\r\n //}, {\r\n // label: jsAvailable,\r\n // data: [jsInfantAvailable, jsPreschoolAvailable, jsSchoolAgeAvailable],\r\n // backgroundColor: chartColours[1]\r\n //}\r\n ]\r\n },\r\n options: {\r\n onresize: function (a, b) { console.log(a); console.log(b); },\r\n maintainAspectRatio: false,\r\n animation: false,\r\n locale: jsLangCode,\r\n plugins: {\r\n legend: { position: 'bottom' },\r\n title: {\r\n display: true,\r\n text: jsEnrolmentAvailability,\r\n color: \"#000000\",\r\n font: {\r\n size: 14\r\n }\r\n },\r\n subtitle: {\r\n display: true,\r\n text: jsSubtitleText\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: () => null,\r\n footer: trendsFooter\r\n },\r\n footerFont: {\r\n weight: \"normal\"\r\n }\r\n },\r\n customCanvasBackgroundColor: {\r\n color: 'white'\r\n }\r\n },\r\n responsive: true,\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n suggestedMax: jsSuggestedMax,\r\n ticks: {\r\n stepSize: 0.5\r\n }\r\n }\r\n }\r\n },\r\n plugins: [bgPlugin]\r\n });\r\n\r\n\r\n const trendsFooterNotHome = (tooltipItems) => {\r\n var formatter = new Intl.NumberFormat(jsLangCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n var txt;\r\n tooltipItems.forEach(function (tooltipItem) {\r\n txt = tooltipItem.label;\r\n });\r\n\r\n if (jsLangCode == 'fr-CA') {\r\n jsInfantEnrolment = jsInfantEnrolment.replace('.', ',');\r\n jsInfantAvailable = jsInfantAvailable.replace('.', ',');\r\n jsInfantRemainingSpaces = jsInfantRemainingSpaces.replace('.', ',');\r\n\r\n jsPreschoolEnrolment = jsPreschoolEnrolment.replace('.', ',');\r\n jsPreschoolAvailable = jsPreschoolAvailable.replace('.', ',');\r\n jsPreschoolRemainingSpaces = jsPreschoolRemainingSpaces.replace('.', ',');\r\n\r\n jsSchoolAgetEnrolment = jsSchoolAgetEnrolment.replace('.', ',');\r\n jsSchoolAgeAvailable = jsSchoolAgeAvailable.replace('.', ',');\r\n jsSchoolageRemainingSpaces = jsSchoolageRemainingSpaces.replace('.', ',');\r\n }\r\n\r\n\r\n if (txt == jsInfant) {\r\n return [jsEnrolment + \": \" + jsInfantEnrolment, jsAvailable + \": \" + jsInfantAvailable, jsRemaining + \": \" + jsInfantRemainingSpaces];\r\n\r\n }\r\n if (txt == jsPreschool) {\r\n return [jsEnrolment + \": \" + jsPreschoolEnrolment, jsAvailable + \": \" + jsPreschoolAvailable, jsRemaining + \": \" + jsPreschoolRemainingSpaces];\r\n }\r\n if (txt == jsSchoolAge) {\r\n return [jsEnrolment + \": \" + jsSchoolAgetEnrolment, jsAvailable + \": \" + jsSchoolAgeAvailable, jsRemaining + \": \" + jsSchoolageRemainingSpaces];\r\n }\r\n };\r\n\r\n //Canvas not home\r\n new Chart(trendsCanvasNotHme, {\r\n type: 'bar',\r\n data: {\r\n labels: [jsInfant, jsPreschool, jsSchoolAge],\r\n datasets: [\r\n {\r\n label: jsEnrolment,\r\n data: [jsInfantEnrolment, jsPreschoolEnrolment, jsSchoolAgetEnrolment],\r\n backgroundColor: chartColours[0]\r\n }, {\r\n label: jsAvailable,\r\n data: [jsInfantAvailable, jsPreschoolAvailable, jsSchoolAgeAvailable],\r\n backgroundColor: chartColours[1]\r\n }, {\r\n label: jsRemaining,\r\n data: [jsInfantRemainingSpaces, jsPreschoolRemainingSpaces, jsSchoolageRemainingSpaces],\r\n backgroundColor: chartColours[2]\r\n }\r\n ]\r\n },\r\n options: {\r\n onresize: function (a, b) { console.log(a); console.log(b); },\r\n maintainAspectRatio: false,\r\n animation: false,\r\n locale: jsLangCode,\r\n plugins: {\r\n legend: { position: 'bottom' },\r\n title: {\r\n display: true,\r\n text: jsEnrolmentAvailability,\r\n color: \"#000000\",\r\n font: {\r\n size: 14\r\n }\r\n },\r\n subtitle: {\r\n display: true,\r\n text: jsSubtitleText\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: () => null,\r\n footer: trendsFooterNotHome\r\n },\r\n footerFont: {\r\n weight: \"normal\"\r\n }\r\n },\r\n customCanvasBackgroundColor: {\r\n color: 'white'\r\n }\r\n },\r\n responsive: true,\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n suggestedMax: jsSuggestedMax,\r\n ticks: {\r\n stepSize: 0.5\r\n }\r\n }\r\n }\r\n },\r\n plugins: [bgPlugin]\r\n });\r\n\r\n $(\"#ExportChart\").click(function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n // find the canvas element currently shown\r\n var chartElement = $(\".chartavail\").find(\"canvas\").first();\r\n\r\n if (chartElement) {\r\n // if we find the element, we can use chart.js to get the chart object...\r\n var id = chartElement.attr(\"id\")\r\n\r\n var chart = Chart.getChart(id);\r\n\r\n var title = chart.options.plugins.title.text;\r\n var date = new Date().toISOString().substring(0, 10);\r\n\r\n // .. and export it to an image file.\r\n var a = document.createElement('a');\r\n a.href = chart.toBase64Image();\r\n a.download = title + \"_\" + date + \".png\";\r\n\r\n a.click();\r\n\r\n a.remove();\r\n }\r\n\r\n return false;\r\n });\r\n } // if ($('form#StatementSummaryForm').length > 0) {\r\n}); // $(function () {","$(function () {\r\n if ($('form#StatementSummaryForm').length > 0) {\r\n $('.datepicker').datetimepicker('options', {\r\n viewMode: 'months',\r\n format: \"YYYY-MM\",\r\n locale: jsLangCode,\r\n keepOpen: false,\r\n maxDate: new Date()\r\n });\r\n\r\n $(\".btn-detail\").click(function(){\r\n var id = $(this).attr(\"data-id\");\r\n\r\n // We need to hide any rows on the modal for other months\r\n // and only show the rows for the selected month\r\n $(\".detail-row\").each(function (){\r\n if($(this).attr(\"data-id\") == id) {\r\n $(this).removeClass(\"d-none\");\r\n } else {\r\n $(this).addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\"#detailModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n });\r\n\r\n function UpdateChartSize() {\r\n \r\n var ratio = screen.width > screen.height ? 2 : 1;\r\n\r\n var chartCanvases = $(\"canvas\");\r\n\r\n chartCanvases.each(function() {\r\n var id = $(this).attr(\"id\")\r\n\r\n var chart = Chart.getChart(id);\r\n\r\n if(chart) {\r\n var parent = $(this).parent();\r\n\r\n if (parent.width() > 0) {\r\n parent.height(parent.width() / ratio);\r\n }\r\n }\r\n });\r\n }\r\n\r\n $(window).resize(function() {\r\n UpdateChartSize();\r\n }).resize();\r\n\r\n $(window).on(\"orientationchange\", function () {\r\n UpdateChartSize();\r\n });\r\n\r\n var chartColours = ['#0069aa', '#c8102e', '#006055', '#9500FF', '#d6a329', '#000000', '#772432' ]\r\n\r\n const totalAmountsFooter = (tooltipItems) => {\r\n var formatter = new Intl.NumberFormat(jsLangCode,{ minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n\r\n var data = tooltipItems[0].dataset.data[tooltipItems[0].dataIndex];\r\n\r\n return jsWspLabel + ': ' + formatter.format(data.wspAmount) + '\\r\\n' +\r\n jsFsLabel + ': ' + formatter.format(data.fsAmount) + '\\r\\n' +\r\n jsOgLabel + ': ' + formatter.format(data.ogAmount) + '\\r\\n' +\r\n jsPsLabel + ': ' + formatter.format(data.psAmount) + '\\r\\n' +\r\n jsIsLabel + ': ' + formatter.format(data.isAmount) + '\\r\\n' +\r\n jsMpLabel + ': ' + formatter.format(data.mpAmount) + '\\r\\n' +\r\n jsTotalLabel + ': ' + formatter.format(data.totalAmount);\r\n };\r\n\r\n const totalAmountsCanvas = document.getElementById('totalAmountsChart');\r\n\r\n // Need to use a custom plugin to givethe charts a background color for export,\r\n // otherwise they're transparent'\r\n const bgPlugin = {\r\n id: 'customCanvasBackgroundColor',\r\n beforeDraw: (chart, args, options) => {\r\n const {ctx} = chart;\r\n ctx.save();\r\n ctx.globalCompositeOperation = 'destination-over';\r\n ctx.fillStyle = options.color || '#99ffff';\r\n ctx.fillRect(0, 0, chart.width, chart.height);\r\n ctx.restore();\r\n }\r\n };\r\n\r\n // Note: The 'totals' object comes from the C# page\r\n new Chart(totalAmountsCanvas, {\r\n type: 'bar',\r\n data: {\r\n datasets: [\r\n {\r\n data: totals,\r\n backgroundColor: chartColours[0],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'totalAmount'\r\n }\r\n }\r\n ]\r\n },\r\n options: {\r\n onresize: function (a, b) { console.log(a); console.log(b); },\r\n maintainAspectRatio: false,\r\n animation: false,\r\n locale: jsLangCode,\r\n plugins: {\r\n legend: { display: false },\r\n title: {\r\n display: true,\r\n text: jsTotalAmountsLabel,\r\n color: \"#000000\",\r\n font: {\r\n size: 14\r\n }\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: () => null,\r\n footer: totalAmountsFooter\r\n },\r\n footerFont: {\r\n weight: \"normal\"\r\n }\r\n },\r\n customCanvasBackgroundColor: {\r\n color: 'white'\r\n }\r\n },\r\n scales: {\r\n y: {\r\n beginAtZero: true\r\n }\r\n }\r\n },\r\n plugins: [bgPlugin]\r\n });\r\n\r\n const trendsLabel = (context) => {\r\n var formatter = new Intl.NumberFormat(jsLangCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n\r\n return context.dataset.label + ': ' + formatter.format(context.parsed.y)\r\n };\r\n\r\n const trendsCanvas = document.getElementById('trendsChart');\r\n\r\n new Chart(trendsCanvas, {\r\n type: 'line',\r\n data: {\r\n datasets: [\r\n {\r\n label: jsWspLabel,\r\n data: totals,\r\n backgroundColor: chartColours[0],\r\n borderColor: chartColours[0],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'wspAmount'\r\n }\r\n },\r\n {\r\n label: jsFsLabel,\r\n data: totals,\r\n backgroundColor: chartColours[1],\r\n borderColor: chartColours[1],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'fsAmount'\r\n }\r\n },\r\n {\r\n label: jsOgLabel,\r\n data: totals,\r\n backgroundColor: chartColours[2],\r\n borderColor: chartColours[2],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'ogAmount'\r\n }\r\n },\r\n {\r\n label: jsPsLabel,\r\n data: totals,\r\n backgroundColor: chartColours[3],\r\n borderColor: chartColours[3],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'psAmount'\r\n }\r\n },\r\n {\r\n label: jsIsLabel,\r\n data: totals,\r\n backgroundColor: chartColours[4],\r\n borderColor: chartColours[4],\r\n parsing: {\r\n xAxisKey: 'date',\r\n yAxisKey: 'isAmount'\r\n }\r\n }\r\n ]\r\n },\r\n options: {\r\n maintainAspectRatio: false,\r\n animation: false,\r\n locale: jsLangCode,\r\n elements: {\r\n point: {\r\n pointRadius: 5,\r\n pointHoverRadius: 6\r\n }\r\n },\r\n plugins: {\r\n title: {\r\n display: true,\r\n color: \"#000000\",\r\n text: jsTrendsLabel,\r\n font: {\r\n size: 14\r\n }\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: trendsLabel\r\n }\r\n },\r\n legend: {\r\n position: 'bottom'\r\n },\r\n customCanvasBackgroundColor: {\r\n color: 'white'\r\n }\r\n },\r\n scales: {\r\n y: {\r\n beginAtZero: true\r\n }\r\n }\r\n },\r\n plugins: [bgPlugin]\r\n });\r\n\r\n var wspTotal = 0;\r\n var fsTotal = 0;\r\n var ogTotal = 0;\r\n var psTotal = 0;\r\n var isTotal = 0;\r\n var mpTotal = 0;\r\n\r\n for(var i = 0; i < totals.length; i++){\r\n wspTotal += totals[i].wspAmount;\r\n fsTotal += totals[i].fsAmount;\r\n ogTotal += totals[i].ogAmount;\r\n psTotal += totals[i].psAmount;\r\n isTotal += totals[i].isAmount;\r\n mpTotal += totals[i].mpAmount;\r\n }\r\n\r\n var total = wspTotal + fsTotal + ogTotal + psTotal + isTotal + mpTotal;\r\n\r\n wspPercent = 0;\r\n fsPercent = 0;\r\n ogPercent = 0;\r\n psPercent = 0;\r\n isPercent = 0;\r\n mpPercent = 0;\r\n\r\n if (total > 0) {\r\n wspPercent = (wspTotal / (total)) * 100;\r\n fsPercent = (fsTotal / (total)) * 100;\r\n ogPercent = (ogTotal / (total)) * 100;\r\n psPercent = (psTotal / (total)) * 100;\r\n isPercent = (isTotal / (total)) * 100;\r\n mpPercent = (mpTotal / (total)) * 100;\r\n }\r\n\r\n const programPercentagesLabel = (context) => {\r\n var formatter = new Intl.NumberFormat(jsLangCode, { minimumFractionDigits: 2, maximumFractionDigits: 2 });\r\n\r\n return context.label + ': ' + formatter.format(context.raw) + \"%\"\r\n };\r\n\r\n const programPercentagesCanvas = document.getElementById('programPercentagesChart');\r\n\r\n new Chart(programPercentagesCanvas, {\r\n type: 'pie',\r\n data: {\r\n labels: [jsWspLabel,jsFsLabel, jsOgLabel, jsPsLabel,jsIsLabel, jsMpLabel],\r\n datasets: [\r\n {\r\n label: jsTotalLabel,\r\n data: [wspPercent, fsPercent, ogPercent, psPercent, isPercent, mpPercent],\r\n backgroundColor: chartColours,\r\n rotation: 180,\r\n borderColor: chartColours\r\n }\r\n ]\r\n },\r\n options: {\r\n //elements: {\r\n // arc: {\r\n // borderWidth: 0,\r\n // }\r\n //},\r\n maintainAspectRatio: false,\r\n animation: false,\r\n locale: jsLangCode,\r\n plugins: {\r\n title: {\r\n display: true,\r\n color: \"#000000\",\r\n text: jsProgramPercentagesLabel,\r\n font: {\r\n size: 14\r\n }\r\n },\r\n tooltip: {\r\n callbacks: {\r\n title: () => null,\r\n label: programPercentagesLabel\r\n }\r\n },\r\n legend: {\r\n position: 'bottom'\r\n },\r\n customCanvasBackgroundColor: {\r\n color: 'white'\r\n }\r\n }\r\n },\r\n plugins: [bgPlugin]\r\n });\r\n\r\n $(\"a.nav-link\").click(function () {\r\n var href = $(this).attr(\"href\");\r\n\r\n if($(href).find(\"canvas\").length > 0){\r\n $(\"#ExportTable\").addClass(\"d-none\");\r\n $(\"#ExportChart\").removeClass(\"d-none\");\r\n } else {\r\n $(\"#ExportTable\").removeClass(\"d-none\");\r\n $(\"#ExportChart\").addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\".nav-link\").on(\"shown.bs.tab\", function () { UpdateChartSize(); })\r\n\r\n $(\"#ExportChart\").click(function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n // find the canvas element currently shown\r\n var chartElement = $(\".tab-pane.show\").find(\"canvas\").first();\r\n\r\n if(chartElement) {\r\n // if we find the element, we can use chart.js to get the chart object...\r\n var id = chartElement.attr(\"id\")\r\n\r\n var chart = Chart.getChart(id);\r\n\r\n var title = chart.options.plugins.title.text;\r\n var date = new Date().toISOString().substring(0, 10);\r\n\r\n // .. and export it to an image file.\r\n var a = document.createElement('a');\r\n a.href = chart.toBase64Image();\r\n a.download = title + \"_\" + date + \".png\";\r\n\r\n a.click();\r\n\r\n a.remove();\r\n }\r\n\r\n return false;\r\n });\r\n } // if ($('form#StatementSummaryForm').length > 0) {\r\n}); // $(function () {","if ($(\".enroledchildform\").length > 0) {\r\n\r\n\r\n function IsSchoolAge(yes) {\r\n if (yes == true) {\r\n $(\".SchoolAgeCommentDivs\").removeAttr(\"hidden\");\r\n $(\".notschool\").attr(\"hidden\", \"hidden\");\r\n $(\".leftDiv\").addClass(\"col-4 col-md-4\")\r\n $(\".leftDiv\").removeClass(\"col-2 col-md-2\")\r\n $(\".rightDiv\").addClass(\"col-8 col-md-8\")\r\n $(\".rightDiv\").removeClass(\"col-10 col-md-10\")\r\n\r\n if (jsIsDesignated) {\r\n $(\".nobenefitsMsg\").removeClass(\"d-none\")\r\n\r\n if (jsHasParentSubsidy) {\r\n $(\".nobenefitsPS\").removeClass(\"d-none\")\r\n $(\".nobenefits\").addClass(\"d-none\")\r\n }\r\n else {\r\n $(\".nobenefits\").removeClass(\"d-none\")\r\n $(\".nobenefitsPS\").addClass(\"d-none\")\r\n }\r\n }\r\n\r\n\r\n\r\n //Determine is we should display the daily fee type div control\r\n SetDailyFeeTypeDiv();\r\n }\r\n else {\r\n $(\".SchoolAgeCommentDivs\").attr(\"hidden\", \"hidden\");\r\n $(\".notschool\").removeAttr(\"hidden\");\r\n $(\".leftDiv\").addClass(\"col-2 col-md-2\")\r\n $(\".leftDiv\").removeClass(\"col-4 col-md-4\")\r\n $(\".rightDiv\").addClass(\"col-10 col-md-10\")\r\n $(\".rightDiv\").removeClass(\"col-8 col-md-8\")\r\n\r\n $(\".nobenefitsMsg\").addClass(\"d-none\")\r\n $(\".nobenefits\").addClass(\"d-none\")\r\n $(\".nobenefitsPS\").addClass(\"d-none\")\r\n\r\n //Determine if we should show the checkbox or line for frequency\r\n HandleWeeklyFrequencyOptions();\r\n\r\n //Determine is we should display the daily fee type div control\r\n SetDailyFeeTypeDiv();\r\n\r\n //Determine if the fee url should be displayed\r\n var license = $('select#LicenseNumber').val();\r\n\r\n if (license != '') {\r\n $('.btnfeediv').removeAttr(\"hidden\");\r\n }\r\n else {\r\n $('.btnfeediv').attr(\"hidden\", \"hidden\");\r\n }\r\n }\r\n }\r\n\r\n function HandleWeeklyFrequencyOptions() {\r\n HandleFrequencyOptions('monday');\r\n HandleFrequencyOptions('tuesday');\r\n HandleFrequencyOptions('wednesday');\r\n HandleFrequencyOptions('thursday');\r\n HandleFrequencyOptions('friday');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n $(document).ready(function () {\r\n $('[data-toggle=\"tooltip\"]').tooltip();\r\n\r\n //Add this class to the daily fee type control\r\n //so we can nide if when the page first loads\r\n //$(\"#DailyFeeTypeCd\").each(function () {\r\n // $(this).addClass(\"togglecontrol\");\r\n //});\r\n\r\n ShowHideInactiveRelatedGroups();\r\n\r\n var StatusValue = $('select#StatusEnrollmentCd').val();\r\n HandleInactiveStatus(true);\r\n\r\n if ($(\"#EffectiveDate\").val() === \"0001-01-01\") {\r\n $(\"#EffectiveDate\").val(\"\");\r\n }\r\n\r\n //Hide the edit button on edit for an inactive enrolment\r\n if (StatusEnrollmentCd == inactiveStatus || $(\"#StatusEnrollmentCd option:selected\").val() == inactiveStatus) {\r\n\r\n if (!isAdmin) { // allow admins to edit anyway\r\n $(\".editcontrol\").attr(\"hidden\", \"hidden\");\r\n }\r\n \r\n $('select#LicenseNumber').attr(\"disabled\", \"disabled\");\r\n $('.rad').attr(\"disabled\", \"disabled\");\r\n $('.tick').attr(\"disabled\", \"disabled\");\r\n $('#chkSelectAll').attr(\"disabled\", \"disabled\");\r\n $('#ExistingRegistration').attr(\"disabled\", \"disabled\");\r\n $(\".inactivewarning\").removeClass('d-none');\r\n }\r\n\r\n SetEditOnlyMode();\r\n if (pageReload) { \r\n //Enable/disable the effective date\r\n if (cannotModifyEffectiveDate) {\r\n $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n } else {\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n\r\n //if (EffectiveDate <= now) {\r\n // $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n //}\r\n //else {\r\n // $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n //}\r\n\r\n\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() == inactiveStatus) {\r\n $(\".inactivediv\").attr(\"hidden\", \"hidden\");\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n\r\n } else {\r\n //SetReadOnlyMode();\r\n //if (EffectiveDate <= now) {\r\n // $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n //}\r\n //else {\r\n // $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n //}\r\n\r\n\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() == inactiveStatus) {\r\n $(\".inactivediv\").attr(\"hidden\", \"hidden\");\r\n //$(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n }\r\n\r\n //Determine the enrolment fees\r\n SetEnrolmentFees(enrolmentFees);\r\n\r\n //Determine the frequency options to set\r\n var ageGroupCategoryId = $(\"input[name='AgeGroupCd']:checked\").val();\r\n var isSchoolAge = ageGroupCategoryId == $(\"#SchoolAgeCategoryId\").val();\r\n\r\n if (isSchoolAge) {\r\n IsSchoolAge(true);\r\n $('.selectalldiv').attr(\"hidden\", \"hidden\");\r\n }\r\n else {\r\n IsSchoolAge(false);\r\n }\r\n\r\n //toggle school age controls\r\n SetDailyFees(ageGroupCategoryId);\r\n\r\n var isPending = $(\"#IsLicensePending\").val() == \"True\";\r\n\r\n if (isPending) {\r\n $(\"#ChngType-1\").prop(\"disabled\", true);\r\n $(\"#ChngType-2\").prop(\"checked\", true);\r\n\r\n $('.ChangeTypeRB').trigger(\"change\");\r\n }\r\n });\r\n\r\n\r\n function SetDailyFeeTypeDiv() {\r\n var childAttendsDailyRV = $(\"input[name='AttendanceTypeCd']:checked\").val();\r\n var ageGroupCategoryId = $(\"input[name='AgeGroupCd']:checked\").val();\r\n var isSchoolAge = ageGroupCategoryId == $(\"#SchoolAgeCategoryId\").val();\r\n var dailyFeeTypeRV = $(\"input[name='DailyFeeTypeCd']:checked\").val();\r\n\r\n $(\".selectalldiv\").show();\r\n\r\n //Attends daily and not school age\r\n if (childAttendsDailyRV === '1' && !isSchoolAge) {\r\n $(\".dailyfeetypediv\").removeAttr(\"hidden\");\r\n $(\"#DropinInfoDiv\").attr(\"hidden\", \"hidden\");\r\n\r\n if (typeof dailyFeeTypeRV !== 'undefined') {\r\n $('.basechildfeediv').removeAttr(\"hidden\");\r\n }\r\n\r\n //Hide the attendance On old warning message\r\n $(\"#AttendanceTypeOnHoldMessage\").attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n //Attends daily and is school age\r\n if (childAttendsDailyRV === '1' && isSchoolAge) {\r\n $(\".dailyfeetypediv\").attr(\"hidden\", \"hidden\");\r\n $(\".basechildfeediv\").removeAttr(\"hidden\");\r\n $(\"#DropinInfoDiv\").attr(\"hidden\", \"hidden\");\r\n\r\n $(\".selectalldiv\").hide();\r\n\r\n //Hide the attendance On old warning message\r\n $(\"#AttendanceTypeOnHoldMessage\").attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n if (typeof childAttendsDailyRV === 'undefined') {\r\n //Hide the fees screen\r\n $(\".dailyfeetypediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //Hide the frequency screen\r\n $(\".basechildfeediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //DropinInfoDiv\r\n $(\"#DropinInfoDiv\").attr(\"hidden\", \"hidden\");\r\n\r\n //Hide the attendance On old warning message\r\n $(\"#AttendanceTypeOnHoldMessage\").attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n //Drop-in \r\n if (childAttendsDailyRV === '2') {\r\n //Hide the fees screen\r\n $(\".dailyfeetypediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //Hide the frequency screen\r\n $(\".basechildfeediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //DropinInfoDiv\r\n $(\"#DropinInfoDiv\").removeAttr(\"hidden\");\r\n\r\n //Unselect all the frequency grid\r\n $('.tick').each(function (index, obj) {\r\n this.checked = false;\r\n });\r\n\r\n //Unselect the select all checkbox\r\n document.getElementById(\"chkSelectAll\").checked = false;\r\n\r\n //Hide the attendance On old warning message\r\n $(\"#AttendanceTypeOnHoldMessage\").attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n //On hold\r\n if (childAttendsDailyRV === '3') {\r\n //Hide the fees screen\r\n $(\".dailyfeetypediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //Hide the frequency screen\r\n $(\".basechildfeediv\").attr(\"hidden\", \"hidden\");\r\n\r\n //DropinInfoDiv\r\n $(\"#DropinInfoDiv\").attr(\"hidden\", \"hidden\");\r\n\r\n //Unselect all the frequency grid\r\n $('.tick').each(function (index, obj) {\r\n this.checked = false;\r\n });\r\n\r\n //Unselect the select all checkbox\r\n document.getElementById(\"chkSelectAll\").checked = false;\r\n\r\n //Show the attendance On old warning message\r\n $(\"#AttendanceTypeOnHoldMessage\").removeAttr(\"hidden\");\r\n }\r\n\r\n ////If daily fee type is not selected then hide the frequency control\r\n //var childAttendsDailyRV = $(\"input[name='ChildAttendsDaily']:checked\").val();\r\n //var dailyFeeTypeRV = $(\"input[name='DailyFeeTypeCd']:checked\").val();\r\n //if (typeof dailyFeeTypeRV === 'undefined') {\r\n // $(\".basechildfeediv\").attr(\"hidden\", \"hidden\");\r\n //}\r\n //else {\r\n // //Only display if the child attends daily RB is selected\r\n // if (childAttendsDailyRV === \"True\") {\r\n // $('.basechildfeediv').removeAttr(\"hidden\");\r\n // }\r\n //}\r\n\r\n }\r\n\r\n\r\n\r\n function SetReadOnlyMode() { \r\n console.log('SetReadOnlyMode');\r\n $(\".savecontrol\").attr(\"hidden\", \"hidden\");\r\n $(\".saveandsend\").attr(\"hidden\", \"hidden\");\r\n\r\n $(\".editcontrol\").removeAttr(\"hidden\");\r\n $(\".togglecontrol\").attr(\"disabled\", \"disabled\");\r\n ShowHideInactiveRelatedGroups();\r\n }\r\n\r\n\r\n function SetEditOnlyMode() {\r\n $(\".editcontrol\").attr(\"hidden\", \"hidden\");\r\n $(\".savecontrol\").removeAttr(\"hidden\");\r\n $(\".togglecontrol\").removeAttr(\"disabled\");\r\n\r\n if (StatusEnrollmentCd == 3 && EffectiveDate <= now)// @OpConst.EnumStatus.Inactive\r\n {\r\n $(\"#StatusEnrollmentCd\").attr(\"disabled\", \"disabled\");\r\n $(\"#ChngType-2\").prop(\"checked\", true);\r\n }\r\n\r\n //Check if this page reloaded due to an issue saving\r\n if (pageReload || (isAdmin && StatusEnrollmentCd == 3)) { // @OpConst.EnumStatus.Inactive\r\n //If this is a page reload then display all the edit controls\r\n $(\".togglediv\").removeAttr(\"hidden\");\r\n $(\".saveandsend\").removeAttr(\"hidden\");\r\n if (cannotModifyEffectiveDate) {\r\n $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n } else {\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n }\r\n\r\n else {\r\n $(\".togglediv\").attr(\"hidden\", \"hidden\");\r\n $(\".saveandsend\").attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n //if (EffectiveDate <= now) {\r\n // $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n //}\r\n //else {\r\n // $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n //}\r\n\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() == inactiveStatus) {\r\n $(\".inactivediv\").attr(\"hidden\", \"hidden\");\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n $(\".inactivedivlicence\").attr(\"disabled\", \"disabled\");\r\n }\r\n\r\n if (inactivemode) {\r\n $(\".inactivediv\").attr(\"hidden\", \"hidden\");\r\n $(\".inactivedivlicence\").attr(\"disabled\", \"disabled\");\r\n }\r\n\r\n if (inactivemode && EffectiveDate > now) {\r\n $('#textareainactive').val(\"\");\r\n }\r\n\r\n if (inactivemode && EffectiveDate <= now) {\r\n $(\".saveandsend\").attr(\"hidden\", \"hidden\");\r\n $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n $(\".inactivedivreason\").attr(\"disabled\", \"disabled\");\r\n }\r\n }\r\n\r\n\r\n $(\"#btnEdit\").on('click', function () {\r\n SetEditOnlyMode();\r\n });\r\n\r\n function SetSchoolAgeOptions() {\r\n $('.rad').each(function () {\r\n\r\n if ($(this).val() == $(\"#SchoolAgeCategoryId\").val() && $(this).attr('checked') == 'checked') {\r\n //\r\n IsSchoolAge(true);\r\n return false;\r\n }\r\n else {\r\n IsSchoolAge(false);\r\n }\r\n });\r\n }\r\n\r\n $('.ChangeTypeRB').on('change', function () {\r\n\r\n //Display the rest of the edit form\r\n $(\".togglediv\").removeAttr(\"hidden\").removeAttr(\"disabled\");\r\n $(\".saveandsend\").removeAttr(\"hidden\").removeAttr(\"disabled\");\r\n\r\n\r\n if ($(\"#ChngType-1\").is(\":checked\")) {\r\n $(\"#EffectiveDate\").val(\"\");\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n else if ($(\"#ChngType-2\").is(\":checked\")) {\r\n $(\"#EffectiveDate\").val(EffectiveDate);\r\n\r\n //Enable/disable the effective date\r\n if (cannotModifyEffectiveDate) {\r\n $(\".toggleeffectivedate\").attr(\"disabled\", \"disabled\");\r\n }\r\n else {\r\n $(\".toggleeffectivedate\").removeAttr(\"disabled\");\r\n }\r\n }\r\n });\r\n\r\n $('#StatusEnrollmentCd').on('change', function () {\r\n\r\n //if inactive- clear or assign values\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() ==inactiveStatus ) {\r\n var fullDate = new Date()\r\n var twoDigitMonth = fullDate.getMonth() + 1 + \"\";\r\n if (twoDigitMonth.length == 1) twoDigitMonth = \"0\" + twoDigitMonth;\r\n var twoDigitDate = fullDate.getDate() + \"\";\r\n if (twoDigitDate.length == 1) twoDigitDate = \"0\" + twoDigitDate;\r\n var currentDate = fullDate.getFullYear() + \"-\" + twoDigitMonth + \"-\" + twoDigitDate;\r\n inactivemode = true;\r\n\r\n $('#EndDate').val(currentDate);\r\n $(\".inactivewarning\").removeClass('d-none');\r\n $(\".inactivediv\").attr(\"hidden\", \"hidden\");\r\n\r\n }\r\n else {\r\n\r\n $('#textareainactive').val(\"\");\r\n $('#EndDate').val(\"\");\r\n $(\".inactivewarning\").addClass('d-none');\r\n $(\".inactivediv\").removeAttr(\"hidden\")\r\n }\r\n\r\n ShowHideInactiveRelatedGroups();\r\n\r\n HandleInactiveStatus(false);\r\n\r\n });\r\n\r\n function HandleSelectAll(obj) {\r\n if (obj.checked === true) {\r\n\r\n $('.tick').each(function (index, obj) {\r\n this.checked = true;\r\n });\r\n\r\n }\r\n else if (obj.checked === false) {\r\n\r\n $('.tick').each(function (index, obj) {\r\n this.checked = false;\r\n });\r\n\r\n };\r\n\r\n //Determine which fee input boxes to show\r\n HandleWeeklyFrequencyOptions();\r\n };\r\n\r\n function HandleFrequencyOptions(weekday) {\r\n\r\n //Only modify this for preschool\r\n if (!$('#Age-6').find('input[type=\"checkbox\"]').is(':checked')) {\r\n if (typeof weekday !== 'undefined') {\r\n var totalChecked = 0;\r\n var weekdayclassname = '.' + weekday + 'tick';\r\n\r\n $(weekdayclassname).each(function (index, obj) {\r\n if (this.checked === true) {\r\n\r\n totalChecked += 1;\r\n }\r\n });\r\n\r\n var chkweekday = '.chk' + weekday + 'fee';\r\n var lblweekday = '.lbl' + weekday + 'fee';\r\n\r\n if (totalChecked > 0) {\r\n $(chkweekday).removeAttr(\"hidden\");\r\n $(lblweekday).attr(\"hidden\", \"hidden\");\r\n }\r\n else {\r\n $(chkweekday).attr(\"hidden\", \"hidden\");\r\n $(lblweekday).removeAttr(\"hidden\");\r\n }\r\n\r\n //Calculate the max daily and part time fees\r\n UpdateEnrolmentFees();\r\n }\r\n }\r\n\r\n //toggle the the chkselectall control\r\n var sumTicked = 0;\r\n $('.tick').each(function (index, obj) {\r\n if (this.checked === true) {\r\n\r\n sumTicked += 1;\r\n }\r\n });\r\n if (sumTicked < 10) { document.getElementById(\"chkSelectAll\").checked = false; }\r\n else { document.getElementById(\"chkSelectAll\").checked = true; };\r\n\r\n };\r\n\r\n $(\".rad\").on('click', function () {\r\n\r\n if ($(this).val() == $(\"#SchoolAgeCategoryId\").val())//6 means if Schoolage\r\n {\r\n IsSchoolAge(true);\r\n\r\n $('.selectalldiv').attr(\"hidden\", \"hidden\");\r\n }\r\n else {\r\n IsSchoolAge(false);\r\n UpdateEnrolmentFees();\r\n\r\n $('.DailyFeeDiv').attr(\"hidden\", \"hidden\");\r\n\r\n }\r\n\r\n //toggle school age controls\r\n SetDailyFees($(this).val());\r\n\r\n });\r\n\r\n function SubmitEnroll(status) {\r\n\r\n if ($(\"#EndDate\").val() != null && $(\"#EndDate\").val() != \"\") {\r\n if (status == \"submit\") {\r\n\r\n $(\"#btnSubmit\").addClass(\"d-none\");\r\n $(\"#btnYes\").removeClass(\"d-none\");\r\n $(\"#btnNo\").removeClass(\"d-none\");\r\n $(\"#msgConfirm\").removeClass(\"d-none\");\r\n return false;\r\n }\r\n else if (status == \"yes\") {\r\n }\r\n else if (status == \"no\") {\r\n $(\"#btnSubmit\").removeClass(\"d-none\");\r\n $(\"#btnYes\").addClass(\"d-none\");\r\n $(\"#btnNo\").addClass(\"d-none\");\r\n }\r\n $(\"#msgConfirm\").addClass(\"d-none\");\r\n\r\n }\r\n }\r\n\r\n if ($(\"#EffectiveDate\").val() === \"0001-01-01\") {\r\n $(\"#EffectiveDate\").val(\"\");\r\n }\r\n\r\n $(\".register-child-page\").show();\r\n\r\n if ($(\"#EndDate\").val() === \"0001-01-01\") {\r\n $(\"#EndDate\").val(\"\");\r\n }\r\n\r\n $(\".register-child-page\").show();\r\n\r\n $('#LicenseNumber').on('change', function () {\r\n // Louis: Hiding this for now. See ALM 3745\r\n //var url = licenseChangeUrl.replace('changeme', $(this).val());\r\n\r\n //// Return category select value\r\n //var categoryValue = $('select#LicenseNumber').val()\r\n\r\n //// If both selects have been changed, fetch results...\r\n //if (categoryValue) {\r\n // // debug\r\n // console.log('fetch results');\r\n // // Result query\r\n // $(\"#querydiv\").load(url);\r\n //}\r\n\r\n //Update the enrolment fees\r\n UpdateEnrolmentFees();\r\n\r\n //Determine if the fee button should be displayed\r\n //ToggleBtnFee();\r\n\r\n });\r\n\r\n // Bind onchange to both selects\r\n //$(document).click(function (e) {\r\n // var ele = $(e.toElement);\r\n // if (!ele.hasClass(\"datepicker\") && !ele.hasClass(\"input-group-append\") && !ele.hasClass(\"input-group-text date\") && !$(ele).parent().parents(\".fa-calendar-alt\").length)\r\n // $(\".datepicker\").datetimepicker(\"hide\");\r\n //});\r\n\r\n function ReloadDefaultValues() {\r\n\r\n SetSchoolAgeOptions();\r\n\r\n //Reset the old values\r\n $('select#LicenseNumber').val(LicensedFacility);\r\n\r\n $(AgeCategory).prop(\"checked\", true);\r\n\r\n $('#MondayAM').prop('checked', MondayAM);\r\n $('#TuesdayAM').prop('checked', TuesdayAM);\r\n $('#WednesdayAM').prop('checked', WednesdayAM);\r\n $('#ThursdayAM').prop('checked', ThursdayAM);\r\n $('#FridayAM').prop('checked', FridayAM);\r\n\r\n $('#MondayPM').prop('checked', MondayPM);\r\n $('#TuesdayPM').prop('checked', TuesdayPM);\r\n $('#WednesdayPM').prop('checked', WednesdayPM);\r\n $('#ThursdayPM').prop('checked', ThursdayPM);\r\n $('#FridayPM').prop('checked', FridayPM);\r\n\r\n $('#MondayFull').prop('checked', MondayFull);\r\n $('#TuesdayFull').prop('checked', TuesdayFull);\r\n $('#WednesdayFull').prop('checked', WednesdayFull);\r\n $('#ThursdayFull').prop('checked', ThursdayFull);\r\n $('#FridayFull').prop('checked', FridayFull);\r\n }\r\n\r\n\r\n function HandleInactiveStatus(isOnload) {\r\n\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() ==inactiveStatus ) {\r\n\r\n ReloadDefaultValues();\r\n\r\n $('select#LicenseNumber').attr(\"disabled\", \"disabled\");\r\n $('.rad').attr(\"disabled\", \"disabled\");\r\n $('.tick').attr(\"disabled\", \"disabled\");\r\n\r\n $('#chkSelectAll').attr(\"disabled\", \"disabled\");\r\n $('#ExistingRegistration').attr(\"disabled\", \"disabled\");\r\n\r\n //Only hide the buttons when the form first loads\r\n if (isOnload) {\r\n $('select#StatusEnrollmentCd').attr(\"disabled\", \"disabled\");\r\n $('#textareainactive').attr(\"disabled\", \"disabled\");\r\n $('#btnSubmit').attr(\"hidden\", \"hidden\");\r\n $('#btnSubmitmodel').attr(\"hidden\", \"hidden\");\r\n $('.datepicker').attr(\"disabled\", \"disabled\");\r\n }\r\n }\r\n else {\r\n\r\n $('select#StatusEnrollmentCd').removeAttr(\"disabled\");\r\n $('select#LicenseNumber').removeAttr(\"disabled\");\r\n $('.rad').removeAttr(\"disabled\");\r\n //$('#SchoolAgeCommentText').removeAttr(\"disabled\");\r\n $('.tick').removeAttr(\"disabled\");\r\n $('.datepicker').removeAttr(\"disabled\");\r\n\r\n $('#textareainactive').removeAttr(\"disabled\");\r\n $('#chkSelectAll').removeAttr(\"disabled\");\r\n $('#ExistingRegistration').removeAttr(\"disabled\");\r\n }\r\n }\r\n\r\n function ShowHideInactiveRelatedGroups() {\r\n if ($(\"#StatusEnrollmentCd option:selected\").val() ==inactiveStatus )\r\n {\r\n\r\n $('.InactiveRelatedGroups').removeAttr(\"hidden\");\r\n\r\n }\r\n else {\r\n\r\n $('.InactiveRelatedGroups').attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n }\r\n\r\n function HandleSubmitModal() {\r\n //\r\n if ($('#EndDate').val() != \"\" && $('#textareainactive').val() != \"\" && $(\"#StatusEnrollmentCd option:selected\").val() == inactiveStatus)\r\n {\r\n $('#inactiveModal').modal('show');\r\n }\r\n else if ($('#EndDate').val() == \"\" && $('#textareainactive').val() == \"\" && $(\"#StatusEnrollmentCd option:selected\").val() != inactiveStatus)\r\n {\r\n $(\".frm\").submit();\r\n } else {\r\n $(\".frm\").submit();\r\n }\r\n }\r\n\r\n $('#btnSubmit').on('click', function () { HandleSubmitModal(); });\r\n\r\n\r\n function UpdateEnrolmentFees() {\r\n\r\n //console.log(enrolmentFees);\r\n\r\n //Determine the enrolment fees\r\n SetEnrolmentFees(enrolmentFees);\r\n }\r\n\r\n function GetAgeGroup() {\r\n var category = $(\"input[name='AgeGroupCd']:checked\").val();\r\n var ageGroup = '';\r\n\r\n //Determine the category value\r\n if (typeof category !== 'undefined') {\r\n category = '5000' + category;\r\n };\r\n\r\n return category;\r\n }\r\n\r\n function GetEffectiveDate() {\r\n\r\n if ($(\"#EffectiveDate\").val() === \"0001-01-01\") {\r\n $(\"#EffectiveDate\").val(\"\");\r\n }\r\n\r\n var timestamp = '';\r\n var effectiveDate = new Date($(\"#EffectiveDate\").val());\r\n\r\n // If the date object is invalid it\r\n // will return 'NaN' on getTime()\r\n // and NaN is never equal to itself.\r\n if (effectiveDate.getTime() === effectiveDate.getTime()) {\r\n //moment returns the number of milliseconds\r\n //so we need to divide by 1000 to convert to seconds\r\n timestamp = moment(effectiveDate, \"YYYY/M/D\").valueOf() / 1000;\r\n }\r\n return timestamp;\r\n }\r\n\r\n function SetEnrolmentFees(enrolmentFees) {\r\n var LicenseNumber = $('select#LicenseNumber').val();\r\n var AgeGroupType = GetAgeGroup();\r\n var EffectiveDate = GetEffectiveDate();\r\n\r\n //Only update enrolment fees for preschool enrolments\r\n if (!$('#Age-6').find('input[type=\"checkbox\"]').is(':checked')) {\r\n //Determine the enrolment fees based on the license number, age group type and effective date\r\n var currentEnrolmentFees = GetEnrolmentFees(enrolmentFees, LicenseNumber, AgeGroupType, EffectiveDate);\r\n\r\n //console.log(currentEnrolmentFees);\r\n\r\n //Set the fees\r\n var FullDayFees = \"----\";\r\n var PartDayFees = \"----\";\r\n\r\n if (IsFullWeek()) {\r\n\r\n //Update the fees for Full Week\r\n if (currentEnrolmentFees.FullWeekFullDay > 0) {\r\n FullDayFees = currentEnrolmentFees.FullWeekFullDayStr;\r\n }\r\n\r\n if (currentEnrolmentFees.FullWeekPartDay > 0) {\r\n PartDayFees = currentEnrolmentFees.FullWeekPartDayStr;\r\n }\r\n }\r\n else {\r\n //Update the fees for Part Week\r\n if (currentEnrolmentFees.PartWeekFullDay > 0) {\r\n FullDayFees = currentEnrolmentFees.PartWeekFullDayStr;\r\n }\r\n if (currentEnrolmentFees.PartWeekPartDay > 0) {\r\n PartDayFees = currentEnrolmentFees.PartWeekPartDayStr;\r\n }\r\n }\r\n\r\n //Update the fees for Part Week\r\n $('#FullDayFees').text(FullDayFees);\r\n $('#PartDayFees').text(PartDayFees);\r\n }\r\n }\r\n\r\n function IsFullWeek() {\r\n var isFullWeek = isPartDay('monday') && isPartDay('tuesday') && isPartDay('wednesday') && isPartDay('thursday') && isPartDay('friday');\r\n return isFullWeek;\r\n }\r\n\r\n function isPartDay(weekday) {\r\n var totalChecked = 0;\r\n var weekdayclassname = '.' + weekday + 'tick';\r\n\r\n //Only modify this for preschool\r\n if (typeof weekday !== 'undefined') {\r\n\r\n $(weekdayclassname).each(function (index, obj) {\r\n if (this.checked === true) {\r\n totalChecked += 1;\r\n }\r\n });\r\n }\r\n\r\n return totalChecked > 0;\r\n }\r\n\r\n function GetEnrolmentFees(enrolmentFees, LicenseNumber, AgeGroupType, EffectiveDate) {\r\n var currentTimestamp = 0;\r\n\r\n //Create an enrolment fee object with no fees\r\n var selectedEnrolmentFee = { \"Id\": -1, \"LicenseNumber\": LicenseNumber, \"AlternateId\": \"\", \"EffectiveDate\": EffectiveDate, \"AgeGroupType\": AgeGroupType, \"FullWeekFullDay\": 0.00, \"FullWeekPartDay\": 0.00, \"PartWeekFullDay\": 0.00, \"PartWeekPartDay\": 0.00, \"FullWeekFullDayStr\": \"----\", \"FullWeekPartDayStr\": \"----\", \"PartWeekFullDayStr\": \"----\", \"PartWeekPartDayStr\": \"----\" };\r\n\r\n //search based on License number, AgeGroupType\r\n enrolmentFees.forEach(function (item, index) {\r\n\r\n //Search for an enrollment fee for the given license and age group type\r\n if (item.LicenseNumber == LicenseNumber && item.AgeGroupType == AgeGroupType) {\r\n\r\n //Find the enrolment fee with the correct effective date\r\n if (item.EffectiveDate <= EffectiveDate && currentTimestamp < item.EffectiveDate) {\r\n currentTimestamp = item.EffectiveDate;\r\n selectedEnrolmentFee = item;\r\n }\r\n };\r\n });\r\n\r\n return selectedEnrolmentFee;\r\n }\r\n\r\n //function ToggleBtnFee(schoolAgeCategoryId) {\r\n // var license = $('select#LicenseNumber').val();\r\n\r\n // if (license != '' && !$('#Age-6').find('input[type=\"checkbox\"]').is(':checked') && schoolAgeCategoryId != 6) {\r\n // $('.btnfeediv').removeAttr(\"hidden\");\r\n // }\r\n // else\r\n // {\r\n // $('.btnfeediv').attr(\"hidden\", \"hidden\");\r\n // }\r\n\r\n //}\r\n\r\n $('#DailyFeeStr').keyup(function () {\r\n var dailyFee = $('#DailyFeeStr').val();\r\n\r\n if (typeof dailyFee !== 'undefined') {\r\n dailyFee = dailyFee.replace(\",\", \".\");\r\n }\r\n else {\r\n dailyFee = '----';\r\n }\r\n\r\n console.log(dailyFee);\r\n\r\n if ($.isNumeric(dailyFee)) {\r\n SetDailyFees();\r\n }\r\n else {\r\n $('.lblDailyFees').html('----');\r\n }\r\n });\r\n\r\n //when the focus leaves the text box change the formatting to 2 decimals\r\n $('#DailyFeeStr').blur(function () {\r\n var dailyFee = formatFeeValues();\r\n\r\n $('#DailyFeeStr').val(dailyFee);\r\n });\r\n\r\n function formatFeeValues() {\r\n\r\n var dailyFee = $('#DailyFeeStr').val();\r\n var formattedDailyFee = \"----\";\r\n\r\n if (typeof dailyFee !== 'undefined') {\r\n formattedDailyFee = dailyFee.replace(\",\", \".\");\r\n };\r\n\r\n if ($.isNumeric(formattedDailyFee)) {\r\n \r\n var decimalPointLang = '.';\r\n if (lang == 'fr') {\r\n decimalPointLang = ',';\r\n }\r\n\r\n console.log(lang);\r\n\r\n //find the decimal location if it exists\r\n var decimalPointLocation = formattedDailyFee.lastIndexOf('.');\r\n var dailyFeeLength = formattedDailyFee.length;\r\n\r\n //Is there a decimal point?\r\n if (decimalPointLocation < 0) {\r\n dailyFee = dailyFee + decimalPointLang + '00';\r\n }\r\n else {\r\n //Are we missing a decimal value?\r\n if (decimalPointLocation == (dailyFeeLength - 1)) {\r\n dailyFee = dailyFee + '00';\r\n }\r\n if (decimalPointLocation == (dailyFeeLength)) {\r\n dailyFee = dailyFee + '00';\r\n }\r\n\r\n if (decimalPointLocation == (dailyFeeLength - 2)) {\r\n dailyFee = dailyFee + '0';\r\n }\r\n\r\n if (decimalPointLocation <= (dailyFeeLength - 3)) {\r\n dailyFee = dailyFee.substring(0, decimalPointLocation + 3);\r\n }\r\n }\r\n\r\n console.log(dailyFee);\r\n\r\n $('.lblDailyFees').html(dailyFee);\r\n }\r\n else {\r\n $('.lblDailyFees').html('----');\r\n }\r\n\r\n return dailyFee;\r\n }\r\n\r\n function SetDailyFees(ageCategory) {\r\n var radioValue = $(\"input[name='DailyFeeTypeCd']:checked\").val();\r\n var dailyFee = $('#DailyFeeStr').val();\r\n\r\n console.log('SetDailyFees');\r\n\r\n if (typeof radioValue !== 'undefined') {\r\n\r\n\r\n if (radioValue == '1') {\r\n $('.nodailyfees').removeAttr(\"hidden\"); /* Important that is done first */\r\n $('.feetooltip').attr(\"hidden\", \"hidden\");\r\n $('.NotDailyFeeDiv').attr(\"hidden\", \"hidden\");\r\n $('.DailyFeeDiv').removeAttr(\"hidden\");\r\n $('.lblDailyFees').html(dailyFee);\r\n\r\n //Need to format the fees to add decimal places\r\n formatFeeValues();\r\n }\r\n\r\n if (radioValue == '2') {\r\n $('.nodailyfees').removeAttr(\"hidden\"); /* Important that is done first */\r\n $('.NotDailyFeeDiv').removeAttr(\"hidden\");\r\n $('.DailyFeeDiv').attr(\"hidden\", \"hidden\");\r\n $('.NotDailyFeeDiv').removeAttr(\"hidden\");\r\n $('.lblDailyFees').html('----');\r\n }\r\n\r\n if (radioValue == '3' || ageCategory == '6') {\r\n $('.feetooltip').attr(\"hidden\", \"hidden\");\r\n $('.DailyFeeDiv').attr(\"hidden\", \"hidden\");\r\n $('.nodailyfees').attr(\"hidden\", \"hidden\");\r\n $('.feetooltip').attr(\"hidden\", \"hidden\");\r\n }\r\n\r\n // School Age then display the checkbox\r\n if (ageCategory == '6') {\r\n $('.NotDailyFeeDiv').removeAttr(\"hidden\");\r\n }\r\n }\r\n\r\n //Determine which divs to display\r\n SetDailyFeeTypeDiv();\r\n };\r\n\r\n\r\n //btnFee\r\n $(\"#btnFee\").on('click', function () {\r\n\r\n var license = $('select#LicenseNumber').val();\r\n var alternateId = GetLicenseAlternateId(license);\r\n var highlightGroup = GetAgeGroup();\r\n var highlightFeeType = GetHighlightFee();\r\n var effectiveDate = $(\"#EffectiveDate\").val();\r\n\r\n\r\n //license/home/fees/iwfl/bcror/?alternateId=bejhg\r\n var printURL = baseURL + '/' + lang + '/license/fees/index/' + oper + '/' + license + '/?alternateId=' + alternateId + '&highlightAgeGroupCd=' + highlightGroup + '&highlightFeeType=' + highlightFeeType + '&Date=' + effectiveDate;\r\n\r\n //console.log(license);\r\n //console.log(printURL);\r\n\r\n if (license != '') {\r\n window.open(printURL, \"_blank\");\r\n }\r\n });\r\n\r\n\r\n function GetLicenseAlternateId(license) {\r\n var AlternateId = '';\r\n\r\n licenses.forEach(function (item, index) {\r\n\r\n //Search for an enrollment fee for the given license and age group type\r\n if (item.licenseNumber === license) {\r\n AlternateId = item.alterateID;\r\n //console.log('altid:' + AlternateId);\r\n return AlternateId;\r\n };\r\n });\r\n\r\n return AlternateId;\r\n }\r\n\r\n function GetHighlightFee() {\r\n var highlightFee = '';\r\n\r\n if (IsFullWeek()) {\r\n highlightFee = '5';\r\n }\r\n else {\r\n highlightFee = '6';\r\n }\r\n\r\n return highlightFee;\r\n }\r\n\r\n\r\n}","function hasGetUserMedia() {\r\n return !!(navigator.mediaDevices &&\r\n navigator.mediaDevices.getUserMedia);\r\n}\r\n\r\nif ($(\"#_fileUpload\").length > 0) {\r\n var oper = !window.oper ? \"operid\" : window.oper;\r\n console.log('_fileUpload detected');\r\n\r\n if (hasGetUserMedia() && \"ontouchstart\" in document.documentElement === true) {\r\n // show camera button\r\n $(\".btnCamera\").show();\r\n }\r\n\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true);\r\n\r\n $(document).on('change', \"#_uploadDocTypes\", function () {\r\n console.log($(this).val());\r\n if ($(this).val() == '') {\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true).attr('disabled', 'disabled');\r\n } else {\r\n $(\"#_fileUpload .btnUpload\").removeProp('disabled').removeAttr('disabled');\r\n }\r\n });\r\n\r\n var FileId;\r\n var SourceId;\r\n\r\n $(document).on('click', '.btnDel', function (e) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n\r\n var self = $(this);\r\n\r\n //Set the global file and source id fields\r\n FileId = self.data('id');\r\n SourceId = self.data('sourceid');\r\n\r\n //Display the Delete Model window \r\n $(\"#fileDeleteModal\").modal();\r\n });\r\n\r\n //Respond to the button delete file click event \r\n $(document).on('click', '#btnDeleteUploadYes', function (e) {\r\n var url = '';\r\n var self = $(this);\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/wageenhancement/employee/DeleteEmployeeFile/' + oper + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/wageenhancement/employee/DeleteEmployeeFile/' + oper + '/';\r\n }\r\n\r\n $.ajax({\r\n url: url + '?FileId=' + FileId + '&SourceId=' + SourceId,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n url = url.replace('DeleteEmployeeFile', 'GetEmployeeFileListPartial') + '?id=' + $(\"#_fileUpload\").data('sourceid') + '&allowDelete=' + $(\"#_fileUpload\").data('d') + '&allowDeleteNew=' + $(\"#_fileUpload\").data('dn') + '&allowNew=' + $(\"#_fileUpload\").data('n') + '&allowEdit=' + $(\"#_fileUpload\").data('e') + '&applicationId=' + $(\"#_fileUpload\").data('applicationid') + '&isfundingupgrade=' + $(\"#_fileUpload\").data('isfundingupgrade') + '&isavailableonnewapplications=' + $(\"#_fileUpload\").data('isavailableonnewapplications') + '&isavailableonupgradefundingapplications=' + $(\"#_fileUpload\").data('isavailableonupgradefundingapplications') + '&perm=' + $(\"#_fileUpload\").data('perm') ;\r\n $(\"#_fileUploadCont\").load(url, function () {\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true);\r\n $(\"#fileModal\").modal();\r\n });\r\n },\r\n error: function () {\r\n url = url.replace('DeleteEmployeeFile', 'GetEmployeeFileListPartial') + '?id=' + $(\"#_fileUpload\").data('sourceid') + '&allowDelete=' + $(\"#_fileUpload\").data('d') + '&allowDeleteNew=' + $(\"#_fileUpload\").data('dn') + '&allowNew=' + $(\"#_fileUpload\").data('n') + '&allowEdit=' + $(\"#_fileUpload\").data('e') + '&applicationId=' + $(\"#_fileUpload\").data('applicationid') + '&isfundingupgrade=' + $(\"#_fileUpload\").data('isfundingupgrade') + '&isavailableonnewapplications=' + $(\"#_fileUpload\").data('isavailableonnewapplications') + '&isavailableonupgradefundingapplications=' + $(\"#_fileUpload\").data('isavailableonupgradefundingapplications') + '&perm=' + $(\"#_fileUpload\").data('perm');\r\n $(\"#_fileUploadCont\").load(url, function () {\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true);\r\n $(\"#fileModal\").modal();\r\n });\r\n }\r\n });\r\n });\r\n\r\n $(document).on('change', \"#_fileUpload input:file\", function () {\r\n var fileName = $(this).val();\r\n console.log(fileName); //Do with the filename whatever you want\r\n\r\n if (!fileName) {\r\n return;\r\n }\r\n \r\n var formData = new FormData();\r\n var d = $(this)[0].files[0];\r\n\r\n formData.append('File', d);\r\n formData.append('SourceId', $(this).data('sourceid'));\r\n formData.append('DocTypeId', $(\"#_uploadDocTypes\").val());\r\n\r\n //console.log('applicationid=' + $(\"#_fileUpload\").data('applicationid'));\r\n // optionally append the application id\r\n if ($(\"#_fileUpload\").data('applicationid') && !$(\"#_fileUpload\").data('ignoreappid')) {\r\n formData.append('ApplicationId', $(\"#_fileUpload\").data('applicationid'));\r\n //console.log(\"hhh\"); console.log($(\"#_fileUpload\").data('ignoreappid'));\r\n }\r\n\r\n\r\n var url = '';\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/wageenhancement/employee/UploadEmployeeFile/' + oper + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/wageenhancement/employee/UploadEmployeeFile/' + oper + '/';\r\n }\r\n\r\n $(\"#_fileUpload .btnUpload\").find('i.fa-file-upload').removeClass('fa-file-upload').addClass('fa-spinner fa-spin');\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true).attr('disabled', 'disabled');\r\n $(\"#divFileUploadSpinner\").removeClass(\"d-none\");\r\n \r\n $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n data: formData,\r\n success: function (res) {\r\n\r\n url = url.replace('UploadEmployeeFile', 'GetEmployeeFileListPartial') + '?id=' + $(\"#_fileUpload\").data('sourceid') + '&allowDelete=' + $(\"#_fileUpload\").data('d') + '&allowDeleteNew=' + $(\"#_fileUpload\").data('dn') + '&allowNew=' + $(\"#_fileUpload\").data('n') + '&allowEdit=' + $(\"#_fileUpload\").data('e') + '&applicationId=' + $(\"#_fileUpload\").data('applicationid') + '&isfundingupgrade=' + $(\"#_fileUpload\").data('isfundingupgrade') + '&isavailableonnewapplications=' + $(\"#_fileUpload\").data('isavailableonnewapplications') + '&isavailableonupgradefundingapplications=' + $(\"#_fileUpload\").data('isavailableonupgradefundingapplications') + '&getallfiles=' + $(\"#_fileUpload\").data('getallfiles') + '&perm=' + $(\"#_fileUpload\").data('perm');\r\n\r\n // Hide any errors that exist on the page\r\n $(\".file-error-alert\").addClass(\"d-none\");\r\n\r\n $(\"#_fileUploadCont\").load(url, function () {\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true);\r\n $(\"#divFileUploadSpinner\").addClass(\"d-none\");\r\n $(\"#fileModal\").modal();\r\n });\r\n },\r\n error: function () {\r\n url = url.replace('UploadEmployeeFile', 'GetEmployeeFileListPartial') + '?id=' + $(\"#_fileUpload\").data('sourceid') + '&allowDelete=' + $(\"#_fileUpload\").data('d') + '&allowDeleteNew=' + $(\"#_fileUpload\").data('dn') + '&allowNew=' + $(\"#_fileUpload\").data('n') + '&allowEdit=' + $(\"#_fileUpload\").data('e') + '&applicationId=' + $(\"#_fileUpload\").data('applicationid') + '&isfundingupgrade=' + $(\"#_fileUpload\").data('isfundingupgrade') + '&isavailableonnewapplications=' + $(\"#_fileUpload\").data('isavailableonnewapplications') + '&isavailableonupgradefundingapplications=' + $(\"#_fileUpload\").data('isavailableonupgradefundingapplications') + '&getallfiles=' + $(\"#_fileUpload\").data('getallfiles') + '&perm=' + $(\"#_fileUpload\").data('perm');\r\n\r\n // Hide any errors that exist on the page\r\n $(\".file-error-alert\").addClass(\"d-none\");\r\n\r\n $(\"#_fileUploadCont\").load(url, function () {\r\n $(\"#_fileUpload .btnUpload\").prop('disabled', true);\r\n $(\"#divFileUploadSpinner\").addClass(\"d-none\");\r\n $(\"#fileModal\").modal();\r\n });\r\n }\r\n });\r\n\r\n\r\n });\r\n\r\n //Respond to the button delete file click event \r\n function refreshFileList() {\r\n var url = '';\r\n var self = $(this);\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/wageenhancement/employee/GetEmployeeFileListPartial/' + oper + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/wageenhancement/employee/GetEmployeeFileListPartial/' + oper + '/';\r\n }\r\n\r\n //Add the parameters to the URL\r\n url = url + '?id=' + $(\"#_fileUpload\").data('sourceid') + '&allowDelete=' + $(\"#_fileUpload\").data('d') + '&allowDeleteNew=' + $(\"#_fileUpload\").data('dn') + '&allowNew=' + $(\"#_fileUpload\").data('n') + '&allowEdit=' + $(\"#_fileUpload\").data('e') + '&applicationId=' + $(\"#_fileUpload\").data('applicationid') + '&isfundingupgrade=' + $(\"#_fileUpload\").data('isfundingupgrade') + '&isavailableonnewapplications=' + $(\"#_fileUpload\").data('isavailableonnewapplications') + '&isavailableonupgradefundingapplications=' + $(\"#_fileUpload\").data('isavailableonupgradefundingapplications') + '&perm=' + $(\"#_fileUpload\").data('perm');\r\n $(\"#_fileUploadCont\").load(url, function () {\r\n });\r\n };\r\n}","$(function () {\r\n if ($(\"div#EnrolmentListCard\").length > 0) {\r\n\r\n $.urlParam = function (name) {\r\n var results = new RegExp('[\\?&]' + name + '=([^&#]*)')\r\n .exec(window.location.search);\r\n\r\n return (results !== null) ? results[1] || 0 : false;\r\n }\r\n\r\n var ddval = $.urlParam('pagesize');\r\n $('#rowsSelect option[value=\"' + ddval + '\"]').prop('selected', true);\r\n var ddval2 = $.urlParam('pgSzP');\r\n $('#rowsSelectp option[value=\"' + ddval2 + '\"]').prop('selected', true);\r\n\r\n\r\n $('#ActiveEnrolmentDate').datetimepicker('options', {\r\n format: \"YYYY-MM-DD\",\r\n locale: jsLang + '-ca',\r\n keepOpen: false,\r\n defaultDate: false\r\n });\r\n\r\n $('#ActiveEnrolmentDate').keydown(function (e) {\r\n e.preventDefault();\r\n });\r\n\r\n $('#ActiveEnrolmentDate').on('change.datetimepicker', function (e) {\r\n navigate(jsPrefix, jsLang);\r\n });\r\n\r\n $('#selectedlicense').on('change', function () {\r\n\r\n navigate(jsPrefix, jsLang);\r\n });\r\n\r\n function navigate(prefix, lang) {\r\n\r\n var selectedLicense = $('#selectedlicense').val();\r\n\r\n if (prefix != \"q\") {\r\n x = prefix + \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentlist/' + jsOper + '/' + selectedLicense + \"?\"\r\n + \"ActiveDate=\" + $('#ActiveEnrolmentDate').val();\r\n }\r\n else {\r\n\r\n x = \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentlist/' + jsOper + '/' + selectedLicense + \"?\"\r\n + \"ActiveDate=\" + $('#ActiveEnrolmentDate').val();\r\n }\r\n\r\n location.href = x;\r\n //Perform your navigation\r\n }\r\n\r\n function navigateTransitional(prefix, lang) {\r\n\r\n var selectedLicense = $('#selectedlicense').val() == null || $('#selectedlicense').val() == \"\" ? \"a\" : $('#selectedlicense').val();\r\n //debugger;\r\n if ($(\"#returnurlvalue\").val() != \"\") {\r\n selectedLicense = $('#licens').val();\r\n }\r\n\r\n if (prefix != \"q\") {\r\n var x = prefix + \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentlist/' + jsOper + '/' + selectedLicense + \"?pagesize=\" + $('#rowsSelect').val()\r\n + \"&showInactive=\" + $('#showInactive').attr(\"data-value\") + \"&pageNumber=\" + $('#pageNumber').val() + \"&pgSzP=\" + $('#rowsSelect').val()\r\n + \"&shwinactP=\" + $('#shwinactP').attr(\"data-value\") + \"&pgNumP=\" + $('#pgNumP').val();\r\n\r\n if ($(\"#returnurlvalue\").val() != \"\") {\r\n var y = \"&returnUrl=\";\r\n x = x.concat(y, jsReturnUrl);\r\n }\r\n }\r\n else {\r\n\r\n\r\n var x = \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentlist/' + jsOper + '/' + selectedLicense + \"?pagesize=\" + $('#rowsSelect').val()\r\n + \"&showInactive=\" + $('#showInactive').attr(\"data-value\") + \"&pageNumber=\" + $('#pageNumber').val() + \"&pgSzP=\" + $('#rowsSelectp').val()\r\n + \"&shwinactP=\" + $('#shwinactP').attr(\"data-value\") + \"&pgNumP=\" + $('#pgNumP').val();\r\n if ($(\"#returnurlvalue\").val() != \"\") {\r\n var y = \"&returnUrl=\";\r\n x = x.concat(y, jsReturnUrl);\r\n }\r\n }\r\n\r\n location.href = x;\r\n //Perform your navigation\r\n }\r\n // row click\r\n\r\n }\r\n});","$(function () {\r\n if ($(\"div#EnrolmentPlanningDiv\").length > 0) {\r\n\r\n //$.urlParam = function (name) {\r\n // var results = new RegExp('[\\?&]' + name + '=([^&#]*)')\r\n // .exec(window.location.search);\r\n\r\n // return (results !== null) ? results[1] || 0 : false;\r\n //}\r\n\r\n //var ddval = $.urlParam('pagesize');\r\n //$('#rowsSelect option[value=\"' + ddval + '\"]').prop('selected', true);\r\n //var ddval2 = $.urlParam('pgSzP');\r\n //$('#rowsSelectp option[value=\"' + ddval2 + '\"]').prop('selected', true);\r\n\r\n\r\n $('#ViewAsOfDate').datetimepicker('options', {\r\n format: \"YYYY-MM-DD\",\r\n locale: jsLang + '-ca',\r\n keepOpen: false,\r\n defaultDate: false\r\n });\r\n\r\n $('#ViewAsOfDate').keydown(function (e) {\r\n e.preventDefault();\r\n });\r\n\r\n $('#ViewAsOfDate').on('change.datetimepicker', function (e) {\r\n navigate(jsPrefix, jsLang);\r\n });\r\n\r\n $('#selectedlicense').on('change', function () {\r\n\r\n navigate(jsPrefix, jsLang);\r\n });\r\n\r\n function navigate(prefix, lang) {\r\n\r\n var test = $('#ViewAsOfDate').val();\r\n\r\n var selectedLicense = $('#selectedlicense').val();\r\n\r\n if (prefix != \"q\") {\r\n x = prefix + \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentplanning/' + jsOper + '/' + selectedLicense + \"?\"\r\n + \"viewasofdate=\" + $('#ViewAsOfDate').val();\r\n }\r\n else {\r\n\r\n x = \"/\" + lang + \"/\" + 'license/manageenrolment/enrolmentplanning/' + jsOper + '/' + selectedLicense + \"?\"\r\n + \"viewasofdate=\" + $('#ViewAsOfDate').val();\r\n }\r\n\r\n location.href = x;\r\n //Perform your navigation\r\n }\r\n\r\n }\r\n});","$(function () {\r\n if ($('#EnrolmentDetailsForm').length > 0) {\r\n $(\"#btnEdixt\").on('click', function () {\r\n\r\n var lang = jsEDLang;\r\n\r\n var baseURLpp = jsBaseURLpp;\r\n var ParentIamId = jsParentIamId;\r\n\r\n var printURL = baseURLpp + '/' + lang + '/Admin/User/GetRequestList/?ClientId=' + ParentIamId;\r\n\r\n\r\n if (printURL != '') {\r\n window.open(printURL, \"_blank\");\r\n }\r\n });\r\n\r\n $(document).on('click', '.PrintCFAInstructions', function (e) {\r\n\r\n var self = $(this);\r\n oper = self.data('oper');\r\n licence = self.data('licence');\r\n\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/license/manageenrolment/CFAInstructions/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?expirydate='+jsExpiredBenefitDate +'&fname='+ jsChildFirstName + '&lname='+ jsChildLastName ;\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/license/manageenrolment/CFAInstructions/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?expirydate=' + jsExpiredBenefitDate + '&fname=' + jsChildFirstName + '&lname=' + jsChildLastName;\r\n }\r\n\r\n console.log(url);\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n //window.location.href = url;\r\n window.open(url, \"_blank\");\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n });\r\n\r\n\r\n var oper;\r\n var licence;\r\n $(document).on('click', '.btnCancel', function (e) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n var self = $(this);\r\n oper = self.data('oper');\r\n licence = self.data('licence');\r\n\r\n $(\"#CancelModal\").modal();\r\n });\r\n\r\n $(document).on('click', '.btnCancel', function (e) {\r\n var url = '';\r\n var self = $(this);\r\n oper = self.data('oper');\r\n licence = self.data('licence');\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/license/manageenrolment/enrolmentlist/' + oper + '/' + licence + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/license/manageenrolment/enrolmentlist/' + oper + '/' + licence + '/';\r\n }\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n window.location.href = url;\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n });\r\n\r\n $(document).on('click', '.btnCancelReturn', function (e) {\r\n var url = '';\r\n var self = $(this);\r\n url = self.data('oper');\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n window.location.href = url;\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n });\r\n\r\n\r\n var lang = jsEDLang;\r\n\r\n if ($(\"#ViewAsOfDate\").val() === \"0001-01-01\") {\r\n $(\"#ViewAsOfDate\").val(\"\");\r\n }\r\n $(\".register-child-page\").show();\r\n\r\n function load() {\r\n\r\n var today = new Date();\r\n\r\n console.log(\"ViewAsOfDate: \" + $(\"#ViewAsOfDate\").val());\r\n\r\n if (!$(\"#ViewAsOfDate\").val()) {\r\n\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = today.getFullYear();\r\n\r\n today = yyyy + '-' + mm + '-' + dd;\r\n $(\"#ViewAsOfDate\").val(today)\r\n }\r\n var changedt = !$(\"#ViewAsOfDate\").val() ? today : $(\"#ViewAsOfDate\").val();\r\n\r\n console.log(\"a\" + changedt)\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/License/ManageEnrolment/EnrolmentDetails/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?viewasofdate=changedt';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/License/ManageEnrolment/EnrolmentDetails/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?viewasofdate=changedt';\r\n }\r\n\r\n //var url = '@Html.Raw(Url.Action(\"EnrolmentDetails\", \"ManageEnrolment\", new { oper = ViewContext.RouteData.Values[\"oper\"].ToString(), license=Model.LicenseNumber.ToDisplayInt(), id=Model.EnrollmentId.ToDisplayInt(), } )) '\r\n\r\n url = url.replace('changeme', $(\".filterx\").val())\r\n url = url.replace('changedt', changedt);\r\n\r\n console.log(url);\r\n //location.href = url;\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'GET',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n window.location.href = url;\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n\r\n };\r\n\r\n function HandleLoad() {\r\n load()\r\n\r\n }\r\n $(function () {\r\n var dt = jsViewAsOfDate;\r\n if (dt == \"\") {\r\n var today = new Date();\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = today.getFullYear();\r\n\r\n today = yyyy + '-' + mm + '-' + dd;\r\n $(\"#ViewAsOfDate\").val(today)\r\n }\r\n else {\r\n $(\"#ViewAsOfDate\").val(dt);\r\n }\r\n\r\n });\r\n\r\n $(\".datepicker.asofdate\").datetimepicker({\r\n viewMode: \"days\",\r\n format: \"YYYY-MM-DD\",\r\n locale: lang + \"-ca\",\r\n keepOpen: false,\r\n minDate: jsEarliestDate,\r\n defaultDate: false\r\n });\r\n\r\n $(\".datepicker.asofdate\").on('blur', function () {\r\n HandleLoad();\r\n });\r\n\r\n $(\".datepicker.enddate\").datetimepicker({\r\n viewMode: \"days\",\r\n format: \"YYYY-MM-DD\",\r\n locale: lang + \"-ca\",\r\n keepOpen: false,\r\n minDate: jsCFAMinEndDate,\r\n maxDate: jsNow,\r\n defaultDate: false\r\n });\r\n\r\n\r\n $(\".EnrAckSbt\").on('click', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var id = $(this).data('id');\r\n\r\n var chkAck = $('.EnrAck[data-id=\"' + id + '\"]:checked').length;\r\n\r\n if (chkAck == 0) {\r\n $(\".EnrAckErr[data-id=\" + id + \"]\").removeClass(\"d-none\");\r\n canSave = false;\r\n } else {\r\n $(\".EnrAckErr[data-id=\" + id + \"]\").addClass(\"d-none\");\r\n window.location = $(this).data(\"href\");\r\n }\r\n \r\n });\r\n\r\n $(\".btnSaveAck\").on('click', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n var id = $(this).data('id');\r\n var processId = $(this).data('processingid');\r\n var canSave = true;\r\n var showAckMsg = $(this).data('showcfaadjustmentmsg');\r\n\r\n console.log(id);\r\n console.log(showAckMsg);\r\n\r\n $(\".iscurrentprocess[data-id=\" + processId + \"]\").val('True');\r\n\r\n var chkAck = $('.chkAck[data-id=\"' + processId + '\"]:checked').length;\r\n var chkAdjustment = $('.chkAdjustment[data-id=\"' + processId + '\"]:checked').length;\r\n var chkVerified = $('.chkVerified[data-id=\"' + processId + '\"]:checked').length;\r\n var fullname = $(\".fullname[data-id=\" + processId + \"]\").val();\r\n\r\n if (chkAck == 0) {\r\n $(\".ackerror[data-id=\" + processId + \"]\").removeClass(\"d-none\");\r\n canSave = false;\r\n }\r\n else {\r\n $(\".ackerror[data-id=\" + processId + \"]\").addClass(\"d-none\");\r\n }\r\n\r\n if (showAckMsg == \"True\") {\r\n if (chkAdjustment == 0) {\r\n $(\".adjustmenterror[data-id=\" + processId + \"]\").removeClass(\"d-none\");\r\n canSave = false;\r\n }\r\n else {\r\n $(\".adjustmenterror[data-id=\" + processId + \"]\").addClass(\"d-none\");\r\n }\r\n }\r\n\r\n\r\n\r\n if (chkVerified == 0) {\r\n $(\".verifiederror[data-id=\" + processId + \"]\").removeClass(\"d-none\");\r\n canSave = false;\r\n }\r\n else {\r\n $(\".verifiederror[data-id=\" + processId + \"]\").addClass(\"d-none\");\r\n }\r\n\r\n if (fullname == \"\") {\r\n $(\".signatureerror[data-id=\" + processId + \"]\").removeClass(\"d-none\");\r\n canSave = false;\r\n }\r\n else {\r\n $(\".signatureerror[data-id=\" + processId + \"]\").addClass(\"d-none\");\r\n }\r\n\r\n\r\n $(\"#AckdCFAEnrolmentId\").val(id);\r\n $(\"#ShowCFAAdjustmentMsg\").val(showAckMsg);\r\n\r\n if (canSave)\r\n {\r\n $('#EnrolmentDetailsForm')[0].submit();\r\n }\r\n \r\n });\r\n\r\n \r\n $(\"#btnSaveCfaBenefit\").on(\"click\", function () {\r\n\r\n $(\".cfaEndDateError\").addClass(\"d-none\");\r\n $(\".cfaTerminationReasonError\").addClass(\"d-none\");\r\n\r\n var dateStr = $(\"#newCfaEndDate\").val();\r\n var terminationReasonCd = $(\"#TerminationReasonCd\").val();\r\n\r\n if (!Date.parse(dateStr)) {\r\n $(\"#CfaEndDateInvalid\").removeClass(\"d-none\");\r\n return false;\r\n }\r\n var dateSplit = $(\"#newCfaEndDate\").val().split(\"-\");\r\n var date = new Date(dateSplit[0], parseInt(dateSplit[1]) - 1, dateSplit[2]);\r\n\r\n // we need to put some validations here in case they circumvent the date picker's settings or something\r\n var minDateSplit = jsCFAMinEndDate.split(\"-\");\r\n var minEndDate = new Date(minDateSplit[0], parseInt(minDateSplit[1]) - 1, minDateSplit[2]);\r\n var maxDateSplit = jsCFALatestStartDate.split(\"-\");\r\n var maxStartDate = new Date(maxDateSplit[0], parseInt(maxDateSplit[1]) - 1, maxDateSplit[2]);\r\n var nowSplit = jsNow.split(\"-\");\r\n var now = new Date(nowSplit[0], nowSplit[1], nowSplit[2]);\r\n \r\n var isValid = true;\r\n if (date > now) {\r\n $(\"#CfaEndDateFutureError\").removeClass(\"d-none\");\r\n isValid = false;\r\n } else if(date <= maxStartDate) {\r\n $(\"#CfaEndDateFirstDayError\").removeClass(\"d-none\");\r\n isValid = false;\r\n } else if(date <= minEndDate) {\r\n $(\"#CfaEndDateFeeSubsidyError\").removeClass(\"d-none\");\r\n isValid = false;\r\n }\r\n\r\n if (terminationReasonCd == \"\") {\r\n $(\".cfaTerminationReasonError\").removeClass(\"d-none\");\r\n isValid = false;\r\n }\r\n\r\n if(!isValid) {\r\n return false;\r\n }\r\n\r\n var formData = new FormData();\r\n\r\n formData.append('newEndDate', dateStr);\r\n formData.append('terminationReasonCd', terminationReasonCd);\r\n\r\n var url = '';\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/License/ManageEnrolment/UpdateCfaEndDate/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/License/ManageEnrolment/UpdateCfaEndDate/';\r\n }\r\n\r\n $(\"#divUMSpinner\").removeClass(\"d-none\");\r\n $(\"#btnSaveCfaBenefit\").prop(\"disabled\", true);\r\n\r\n $.ajax({\r\n url: url + jsOper + \"/\" + jsLicence + \"/\" + jsLatestCfaId,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n data: formData,\r\n success: function (res) {\r\n window.location.reload();\r\n }\r\n });\r\n });\r\n\r\n $(\"select[id='TerminationReasonCd']\").on('change', function () {\r\n\r\n $(\".cfaTerminationReasonError\").addClass(\"d-none\");\r\n });\r\n\r\n $(\".chkReviewed\").on('click', function () {\r\n $(\"#IsReviewed\").val(true); \r\n\r\n if ($(\".chkReviewed\").is(\":checked\")) {\r\n $(\".chkReviewedSubmit\").prop(\"disabled\", false);\r\n } else {\r\n $(\".chkReviewedSubmit\").prop(\"disabled\", true);\r\n \r\n }\r\n });\r\n \r\n $(\".chkReviewedSubmit\").on('click', function () { \r\n\r\n var today = new Date();\r\n\r\n if (!$(\"#ViewAsOfDate\").val()) {\r\n\r\n var dd = String(today.getDate()).padStart(2, '0');\r\n var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!\r\n var yyyy = today.getFullYear();\r\n\r\n today = yyyy + '-' + mm + '-' + dd;\r\n $(\"#ViewAsOfDate\").val(today)\r\n }\r\n var changedt = !$(\"#ViewAsOfDate\").val() ? today : $(\"#ViewAsOfDate\").val();\r\n console.log($(\"#IsReviewed\").val());\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/License/ManageEnrolment/EnrolmentDetails/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?viewasofdate=changedt&reviewed=1';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/License/ManageEnrolment/EnrolmentDetails/' + jsOper + '/' + jsLicence + '/' + jsEnrolId + '/?viewasofdate=changedt&reviewed=1';\r\n }\r\n\r\n //var url = '@Html.Raw(Url.Action(\"EnrolmentDetails\", \"ManageEnrolment\", new { oper = ViewContext.RouteData.Values[\"oper\"].ToString(), license=Model.LicenseNumber.ToDisplayInt(), id=Model.EnrollmentId.ToDisplayInt(), viewasofdate=\"changedt\", reviewed=\"1\"} )) '\r\n\r\n url = url.replace('changeme', $(\".filterx\").val())\r\n url = url.replace('changedt', changedt);\r\n\r\n console.log(url);\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'GET',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n window.location.href = url;\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n\r\n //location.href = url;\r\n });\r\n }\r\n}); ","(function (root) {\r\n\r\n \"use strict\";\r\n\r\n /**\r\n * ExpiredStorage\r\n * A class to manage local storage with expiration time (like cookies).\r\n *\r\n * @param storage: Optional storage base class to use (must implement the 'localStorage' API). If not defined, 'localStorage' will be used as a default.\r\n **/\r\n function ExpiredStorage(storage) {\r\n\r\n // set default storage to localStorage\r\n storage = storage || (typeof localStorage !== \"undefined\" ? localStorage : null);\r\n\r\n // sanity check1: make sure we have a valid storage class to use.\r\n if (!storage) {\r\n throw new Error(\"ExpiredStorage: No storage base class provided and 'localStorage' is undefined! Please provide a valid base storage class.\");\r\n }\r\n\r\n // sanity check2: make sure the storage class provide the required API.\r\n if (!(storage.setItem && storage.getItem && storage.removeItem && storage.clear)) {\r\n throw new Error(\"ExpiredStorage: Storage class don't support one or more of the required API functions: getItem, setItem, removeItem or clear.\");\r\n }\r\n\r\n // set storage class\r\n this._storage = storage;\r\n }\r\n\r\n /**\r\n * Define expired storage prototype.\r\n */\r\n ExpiredStorage.prototype = {\r\n\r\n // base storage class to use, must implement the localStorage API.\r\n _storage: null,\r\n\r\n // prefix to use when storing items timestamp\r\n _expiration_key_prefix: \"__expired_storage_ts__\",\r\n\r\n /**\r\n * Get current timestamp in seconds.\r\n **/\r\n getTimestamp: function () {\r\n return Math.floor(((new Date).getTime()) / 1000);\r\n },\r\n\r\n /**\r\n * Set item.\r\n * @param key: Item key to set (string).\r\n * @param value: Value to store (string).\r\n * @param expiration: Expiration time, in seconds. If not provided, will not set expiration time.\r\n * @param return: Storage.setItem() return code.\r\n **/\r\n setItem: function (key, value, expiration) {\r\n\r\n // set item\r\n var ret = this._storage.setItem(key, value);\r\n\r\n // set expiration timestamp (only if defined)\r\n if (expiration) {\r\n this.updateExpiration(key, expiration);\r\n }\r\n\r\n // return set value return value\r\n return ret;\r\n },\r\n\r\n /**\r\n * Get item.\r\n * @param key: Item key to get (string).\r\n * @return: Stored value, or undefined if not set / expired.\r\n */\r\n getItem: function (key) {\r\n\r\n // if expired remove item and return null\r\n if (this.isExpired(key)) {\r\n this.removeItem(key);\r\n return null;\r\n }\r\n\r\n // try to fetch and return item value\r\n return this._storage.getItem(key);\r\n },\r\n\r\n /**\r\n * Get item + metadata such as time left and if expired.\r\n * Even if item expired, will not remove it.\r\n * @param key: Item key to get (string).\r\n * @return: Dictionary with: {value, timeLeft, isExpired}\r\n */\r\n peek: function (key) {\r\n\r\n // get value and time left\r\n var ret = {\r\n value: this._storage.getItem(key),\r\n timeLeft: this.getTimeLeft(key),\r\n };\r\n\r\n // set if expired\r\n ret.isExpired = ret.timeLeft !== null && ret.timeLeft <= 0;\r\n\r\n // return data\r\n return ret;\r\n },\r\n\r\n /**\r\n * Get item time left to live.\r\n * @param key: Item key to get (string).\r\n * @return: Time left to expire (in seconds), or null if don't have expiration date.\r\n */\r\n getTimeLeft: function (key) {\r\n\r\n // try to fetch expiration time for key\r\n var expireTime = parseInt(this._storage.getItem(this._expiration_key_prefix + key));\r\n\r\n // if got expiration time return how much left to live\r\n if (expireTime && !isNaN(expireTime)) {\r\n\r\n return expireTime - this.getTimestamp();\r\n }\r\n\r\n // if don't have expiration time return null\r\n return null;\r\n },\r\n\r\n /**\r\n * Return if an item is expired (don't remove it, even if expired).\r\n * @param key: Item key to check (string).\r\n * @return: True if expired, False otherwise.\r\n */\r\n isExpired: function (key) {\r\n\r\n // get time left for item\r\n var timeLeft = this.getTimeLeft(key);\r\n\r\n // return if expired\r\n return timeLeft !== null && timeLeft <= 0;\r\n },\r\n\r\n /**\r\n * Update expiration time for an item (note: doesn't validate that the item is set).\r\n * @param key: Item key to update expiration for (string).\r\n * @param expiration: New expiration time in seconds to set.\r\n * @return: Storage.setItem() return code for setting new expiration.\r\n **/\r\n updateExpiration: function (key, expiration) {\r\n return this._storage.setItem(this._expiration_key_prefix + key, this.getTimestamp() + expiration);\r\n },\r\n\r\n /**\r\n * Remove an item.\r\n * @param key: Item key to remove (string).\r\n * @return: Storage.removeItem() return code.\r\n */\r\n removeItem: function (key) {\r\n\r\n // remove the item itself and its expiration time\r\n var ret = this._storage.removeItem(key);\r\n this._storage.removeItem(this._expiration_key_prefix + key);\r\n\r\n // return optional return code\r\n return ret;\r\n },\r\n\r\n /**\r\n * Set a json serializable value. This basically calls JSON.stringify on 'val' before setting it.\r\n * @param key: Item key to set (string).\r\n * @param value: Value to store (object, will be stringified).\r\n * @param expiration: Expiration time, in seconds. If not provided, will not set expiration time.\r\n * @param return: Storage.setItem() return code.\r\n **/\r\n setJson: function (key, val, expiration) {\r\n // special case - make sure not undefined, because it would just write \"undefined\" and crash on reading.\r\n if (val === undefined) {\r\n throw new Error(\"Cannot set undefined value as JSON!\");\r\n }\r\n\r\n // set stringified value\r\n return this.setItem(key, JSON.stringify(val), expiration);\r\n },\r\n\r\n /**\r\n * Get a json serializable value. This basically calls JSON.parse on the returned value.\r\n * @param key: Item key to get (string).\r\n * @return: Stored value, or undefined if not set / expired.\r\n **/\r\n getJson: function (key) {\r\n // get value\r\n var val = this.getItem(key);\r\n\r\n // if null, return null\r\n if (val === null) {\r\n return null;\r\n }\r\n\r\n // parse and return value\r\n return JSON.parse(val);\r\n },\r\n\r\n /**\r\n * Get all keys in storage, not including internal keys used to store expiration.\r\n * @param: includeExpired: if true, will also include expired keys.\r\n * @return: Array with keys.\r\n */\r\n keys: function (includeExpired) {\r\n // create list to return\r\n var ret = [];\r\n\r\n // iterate over storage keys to find all non-expiration keys\r\n var that = this;\r\n this._iterKeys(function (storageKey) {\r\n\r\n // if its not a timestamp key, skip it\r\n if (storageKey.indexOf(that._expiration_key_prefix) !== 0) {\r\n\r\n // add to return list, but only if including expired keys or if not expired yet\r\n if (includeExpired || !that.isExpired(storageKey)) {\r\n ret.push(storageKey);\r\n }\r\n }\r\n });\r\n\r\n // return keys\r\n return ret;\r\n },\r\n\r\n /**\r\n * Iterate all keys in storage class.\r\n * @param callback: Function to call for every key, with a single param: key.\r\n */\r\n _iterKeys: function (callback) {\r\n\r\n // first check if storage define a 'keys()' function. if it does, use it\r\n if (typeof this._storage.keys === \"function\") {\r\n var keys = this._storage.keys();\r\n for (var i = 0; i < keys.length; ++i) {\r\n callback(keys[i]);\r\n }\r\n }\r\n\r\n // if not supported try to use object.keys\r\n else if (typeof Object === \"function\" && Object.keys) {\r\n var keys = Object.keys(this._storage);\r\n for (var i = 0; i < keys.length; ++i) {\r\n callback(keys[i]);\r\n }\r\n }\r\n\r\n // if not supported try to use iteration via length\r\n else if (this._storage.length !== undefined && typeof this._storage.key === \"function\") {\r\n\r\n // first build keys array, so this function will be delete-safe (eg if callback remove keys it won't cause problems due to index change)\r\n var keys = [];\r\n for (var i = 0, len = this._storage.length; i < len; ++i) {\r\n keys.push(this._storage.key(i));\r\n }\r\n // now actually iterate keys\r\n for (var i = 0; i < keys.length; ++i) {\r\n callback(keys[i]);\r\n }\r\n }\r\n\r\n // if both methods above didn't work, iterate on all keys in storage class hoping for the best..\r\n else {\r\n for (var storageKey in this._storage) {\r\n callback(storageKey);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Clear the entire storage and all keys in it.\r\n */\r\n clear: function () {\r\n this._storage.clear();\r\n },\r\n\r\n /**\r\n * Clear expired keys.\r\n * If you never call this function, expired keys will remain until you try to get them / reset a new value.\r\n *\r\n * @param return: List of removed keys due to expiration.\r\n */\r\n clearExpired: function () {\r\n\r\n // return list\r\n var ret = [];\r\n\r\n // get current timestamp\r\n var timestamp = this.getTimestamp();\r\n\r\n // iterate over storage keys to find all counters\r\n var that = this;\r\n this._iterKeys(function (storageKey) {\r\n\r\n // if its not a timestamp key, skip it\r\n if (storageKey.indexOf(that._expiration_key_prefix) === 0) {\r\n\r\n // get item key\r\n var itemKey = storageKey.substr(that._expiration_key_prefix.length);\r\n\r\n // if expired remove it + the item\r\n if (that.isExpired(itemKey)) {\r\n\r\n that.removeItem(itemKey);\r\n ret.push(itemKey);\r\n }\r\n }\r\n });\r\n\r\n // return list with removed keys\r\n return ret;\r\n },\r\n };\r\n\r\n // add some api params\r\n ExpiredStorage.version = \"1.0.2\";\r\n ExpiredStorage.author = \"Ronen Ness\";\r\n ExpiredStorage.gitUrl = \"https://github.com/RonenNess/ExpiredStorage\";\r\n\r\n // AMD support.\r\n if (typeof define === \"function\" && define.amd) {\r\n define(function () {\r\n \"use strict\";\r\n return ExpiredStorage;\r\n });\r\n }\r\n\r\n // support in CommonJS with module object\r\n else if (typeof module === \"object\" && module.exports) {\r\n module.exports = ExpiredStorage;\r\n }\r\n\r\n // support in CommonJS without 'module' object\r\n else if (typeof exports === \"object\" && exports) {\r\n exports = ExpiredStorage;\r\n }\r\n\r\n // add to root (only if not previously defined)\r\n else if (root && !root.ExpiredStorage) {\r\n root.ExpiredStorage = ExpiredStorage;\r\n }\r\n\r\n // also return the API object\r\n return ExpiredStorage;\r\n\r\n})(this);","$(function () {\r\n if ($('form#FeeEditForm').length > 0) {\r\n\r\n if ($(\"#ChangesMadeError\").html() != \"\"){\r\n $(\"#readonlyModal\").modal('show');\r\n }\r\n\r\n if ($(\"#EffectiveDate\").val() === \"0001-01-01\") {\r\n $(\"#EffectiveDate\").val(\"\");\r\n };\r\n\r\n $('#EffectiveDate').on('blur', function (e) {\r\n var date = $('#EffectiveDate').val();\r\n var template1 = $('#UpdateAutomaticMessageBody1Template').text();\r\n var template2 = $('#UpdateAutomaticMessageBody2Template').text();\r\n var templateManual = $('#UpdateManualMessageTemplate').text();\r\n\r\n $('#UpdateAutomaticMessageBody1').html(template1.replace('{0}', date));\r\n $('#UpdateAutomaticMessageBody2').html(template2.replace('{0}', date));\r\n $('#UpdateManualMessage').html(templateManual.replace('{0}', date));\r\n });\r\n\r\n\r\n $('#btnUpdate').on('click', function () {\r\n if (!$(\"#EffectiveDate\").val()) {\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else{\r\n $(\"#id-EffectiveDate-error\").attr(\"hidden\", \"hidden\");\r\n\r\n //FieldValidationWarningMessage\r\n var attr = $(\"#FieldValidationWarningMessage\").attr(\"hidden\");\r\n if (isFieldValidationErrorJS && (typeof attr !== \"undefined\" && attr !== false && attr !== null)) {\r\n $(\"#FieldValidationWarningMessage\").removeAttr(\"hidden\");\r\n }\r\n else\r\n {\r\n //Is the admin note visible and empty?\r\n if (isFieldValidationErrorJS && $('#AdminNote').length && $('#AdminNote').val().length == 0) {\r\n $(\"#id-AdminNote-error\").removeAttr(\"hidden\");\r\n }\r\n else{\r\n $(\"#id-AdminNote-error\").attr(\"hidden\", \"hidden\");\r\n\r\n var updateDate = !$(\"#EffectiveDate\").val() ? today : $(\"#EffectiveDate\").val();\r\n\r\n var message1 = saveMessage1JS.replace('[YYYY-MM-DD]', updateDate);\r\n var message2 = saveMessage2JS.replace('[YYYY-MM-DD]', updateDate);\r\n\r\n //Update the message\r\n $(\"#saveModalMessage1\").text(message1);\r\n $(\"#saveModalMessage2\").text(message2);\r\n\r\n //Display the modal window\r\n $(\"#saveModal\").modal();\r\n }\r\n }\r\n }; \r\n });\r\n\r\n $('#linkDisabledFee').on('click', function(){\r\n if($(\"#DisableFeeWarningMessage\").hasClass(\"d-none\")){\r\n $(\"#DisableFeeWarningMessage\").removeClass(\"d-none\");\r\n }\r\n else\r\n {\r\n $(\"#DisableFeeWarningMessage\").addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $('#UpdateEnrollments-true').on('click', function () {\r\n $(\"#UpdateManualMessage\").addClass(\"d-none\");\r\n $(\"#UpdateAutomaticMessage\").removeClass(\"d-none\"); \r\n });\r\n\r\n $('#UpdateEnrollments-false').on('click', function () {\r\n $(\"#UpdateAutomaticMessage\").addClass(\"d-none\");\r\n $(\"#UpdateManualMessage\").removeClass(\"d-none\");\r\n });\r\n\r\n\r\n function validateDate(value) {\r\n var regEx = /^[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}$/;\r\n return regEx.test(value);\r\n }\r\n\r\n function resetMaxPercentIncrease(){\r\n $(\"#MaxPercentIncreaseAllRB\").prop('checked', false);\r\n $(\"#MaxPercentIncreaseInfantPreschoolRB\").prop('checked', false)\r\n $(\"#MaxPercentIncreaseManually\").prop('checked', false)\r\n }\r\n\r\n //Increase all values to the max value\r\n $(\"#MaxPercentIncreaseAllRB\").on('click', function(){\r\n //Only update if the effective date is set\r\n if (!validateDate($(\"#EffectiveDate\").val())) {\r\n resetMaxPercentIncrease();\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else {\r\n //We want to reload the page with the new options\r\n ReloadEditPage(calculateMarketFeeOptionAllJS);\r\n };\r\n });\r\n\r\n //Increase infant and preschool to max value\r\n $(\"#MaxPercentIncreaseInfantPreschoolRB\").on('click', function(){\r\n //Only update if the effective date is set\r\n if (!validateDate($(\"#EffectiveDate\").val())) {\r\n resetMaxPercentIncrease();\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else {\r\n //We want to reload the page with the new options\r\n ReloadEditPage(calculateMarketFeeOptionPreschoolJS);\r\n };\r\n });\r\n\r\n //Reset the values to their original values\r\n $(\"#MaxPercentIncreaseManually\").on('click', function(){\r\n //Only update if the effective date is set\r\n if (!validateDate($(\"#EffectiveDate\").val())) {\r\n resetMaxPercentIncrease();\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else {\r\n\r\n //We want to reload the page with the new options\r\n ReloadEditPage(calculateMarketFeeOptionManuallyJS);\r\n };\r\n });\r\n \r\n $('#buttonSave').on('click', function () {\r\n if (!validateDate($(\"#EffectiveDate\").val())) {\r\n resetMaxPercentIncrease();\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else {\r\n $(\"form\").trigger(\"submit\");\r\n };\r\n });\r\n\r\n $('#buttonCancel').on('click', function () {\r\n location.href = returnURLJS;\r\n });\r\n\r\n $('#buttonDelete').on('click', function () {\r\n var effectiveDate = $(\"#EffectiveDate\").val();\r\n\r\n //Make an Ajax call to delete the record\r\n //using ajax\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/license/fees/DeleteFee/' + operatorIdJS + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/en/license/fees/DeleteFee/' + operatorIdJS + '/';\r\n }\r\n $.ajax({\r\n url: url + '?licenseNumber=' + licenseNumberJS + '&effectiveDate=' + effectiveDate + '&alternateId=' + alternateIdJS + '&licenceFeeTypeCd=' + licenceFeeTypeCdJS + '&feeUpdateAgeGroupType=' + feeUpdateAgeGroupTypeJS,\r\n method: 'POST',\r\n contentType: \"application/json; charset=utf-8\",\r\n processData: false,\r\n success: function (res) {\r\n //redirect to the fees pages\r\n window.location = returnURLJS;\r\n }\r\n });\r\n });\r\n \r\n $(\".datepicker\").on('blur', function () {\r\n if(!isAdminJS){\r\n ReloadEditPage(\"\");\r\n }\r\n });\r\n\r\n function ReloadEditPage(feeoption){\r\n //Ensure the effective date value exists\r\n if (!validateDate($(\"#EffectiveDate\").val())) {\r\n $(\"#id-EffectiveDate-error\").removeAttr(\"hidden\");\r\n }\r\n else {\r\n $(\"#id-EffectiveDate-error\").attr(\"hidden\", \"hidden\");\r\n\r\n //We need the license number and effective date\r\n var effectiveDate = $(\"#EffectiveDate\").val();\r\n var url = reloadURLJS\r\n .replace('changedate', effectiveDate)\r\n .replace('ChangeFeeOption', feeoption);\r\n url += \"&feeUpdateAgeGroupType=\" + feeUpdateAgeGroupTypeJS\r\n\r\n location.href = url;\r\n }\r\n }\r\n\r\n function validateDecimal(value, langCode) {\r\n var regEx = /^[0-9]{0,3}$|^[0-9]{0,3}\\.$|^[0-9]{0,3}\\.[0-9]{0,2}$/;\r\n\r\n if(langCode == \"fr\"){\r\n regEx = /^[0-9]{0,3}$|^[0-9]{0,3}\\,$|^[0-9]{0,3}\\,[0-9]{0,2}$/;\r\n }\r\n\r\n return regEx.test(value);\r\n }\r\n\r\n\r\n $('.numericonly').keyup(function (e) {\r\n if (location.href.indexOf('/en/') > 0){\r\n\r\n //In english allow number and the period\r\n this.value = this.value.replace(/[^0-9\\.]/g,'');\r\n\r\n //Make sure we are followin this format\r\n //999.00\r\n var valid = validateDecimal(this.value, 'en');\r\n if(!valid)\r\n {\r\n //if value is not valid then blank it out\r\n this.value = \"\";\r\n }\r\n \r\n }\r\n else{\r\n //in French allow number and the comma\r\n value = value.replace(/[^0-9\\,]/g, '');\r\n\r\n //Make sure we are followin this format\r\n //999.00\r\n var valid = validateDecimal(this.value, 'fr');\r\n if(!valid){\r\n //if value is not valid then blank it out\r\n this.value = \"\";\r\n }\r\n }\r\n });\r\n\r\n $(\".warningboxtrigger\").on('blur', function () {\r\n $(\"#FieldValidationWarningMessage\").attr(\"hidden\", \"hidden\");\r\n $(\"#id-AdminNote-error\").attr(\"hidden\", \"hidden\");\r\n $(\"#AdminNote\").attr(\"hidden\", \"hidden\"); \r\n isFieldValidationErrorJS = false;\r\n });\r\n\r\n } // if ($('form#FeeEditForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('#FeeSubsidyApprovalForm').length > 0) {\r\n\r\n\r\n function UpdateFilters(date) {\r\n if (date === undefined) {\r\n date = $(\"#CurrentSubmissionPeriod\").val();\r\n console.log(date);\r\n }\r\n\r\n var filterWarning = $(\"input[type='radio'][name='FilterByWarning']:checked\").val();\r\n var filterStatus = $(\"input[type='radio'][name='FilterByStatus']:checked\").val();\r\n var searchText = $(\"input#SearchText\").val();\r\n\r\n window.location.href =\r\n jsPeriodLink + \"?submissionPeriod=\" + date + \"&\" +\r\n \"filterWarning=\" + filterWarning + \"&\" +\r\n \"filterStatus=\" + filterStatus + \"&\" +\r\n \"searchString=\" + searchText\r\n }\r\n\r\n $('#SubmissionPeriod').datetimepicker('options', {\r\n format: \"YYYY-MM-DD\",\r\n locale: jsLang + \"-ca\",\r\n keepOpen: false,\r\n defaultDate: false\r\n });\r\n\r\n\r\n $('#SubmissionPeriod').keydown(function (e) {\r\n e.preventDefault();\r\n });\r\n\r\n $('#SubmissionPeriod').on('change.datetimepicker', function (e) {\r\n var date = moment(e.date).format('YYYY-MM-DD');\r\n var currentDate = $(\"#CurrentSubmissionPeriod\").val();\r\n\r\n if (date != currentDate) {\r\n UpdateFilters(date);\r\n }\r\n });\r\n\r\n $(\"input[type='radio'][name='FilterByStatus']\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"input[type='radio'][name='FilterByWarning']\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"button#SearchButton\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"input[type='text']#SearchText\").on('keyup', function (e) {\r\n if (e.keyCode == 13) {\r\n $(\"button#SearchButton\").click();\r\n }\r\n });\r\n\r\n function Load() {\r\n var viewStatus = $(\"input[type='radio'][name='FilterByStatus']:checked\").val();\r\n var viewWarning = $(\"input[type='radio'][name='FilterByWarning']:checked\").val();\r\n\r\n var resultsCountStr = jsOperatorsLabel + \" (\" + jsOperCount + \"); \" + jsLicensesLabel + \" (\" + jsLicenseCount + \")\";\r\n $(\"#ResultsCount\").text(resultsCountStr);\r\n\r\n // Remove/show verify all/submit buttons as appropriate\r\n if (jsOperCount > 0 && viewWarning == jsViewNoWarning && viewStatus == jsViewReadyStatus) {\r\n $(\"div#VerifyAllDiv\").removeClass(\"d-none\");\r\n } else {\r\n $(\"div#VerifyAllDiv\").addClass(\"d-none\");\r\n }\r\n\r\n if (jsOperCount > 0 && viewStatus == jsViewReadyStatus) {\r\n $(\".submit-button\").removeClass(\"d-none\");\r\n } else {\r\n $(\".submit-button\").addClass(\"d-none\");\r\n }\r\n }\r\n\r\n Load();\r\n\r\n // Verified checkbox is set on a per-operator basis.\r\n $(\"input.verified\").click(function () {\r\n // If we change any of the verified boxes, we need to reset the 'select all' check at the bottom.\r\n $(\"input#chkCheckAll\").prop(\"checked\", false);\r\n\r\n SetVerified($(this));\r\n });\r\n\r\n function SetVerified(chk) {\r\n var isVerified = chk.is(\":checked\");\r\n var card = chk.parents(\".card\").first();\r\n var header = card.children(\".card-header\").first();\r\n\r\n // If verified is checked, we need to uncheck and disable all the denied checkboxes.\r\n card.find(\"input.denied\").each(function () {\r\n $(this).prop(\"disabled\", isVerified);\r\n if (isVerified) {\r\n if ($(this).is(\":checked\")) {\r\n $(this).parents(\".row\").find(\".denied-detail\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n }\r\n\r\n $(this).prop(\"checked\", false);\r\n }\r\n });\r\n\r\n // If verified is checked, we need to check and enable all the operational grant checkboxes.\r\n // If it's unchecked we need to disable and uncheck them.\r\n card.find(\"input.grant\").each(function () {\r\n $(this).prop(\"disabled\", !isVerified);\r\n $(this).prop(\"checked\", isVerified);\r\n if (!isVerified) {\r\n $(this).parents(\".row\").find(\".grant-detail\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n }\r\n });\r\n\r\n if (isVerified) {\r\n card.removeClass(\"border-danger\");\r\n card.addClass(\"border-success\");\r\n\r\n header.removeClass(\"bg-danger\");\r\n header.addClass(\"bg-success\");\r\n header.addClass(\"text-white\");\r\n } else {\r\n card.removeClass(\"border-success\");\r\n\r\n header.removeClass(\"bg-success\");\r\n header.removeClass(\"text-white\");\r\n }\r\n }\r\n\r\n // Denied checkbox is set on a per-license basis.\r\n $(\"input.denied\").click(function () {\r\n\r\n var isCurrentDenied = $(this).is(\":checked\");\r\n var detail = $(this).parents(\".row\").find(\".denied-detail\").first();\r\n\r\n $(this).parent(\"span.denied-reason-error\").addClass(\"d-none\");\r\n\r\n if (isCurrentDenied) {\r\n detail.removeClass(\"d-none\");\r\n } else {\r\n detail.addClass(\"d-none\");\r\n }\r\n\r\n var card = $(this).parents(\".card\").first();\r\n var header = card.children(\".card-header\").first();\r\n\r\n var isDenied = false;\r\n\r\n // Check if ANY of the licenses are denied.\r\n // If so, we keep the error border. Otherwise we remove it.\r\n card.find(\"input.denied\").each(function () {\r\n if ($(this).is(\":checked\")) {\r\n isDenied = true;\r\n return false;\r\n }\r\n });\r\n\r\n if (isDenied) {\r\n card.removeClass(\"border-sucees\");\r\n card.addClass(\"border-danger\");\r\n\r\n card.find(\"input.verified\").prop(\"disabled\", true);\r\n\r\n header.removeClass(\"bg-sucess\");\r\n header.addClass(\"bg-danger\");\r\n header.addClass(\"text-white\");\r\n } else {\r\n card.removeClass(\"border-danger\");\r\n\r\n card.find(\"input.verified\").prop(\"disabled\", false);\r\n\r\n header.removeClass(\"bg-danger\");\r\n header.removeClass(\"text-white\");\r\n }\r\n });\r\n\r\n $(\"select.denied-reason\").change(function () {\r\n $(this).siblings(\".denied-reason-error\").first().addClass(\"d-none\");\r\n if ($(this).val() == jsFeeSubsidyDenialTypeOther) {\r\n $(this).siblings(\".denied-other-detail\").first().removeClass(\"d-none\");\r\n } else {\r\n $(this).siblings(\".denied-other-detail\").first().addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\"textarea.denied-other-text\").keydown(function () {\r\n $(this).siblings(\".denied-other-error\").first().addClass(\"d-none\");\r\n });\r\n\r\n $(\"input.grant\").click(function () {\r\n var isCurrentApproved = $(this).is(\":checked\");\r\n var detail = $(this).parents(\".row\").find(\".grant-detail\").first();\r\n\r\n $(this).parent(\"span.grant-reason-error\").addClass(\"d-none\");\r\n\r\n if (isCurrentApproved) {\r\n detail.addClass(\"d-none\");\r\n } else {\r\n detail.removeClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\"select.grant-reason\").change(function () {\r\n $(this).siblings(\".grant-reason-error\").first().addClass(\"d-none\");\r\n if ($(this).val() == jsGrantDenialTypeOther) {\r\n $(this).siblings(\".grant-other-detail\").first().removeClass(\"d-none\");\r\n } else {\r\n $(this).siblings(\".grant-other-detail\").first().addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\"textarea.grant-other-text\").keydown(function () {\r\n $(this).siblings(\".grant-other-error\").first().addClass(\"d-none\");\r\n });\r\n\r\n\r\n $(\"input#chkCheckAll\").click(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(\".operator-card:not(d-none) input.verified:not(:checked)\").each(function () {\r\n $(this).prop(\"checked\", true);\r\n SetVerified($(this));\r\n });\r\n } else {\r\n $(\".operator-card:not(d-none) input.verified:checked\").each(function () {\r\n $(this).prop(\"checked\", false);\r\n SetVerified($(this));\r\n });\r\n }\r\n });\r\n\r\n $(\".submit-button\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"input#chkCheckAll\").is(\":checked\")) {\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n }\r\n\r\n return Submit();\r\n });\r\n\r\n $(\".submit-button-modal\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n return Submit();\r\n });\r\n\r\n function Submit() {\r\n $(\".error-message:not(.d-none)\").addClass(\"d-none\");\r\n $(\"span.denied-reason-error:not(.d-none)\").addClass(\"d-none\");\r\n $(\"span.denied-other-error:not(.d-none)\").addClass(\"d-none\");\r\n\r\n var hasErrors = false;\r\n\r\n // Gather the verified operators and denied licenses that match the filters to send back to the server.\r\n // This is the only data that should be posted.\r\n\r\n var verifiedList = []\r\n var deniedGrantList = [];\r\n\r\n $(\".operator-card:not('.d-none') input.verified:checked\").each(function () {\r\n verifiedList.push($(this).val());\r\n\r\n var deniedGrants = $(this).parents(\".operator-card\").first().find(\"input.grant:not(:checked)\");\r\n deniedGrants.each(function () {\r\n var deniedReason = $(this).parents(\".row\").first().find(\"select.grant-reason :selected\").first().val();\r\n var deniedOtherDetail = $(this).parents(\".row\").first().find(\"textarea.grant-other-text\").first().val();\r\n var deniedObject = {\r\n FeeSubsidySubmissionId: $(this).val(),\r\n DeniedReason: deniedReason,\r\n DeniedOtherDetail: deniedOtherDetail\r\n }\r\n deniedGrantList.push(deniedObject);\r\n\r\n\r\n if (deniedReason == \"-1\") {\r\n hasErrors = true;\r\n $(this).parents(\".row\").first().find(\".grant-reason-error\").first().removeClass(\"d-none\");\r\n } else if (deniedReason == jsFeeSubsidyDenialTypeOther) {\r\n if ($(this).parents(\".row\").first().find(\"textarea.grant-other-text\").first().val().trim() == \"\") {\r\n hasErrors = true;\r\n $(this).parents(\".row\").first().find(\".grant-other-error\").first().removeClass(\"d-none\");\r\n }\r\n }\r\n });\r\n });\r\n\r\n var deniedList = [];\r\n $(\".operator-card:not('.d-none') input.denied:checked\").each(function () {\r\n var deniedReason = $(this).parents(\".row\").first().find(\"select.denied-reason :selected\").first().val();\r\n var deniedOtherDetail = $(this).parents(\".row\").first().find(\"textarea.denied-other-text\").first().val();\r\n var deniedObject = {\r\n FeeSubsidySubmissionId: $(this).val(),\r\n DeniedReason: deniedReason,\r\n DeniedOtherDetail: deniedOtherDetail\r\n }\r\n deniedList.push(deniedObject);\r\n\r\n\r\n if (deniedReason == \"-1\") {\r\n hasErrors = true;\r\n $(this).parents(\".row\").first().find(\".denied-reason-error\").first().removeClass(\"d-none\");\r\n } else if (deniedReason == jsFeeSubsidyDenialTypeOther) {\r\n if ($(this).parents(\".row\").first().find(\"textarea.denied-other-text\").first().val().trim() == \"\") {\r\n hasErrors = true;\r\n $(this).parents(\".row\").first().find(\".denied-other-error\").first().removeClass(\"d-none\");\r\n }\r\n }\r\n });\r\n\r\n if (verifiedList.length == 0 && deniedList.length == 0) {\r\n hasErrors = true;\r\n $(\".error-message\").text(jsErrorNoSelection);\r\n $(\".error-message\").removeClass(\"d-none\");\r\n }\r\n\r\n if (!hasErrors) {\r\n $(\"#VerifiedOperators\").val(JSON.stringify(verifiedList));\r\n $(\"#DeniedGrants\").val(JSON.stringify(deniedGrantList));\r\n $(\"#DeniedLicenses\").val(JSON.stringify(deniedList));\r\n\r\n $(\"#FilterWarning\").val($(\"input[type='radio'][name='FilterByWarning']:checked\").val());\r\n $(\"#FilterStatus\").val($(\"input[type='radio'][name='FilterByStatus']:checked\").val());\r\n\r\n $('#FeeSubsidyApprovalForm').submit();\r\n }\r\n\r\n return false;\r\n }\r\n\r\n $(\".reopen-button\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#ReopenOperatorId\").val($(this).val());\r\n\r\n $(\"#reopenModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\".reopen-button-modal\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $('#FeeSubsidyApprovalForm').submit();\r\n return false;\r\n });\r\n\r\n } // if ($('#FeeSubsidyApprovalForm').length > 0) \r\n}); // $(function () {","$(function () {\r\n if ($('form#MangeMultipleEnrolmentsForm').length > 0) {\r\n\r\n $(\"#btnSave\").on('click', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n var isValid = true;\r\n $(\"input:radio\").each(function () {\r\n var name = $(this).attr(\"name\");\r\n if ($(\"input:radio[name=\" + name + \"]:checked\").length == 0) {\r\n $(\"#RadiobuttonNotSelected-error\").removeClass('d-none');\r\n isValid = false;\r\n }\r\n });\r\n\r\n var ids = [];\r\n $(\".detailId:checked\").each(function (e) {\r\n ids.push($(this).data('perm'));\r\n });\r\n\r\n console.log(ids);\r\n\r\n $(\"#DetailIdsToProcess\").val(ids.join(','));\r\n\r\n if (isValid)\r\n {\r\n $('#MangeMultipleEnrolmentsForm')[0].submit();\r\n }\r\n });\r\n\r\n\r\n $(document).on('click', '.btnCancel', function (e) {\r\n var url = '';\r\n var self = $(this);\r\n var oper;\r\n var licence;\r\n var id;\r\n\r\n oper = self.data('oper');\r\n licence = self.data('licence');\r\n id = self.data('submissionid');\r\n\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/feesubsidy/home/licensesummary/' + oper + '/' + licence + '/' + id + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/feesubsidy/home/licensesummary/' + oper + '/' + licence + '/' + id + '/';\r\n }\r\n\r\n $.ajax({\r\n url: url,\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n window.location.href = url;\r\n },\r\n error: function () {\r\n window.location.href = url;\r\n }\r\n });\r\n });\r\n\r\n } \r\n}); ","$(function () {\r\n if ($('form#FISApprovalForm').length > 0) {\r\n \r\n $(\".approved, .denied\").click(function () {\r\n UpdateCheckboxes($(this).val());\r\n UpdateApproveAll();\r\n });\r\n\r\n function UpdateCheckboxes(id) {\r\n var approveBox = $(\"input.approved[value='\" + id + \"']\").first();\r\n var denyBox = $(\"input.denied[value='\" + id + \"']\").first();\r\n var detail = $(\".denied-detail[data-id='\" + id + \"'\").first();\r\n\r\n // If the approve box is checked, the deny box is disabled, and vice-versa\r\n if (approveBox.is(\":checked\")) {\r\n denyBox.prop(\"checked\", false);\r\n denyBox.attr(\"disabled\", \"disabled\");\r\n detail.addClass(\"d-none\");\r\n } else if (denyBox.is(\":checked\")) {\r\n approveBox.prop(\"checked\", false);\r\n approveBox.attr(\"disabled\", \"disabled\");\r\n detail.removeClass(\"d-none\");\r\n } else {\r\n approveBox.removeAttr(\"disabled\");\r\n denyBox.removeAttr(\"disabled\");\r\n detail.addClass(\"d-none\");\r\n }\r\n }\r\n\r\n function UpdateApproveAll() {\r\n // If any rows are denied, the check all is denied. If any rows are not approved, the check all is unchecked.\r\n if($(\"input.denied:checked\").length > 0 ) {\r\n $(\"#ApproveAll\").prop(\"checked\", false);\r\n $(\"#ApproveAll\").attr(\"disabled\", \"disabled\");\r\n } else if ($(\"input.approved:not(:checked)\").length > 0) {\r\n $(\"#ApproveAll\").removeAttr(\"disabled\");\r\n $(\"#ApproveAll\").prop(\"checked\", false);\r\n } else {\r\n $(\"#ApproveAll\").removeAttr(\"disabled\");\r\n }\r\n }\r\n\r\n $(\"#ApproveAll\").click(function () {\r\n var isChecked = $(this).is(\":checked\");\r\n\r\n $(\"input.approved\").each(function () {\r\n $(this).prop(\"checked\", isChecked);\r\n\r\n UpdateCheckboxes($(this).val());\r\n });\r\n });\r\n\r\n $(\"#ApproveButton\").click(function() {\r\n // check to make sure that any denied rows have a denied reason set\r\n var isValid = true;\r\n $(\".denied-error\").addClass(\"d-none\");\r\n\r\n $(\"input.denied:checked\").each(function() {\r\n var id = $(this).val();\r\n if ($(\".denied-text[data-id='\" + id + \"'\").val().trim() == \"\") {\r\n $(\".denied-error[data-id='\" + id + \"'\").removeClass(\"d-none\");\r\n isValid = false;\r\n }\r\n });\r\n\r\n if(!isValid) {\r\n return false;\r\n }\r\n\r\n var approveCount = $(\"input.approved:checked\").length;\r\n var denyCount = $(\"input.denied:checked\").length;\r\n\r\n if (approveCount == 0 && denyCount == 0) {\r\n $(\"#validationModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n return false;\r\n }\r\n\r\n var confirmString = jsAreYouSure;\r\n if(approveCount > 0) {\r\n confirmString += jsApprove.replace(\"X\", approveCount);\r\n }\r\n\r\n if(approveCount > 0 && denyCount > 0) {\r\n confirmString += jsAnd\r\n }\r\n\r\n if (denyCount > 0) {\r\n confirmString += jsDeny.replace(\"X\", denyCount);\r\n }\r\n\r\n confirmString += \"?\";\r\n\r\n $(\".modal-body\").text(confirmString);\r\n\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\".submit-button-modal\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n // Gather the approved and denied operators to send back to the server.\r\n var approvedList = []\r\n\r\n $(\"input.approved:checked\").each(function () {\r\n var oper = $(this).attr(\"data-oper\");\r\n \r\n var approvalObject = {\r\n PaymentTransactionId: $(this).val(),\r\n OperatorId: oper\r\n };\r\n\r\n approvedList.push(approvalObject);\r\n });\r\n\r\n // For denied operators, we need to collect the denied reasons as well.\r\n var deniedList = [];\r\n\r\n $(\"input.denied:checked\").each(function () {\r\n var reason = $(\".denied-text[data-id='\" + $(this).val() + \"'\").val().trim();\r\n\r\n var denialObject = {\r\n PaymentTransactionId: $(this).val(),\r\n DeniedReason: reason\r\n };\r\n\r\n deniedList.push(denialObject);\r\n });\r\n \r\n // Fill out our form fields\r\n $(\"#ApprovedPaymentTransactions\").val(JSON.stringify(approvedList));\r\n $(\"#DeniedPaymentTransactions\").val(JSON.stringify(deniedList));\r\n\r\n $('#FISApprovalForm').submit();\r\n });\r\n\r\n } // if ($('form#FISApprovalForm').length > 0)\r\n}); // $(function () {","\r\n$(function () {\r\n\r\n \r\n var prefix = \"\";\r\n // var oper ='@ViewContext.RouteData.Values[\"oper\"].ToString()';\r\n if (location.hostname === \"localhost\") { prefix=\"\"}\r\n else {prefix=window.location.pathname.split(\"/\")[1];}\r\n\r\n var strUrl= \"\"\r\n if (prefix === \"\") {\r\n strUrl = window.location.protocol + \"//\" + window.location.host + \"/\" + window.app.currentLanguage() + \"/\" + \"home/HasUserAlerts\"\r\n }\r\n else {\r\n strUrl = window.location.protocol + \"//\" + window.location.host + \"/\" + prefix + \"/\" + window.app.currentLanguage() + \"/\" + \"home/HasUserAlerts\"\r\n }\r\n\r\n if (window.location.pathname !== undefined && window.location.pathname != null) {\r\n strUrl += \"?pathName=\" + encodeURIComponent(window.location.pathname)\r\n }\r\n\r\n if ($(\".inboxlink\").length > 0) {\r\n $.getJSON(\r\n strUrl,\r\n function (data) {\r\n $(\".inbox-spinner\").remove();\r\n\r\n try {\r\n\r\n if (data && data.hasNew && data.hasNew === true) {\r\n $(\".inboxlink span\")\r\n .html(data.count)\r\n .removeClass(\"badge-danger\")\r\n .addClass(\"badge-info\")\r\n .show();\r\n \r\n } else if (data && data.count >= 0) {\r\n // no badge if nothing new\r\n }\r\n\r\n //if (checkalertroutes && data && data.warnings && data.warnings.length > 0) {\r\n // var warnings = data.warnings;\r\n // // If we have warnings to show, find the container for the warnings.\r\n // var container = $(\"
\");\r\n // container.insertAfter(\".body-content hr:first\");\r\n // if (container.length > 0) {\r\n // for (var i = 0; i < warnings.length; i++) {\r\n // var warning = warnings[i];\r\n\r\n // var warningPeriods = \"\";\r\n\r\n // // If the warning has periods associated with it, build a list of those periods here.\r\n // if (warning.warningMessagePeriods && warning.warningMessagePeriods.length > 0) {\r\n // warningPeriods = \"\"\r\n // }\r\n\r\n // var button = \"\";\r\n\r\n // // If there's a warning button specified, build it here.\r\n // if (warning.warningButton && warning.warningButtonUri) {\r\n // button = \"
\" +\r\n // warning.warningButton + \"
\";\r\n // }\r\n\r\n // // Create the warning div and append it to the warning container.\r\n // var appendItem = \"
\" + warning.warningText + \"
\" + warningPeriods + button + \"
\"\r\n\r\n // container.append(appendItem); \r\n // }\r\n // }\r\n //}\r\n\r\n //$(\".body-content\").fadeIn(50);\r\n } catch (e) {\r\n\r\n //$(\".body-content\").fadeIn(50); \r\n }\r\n } // function data\r\n );\r\n }\r\n\r\n \r\n});\r\n","const isNumericInput = (event) => {\r\n const key = event.keyCode;\r\n return ((key >= 48 && key <= 57) || // Allow number line\r\n (key >= 96 && key <= 105) // Allow number pad\r\n );\r\n};\r\n\r\nconst isModifierKey = (event) => {\r\n const key = event.keyCode;\r\n return (event.shiftKey === true || key === 35 || key === 36) || // Allow Shift, Home, End\r\n (key === 8 || key === 9 || key === 13 || key === 46) || // Allow Backspace, Tab, Enter, Delete\r\n (key > 36 && key < 41) || // Allow left, up, right, down\r\n (\r\n // Allow Ctrl/Command + A,C,V,X,Z\r\n (event.ctrlKey === true || event.metaKey === true) &&\r\n (key === 65 || key === 67 || key === 86 || key === 88 || key === 90)\r\n )\r\n};\r\n\r\nconst enforceFormat = (event) => {\r\n // Input must be of a valid number format or a modifier key, and not longer than ten digits\r\n if (!isNumericInput(event) && !isModifierKey(event)) {\r\n event.preventDefault();\r\n }\r\n};\r\n\r\nconst formatToPhone = (event) => {\r\n if (isModifierKey(event)) { return; }\r\n\r\n // I am lazy and don't like to type things more than once\r\n const target = event.target;\r\n const input = event.target.value.replace(/\\D/g, '').substring(0, 10); // First ten digits of input only\r\n const zip = input.substring(0, 3);\r\n const middle = input.substring(3, 6);\r\n const last = input.substring(6, 10);\r\n\r\n if (input.length > 6) { target.value = `(${zip}) ${middle}-${last}`; }\r\n else if (input.length > 3) { target.value = `(${zip}) ${middle}`; }\r\n else if (input.length > 0) { target.value = `(${zip}`; }\r\n};","/**\r\n * globally accessable object so we don't pollute the global namespace on every page.\r\n *\r\n * Create properties and methods on the fly:\r\n *\r\n * app.data = app.data || []; // try to overwrite objects or use unique names, eg. app.regChildPgData = []\r\n *\r\n * app.data.push({'id': someId}); // use arrays as storage for lists\r\n *\r\n * app[\"object-\"+someId] = .... // create objects by name dynamically if needed to avoid array looping\r\n *\r\n * @format\r\n */\r\n\r\nif (top != self) {\r\n top.location.replace(self.location.href);\r\n alert(\"iframe detected\");\r\n}\r\n\r\nwindow.app = window.app || {}; // don't overwrite existing var if already exists\r\n\r\n// general utility functions that are ok on the global namespace\r\n\r\n// redifine FALSY to exlude 0\r\nfunction not(val) {\r\n return !val && val !== \"0\" && val !== 0; \r\n}\r\n// global debug wrapper over console.log, turns off in production\r\n//function debug(m) {\r\n// if (window.app.env.toLowerCase().indexOf(\"prd\") < 0) {\r\n// console.log(m);\r\n// }\r\n//}\r\n\r\n// Polyfills\r\n//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith#Polyfill\r\nif (!String.prototype.endsWith) {\r\n String.prototype.endsWith = function(search, this_len) {\r\n if (this_len === undefined || this_len > this.length) {\r\n this_len = this.length;\r\n }\r\n return this.substring(this_len - search.length, this_len) === search;\r\n };\r\n}\r\n\r\n// setup some common stuff\r\n$(function() {\r\n /* query ready function */\r\n // only global site-wide functionality here\r\n if ($('input[name=\"__RequestVerificationToken\"]').length > 0) {\r\n var token = $('input[name=\"__RequestVerificationToken\"]').val();\r\n $.ajaxSetup({\r\n headers: {\r\n 'RequestVerificationToken': token\r\n }\r\n });\r\n }\r\n // add class sc 'suppress click' to stop double form submission\r\n $(document).on(\"click\", \".sc\", function(e) {\r\n e.preventDefault();\r\n $(this).prop(\"disabled\", true);\r\n $(this)\r\n .closest(\"form\")\r\n .get(0)\r\n .submit();\r\n });\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip({\r\n placement: \"auto\",\r\n container: \"body\",\r\n trigger: \"manual\"\r\n });\r\n\r\n /* data-collapse logic */\r\n $(\"[data-collapse-target*='#']\").on(\"click\", function() {\r\n window.debug(\"collapse!\");\r\n var $this = $(this);\r\n $($this.data(\"collapse-target\")).slideToggle();\r\n });\r\n /* end data-collapse logic */\r\n\r\n $('[data-toggle=\"tooltip\"]').mouseenter(function() {\r\n $(this).tooltip(\"show\");\r\n });\r\n\r\n $('[data-toggle=\"tooltip\"]').mouseleave(function() {\r\n $(this).tooltip(\"hide\");\r\n });\r\n if ($(\"#EditAddressForm\").length > 0) {\r\n $.fn.select2.defaults.set(\"theme\", \"bootstrap4\"); // default theme for select2 dropdowns\r\n }\r\n $(\".feedback\").on(app.clickEvent, function(e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(\"#feedbackModalLabel\").html($(this).html());\r\n $(\".modalspinner\").show();\r\n console.log(window.location.origin + window.app.hrefPrefix() + \"/\" + window.app.currentLanguage() + \"/home/feedbackview\");\r\n $(\"#feedbackModal .feedback-container\").load(\r\n window.app.hrefPrefix() + \"/\" + window.app.currentLanguage() + \"/home/feedbackview\",\r\n function() {\r\n $(\".modalspinner\").hide();\r\n }\r\n );\r\n\r\n $(\"#feedbackModal\").modal({ 'backdrop': 'static', 'focus': true, 'show': true });\r\n });\r\n\r\n $(\"a.elink\").prop(\"target\", \"_blank\");\r\n\r\n $(document).on(\"click\", \".feedbackbtn\", function(e) {\r\n e.preventDefault();\r\n $(\".feedback-container form\").submit();\r\n return false;\r\n });\r\n\r\n // handle \"open in a new tab scenarios for Contact and Feedback modals\r\n if (window.location.hash === \"#contact\") {\r\n $(\"#feedbackModalLabel\").html($(\".contactus\").html());\r\n $(\"#feedbackModal\").modal({ 'backdrop': 'static', 'focus': true, 'show': true });\r\n }\r\n if (window.location.hash === \"#feedback\") {\r\n $(\"#feedbackModalLabel\").html($(\".feedbacklink\").html());\r\n $(\"#feedbackModal\").modal({ 'backdrop': 'static', 'focus': true, 'show': true });\r\n }\r\n\r\n // feedback submit\r\n $(document).on(\"submit\", \".feedback-container form\", function() {\r\n //$(\".feedback-container form\").validate();\r\n var valid = true; //$(\".feedback-container form\").valid();\r\n\r\n var btn = $(\".feedbackbtn\");\r\n window.app.data = window.app.data || {};\r\n window.app.data.btnHtml = btn.html();\r\n if (valid) {\r\n btn.prop(\"disabled\", true);\r\n btn.html(\"\");\r\n var jqxhr = $.ajax({\r\n url:\r\n window.app.hrefPrefix() + \"/\" + window.app.currentLanguage() + \"/data/Feedback\",\r\n type: \"POST\",\r\n dataType: \"json\",\r\n data: {\r\n EmailAddress: $(\".feedback-container form #EmailAddress\").val(),\r\n Email: $(\".feedback-container form #Email\").val(),\r\n Name: $(\".feedback-container form #Name\").val(),\r\n Comments: $(\".feedback-container form #Comments\").val(),\r\n PhoneNumber: $(\".feedback-container form #PhoneNumber\").val(),\r\n __RequestVerificationToken: $(\r\n \".feedback-container form input[name=__RequestVerificationToken]\"\r\n ).val()\r\n },\r\n error: function(xhr, status, error) {\r\n btn.html(window.app.data.btnHtml);\r\n btn.prop(\"disabled\", false);\r\n $(\".feedback-container .errormsg\").html(status + \": \" + error);\r\n },\r\n success: function(data, status, xhr) {\r\n if (data !== null && data !== undefined && data.result !== undefined) {\r\n if (data.result) {\r\n btn.html(\"\");\r\n\r\n $(\"#feedbackModal\").modal(\"hide\");\r\n $(\"#redirectModal .modal-title\").html(\r\n $(\"#feedbackModal .modal-title\").html()\r\n );\r\n $(\"#redirectModal\").modal({ 'backdrop': 'static', 'focus': true, 'show': true });\r\n } else {\r\n debug(data);\r\n var html = \"\";\r\n $(\".feedback-container .errormsg\").html(html);\r\n btn.html(window.app.data.btnHtml);\r\n btn.prop(\"disabled\", false);\r\n }\r\n } else {\r\n btn.html(window.app.data.btnHtml);\r\n btn.prop(\"disabled\", false);\r\n }\r\n }\r\n });\r\n }\r\n return false;\r\n });\r\n\r\n $(document).on(\"hidden.bs.modal\", \"#feedbackModal\", function() {\r\n var btn = $(\".feedbackbtn\");\r\n if (window.app.data !== undefined && window.app.data.btnHtml !== undefined) {\r\n btn.html(window.app.data.btnHtml);\r\n }\r\n\r\n btn.prop(\"disabled\", false);\r\n $(\".feedback-container form input, .feedback-container form textarea\").val(\"\");\r\n $(\".feedback-container .errormsg\").html(\"\");\r\n });\r\n\r\n // global confirm code\r\n $(document).on(\"click\", \".bsconfirm-btn\", function(e) {\r\n e.preventDefault();\r\n if ($(this).hasClass(\"bsconfirm-cancel\")) {\r\n $(document).trigger(\"bsconfirm.click\", {\r\n id: $(this).data(\"id\"),\r\n trigger: $(this).data(\"event\"),\r\n result: false\r\n });\r\n $(\".bsconfirm\").popover(\"hide\");\r\n } else if ($(this).hasClass(\"bsconfirm-ok\")) {\r\n $(document).trigger(\"bsconfirm.click\", {\r\n id: $(this).data(\"id\"),\r\n trigger: $(this).data(\"event\"),\r\n result: true\r\n });\r\n $(\".bsconfirm\").popover(\"hide\");\r\n }\r\n });\r\n\r\n // global confirm code\r\n $(document).on(\"click\", \".bsconfirm\", function(e) {\r\n e.preventDefault();\r\n $(\".bsconfirm\").popover(\"hide\");\r\n $(\".bsconfirm\").popover(\"dispose\");\r\n\r\n $(this).popover({\r\n trigger: \"manual\",\r\n title: $(this).data(\"msg\"),\r\n content:\r\n \" \",\r\n html: true\r\n });\r\n\r\n $(this).popover(\"show\");\r\n });\r\n\r\n //track external links\r\n\r\n $(\".elink\").click(function() {\r\n gtag(\"event\", \"Clicks\", {\r\n event_category: \"External-Link\",\r\n event_label: $(this).html()\r\n });\r\n });\r\n\r\n // show info label\r\n $(\".bsinfo\").on(\"click\", function(e) {\r\n $(\".bsinfo\").popover(\"hide\");\r\n $(\".bsinfo\").popover(\"dispose\");\r\n\r\n $(this).popover({\r\n trigger: \"manual\",\r\n title: \"\",\r\n content:\r\n \"

\" + $(this).data(\"msg\") + \"

\",\r\n html: true\r\n });\r\n $(this).popover(\"show\");\r\n });\r\n\r\n // setup click handler after popup shown, others it gets the bubble event and never shows\r\n $(document).on(\"shown.bs.popover\", function() {\r\n window.setTimeout(function() {\r\n $(document).on(\"click\", app.closeBsInfo);\r\n }, 100);\r\n });\r\n});\r\n\r\n// Immediately Invoked Function Expression (https://developer.mozilla.org/en-US/docs/Glossary/IIFE)\r\n(function(global) {\r\n var app = global.app;\r\n app.templates = {};\r\n // usable window height;\r\n\r\n // get a handlebars template, with simple caching.\r\n app.getTemplate = function getTemplate(t) {\r\n if (!window.app.templates[t]) {\r\n window.app.templates[t] = Handlebars.compile(document.getElementById(t).innerHTML);\r\n }\r\n return window.app.templates[t];\r\n };\r\n\r\n // get a localized label\r\n app.label = function label(str) {\r\n if (!app.labels[str]) return str;\r\n return app.labels[str][app.currentLanguage()];\r\n };\r\n\r\n // close the .bsinfo popup and remove document clickevent\r\n app.closeBsInfo = function(evt) {\r\n if (!$(evt.target).is(\".bsinfo-c, .popover-body\")) {\r\n $(\".bsinfo\").popover(\"hide\");\r\n $(\".bsinfo\").popover(\"dispose\");\r\n $(document).off(\"click\", app.closeBsInfo);\r\n }\r\n };\r\n\r\n app.clickEvent = (function clickEvent() {\r\n // use this to toggle between touch/non-touch devices in event handlers\r\n // SIIF, use like this: .on(window.app.clickEvent, function(){}); ie. no ()\r\n if (\"ontouchstart\" in document.documentElement === true) return \"touchstart\";\r\n else return \"click\";\r\n })();\r\n\r\n app.hrefPrefix = function hrefPrefix() {\r\n if (!app.baseHrefPart || app.baseHrefPart == '/') app.baseHrefPart = \"\";\r\n return app.baseHrefPart;\r\n //if (window.location.href.indexOf(\"parentportal\") > 0) {\r\n // return \"/parentportal\";\r\n //}\r\n //return \"\";\r\n };\r\n\r\n app.IsLeftStreetType = function IsLeftStreetType(st) {\r\n if (st === null || st === undefined) st = \"\";\r\n return (\r\n \" rue RUE Rue chemin Chemin CHEMIN ruelle Ruelle croissant avenue place CH ch Ch route Route ROUTE rt Rt RT Highway \".indexOf(\r\n \" \" + st.trim() + \" \"\r\n ) > -1\r\n );\r\n };\r\n app.userHasRole = function userHasRole(role) {\r\n if (app.db.tmp.user[role]) return true;\r\n else return false;\r\n };\r\n app.setUserRole = function setUserRole(role, hasRole) {\r\n app.db.tmp.user[role] = hasRole;\r\n };\r\n\r\n app.b64EncodeUnicode = function b64EncodeUnicode(str) {\r\n return btoa(\r\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {\r\n return String.fromCharCode(parseInt(p1, 16));\r\n })\r\n );\r\n };\r\n\r\n app.b64DecodeUnicode = function b64DecodeUnicode(str) {\r\n return decodeURIComponent(\r\n Array.prototype.map\r\n .call(atob(str), function(c) {\r\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join(\"\")\r\n );\r\n };\r\n\r\n app.parseMVCDate = function parseMVCDate(strDate) {\r\n // parse data format that aspnet sends via json\r\n // strDate = \"/Date(1057287600000)/\"\r\n\r\n if (strDate === null || strDate === undefined) return new Date();\r\n\r\n if (strDate.indexOf !== undefined && strDate.indexOf('/Date(') === 0) {\r\n var d = new Date(parseFloat(strDate.replace(\"/Date(\", \"\").replace(\")/\", \"\")));\r\n return d;\r\n } else {\r\n return strDate;\r\n }\r\n\r\n };\r\n\r\n app.toHtmlDate = function toHtmlDate(d) {\r\n console.log(d);\r\n if (d === undefined || d === null) {\r\n d = new Date();\r\n } else if (d.indexOf !== undefined) {\r\n d = new Date(d); // parse the string\r\n }\r\n return d.toISOString().split(\"T\")[0];\r\n };\r\n\r\n app.currentLanguage = function currentLanguage() {\r\n // redirect to same url but change language\r\n var path = window.location.pathname.toLowerCase();\r\n if (path.length === 0) {\r\n return \"en\";\r\n } else {\r\n return (path.indexOf(\"/fr/\") >= 0 && path.indexOf(\"/en/\") >= 0 && path.indexOf(\"/en/\") < path.indexOf(\"/fr/\")) || path.indexOf(\"/fr/\") < 0 ? \"en\" : \"fr\";\r\n }\r\n };\r\n\r\n app.info = function info(msg, title, large) {\r\n if (title) {\r\n $(\"#infoModal .modal-title-text\").html(title);\r\n }\r\n\r\n if (large) {\r\n $(\"#infoModal .modal-dialog\").addClass(\"modal-lg\");\r\n } else {\r\n $(\"#infoModal .modal-dialog\").removeClass(\"modal-lg\");\r\n }\r\n\r\n $(\"#infoModal .modal-body\").html(msg);\r\n $(\"#infoModal\").modal({ 'backdrop': 'static', 'focus': true, 'show': true });\r\n };\r\n\r\n app.alert = function info(msg, callback, title, large) {\r\n $(\"#infoModal\").one(\"hide.bs.modal\", function(e) {\r\n callback();\r\n });\r\n app.info(msg, title, large);\r\n };\r\n\r\n app.highlight = function highlight(el) {\r\n $(el).addClass(\"highlight\");\r\n window.setTimeout(window.app.removeHightlight, 2000, el);\r\n };\r\n app.removeHightlight = function removeHightlight(el) {\r\n $(el).addClass(\"highlightOff\");\r\n window.setTimeout(window.app.clearHightlight, 1000, el);\r\n };\r\n app.clearHightlight = function removeHightlight(el) {\r\n $(el).removeClass(\"highlight\");\r\n $(el).removeClass(\"highlightOff\");\r\n };\r\n\r\n app.validPhoneNumber = function validPhoneNumber(num) {\r\n return (\r\n num !== undefined &&\r\n !!num &&\r\n /^(?:(?:\\(?(?:00|\\+)([1-4]\\d\\d|[1-9]\\d?)\\)?)?[\\-\\.\\ \\\\\\/]?)?((?:\\(?\\d{1,}\\)?[\\-\\.\\ \\\\\\/]?){0,})(?:[\\-\\.\\ \\\\\\/]?(?:#|ext\\.?|extension|x)[\\-\\.\\ \\\\\\/]?(\\d+))?$/gim.test(\r\n num\r\n ) &&\r\n (num + \"\").length >= 10\r\n );\r\n };\r\n\r\n app.validEmail = function validEmail(email) {\r\n return (\r\n email !== undefined &&\r\n !!email &&\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/gim.test(\r\n email\r\n )\r\n );\r\n };\r\n\r\n app.getCharFromEvent = function getCharFromEvent(e) {\r\n // keyboardCharMap is an array of arrays, with each inner\r\n // array having 2 columns - un-shifted, and shifted values.\r\n // iCol = 0 is the un-shifted value, while iCol=1 is the shifted value.\r\n // See the \"keyboardCharMap\", below, for printable characters.\r\n // MODIFY keyboardCharMap to suit your needs if you want\r\n // more/less/different characters to be considered \"printable\".\r\n var iCol = 0;\r\n if (e.shiftKey) {\r\n iCol = 1;\r\n }\r\n var ch = app.keyboardCharMap[e.keyCode][iCol];\r\n if (ch !== \"\") {\r\n return ch;\r\n } else {\r\n // Optionally do things with non-printables,\r\n // like CR, ESC, Backspace, LF, Tab, Arrows, F1-F24, etc.\r\n // See the arrary \"keyboardNameMap\", below, for possible keys.\r\n\r\n var cmd = app.keyboardNameMap[e.keyCode];\r\n //console.log(\"cmd: '\" + cmd + \"'\");\r\n return cmd;\r\n }\r\n };\r\n\r\n app.loadFrameOKCAllback = function() {};\r\n app.closeFrame = function closeFrame() {\r\n $(\"#frameModal\").modal(\"hide\");\r\n };\r\n app.loadFramVars = {};\r\n app.loadFrame = function loadFrame(options) {\r\n var href = options.href || null;\r\n var title = options.title || \"\";\r\n var showClose = options.title || false;\r\n var cancel = options.cancel || window.app.label(\"Close\");\r\n var ok = options.ok || window.app.label(\"Save\");\r\n var onCancel = options.onCancel || function() {};\r\n var onOk = options.onOk || function() {};\r\n var height = options.height || 300;\r\n var icon = options.icon || \"far fa-edit\";\r\n var closeOnly = options.closeOnly || false;\r\n\r\n app.loadFramVars[\"title\"] = title;\r\n app.loadFramVars[\"height\"] = height;\r\n\r\n $(\"#frameModal .modal-title span\").html(title);\r\n if (!showClose) {\r\n $(\"#frameModal .close\").hide();\r\n } else {\r\n $(\"#frameModal .close\").show();\r\n }\r\n\r\n if (closeOnly) {\r\n $(\"#frameModal .btn-ok\").hide();\r\n } else {\r\n $(\"#frameModal .btn-ok\").show();\r\n }\r\n\r\n $(\"#frameModal .modal-title i.fa-spin\").show();\r\n\r\n $(\"#frameModal .modal-title i.icon\").addClass(icon);\r\n\r\n $(\"#frameModal\").one(\"shown.bs.modal\", function() {\r\n //$(\"#frameModal .modal-body iframe\").on(\"load\", function() {\r\n // $(\"#frameModal .modal-title i\").hide();\r\n //});\r\n\r\n $(\"#frameModal .modal-body iframe\").prop(\"src\", href);\r\n //$(\"#frameModal .btn-secondary\").one(\"click\", onCancel);\r\n $(\"#frameModal .btn-primary\").on(\"click\", app.onFrameModalSave);\r\n app.loadFrameOKCAllback = onOk;\r\n });\r\n $(\"#frameModal\").one(\"hidden.bs.modal\", function() {\r\n app.loadFrameAfterSave = false;\r\n app.closeFrameAfterSave = false;\r\n $(\"#frameModal .btn-primary\").off(\"click\", app.onFrameModalSave);\r\n app.loadFrameOKCAllback = function() {};\r\n $(\"#ajaxframe\").prop(\"src\", \"\");\r\n $(\"#frameModal\").modal(\"dispose\");\r\n });\r\n\r\n $(\"#ajaxframe\").prop(\"height\", height);\r\n $(\"#frameModal\").modal({\r\n backdrop: \"static\",\r\n keyboard: true,\r\n focus: true,\r\n show: true\r\n });\r\n };\r\n app.loadFrameAfterSave = false;\r\n app.closeFrameAfterSave = false;\r\n\r\n $(\"#ajaxframe\").on(\"load\", function() {\r\n $(\"#frameModal .modal-title i.fa-spin\").hide();\r\n app.adjustFrameModalHeight();\r\n if (app.loadFrameAfterSave) {\r\n app.loadFrameAfterSave = false;\r\n // if the iframe form is valid, get the data\r\n var data =\r\n $(\"#ajaxframe\")[0].contentWindow.isValid === true\r\n ? $(\"#ajaxframe\")[0].contentWindow.data\r\n : null;\r\n\r\n app.loadFrameOKCAllback(data);\r\n }\r\n if (app.closeFrameAfterSave && $(\"#ajaxframe\")[0].contentWindow.isValid) {\r\n $(\"#frameModal\").modal(\"hide\");\r\n }\r\n });\r\n app.adjustFrameModalHeight = function() {\r\n var DIALOGHEIGHT = 269; // this is the smallest possible height of a #frameModal dialog\r\n\r\n $(\"#ajaxframe\").height(window.innerHeight - DIALOGHEIGHT);\r\n\r\n $(\"#frameModal\").modal(\"handleUpdate\");\r\n };\r\n app.onFrameModalSave = function(e) {\r\n $(\"#frameModal .modal-title i.fa-spin\").show();\r\n\r\n app.loadFrameAfterSave = true;\r\n app.closeFrameAfterSave = false;\r\n\r\n if ($(this).hasClass(\"btn-ok-close\")) {\r\n app.closeFrameAfterSave = true;\r\n }\r\n\r\n $(\"#ajaxframe\")[0]\r\n .contentWindow.document.getElementsByTagName(\"form\")[0] \r\n .submit();\r\n };\r\n\r\n app.is_gecko = /gecko/i.test(navigator.userAgent);\r\n app.is_ie = /MSIE/.test(navigator.userAgent);\r\n app.setSelectionRange = function(input, start, end) {\r\n if (app.is_gecko) {\r\n input.setSelectionRange(start, end);\r\n } else {\r\n // assumed IE\r\n var range = input.createTextRange();\r\n range.collapse(true);\r\n range.moveStart(\"character\", start);\r\n range.moveEnd(\"character\", end - start);\r\n range.select();\r\n }\r\n };\r\n\r\n app.getSelectionStart = function(input) {\r\n if (app.is_gecko) return input.selectionStart;\r\n var range = document.selection.createRange();\r\n var isCollapsed = range.compareEndPoints(\"StartToEnd\", range) === 0;\r\n if (!isCollapsed) range.collapse(true);\r\n var b = range.getBookmark();\r\n return b.charCodeAt(2) - 2;\r\n };\r\n\r\n app.getSelectionEnd = function(input) {\r\n if (app.is_gecko) return input.selectionEnd;\r\n var range = document.selection.createRange();\r\n var isCollapsed = range.compareEndPoints(\"StartToEnd\", range) === 0;\r\n if (!isCollapsed) range.collapse(false);\r\n var b = range.getBookmark();\r\n return b.charCodeAt(2) - 2;\r\n };\r\n\r\n app.inputKey = function(input, ev) {\r\n setTimeout(function() {\r\n document.getElementById(\"selStart\").value = app.getSelectionStart(input);\r\n document.getElementById(\"selEnd\").value = app.getSelectionEnd(input);\r\n }, 20);\r\n };\r\n app.doSelect = function(start, end, el) {\r\n var input = el[0];\r\n input.focus();\r\n app.setSelectionRange(input, start, end);\r\n };\r\n})(window);\r\n\r\n$(function () {\r\n var lang = 'en';\r\n if (window.location.href.includes('/en/')) { lang = 'en' }\r\n else { lang = 'fr' }\r\n \r\n // datepickers, ensure the app object is already init\r\n $(\".datepicker\").datetimepicker({\r\n viewMode: \"days\",\r\n format: \"YYYY-MM-DD\",\r\n locale: lang + \"-ca\",\r\n keepOpen: false\r\n });\r\n \r\n $(\".datepicker\").on('blur', function () {\r\n $(\".datepicker\").datetimepicker(\"hide\");\r\n });\r\n $(\".input-group-text.date\").on(\"click\", function (e) {\r\n \r\n var id = $(e.target).attr('id');\r\n var el = $(\"body\").find('#' + id);\r\n $(this)\r\n .parent()\r\n .prev(\".datepicker\")\r\n .datetimepicker(\"show\");\r\n });\r\n});\r\n","$(function () {\r\n if ($('form#UserEditForm').length > 0) {\r\n\r\n\r\n $(\".btnSend\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#approveModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n });\r\n\r\n $(\".btnSave\").on('click', function (e) {\r\n if (jsCanChangePrimary) {\r\n var wasPrimary = $(\"#WasOriginallyPrimary\").val() == \"True\";\r\n var isPrimary = $(\".make-primary-chk\").is(\":checked\");\r\n if (wasPrimary != isPrimary) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#primaryModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n else {\r\n if ($(\"form\").valid()) {\r\n $(\"#approveChangesModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n $(\".btnContinue\").on('click', function () {\r\n $(\"form\").submit();\r\n });\r\n\r\n HandleRoleSelectionOnload(null);\r\n $(\".lblStopPropagation\").on('click touchstart', function (e) { // click or touch on label\r\n e.stopPropagation();\r\n });\r\n\r\n\r\n $(\".owner-operator-chk\").change(function () {\r\n if ($(this).is(':checked')) {\r\n $(\".make-primary-chk\").prop('disabled', false);\r\n $(\"#accordion\").find(\":checkbox\").each(function () {\r\n if (!$(this).hasClass('owner-operator-chk') && !$(this).hasClass('make-primary-chk')) {\r\n $(this).prop('disabled', true);\r\n $(this).prop('checked', false);\r\n }\r\n });\r\n } else {\r\n $(\".make-primary-chk\").prop('checked', false);\r\n $(\".make-primary-chk\").prop('disabled', true);\r\n $(\".make-primary-chk\").change();\r\n $(\"#accordion\").find(\":checkbox\").each(function () {\r\n if (!$(this).hasClass('owner-operator-chk') && !$(this).hasClass('make-primary-chk')) {\r\n $(this).prop('disabled', false);\r\n }\r\n });\r\n }\r\n });\r\n $(\".owner-operator-chk\").change();\r\n\r\n if (jsIsPrimaryOperator) {\r\n $(\".make-primary-chk\").prop('checked', true);\r\n }\r\n\r\n $(\".make-primary-chk\").change(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(\"#IsPrimaryOperator\").val(true);\r\n } else {\r\n $(\"#IsPrimaryOperator\").val(false);\r\n }\r\n });\r\n\r\n if (jsCanChangePrimary) {\r\n $(\".operator-admin-div\").removeClass(\"d-none\");\r\n }\r\n\r\n $(\".licensecheckbox\").on('click touchstart', function () {\r\n var self = $(this);\r\n\r\n HandleRoleSelectionOnClicks(self);\r\n });\r\n\r\n function HandleRoleSelectionOnload() {\r\n\r\n $(\".EnrolCss\").each(function () {\r\n\r\n\r\n var EnrolCheckBox = $(this);\r\n console.log(EnrolCheckBox.attr('id'));\r\n\r\n var parent = EnrolCheckBox.closest(\".role-card\"); \r\n\r\n if (!parent || parent.length == 0) {\r\n parent = EnrolCheckBox;\r\n }\r\n\r\n //number of checked checkboxes\r\n var noChecked = parent.find('.licence-card .custom-control-input:checked').length;\r\n //number of all checkboxes\r\n var noCheckBoxes = parent.find('.licence-card .custom-control-input').length;\r\n\r\n //check all option is one of loaded selected options\r\n if (parent.find(\".chk-0\").length > 0 && parent.find(\".chk-0\").is(\":checked\")) {\r\n var chkdStatus = true;\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', chkdStatus);\r\n parent.find('.licensecheckbox').prop('checked', chkdStatus);\r\n }\r\n else if (parent.find(\".chk-0\").length > 0 && !parent.find(\".chk-0\").is(\":checked\") && (noChecked == (noCheckBoxes - 1))) {\r\n var chkdStatus = true;\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', chkdStatus);\r\n parent.find('.licensecheckbox').prop('checked', chkdStatus);\r\n }\r\n else {\r\n var me = 0;\r\n if (noChecked == 0) {\r\n //all are not checked without using all option\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', false);\r\n console.log(1);\r\n\r\n }\r\n else if (noChecked > 0 && noChecked == noCheckBoxes - me) {\r\n //all are checked without using all option\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', true);\r\n\r\n parent.find(\".chk-0\").prop('checked', true);\r\n console.log(2);\r\n \r\n }\r\n else if (parent.find(\".chk-0\").length == 0 && noChecked == 1 && noChecked == 1) {\r\n //only one item so all option doen't exist\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', true);\r\n console.log(3);\r\n\r\n }\r\n else if (noChecked > 0 && noChecked != noCheckBoxes - me) {\r\n //one or more licence checked but bnot all of them-for sure without using all option\r\n var chkdStatus = false;\r\n parent.find(\".chk-0\").prop('checked', false);\r\n EnrolCheckBox.prop('indeterminate', true);\r\n console.log(4);\r\n }\r\n }\r\n });\r\n\r\n };\r\n\r\n function HandleRoleSelectionOnClicks(self) {\r\n\r\n // TODO: limit changes to current role\r\n\r\n console.log(self); \r\n\r\n var parent = self.closest(\".role-card\");\r\n var EnrolCheckBox = parent.find('.EnrolCss');\r\n\r\n //number of checked checkboxes\r\n var noChecked = parent.find('.licence-card .custom-control-input:checked').length;\r\n console.log('noChecked = ' + noChecked); \r\n\r\n //number of all checkboxes\r\n var noCheckBoxes = parent.find('.licence-card .custom-control-input').length;\r\n console.log('noCheckBoxes = ' + noCheckBoxes); \r\n\r\n //if (self.siblings(\".custom-control-inputvalue\").val() == \"0\") {\r\n //if (parent.find(\".chk-0\").length > 0 && parent.find(\".chk-0\").is(\":checked\")) {\r\n if (self.hasClass(\"chk-0\")) {\r\n var chkdStatus = self.is(\":checked\");\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', chkdStatus);\r\n parent.find('.licensecheckbox').prop('checked', chkdStatus);\r\n console.log(0);\r\n }\r\n else\r\n {\r\n\r\n var me = 0;\r\n if (self.is(\":checked\")) {\r\n me = 1;\r\n }\r\n\r\n console.log('me = ' + me);\r\n\r\n if (noChecked == 0) {\r\n //all are not checked without using all option\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', false);\r\n console.log(1);\r\n\r\n }\r\n else if (noChecked > 0 && noChecked == noCheckBoxes - me) {\r\n //all are checked without using all option\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', true);\r\n\r\n parent.find(\".chk-0\").prop('checked', true);\r\n console.log(2);\r\n\r\n }\r\n else if (parent.find(\".chk-0\").length == 0 && noChecked == 1 && noChecked == 1) {\r\n //only one item so all option doesn't exist\r\n EnrolCheckBox.prop('indeterminate', false);\r\n EnrolCheckBox.prop('checked', true);\r\n console.log(3);\r\n\r\n }\r\n else if (noChecked > 0 && noChecked != noCheckBoxes - me) {\r\n //one or more licence checked but bnot all of them-for sure without using all option\r\n var chkdStatus = false;\r\n parent.find(\".chk-0\").prop('checked', false);\r\n EnrolCheckBox.prop('indeterminate', true);\r\n console.log(4);\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n } // if ($('form#UserEditForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('div.waitlist-frequency').length > 0) {\r\n\r\n window.app = window.app || {}; // don't overwrite existing var if already exists\r\n\r\n window.app.Waitlist_UpdateFrequency = function (IsSchoolAge) {\r\n if (IsSchoolAge) {\r\n $(\".preschool\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n\r\n $(\".schoolage\").each(function () {\r\n $(this).removeClass(\"d-none\");\r\n });\r\n } else {\r\n $(\".preschool\").each(function () {\r\n $(this).removeClass(\"d-none\");\r\n });\r\n\r\n $(\".schoolage\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n\r\n $(\".tickfull\").each(function () {\r\n $(this).prop(\"checked\", false);\r\n });\r\n }\r\n }\r\n\r\n // Select All only applies when the age group is not school age\r\n // So we only check am and pm\r\n $(\"#frequencySelectAll\").change(function () {\r\n var isChecked = $(this).is(\":checked\");\r\n $(\".tickam, .tickpm\").each(function () {\r\n $(this).prop(\"checked\", isChecked);\r\n });\r\n });\r\n\r\n $(\".tick\").change(function () {\r\n var allSelected = true;\r\n\r\n $(\".tickam, .tickpm\").each(function () {\r\n if (!$(this).is(\":checked\")) {\r\n allSelected = false;\r\n return false;\r\n }\r\n });\r\n\r\n $(\"#frequencySelectAll\").prop(\"checked\", allSelected);\r\n });\r\n\r\n } // if ($('div.waitlist-frequency').length > 0) {\r\n}); // $(function () {","$(function () {\r\n if ($('#WaitlistDetailsForm').length > 0) {\r\n app.Waitlist_UpdateFrequency(\"@Model.AgeGroupTypeCd\" == jsSchoolAgeCd)\r\n\r\n $(\"#ContactRequestButton\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n }\r\n\r\n if ($('#WaitlistSearchForm').length > 0) {\r\n $('#SelectedCommunities').select2({\r\n allowClear: false,\r\n multiple: true,\r\n language: '@Model.Lang',\r\n dropdownAutoWidth: true,\r\n theme: 'bootstrap4',\r\n selectionCssClass: 'highlighted',\r\n width: '100%'\r\n });\r\n\r\n $(\"#AgeGroupTypeCd\").change(function () {\r\n\r\n $(\".frequencydiv\").addClass(\"d-none\");\r\n $(\".exactmatchdiv\").addClass(\"d-none\");\r\n\r\n var id = $(this).val();\r\n\r\n if (id != jsDefaultAgeCd) {\r\n\r\n $(\".frequencydiv\").removeClass(\"d-none\");\r\n $(\".exactmatchdiv\").removeClass(\"d-none\");\r\n }\r\n\r\n app.Waitlist_UpdateFrequency($(this).val() == jsSchoolAgeCd)\r\n });\r\n $(\"#AgeGroupTypeCd\").change();\r\n\r\n $(\"#HideResultsContacted\").change(function () {\r\n $('#WaitlistSearchForm').submit();\r\n });\r\n\r\n $(\"#HideResultsIndictedNotAMatch\").change(function () {\r\n $('#WaitlistSearchForm').submit();\r\n });\r\n\r\n $(\"select[name=PageSize]\").on('change', function (e) {\r\n $(\"#WaitlistSearchForm\").submit();\r\n });\r\n\r\n //$(\".btnSearch\").click(function () {\r\n\r\n // $(\".resultsdiv\").removeClass(\"d-none\");\r\n\r\n //});\r\n } \r\n}); // $(function () {","$(function () {\r\n if ($('form#EmployeeApplicationReviewForm').length > 0) {\r\n\r\n $(\"#btnRemoveApplication\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#removeApplicationModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n });\r\n\r\n $(\".btnConfirmRemove\").on('click', function () {\r\n $(\"#IsRemovedApplication\").val(true);\r\n $(\"form\").submit();\r\n });\r\n\r\n $(\"#btnReactivate\").on('click', function () {\r\n $(\"#IsReactivateApplication\").val(true);\r\n $(\"form\").submit();\r\n });\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip({\r\n placement: \"top\",\r\n container: \"body\",\r\n trigger: \"manual\",\r\n html: true\r\n });\r\n // When exceptional approval is checked we need to show the exceptional approval detail panel.\r\n $(\"#IsExceptionalApproval\").change(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(\"#ExceptionalApprovalReasonCd\").prop(\"disabled\", false);\r\n $(\"#ExceptionalApprovalDetail\").prop(\"disabled\", false);\r\n $(\"#ExceptionalApprovalSection\").show();\r\n } else {\r\n $(\"#ExceptionalApprovalReasonCd\").val(\"0\");\r\n $(\"#ExceptionalApprovalReasonCd\").prop(\"disabled\", true);\r\n $(\"#ExceptionalApprovalDetail\").val(\"\");\r\n $(\"#ExceptionalApprovalDetail\").prop(\"disabled\", true);\r\n $(\"#ExceptionalApprovalSection\").hide();\r\n }\r\n });\r\n $(\"#IsExceptionalApproval\").change();\r\n\r\n $(\"#SubmitButton\").click(function () {\r\n $(\"#IsSaveDraft\").val(false);\r\n return true;\r\n })\r\n\r\n $(\"#SaveDraftButton\").click(function () {\r\n $(\"#IsSaveDraft\").val(true);\r\n return true;\r\n })\r\n\r\n $(\".funding-level-select\").change(function () {\r\n var fundingLevelId = $(this).val();\r\n SetIsUntrained(fundingLevelId);\r\n });\r\n\r\n function SetIsUntrained(fundingLevelId) {\r\n // Don't show the fields if the application is not set as approved, or if the funding level can't select them\r\n var hideTrainedOnly = $(\"#RecommendedActionCd\").val() != jsApprovedStatusCd || fundingLevelId == 0 || $(\"#UntrainedReliefStaffId\").val() == fundingLevelId;\r\n var isConditional = $(\"input[name='IsConditional']:checked\").val() == jsTrueString;\r\n\r\n if (hideTrainedOnly) {\r\n $(\".trained-only\").addClass('d-none');\r\n } else {\r\n $(\".trained-only\").removeClass('d-none');\r\n }\r\n\r\n if (!hideTrainedOnly && isConditional) {\r\n $(\".conditional-end-date\").removeClass('d-none');\r\n } else {\r\n $(\".conditional-end-date\").addClass('d-none');\r\n }\r\n }\r\n\r\n $(\"input[name='IsConditional']\").change(function () {\r\n var isConditional = $(\"input[name='IsConditional']:checked\").val() == jsTrueString;\r\n\r\n if (isConditional) {\r\n $(\".conditional-end-date\").removeClass('d-none');\r\n } else {\r\n $(\".conditional-end-date\").addClass('d-none');\r\n }\r\n });\r\n\r\n // Internal review status can only be saved as draft\r\n $(\"#RecommendedActionCd\").change(function () {\r\n // $(\"#SubmitButton\").show();\r\n\r\n if ($(this).val() == jsApprovedStatusCd) {\r\n $(\".approved-only\").removeClass(\"d-none\");\r\n }\r\n else {\r\n //Disable and set to the first item in the list\r\n $(\".approved-only\").addClass(\"d-none\");\r\n $(\"#AssignedFundingLevelId\").val('0');\r\n $(\"#AssignedFundingLevelId\").change();\r\n }\r\n\r\n if ($(this).val() == jsInternalReviewId) {\r\n $(\"#SubmitButton\").hide();\r\n }\r\n else {\r\n $(\"#SubmitButton\").show();\r\n }\r\n\r\n if ($(\"#IsEditMode\").val() == jsTrueString) {\r\n $(\"#SubmitButton\").show();\r\n\r\n var CommentRequired = $(\"#RecommendedActionCd\").val() == jsClarifyStatusCd ||\r\n $(\"#RecommendedActionCd\").val() == jsDeniedStatusCd ||\r\n ($(\"#RecommendedActionCd\").val() == jsApprovedStatusCd && $(\"#IsExceptionalApproval\").val() == true);\r\n if (CommentRequired == true) {\r\n $(\"#CommentToOperator\").prop(\"disabled\", false);\r\n $(\"#CommentToOperator\").removeAttr(\"disabled\");\r\n }\r\n else {\r\n $(\"#CommentToOperator\").prop(\"disabled\", \"disabled\");\r\n }\r\n }\r\n\r\n $(\".funding-level-select\").change();\r\n });\r\n $(\"#RecommendedActionCd\").change();\r\n\r\n\r\n if ($(\"#IsReadOnly\").val() == \"True\") {\r\n\r\n $(\".disable-read-only\").each(function () {\r\n if ($(this).prop(\"nodeName\").toLowerCase() == \"a\") {\r\n $(this).addClass(\"invisible\");\r\n } else {\r\n if ($(this).hasClass(\"hide\")) {\r\n $(this).hide();\r\n }\r\n else {\r\n var CommentRequired = $(\"#RecommendedActionCd\").val() == jsClarifyStatusCd ||\r\n $(\"#RecommendedActionCd\").val() == jsDeniedStatusCd ||\r\n ($(\"#RecommendedActionCd\").val() == jsApprovedStatusCd && $(\"#IsExceptionalApproval\").val() == true);\r\n\r\n $(this).prop(\"disabled\", true);\r\n\r\n if ($(\"#IsEditMode\").val() == jsTrueString && CommentRequired == true) {\r\n $(\".cmnt\").prop(\"disabled\", false);\r\n }\r\n }\r\n\r\n }\r\n });\r\n\r\n if ($(\"#IsReviewEnabled\").val() == \"False\") {\r\n // Hide the review button if the application is in a status that can't be changed\r\n $(\"#StartReview\").hide();\r\n } else if ($(\"#ReviewUserId\").val().trim() != \"\" && $(\"#ReviewUserId\").val().trim() != jsCurrentUserId) {\r\n // Need to change button label if another reviewer is reviewing it\r\n $(\"#StartReview\").html(jsLabelTakeOverReview);\r\n }\r\n\r\n if ($(\"#IsDataCorrectionEnabled\").val() == \"False\") {\r\n // Hide the review button if the application is in a status that can't be changed\r\n $(\"#CorrectDataErrors\").hide();\r\n } \r\n } else {\r\n // Hide the review button if the application is already under review by this user and not Readonly\r\n $(\"#StartReview\").hide();\r\n $(\"#CorrectDataErrors\").hide();\r\n }\r\n\r\n $(\"#AddNoteButton\").click(function (e) {\r\n var newNote = $(\"#AddNote\").val();\r\n\r\n if (newNote.trim() !== \"\") {\r\n\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/admin/wageenhancement/AddNote/' + jsOper + '/' + jsId + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/admin/wageenhancement/AddNote/' + jsOper + '/' + jsId + '/';\r\n }\r\n\r\n $.ajax({\r\n url: url + \"?noteText=\" + newNote.trim(),\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n if (res !== null && res !== undefined) {\r\n var noteHtml = '
';\r\n noteHtml += '';\r\n noteHtml += '
';\r\n noteHtml += '
' + res.createdDate + '
';\r\n noteHtml += '
' + res.text + '
';\r\n noteHtml += '
';\r\n $(\"#NoteContainer\").append(noteHtml);\r\n $(\"#AddNote\").val(\"\");\r\n $(\"#IsNoteAdded\").val(true);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n $(\"#btnedit\").click(function (event) {\r\n event.preventDefault();\r\n $(\"#IsEditMode\").val(jsTrueString);\r\n\r\n $(\".disable-exception\").each(function () {\r\n\r\n if ($(this).hasClass(\"hide\")) {\r\n $(this).show();\r\n }\r\n else {\r\n $(this).prop(\"disabled\", false);\r\n }\r\n });\r\n\r\n })\r\n if ($(\"#IsEditMode\").val() == jsTrueString) {\r\n $(\".disable-exception\").each(function () {\r\n\r\n if ($(this).hasClass(\"hide\")) {\r\n $(this).show();\r\n }\r\n else {\r\n $(this).prop(\"disabled\", false);\r\n }\r\n });\r\n }\r\n if ($(\"#IsDataCorrectionMode\").val() == \"True\") {\r\n $(\".disable-data-correction\").each(function () {\r\n\r\n if ($(this).hasClass(\"hide\")) {\r\n $(this).hide();\r\n }\r\n else {\r\n $(this).prop(\"disabled\", true);\r\n }\r\n });\r\n }\r\n // remove internal review when in edit button mode\r\n if ($(\"#btnedit\").length > 0) {\r\n $(\"#RecommendedActionCd option[value='7']\").remove();\r\n }\r\n\r\n } // if ($('form#EmploymentRecordDetailsForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('div#ConditionalUpdateCard').length > 0) {\r\n\r\n $(\"#SubmitButton\").click(function (e) {\r\n\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n\r\n $(this).prop(\"disabled\", true);\r\n\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/WageEnhancement/EmployeeDetails/SubmitConditional/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/WageEnhancement/EmployeeDetails/SubmitConditional/';\r\n }\r\n\r\n $.ajax({\r\n url: url + jsOper + '/' + jsAppId,\r\n method: 'POST',\r\n timeout: 0,\r\n success: function (res) {\r\n console.log(res);\r\n url = url.replace('SubmitConditional', 'CurrentData') + jsOper + '/' + jsEmployeeId;\r\n window.location.href = url;\r\n },\r\n error: function (e) {\r\n console.log(e);\r\n url = url.replace('SubmitConditional', 'CurrentData') + jsOper + '/' + jsEmployeeId;\r\n window.location.href = url;\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\"#WithdrawButton\").click(function (e) {\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\"#WithdrawConfirmButton\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#SubmitButton\").prop(\"disabled\", true);\r\n $(\"#WithdrawButton\").prop(\"disabled\", true);\r\n $(\"#WithdrawConfirmButton\").prop(\"disabled\", true);\r\n\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/WageEnhancement/EmployeeDetails/WithdrawConditional/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/WageEnhancement/EmployeeDetails/WithdrawConditional/';\r\n }\r\n\r\n $.ajax({\r\n url: url + jsOper + '/' + jsAppId,\r\n method: 'POST',\r\n success: function (res) {\r\n url = url.replace('EmployeeDetails/WithdrawConditional', 'Employee/Registered') + jsOper;\r\n window.location.href = url;\r\n },\r\n error: function (e) {\r\n url = url.replace('EmployeeDetails/WithdrawConditional', 'Employee/Registered') + jsOper;\r\n window.location.href = url;\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n\r\n } // if ($('div#ConditionalUpdateCard').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('form#EmployeeApplicationForm').length > 0) {\r\n\r\n $(\"#WithdrawButton\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#approveModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n });\r\n\r\n $(\".btnConfirmWithdraw\").on('click', function () {\r\n $(\"#IsWithdrawSelected\").val(true);\r\n $(\"form\").submit();\r\n });\r\n\r\n var doesUserExist = $(\"#EmployeeUserId\").val().trim() != \"\";\r\n\r\n if (doesUserExist && !jsNoEmail) {\r\n $(\"#FirstName\").prop(\"readonly\", true);\r\n $(\"#LastName\").prop(\"readonly\", true);\r\n //$(\"#Email\").prop(\"readonly\", true);\r\n //$(\"#IsNoEmailAddress\").parent().parent().hide();\r\n $(\"#PreferredLanguageCode_en:not(:checked)\").prop(\"disabled\", true);\r\n $(\"#PreferredLanguageCode_fr:not(:checked)\").prop(\"disabled\", true);\r\n }\r\n\r\n $(\"#EmailAssociatedFormMessage\").hide();\r\n\r\n $(\"#IamUserExists\").hide();\r\n if (!doesUserExist) {\r\n $(\"#Email\").change();\r\n }\r\n \r\n // If the user makes any changes and tries to navigate away without submitting,\r\n // we will show the standard warning message.\r\n $(\"form#EmployeeApplicationForm\").on(\"change\", \"input, select\", function (e) {\r\n if (e.isTrigger) {\r\n return;\r\n }\r\n \r\n $(\"form#EmployeeApplicationForm\").data(\"showNavWarning\", true);\r\n });\r\n \r\n window.onbeforeunload = function (e) {\r\n if ($(\"form#EmployeeApplicationForm\").data(\"showNavWarning\")) {\r\n e.preventDefault();\r\n return true;\r\n }\r\n };\r\n\r\n // Re-init DOB to show years\r\n var lang = 'en';\r\n if (window.location.href.includes('/en/')) { lang = 'en' }\r\n else { lang = 'fr' }\r\n\r\n $('#DateOfBirth').datetimepicker('options', {\r\n viewMode: 'years',\r\n format: \"YYYY-MM-DD\",\r\n locale: lang + \"-ca\",\r\n keepOpen: false,\r\n defaultDate: false\r\n });\r\n\r\n // IsNoEmailAddress updates\r\n $(\"#IsNoEmailAddress\").change(function () {\r\n\r\n if ($(\"#btnNext\").is(\":hidden\")) {\r\n //Run this function to hide everything that shouldnt be displayed\r\n UpdateNoEmailAddressInfo();\r\n } else {\r\n InitializeForm();\r\n };\r\n });\r\n\r\n function UpdateNoEmailAddressInfo() {\r\n $(\"#ConsentFormMessage\").hide();\r\n $(\"#IamUserExists\").hide();\r\n $(\"#EmailContainer\").hide();\r\n\r\n if ($(\"#IsNoEmailAddress\").is(\":checked\")) {\r\n $(\"#Email\").val(\"\");\r\n $(\"#Email\").change();\r\n $(\"#ConsentFormMessage\").show();\r\n\r\n SetDisplayhasExistingWEAccount(false);\r\n SetDisplayIamUserExists(false);\r\n SetDisplayIamUserExistsHide(false);\r\n\r\n } else {\r\n $(\"#EmailContainer\").show();\r\n $(\"#EmailContainer\").removeClass('d-none');\r\n }\r\n };\r\n\r\n //Run this function to hide everything that shouldnt be displayed\r\n UpdateNoEmailAddressInfo();\r\n\r\n $(\"#Email\").change(function () {\r\n //If this is a new application \r\n //We need to wait for the next button to be hidden\r\n if ($(\"#btnNext\").is(\":hidden\")) {\r\n UpdateUserInfo();\r\n }\r\n });\r\n\r\n $(\"#btnNext\").click(function (e) {\r\n //Cancel the click event\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n\r\n if ($(\"#Email\").val() != \"\" || $(\"#IsNoEmailAddress\").is(\":checked\")) {\r\n\r\n $(\"#emailValidationMessage\").hide();\r\n\r\n //Display the common controls\r\n $('.displayEmailEntered').each(function () {\r\n $(this).show().removeClass('d-none');\r\n });\r\n\r\n $('.displayNoEmailEntered').each(function () {\r\n $(this).hide();\r\n });\r\n\r\n if ($(\"#IsNoEmailAddress\").is(\":checked\")) {\r\n UpdateNoEmailAddressInfo();\r\n } else {\r\n //Update the user information based on email address\r\n UpdateUserInfo();\r\n }\r\n } else {\r\n //display a validation message\r\n $(\"#emailValidationMessage\").show().removeClass('d-none');\r\n }\r\n });\r\n\r\n function SetDisplayhasExistingWEAccount(isDisabled) {\r\n console.log('SetDisplayhasExistingWEAccount');\r\n if (isDisabled) {\r\n $('.displayhasExistingWEAccount').each(function () {\r\n $(this).hide();\r\n });\r\n }\r\n else {\r\n $('.displayhasExistingWEAccount').each(function () {\r\n $(this).show().removeClass('d-none');\r\n });\r\n }\r\n\r\n };\r\n\r\n function SetDisplayIamUserExists(isDisabled) {\r\n console.log('SetDisplayIamUserExists');\r\n\r\n if (isDisabled) {\r\n $('.displayIamUserExists').each(function () {\r\n $(this).hide();\r\n });\r\n }\r\n else {\r\n $('.displayIamUserExists').each(function () {\r\n $(this).show().removeClass('d-none');\r\n });\r\n }\r\n };\r\n\r\n function SetDisplayIamUserExistsHide(isDisabled) {\r\n console.log('SetDisplayIamUserExistsHide');\r\n if (isDisabled) {\r\n $('.displayIamUserExistsHide').each(function () {\r\n $(this).hide();\r\n });\r\n }\r\n else {\r\n $('.displayIamUserExistsHide').each(function () {\r\n $(this).show().removeClass('d-none');\r\n });\r\n }\r\n };\r\n\r\n function UpdateUserInfo() {\r\n\r\n if ($(\"#Email\").val() == \"\" || !$(\"#Email\").is(\":valid\")) {\r\n $(\"#FirstName\").prop(\"readonly\", false);\r\n $(\"#LastName\").prop(\"readonly\", false);\r\n $(\"#EmailAssociatedFormMessage\").hide();\r\n $(\"#IamUserExists\").hide();\r\n //$(\"#SubmitButton\").prop(\"disabled\", false);\r\n //$(\"#SaveDraftButton\").prop(\"disabled\", false);\r\n return;\r\n }\r\n\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/wageenhancement/employeedetails/CheckEmployeeApplicationByEmail/' + oper + '/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/wageenhancement/employeedetails/CheckEmployeeApplicationByEmail/' + oper + '/';\r\n }\r\n $.ajax({\r\n url: url + '?email=' + $(\"#Email\").val().replace(\"+\", \"%2B\"),\r\n method: 'POST',\r\n contentType: false,\r\n processData: false,\r\n success: function (res) {\r\n $(\"#FirstName\").prop(\"readonly\", false);\r\n $(\"#LastName\").prop(\"readonly\", false);\r\n $(\"#EmailAssociatedFormMessage\").hide();\r\n $(\"#IamUserExists\").hide();\r\n //$(\"#SubmitButton\").prop(\"disabled\", false);\r\n //$(\"#SaveDraftButton\").prop(\"disabled\", false);\r\n\r\n if (res == null) {\r\n //Clear out these values\r\n $(\"#FirstName\").val('');\r\n $(\"#LastName\").val('');\r\n DisplaySections(false, false);\r\n return;\r\n }\r\n\r\n $(\"#FirstName\").prop(\"readonly\", true);\r\n $(\"#FirstName\").val(res.firstName);\r\n $(\"#LastName\").prop(\"readonly\", true);\r\n $(\"#LastName\").val(res.lastName);\r\n\r\n if (res.hasExistingWEAccount) {\r\n DisplaySections(true, false);\r\n } else {\r\n DisplaySections(false, true);\r\n }\r\n }\r\n });\r\n };\r\n\r\n function DisplaySections(hasExistingWEAccountbool, IamUserExistsbool) {\r\n\r\n //set the global values\r\n jsHasExistingWEAccount = hasExistingWEAccountbool;\r\n jsIamUserExists = IamUserExistsbool;\r\n\r\n if (hasExistingWEAccountbool == false && IamUserExistsbool == false) {\r\n //TODO: variables below need more comments to express what is the business case involved to show or hide html\r\n SetDisplayhasExistingWEAccount(false);\r\n SetDisplayIamUserExists(false);\r\n SetDisplayIamUserExistsHide(false);\r\n };\r\n\r\n if (hasExistingWEAccountbool == true && IamUserExistsbool == false) {\r\n $(\"#EmailAssociatedFormMessage\").show().removeClass('d-none');\r\n //TODO: variables below need more comments to express what is the business case involved to show or hide html\r\n SetDisplayIamUserExists(false);\r\n SetDisplayIamUserExistsHide(true);\r\n SetDisplayhasExistingWEAccount(true); \r\n };\r\n\r\n if (hasExistingWEAccountbool == false && IamUserExistsbool == true) {\r\n $(\"#IamUserExists\").show().removeClass('d-none');\r\n //TODO: variables below need more comments to express what is the business case involved to show or hide html\r\n SetDisplayIamUserExists(false);\r\n SetDisplayIamUserExistsHide(true);\r\n SetDisplayhasExistingWEAccount(false); \r\n };\r\n };\r\n\r\n $(\"#HourlyWageStr\").change(function () {\r\n $(\"#HourlyWageVal\").hide();\r\n\r\n // dont disable, if you do, use removeProp and removeAttr, replace with server side validation\r\n\r\n if ($(this).val().trim() == \"\") {\r\n return;\r\n }\r\n\r\n var regex;\r\n if (jsLang == \"en\") {\r\n regex = /^\\d+[.]{0,1}\\d{0,2}$/;\r\n } else {\r\n regex = /^\\d+[,]{0,1}\\d{0,2}$/;\r\n }\r\n if (!regex.exec($(this).val().replace(\"$\", \"\"))) {\r\n $(\"#HourlyWageVal\").html(jsHourlyWageInvalid);\r\n $(\"#HourlyWageVal\").show();\r\n\r\n }\r\n })\r\n\r\n $(\"input[name='CanClaim05Hours']\").change(function () {\r\n var val = $(\"input[name='CanClaim05Hours']:checked\").val();\r\n\r\n if (val == jsTrueString) {\r\n $(\"#TrainingCompletedTypeDiv\").removeClass(\"d-none\")\r\n } else {\r\n $(\"#TrainingCompletedTypeDiv\").addClass(\"d-none\")\r\n }\r\n });\r\n\r\n $(\"input[name='CanClaim05Hours']\").first().change();\r\n\r\n $(\"#RequestedFundingLevelTypeCd\").change(function () {\r\n $(\".funding-level-section\").addClass(\"d-none\");\r\n\r\n var id = $(this).val();\r\n\r\n var options = $(\"option.funding-level-option\");;\r\n\r\n var optionCount = 0;\r\n var firstOption = -1;\r\n\r\n // Hide all the step options not available for the current funding level.\r\n options.each(function () {\r\n if ($(this).val() == jsOtherCd) {\r\n return;\r\n }\r\n\r\n if ($(this).attr(\"data-type\") == id) {\r\n $(this).removeClass(\"d-none\");\r\n\r\n // The first option we find will be selected by default\r\n // if only one option is available.\r\n if (firstOption < 0) {\r\n firstOption = $(this).val();\r\n }\r\n\r\n optionCount++;\r\n } else {\r\n $(this).addClass(\"d-none\");\r\n }\r\n });\r\n\r\n // If there's more than one option available (Minus the blank) we don't show the dropdown.\r\n // The only option will be selected by default.\r\n if (optionCount > 1) {\r\n $(\"#RequestedFundingLevelId\").val(jsOtherCd);\r\n $(\".funding-level-section\").removeClass(\"d-none\");\r\n\r\n if (jsFundingLevelId != 0) {\r\n $(\"#RequestedFundingLevelId\").val(jsFundingLevelId);\r\n }\r\n \r\n } else {\r\n $(\"#RequestedFundingLevelId\").val(firstOption);\r\n }\r\n console.log(\"ID = \" + id);\r\n console.log(\"cd = \" + jsEntryLevelCd);\r\n // If untrained relief staff is selected, we need to do update some parts of the screen\r\n if (id == jsOtherCd) {\r\n $(\".trained-only\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n } else if (id == jsUntrainedReliefStaffCd) {\r\n $(\".rolecheckbox\").each(function () {\r\n if ($(this).val() == jsEducatorRoleTypeCd) {\r\n $(this).prop('checked', true);\r\n } else {\r\n $(this).prop('disabled', true);\r\n $(this).prop('checked', false);\r\n }\r\n });\r\n\r\n $(\".trained-only\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n } else {\r\n $(\".rolecheckbox\").each(function () {\r\n $(this).prop('disabled', false);\r\n });\r\n\r\n $(\".trained-only\").each(function () {\r\n $(this).removeClass(\"d-none\");\r\n });\r\n\r\n $(\"input[name='CanClaim05Hours']\").first().change();\r\n\r\n console.log(\"ID = \" + id);\r\n console.log(\"cd = \" + jsEntryLevelCd);\r\n\r\n if (id == jsEntryLevelCd) {\r\n $(\".hours-span\").text(90);\r\n } else {\r\n $(\".hours-span\").text(30);\r\n }\r\n }\r\n });\r\n\r\n $(\"#RequestedFundingLevelTypeCd\").change();\r\n\r\n //$(\"#DateOfBirth\").on(\"blur\", CheckEmployeeByName);\r\n $(\"#OtherUserExists\").hide();\r\n $(\"#BoolOtherUserExists\").val(false);\r\n $(\".employee-name-check\").first().change();\r\n\r\n $(\".licensecheckbox\").on('change', function () {\r\n HandleRoleSelectionOnClicks($(this));\r\n });\r\n\r\n if (jsAllLicenseSelected) {\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n\r\n OperatorVisibility();\r\n\r\n function OperatorVisibility() {\r\n\r\n if ($(\".home-based-facility:checked\").length > 0) {\r\n $(\".operator-role\").each(function () {\r\n $(this).show();\r\n });\r\n } else {\r\n $(\".operator-role\").each(function () {\r\n $(this).children(\"input\").prop(\"checked\", false);\r\n $(this).hide();\r\n });\r\n }\r\n }\r\n\r\n function HandleRoleSelectionOnClicks(self) {\r\n //number of checked checkboxes\r\n var noChecked = self.parent().parent().find('.custom-control-input:checked').length;\r\n\r\n //number of all checkboxes\r\n var noCheckBoxes = self.parent().parent().find('.custom-control-input').length;\r\n\r\n //check all option is now selected\r\n if (self.siblings(\".custom-control-inputvalue\").val() == \"0\") {\r\n var chkdStatus = self.is(\":checked\");\r\n $('.licensecheckbox').prop('checked', chkdStatus);\r\n }\r\n else {\r\n\r\n var me = 0;\r\n if (self.is(\":checked\")) { me = 1; }\r\n\r\n if (noChecked == 0) {\r\n //all are not checked without using all option\r\n }\r\n else if (noChecked > 0 && noChecked == noCheckBoxes - me) {\r\n //all are checked without using all option\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n else if ($(\".chk-0\").length == 0 && noChecked == 1 && noChecked == 1) {\r\n //only one item so all option doesn't exist\r\n }\r\n else if (noChecked > 0 && noChecked != noCheckBoxes - me) {\r\n //one or more licence checked but bnot all of them-for sure without using all option\r\n $(\".chk-0\").prop('checked', false);\r\n }\r\n }\r\n\r\n OperatorVisibility();\r\n }\r\n\r\n $(\"#SubmitButton\").click(function () {\r\n window.onbeforeunload = null;\r\n $(\"#IsSaveDraft\").val(false);\r\n $(\"#IsDelete\").val(false);\r\n return true;\r\n });\r\n\r\n $(\"#SaveDraftButton\").click(function () {\r\n window.onbeforeunload = null;\r\n $(\"#IsSaveDraft\").val(true);\r\n $(\"#IsDelete\").val(false);\r\n return true;\r\n });\r\n\r\n $(\"#DeleteButton\").click(function () {\r\n window.onbeforeunload = null;\r\n $(\"#IsDelete\").val(true);\r\n return true;\r\n });\r\n\r\n function InitializeForm() {\r\n //Is this a new application?\r\n if (jsIsNew && jsEmailAddress.length == 0 && modelStateIsValid) {\r\n\r\n $('.displayNoEmailEntered').each(function () {\r\n $(this).show();\r\n });\r\n\r\n //Display these button\r\n $(\"#btnNext\").show().removeClass('d-none');\r\n $(\"#DeleteButton\").show().removeClass('d-none');\r\n\r\n }\r\n else {\r\n //Determine the sections to display\r\n DisplaySections(jsHasExistingWEAccount, jsIamUserExists);\r\n\r\n //Hide the next button\r\n $(\"#btnNext\").hide();\r\n\r\n //Display these button\r\n $(\"#SubmitButton\").show().removeClass('d-none');\r\n //$(\"#SaveDraftButton\").show().removeClass('d-none');\r\n $(\"#DeleteButton\").show().removeClass('d-none');\r\n $(\".displayConfirmation\").show().removeClass('d-none');\r\n $(\".displayFullname\").show().removeClass('d-none');\r\n }\r\n }\r\n InitializeForm();\r\n\r\n } // if ($('form#EmploymentRecordDetailsForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('form#EmploymentRecordDetailsForm').length > 0) {\r\n\r\n $(\".lblStopPropagation\").on('click touchstart', function (e) { // click or touch on label\r\n e.stopPropagation();\r\n });\r\n\r\n $(\".licensecheckbox\").on('change', function () {\r\n HandleRoleSelectionOnClicks($(this));\r\n });\r\n\r\n if (jsIsAllLicenseSelected) {\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n\r\n OperatorVisibility();\r\n\r\n $(\"#WorkStatusTypeCd\").change(function () {\r\n if ($(this).val() != $(\"#CurrentWorkStatusTypeCd\").val()) {\r\n $(\".effective-date-placeholder\").hide();\r\n $(\".effective-date-container\").show();\r\n } else {\r\n $(\".effective-date-placeholder\").show();\r\n $(\".effective-date-container\").hide();\r\n }\r\n });\r\n\r\n $(\"#WorkStatusTypeCd\").change();\r\n\r\n $(\"#btnSave\").on('click', function (e) {\r\n if ($(\"#WorkStatusTypeCd\").val() == jsInactiveWorkStatus) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#approveModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n });\r\n\r\n $(\".btnContinue\").on('click', function () {\r\n $(\"form\").submit();\r\n });\r\n\r\n // Minimum effective date is within the past month\r\n var lang = 'en';\r\n if (window.location.href.includes('/en/')) { lang = 'en' }\r\n else { lang = 'fr' }\r\n $('#EffectiveDate').datetimepicker('options', {\r\n viewMode: 'days',\r\n format: \"YYYY-MM-DD\",\r\n locale: lang + \"-ca\",\r\n keepOpen: false,\r\n minDate: jsMinDateString\r\n });\r\n\r\n function OperatorVisibility() {\r\n if ($(\".home-based-facility:checked\").length > 0) {\r\n $(\".operator-role\").each(function () {\r\n $(this).show();\r\n });\r\n } else {\r\n $(\".operator-role\").each(function () {\r\n $(this).children(\"input\").prop(\"checked\", false);\r\n $(this).hide();\r\n });\r\n }\r\n }\r\n\r\n function HandleRoleSelectionOnClicks(self) {\r\n //number of checked checkboxes\r\n var noChecked = self.parent().parent().find('.custom-control-input:checked').length;\r\n\r\n //number of all checkboxes\r\n var noCheckBoxes = self.parent().parent().find('.custom-control-input').length;\r\n\r\n //check all option is now selected\r\n if (self.siblings(\".custom-control-inputvalue\").val() == \"0\") {\r\n var chkdStatus = self.is(\":checked\");\r\n $('.licensecheckbox').prop('checked', chkdStatus);\r\n }\r\n else {\r\n\r\n var me = 0;\r\n if (self.is(\":checked\")) { me = 1; }\r\n\r\n if (noChecked == 0) {\r\n //all are not checked without using all option\r\n }\r\n else if (noChecked > 0 && noChecked == noCheckBoxes - me) {\r\n //all are checked without using all option\r\n $(\".chk-0\").prop('checked', true);\r\n }\r\n else if ($(\".chk-0\").length == 0 && noChecked == 1 && noChecked == 1) {\r\n //only one item so all option doesn't exist\r\n }\r\n else if (noChecked > 0 && noChecked != noCheckBoxes - me) {\r\n //one or more licence checked but bnot all of them-for sure without using all option\r\n $(\".chk-0\").prop('checked', false);\r\n }\r\n }\r\n\r\n OperatorVisibility();\r\n }\r\n\r\n } // if ($('form#EmploymentRecordDetailsForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('#wsp-hours-details-form').length > 0) {\r\n\r\n\r\n \r\n $.validator.methods.number = function (value, element) {\r\n return this.optional(element) || /^-?(?:\\d+|\\d{1,3}(?:\\.\\d{3})+)?(?:,\\d+)?$/.test(value);\r\n }\r\n $('button.draft').prop('disabled', true);\r\n\r\n function round(value) {\r\n var formattedValue = value.toLocaleString('en', {\r\n useGrouping: false,\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n });\r\n return Number(formattedValue)\r\n }\r\n\r\n\r\n\r\n /**/\r\n \r\n var formatter = new Intl.NumberFormat(numFormatString, { minimumFractionDigits: 2, maximumFractionDigits: 2, useGrouping: false });\r\n var formatter2 = new Intl.NumberFormat(numFormatString, { minimumFractionDigits: 2, maximumFractionDigits: 2, useGrouping: true });\r\n /**/\r\n // totals calculation\r\n function calcTotals() {\r\n var subtotal = 0.00;\r\n $('.details input.funding').each(function () {\r\n subtotal += parseFloat($(this).val().toString().replace(\",\", \".\"));\r\n });\r\n\r\n $('input.subtotal').val(formatter2.format(subtotal));\r\n $('input.admin').val(formatter2.format(round(subtotal * jsAdminPercent)));\r\n $('input.total').val(formatter2.format(subtotal + round(subtotal * jsAdminPercent)));\r\n\r\n if (subtotal && subtotal > 0) {\r\n $('button.draft').prop('disabled', false);\r\n }\r\n }\r\n\r\n function calcInput(self, obj) {\r\n var isfor = self.data('for');\r\n\r\n\r\n var val = self.val() == '' ? '0' : self.val().toString().replace(\",\", \".\");\r\n var input = round(parseFloat(val)); //(val).toFixed(2);\r\n\r\n var max = parseFloat(self.data('max').toString().replace(\",\", \".\"));\r\n\r\n\r\n var funding = parseFloat(self.data('funding').toString().replace(\",\", \".\"));\r\n if (input > max) {\r\n self.addClass('error');\r\n self.parent().parent().find('span.field-validation-valid.' + isfor).html('');\r\n } else {\r\n self.removeClass('error');\r\n self.parent().parent().find('span.field-validation-valid.' + isfor).html('');\r\n }\r\n\r\n // If the input couldn't be parsed (is NaN) we will just set it to zero.\r\n if (isNaN(input) || self.val() == '') {\r\n input = 0;\r\n } else {\r\n self.val(formatter.format(input));\r\n }\r\n\r\n obj.val = input;\r\n obj.funding = round(funding * input);\r\n }\r\n\r\n function calcRow(rowid) {\r\n //console.log(rowid);\r\n var row = $(\"div.details[data-row=\" + rowid + \"]\");\r\n var pre = row.find(\"input[data-for=PreHoursText]\");\r\n var school = row.find(\"input[data-for=SchoolHoursText]\");\r\n var non = row.find(\"input[data-for=NonInfantPreHoursText]\");\r\n var nonsch = row.find(\"input[data-for=NonSchoolageHoursText]\");\r\n\r\n var hours = row.find(\"input[data-for=HoursText]\");\r\n\r\n\r\n $(this).parent().find(\"span\").tooltip('hide'); // hide tooltip if triggered from submit button\r\n\r\n var total = 0;\r\n var thours = 0;\r\n\r\n // Preschool\r\n var preObj = { funding: 0, val: 0 };\r\n calcInput(pre, preObj);\r\n if (!isNaN(preObj.funding)) {\r\n total += preObj.funding;\r\n thours += preObj.val;\r\n }\r\n\r\n // School age\r\n var schObj = { funding: 0, val: 0 };\r\n calcInput(school, schObj);\r\n if (!isNaN(schObj.funding)) {\r\n total += schObj.funding;\r\n thours += schObj.val;\r\n }\r\n\r\n // Non designated Inf-Pre\r\n var nonObj = { funding: 0, val: 0 };\r\n calcInput(non, nonObj);\r\n if (!isNaN(nonObj.funding)) {\r\n total += nonObj.funding;\r\n thours += nonObj.val;\r\n }\r\n // Non designated School\r\n var nonschObj = { funding: 0, val: 0 };\r\n calcInput(nonsch, nonschObj);\r\n if (!isNaN(nonschObj.funding)) {\r\n total += nonschObj.funding;\r\n thours += nonschObj.val;\r\n }\r\n\r\n hours.val(thours);\r\n // total hours \r\n var hoursObj = { funding: 0, val: 0 };\r\n calcInput(hours, hoursObj);\r\n if (!isNaN(hoursObj.funding)) {\r\n total += hoursObj.funding;\r\n }\r\n\r\n //console.log(total);\r\n // console.log(row.find('input.funding').val(total));\r\n row.find('input.funding').val(total.toFixed(2).replace('.', decimalValue));\r\n\r\n calcTotals();\r\n\r\n }\r\n\r\n // max hours validation\r\n $('input.hours').on('blur', function () {\r\n var rowid = $(this).parents('.details').data('row');\r\n calcRow(rowid);\r\n });\r\n\r\n\r\n\r\n // submit modal\r\n $('.presubmit').on('click', function (e) {\r\n\r\n if (ishome == true) {\r\n var max = 0.0;\r\n var sum = 0.0;\r\n\r\n $(\"input.thours\").each(function (e) {\r\n sum += parseFloat($(this).val().toString().replace(\",\", \".\"));\r\n var tmax = parseFloat($(this).data('max').toString().replace(\",\", \".\"));\r\n if (tmax > max) {\r\n max = tmax;\r\n }\r\n });\r\n\r\n console.log(max);\r\n console.log(sum);\r\n if (sum > max) {\r\n console.log(\"error !\");\r\n $(\".homeerror\").addClass('mt-3').removeClass('d-none');\r\n return false;\r\n }\r\n } else {\r\n var isOver = false;\r\n $(\"input.hours\").each(function (e) {\r\n if (parseFloat($(this).val().toString().replace(\",\", \".\")) > parseFloat($(this).data('max').toString().replace(\",\", \".\"))) {\r\n isOver = true;\r\n $(this).parent().find(\"span\").tooltip('show');\r\n $(this).trigger('focus');\r\n return false;\r\n }\r\n else {\r\n $(this).parent().find(\"span\").tooltip('hide');\r\n };\r\n });\r\n\r\n if (isOver) {\r\n return false;\r\n }\r\n }\r\n\r\n if ($(\"#wsp-hours-details-form\").valid()) {\r\n $(\"#approveModal\").modal('show');\r\n }\r\n\r\n\r\n return false;\r\n });\r\n\r\n\r\n\r\n $(\"input.sa\").on(\"keydown\", function (e) {\r\n // allow function keys and decimal separators\r\n if (\r\n // backspace, delete, tab, escape, enter, comma and .\r\n $.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 188, 190]) !== -1 ||\r\n // Ctrl/cmd+A, Ctrl/cmd+C, Ctrl/cmd+X\r\n ($.inArray(e.keyCode, [65, 67, 88]) !== -1 && (e.ctrlKey === true || e.metaKey === true)) ||\r\n // home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n\r\n /*\r\n // optional: replace commas with dots in real-time (for en-US locals)\r\n if (e.keyCode === 188) {\r\n e.preventDefault();\r\n $(this).val($(this).val() + \".\");\r\n }\r\n\r\n // optional: replace decimal points (num pad) and dots with commas in real-time (for EU locals)\r\n if (e.keyCode === 110 || e.keyCode === 190) {\r\n e.preventDefault();\r\n $(this).val($(this).val() + \",\");\r\n }\r\n */\r\n\r\n return;\r\n }\r\n // block any non-number\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n }\r\n });\r\n $(\"input.sa\").on('click', function () {\r\n $(this)[0].setSelectionRange(0, this.value.length);\r\n });\r\n\r\n $(\"#Confirm\").on('click', function (e) {\r\n if ($(this).attr(\"readonly\") == \"readonly\") {\r\n e.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n // trigger validation\r\n $('input.hours').blur();\r\n\r\n $('[data-toggle=\"tooltip\"]').tooltip({\r\n placement: \"top\",\r\n container: \"body\",\r\n trigger: \"manual\",\r\n html: true\r\n });\r\n\r\n $(\"#AvailablePreSchoolFullTime, #AvailablePreSchoolPartTime, #AvailableAfterSchool\").on('input', function () {\r\n var self = $(this);\r\n if (self.val().toString().length > 5) {\r\n self.val(self.val().toString().substring(0, 5));\r\n }\r\n });\r\n\r\n } // if ($('#wsp-hours-details-form').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('#WspPaymentApprovalForm').length > 0) {\r\n\r\n function UpdateFilters(date) {\r\n if (date === undefined) {\r\n date = $(\"#CurrentSubmissionPeriod\").val();\r\n }\r\n\r\n var filterWarning = $(\"input[type='radio'][name='FilterByWarning']:checked\").val();\r\n var filterStatus = $(\"input[type='radio'][name='FilterByStatus']:checked\").val();\r\n var searchText = $(\"input#SearchText\").val();\r\n\r\n window.location.href =\r\n jsPeriodLink + \"?submissionPeriod=\" + date + \"&\" +\r\n \"filterWarning=\" + filterWarning + \"&\" +\r\n \"filterStatus=\" + filterStatus + \"&\" +\r\n \"searchString=\" + searchText\r\n }\r\n\r\n $('#SubmissionPeriod').datetimepicker('options', {\r\n format: \"YYYY-MM-DD\",\r\n locale: jsLang + \"-ca\",\r\n keepOpen: false,\r\n defaultDate: false\r\n });\r\n\r\n $('#SubmissionPeriod').keydown(function (e) {\r\n e.preventDefault();\r\n });\r\n\r\n $('#SubmissionPeriod').on('change.datetimepicker', function (e) {\r\n var date = moment(e.date).format('YYYY-MM-DD');\r\n var currentDate = $(\"#CurrentSubmissionPeriod\").val();\r\n\r\n if (date != currentDate) {\r\n UpdateFilters(date);\r\n }\r\n });\r\n\r\n $(\"input[type='radio'][name='FilterByStatus']\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"input[type='radio'][name='FilterByWarning']\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"button#SearchButton\").on('click', function () {\r\n UpdateFilters();\r\n });\r\n\r\n $(\"input[type='text']#SearchText\").on('keyup', function (e) {\r\n if (e.keyCode == 13) {\r\n $(\"button#SearchButton\").click();\r\n }\r\n });\r\n\r\n function Load() {\r\n var viewStatus = $(\"input[type='radio'][name='FilterByStatus']:checked\").val();\r\n var viewWarning = $(\"input[type='radio'][name='FilterByWarning']:checked\").val();\r\n\r\n // Remove/show verify all/submit buttons as appropriate\r\n if (jsOperCount > 0 && viewWarning == jsViewNoWarning && viewStatus == jsViewReadyStatus) {\r\n $(\"div#VerifyAllDiv\").removeClass(\"d-none\");\r\n } else {\r\n $(\"div#VerifyAllDiv\").addClass(\"d-none\");\r\n }\r\n\r\n if (jsOperCount > 0 && viewStatus == jsViewReadyStatus) {\r\n $(\".submit-button\").removeClass(\"d-none\");\r\n } else {\r\n $(\".submit-button\").addClass(\"d-none\");\r\n }\r\n }\r\n\r\n Load();\r\n\r\n // Verified Checkbox logic\r\n $(\"input.verified\").click(function () {\r\n // If we change any of the verified boxes, we need to reset the 'select all' check at the bottom.\r\n $(\"input#chkCheckAll\").prop(\"checked\", false);\r\n\r\n SetVerified($(this));\r\n });\r\n\r\n function SetVerified(chk) {\r\n\r\n var isVerified = chk.is(\":checked\");\r\n var val = chk.val();\r\n\r\n // If verified is checked, we need to uncheck and disable the denied checkbox.\r\n $(\"input.denied[value='\" + val + \"'\").each(function () {\r\n $(this).prop(\"disabled\", isVerified);\r\n if (isVerified) {\r\n if ($(this).is(\":checked\")) {\r\n $(\"div.denied-detail[data-id='\" + val + \"'\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n }\r\n\r\n $(this).prop(\"checked\", false);\r\n }\r\n });\r\n }\r\n\r\n // Denied Checkbox logic\r\n $(\"input.denied\").click(function () {\r\n\r\n var val = $(this).val();\r\n var isCurrentDenied = $(this).is(\":checked\");\r\n var detail = $(\"div.denied-detail[data-id='\" + val + \"'\").first();\r\n\r\n detail.children(\"span.denied-reason-error\").addClass(\"d-none\");\r\n\r\n if (isCurrentDenied) {\r\n detail.removeClass(\"d-none\");\r\n } else {\r\n detail.addClass(\"d-none\");\r\n }\r\n });\r\n\r\n\r\n $(\"select.denied-reason\").change(function () {\r\n $(this).siblings(\".denied-reason-error\").first().addClass(\"d-none\");\r\n if ($(this).val() == jsWSPPaymentDenialTypeOther) {\r\n $(this).siblings(\".denied-other-detail\").first().removeClass(\"d-none\");\r\n } else {\r\n $(this).siblings(\".denied-other-detail\").first().addClass(\"d-none\");\r\n }\r\n });\r\n\r\n $(\"textarea.denied-other-text\").keydown(function () {\r\n $(this).siblings(\".denied-other-error\").first().addClass(\"d-none\");\r\n });\r\n\r\n $(\"input#chkCheckAll\").click(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(\"input.verified:not(:checked)\").each(function () {\r\n $(this).prop(\"checked\", true);\r\n SetVerified($(this));\r\n });\r\n } else {\r\n $(\"input.verified:checked\").each(function () {\r\n $(this).prop(\"checked\", false);\r\n SetVerified($(this));\r\n });\r\n }\r\n });\r\n\r\n $(\".submit-button\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"input#chkCheckAll\").is(\":checked\")) {\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n }\r\n\r\n return Submit();\r\n });\r\n\r\n $(\".submit-button-modal\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n return Submit();\r\n });\r\n\r\n function Submit() {\r\n $(\".error-message:not(.d-none)\").addClass(\"d-none\");\r\n $(\"span.denied-reason-error:not(.d-none)\").addClass(\"d-none\");\r\n $(\"span.denied-other-error:not(.d-none)\").addClass(\"d-none\");\r\n\r\n var hasErrors = false;\r\n\r\n // Gather the verified and denied operators to send back to the server.\r\n var verifiedList = []\r\n\r\n $(\"input.verified:checked\").each(function () {\r\n verifiedList.push($(this).val());\r\n });\r\n\r\n // For denied operators, we need to collect the denied reasons as well.\r\n var deniedList = [];\r\n $(\"input.denied:checked\").each(function () {\r\n val = $(this).val();\r\n var deniedReason = $(\"div.denied-detail[data-id='\" + val + \"'\").find(\"select.denied-reason :selected\").first().val();\r\n var deniedOtherDetail = $(\"div.denied-detail[data-id='\" + val + \"'\").find(\"textarea.denied-other-text\").first().val();\r\n var deniedObject = {\r\n WSPPaymentId: $(this).val(),\r\n DeniedReason: deniedReason,\r\n DeniedOtherDetail: deniedOtherDetail\r\n }\r\n deniedList.push(deniedObject);\r\n\r\n\r\n if (deniedReason == \"-1\") {\r\n hasErrors = true;\r\n $(\"div.denied-detail[data-id='\" + val + \"'\").find(\".denied-reason-error\").first().removeClass(\"d-none\");\r\n } else if (deniedReason == jsWSPPaymentDenialTypeOther) {\r\n if ($(\"div.denied-detail[data-id='\" + val + \"'\").find(\"textarea.denied-other-text\").first().val().trim() == \"\") {\r\n hasErrors = true;\r\n $(\"div.denied-detail[data-id='\" + val + \"'\").find(\".denied-other-error\").first().removeClass(\"d-none\");\r\n }\r\n }\r\n });\r\n\r\n // Make sure they actually verified or denied anything.\r\n if (verifiedList.length == 0 && deniedList.length == 0) {\r\n hasErrors = true;\r\n $(\".error-message\").text(jsErrorNoSelection);\r\n $(\".error-message\").removeClass(\"d-none\");\r\n }\r\n\r\n if (!hasErrors) {\r\n // Fill out our form fields\r\n $(\"#VerifiedWSPPaymentIds\").val(JSON.stringify(verifiedList));\r\n $(\"#DeniedWSPPayments\").val(JSON.stringify(deniedList));\r\n\r\n $('#WspPaymentApprovalForm').submit();\r\n }\r\n\r\n return false;\r\n }\r\n\r\n $(\".reopen-button\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#ReopenWSPPaymentId\").val($(this).attr(\"data-id\"));\r\n\r\n $(\"#reopenModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\".reopen-button-modal\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $('#WspPaymentApprovalForm').submit();\r\n return false;\r\n });\r\n\r\n } // if ($('#WspPaymentApprovalForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n if ($('form#PendingApplicationDetailsForm').length > 0) {\r\n\r\n\r\n $(\".btnPrint\").on('click', function () {\r\n //$('.printcont').printThis({\r\n // debug: false, // show the iframe for debugging\r\n // importCSS: true, // import page CSS\r\n // importStyle: false, // import style tags\r\n // printContainer: true, // grab outer container as well as the contents of the selector\r\n // loadCSS: $(\"link.site\").attr(\"href\"), // path to additional css file - us an array [] for multiple\r\n // removeInline: false, // remove all inline styles from print elements\r\n // printDelay: 333, // variable print delay\r\n // copyTagClasses: true // copy classes from the html & body tag\r\n //});\r\n window.setTimeout(function () {\r\n window.print();\r\n }, 333);\r\n });\r\n\r\n if ($(\"#IsResendEmailEnabled\").val() == \"True\") {\r\n $(\".displayResendEmail\").prop(\"disabled\", false).removeClass('d-none');\r\n }\r\n\r\n\r\n $(\"#WithdrawButton\").click(function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n if ($(\"form\").valid()) {\r\n $(\"#approveModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n }\r\n\r\n return false;\r\n });\r\n\r\n $(\".btnConfirmWithdraw\").on('click', function () {\r\n $(\"#IsWithdrawSelected\").val(true);\r\n $(\"form\").submit();\r\n });\r\n\r\n $(\"#EditButton\").click(function () {\r\n $(\"#IsEditSelected\").val(true);\r\n return true;\r\n });\r\n\r\n if ($(\"#IsWithdrawEnabled\").val() == \"True\") {\r\n $(\"#WithdrawButton\").prop(\"disabled\", false).removeClass('d-none');\r\n }\r\n\r\n if ($(\"#IsEditEnabled\").val() == \"True\") {\r\n $(\"#EditButton\").prop(\"disabled\", false).removeClass('d-none');\r\n }\r\n\r\n if ($(\"#IsSubmitEnabled\").val() == \"True\") {\r\n $(\"#SubmitButton\").prop(\"disabled\", false).removeClass('d-none');\r\n }\r\n function navigate(prefix, lang) {\r\n if (prefix != \"q\") {\r\n //TODO url can be replace by a viewbag\r\n\r\n x = prefix + \"/\" + lang + \"/\" + 'admin/wageenhancement/facilitycontactlist/' + '@ViewContext.RouteData.Values[\"oper\"].ToString()';\r\n }\r\n else {\r\n x = \"/\" + lang + \"/\" + 'admin/wageenhancement/facilitycontactlist/' + '@ViewContext.RouteData.Values[\"oper\"].ToString()';\r\n }\r\n\r\n window.open(x);\r\n //Perform your navigation\r\n }\r\n\r\n } // if ($('form#PendingApplicationDetailsForm').length > 0)\r\n}); // $(function () {","$(function () {\r\n\r\n if ($('button#WithdrawButton').length > 0) {\r\n\r\n $(\"#WithdrawButton\").on('click', function (e) {\r\n\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#confirmModal\").modal({\r\n 'backdrop': 'static'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(\"#btnConfirmWithdraw\").on('click', function (e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $(\"#btnConfirmWithdraw\").prop(\"disabled\", true);\r\n\r\n var url = '';\r\n\r\n if (location.href.indexOf('/en/') > 0) {\r\n url = location.href.split('/en/')[0] + '/en/WageEnhancement/EmployeeDetails/WithdrawConditional/';\r\n } else {\r\n url = location.href.split('/fr/')[0] + '/fr/WageEnhancement/EmployeeDetails/WithdrawConditional/';\r\n }\r\n\r\n $.ajax({\r\n url: url + jsOper + '/' + jsAppId,\r\n method: 'POST',\r\n success: function (res) {\r\n url = url.replace('/WithdrawConditional', '/Upload') + jsOper + '/' + jsEmployeeId;\r\n window.location.href = url;\r\n },\r\n error: function (e) {\r\n url = url.replace('EmployeeDetails/WithdrawConditional', 'Employee/Registered') + jsOper + '/' + jsEmployeeId;\r\n window.location.href = url;\r\n }\r\n });\r\n\r\n return false;\r\n });\r\n }\r\n\r\n if ($('form#UploadForm').length > 0) {\r\n\r\n $(\"input[name='CanClaim05Hours']\").change(function () {\r\n var val = $(\"input[name='CanClaim05Hours']:checked\").val();\r\n\r\n if (val == jsTrueString) {\r\n $(\"#TrainingCompletedTypeDiv\").removeClass(\"d-none\")\r\n } else {\r\n $(\"#TrainingCompletedTypeDiv\").addClass(\"d-none\")\r\n }\r\n });\r\n\r\n $(\"input[name='CanClaim05Hours']\").change();\r\n\r\n $(\"#RequestedFundingLevelTypeCd\").change(function () {\r\n $(\".funding-level-section\").addClass(\"d-none\");\r\n\r\n var id = $(this).val();\r\n\r\n var options = $(\"option.funding-level-option\");;\r\n\r\n var optionCount = 0;\r\n var firstOption = -1;\r\n\r\n // Hide all the step options not available for the current funding level.\r\n options.each(function () {\r\n if ($(this).val() == jsOtherCd) {\r\n return;\r\n }\r\n\r\n if ($(this).attr(\"data-type\") == id) {\r\n $(this).removeClass(\"d-none\");\r\n\r\n // The first option we find will be selected by default\r\n // if only one option is available.\r\n if (firstOption < 0) {\r\n firstOption = $(this).val();\r\n }\r\n\r\n optionCount++;\r\n } else {\r\n $(this).addClass(\"d-none\");\r\n }\r\n });\r\n\r\n // If there's more than one option available (Minus the blank) we don't show the dropdown.\r\n // The only option will be selected by default.\r\n if (optionCount > 1) {\r\n $(\"#RequestedFundingLevelId\").val(jsOtherCd);\r\n $(\".funding-level-section\").removeClass(\"d-none\");\r\n } else {\r\n $(\"#RequestedFundingLevelId\").val(firstOption);\r\n }\r\n\r\n // If untrained relief staff is selected, we need to do update some parts of the screen\r\n if (id == jsOtherCd) {\r\n $(\".trained-only\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n } else if (id == jsUntrainedReliefStaffCd) {\r\n $(\".trained-only\").each(function () {\r\n $(this).addClass(\"d-none\");\r\n });\r\n } else {\r\n $(\".trained-only\").each(function () {\r\n $(this).removeClass(\"d-none\");\r\n });\r\n\r\n $(\"input[name='CanClaim05Hours']\").first().change();\r\n\r\n if (id == jsEntryLevelCd) {\r\n $(\".hours-span\").text(90);\r\n } else {\r\n $(\".hours-span\").text(30);\r\n }\r\n }\r\n });\r\n\r\n $(\"#RequestedFundingLevelTypeCd\").change();\r\n } // if ($('form#UploadForm').length > 0)\r\n}); // $(function () {"]}