/**
 * Cookie [object]
 *
 * @author Hristo Drumev
 * @package framework
 * @copyright Hristo Drumev [www.hdrumev.com]
 * @version 0.01 / 08.02.2007
 */

/** Cookie [object] */
var Cookie = new Object();

/**
 * Read cookie
 *
 * @param String name - name of cookie
 * @return String value of cookie or null if cookie isn't saved
 */
Cookie.get = function( name )
{
	return ( !document.cookie.length || ( str = document.cookie.indexOf( name + '=' ) ) == -1 ) ? null : document.cookie.substring( ( str += ( name + '=' ).length ), ( result = document.cookie.indexOf( ';', str ) ) == -1 ? document.cookie.length : result );
}

/**
 * Save cookie
 *
 * @param String name - name of cookie
 * @param Mixed value - value of cookie
 * @param Int [expires] - when cookie expire [in days]
 * @param String [path] - path of cookie
 * @param String [domain] - domain of cookie
 * @param Bool [secure] - is cookie secure
 */
Cookie.set = function( name, value, expires, path, domain, secure )
{
  if( expires )
  {
		var date = new Date();
		expires = date.setTime( date.getTime() + ( expires*86400000 ) ); // 24*60*60*1000 (ms. in 1 day)
  }
  document.cookie = name + '=' + value + ( expires ? '; expires=' + expires.toGMTString() : '' ) + '; path=' + ( path ? path :'/' ) + ( domain ? '; domain=' + domain : '' ) + ( secure ? ';secure' : '' );
}

/**
 * Delete cookie
 *
 * @param String name - name of cookie
 */
Cookie.unset = function( name )
{
	this.save( name, '', -1 );
}