// Utility functions
var Utils =
{
    // Browser DOM support
    W3CDOM : document.createElement && document.getElementsByTagName,
    
    // Events management
    addEvent : function (obj, evt, fn) {
        if (obj.addEventListener)
            obj.addEventListener(evt,fn,false);
        else if (obj.attachEvent)
            obj.attachEvent('on'+evt,fn);
    },
    removeEvent : function (obj, evt, fn) {
        if (obj.removeEventListener)
            obj.removeEventListener(evt,fn,false);
        else if (obj.detachEvent)
            obj.detachEvent('on'+evt,fn);
    },
    
    // Cookies management
    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 
            var 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 c.substring(nameEQ.length, c.length);
        }
        
        return null;
    },
    eraseCookie : function (name) {
        Utils.createCookie(name, "", -1);
    }
}
