/******************************************************************
* cookies.js - Using cookies				          *
* Copyright (c) 1999-2000, "21th Century Consalting Company"      *
******************************************************************/
//----------------------------------------------------
//	SCookie
//----------------------------------------------------
//	SCookie - the struct(not class) reference

function SCookie(sName, value)
{
	sName = sName;
	sValue = new String(value);
}

//----------------------------------------------------
//	SetCookie
//----------------------------------------------------

function SetCookie(sName, value)
{
	document.cookie = sName + "=" + new String(value);
}

//----------------------------------------------------
//	GetCookies
//----------------------------------------------------
//	ret: an array of SCookie


function GetCookies()
{
	var sCookies = new String(document.cookie);
	var arCookies = new Array();

	var nNamePos = 0;
	var nEqPos = 0;
	var bEq = false;
	var nLen = sCookies.length;

	for (var i = 0, k = 0; i < nLen; i++)
	{
		if (sCookies.charAt(i) == '=' && !bEq)
		{
			nEqPos = i;
			bEq = true;
		}
		else if (sCookies.charAt(i) == ';' || i == nLen - 1)
		{
			var sCookieName = sCookies.substring(nNamePos, nEqPos);

			arCookies[k] = new SCookie;
			arCookies[k].sName = sCookieName;
			arCookies[k].sValue = 
				sCookies.substring(nEqPos + 1, (i == nLen - 1) ? nLen : i);

			k++;
			nNamePos = nEqPos = i + 2;
			bEq = false;
		}
	}

	return arCookies;
}

//----------------------------------------------------
//	GetCookieByName(sName)
//----------------------------------------------------
//	ret: an array of SCookie

function GetCookieByName(sName)
{
	var arCookies = GetCookies();
	var arCurrCookie = new Array();

	for (var i = 0, k = 0; i < arCookies.length; i++)
		if (arCookies[i].sName == sName)
			arCurrCookie[k++] = arCookies[i];

	return  arCurrCookie;
}

