var pop = null;

function popdown() {
	if (pop && !pop.closed) pop.close();
}

function popup(obj, w, h) {
	var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
	
	if (!url)
		return true;
	
		w = (w) ? w += 20 : 150;  // 150px*150px is the default size
	h = (h) ? h += 25 : 150;
	var args = 'width='+w+',height='+h+',resizable';
	popdown();
	pop = window.open(url,'',args);
	
	return (pop) ? false : true;
}

function MM_findObj(n, d) { //v4.01
	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);
	
	if (!x && d.getElementById)
		x = d.getElementById(n);
	
	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_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 replaceText(el, text) {
  if (el != null) {
    clearText(el);
	text = (text);
    var newNode = document.createTextNode(text);
    el.appendChild(newNode);
  }
}

function replaceTextNlBr(el, text_with_newlines) {
  if (el != null) {
    clearText(el);
	
	var lines_array = text_with_newlines.split("\n");
	
	for (i = 0; i < lines_array.length; i++) {
	    var newNode = document.createTextNode((lines_array[i]));
    	el.appendChild(newNode);

		if (i < (lines_array.length - 1)) {
			var brNode = document.createElement("br");
	    	el.appendChild(brNode);
		}
	}
  }
}

/*********************
 * DOM - Funktionen: *
 *********************/
function clearText(el) {
  if (el != null) {
    if (el.childNodes) {
      for (var i = el.childNodes.length - 1; i >= 0; i--) {
        var childNode = el.childNodes[i];
        el.removeChild(childNode);
      }
    }
  }
}

function getText(el) {
  var text = "";
  if (el != null) {
    if (el.childNodes) {
      for (var i = 0; i < el.childNodes.length; i++) {
        var childNode = el.childNodes[i];
        if (childNode.nodeValue != null) {
          text = text + childNode.nodeValue;
        }
      }
    }
  }
  return text;
}

function istZahl(n) {
  var s			= "" + n;
  var ziffern	= "0123456789";
  for (var i = 0; i < s.length; i++)
    if (ziffern.indexOf(s.charAt(i)) < 0)
		return false;
  return true;
}

/********************
 * Shop-Funktionen: *
 ********************/
var z;



function formatCurrency(value) {
	var vorKomma = Math.floor(value);
	var nachKomma = Math.floor((value * 100) - (Math.floor(value) * 100));
	
	if (nachKomma < 10)
		nachKomma = "0" + nachKomma;
	
	var formattedValue = vorKomma + "," + nachKomma;
	
	return formattedValue;
}

function showProduktgruppe(id_name) {
	h = eval('document.getElementById(id_name)');
	h.style.display = "block";
	h = eval('document.getElementById(\"plus_" + id_name + "\")');
	h.style.display = "none";
	h = eval('document.getElementById(\"minus_" + id_name + "\")');
	h.style.display = "block";
}



function hideProduktgruppe(id_name) {
	h = eval('document.getElementById(id_name)');
	h.style.display = "none";
	h = eval('document.getElementById(\"plus_" + id_name + "\")');
	h.style.display = "block";
	h = eval('document.getElementById(\"minus_" + id_name + "\")');
	h.style.display = "none";
}



function showProduktgruppeInline(id_name) {
	h = eval('document.getElementById(id_name)');
	h.style.display = "block";
	h = eval('document.getElementById(\"plus_" + id_name + "\")');
	h.style.display = "none";
	h = eval('document.getElementById(\"minus_" + id_name + "\")');
	h.style.display = "inline";
}

function hideWeiche() {
	h = document.getElementById("foto_video_weiche");
	h.style.display = "none";
}

function hideProduktgruppeInline(id_name) {
	h = eval('document.getElementById(id_name)');
	h.style.display = "none";
	h = eval('document.getElementById(\"plus_" + id_name + "\")');
	h.style.display = "inline";
	h = eval('document.getElementById(\"minus_" + id_name + "\")');
	h.style.display = "none";
}



