1 /** Webcit preference code */
2 var persistentStorage = false;
3 /* DOM5 storage disabled for now.. we want localStorage which isn't as widely available yet */
4 //if (window.sessionStorage) {
5 // persistentStorage = true;
8 this.cookieValCache = new Object();
9 this.noExpire = "Mon, 18 Jan 2038 5:14:07 AM";
12 function readPref(name) {
13 if (persistentStorage) {
14 return sessionStorage.getItem(name);
16 return this.cookieValCache[name];
20 function setPref(name, value) {
21 if (persistentStorage) {
22 sessionStorage.setItem(name, value);
24 document.cookie = "WC_" + name + "="+value+";expires="+this.noExpire;
25 // this.cookieValCache[name] = value;
30 function loadLocal() {
31 if (!persistentStorage) {
32 var cookies = document.cookie.split(";");
33 for(var i=0; i<cookies.length; i++) {
34 var cookie = cookies[i].split("=");
36 if (name.charAt(0) == " ") {
37 name = name.substr(1);
39 if (name.substr(0, 3) == "WC_") {
40 name = name.substr(3);
41 this.cookieValCache[name] = cookie[1];
42 if (!!window.console) {
43 console.log(name+"="+cookie[1]);
50 function saveLocal() {
51 if (!persistentStorage) {
52 // First we purge cookies with WC_ infront
53 var cookies = document.cookie.split(";");
54 var numOfCookies = cookies.length;
55 var finalCookieString = "";
56 for(var i=0; i<numOfCookies; i++)
57 var cookie = cookies[i].split("=");
59 if (name.substr(0, 3) != "WC_") {
60 finalCookieString += cookies[i] + ";";
63 for(key in this.cookieValCache) {
64 var val = this.cookieValCache[key];
65 finalCookieString += "WC_" + key+"="+val+";";
67 document.cookie = finalCookieString;
70 WCPrefs.prototype.saveLocal = saveLocal;
71 WCPrefs.prototype.loadLocal = loadLocal;
72 WCPrefs.prototype.setPref = setPref;
73 WCPrefs.prototype.readPref = readPref;
74 var ctdlLocalPrefs = null;
76 function setupPrefEngine() {
77 ctdlLocalPrefs = new WCPrefs();
78 ctdlLocalPrefs.loadLocal();