	function classCookie() {
		
		this.set = function( name, value ) {					
			var expiredate, the_cookie;			
			expiredate = new Date("December 30, 2050");
			if(name)
				the_cookie = name + "=" + escape( value ) + "; ";
			the_cookie += "expires=" + expiredate.toGMTString();
			the_cookie += "; path=/";
			document.cookie = the_cookie;
		}
		
		this.setEscaped = function( name, value ) {					
			var expiredate, the_cookie;			
			expiredate = new Date("December 30, 2050");
			if(name)
				the_cookie = name + "=" + value + "; ";
			the_cookie += "expires=" + expiredate.toGMTString();
			the_cookie += "; path=/";
			document.cookie = the_cookie;
		}
		
		this.remove = function( name ) {
			
			var expiredate, content, tokens, total;
			content = "";
			expiredate = new Date("December 30, 1990");			
			if( name ) {
				content = name + "=remove;";
				content += "expires=" + expiredate.toGMTString();
				document.cookie = content;
			} else {
				tokens = this.getVariables();
				total = tokens.length;
				
				while( total ) {
					total--;				
					content = tokens[ total] + "=remove;";
					content += "expires=" + expiredate.toGMTString();
					document.cookie = content;
				}
			}
		}
		
		this.read = function() {			
			var cookie;			
			if( document.cookie == "" )
				return false;				
			cookie = document.cookie;
			return cookie.toString();
		}
		
		this.accept = function() {			
			document.cookie = "accept_test=ok";
			if( this.get("accept_test") == "ok" ) {
				this.remove("accept_test");
				return true;
			}				
			return false;
		}
		
		this.get = function( name ) {			
			var content, tokens, token_name, count, result;
			content = this.read();
			result = false;			
			if( !(content.length && name) )
				return result;			
			tokens = content.split("; ");
			count = tokens.length;			
			while( count ) {
				count--;
				token_name = tokens[count].split("=");
				if( token_name[0] == name ) {
					result = unescape( token_name[1] );
					count = 0;
				}
			}			
			return result;
		}
		
		this.getVariables = function() {			
			var content, tokens, token_name, count, result;
			content = this.read();
			
			result = false;			
			if( !content.length )
				return result;			
			tokens = content.split("; ");
			
			count = tokens.length;
			while( count ) {
				count--;
				token_name = tokens[count].split("=");
				tokens[count] = token_name[0];
			}			
			return tokens;
		}
				
	}
	