function showId(id_name) {
	id_name = id_name.toLowerCase();
	h = eval('document.getElementById(id_name)');
	h.style.display = "block";
}



function hideId(id_name) {
	id_name = id_name.toLowerCase();
	h = eval('document.getElementById(id_name)');
	h.style.display = "none";
}



function berechnePorto() {
	/* Porto berechnen: */
	var porto = 0;
	
	for (var produktBezeichnung in texteListe) {
		porto = Math.max(porto, portoListe[produktBezeichnung]);
	}

	/* Porto nach oben/unten beschränken: */
	if (preis_gesamt > 100) {
		porto = 0;
	} else if (preis_gesamt >= 61) {
		porto = Math.max(porto, 7);

		var cd_anzahl = 0;

		for (var produktBezeichnung in texteListe) {
			if (produktBezeichnung.indexOf("CDs") >= 0)
				cd_anzahl += texteListe[produktBezeichnung];
		}

		if (cd_anzahl == 5 || cd_anzahl == 6) {
			porto = Math.min(porto, 4);
		}
	} else if (preis_gesamt >= 31) {
		porto = Math.max(porto, 2.5);
	} else {
		porto = Math.max(porto, 2);
	}
	
	// Tassen werden eigens gezählt, da für diese eine eigene Portoberechnung gilt:
	// Bis 5 Tassen kosten 4.- EUR Porto, mehr Tassen kosten 7.- EUR Porto:
	var tassen_anzahl = 0;
	for (var produktBezeichnung in texteListe) {
		porto = Math.max(porto, portoListe[produktBezeichnung]);

		if (produktBezeichnung.indexOf("Tassen") >= 0)
			tassen_anzahl += texteListe[produktBezeichnung];
	}
	
	if (tassen_anzahl > 5)
		porto = Math.max(porto, 7);

	// Jedoch für sämtliche Bestellungen gilt immer:
	// Bestellwert > 100.- EUR kostet nie Porto.
	if (preis_gesamt > 100) {
		porto = 0;
	}
	
	return porto;
}



function updateWarenkorbAnzeige() {
	var text = "";
	
	if (anzahl_verschiedene_produkte == 0) {
		text = "Der Warenkorb ist leer.";
	} else {
		if (text == "") {
			h = document.getElementById("bestlink");
			h.style.display = "block";
		}
		
		text = "Der Warenkorb enthält:\n\n";
		
		for (var attribut in texteListe)
			text += texteListe[attribut] + " x " + attribut + " - " + formatCurrency(texteListe[attribut] * preiseListe[attribut]) + " €\n";
			
		text += "\n\Zwischensumme: " + formatCurrency(preis_gesamt) + " €\n";
		
		var hidden_field = document.getElementById("rechnung_summe");
		hidden_field.value = preis_gesamt;
		
		var porto = berechnePorto();
		
		hidden_field = document.getElementById("rechnung_summe_mit_porto");
		hidden_field.value = preis_gesamt + porto;
		
		text += "\nzzgl. Porto+Verpackung: " + formatCurrency(porto) + " €\n";
		text += "-----------------------------------\n";
		text += "Gesamtbetrag\n(inkl. 19% MwSt.): " + formatCurrency(porto + preis_gesamt) + " €\n";
	}
	
	var warenkorbElement = document.getElementById("warenkorb");
	replaceTextNlBr(warenkorbElement, text);

	/*
		Den (fast) gleichen Text noch einmal ohne Euro-Zeichen für das
		unsichtbare Shop-Formularfeld "bestelltext" zusammenstellen:
	*/
	text = "";
	
	if (anzahl_verschiedene_produkte == 0) {
		text = "Der Warenkorb ist leer.";
	} else {
		if (text == "") {
			h = document.getElementById("bestlink");
			h.style.display = "block";
		}
		
		for (var attribut in texteListe)
			text += texteListe[attribut] + " x " + attribut + " " + formatCurrency(texteListe[attribut] * preiseListe[attribut]) + " EUR\n";
			
		text += "\n\Zwischensumme: " + formatCurrency(preis_gesamt) + " EUR\n";
		
		porto = berechnePorto();
		
		text += "\nzzgl. Porto + Verpackung: " + formatCurrency(porto) + " EUR\n";
		text += "-----------------------------------\n";
		text += "Gesamtbetrag\n(inkl. 19% MwSt.): " + formatCurrency(porto + preis_gesamt) + " EUR";
	}
	
	warenkorbElement = document.getElementById("bestelltext");
	replaceText(warenkorbElement, text);
}



