jQuery(document).ready(function(){ 
	
	selectform();
	
	totalprice = 0;
	
	sumtotal();
	
	if(totalprice != 0) { 
		totalprice = str_replace(",","", totalprice);
		jQuery("#total").html(totalprice);
	}
	
	jQuery(".order a").click( function() {
		var product 	= (this.id).split("_");
		var productID 	= product[1];
		doadd(productID)
	});
	jQuery("#buybutton a").click( function() {
		var product 	= (this.id).split("_");
		var productID 	= product[1];
		doadd(productID)
	});
	
	function doadd(productIDVal) {
	
		jQuery.ajax({  
		type: "POST",  
		url: "../basket/functions.php",  
		data: { productID: productIDVal,
				action: "addToBasket"},  
		success: function(theResponse) {
			
			fillshopping();
			
			var shoppingwrapper = document.getElementById('shoppingwrapper');
			var swap = document.getElementById('shoppingswap');
	
			if(swap.className == 'shoppingswap_off') {
				swap.className = 'shoppingswap_on';
				shoppingwrapper.style.display = 'block';
				resizeshop();
			}
			
			if( jQuery("#productID_" + productIDVal).length != 0){
				jQuery("#productID_" + productIDVal).animate({ opacity: 0 }, 200, function() {
					jQuery("#productID_" + productIDVal).after(theResponse).remove();
					resizeshop();
					sumtotal();
				});
				jQuery("#productID_" + productIDVal).animate({ opacity: 0 }, 200, function() {
					jQuery("#footerall").animate({ opacity: 0 }, 200, function() {
						totalprice = str_replace(",","", totalprice);
						jQuery("#total").html(totalprice);
					});
					jQuery("#footerall").animate({ opacity: 1 }, 200);
				});
				jQuery("#productID_" + productIDVal).animate({ opacity: 1 }, 200);
			} else {
				jQuery("#shoppingcontent span").before(theResponse);
				fillshopping();
				sumtotal();
				jQuery("#productID_" + productIDVal).hide();
				jQuery("#productID_" + productIDVal).show("slow", function() {
					jQuery("#footerall").animate({ opacity: 0 }, 200, function() {
						totalprice = str_replace(",","", totalprice);
						jQuery("#total").html(totalprice);
					});
					jQuery("#footerall").animate({ opacity: 1 }, 200);
				});
			}			
			
		}
		});
		
	};
	
	
	jQuery(".delete a").live("click", function(event) {
		var productIDValSplitter 	= (this.id).split("_");
		var productIDVal 			= productIDValSplitter[1];
	
		jQuery.ajax({  
		type: "POST",  
		url: "../basket/functions.php",  
		data: { productID: productIDVal,
				action: "deleteFromBasket"},  
		success: function() {
			
			jQuery("#productID_" + productIDVal).hide("slow", function() {
				jQuery(this).remove();
				fillshopping();
				sumtotal();
				jQuery("#footerall").animate({ opacity: 0 }, 200, function() {
					totalprice = str_replace(",","", totalprice);
					jQuery("#total").html(totalprice);
				});
				jQuery("#footerall").animate({ opacity: 1 }, 200);
				});	
		
		}
		
		});
		
	});
	
	jQuery("#deleteall a").live("click", function(event) {
	
		jQuery.ajax({  
		type: "POST",  
		url: "../basket/functions.php",  
		data: { action: "deleteAllFromBasket" },  
		success: function() {
			
			jQuery("#total").html(0);
			
			jQuery("#shoppingcontent").hide("slow", function() {
				jQuery(this).html('<span></span>');
				fillshopping();
				});	
		
		}
		
		});
		
	});
	
	// PART FORMULAR
	
	jQuery(".bstform_forwlink a").live("click", function(event) {
		 
		var lielms = new Array();
		var count = 0;
		
		jQuery("#bstform_menu li").each(function() {
			lielms[count] = Object(this);
			if(this.className == "bstform_menu_active") { this.className = "bstform_menu"; nextform = count + 1 }
			count++;
		});
		
		lielms[nextform].className = "bstform_menu_active";
		
		var reitername = lielms[nextform - 1].id;
		var nextreiter = lielms[nextform].id;
		
		if(reitername == "kundeninfo") {
			
			var anrede = jQuery("#anrede").val();
			var vorname = jQuery("#vorname").val();
			var nachname = jQuery("#nachname").val();
			var strasse = jQuery("#strasse").val();
			var strnr = jQuery("#strnr").val();
			var strasse = strasse + " " + strnr;
			var plz = jQuery("#plz").val();
			var ort = str_replace("'","", jQuery("#ort").val());
			var tel = jQuery("#tel").val();
			var email = jQuery("#email").val();
			var email_best = jQuery("#email_best").val();
			if(email != email_best) {
			} else {
				email = email_best;
			}
			var asknews = jQuery("#asknews").attr('checked');
			
			jQuery.ajax({
				type: "POST",
				url: "../formfuncs.php",
				data: { action: "formContent",
						reiter: reitername,
						anrede: anrede,
						vorname: vorname,
						nachname: nachname,
						strasse: strasse,
						strnr: strnr,
						plz: plz,
						ort:ort,
						tel: tel,
						email: email,
						asknews: asknews},
				success: function() {
					
				}
		
			});
			
			jQuery('#bestellform_content').html('<div id="loaderimg"><img src="../images/loader.gif"></div>');
			
			jQuery.ajax({
			type: "POST",
			url: "../formfuncs.php",
			data: { action: "getContent",
					reiter: nextreiter },
			success: function(response) {
							
				jQuery("#bestellform_content").html(response);
				jQuery("#bstform_footerinfo").html("Zum Speichern einer &Auml;nderung unbedingt den weiter-Button benutzen.");
				paymentshow();
							
			}
			
			});
			
		}
		
		if(reitername == "zahlungsart") {
			
			var zahlungsart = jQuery("#payment").val();
			
			jQuery.ajax({
				type: "POST",
				url: "../formfuncs.php",
				data: { action: "formContent",
						reiter: reitername,
						zahlungsart: zahlungsart },
				success: function() {
				}
			
			});
			
			jQuery('#bestellform_content').html('<div id="loaderimg"><img src="../images/loader.gif"></div>');
			
			jQuery.ajax({
			type: "POST",
			url: "../formfuncs.php",
			data: { action: "getContent",
					zahlungsart: zahlungsart,
					reiter: nextreiter },
			success: function(response) {
							
				jQuery("#bestellform_content").html(response);
				jQuery("#bstform_footerinfo").html("Zum Speichern einer &Auml;nderung unbedingt den weiter-Button benutzen.");

				document.getElementById('bstform_forwlink').className = 'bstform_forwlink';
				paymentshow();
				googlemap();
							
			}
						
			});
			
		}
		
		if(reitername == "zahlungsinfo") {
		
			var anrede = jQuery("#anrede").val();
                        var vorname = jQuery("#vorname").val();
                        var nachname = jQuery("#nachname").val();
                        var strasse = jQuery("#strasse").val();
                        var strnr = jQuery("#strnr").val();
                        var strasse = strasse + " " + strnr;
                        var plz = jQuery("#plz").val();
                        var ort = str_replace("'","", jQuery("#ort").val());
			
			jQuery('#bestellform_content').html('<div id="loaderimg"><img src="../images/loader.gif"></div>');

			jQuery.ajax({
                                type: "POST",
                                url: "../formfuncs.php",
                                data: { action: "formContent",
                                                reiter: reitername,
                                                anrede: anrede,
                                                vorname: vorname,
                                                nachname: nachname,
                                                strasse: strasse,
                                                plz: plz,
                                                ort:ort },
                                success: function() {
                                }

                        }); 

			jQuery.ajax({
			type: "POST",
			url: "../formfuncs.php",
			data: { reiter: nextreiter,
					action: "getContent" },
			success: function(response) {
				
				jQuery("#askagb").live('click', function(event) { checkagb(); });
				
				jQuery("#bestellform_content").html(response);
				jQuery("#bstform_footerinfo").html("Die AGB m&uuml;ssen zwingend best&auml;tigt werden.");

				var bestellung = jQuery("#bestellung_ware .infopart").html();
				if(bestellung==""){
					document.getElementById('bstform_forwlink').className = 'bstform_confirm_blocked';
					jQuery(".bstform_confirm_blocked").html('<a href="#0" onclick="return false;">bestellen!</a>');
					jQuery(".bstform_confirm_blocked").live('click', function(event) {
						alert("Sie haben noch nichts im Warenkorb abgelegt.");
					});
				} else {
					document.getElementById('bstform_forwlink').className = 'bstform_confirm';
					jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm">bestellen!</a>');
					
					jQuery("#shoppingwrapper").html("");
					resizeshop();
					
					var totalpreis = jQuery("#bst_totalpreis").html();

					jQuery("#best_bemerkung").bind('change', function(event) {
						bemerkung = jQuery(this).val();
						if(bemerkung=="") {
							jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '">bestellen!</a>');
						} else {
							jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '&bemerkung=' + bemerkung + '">bestellen!</a>');
						}
					});
					
					if(zahlungsart=="ccard"){
						jQuery("#best_bemerkung").hide();
						/*jQuery(".bstform_forwlink").html('<a href="creditcard_form.php">Bestellung aufgeben</a>');
						document.getElementById('bstform_forwlink').className = "bstform_confirm";*/
					}
					
					document.getElementById('bstform_forwlink').className = 'bstform_confirm';
					jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '">bestellen!</a>');
				}
				
				checkagb();
				
			}
		
			});
			
		}
		
	});
	
	jQuery("#bstform_menu li").live("click", function(event) {
	
	if(this.className == 'bstform_menu') {
		
		var lielms = new Array();
		var count = 0;
		
		jQuery("#bstform_menu li").each(function() {
			lielms[count] = Object(this);
			count++;
			if(this.className == "bstform_menu_active") { selected = count}
		});
		
		for(var i = 0;i < selected;i++){
			lielms[i].className = "bstform_menu";
		}
		
		this.className = "bstform_menu_active";
		
		var reitername = this.id;
		
		jQuery('#bestellform_content').html('<div id="loaderimg"><img src="../images/loader.gif"></div>');
		
		jQuery.ajax({
		type: "POST",
		url: "../formfuncs.php",
		data: { reiter: reitername,
				action: "getContent" },
		success: function(response) {
			
			document.getElementById('bstform_forwlink').className = 'bstform_forwlink';
			
			jQuery("#bestellform_content").html(response);
			
			if(reitername != "finish"){
				if(reitername == "kundeninfo"){
					blurins();
					jQuery(".bstform_forwlink").html('<a href="#0" onclick="return false;">weiter &gt;</a>');
				} else {					
					jQuery(".bstform_forwlink").html('<a href="#0" onclick="return false;">weiter &gt;</a>');
				}
				jQuery("#bstform_footerinfo").html("Zum Speichern einer &Auml;nderung unbedingt den weiter-Button benutzen.");
			} else {
				jQuery("#bstform_footerinfo").html("Die AGB m&uuml;ssen zwingen akzeptiert werden.");
				document.getElementById('bstform_forwlink').className = 'bstform_confirm';
				
				jQuery("#shoppingwrapper").html("");
				resizeshop();
				
				var totalpreis = jQuery("#bst_totalpreis").html();

				jQuery("#best_bemerkung").bind('blur', function(event) {
					checkagb();
					bemerkung = jQuery(this).val();
					if(bemerkung=="") {
						jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '">bestellen!</a>');
					} else {
						jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '&bemerkung=' + bemerkung + '">bestellen!</a>');
					}
				});
				
				jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '">bestellen!</a>');
				
				checkagb();
				
			}
			
			paymentshow();
			googlemap();
			
		}
		
		});
		
	}
		
		checkagb();
		
	});

