JSAN.use("CXGN.Base");JSAN.use("CXGN.Cookie");JSAN.use("CXGN.User");JSAN.use("MochiKit.Logging");UserPrefs=window.UserPrefs||{};var UserPrefs={data:new Object,_init:function(){UserPrefs.parse(Cookie.get('user_prefs'));},parse:function(cookie_string){cookie_string=decodeURIComponent(cookie_string);var kvps=cookie_string.split(':');for(var j=0;j<kvps.length;j++){var kv=kvps[j].split('=');var k=kv[0];var v=kv[1];UserPrefs.data[k]=v;}},build:function(){var data=UserPrefs.data;var cookie_string='';var i=0;for(key in data){if(i>0)cookie_string+=":";cookie_string+=encodeURIComponent(key)+"="+encodeURIComponent(data[key])
i++;}
return encodeURIComponent(cookie_string);},save:function(){var thisDate=new Date();var base=new Date(0);var skew=base.getTime();var unix_epoch_time=thisDate.getTime();if(skew>0)unix_epoch_time-=skew;UserPrefs.setValue('timestamp',unix_epoch_time);Cookie.set('user_prefs',UserPrefs.build(),1000);},getValue:function(key){return UserPrefs.data[key];},setValue:function(key,value){UserPrefs.data[key]=value;}}
