function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v3.0
	window.open(theURL,winName,features);
}

//global variable for error flag
var errfound = false;
//function to validate by length
function ValidLength(item, len) {
	return (item.length >= len);
}

//function to validate an email address
function ValidEmail(item) {
	if (document.kunde.email.value) {
		if (!ValidLength(item, 5)) return false;
		if (item.indexOf ('@', 0) == -1) return false;
		return true;
	}
}

// display an error alert
function error(elem, text) {
// abort if we already found an error
	if (errfound) return;
	window.alert(text);
	elem.focus();
	elem.style.backgroundColor='#ffcccc';
	errfound = true;
}

// main validation functions
function Validate_kunde() {
	errfound = false;
	if (!ValidLength(document.kunde.kundennummer.value,6))
		error(document.kunde.kundennummer,"Ungültige Kundennummer!");
	if (!ValidLength(document.kunde.geburtstag.value,1))
		error(document.kunde.geburtstag,"Ungültiges Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	if (!ValidLength(document.kunde.geburtsmonat.value,1))
		error(document.kunde.geburtsmonat,"Ungültiges Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	if (!ValidLength(document.kunde.geburtsjahr.value,2))
		error(document.kunde.geburtsjahr,"Ungültiges Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	return !errfound; /* true if there are no errors */
}

function Validate_neukunde() {
	errfound = false;
	if (!ValidLength(document.neukunde.vorname.value,2))
		error(document.neukunde.vorname,"Ungültiger Vorname!");
	if (!ValidLength(document.neukunde.nachname.value,3))
		error(document.neukunde.nachname,"Ungültiger Nachname!");
	if (!ValidLength(document.neukunde.adresse.value,2))
		error(document.neukunde.adresse,"Ungültige Adresse!");
	if (document.neukunde.land.value == 'Deutschland' && document.neukunde.plz.value.length != 5)
		error(document.neukunde.plz,"Ungültige Postleitzahl (fünfstellig in Deutschland)");
	if (document.neukunde.land.value == 'Österreich' && document.neukunde.plz.value.length != 4)
		error(document.neukunde.plz,"Ungültige Postleitzahl (vierstellig in Österreich)");	
	if (!ValidLength(document.neukunde.ort.value,3))
		error(document.neukunde.ort,"Ungültiger Ort!");
	if (!ValidLength(document.neukunde.geburtstag.value,1))
		error(document.neukunde.geburtstag,"Ungültiger Tag im Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	if (!ValidLength(document.neukunde.geburtsmonat.value,1))
		error(document.neukunde.geburtsmonat,"Ungültiger Monat im Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	if (!ValidLength(document.neukunde.geburtsjahr.value,2))
		error(document.neukunde.geburtsjahr,"Ungültiges Jahr im Geburtsdatum!\n(Format: DD/MM/JJJJ)");
	return !errfound; /* true if there are no errors */
}

function Validate_lieferanschrift() {
	errfound = false;
	if (!(document.lieferanschrift.la_ist_ra.checked)) {
		if (!ValidLength(document.lieferanschrift.liefervorname.value,2))
			error(document.lieferanschrift.liefervorname,"Ungültiger Vorname!");
		if (!ValidLength(document.lieferanschrift.liefernachname.value,3))
			error(document.lieferanschrift.liefernachname,"Ungültiger Nachname!");
		if (!ValidLength(document.lieferanschrift.lieferadresse.value,2))
			error(document.lieferanschrift.lieferadresse,"Ungültige Adresse!");
		if (document.lieferanschrift.lieferland.value == 'Deutschland' && document.lieferanschrift.lieferplz.value.length != 5)
			error(document.lieferanschrift.lieferplz,"Ungültige Postleitzahl (fünfstellig in Deutschland)");
		if (document.lieferanschrift.lieferland.value == 'Österreich' && document.lieferanschrift.lieferplz.value.length != 4)
			error(document.lieferanschrift.lieferplz,"Ungültige Postleitzahl (vierstellig in Österreich)");	
		if (!ValidLength(document.lieferanschrift.lieferort.value,3))
			error(document.lieferanschrift.lieferort,"Ungültiger Ort!");
	}
	if (!ValidLength(document.lieferanschrift.liefertag.value,1) && document.lieferanschrift.lieferdatum.checked)
		error(document.lieferanschrift.liefertag,"Ungültiges Lieferdatum (Tag)!");
	if (!ValidLength(document.lieferanschrift.liefermonat.value,1) && document.lieferanschrift.lieferdatum.checked)
		error(document.lieferanschrift.liefermonat,"Ungültiges Lieferdatum (Monat)!");
	if (!ValidLength(document.lieferanschrift.lieferjahr.value,2) && document.lieferanschrift.lieferdatum.checked)
		error(document.lieferanschrift.lieferjahr,"Ungültiges Lieferdatum (Jahr)!");
	if (!(document.lieferanschrift.AGB_akzeptiert.checked))
		error(document.lieferanschrift.textfield,"Bitte lesen Sie die AGB und bestätigen Sie mit einem Klick auf die Einverständniserklärung darunter!");
	for (var i=0;i<document.lieferanschrift.design.length;i++) {
		if (document.lieferanschrift.design[i].checked)
			var sel="1";
	}
	if (!sel && document.lieferanschrift.design.length)
		error(document.lieferanschrift.design[0],"Sie haben kein Design für eine Verpackung gewählt!");
	return !errfound; /* true if there are no errors */
}

function Validate_aendern() {
	errfound = false;
	if (!ValidLength(document.aendern.vorname.value,2))
		error(document.aendern.vorname,"Ungültiger Vorname!");
	if (!ValidLength(document.aendern.nachname.value,3))
		error(document.aendern.nachname,"Ungültiger Nachname!");
	if (!ValidLength(document.aendern.adresse.value,2))
		error(document.aendern.adresse,"Ungültige Adresse!");
	if (document.aendern.land.value == 'Deutschland' && document.aendern.plz.value.length != 5)
		error(document.aendern.plz,"Ungültige Postleitzahl (fünfstellig in Deutschland)");
	if (document.aendern.land.value == 'Österreich' && document.aendern.plz.value.length != 4)
		error(document.aendern.plz,"Ungültige Postleitzahl (vierstellig in Österreich)");	
	if (!ValidLength(document.aendern.ort.value,3))
		error(document.aendern.ort,"Ungültiger Ort!");
	return !errfound; /* true if there are no errors */
}

function Validate_la_aendern() {
	errfound = false;
	if (!ValidLength(document.aendern.liefervorname.value,2))
		error(document.aendern.liefervorname,"Ungültiger Vorname!");
	if (!ValidLength(document.aendern.liefernachname.value,3))
		error(document.aendern.liefernachname,"Ungültiger Nachname!");
	if (!ValidLength(document.aendern.lieferadresse.value,2))
		error(document.aendern.lieferadresse,"Ungültige Adresse!");
	if (document.aendern.lieferland.value == 'Deutschland' && document.aendern.lieferplz.value.length != 5)
		error(document.aendern.lieferplz,"Ungültige Postleitzahl (fünfstellig in Deutschland)");
	if (document.aendern.lieferland.value == 'Österreich' && document.aendern.lieferplz.value.length != 4)
		error(document.aendern.lieferplz,"Ungültige Postleitzahl (vierstellig in Österreich)");	
	if (!ValidLength(document.aendern.lieferort.value,3))
		error(document.aendern.lieferort,"Ungültiger Ort!");
	return !errfound; /* true if there are no errors */
}

function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (currentURL) {
	var arg = currentURL + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function SetCookie (currentURL, value) {
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = currentURL + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function DeleteCookie (currentURL) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = GetCookie (currentURL);
	document.cookie = currentURL + "=" + cval + "; expires=" + exp.toGMTString();
}

var expiryDate = new Date();
expiryDate.setTime(expiryDate.getTime() + (30 * 24 * 60 * 60 * 1000));

function listArray(stuff) {
	var result = "";
	for (var i = 1; i <= stuff.length; i++)
		result += i + ". " + stuff[i] + " or ";
	return result;
}

function initialize() {
	var currentURL = "";
	currentURL = self.location;
	SetCookie("currentURL",currentURL,expiryDate);
	currentURL = GetCookie("currentURL");
}
