/* $Id: cookies.js,v 1.2 2007/04/10 17:35:52 paul Exp $ */
// JavaScript Document
function set_refresh() {

	var expiry_date = new Date();
	var refresh_interval = document.refresh_form.refresh_interval;
	var request_uri = window.location.pathname;
	var selected = 0;
	fix_date( expiry_date );
	expiry_date.setTime( expiry_date.getTime() + 2592000 ); // 30 days

	if ( refresh_interval.selectedIndex ) {

		if ( refresh_interval.selectedIndex > -1 ) {

			selected = refresh_interval.options[refresh_interval.selectedIndex].value;

		}

		set_cookie( 'refresh', selected, expiry_date, '/');
		set_cookie( 'request_uri', request_uri, expiry_date, '/');

	} else {

		set_cookie( 'refresh', '0', expiry_date, '/');
		set_cookie( 'request_uri', null, expiry_date, '/');

	}

	return true;

}

function delete_cookie(name,path,domain) {

	if ( get_cookie( name ) ) {

		document.cookie = name + "=" +
		( (path) ? "; path=" + path : "" ) +
		( (domain) ? "; domain=" + domain : "" ) +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";

	}

}

function delete_cookie_array(array_name,path,domain) {

	var end = false;
	var item_count = 0;

	while ( !end ) {

		var name = array_name + '[' + item_count + ']';

		if ( get_cookie( name ) ) {

			delete_cookie( name, path, domain );

		} else {

			end = true;

		}

		item_count++;

	}

}

function fix_date(date) {

	var base = new Date( 0 );
	var skew = base.getTime();

	if ( skew > 0 ) {

		date.setTime( date.getTime() - skew );

	}

}

function get_cookie(name) {

	var needle = name + "=";
	var needle_length = needle.length;
	var cookie_length = document.cookie.length;
	var i = 0;

	while ( i < cookie_length ) {

		var j = i + needle_length;

		if ( document.cookie.substring( i,j ) == needle ) {

			return get_cookie_val( j );

		}

		i = document.cookie.indexOf( " ", i ) + 1;

		if ( i == 0 ) {

			break;

		}

	}

	return null;

}

function get_cookie_val(offset) {

	var endstr = document.cookie.indexOf( ";", offset );

	if ( endstr == -1 ) {

		endstr = document.cookie.length;

	}

	return unescape( document.cookie.substring( offset, endstr ) );

}

function set_cookie(name,value,expires,path,domain,secure) {

	document.cookie = name + "=" + escape( value ) +
	( (expires) ? "; expires=" + expires.toGMTString() : "" ) +
	( (path) ? "; path=" + path : "" ) +
	( (domain) ? "; domain=" + domain : "" ) +
	( (secure) ? "; secure" : "" );

}

