YAHOO.namespace("util");YAHOO.util.Cookie={_createCookieString:function(b,d,c,a){var f=YAHOO.lang;var e=encodeURIComponent(b)+"="+(c?encodeURIComponent(d):d);if(f.isObject(a)){if(a.expires instanceof Date){e+="; expires="+a.expires.toGMTString()}if(f.isString(a.path)&&a.path!=""){e+="; path="+a.path}if(f.isString(a.domain)&&a.domain!=""){e+="; domain="+a.domain}if(a.secure===true){e+="; secure"}}return e},_createCookieHashString:function(b){var d=YAHOO.lang;if(!d.isObject(b)){throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.")}var c=new Array();for(var a in b){if(d.hasOwnProperty(b,a)&&!d.isFunction(b[a])&&!d.isUndefined(b[a])){c.push(encodeURIComponent(a)+"="+encodeURIComponent(String(b[a])))}}return c.join("&")},_parseCookieHash:function(e){var d=e.split("&"),f=null,c=new Object();if(e.length>0){for(var b=0,a=d.length;b<a;b++){f=d[b].split("=");c[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}}return c},_parseCookieString:function(k,a){var l=new Object();if(YAHOO.lang.isString(k)&&k.length>0){var b=(a===false?function(i){return i}:decodeURIComponent);if(/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(k)){var h=k.split(/;\s/g),j=null,c=null,e=null;for(var d=0,f=h.length;d<f;d++){e=h[d].match(/([^=]+)=/i);if(e instanceof Array){try{j=decodeURIComponent(e[1]);c=b(h[d].substring(e[1].length+1))}catch(g){}}else{j=decodeURIComponent(h[d]);c=j}l[j]=c}}}return l},get:function(a,b){var d=YAHOO.lang;var c=this._parseCookieString(document.cookie);if(!d.isString(a)||a===""){throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.")}if(d.isUndefined(c[a])){return null}if(!d.isFunction(b)){return c[a]}else{return b(c[a])}},getSub:function(a,c,b){var e=YAHOO.lang;var d=this.getSubs(a);if(d!==null){if(!e.isString(c)||c===""){throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.")}if(e.isUndefined(d[c])){return null}if(!e.isFunction(b)){return d[c]}else{return b(d[c])}}else{return null}},getSubs:function(a){if(!YAHOO.lang.isString(a)||a===""){throw new TypeError("Cookie.getSubs(): Cookie name must be a non-empty string.")}var b=this._parseCookieString(document.cookie,false);if(YAHOO.lang.isString(b[a])){return this._parseCookieHash(b[a])}return null},remove:function(b,a){if(!YAHOO.lang.isString(b)||b===""){throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.")}a=a||{};a.expires=new Date(0);return this.set(b,"",a)},removeSub:function(b,d,a){if(!YAHOO.lang.isString(b)||b===""){throw new TypeError("Cookie.removeSub(): Cookie name must be a non-empty string.")}if(!YAHOO.lang.isString(d)||d===""){throw new TypeError("Cookie.removeSub(): Subcookie name must be a non-empty string.")}var c=this.getSubs(b);if(YAHOO.lang.isObject(c)&&YAHOO.lang.hasOwnProperty(c,d)){delete c[d];return this.setSubs(b,c,a)}else{return""}},set:function(b,c,a){var e=YAHOO.lang;if(!e.isString(b)){throw new TypeError("Cookie.set(): Cookie name must be a string.")}if(e.isUndefined(c)){throw new TypeError("Cookie.set(): Value cannot be undefined.")}var d=this._createCookieString(b,c,true,a);document.cookie=d;return d},setSub:function(b,d,c,a){var f=YAHOO.lang;if(!f.isString(b)||b===""){throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.")}if(!f.isString(d)||d===""){throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.")}if(f.isUndefined(c)){throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.")}var e=this.getSubs(b);if(!f.isObject(e)){e=new Object()}e[d]=c;return this.setSubs(b,e,a)},setSubs:function(b,c,a){var e=YAHOO.lang;if(!e.isString(b)){throw new TypeError("Cookie.setSubs(): Cookie name must be a string.")}if(!e.isObject(c)){throw new TypeError("Cookie.setSubs(): Cookie value must be an object.")}var d=this._createCookieString(b,this._createCookieHashString(c),false,a);document.cookie=d;return d}};YAHOO.register("cookie",YAHOO.util.Cookie,{version:"2.7.0",build:"1799"});