var Cookie = {
    createCookie: function(name, value, days){
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = ";expires=" + date.toGMTString();
        }
        else {
            expires = "";
        }
        document.cookie = name + "=" + value + expires + ";path=/";
    },
    readCookie: function(name){
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1, c.length);
            }
            if (c.indexOf(nameEQ) === 0) {
                return decodeURIComponent(c.substring(nameEQ.length, c.length));
            }
        }
        return null;
    },
    eraseCookie: function(name){
        document.createCookie(name, "", -1);
    },
	storeJsonCookie:function(name, value, days){
		var val = value.toJSON();
		document.createCookie(name, val, days);
	},
	readJsonCookie:function(name){
		return document.readCookie(name).evalJSON();
	}
};

var __result = {};
if(document.URL.indexOf('?') > 0){
	parameters = document.URL.substring(document.URL.indexOf('?')+1, document.URL.length);
	parameters = parameters.split("&");
	for(var i=0; i < parameters.length; i++){
		_kv = parameters[i].split("=");
		if (_kv[0] !== "") {
			__result[_kv[0]] = unescape(_kv[1]);
		}
	}
}


Get= {
	parameters: __result
}

Selection = {
    unselectable: function(target){
		target = $(target);
        if (typeof target.onselectstart != "undefined") {
            target.onselectstart = function(){
                return false;
            };
        } else if (typeof target.style.MozUserSelect != "undefined") {
            target.style.MozUserSelect = "none";
        } else {
            target.onmousedown = function(){
                return false;
            };
        }
    },
    selectable: function(target){
		target = $(target);
        if (typeof target.onselectstart != "undefined") {
            target.onselectstart = document.createElement("div").onselectstart;
        }else if (typeof target.style.MozUserSelect != "undefined") {
            target.style.MozUserSelect = document.createElement("div").style.MozUserSelect;
        } else {
            target.onmousedown = "";
        }
    }
};
Events = {
	onReady: function(func){
		Event.observe(window, "load", func);
	}
}

Object.extend(Event, Events);
Object.extend(document, Cookie);
Object.extend(document, Get);
Element.addMethods(Selection);