function addToWarenkorb(rubrik_id, id, preis, porto, text) {
	document.getElementById("button_" + id).style.background = "green";
	z = window.setTimeout("document.getElementById('button_' + " + id + ").style.background = 'white';", 100);
	
	var zusatz	= "";
	var el		= document.getElementsByName("produkt_zusatzangaben_" + id)[0];
	
	if (el != null)
		for (var i = 0; i < el.options.length; i++)
			if (el.options[i].selected)
				zusatz = el.options[i].value
	
	if (zusatz != "")
		text = text + " (" + zusatz + ")";
	
	if (rubrikIdListe[text] == null)
		rubrikIdListe[text] = rubrik_id;
		
	if (produktIdListe[text] == null)
		produktIdListe[text] = id;
		
	var el		= document.getElementById("produkt_anzahl_" + id);
	var anzahl	= parseInt(el.value);
	
	if (texteListe[text] == null)
		texteListe[text] = anzahl;
	else
		texteListe[text] = texteListe[text] + anzahl;
		
	if (preiseListe[text] == null)
		preiseListe[text] = preis;
		
	if (portoListe[text] == null)
		portoListe[text] = porto;
		
	anzahl_verschiedene_produkte += anzahl;
	preis_gesamt += (preis * anzahl);
	
	updateWarenkorbAnzeige();
}



function bestellungLeeren() {
	preis_gesamt					= 0;
	porto_und_verpackung			= 0;
	anzahl_verschiedene_produkte	= 0;
	rubrikIdListe					= new Object();
	produktIdListe					= new Object();
	texteListe						= new Object();
	preiseListe						= new Object();
	portoListe						= new Object();
	
	var bestellung_text = document.getElementById('bestellung_text');
	clearText(bestellung_text);
	replaceText(bestellung_text, "Der Warenkorb ist leer.");
	
	updateWarenkorbAnzeige();
}



function aktualisieren() {
	var el = document.getElementById('bestellung_text');
	clearText(el);

//	var form = document.createElement('<form name="bestellungWarenkorb" id="bestellungWarenkorb">');
	var form = document.createElement("form");
	form.setAttribute("id", "bestellungWarenkorb");
	form.setAttribute("name", "bestellungWarenkorb");
	//form = el.firstChild;
	
	var table = document.createElement("table");
//	form.appendChild(table);
//	table = form.firstChild;
table = form;
	
	for (var element in texteListe) {
		var row = document.createElement("tr");
		var data = document.createElement("td");
		var field = document.createElement("input");
		field.setAttribute("type", "text");
		field.setAttribute("size", "3");
		field.setAttribute("maxlength", "3");
		field.setAttribute("value", "" + texteListe[element]);
		field.setAttribute("name", element);
		field.setAttribute("id", element);
		data.appendChild(field);
		var text = document.createTextNode(" x " + element + " - " + formatCurrency(texteListe[element] * preiseListe[element]) + " €");
		data.appendChild(text);
		row.appendChild(data);
		table.appendChild(field);
		table.appendChild(text);
		var br = document.createElement("br");
		table.appendChild(br);
	}
	
	if (texteListe.length == 0) {
		var row = document.createElement("tr");
		var data = document.createElement("td");
		var text = document.createTextNode("Der Warenkorb ist leer.");
		data.appendChild(text);
		row.appendChild(data);
		table.appendChild(row);
	} else {
		var row = document.createElement("tr");
		var data = document.createElement("td");
		var button = document.createElement("input");
		button.setAttribute("type", "button");
		button.setAttribute("class", "formButton");
		button.setAttribute("value", "Neu berechnen");
		button.setAttribute("onclick", "neuBerechnen();");
		
		var check = navigator.appVersion;
		if (check.indexOf("MSIE") != -1)
			button = document.createElement('<input onclick="neuBerechnen()" value="Neu berechnen" class="formButton" type="button">');

		data.appendChild(button);
		row.appendChild(data);
		table.appendChild(button);
	}
	
	el.appendChild(form);
	var br = document.createElement("br");
	el.appendChild(br);
	var text = document.createTextNode("\n\Zwischensumme: " + formatCurrency(preis_gesamt) + " €");
	el.appendChild(text);
	br = document.createElement("br");
	el.appendChild(br);
	text = document.createTextNode("zzgl. Porto + Verpackung: " + formatCurrency(berechnePorto()) + " €");
	el.appendChild(text);
	br = document.createElement("br");
	el.appendChild(br);
	text = document.createTextNode("-----------------------------------");
	el.appendChild(text);
	br = document.createElement("br");
	el.appendChild(br);
	text = document.createTextNode("Gesamtbetrag (inkl. 19% MwSt.): " + formatCurrency(berechnePorto() + preis_gesamt) + " €");
	el.appendChild(text);

}

