{"version":3,"sources":["dbs.styleswitch.ts"],"names":["DBS","StyleSwitcher","SetActiveStyleSheet","title","i","a","document","getElementsByTagName","relAttr","getAttribute","disabled","StylesheetOnLoad","cookie","name","nameEq","ca","split","length","c","charAt","substring","indexOf","readCookie","getPreferredStyleSheet","StylesheetOnUnload","sheet","getActiveStyleSheet","value","days","expires","date","Date","setTime","getTime","toUTCString","createCookie","window","addEventListener"],"mappings":"aAAA,IAAOA,KAAP,SAAOA,GAAI,IAAAC,GAAAA,EAAAD,EAAAC,gBAAAD,EAAAC,cAAa,KAwEJC,oBAAhB,SAAoCC,GAEhC,IAAIC,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAC5D,CACI,IAAMI,EAAUH,EAAEI,aAAa,OAChB,MAAXD,GAA+B,yBAAZA,GAAsCH,EAAEI,aAAa,WAExEJ,EAAEK,UAAW,EACTL,EAAEI,aAAa,WAAaN,IAE5BE,EAAEK,UAAW,MAMbT,EAAAU,iBAAhB,WAEI,IAAMC,EA1FV,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,EAAEG,QAAQP,GAEV,OAAOI,EAAEE,UAAUN,EAAOG,OAAQC,EAAED,QAG5C,OAAO,KA0EQK,CAAW,SACpBnB,EAAQS,GAtDlB,WAEI,IAAIR,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAC5D,CACI,IAAMI,EAAUH,EAAEI,aAAa,OAC/B,GAAe,MAAXD,IAC8B,IAA9BA,EAAQa,QAAQ,WACY,IAA5Bb,EAAQa,QAAQ,QAChBhB,EAAEI,aAAa,SAEf,OAAOJ,EAAEI,aAAa,SAG9B,OAAO,KAyCDc,GACNtB,EAAcC,oBAAoBC,IAGtBF,EAAAuB,mBAAhB,WAEI,IAAMC,EA5CV,WAEI,IAAIrB,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAC5D,CACI,IAAMI,EAAUH,EAAEI,aAAa,OAC/B,GAAe,MAAXD,GAA+B,yBAAZA,GAAsCH,EAAEI,aAAa,SAAWJ,EAAEI,aAAa,WAAaJ,EAAEK,SAEjH,OAAOL,EAAEI,aAAa,SAG9B,OAAO,KAgCOiB,IAhFlB,SAAsBb,EAAcc,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,GAGdvB,SAASM,OAASC,EAAO,IAAMc,EAAQE,EAAU,WAmEjDM,CAAa,QADc,MAATV,EAAgBA,EAAQ,GACT,MAvGzC,CAAOzB,IAAAA,KAAG,IA2GVoC,OAAOC,iBAAiB,OAAQrC,IAAIC,cAAcU,kBAClDyB,OAAOC,iBAAiB,eAAgBrC,IAAIC,cAAcuB","file":"dbs.styleswitch.js","sourcesContent":["module DBS.StyleSwitcher\r\n{\r\n function readCookie(name: string): string | null\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 | null\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 const relAttr = a.getAttribute(\"rel\");\r\n if (relAttr != null &&\r\n relAttr.indexOf(\"style\") !== -1 &&\r\n relAttr.indexOf(\"alt\") === -1 &&\r\n 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 | null\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 const relAttr = a.getAttribute(\"rel\");\r\n if (relAttr != null && relAttr === \"alternate stylesheet\" && a.getAttribute(\"href\") && 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 const relAttr = a.getAttribute(\"rel\");\r\n if (relAttr != null && relAttr === \"alternate stylesheet\" && 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(): void\r\n {\r\n const sheet = getActiveStyleSheet();\r\n const sheetName = sheet != null ? sheet : \"\";\r\n createCookie(\"style\", sheetName, 365);\r\n }\r\n}\r\n\r\nwindow.addEventListener(\"load\", DBS.StyleSwitcher.StylesheetOnLoad);\r\nwindow.addEventListener(\"beforeunload\", DBS.StyleSwitcher.StylesheetOnUnload);"]}