// v1.1 - Marco De Luca
// Read and Write form fields
function loadFields()
{	
	if (getCookie(cookie))
	{
		for (i=0; i<field.length; i++)
			if (document[form][field[i]].type == "checkbox")
				document[form][field[i]].checked = eval(getChip(cookie, field[i]));
			else
				document[form][field[i]].value = getChip(cookie, field[i])
	}
}

function rememberFields()
{
	if (document[form][field[0]].checked)
	{
		delCookie(cookie);
		for (i=0; i<field.length; i++)
			if (document[form][field[i]].type == "checkbox")
				setChip(cookie, field[i], document[form][field[i]].checked);
			else
				setChip(cookie, field[i], document[form][field[i]].value);
		window.status = "Adresse gespeichert!"
	}
	else
	{
		delCookie(cookie);
		window.status = "Adresse gelöscht!"
	}
}

function	checkMinder()
{
	if (document[form][field[0]].checked)
		rememberFields();
}
window.onload = loadFields;
if (navigator.userAgent.indexOf("Opera") == -1) // no Opera string found?
	window.onunload = checkMinder;	// crashes Opera 5.11 therefore don't use it

// Cookie functions
function getCookie(name)
{
	var result = null;
	var myCookie = " " + document.cookie + ";";
	var searchName = " " + name + "=";
	var startOfCookie = myCookie.indexOf(searchName);
	var endOfCookie;
	if (startOfCookie != -1)
	{
		startOfCookie += searchName.length;
		endOfCookie = myCookie.indexOf(";", startOfCookie);
		result = unescape(myCookie.substring(startOfCookie, endOfCookie));
	}
	return result;
}

function setCookie(name, value)
{
	var never = new Date()
	never.setTime(never.getTime() + 2000*24*60*60*1000);
	var expString = "; expires=" + never.toGMTString();
	document.cookie = name + "=" + escape(value) + expString;
}
	
function delCookie (name,path,domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" +
		((path == null) ? "" : "; path=" + path) +
		((domain == null) ? "" : "; domain=" + domain) +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

// --------------------

	var exp = new Date();
	exp.setTime (exp.getTime() + (24 * 60 * 60 * 1000 * 31));
	sep = '~';	// separating character

	function getCookie2(name)
	{
		var cname = name + "=";
		var dc = document.cookie;
		if (dc.length > 0)
		{
			begin = dc.indexOf(cname);
			if (begin != -1)
			{
				begin += cname.length;
				end = dc.indexOf(";", begin);
				if (end == -1) end = dc.length;
				return unescape(dc.substring(begin, end));
			}
		}
		return null;
	}

function setCookie2(name, value, expires)
{
	document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString());
}

function delCookie2(name)
{
	document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" +  "; path=/";
}

function setChip(cookie, name, value)
{
	var dc = getCookie(cookie);
	var cv = getChip(name);
	var cn = name + '=';
	if (cv != null && cv !="")
	{
		var start = dc.indexOf(cn);
		if (start != -1)
		{
			var end = dc.indexOf('|', start);
			setCookie(cookie, dc.substring(0, start) + cn + value + sep + dc.substring(end + 1, dc.length), exp);
		}
	}
	else
	{
		if (dc != null) dc += cn + value + sep;
		else dc = cn + value + sep;
		setCookie(cookie, dc, exp);
	}
}

function getChip(cookie, name)
{
	var cn = name + '=';
	var dc = getCookie(cookie);
	if (dc != null)
	{
		var start = dc.indexOf(cn);
		if (start != -1)
		{
			start += cn.length;
			var end = dc.indexOf(sep, start);
			if (end != -1)
				return unescape(dc.substring(start, end));
		}
	}
	return "";
}

function delChip(cookie, name)
{
	var dc = getCookie(cookie);
	var cv = getChip(cookie, name);
	var cn = name + '=';
	if (cv != null)
	{
		var start = dc.indexOf(cn);
		var end = dc.indexOf(sep, start);
		setCookie(cookie, dc.substring(0, start) + dc.substring(end + 1, dc.length), exp);
	}
}

