$(document).ready(function() {
	
	/* ImageSlider Startseite */
	$("#imageSilder").jCarouselLite({
	    btnNext: "#slideNext",
	    btnPrev: "#slidePrev",
	    speed: 800,
	    auto: 10000
	});
    
	/* ImageSlider erweitert mit First/Last */
	$(".imageSliderPage").jCarouselLite({
		btnNext: "#slideNext",
		btnPrev: "#slidePrev",
		btnFirst: "#slideFirst",
		btnLast: "#slideLast",
		speed: 800,
		circular: false
	});

	/* Social Shortcontainer in die #page kopieren */
	$("#page").append("<div class='tx-timtabsociable-pi1'>"+$(".tx-timtabsociable-pi1").html()+"</div>");
	$("#c192 .tx-timtabsociable-pi1").remove();
	
	/* Social Shortlinkbutton */
	$(".shareIt").click(function () {
		if(($("#page_margins .tx-timtabsociable-pi1").is(':visible')) != true) {
			$("#page_margins .tx-timtabsociable-pi1").show();
		} else {
			$("#page_margins .tx-timtabsociable-pi1").hide();
		}
	});	
	
	
	/* -------------- Warenkorb Adresseingabe -------------- */
	
	/* Kopiert die Adressdaten */
	$("#copy_address").click(function() {  
		/* Welcher Felder sollen uebernommen werden */
		fields = new Array('forename','surname','company','street','postcode','location');
		  
		$.each(fields, function(index, value) { 
			$("input[name*='"+prefix+"[s]["+value+"]']").val($("input[name*='"+prefix+"[b]["+value+"]']").val());			   
		}); 
	});
	
	
	/* -------------- Warenkorb Übersichtsseite -------------- */
	
	/* Menge eines Artikels anpassen */
	$(".article_amount").change(function () {
		/* Anzahl abfragen*/
		var anzahl = $(this).val();
		var id = this.id;
	 
		$.ajax({
			url: "/index.php?id=60&"+prefix+"[function]=updateCart&"+prefix+"[index]="+id+"&"+prefix+"[amount]="+anzahl,
			success: function(data) {
			if(data == 1) {
				/* Versandkosten neu brechnen */
		  		calcShipping();
		  		/* Gesamtkosten neu berechnen */
		  		calcAll();
		  	}
		  }
		});
	});

	/* Versandkosten ändern */
	$(".shipping_uid").change(function () {
		/* Versand aktualisieren */
		$.ajax({
			url: "/index.php?id=60&"+prefix+"[function]=setShipping&"+prefix+"[shippingUid]="+$(this).val(),
			success: function(data) {
				/* Versandkosten neu brechnen */
				calcShipping();
				/* Gesamtkosten neu berechnen */
				calcAll();
			}
		});			 
	});
	  
	  
	/* Artikel löschen */
	$(".deleteArticle").click(function () {
		var outerThis = this;
		/* Löschen zur Session senden*/
		$.ajax({
			url: "/index.php?id=60&"+prefix+"[function]=removeArticleFromCart&"+prefix+"[index]="+outerThis.id,
			success: function(data) {
				if(data == 1) {	  			
					/* Prüfen ob Interior vorhanden */
					if($(outerThis).parent().parent().next().find(".is_interior").html() == "1") {
						/* Löschen */
						$(outerThis).parent().parent().next().fadeOut('slow', function() { 
							$(this).remove();
						});
					}
					/* Artikel löschen*/
					$(outerThis).parent().parent().fadeOut('slow', function() { 
						$(this).remove();
						/* Pfüfen ob noch Artikel vorhanden sind */
						checkCartIfEmpty();
					});						
					/* Kosten neu berechnen */
			  		calcShipping();
			  		calcAll();
			  		
			  		return false;
			  	}
			}
		});
		return false;
	});
	
	/* Prüft die Warenkorbseite, ob noch Artikel vorhanden sind */
	function checkCartIfEmpty() {
		/* Überhaupt noch Artikel vorhanden*/
		var items = $(".basket form table tbody tr").size();
		/* Kleiner als 2? Also nur noch Versandkosten */
		if(items < 2) {
			/* Ausblenden */
			$(".basket form table").remove();
			/* Reload durchführen */
			/*window.location.reload();*/
			if(checkLang() == 1) {
				self.location.href = "/en/shop/cart.html?no_cache=1";
			} else {
				self.location.href = "/shop/warenkorb.html?no_cache=1";
			}
		}		  
	}
	  
	/* Gesamtpreis berechnen */
	function calcAll() {
		/* Gesamtpreis abfragen */
		$.ajax({
		url: "/index.php?id=60&"+prefix+"[function]=getCartCost&"+prefix+"[language]="+checkLang(),
			success: function(price) {			  
				price = parseInt(price);
				$(".basket tfoot tr .price span:first").html(formatPrice(price));
			}
		});		  
	}
	  
	/* Versandkosten berechnen */
	function calcShipping() {
		/* Versandkosten abfragen */
		$.ajax({
			url: "/index.php?id=60&"+prefix+"[function]=getShippingCost&"+prefix+"[language]="+checkLang(),
			success: function(data) {
				/* Preis anzeigen */
				$(".basket tbody .versand .price span").html(formatPrice(parseInt(data)));
		  	}
		});		  
	}
	  

	/* -------------- Warenkorb Übersichtsseite -------------- */
	var prefix = "tx_webpageseshop_pi1";
	var prefix2 = "tx_webpageseshop";
	var tempSrc = "";
	var origSrc = "";
	var clickCounter = 0;
	var change360 = 0;
	var htmlSrc = "";
	  
	/* Menge Anpassen*/
	$("#article_amount").change(function () {
		/* Gesamtpreis neu berchnen */
		calcPrice();
	});
	  
	/* Formular absenden */
	$(".btn_basket_big a").click(function () {  
		javascript.form.submit();
	});	  
	  
	/* Interior einer Artikelauswahl hinzufügen */
	$(".chooseFittings div a").click(function () {  		  
		var id = this.id;
		var language = 0;
	  
		language = checkLang();
	  
		/* Get price */ 
		$.ajax({
			url: "/index.php?id=60&"+prefix+"[function]=interiorData&"+prefix+"[uid]="+this.id+"&"+prefix+"[language]="+language,
			success: function(json) {
				/* json Obj*/
				var rObj = eval('(' + json + ')');	  	
			  	
				/* Artikelpreis */
			  	$(".card .price .int span.value").html(rObj.price);
			  	/* Währung */
			  	$(".card .price .int span.currency").html(rObj.currency);
			  	/* Interiorname */
			  	$(".card .price .int span.interior_short").html(rObj.short);
			  	
			  	/* Artikel - Interior Uid merken */
			  	$("#dataHolder #intUid").val(id);
			  	
			  	/* Gesamtpreis neu berechnen*/
			  	calcPrice();
			}
		});
		return false;
	});
	  
	/* */
	$("#toCart").click(function () {  
	  /* Anzahl */
	  var anzahl = $("#article_amount").val();
	  /* Gesamtbetrag */
	  var gesamt = $(".card .price .amount span").html();
	  /* Artikel uID */
	  var uid = $("#dataHolder #artUid").val();
	  /* Interior uID */
	  var interior = $("#dataHolder #intUid").val();
	  /* Interior nicht vorhanden? */
	  if(interior == "") interior = "none";
  
	  $.ajax({
		  url: '/index.php',
		  data: "id=60&"+prefix+"[function]=addToCart&"+prefix+"[articleUid]="+uid+"&"+prefix+"[amount]="+anzahl+"&"+prefix+"[interior]="+interior,
		  	success: function(data) {
		  		if(data == 1) {
		  			/* Redirect to Cart */		  			
		  			if(checkLang() == 1) {
			  			self.location.href = "/en/shop/cart.html?no_cache=1";
		  			} else {
			  			self.location.href = "/shop/warenkorb.html?no_cache=1";		  				
		  			}
		  		}
	  		}
	  	});
	  	return false;
	});
	  	  
	/* Motiv-Zoom */
	$(".zoom_interior").click(function() {  
		/* Soll Bild*/
		var zoomPic = $("#zoom_pic_path").html();  
		changeImage(zoomPic);
	}); 

	/* Schubladen zoom */
	$(".zoom_interior_drawers").click(function() { 
		changeImage('uploads/'+prefix2+'/drawers_big.gif');
	});
  
	/* Einlegebogen zoom */
	$(".zoom_interior_shelves").click(function() { 
		changeImage('uploads/'+prefix2+'/shelves_big.gif');
	});
	  	  
	/* Interior Combi Bilder */
	$(".chooseFittings h5").hover(function() {
		if(this.id != "") {
			changeImage("/uploads/tx_webpageseshop/interior_"+this.id+".jpg");
		}
	});
	  	  
	/* 360 Grad Ansicht aktivieren*/
	$(".colRight .btn_rotate").click(function() {  
		
		/* Flag prüfen */
		if(change360 == 1) {
			reset360();
		} else {
			/* Urprungs HTML zwischenspeichern */
			if(origSrc == "" || htmlSrc == "") {
				setHtmlSource();
			} else {
				changeImage(origSrc);				
			}
			
			var arr = [];
			for (var x=1; x<= 34; x++){
				if(x<10){
					x = "0"+x
				}
				arr.push("/fileadmin/user_upload/Bilder/"+$('#zoomname').text()+"/3d800px_"+x+".jpg");
			}
			
			$("#my360image").threesixty({images:arr, method:'mousemove', 'cycle':2, direction:"backward"});;
			$("#no360image").css('display', 'block');
			$("#no360image").show();
						
			/* Flag setzen */
			change360 = 1;
		}	
	});
	  
	 /* Originalbild anzeigen bei klick auf Bildfläche */
	 $("#do360").click(function() {
		 if($("#no360image").css('display') != "inline") {
			 changeImage();
		 }
	 });		 
	 
	 /* Deaktiviert die 360 Grad Ansicht */
	 function reset360() {
		 /* Uprungshtml anzeigen */
		 showHtmlSource();
		
		 /* Menu für 360Grad Navigation deaktivieren */
		 $("#no360image").hide();
		
		 /* check var */	
		 change360 = 0;	
	 }
	 
	 /* Speichert den Anfangsquellcode*/
	 function setHtmlSource() {
		 if(htmlSrc == "") {
			 htmlSrc = $(".colLeft .imgBox.big").html();
		 }
		 if(origSrc == "") {
			 origSrc =  $(".imgBox.big img").attr("src");
		 }
		 return true;
	 }
	 
	 /* Stell den Anfangsquellcode wieder her */
	 function showHtmlSource(src) {
		 return $(".colLeft .imgBox.big").html(htmlSrc);
	 }
 
	/* Bildwechsel durchführen */
	function changeImage(zoomPic) {
		/* Urprungs HTML zwischenspeichern */
		setHtmlSource();
		/* 360 Grad Ansicht deaktivieren*/
		reset360();
		
		if(clickCounter == 0) {
			$("#origSrc").html($(".imgBox.big img").attr("src"));
			clickCounter = clickCounter+1;
		}
	  
		if($(".imgBox.big img").attr("src") != zoomPic) {
			tempSrc = $(".imgBox.big img").fadeIn("slow").attr("src");			  
		} else {
			zoomPic = tempSrc ;
		}
		/* $(".imgBox.big img").fadeIn("0").attr("src", zoomPic);*/
		$(".imgBox.big img").attr("src", zoomPic);
	}
  
	/* Berechnet den Gesamtpreis */
	function calcPrice() {
		var betrag	= removeformatPrice($(".card .price .ml").html());
		var anzahl	= removeformatPrice($("#article_amount").val());
		var betragInt = removeformatPrice($(".card .price .int span").html());	  
		var gesamt = (betrag*anzahl);
		  
		if(!isNaN(betragInt)) {
			gesamt = gesamt+(parseInt(betragInt)*anzahl);
		}  
		gesamt = formatPrice(gesamt);
		$(".card .price .amount span.ml span.gvalue").html(gesamt);		  
	  }
	  
	/* Preisformatierung entfernen*/
	function removeformatPrice(price) {
		price = price.replace(/\./,"");
		price = price.replace(/,/,".");  
		return price;
	}
	  
	/* Preis formatieren*/
	function formatPrice(price) {
		price = price.toFixed(2).toString();
		price = price.replace(/\./,",");
		price = price.toLocaleFormat();
		  
		return price;
	}
	
	/* Prüft die Sprachparameter */
	function checkLang() {
		  if(window.location.href.match("/en/") == "/en/") {
			  return 1;
		  } else {
			  var languageVar = getUrlVars()["L"];
			  if(languageVar == 1) {
				  return 1;
			  } else {
				  return 0;				  
			  }			  
		  }
	}	

	/* Funktion um GET Parameter auszulesen*/
	function getUrlVars() {
	    var vars = [], hash;
	    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	    for(var i = 0; i < hashes.length; i++)
	    {
	        hash = hashes[i].split('=');
	        vars.push(hash[0]);
	        vars[hash[0]] = hash[1];
	    }
	    return vars;
	}

	String.prototype.toLocaleFormat = function() {
	    var n = this;
	    ns = String(n).replace('.', ',');
			var nsE = ns.split(',');
			ns = nsE[0];
	    
	    var w = [];
	    while (ns.length > 0) {
	        var a = ns.length;
	        if (a >= 3) {
	            s = ns.substr(a - 3);
	            ns = ns.substr(0, a - 3);
	        } else {
	            s = ns;
	            ns = "";
	        }
	        w.push(s);
	    }
	    for (i = w.length - 1; i >= 0; i--) {
	        ns += w[i] + ".";
	    }
	    ns = ns.substr(0, ns.length - 1);
	    
	    if (typeof(nsE[1]) != "undefined") {
	    	ns = ns+","+nsE[1];
	    }
	    return ns.replace(/\.,/, ',');
	}	
});

/* Holderfunction */
function zoom() {}