/*
 * Cookies.js
 *
 * Utility functions for handling cookies.
 *
 * @author jmundy
 * @author scampbell
 */


/**
 * Saves a cookie.
 *
 * @param name   The cookie name.
 * @param value  The cookie value.
 * @param expiry The Date when the cookie expires.
 */
function saveCookie(name, value, expiry) {
	var cookieStr = escape(name) + "=" + escape(value);

	if (expiry) {
		cookieStr += "; expires=" + expiry.toGMTString();
	}

	cookieStr += "; path=/";
	document.cookie = cookieStr;
}


/**
 * Loads a cookie.
 *
 * @param name The name of the cookie to load.
 *
 * @return The value of the cookie (or false if
 *         not found).
 */
function loadCookie(name) {
	var cookies = document.cookie.split("; ");
	for (var ii = 0; ii < cookies.length; ii++) {
		var aCookie = cookies[ii].split("=");

		if (name == unescape(aCookie[0])) {
			return unescape(aCookie[1]);
		}
	}
	return false;
}


/**
 * Deletes a cookie.
 *
 * @param name The name of the cookie to delete.
 *
 * @return True on success, false on fail.
 */
function deleteCookie(name) {
	var date = new Date();
	date.setTime(-1);
	saveCookie(name, "", date);
}