function neuBerechnen() {
	for (var element in texteListe) {
		var neueAnzahl = parseInt((document.getElementById(element)).value);
		if (neueAnzahl != null)
			if (neueAnzahl >= 0) {
				alteAnzahl						= texteListe[element];
				preis_gesamt					-= (alteAnzahl * preiseListe[element]);
				preis_gesamt					+= (neueAnzahl * preiseListe[element]);
				anzahl_verschiedene_produkte	-= texteListe[element];
				anzahl_verschiedene_produkte	+= neueAnzahl;
				texteListe[element]				= neueAnzahl;
			}
	}
	
	updateWarenkorbAnzeige();
	aktualisieren();
}

function bestellungVorbereiten() {
	var porto = berechnePorto();
	
	/* Bestell-Formular aktualisieren: */
	var text = "";
	
	if (anzahl_verschiedene_produkte == 0) {
		text = "Der Warenkorb ist leer.";
	} else {	
		for (var attribut in texteListe)
			text += texteListe[attribut] + " x " + attribut + "\n";
			
		text += "\nZwischensumme: " + formatCurrency(preis_gesamt) + " €";
		text += "zzgl. Porto + Verpackung: " + formatCurrency(porto) + " €\n";
		text += "-----------------------------------\n";
		text += "Gesamtbetrag\n(inkl 19% MwSt.): " + formatCurrency((preis_gesamt + porto)) + " €";
	}
	
	aktualisieren();

	h = document.getElementById("produkte");
	h.style.display = "none";
	h = document.getElementById("bestellformular");
	h.style.display = "block";
}

function bestellungVerstecken() {
	h = document.getElementById("produkte");
	h.style.display = "block";
	h = document.getElementById("bestellformular");
	h.style.display = "none";
}

function lieferanschriftZeigen() {
	h = document.getElementById("link_lieferanschrift");
	h.style.display = "none";
	h = document.getElementById("lieferanschrift");
	h.style.display = "block";
}

function openPopup(picture_name) {
	win = window.open(picture_name, 'fensterchen', 'resizable,scrollbars,width=475,height=461');
	win.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">\n<html>\n<head>\n\t<title>Großansicht</title>\n\t<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\n\t<link href="css/mukketier.css" rel="stylesheet" type="text/css">\n<style type="text/css">\n<!--\n.mainTextKopie {\n\n\tword-spacing: normal;\n\tposition: absolute;\n\theight: 433px;\n\twidth: 442px;\n\tleft: 0px;\n\ttop: 0px;\n\tbackground-image: url(');
	win.document.write(picture_name);
	win.document.write(');\n\tbackground-repeat: no-repeat;\n}\n-->\n</style>\n</head>\n\n<body>\n\n<a href="JavaScript:self.close();" title="Fenster schlie&szlig;en"><div class="mainTextKopie"></div></a>\n</body>\n</html>');
	win.document.close();
	win.focus();
	flag = 1;
}



