/* ------------------------------------------------------------------------------
 * rgShopsystems - Onlineshop & E-Commerce Lösungen
 * (C) Robert Gnuschke, rob@gmx.de
 * Das Kopieren des Shops im einzelnen, wie im ganzen ist ausdrücklich untersagt.
 * ------------------------------------------------------------------------------
 */

// ----------------------------------------------------------------------------------
// AJAX Initialisierung
// ----------------------------------------------------------------------------------
var XMLHTTP = null;
if (window.XMLHttpRequest) {
	XMLHTTP = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
	try {
		XMLHTTP = 
		new ActiveXObject("Msxml2.XMLHTTP");
	} catch (ex) {
	try {
		XMLHTTP = 
		new ActiveXObject("Microsoft.XMLHTTP");
	} catch (ex) {
	}
  }
}


// Javascript Auslagerung
function shop_artikeldetail_warenkorb_pruefen(sFehlermeldung1, sFehlermeldung2) {
	if(window.document.warenkorb.eigen1) {
		if(window.document.warenkorb.eigen1.value == "") {
			alert(sFehlermeldung1); // Bitte wählen Sie die gewünschte(n) Eigenschaft(en) des Artikels aus!
			return false;
		}
	}
	if(window.document.warenkorb.eigen2) {
		if(window.document.warenkorb.eigen2.value == "") {
			alert(sFehlermeldung1); // Bitte wählen Sie die gewünschte(n) Eigenschaft(en) des Artikels aus!
			return false;
		}
	}
	if(window.document.warenkorb.eigen3) {
		if(window.document.warenkorb.eigen3.value == "") {
			alert(sFehlermeldung1); // Bitte wählen Sie die gewünschte(n) Eigenschaft(en) des Artikels aus!
			return false;
		}
	}
	if(window.document.warenkorb.eingabe_anzahl.value == "0") {
		alert(sFehlermeldung2); // Bitte eine gültige Anzahl eingeben!
		return false;
	}
}

function ShopArtikeldetail_EigenschaftPreisAendern(EigenFeld, sFehlermeldung1) {
	var eigen = document.getElementById(EigenFeld);
	if (eigen.selectedIndex == 0) {
		alert("Bitte wählen Sie die gewünschte(n) Eigenschaft(en) des Artikels aus!");
		alert(sFehlermeldung1);
		return false;
	} else {
		var Eval_Basispreis = document.getElementById("basispreis").value;
		var Eval_Staffelpreis = document.getElementById("staffelpreis1").value;
		eigen = new Array();
		for (var i=1; i<=3; i++) {
			if (document.getElementById("eigen"+i)) {
				if (document.getElementById("eigen"+i).value != "" && document.getElementById("eigen"+i).value != "0") {
					eigen[i] = document.getElementById("eigen"+i).value.split("==");
					Eval_Basispreis += eigen[i][1];
					Eval_Staffelpreis += eigen[i][1];
				}
			}
		}
		var Ergebnis_Basispreis = eval(Eval_Basispreis);
		var Ergebnis_Staffelpreis = eval(Eval_Staffelpreis);
		Ergebnis_Basispreis = Ergebnis_Basispreis.toFixed(2);  
		Ergebnis_Staffelpreis = Ergebnis_Staffelpreis.toFixed(2);  
		document.getElementById("einzelpreis").value = Ergebnis_Basispreis;
		document.getElementById("staffelpreis1").value = Ergebnis_Staffelpreis;
		Ergebnis_Basispreis = String(Ergebnis_Basispreis);
		Ergebnis_Basispreis = Ergebnis_Basispreis.replace(/\./, ',');
		document.getElementById("HTMLPreis").innerHTML = Ergebnis_Basispreis;
		return true;
	}
}

function shop_GaestebuchFormular_pruefen(sFehlermeldung1, sFehlermeldung2) {
	if (window.document.GaestebuchFormular.eintrag_name.value == "") {
		alert(sFehlermeldung1);
		return false;
	}
	if (window.document.GaestebuchFormular.eintrag_text.value == "") {
		alert(sFehlermeldung2);
		return false;
	}
}

