{"version":3,"sources":["dbs.styleswitch.ts"],"names":["DBS","StyleSwitcher","SetActiveStyleSheet","title","i","a","document","getElementsByTagName","relAttr","getAttribute","indexOf","disabled","StylesheetOnLoad","cookie","name","nameEq","ca","split","length","c","charAt","substring","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,IAAiD,IAA9BA,EAAQE,QAAQ,UAAmBL,EAAEI,aAAa,WAErEJ,EAAEM,UAAW,EACTN,EAAEI,aAAa,WAAaN,IAE5BE,EAAEM,UAAW,MAMbV,EAAAW,iBAAhB,WAEI,IAAMC,EA1FV,SAAoBC,GAIhB,IAFA,IAAMC,EAASD,EAAO,IAChBE,EAAKV,SAASO,OAAOI,MAAM,KACxBb,EAAI,EAAGA,EAAIY,EAAGE,OAAQd,IAC/B,CAEI,IADA,IAAIe,EAAIH,EAAGZ,GACY,MAAhBe,EAAEC,OAAO,IAEZD,EAAIA,EAAEE,UAAU,EAAGF,EAAED,QAEzB,GAA0B,IAAtBC,EAAET,QAAQK,GAEV,OAAOI,EAAEE,UAAUN,EAAOG,OAAQC,EAAED,QAG5C,OAAO,KA0EQI,CAAW,SACpBnB,EAAQU,GAtDlB,WAEI,IAAIT,EACAC,EACJ,IAAKD,EAAI,EAAIC,EAAIC,SAASC,qBAAqB,QAAQH,GAAKA,IAC5D,CACI,IAAMI,EAAUH,EAAEI,aAAa,OAC/B,GAAe,MAAXD,IAC8B,IAA9BA,EAAQE,QAAQ,WACY,IAA5BF,EAAQE,QAAQ,QAChBL,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,IAAiD,IAA9BA,EAAQE,QAAQ,UAAmBL,EAAEI,aAAa,WAAaJ,EAAEM,SAEpF,OAAON,EAAEI,aAAa,SAG9B,OAAO,KAgCOiB,IAhFlB,SAAsBZ,EAAca,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,SAASO,OAASC,EAAO,IAAMa,EAAQE,EAAU,WAmEjDM,CAAa,QADc,MAATV,EAAgBA,EAAQ,GACT,MAvGzC,CAAOzB,IAAAA,KAAG,IA2GVoC,OAAOC,iBAAiB,OAAQrC,IAAIC,cAAcW,kBAClDwB,OAAOC,iBAAiB,SAAUrC,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.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 const relAttr = a.getAttribute(\"rel\");\r\n if (relAttr != null && relAttr.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(): 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(\"unload\", DBS.StyleSwitcher.StylesheetOnUnload);"]}