function printTheCharacter() {
	return '@';
}



function sendMail(addressEncrypted) {
	var position = addressEncrypted.indexOf(".");
	var name = addressEncrypted.substring(0, position);
	var adresse = addressEncrypted.substr(++position);
	window.location.replace("mailto:" + name + printTheCharacter() + adresse);
}



/*
	#############
	#	AJAX	#
	#############
*/

var request = null;

function createRequest() {
	request = null;
	/*
	try {
		request = new XMLHttpRequest();
	} catch(trymicrosoft) {
		try {
			request = new ActiveXObject("Msxml2.HMLHTTP");
		} catch(othermicrosoft) {
			try {
				request = new ActiveXObject("Microsoft.HMLHTTP");
			} catch(failed) {
				request = null;
			}
		}
	}
	*/
	
	if (window.XMLHttpRequest) { 
		request = new XMLHttpRequest(); //Mozilla, Safari,Opera
	} else if (window.ActiveXObject) { 
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP"); //IE 5
		} catch (e) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP"); //IE 6
			} catch (e) {
				request = null;
			}
		}
	}
		
	if (request == null) {
		var messageBox = document.getElementById("ergebnismeldung");
		replaceTextNlBr(messageBox, "Fehler: Leider konnte keine Verbindung zur Gegenstelle aufgebaut werden.\nBitte zu einem späteren Zeitpunkt noch einmal versuchen.");
		messageBox.className		= 'fehler';
		messageBox.style.display	= 'block';
	}
}

/*
	**********
	GÄSTEBUCH:
	**********
*/
function handleGaestebuchEintrag() {
	var messageBox = document.getElementById("ergebnismeldung_2");
	replaceText(messageBox, ("Bitte warten, der Gästebuch-Eintrag wird übermittelt."));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';

	var gbform_name		= (document.getElementById('gbform_name').value);
	var gbform_email	= (document.getElementById('gbform_email').value);
	var gbform_text		= (document.getElementById('gbform_text').value);
	var gbform_datum	= (document.getElementById('gbform_datum').value);
	var gbform_captcha	= (document.getElementById('gbform_captcha').value);
//	var recaptcha_challenge_field	= (document.getElementById('recaptcha_challenge_field').value);
//	var recaptcha_response_field	= (document.getElementById('recaptcha_response_field').value);
	var url				= "php/handleGaestebuchEintrag-ajax.php";
	
	createRequest();
	request.open("POST", url, true);
	request.onreadystatechange = showGaestebuchStatus;
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(
				 'gbform_name=' + escape(gbform_name) +
				 '&gbform_email=' + escape(gbform_email) +
				 '&gbform_text=' + escape(gbform_text) +
				 '&gbform_datum=' + escape(gbform_datum) +
//				 '&recaptcha_challenge_field=' + escape(recaptcha_challenge_field) +
//				 '&recaptcha_response_field=' + escape(recaptcha_response_field)
				 '&gbform_captcha=' + escape(gbform_captcha)
				 );
}

function showGaestebuchStatus() {
	var messageBox = document.getElementById("ergebnismeldung_2");
	replaceText(messageBox, ("Der Eintrag wurde gesendet, warte auf Antwort..."));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';

	if (request.readyState == "4") {
		
		// DEBUG:
//		alert(request.responseText);
		
		if (request.status == 200) {
			var results		= (request.responseText).split('~');

			if (results[0] == 'failure') {
				replaceTextNlBr(messageBox, (results[1]));
				messageBox.className		= 'fehler';
				messageBox.style.display	= 'block';
			} else if (results[0] == 'success') {
				replaceTextNlBr(messageBox, (results[1]));
				messageBox.className		= 'hinweis';
				messageBox.style.display	= 'block';
			}
		} else {
			replaceText(messageBox, ("Fehler: Leider ist ein Server-Fehler aufgetreten: HTTP-Status " + request.status));
			messageBox.className		= 'fehler';
			messageBox.style.display	= 'block';
		}
	}
}