function shop_kontaktformular_absenden_pruefen(sFehlermeldung1) {
	if (
		(window.document.kontaktformular.eintrag_name.value == "") ||
		(window.document.kontaktformular.eintrag_email.value == "") ||
		(window.document.kontaktformular.eintrag_text.value == "")
	)
	{
		alert(sFehlermeldung1);
		return false;
	}
}

function ShopKundenregistrierung_Formular_pruefen(sFehlermeldung1, sFehlermeldung2, sFehlermeldung3, sFehlermeldung4) {
	var i = 0;
	var bHausnrGefunden = false;
	if (
			(window.document.RegistrierungFormular.eintrag_vorname.value == "") ||
			(window.document.RegistrierungFormular.eintrag_nachname.value == "") ||
			(window.document.RegistrierungFormular.eintrag_strasse.value == "") ||
			(window.document.RegistrierungFormular.eintrag_plz.value == "") ||
			(window.document.RegistrierungFormular.eintrag_ort.value == "") ||
			(window.document.RegistrierungFormular.eintrag_email.value == "") ||
			(window.document.RegistrierungFormular.eintrag_telefon.value == "") ||
			(window.document.RegistrierungFormular.eintrag_passwort1.value == "")
		)
		{
			alert(sFehlermeldung1);
			return false;
		}
	
	for (i = 0; i <= document.RegistrierungFormular.eintrag_strasse.value.length-1; i++) {
		if ((document.RegistrierungFormular.eintrag_strasse.value.charAt(i) < "0") || (document.RegistrierungFormular.eintrag_strasse.value.charAt(i) > "9")) { continue; }
		bHausnrGefunden = true;
		break;
	}
	if (bHausnrGefunden == false) {
		alert(sFehlermeldung2); // "Bitte geben Sie Ihre Hausnummer ein!"
		return false;
	}
	
	if(window.document.RegistrierungFormular.eintrag_passwort1.value != window.document.RegistrierungFormular.eintrag_passwort2.value) {
		alert(sFehlermeldung3); //"Bitte Passwort überprüfen!"
		return false;
	}
	if ((window.document.RegistrierungFormular.eintrag_agb.checked == false) || (window.document.RegistrierungFormular.eintrag_datenschutz.checked == false)) {
		alert(sFehlermeldung4); // "Bitte bestätigen Sie die AGB und Ihr Einverständnis zur Datenspeicherung!"
		return false;
	}
}

function Shop_Bestellung_AGB_Check(ln_Fehler_AllePflichtfelder, InputCheck) {
	var Arr_InputCheck    = InputCheck.split("#")
	for (i=0; i < Arr_InputCheck.length; i++) {
		if (Arr_InputCheck[i] == "") { continue; }
		var html_element    = document.getElementById(Arr_InputCheck[i]);
		if (html_element.checked == false) {
			alert(ln_Fehler_AllePflichtfelder);
			return false;
		}
	}
	return true;
}

function Shop_Bestellung_Zahlungsart_Check(ln_Fehler_AllePflichtfelder) {
	var b_Zahlungsart_Checked = false;
	var radio_Zahlungsart = document.forms["FormularBestellung"].elements["zahlungsart"];
	for (i=0; i<radio_Zahlungsart.length; i++) {
		if (radio_Zahlungsart[i].checked === false) { continue; }
		b_Zahlungsart_Checked = true;
		break;
	}
	if (b_Zahlungsart_Checked == false) {
		alert(ln_Fehler_AllePflichtfelder);
		return false;
	}
	return true;
}

function Shop_MeinKonto_Daten_Formular_pruefen(sFehlermeldung1) {
	if (
			(window.document.MeinKontoDaten.eintrag_vorname.value == "") ||
			(window.document.MeinKontoDaten.eintrag_nachname.value == "") ||
			(window.document.MeinKontoDaten.eintrag_strasse.value == "") ||
			(window.document.MeinKontoDaten.eintrag_plz.value == "") ||
			(window.document.MeinKontoDaten.eintrag_ort.value == "") ||
			(window.document.MeinKontoDaten.eintrag_email.value == "") ||
			(window.document.MeinKontoDaten.eintrag_telefon.value == "")
		)
		{
			alert(sFehlermeldung1);
			return false;
		}
}

