Type.registerNamespace("ASPCode.net");
 
ASPCode.net._CookieManager = function() 
{
    ASPCode.net._CookieManager.initializeBase(this);
}
ASPCode.net._CookieManager.prototype = 
{
    setCookie: function(sName, sValue, oOptions )
    {
        oOptions = oOptions || {};
        var sExpires = '';
        if (oOptions.expires && (typeof oOptions.expires == 'number' || oOptions.expires.toGMTString)) {
            var date;
            if (typeof oOptions.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (oOptions.expires * 24 * 60 * 60 * 1000));
            } else {
                date = oOptions.expires;
            }
            sExpires = '; expires=' + date.toGMTString(); 
        }
        var sPath = oOptions.path ? '; path=' + oOptions.path : '';
        var sDomain = oOptions.domain ? '; domain=' + oOptions.domain : '';
        var sSecure = oOptions.secure ? '; secure=' + oOptions.secure : '';
        
        document.cookie = sName + '=' + sValue + 
			sPath +
			sDomain +
			sSecure +
			sExpires;
        
        
        
    },
    deleteCookie: function(sName, oOptions)
    {
        if ( this.getCookie( sName ) ) 
        {
            oOptions = oOptions || {};
            var sPath = oOptions.path ? '; path=' + oOptions.path : '';
            var sDomain = oOptions.domain ? '; domain=' + oOptions.domain : '';
        
            document.cookie = sName + '=' + '' + 
			sPath +
			sDomain +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
		}
    },
    cookies: function()
    {
        //Return array - of string...
        if (document.cookie && document.cookie != '')
        {
            return document.cookie.split(';');
        }
        
    },
    getCookie: function(sName)
    {
        var retValue = null;
        //Supports?
        if (document.cookie && document.cookie != '')
        {
            var cookieArray = document.cookie.split(';');
            for (var n = 0; n < cookieArray.length; n++) 
            {
                var oneCookie = cookieArray[n].trim();
                if ( oneCookie.startsWith(sName + '=') )
                {
                    retValue = decodeURIComponent(oneCookie.substring(sName.length + 1));
                    break;
                }
            }
        }
        return retValue;
    }
}


ASPCode.net._CookieManager.registerClass('ASPCode.net._CookieManager', Sys.Component);

ASPCode.net.CookieManager = new ASPCode.net._CookieManager();