/*
	***************
	NEWSLETTER-ABO:
	***************
*/
function handleNewsletterAbo() {
	var messageBox = document.getElementById("ergebnismeldung");
	replaceText(messageBox, ("Bitte warten, der Abonnement-Wunsch wird übermittelt."));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';

	var plz		= (document.getElementById('newsletterabo_plz').value);
	var email	= (document.getElementById('newsletterabo_email').value);
	var url		= "php/handleNewsletterAbo-ajax.php";
	
	createRequest();
	request.open("POST", url, true);
	request.onreadystatechange = showNewsletterAboStatus;
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(
				 'plz=' + escape(plz) +
				 '&email=' + escape(email)
				 );
	return false;
}

function showNewsletterAboStatus() {
	var messageBox = document.getElementById("ergebnismeldung");
	replaceText(messageBox, ("Der Abonnement-Wunsch wurde gesendet, warte auf Antwort..."));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';

	if (request.readyState == "4") {
		if (request.status == 200) {
			var results		= (request.responseText).split('~');

			if (results[0] == 'failure') {
				replaceTextNlBr(messageBox, (results[1]));
				messageBox.className		= 'fehler';
				messageBox.style.display	= 'block';
			} else if (results[0] == 'success') {
				replaceTextNlBr(messageBox, (results[1]));
				messageBox.className		= 'hinweis';
				messageBox.style.display	= 'block';
			}
		} else {
			replaceText(messageBox, ("Fehler: Leider ist ein Server-Fehler aufgetreten: HTTP-Status " + request.status));
			messageBox.className		= 'fehler';
			messageBox.style.display	= 'block';
		}
	}
}