function Shop_MeinKonto_Passwort_Formular_pruefen(sFehlermeldung1) {
	if (
			(window.document.MeinKontoPasswort.eintrag_passwort0.value == "") ||
			(window.document.MeinKontoPasswort.eintrag_passwort1.value == "")
		)
		{
			alert(sFehlermeldung1); //"Bitte Passwort überprüfen!"
			return false;
		}
	if(window.document.MeinKontoPasswort.eintrag_passwort1.value != window.document.MeinKontoPasswort.eintrag_passwort2.value) {
		alert(sFehlermeldung1); //"Bitte Passwort überprüfen!"
		return false;
	}
}


function ShopKundenPasswortVergessen_Formular_pruefen(msg) {
	if (window.document.FormPasswortVergessen.eintrag_email.value == "") {
			alert(msg);
			return false;
	}
}


function AenderungVorgenommen(formname) {
	document.forms[formname].aenderung.value = '1';
}

function KeineAenderungVorgenommen(formname) {
	document.forms[formname].aenderung.value = '0';
}

function ErsterBuchstabeGross(string){
	var word = string;
	var firstChar = word.charAt(0).toUpperCase();
	var rest = word.substring(1,word.length);
	word = firstChar.concat(rest);
	return word;
}

function GrGr(formname,formfeld) {
	var string = document.forms[formname].elements[formfeld].value;
	if (string.length < 2) {
		var neu = ErsterBuchstabeGross(string);
		document.forms[formname].elements[formfeld].value = neu;
	}
}

function FormFeldFocus(formname,feldname) {
	document.forms[formname].elements[feldname].focus();
}

function Formular2POST(formname) {
	var count = 0;
	var post = "";

	if (document.forms[formname]) {
		var el = document.forms[formname].elements;
	} else {
		var el = opener.document.forms[formname].elements;
	}

//var el = document.forms[formname].elements;
	for (i=0; i < el.length; i++)  {
		if (el[i].type == 'checkbox') {
			if (el[i].checked == true) {
				var wert = 1;
			} else {
				var wert = 0;
			}
			post += el[i].name+'='+wert;
		}
		else {
			post += el[i].name+'='+el[i].value;
		}
		
		if (i < el.length) {
			post += "&";
		}
		count++;
	}
	//alert(count+' Elemente: '+post);
	return post;
}

// ----------------------------------------------------------------------
// AJAX Funktionen
// ----------------------------------------------------------------------
function shop_vorname2anrede(input_id, output_id) {
	var vorname = document.getElementById(input_id);
	XMLHTTP.open("GET", "include/ajax_shop.php?aktion=vorname2anrede&vorname="+vorname.value);
	XMLHTTP.onreadystatechange = new Function('fx', 'shop_vorname2anrede_ausgabe("'+output_id+'")');
	XMLHTTP.send(null);
}
function shop_vorname2anrede_ausgabe(output_id) {
	if (XMLHTTP.readyState == 4) {
		var d;
		d = XMLHTTP.responseText;
		//alert(d);
		if (d == "false") {
			// nichts unternehmen
		} else {
			// hole dir dein objekt
			var selectbox = document.getElementById(output_id);
			// erweitere das Objekt um die Funktion selectOptionByValue
			selectbox.selectOptionByValue = function(value) {
				for (var i = 0; i < this.options.length; i++) {
					if (this.options[i].value == value) {
						this.options[i].selected = true;
					} else {
						this.options[i].selected = false;
					}
				}
			}
			// selektiere eine neue option
			selectbox.selectOptionByValue(d);
		}
	}
}

