function setCookie(name, value, expires, path, domain, secure)
{
	var curCookie = name + "=" + escape(value) +
                				((expires)?"; expires=" + expires.toGMTString():"") +
                				((path)?"; path=" + path:"") +
                				((domain)?"; domain=" + domain:"") +
								((secure)?"; secure":"");
	if ((name + "=" + escape(value)).length > 3600)
	{
		alert("Be careful! You're running out of space on your order form. If you add much more to your order, the form might fail.\n\nYou should submit the form, or delete some items, or contact us by email or telephone about your order.");
	}
	document.cookie = curCookie;
}

function getCookie(name)
{
	if (top.localCookieOK)
	{
		var prefix = name + "=";
		var cookieStartIndex = document.cookie.indexOf(prefix);
		if (cookieStartIndex == -1)
		{
			return null;
		}
		var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
		if (cookieEndIndex == -1)
		{
			cookieEndIndex = document.cookie.length;
		}
		return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
	}
	else
	{
		return top.cookiePr;
	}
}

function fixDate(date)
{
	var base = new Date(0);
	var skew = base.getTime();
	if (skew > 0)
	{
		date.setTime(date.getTime() - skew);
	}
}

function saveToCookie(id, desc, colors, price, units)
{
	var f_temp = confirm("Do you want to add " + id + " to your order?");
	if (f_temp)
	{
		var c_temp = "";
		for (var j = 0; j<colors.length;++j)
		{
			c_temp = c_temp + colors[j] + "^";
		}
		var s_temp = escape(id + "*" + desc + "*" + price + "*" + units + "*" + c_temp + "*" + 0 + "*" + "-1" + "* **");
		var now = new Date();
		fixDate(now);
		now.setTime(now.getTime() + 7 * 24 * 60 * 60 * 1000);
		var c_name = "ginsorder";
		var c_value = getCookie(c_name);
		if (!c_value)
		{
     		order_val = s_temp;
     	}
		else
		{
			//hack for empty cookie in Nav 3
			if (c_value == "ginsorder=")
			{
				order_val = s_temp;
			}
			else
			{
				order_val = c_value + s_temp;
			}
		}
		if (top.localCookieOK)
		{
			setCookie(c_name, order_val, now);
		}
		else
		{
			top.cookiePr = order_val;
		}
	}  
	return false;
}