var COOKIE = {
    set: function(key, val, o){
        o = o||{};
        val = encodeURIComponent(val);
        if (o.domain) {
            val += '; domain=' + o.domain;
        }
        if (o.path) {
            val += '; path=' + o.path;
        }
        else {
            val += '; path=/';
        }
        if (o.duration) {
            var date = new Date();
            date.setTime(date.getTime() + o.duration*24*60*60*1000);
            val += '; expires=' + date.toGMTString();
        }
        if (o.secure) {
            val += '; secure';
        }
        document.cookie = key + '=' + val;
    },

    get: function(key, default_value){
    	var default_value = default_value ? default_value : null;
        var m = document.cookie.match('(?:^|;)\\s*?' + key + '=([^;]*)');
        return (m) ? decodeURIComponent(m[1]) : default_value;
    },
    
    remove: function(key){
        return this.set(key, "", {duration: -1});
    }
}
