/**
 * Set a cookie
 * 
 * name: cookie name (mandatory)
 * value: cookie value (mandatory)
 * expires: cookie life time in minutes (optional)
 * path: cookie path (optional)
 * domain: cookie domain (optional)
 * secure: ??? (optional)
 */
function setCookie( name, value, expires, path, domain, secure ) {
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	var expires_date = null;
	if ( expires ) {
		//expires = expires * 1000 * 60 * 60 * 24;
		expires = expires * 1000 * 60; //minutes

		// set time, it's in milliseconds
		var today = new Date();
		today.setTime( today.getTime() );
		expires_date = new Date( today.getTime() + (expires) );
	}
	
	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

/**
 * Returns cookie value, or null if cookie does not exists
 * 
 * name: cookie name (mandatory)
 */
function getCookie( name ) {
		
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 )
		return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 )
		end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

/**
 * Delete a cookie, if it exists
 * 
 * name: cookie name (mandatory)
 * path: cookie path (optional)
 * domain: cookie domain (optional)
 */
function delCookie( name, path, domain ) {
	if ( getCookie( name ) ) {
		document.cookie = 
			name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}
}

/**
 * Returns true if cookies are enabled, false otherwise
 */
function areCookiesEnabled() {
	var name = "__coockie_js_enabled";
	if ( getCookie( name ) )
		return true;

	setCookie( name, "true" ); 
	if ( getCookie( name ) )
		return true;

	return false;
}
