
var EBCookies = 
{
	SetCookie : function(name,value,days)
	{	
		var expires = "";
		if(days)
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		document.cookie = name+"="+value+expires+"; path=/";
	},
	
	SetCookieForDomain : function(name,value,days,domain)
	{	
		var expires = "";
		if(days)
		{
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		document.cookie = name+"="+value+expires+"; path=/; domain="+domain;
	},
	
	KillCookie : function(name)
	{
		document.cookie = name + "=;expires=Thu, 27 Oct 1979 15:59:28 UTC ;path=/";
	},
	GetCookie : function(name) 
	{
		name += "=";
		var os; 
		var retVal=""; 
		if (document.cookie.length > 0) 
		{ 
			os = document.cookie.indexOf(name);
			if (os != -1) 
			{ 
				os += name.length; 
				end = document.cookie.indexOf(";", os); 
				if (end == -1) 
					end = document.cookie.length;
				retVal= document.cookie.substring(os, end); 
			} 
		}
		return retVal; 
	},
	KillAllCookies : function()
	{
		var arrCookies = document.cookie.split(';');
		var cookieName;
		for(var i=0;i<arrCookies.length;i++)
		{
			this.KillCookie(arrCookies[i].split('=')[0]);
		}
	},
	killCookies : function(strCookieIdentifier)
	{
		var arrCookies = document.cookie.split(';');
		var cookieName;
		for(var i=0;i<arrCookies.length;i++)
		{
			cookieName = arrCookies[i].split('=')[0];
			if(cookieName.indexOf(strCookieIdentifier) != -1)
			{
				this.KillCookie(cookieName);
			}
		}
	},	
	CheckCookie : function()
	{
		EBCookies.SetCookie("checkPrivacy","data", false);
		
		if (EBCookies.GetCookie("checkPrivacy") == "")
		{
			location.replace('/error/?type=privacy');
			return false;
		}
		
		return true;
},
 SubKeyCookies :
    {
        GetCookie: function(cookieName, keyName)
        {
            var ret;
            var cookie = unescape(this.GetCookieFile(cookieName));
            //alert(cookie);
            if (keyName && this.HasSubKeys(cookieName) == true) {
                var cookieData = this.GetCookieData(cookie);
                ret = cookieData[keyName];
            } else {
                ret = cookie;
            }
            return ret
        },
        GetCookieFile: function(cookie_name)
        {
            var regexp = new RegExp(cookie_name + "=(.*?)(;|$)", "i");
            var results = regexp.exec(document.cookie);
            if (results) {
                return (unescape(results[1]));
            }
            else {
                return null;
            }
        },
        GetCookieData: function(cookie) {
            var ret = [];
            var subKeys = cookie.split("&");
            for (var i = 0; i < subKeys.length; i++) {
                //alert(subKeys[i]);
                var pos = subKeys[i].indexOf("=");
                if (pos != 0) {
                    //alert("cookieData["+subKeys[i].substring(0,pos)+']='+subKeys[i].substring(pos+1));
                    ret[subKeys[i].substring(0, pos)] = subKeys[i].substring(pos + 1);
                }
            }
            return ret;
        },
        SetCookie: function(cookieName, keyName, value, expires)
        {
            var thisCookie = unescape(this.GetCookieFile(cookieName));
	        if(thisCookie){
		        if(keyName){
			        //alert(keyName);
			        var cookieData = this.GetCookieData(thisCookie);
			        cookieData[keyName]=value;
			        value="";
			        for (var cookie in cookieData){
				        value +=cookie+"="+cookieData[cookie]+"&";
			        }
			        if(value.charAt(value.length-1)=="&"){value=value.substring(0,value.length-1)}
		        }
	        }	        
	        this.SetCookieValue(cookieName,value,expires);
	    },
	    SetCookieValue: function(name, value, expires)
        {
        var cookie_string=name+"="+escape(value);
        if(expires)
            {
                expires=new Date(expires);
                cookie_string+=";expires="+expires.toGMTString();
             }
             document.cookie=cookie_string+";path=/";
        },
        HasSubKeys: function(name)
        {
            var ret = false;
            var cookie = unescape(this.GetCookie(name));
            var subKeys = cookie.split("&");
            if (subKeys.length >= 2) {
                ret = true;
            } else {
                var subKeys = cookie.split("=");
                if (subKeys.length >= 1) {
                    ret = true;
                }
            }
            return ret;
        }
    }

};

