CS.UTIL.COOKIES=Class.create();CS.UTIL.COOKIES={setCookie:function(A){document.cookie=A.name+"="+A.value+"; expires="+A.expires+"; domain="+A.domain+"; path="+A.path+";";if(this.getCookie(A.name)){return TRUE}else{return FALSE}},getCookie:function(C){var B=document.cookie;var E=C+"=";var D=B.indexOf("; "+E);if(D==-1){D=B.indexOf(E);if(D!==0){return null}}else{D+=2}var A=document.cookie.indexOf(";",D);if(A==-1){A=B.length}return unescape(B.substring(D+E.length,A))}};CS.UTIL.COOKIES.prototype={initialize:function(B){this.options={expires:3600,path:"",domain:"",secure:""};Object.extend(this.options,B||{});if(this.options.expires!==""){var A=new Date();A.setTime(A.getTime()+(this.options.expires*1000));this.options.expires="; expires="+A.toGMTString()}if(this.options.path!==""){this.options.path="; path="+escape(this.options.path)}if(this.options.domain!==""){this.options.domain="; domain="+escape(this.options.domain)}if(this.options.secure=="secure"){this.options.secure="; secure"}else{this.options.secure=""}},put:function(A,C){cookie=this.options;var B=typeof C;switch(B){case"undefined":case"function":case"unknown":return false;case"boolean":case"string":case"number":C=String(C.toString());break;default:break}var E=A+"="+escape(Object.toJSON(C));try{document.cookie=E+cookie.expires+cookie.path+cookie.domain+cookie.secure}catch(D){return false}return true},remove:function(C){cookie=this.options;alert(C);try{var B=new Date();B.setTime(B.getTime()-(3600*1000));var A="; expires="+B.toGMTString();document.cookie=C+"="+A+cookie.path+cookie.domain+cookie.secure}catch(D){return false}return true},get:function(A){var B=document.cookie.match(A+"=(.*?)(;|$)");if(B){return(unescape(B[1])).evalJSON()}else{return null}},empty:function(){keys=this.getKeys();size=keys.size();for(i=0;i<size;i++){this.remove(keys[i])}},getPack:function(){pack={};keys=this.getKeys();size=keys.size();for(i=0;i<size;i++){pack[keys[i]]=this.get(keys[i])}return pack},getKeys:function(){keys=$A();keyRe=/[^=; ]+(?=\=)/g;str=document.cookie;while((match=keyRe.exec(str))!=undefined){keys.push(match[0].strip())}return keys}};