var CK = CK || {};
CK.Cookie = {
	Get : function(name){
		var cv = document.cookie.split("; ");
		var cva = [], temp;
		
		for(i=0; i<cv.length; i++){
			temp = cv[i].split("=");
			cva[temp[0]] = unescape(temp[1]);
		}
		if(name) return cva[name];
		
		else return undefined;
	},
	Set : function(name, value, expires, path, domain, secure){
		if(!name || !value) return false;
		if(name == "" || value == "") return false;
		
		if(expires){
			
			if(/^[0-9]+$/.test(expires)){
				var today = new Date();
				expires = new Date(today.getTime()+expires*1000).toGMTString();
			
			}else if(!/^\w{3}, \d{2} \w{3} \d{4} \d{2}\:\d{2}\:\d{2} GMT$/.test(expires)){
				expires = undefined;
			}
		}		
		var cv = name+"="+escape(value)+";"
		       + ((expires) ? " expires="+expires+";" : "")
		       + ((path) ? "path="+path+";" : "")
		       + ((domain) ? "domain="+domain+";" : "")
		       + ((secure && secure != 0) ? "secure" : "");
		
		if(cv.length < 4096){
			document.cookie = cv;
			return true;
		}else{
			return false;
		}
	},
	Del : function(name, path, domain){
		if(!name) return false;
		if(name == "") return false;
		if(!this.Get(name)) return false;
		
		document.cookie = name+"=;"
		                  + ((path) ? "path="+path+";" : "")
		                  + ((domain) ? "domain="+domain+";" : "")
		                  + "expires=Thu, 01-Jan-1970 00:00:01 GMT;";
		return true;
	}, 
	ExpDate: function(days, hours, minutes) {
    	var expDate = new Date( );
		if (typeof days == "number" && typeof hours == "number" &&typeof hours == "number") 
		{
    		expDate.setDate(expDate.getDate( ) + parseInt(days));

    		expDate.setHours(expDate.getHours( ) + parseInt(hours));

    		expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
			
    		return expDate.toGMTString( );
		}
	}    
}
