﻿/* JavaScript library to handle Cookies. Provides the following functions:
 *
 *  removeLeadingSpace(s)              removes leading spaces from string s
 *  setCookie(name, vale, expireDays)  sets named cookie with given value
 *  getCookie(name)                    returns value of named cookie
 *  delCookie(name)                    deletes named cookie
 *  showCookies()                      show all cookies in an alert box
 *
 *  Author:  Bert Wachsmuth
 *  Version: June 13, 2009
 */

/*
   Returns the string s without leading spaces.
 */
function removeLeadingSpace(s)
{
	while ((s != null) && (s.length > 0) && (s.charAt(0) == ' '))
		s = s.substring(1,s.length);
	return s;
}

/* 
   Creates a cookie with the given name, value, and days after today to expire
 */
function setCookie(name, value, expireDays)
{
	if (!((name == null) || (name == "")))
	{
		var expires = new Date();
		expires.setDate(expires.getDate() + expireDays);
		var myCookie= name + "=" + escape(value) + 
		              ";expires=" + expires.toGMTString() +
		              ";path=/";
		document.cookie = myCookie;
	}
}

/*
   Shows all cookies from the current host in an alert box.
 */
function showCookies()
{
   alert("My cookies: " + document.cookie);
}

/*
   Returns the value of the named cookie or an empty string if cookie not found
 */
function getCookie(name)
{
	if ((document.cookie == null) || (document.cookie == ""))
	{
		return "";
	}
	else
	{
		var cookies = document.cookie.split(';');
		for (var i = 0; i < cookies.length; i++)
		{
		
			var cookie = cookies[i].split('=');
			if (removeLeadingSpace(cookie[0]) == name)
			{
			    return unescape(cookie[1]);
			}
		}
		return "";
	}
}

/*
   Deletes the cookie with the given name if possible
 */
function delCookie(name)
{
   setCookie(name, "", -1);
}

