{"version":3,"sources":["dbs.styleswitch.ts"],"names":["DBS","StyleSwitcher","SetActiveStyleSheet","title","a","i","document","getElementsByTagName","relAttr","getAttribute","indexOf","disabled","StylesheetOnLoad","cookie","name","nameEq","ca","split","length","c","charAt","substring","StylesheetOnUnload","days","date","sheet","value","expires","Date","setTime","getTime","toUTCString","window","addEventListener"],"mappings":"AAAA,IAAOA,KAAAA,IAAI,IAAAC,GAAAA,EAAAD,EAAAC,gBAAAD,EAAAC,cAAa,KAwEJC,oBAAhB,SAAoCC,GAIhC,IAFA,IACIC,EACCC,EAAI,EAAID,EAAIE,SAASC,qBAAqB,MAAM,EAAEF,GAAKA,CAAC,GAC7D,CACI,IAAMG,EAAUJ,EAAEK,aAAa,KAAK,EACrB,MAAXD,GAAgD,CAAC,IAA9BA,EAAQE,QAAQ,OAAO,GAAYN,EAAEK,aAAa,OAAO,IAE5EL,EAAEO,SAAW,CAAA,EACTP,EAAEK,aAAa,OAAO,IAAMN,KAE5BC,EAAEO,SAAW,CAAA,E,CAI7B,EAEgBV,EAAAW,iBAAhB,WAEI,IACMT,GAAQU,GA3FEC,IAIhB,IAFA,IAAMC,EAASD,EAAO,IAChBE,EAAKV,SAASO,OAAOI,MAAM,GAAG,EAC3BZ,EAAI,EAAGA,EAAIW,EAAGE,OAAQb,CAAC,GAChC,CAEI,IADA,IAAIc,EAAIH,EAAGX,GACY,MAAhBc,EAAEC,OAAO,CAAC,GAEbD,EAAIA,EAAEE,UAAU,EAAGF,EAAED,MAAM,EAE/B,GAA0B,IAAtBC,EAAET,QAAQK,CAAM,EAEhB,OAAOI,EAAEE,UAAUN,EAAOG,OAAQC,EAAED,MAAM,C,CAGlD,OAAO,IACX,GAyE8B,OAAO,KArDrC,KAII,IAFA,IACId,EACCC,EAAI,EAAID,EAAIE,SAASC,qBAAqB,MAAM,EAAEF,GAAKA,CAAC,GAC7D,CACI,IAAMG,EAAUJ,EAAEK,aAAa,KAAK,EACpC,GAAe,MAAXD,GAC6B,CAAC,IAA9BA,EAAQE,QAAQ,OAAO,GACI,CAAC,IAA5BF,EAAQE,QAAQ,KAAK,GACrBN,EAAEK,aAAa,OAAO,EAEtB,OAAOL,EAAEK,aAAa,OAAO,C,CAGrC,OAAO,IACX,GAwCgC,EAC5BR,EAAcC,oBAAoBC,CAAK,CAC3C,EAEgBF,EAAAqB,mBAAhB,WAEI,IAhFkBR,EAA6BS,EAMrCC,EA0EJC,GA5CV,KAII,IAFA,IACIrB,EACCC,EAAI,EAAID,EAAIE,SAASC,qBAAqB,MAAM,EAAEF,GAAKA,CAAC,GAC7D,CACI,IAAMG,EAAUJ,EAAEK,aAAa,KAAK,EACpC,GAAe,MAAXD,GAAgD,CAAC,IAA9BA,EAAQE,QAAQ,OAAO,GAAYN,EAAEK,aAAa,OAAO,GAAK,CAACL,EAAEO,SAEpF,OAAOP,EAAEK,aAAa,OAAO,C,CAGrC,OAAO,IACX,GA+BqC,EAhFfK,EAkFL,QAlFmBY,EAiFL,MAATD,EAAgBA,EAAQ,GAzEtCE,GAR2CJ,EAkFd,OA5EvBC,EAAO,IAAII,MACZC,QAAQL,EAAKM,QAAO,EAAa,GAAPP,EAAY,GAAK,GAAK,GAAK,EAChD,aAAaC,EAAKO,YAAW,GAI7B,GAGdzB,SAASO,OAASC,EAAO,IAAMY,EAAQC,EAAU,UAoErD,CACH,GAzGM3B,IAAAA,KAAG,EAAA,EA2GVgC,OAAOC,iBAAiB,OAAQjC,IAAIC,cAAcW,gBAAgB,EAClEoB,OAAOC,iBAAiB,SAAUjC,IAAIC,cAAcqB,kBAAkB","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);"]}