// ----------------------------------------------------------------------------------
// KUNDENVERSAND
// ----------------------------------------------------------------------------------
function kv_Shop_Lieferanschriften_Anzeigen(id_kunde) {
	// :TODO: Grafik laden // document.getElementById("kv_adressliste").innerHTML = "<img src='images/ladegrafik.gif'>";
	if (!isNumeric(id_kunde)) { return; }
	XMLHTTP.open("GET", "include/ajax_shop.php?aktion=kv_Shop_Lieferanschriften_Anzeigen&id_kunde="+id_kunde);
	XMLHTTP.onreadystatechange = kv_Shop_Lieferanschriften_Anzeigen_Ausgabe;
	XMLHTTP.send(null);
}
function kv_Shop_Lieferanschriften_Anzeigen_Ausgabe() {
	if (XMLHTTP.readyState == 4) {
		var d;
		var html_kv_adressliste = document.getElementById("kv_adressliste");
		var html = "";
		d = XMLHTTP.responseText;
		//alert(d);
		if (d == "") {
			html_kv_adressliste.innerHTML = "<p>Beim Abruf der Lieferadressen ist ein Fehler aufgetreten.</p>";
			return;
		}
		var json = eval('(' + d + ')');
		if (json.ergebnis == -1) {
			html_kv_adressliste.innerHTML = "<p>Beim Abruf der Lieferadressen ist ein Fehler aufgetreten.</p>";
			return;
		}
		if (json["Lieferadressen"].length == 0) {
			html_kv_adressliste.innerHTML = "<p>"+json.ln_Lieferadressen_KeineVorhanden+"</p>";
		} else {
			for (var i = 0; i < json["Lieferadressen"].length; i++) {
				html += "<div class='kv_Adresse'>";
				html += "<img src='sysimages/cross.png' alt='"+json.ln_BTN_Loeschen+"' title='"+json.ln_BTN_Loeschen+"' width='16' height='16' style='cursor: pointer; float: right; margin: 0 2px 0 0;' onClick='kv_Shop_Lieferanschriften_Delete("+json["Lieferadressen"][i].id+", \""+json.ln_Loeschen_Abfrage+"\");'>";
				html += "<img src='sysimages/page_edit.png' alt='"+json.ln_BTN_Bearbeiten+"' title='"+json.ln_BTN_Bearbeiten+"' width='16' height='16' style='cursor: pointer; float: right; margin: 0 2px 0 0;' onClick='kv_htmlBearbeiten("+json["Lieferadressen"][i].id+");'> ";
				html += "<img src='sysimages/package_green.png' class='Package'' alt='' title='' width='16' height='16'> ";
				html += "<b>"+json["Lieferadressen"][i].name1+"</b><br />";
				if (json["Lieferadressen"][i].name2 != "") {
					html += ""+json["Lieferadressen"][i].name2+", ";
				}
				html += ""+json["Lieferadressen"][i].strasse+", ";
				html += ""+json["Lieferadressen"][i].plz+" ";
				html += ""+json["Lieferadressen"][i].ort+", ";
				html += ""+json["Lieferadressen"][i].land_lang+"";
				html += "</div>";

				html += "<div id='edit_"+json["Lieferadressen"][i].id+"' class='kv_Adresse_edit' style='display: none;'>";
				html += "<table>";
				html += "  <tr>";
				html += "    <td style='width:175px; font-weight: bold;'>"+json.ln_Name+" 1*</td>";
				html += "    <td><input type='text' name='name1_"+json["Lieferadressen"][i].id+"' id='name1_"+json["Lieferadressen"][i].id+"' maxlength='75' size='50' value='"+json["Lieferadressen"][i].name1+"'></td>";
				html += "  </tr>";
				html += "  <tr>";
				html += "    <td>"+json.ln_Name+" 2</td>";
				html += "    <td><input type='text' name='name2_"+json["Lieferadressen"][i].id+"' id='name2_"+json["Lieferadressen"][i].id+"' maxlength='75' size='50' value='"+json["Lieferadressen"][i].name2+"'></td>";
				html += "  </tr>";
				html += "  <tr>";
				html += "    <td style='font-weight: bold;'>"+json.ln_Kunden_Reg_StrasseNr+"*</td>";
				html += "    <td><input type='text' name='strasse_"+json["Lieferadressen"][i].id+"' id='strasse_"+json["Lieferadressen"][i].id+"' maxlength='75' size='50' value='"+json["Lieferadressen"][i].strasse+"'></td>";
				html += "  </tr>";
				html += "  <tr>";
				html += "    <td style='font-weight: bold;'>"+json.ln_PLZ+" &amp; "+json.ln_Ort+"*</td>";
				html += "    <td><input type='text' name='plz_"+json["Lieferadressen"][i].id+"' id='plz_"+json["Lieferadressen"][i].id+"' maxlength='5' size='5' value='"+json["Lieferadressen"][i].plz+"'>";
				html += "        <span id='html_ort_"+json["Lieferadressen"][i].id+"'><input type='text' name='ort_"+json["Lieferadressen"][i].id+"' id='ort_"+json["Lieferadressen"][i].id+"' maxlength='75' size='40' value='"+json["Lieferadressen"][i].ort+"'></span></td>";
				html += "  </tr>";
				html += "  <tr>";
				html += "    <td style='font-weight: bold;'>"+json.ln_Land+"*</td>";
				html += "    <td>"+json["Lieferadressen"][i].html_laender+"</td>";
				html += "  </tr>";
				html += "  <tr>";
				html += "    <td>&nbsp;</td>";
				html += "    <td><input type='button' value='"+json.ln_BTN_Absenden+" &raquo;' class='SubmitButton' onClick='kv_Shop_Lieferanschrift_Update("+json["Lieferadressen"][i].id+", \""+json.ln_Fehler_AllePflichtfelderAusf+"\");'></td>";
				html += "  </tr>";
				html += "</table>";
				html += "";
				html += "</div>";
			}
			html_kv_adressliste.innerHTML = html;
		}
	}
}
function kv_htmlBearbeiten(id) {
	var div = document.getElementById("edit_"+id);
	if (div.style.display == 'none') {
		div.style.display = 'block';
	} else {
		div.style.display = 'none';
	}
}
function kv_Shop_Lieferanschrift_Update(id, ln_Fehler_AllePflichtfelderAusf) {
	if (!isNumeric(id)) { return; }
	var name1   = document.getElementById("name1_"+id).value;
	var name2   = document.getElementById("name2_"+id).value;
	var strasse = document.getElementById("strasse_"+id).value;
	var plz     = document.getElementById("plz_"+id).value;
	var ort     = document.getElementById("ort_"+id).value;
	var land    = document.getElementById("land_"+id).value;
	if (name1 == "" || strasse == "" || plz == "" || ort == "") {
		alert (ln_Fehler_AllePflichtfelderAusf);
		return;
	}
	XMLHTTP.open("GET", "include/ajax_shop.php?aktion=kv_Shop_Lieferanschriften_Update&id="+id+"&name1="+encodeURIComponent(name1)+"&name2="+encodeURIComponent(name2)+"&strasse="+encodeURIComponent(strasse)+"&plz="+plz+"&ort="+encodeURIComponent(ort)+"&land="+land);
	XMLHTTP.onreadystatechange = kv_Shop_Lieferanschrift_Update_Ausgabe;
	XMLHTTP.send(null);
}
function kv_Shop_Lieferanschrift_Update_Ausgabe() {
	if (XMLHTTP.readyState == 4) {
		var d;
		d = XMLHTTP.responseText;
		//alert(d);
		if (d == "") {
			html_kv_adressliste.innerHTML = "<p>Beim Speichern der Lieferadressen ist ein Fehler aufgetreten.</p>";
			return;
		}
		var json = eval('(' + d + ')');
		if (json.ergebnis == -1) {
			html_kv_adressliste.innerHTML = "<p>Beim Speichern der Lieferadressen ist ein Fehler aufgetreten.</p>";
			return;
		}
		if (json.meldung != "") {
			alert (json.meldung);
		}
		kv_Shop_Lieferanschriften_Anzeigen(json.id_kunde);
	}
}
function kv_Shop_Lieferanschrift_Insert(id_kunde, ln_Fehler_AllePflichtfelderAusf) {
	if (!isNumeric(id_kunde)) { return; }
	var name1   = document.getElementById("eintrag_name1").value;
	var name2   = document.getElementById("eintrag_name2").value;
	var strasse = document.getElementById("eintrag_strasse").value;
	var plz     = document.getElementById("eintrag_plz").value;
	var ort     = document.getElementById("eintrag_ort").value;
	var land    = document.getElementById("eintrag_land").value;

	if (name1 == "" || strasse == "" || plz == "" || ort == "" || land == "") {
		alert (ln_Fehler_AllePflichtfelderAusf);
		return;
	}
	XMLHTTP.open("GET", "include/ajax_shop.php?aktion=kv_Shop_Lieferanschriften_Insert&id_kunde="+id_kunde+"&name1="+encodeURIComponent(name1)+"&name2="+encodeURIComponent(name2)+"&strasse="+encodeURIComponent(strasse)+"&plz="+plz+"&ort="+encodeURIComponent(ort)+"&land="+land);
	XMLHTTP.onreadystatechange = kv_Shop_Lieferanschrift_Insert_Ausgabe;
	XMLHTTP.send(null);
}
function kv_Shop_Lieferanschrift_Insert_Ausgabe() {
	if (XMLHTTP.readyState == 4) {
		var d;
		d = XMLHTTP.responseText;
		//alert(d);
		if (d == "") {
			alert("Beim Abruf der Lieferadressen ist ein Fehler aufgetreten.");
			return;
		}
		var json = eval('(' + d + ')');
		if (json.ergebnis == -1) {
			alert("Beim Abruf der Lieferadressen ist ein Fehler aufgetreten.");
			return;
		}
		if (json.meldung != "") {
			alert (json.meldung);
		}
		kv_Shop_Lieferanschriften_Anzeigen(json.id_kunde);
		document.getElementById("eintrag_name1").value   = "";
		document.getElementById("eintrag_name2").value   = "";
		document.getElementById("eintrag_strasse").value = "";
		document.getElementById("eintrag_plz").value     = "";
		document.getElementById("eintrag_ort").value     = "";
	}
}