/*
	*****
	SHOP:
	*****
*/
function handleBestellung() {
	var messageBox = document.getElementById("ergebnismeldung");
	replaceTextNlBr(messageBox, ("Bitte warten, die Bestellung wird übermittelt.\n(Kann mit Internet Explorer 6 bis zu 30 Sekunden dauern!)"));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';
	
	var el						= document.getElementById('bestelltext');
	var bestellung_text			= getText(el);

	var rechnung_nachname		= (document.getElementById('rechnung_nachname').value);
	var rechnung_vorname		= (document.getElementById('rechnung_vorname').value);
	var rechnung_strasse		= (document.getElementById('rechnung_strasse').value);
	var rechnung_plz			= (document.getElementById('rechnung_plz').value);
	var rechnung_ort			= (document.getElementById('rechnung_ort').value);
	var el						= document.getElementById('rechnung_land');
	for (var i = 0; i < el.options.length; i++)
		if (el.options[i].selected)
			var rechnung_land = (el.options[i].value);
	
	var rechnung_email			= (document.getElementById('rechnung_email').value);
	var rechnung_bemerkung		= (document.getElementById('rechnung_bemerkung').value);
	el							= document.getElementById('rechnung_zahlweise');
	for (var i = 0; i < el.options.length; i++)
		if (el.options[i].selected)
			var rechnung_zahlweise = (el.options[i].value);
	
	var rechnung_blz			= (document.getElementById('rechnung_blz').value);
	var rechnung_konto			= (document.getElementById('rechnung_konto').value);
	var rechnung_kontoinhaber	= (document.getElementById('rechnung_kontoinhaber').value);
	var rechnung_summe			= (document.getElementById('rechnung_summe').value);
	var rechnung_summe_mit_porto	= (document.getElementById('rechnung_summe_mit_porto').value);

	el							= document.getElementById('agb_akzeptiert');
	if (el.checked)
		var agb_akzeptiert		= (document.getElementById('agb_akzeptiert').value);
	
	var lieferung_nachname		= (document.getElementById('lieferung_nachname').value);
	var lieferung_vorname		= (document.getElementById('lieferung_vorname').value);
	var lieferung_strasse		= (document.getElementById('lieferung_strasse').value);
	var lieferung_plz			= (document.getElementById('lieferung_plz').value);
	var lieferung_ort			= (document.getElementById('lieferung_ort').value);
	var lieferung_land			= (document.getElementById('lieferung_land').value);
	el							= document.getElementById('lieferung_land');
	for (var i = 0; i < el.options.length; i++)
		if (el.options[i].selected)
			var lieferung_land = (el.options[i].value);

	var lieferung_bemerkung		= (document.getElementById('lieferung_bemerkung').value);

	var url						= "https://www.tombrero.de/php/handleBestellung-ajax.php?dummy=" + Math.random();
//	var url						= "https://www.tombrero.de/test/php/handleBestellung-ajax.php?dummy=" + Math.random();
//	var url						= "http://localhost/mukketier/php/handleBestellung-ajax.php";
	
	createRequest();
	request.open("POST", url, true);
	request.onreadystatechange = showBestellungStatus;
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.send(
				 'bestellung_text=' + escape(bestellung_text) +
				 '&rechnung_nachname=' + escape(rechnung_nachname) +
				 '&rechnung_vorname=' + escape(rechnung_vorname) +
				 '&rechnung_strasse=' + escape(rechnung_strasse) +
				 '&rechnung_plz=' + escape(rechnung_plz) +
				 '&rechnung_ort=' + escape(rechnung_ort) +
				 '&rechnung_land=' + escape(rechnung_land) +
				 '&rechnung_email=' + escape(rechnung_email) +
				 '&rechnung_bemerkung=' + escape(rechnung_bemerkung) +
				 '&rechnung_zahlweise=' + escape(rechnung_zahlweise) +
				 '&rechnung_blz=' + escape(rechnung_blz) +
				 '&rechnung_konto=' + escape(rechnung_konto) +
				 '&rechnung_kontoinhaber=' + escape(rechnung_kontoinhaber) +
				 '&rechnung_summe=' + escape(rechnung_summe) +
				 '&rechnung_summe_mit_porto=' + escape(rechnung_summe_mit_porto) +
				 '&agb_akzeptiert=' + escape(agb_akzeptiert) +
				 '&lieferung_nachname=' + escape(lieferung_nachname) +
				 '&lieferung_vorname=' + escape(lieferung_vorname) +
				 '&lieferung_strasse=' + escape(lieferung_strasse) +
				 '&lieferung_plz=' + escape(lieferung_plz) +
				 '&lieferung_ort=' + escape(lieferung_ort) +
				 '&lieferung_land=' + escape(lieferung_land) +
				 '&lieferung_bemerkung=' + escape(lieferung_bemerkung)
				 );
}



function leereFehlermeldungen() {
	var div	= document.getElementById("hinweis_rechnung_nachname");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_vorname");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_strasse");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_plz");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_ort");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_land");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_email");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_zahlweise");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_blz");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_konto");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_rechnung_kontoinhaber");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_agb_akzeptiert");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_nachname");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_vorname");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_strasse");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_plz");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_ort");
	clearText(div);
	div.style.display	= 'none';

	div	= document.getElementById("hinweis_lieferung_land");
	clearText(div);
	div.style.display	= 'none';
}



