// Juan Matias de la Camara Beovide
// TJF - Tiger JavaScrip Framework
// Abril 2008

// Objeto para manejar cookies.



function TJF_Cookie (name,value,TimeToLive) {
	this.TimeToLive = TimeToLive; // segundos
	this.name = name;
	this.value = value;
	this.path = "/";
	this.domain = "";
	this.secure = "";
	
	//metodos
	this.setSecure = function(){this.secure = "secure";};
	this.setUnsecure = function(){this.secure = "";};
	this.getSecure = function(){return(this.secure);};
	
	this.setDomain = function(domain){this.domain = domain;};
	this.getDomain = function(){return(this.domain);};
	
	this.setPath = function(path){this.path = path;};
	this.getPath = function(){return(this.path);};
	
	this.setName = function(name){this.name = name;};
	this.getName = function(){return(this.name);};

	this.setValue = function(value){this.value = value;};
	this.getValue = function(){return(this.value);};
	
	this.setTimeToLive = function(TimeToLive){this.TimeToLive = TimeToLive;};
	this.getTimeToLive = function(){return(this.TimeToLive);};
	
	this.setCookie = function(){
		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		var TimeToLive = 1000 * 60 * 60 * 24; // 1 dia
		
		if ( this.TimeToLive ){
			TimeToLive = this.TimeToLive * 1000;
		}
		var expires_date = new Date( today.getTime() + (TimeToLive) );

		document.cookie = this.name + "=" +escape( this.value ) +
		";expires=" + expires_date.toGMTString() + 
		( ( this.path ) ? ";path=" + this.path : "" ) + 
		( ( this.domain ) ? ";domain=" + this.domain : "" ) +
		( ( this.secure ) ? ";secure" : "" );
	};
	
	this.getCookie = function(){
		// first we'll split this cookie up into name/value pairs
		// note: document.cookie only returns name=value, not the other components
		var a_all_cookies = document.cookie.split( ';' );
		var a_temp_cookie = '';
		var cookie_name = '';
		var cookie_value = '';
		var b_cookie_found = false; // set boolean t/f default f
		
		for ( i = 0; i < a_all_cookies.length; i++ )
		{
			// now we'll split apart each name=value pair
			a_temp_cookie = a_all_cookies[i].split( '=' );
			
			
			// and trim left/right whitespace while we're at it
			cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		
			// if the extracted name matches passed check_name
			if ( cookie_name == this.name )
			{
				b_cookie_found = true;
				// we need to handle case where cookie has no value but exists (no = sign, that is):
				if ( a_temp_cookie.length > 1 )
				{
					cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
				}
				// note that in cases where cookie is initialized but no value, null is returned
				this.value = cookie_value;
				return(1);
			}
			a_temp_cookie = null;
			cookie_name = '';
		}
		if ( !b_cookie_found )
		{
			return (-1);
		}
	};
}

