{"version":3,"sources":["dbs.styleswitch.ts"],"names":["DBS","StyleSwitcher","SetActiveStyleSheet","title","i","a","document","getElementsByTagName","getAttribute","indexOf","disabled","StylesheetOnLoad","cookie","name","nameEq","ca","split","length","c","charAt","substring","readCookie","getPreferredStyleSheet","StylesheetOnUnload","ev","value","days","expires","date","Date","setTime","getTime","toUTCString","createCookie","getActiveStyleSheet","window","addEventListener"],"mappings":"AAAA,IAAOA,KAAP,SAAOA,GAAI,IAAAC,GAAAA,EAAAD,EAAAC,gBAAAD,EAAAC,cAAa,KAmEJC,oBAAhB,SAAoCC,GAEhC,IAAIC,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,KAER,IAA5CC,EAAEG,aAAa,OAAOC,QAAQ,UAAmBJ,EAAEG,aAAa,WAEhEH,EAAEK,UAAW,EACTL,EAAEG,aAAa,WAAaL,IAE5BE,EAAEK,UAAW,KAMbT,EAAAU,iBAAhB,WAEI,IAAMC,EApFV,SAAoBC,GAIhB,IAFA,IAAMC,EAASD,EAAO,IAChBE,EAAKT,SAASM,OAAOI,MAAM,KACxBZ,EAAI,EAAGA,EAAIW,EAAGE,OAAQb,IAC/B,CAEI,IADA,IAAIc,EAAIH,EAAGX,GACY,MAAhBc,EAAEC,OAAO,IAEZD,EAAIA,EAAEE,UAAU,EAAGF,EAAED,QAEzB,GAA0B,IAAtBC,EAAET,QAAQK,GAEV,OAAOI,EAAEE,UAAUN,EAAOG,OAAQC,EAAED,QAG5C,OAAO,KAoEQI,CAAW,SACpBlB,EAAQS,GAhDlB,WAEI,IAAIR,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAExD,IAAgD,IAA5CC,EAAEG,aAAa,OAAOC,QAAQ,WAA6D,IAA1CJ,EAAEG,aAAa,OAAOC,QAAQ,QAAiBJ,EAAEG,aAAa,SAE/G,OAAOH,EAAEG,aAAa,SAG9B,OAAO,KAuCac,GACpBrB,EAAcC,oBAAoBC,IAGtBF,EAAAsB,mBAAhB,SAAmCC,IAxEnC,SAAsBX,EAAcY,EAAeC,GAE/C,IAAIC,EAEJ,GAAID,EACJ,CACI,IAAME,EAAO,IAAIC,KACjBD,EAAKE,QAAQF,EAAKG,UAAoB,GAAPL,EAAY,GAAK,GAAK,KACrDC,EAAU,aAAaC,EAAKI,mBAI5BL,EAAU,GAGdrB,SAASM,OAASC,EAAO,IAAMY,EAAQE,EAAU,WA4DjDM,CAAa,QA3CjB,WAEI,IAAI7B,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAExD,IAAgD,IAA5CC,EAAEG,aAAa,OAAOC,QAAQ,UAAmBJ,EAAEG,aAAa,WAAaH,EAAEK,SAE/E,OAAOL,EAAEG,aAAa,SAG9B,OAAO,KA+BO0B,GACe,MAhGrC,CAAOlC,MAAAA,IAAG,KAoGVmC,OAAOC,iBAAiB,OAAQpC,IAAIC,cAAcU,kBAClDwB,OAAOC,iBAAiB,SAAUpC,IAAIC,cAAcsB","file":"dbs.styleswitch.js","sourcesContent":["module DBS.StyleSwitcher\r\n{\r\n function readCookie(name: string): string\r\n {\r\n const nameEq = name + \"=\";\r\n const ca = document.cookie.split(\";\");\r\n for (let i = 0; i < ca.length; i++)\r\n {\r\n let c = ca[i];\r\n while (c.charAt(0) === \" \")\r\n {\r\n c = c.substring(1, c.length);\r\n }\r\n if (c.indexOf(nameEq) === 0)\r\n {\r\n return c.substring(nameEq.length, c.length);\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n function createCookie(name: string, value: string, days: number)\r\n {\r\n let expires: string;\r\n\r\n if (days)\r\n {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\r\n expires = `; expires=${date.toUTCString()}`;\r\n }\r\n else\r\n {\r\n expires = \"\";\r\n }\r\n\r\n document.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n }\r\n\r\n function getPreferredStyleSheet(): string\r\n {\r\n let i: number;\r\n let a: HTMLLinkElement;\r\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++)\r\n {\r\n if (a.getAttribute(\"rel\").indexOf(\"style\") !== -1 && a.getAttribute(\"rel\").indexOf(\"alt\") === -1 && a.getAttribute(\"title\"))\r\n {\r\n return a.getAttribute(\"title\");\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n function getActiveStyleSheet(): string\r\n {\r\n let i: number;\r\n let a: HTMLLinkElement;\r\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++)\r\n {\r\n if (a.getAttribute(\"rel\").indexOf(\"style\") !== -1 && a.getAttribute(\"title\") && !a.disabled)\r\n {\r\n return a.getAttribute(\"title\");\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n export function SetActiveStyleSheet(title: any): void\r\n {\r\n let i: number;\r\n let a: HTMLLinkElement;\r\n for (i = 0; (a = document.getElementsByTagName(\"link\")[i]); i++)\r\n {\r\n if (a.getAttribute(\"rel\").indexOf(\"style\") !== -1 && a.getAttribute(\"title\"))\r\n {\r\n a.disabled = true;\r\n if (a.getAttribute(\"title\") === title)\r\n {\r\n a.disabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n export function StylesheetOnLoad(): void\r\n {\r\n const cookie = readCookie(\"style\");\r\n const title = cookie\r\n ? cookie\r\n : getPreferredStyleSheet();\r\n StyleSwitcher.SetActiveStyleSheet(title);\r\n }\r\n\r\n export function StylesheetOnUnload(ev: Event): void\r\n {\r\n const title = getActiveStyleSheet();\r\n createCookie(\"style\", title, 365);\r\n }\r\n}\r\n\r\nwindow.addEventListener(\"load\", DBS.StyleSwitcher.StylesheetOnLoad);\r\nwindow.addEventListener(\"unload\", DBS.StyleSwitcher.StylesheetOnUnload);"]}