function showBestellungStatus() {
	var messageBox = document.getElementById("ergebnismeldung");
	replaceTextNlBr(messageBox, ("Die Bestellung wurde gesendet, warte auf Antwort...\n(Kann mit Internet Explorer 6 bis zu 30 Sekunden dauern!)"));
	messageBox.className		= 'hinweis';
	messageBox.style.display	= 'block';

	if (request.readyState == "4") {
		leereFehlermeldungen();
		clearText(messageBox);
		if (request.status == 200) {
			var results		= (request.responseText).split('~');
			
			var einzelmeldungen		= (results[1]).split('*');
			var hinweismeldungen	= "";

			for (var i = 0; i < einzelmeldungen.length; i++) {
				var komponenten	= (einzelmeldungen[i]).split('^');
				var div			= document.getElementById("hinweis_" + komponenten[1]);
				
				if (div != null && komponenten[1] != 'hinweis') {
					replaceTextNlBr(div, komponenten[0]);
					div.style.display	= 'block';
				} else if (komponenten[1] == 'hinweis') {
					hinweismeldungen	+= komponenten[0] + "\n";
				}
			}

			if (hinweismeldungen != "")
				replaceTextNlBr(messageBox, hinweismeldungen);
			else
				replaceTextNlBr(messageBox, "Die Eingaben sind leider fehlerhaft - bitte korrigieren!");
				
			messageBox.style.display	= 'block';
			if (results[0] == 'failure') {
				messageBox.className		= 'fehler';
			} else if (results[0] == 'success') {
				messageBox.className		= 'hinweis';
				messageBox.style.fontWeight	= 'bold';
				messageBox.style.color		= '#006400';
			}
		} else if (request.status > 12000) {
			/* Fix für Internet Explorer, der bei SSL-Verbidungen gerne mal die Connection zurücksetzt: */
			handleBestellung();
		} else {
			replaceText(messageBox, "Fehler: Leider ist ein Server-Fehler aufgetreten: HTTP-Status " + request.status);
			messageBox.className		= 'fehler';
			messageBox.style.display	= 'block';
		}
	}
}



function handleZahlweise() {
	var el			= document.getElementById("rechnung_zahlweise");
	var el_blz		= document.getElementById("rechnung_blz");
	var el_inhaber	= document.getElementById("rechnung_kontoinhaber");
	var el_konto	= document.getElementById("rechnung_konto");
	var zahlweise = el.value;
	
	switch (zahlweise.toLowerCase()) {
		case "vorkasse":
			el_blz.disabled		= true;
			el_inhaber.disabled	= true;
			el_konto.disabled	= true;
			break;
		case "bankeinzug":
			el_blz.disabled		= false;
			el_inhaber.disabled	= false;
			el_konto.disabled	= false;
			break;
	}
}

/*
	highlightVideo(welcheId)
	
	Diese Funktion sorgt dafür, dass das Video-DIV zum eben angeklickten (und an "zeigeVideo()" übergebenen)
	Video mit einer hervorhebenden Hintergrundfarbe versehen wird.
*/
function highlightVideo(welcheId) {
	var el = document.getElementById(welcheId);
	
	if (el != null) {
		el.className	= "videoaktiv";
	} else {
		alert("Fehler: Das zu hervorzuhebende Video-DIV (id '" + welcheId + "') konnte nicht identifiziert werden!");
	}
}

/*
	deHighlightVideos()
	
	Diese Funktion sorgt dafür, dass alle vorhandenen Video-DIVs
	mit weißer Hintergrundfarbe versehen werden.
*/
function deHighlightVideos() {
	var alleVideoDivs	= document.getElementsByName("videodiv");
	
	for (var i = alleVideoDivs.length - 1; i >= 0 ; i--) {
		var einVideoDiv			= alleVideoDivs[i];
		einVideoDiv.className	= "video";
	}
}

/*
	zeigeVideo(welchesVideo, welcheId)
	
	Diese Funktion sorgt dafür, dass das übergebene Quicktime-Video in vorgegebener Auflösung
	im Video-Bereich der Videos-Seite angezigt und abgespielt wird.
*/
function zeigeVideo(welchesVideo, welcheId) {
	var videoelement		= document.getElementById("aktuelles_video");
	videoelement.innerHTML	= "<embed src=\"" + welchesVideo + "\" width=\"360\" height=\"310\" autoplay=\"true\" />"
	
	deHighlightVideos();
	highlightVideo(welcheId);

	return false;
}