function blurins() {
	
	validated = 0;
	emailtest = 0;
	defaults = "Anrede Vorname Nachname Strasse PLZ Wohnort Telefonnummer E-Mail bestätigen";
	defaultmsg = "Um eine Bestellung aufgeben zu können, müssen alle Felder ausgefüllt sein.";
	msgbox = jQuery("#form_alertmsg");
	
	msgbox.html(defaultmsg);
	
	testall();
	
	function v(e){
		
		y=jQuery(this);
		D=y.data('v');
		V=jQuery.trim(y.val());
		if(!V||V==D){y.val((V==D&&!(e.type=='blur')?true:false)?'':D);}
		V=jQuery.trim(y.val());
		test = defaults.indexOf(V);
		id = this.id;
		if(test==-1&&e.type=='blur'){
			if(id=="vorname"||id=="nachname"||id=="strasse"||id=="ort"){
				regname = new RegExp('[a-zäöüéè\.\-]*', 'i');
				if(!(regname.test(V))){
					msgbox.html('Wohnort, Strasse und Vor- und Nachname dürfen keine Zahlen, Satz- oder Sonderzeichen ausser "." und "-" enthalten! (nicht möglich: mein_name meineStrasse!, möglich: Anne-Marie Beispielstr.)');
				} else {
					msgbox.html(defaultmsg);
					V = str_replace("'","", V);
					V = String(V);
					W=V.split("-");
					V = "";
					for(var o = 0;o<W.length;o++){
						W[o] = W[o].replace(/^./, W[o].match(/^./)[0].toUpperCase());
						if(o == 0){
							V = W[o];
						} else {
							V = V + "-" + W[o]
						}
					}
					y.val(V);
				}
			}
			if(id=="plz"){
				value = isNaN(V);
				if(!value||V=="Nr."){
					msgbox.html(defaultmsg);
				} else {
					msgbox.html("Die Hausnummer und PLZ muss eine Zahl sein!");
				}
			}
			/*if(id=="tel"){
				var regtel = new RegExp('^(0|\\+41|0041)+(44|43|79|78|77|76|75)+([0-9]{7})$');
				if(!(regtel.test(V))){
					msgbox.html("Die angegebene Telefonnummer ist ungültig!");
				} else {
					msgbox.html(defaultmsg);
				}
			}*/
			if(id=="email"){
				var regmail = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$', 'i');
				if(!(regmail.test(V))){
					msgbox.html("Die angegebene E-Mail-Adresse ist ungültig!");
					emailtest = 0;
				} else {
					msgbox.html(defaultmsg);
				}
			}
			if(id=="email_best"){
				vergl = jQuery("#email").val();
				if(V!=vergl){
					msgbox.html("Die E-Mail-Adressen stimmen nicht überein!");
					emailtest = 0
				} else {
					msgbox.html(defaultmsg);
					emailtest = 1;
				}
			}
		} else if(e.type=='blur'){
			msgbox.html(defaultmsg);
		} else if(e.type=='focus'){
			if(id=="tel"||id=="email"){
				msgbox.html("Die Telefonnummer und E-Mail-Adresse wird lediglich zur Information über die Bestellung verwendet.");
			}
			if(id=="strnr"){
				msgbox.html("Falls Ihr Haus keine Nummer hat, lassen Sie dieses Feld einfach auf dem standard-Wert (Nr.).");
			}
		}
		if(e.type=='blur'){testall();}
	}
	
	function testall() {
		validated = 1;
		jQuery("#bestellform_content input").each(function() {
			ID = this.id;
			thisval = jQuery(this).val();
			anredeval = jQuery("#bestellform_content select").val();
			if(defaults.indexOf(anredeval)!=-1) {
				msgbox.html("Wählen Sie eine Anrede aus.");
				validated = 0;
			}
			if(defaults.indexOf(thisval)!=-1){
				msgbox.html(defaultmsg);
				validated = 0;
			} else {
			if(ID=="vorname"){
				regname = new RegExp('[a-zäöüéè\.\-]*', 'i');
				if(!(regname.test(thisval))){
					msgbox.html('Wohnort, Strasse und Vor- und Nachname dürfen keine Zahlen, Satz- oder Sonderzeichen ausser "." und "-" enthalten! (nicht möglich: mein_name meineStrasse!, möglich: Anne-Marie Beispielstr.)');
					validated = 0;
				}
			} else if(ID=="nachname"){
				regname = new RegExp('[a-zäöüéè\.\-]*', 'i');
				if(!(regname.test(thisval))){
					msgbox.html('Wohnort, Strasse und Vor- und Nachname dürfen keine Zahlen, Satz- oder Sonderzeichen ausser "." und "-" enthalten! (nicht möglich: mein_name meineStrasse!, möglich: Anne-Marie Beispielstr.)');
					validated = 0;
				}
			} else if(ID=="strasse"){
				regname = new RegExp('[a-zäöüéè\.\-]*', 'i');
				if(!(regname.test(thisval))){
					msgbox.html('Wohnort, Strasse und Vor- und Nachname dürfen keine Zahlen, Satz- oder Sonderzeichen ausser "." und "-" enthalten! (nicht möglich: mein_name meineStrasse!, möglich: Anne-Marie Beispielstr.)');
					validated = 0;
				}
			} else if(ID=="ort"){
				regname = new RegExp('[a-zäöüéè\.\-]*', 'i');
				if(!(regname.test(thisval))){
					msgbox.html('Wohnort, Strasse und Vor- und Nachname dürfen keine Zahlen, Satz- oder Sonderzeichen ausser "." und "-" enthalten! (nicht möglich: mein_name meineStrasse!, möglich: Anne-Marie Beispielstr.)');
					validated = 0;
				}
			/*} else if(ID=="strnr"){
				value = isNaN(thisval);
				if(!value||thisval=="Nr."){} else {
					msgbox.html("Die Hausnummer und PLZ muss eine Zahl sein!");
					validated = 0;
				}*/
			} else if(ID=="plz"){
				value = isNaN(thisval);
				if(value){
					msgbox.html("Die Hausnummer und PLZ muss eine Zahl sein!");
					validated = 0;
				}
			} /* else if(ID=="tel"){
				var regtel = new RegExp('^(0|\\+41|0041)+(44|43|79|78|77|76|75)+([0-9]{7})jQuery');
				if(!(regtel.test(thisval))){
					msgbox.html("Die angegebene Telefonnummer ist ungültig!");
					validated = 0;
				}
			}*/ else if(ID=="email"){
				if(defaults.indexOf(thisval)!=-1){
					validated = 0;
				} else {
					var regmail = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$', 'i');
					if(!(regmail.test(thisval))){
						msgbox.html("Die angegebene E-Mail-Adresse ist ungültig!");
						emailtest = 0;
					}
				}
			} else if(ID=="email_best"){
				if(defaults.indexOf(thisval)!=-1){
					validated = 0;
				} else {
					var regmail = new RegExp('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$', 'i');
					if(!(regmail.test(thisval))){
						msgbox.html("Die angegebene E-Mail-Adresse ist ungültig!");
						validated = 0;
					} else {
						vergl = jQuery("#email").val();
						if(thisval!=vergl){
							msgbox.html("Die E-Mail-Adressen stimmen nicht überein!");
							emailtest = 0
						} else {
							emailtest = 1;
						}
					}
				}
			}
			}
			
			validate();
			
		});
		
	}

	function validate() {
		
		document.getElementById('bstform_forwlink').className = 'bstform_forwlink_blocked';
		
		if(validated == 0){}
		else if(validated==1&&emailtest==1) {
			msgbox.html("Das Formular wurde vollständig ausgefüllt.");
			document.getElementById('bstform_forwlink').className = 'bstform_forwlink';
		}
			
	}
	
	jQuery("#bestellform_content input").each(function() { jQuery(this).data('v',jQuery(this).val()).bind('focus blur',v); });
	jQuery("#bestellform_content select").bind('change', function(event) {
		y = jQuery(this);
		D = jQuery.trim(y.val());
		if(defaults.indexOf(D)!=-1){
			msgbox.html("Wählen Sie eine Anrede aus.");
			validated = 0;
			validate();
		} else {
			msgbox.html(defaultmsg);
			testall();
		}
	});
	jQuery("#plz").bind('keyup', function(event) {
		plzid = jQuery(this);
		plzval = plzid.val();
		if(plzval.length == 4) {
			jQuery.ajax({
			type: "POST",
			url: "../formfuncs.php",
			data: { action: "getPLZName",
					plzval: plzval },
			success: function(response) {
				response = str_replace("'","", response);
				jQuery("#ort").val(response);							
			}
						
			});
		}
	});
	
}
	
	function checkagb() {
		if(document.getElementById('bestellung_ware')){
			askagb = jQuery("#askagb").attr('checked');
			if(askagb == true) {
				document.getElementById('bstform_forwlink').className = 'bstform_confirm';
				var totalpreis = jQuery("#bst_totalpreis").html();
				var bemerkung = jQuery("#best_bemerkung").val();
                                if(bemerkung=="") {
                                	jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '">bestellen!</a>');
                                } else {
                                	jQuery(".bstform_confirm").html('<a href="formfuncs.php?action=confirm&totalpreis=' + totalpreis + '&bemerkung=' + bemerkung + '">bestellen!</a>');
                                }
			} else {
				document.getElementById('bstform_forwlink').className = 'bstform_confirm_blocked';
				jQuery(".bstform_confirm_blocked").html('<a href="#0" onclick="alert(\'Sie m&uuml;ssen die AGB akzeptieren!\')">bestellen!</a>');
			}
			
		}
	}
	
	function selectform() {
		
		if(document.getElementById('bestellung')) {
			
		var lielms = new Array();
		count = 0;
		
		jQuery("#bstform_menu li").each(function() {
			lielms[count] = Object(this);
			count++;
			if(this.className == "bstform_menu_active") { reiter = this.id}
		});
		
		jQuery.ajax({
		type: "POST",
		url: "../formfuncs.php",
		data: { reiter: reiter,
				action: "getContent" },
		success: function(response) {
			
			jQuery("#bestellform_content").html(response);
			paymentshow();
			blurins();
		
		}
		
		});
		
		}
		
	}
			   
	function sumtotal() {
		
		elms = getElementsByClassName('bookprice');
		pretotalprice = 0;
			
		for(i = 0;i < elms.length;i++){
			pretotalprice = pretotalprice + Number(jQuery(elms[i]).html());
			totalprice = kaufm(pretotalprice);
			totalprice = str_replace(",", "", totalprice);
		}
		
	}
	
	function str_replace(search, replace, subject) {
		return subject.split(search).join(replace);
	}
	
function fillshopping() {
	
	var shoppingcontent = document.getElementById('shoppingcontent');
	var leertext = '<span></span>';
	
	jQuery('#shoppingwrapper').show();
	
	if(shoppingcontent.innerHTML == leertext || shoppingcontent.innerHTML.toLowerCase() == leertext)
	{
		jQuery('#shoppingcontent').hide();
		jQuery('#shoppingfooter').hide("normal");
		jQuery('#leermeldung').show("normal", function() {
			resizeshop();
		});
	} else {
		jQuery('#leermeldung').hide();
		jQuery('#shoppingcontent').show();
		jQuery('#shoppingfooter').show("slow", function() {
			resizeshop();
		});
	}
	
}

function kaufm(x) {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}

function a(b){
c=jQuery(this);d=c.data('a');A=jQuery.trim(c.val());
if(!A||A==d)c.val((A==d&&!(b.type=='blur')?true:false)?'':d);}

jQuery("#newsletter_form input").each(function(){jQuery(this).data('a',jQuery(this).val()).bind('focus blur', a)});

});