function kv_Shop_Lieferanschriften_Delete(id, ln_Loeschen_Abfrage) {
	if (!isNumeric(id)) { return; }
	if (confirm(ln_Loeschen_Abfrage) == false) { return; }
	if (id == "" || id == 0) { return; }
	XMLHTTP.open("GET", "include/ajax_shop.php?aktion=kv_Shop_Lieferanschriften_Delete&id="+id);
	XMLHTTP.onreadystatechange = kv_Shop_Lieferanschriften_Delete_Ausgabe;
	XMLHTTP.send(null);
}
function kv_Shop_Lieferanschriften_Delete_Ausgabe() {
	if (XMLHTTP.readyState == 4) {
		var d;
		d = XMLHTTP.responseText;
		//alert(d);
		var json = eval('(' + d + ')');
		if (json.meldung != "") {
			alert (json.meldung);
		}
		kv_Shop_Lieferanschriften_Anzeigen(json.id_kunde);
	}
}





// ----------------------------------------------------------------------
// Hilfsfunktionen
// ----------------------------------------------------------------------
function isNumeric(num) {
  return !isNaN(num)
}

// ----------------------------------------------------------------------
// Menü für Kategorien
// ----------------------------------------------------------------------
function delay(msec)
		{
			var wait = parseInt(msec);
			var max  = 10000;
			if (wait == 'NaN' || wait < 0) {
				return false;
			}
			if (wait > max) {
				wait = max;
			}
			var start = new Date();
			var now   = new Date();;
			while (now.getTime() - wait < start.getTime()) {
				now = new Date();
			}
			return false;
		}
function MyHover(el) {
	if (document.getElementById(el.getAttribute('id')).childNodes[2].tagName == "UL") {
		//delay(20);
		document.getElementById(el.getAttribute('id')).childNodes[2].style.display = "block";
		//document.getElementById(el.getAttribute('id')).childNodes[2].style.visibility = 'visible';
		//window.setTimeout("document.getElementById('" + el.getAttribute('id') + "').childNodes[2].style.display = 'block';", 10);
	}
}
function MyUnHover(el) {
	if (document.getElementById(el.getAttribute('id')).childNodes[2].tagName == "UL") {
		delay(100);
		document.getElementById(el.getAttribute('id')).childNodes[2].style.display = "none";
		//document.getElementById(el.getAttribute('id')).childNodes[2].style.visibility = 'hidden';
		//window.setTimeout("document.getElementById('" + el.getAttribute('id') + "').childNodes[2].style.display = 'none';", 300);
	}
}

