$(document).ready(function(){
	
	/* Config */
	var slideIntervalTime = 6000; // Zeit zwischen automatischen Bildlauf
	var slideIntervalTimeLong = 8000; // Zeit zwischen automatischen Bildlauf lang
	var slideAutostartTime = 10000; // Zeit bis der Lauf automatisch gestartet wird
	
	/**
	* jQuery Quicksearch
	*/
	var qsDefaultValue = $('input#search').attr('value');
	var qsDefaultColor = $('input#search').css('color');
	$('input#search').focus(function(evt) {
		if($(this).attr('value') == qsDefaultValue) {
			$(this).attr('value', '');
		}
		$(this).css('color', '#6D3015');
	});
	$('input#search').blur(function(evt) {
		if($(this).attr('value') == "") {
			$(this).attr('value', qsDefaultValue);
			$(this).css('color', qsDefaultColor);
		}
	});
	var qs = $('input#search').quicksearch('table tr', {
		'stripeRows': ['odd', 'even'],
		'noResults': 'tr#noresults',
		'onBefore': function () {
			$('.searchthis').removeClass("active");
			return;
		},
		'testQuery': function (query, txt, _row) {
			var thisistobeshown = true;
			for (var i = 0; i < query.length; i += 1) {
				if (txt.indexOf(query[i]) === -1) {
					thisistobeshown = false;
				}
				// if is number < 100000 search plz only
				if (!isNaN(query[i])&&parseInt(query[i])==query[i]&&parseInt(query[i])<100000) { 
					var plzatbegin = txt.split("&nbsp;");
					if (plzatbegin.length == 2) {
						plzatbegin = plzatbegin[1];
						if (plzatbegin.indexOf(query[i]) != 0) {
							thisistobeshown = false;
						}
					}
				}
				// if two numbers x-y search everything in between those in plz
				var splitquery = query[i].split("-");
				if (splitquery.length == 2) {
					if (!isNaN(splitquery[0])&&parseInt(splitquery[0])==splitquery[0]&&parseInt(splitquery[0])<100000) { 
						if (!isNaN(splitquery[1])&&parseInt(splitquery[1])==splitquery[1]&&parseInt(splitquery[1])<100000) { 
							var plz = txt.split("&nbsp;");
							if (plz.length == 2 && splitquery[0].length == splitquery[1].length) {
								var plz = parseInt(plz[1].substring(0,splitquery[0].length));
								if (plz >= parseInt(splitquery[0]) && plz <= parseInt(splitquery[1])) {
									thisistobeshown = true;
								} else {
									thisistobeshown = false;
								}
							}
						}
					}
				}
			}
			return thisistobeshown;
		}
	});
	$('.searchthis').click(function(evt) {
		evt.preventDefault();
		$(this).blur();
		if(!$(this).hasClass('active')) {
			var href = $(this).attr("href");
			href = href.split("#");
			href = href[1];
			$("#search").attr("value", href);
			$("#search").focus();
			$("#search").keyup();
			$('.searchthis').removeClass("active");
			$(this).addClass("active");
		} else {
			$('.searchthis').removeClass("active");
			$("#search").attr("value", '');
			$("#search").focus();
			$("#search").keyup();
			$("#search").blur();
		}
	});
	
	/**
	* Check Flash
	*/
	var hasflash = false;
	if (swfobject.hasFlashPlayerVersion("8.0.0")) {
		hasflash = true;
	}
	
	/**
	* Language Select Toggle
	*/
	$(".langlink").click(function(evt) {
		$(".navlang").fadeToggle("fast");
		$(this).blur();
		evt.preventDefault();
	});
	
	/**
	* FancyBox
	*/
	/*$('a.lightbox').lightBox({
		overlayOpacity: 0.6,
		imageLoading: 'img/lightbox-ico-loading.gif',
		imageBtnClose: 'img/lightbox-btn-close.gif',
		imageBlank: 'img/lightbox-blank.gif'
	}); // Select all links with lightbox class*/
	$("a.lightbox").fancybox();
	$("a.lightboxswf").fancybox({
        'autoScale'     	: false,
        'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'width'				: '653',
		'height'			: '250'
	});	
	
	/**
	* Shop Slide Toggle
	*/
	$(".footertoggle").click(function(evt) {
		var shopslide = $("#shopslide");
		var shopslideshoplinks = $("#shopslide .productshoplink"); // For IE8 Fix. Shop-Button doesnt fade OQ
		if(!shopslide.hasClass("sliding")) {
			if(!$(this).hasClass("footertoggleopen")) {
				shopslide.addClass("sliding").slideDown(function() { 
					shopslideshoplinks.hide();
					$(".shopbox").fadeIn(function() {
						shopslide.removeClass("sliding");
					});
					shopslideshoplinks.fadeIn();
				});
				$(this).addClass("footertoggleopen");
				jQuery('html, body').animate({
				   scrollTop: shopslide.offset().top}
				);				
			} else {
				shopslide.addClass("sliding");
				shopslideshoplinks.fadeOut();
				$(".shopbox").fadeOut(function() {
					shopslide.slideUp(function() { 
						shopslide.removeClass("sliding");
					});
				});
				$(this).removeClass("footertoggleopen");
			}
		}
		$(this).blur();
		evt.preventDefault();
	});
	
	
	/**
	* Main Slider
	*/
	var slideInterval;
	var slideAutostartInt;
	if($("#mainslider").length) {
		/* Lazyload */
		$(".lazyload").each(function(index) {
			$(this).removeClass("lazyload");
			var makeImage = '<img class="' + $(this).attr("class") + '" src="' + $(this).attr("href") + '" alt="' + $(this).html() + '" />';
			$(this).after(makeImage);
			$(this).remove();
		});
	
		var mainSliderImages = $("#mainslidercontent .mainslide>img");
		var mainSliderActive = 1;
		var mainSliderLength = mainSliderImages.length;
		mainSliderUpdate();
		
		slideAutostartInt = setInterval(mainSliderAutostart, slideAutostartTime);
		
		$("#slideright").click(function (evt) {
			clearInterval(slideInterval);
			clearInterval(slideAutostartInt);
			if(!$("#mainslidercontent").hasClass("sliding")) {
				$(".mainslidepopup:visible").children(".mainslidepopupclose").click();
				mainSliderActive++;
				mainSliderUpdate(); 
				$("#mainslidercontent").addClass("sliding").animate({"left": "-=1000px"}, "slow", "easeInOutSine", function() { 
					$(this).removeClass("sliding"); 
				});
			}
			evt.preventDefault();
		});
		
		$("#slideleft").click(function (evt) {
			clearInterval(slideInterval);
			clearInterval(slideAutostartInt);
			if(!$("#mainslidercontent").hasClass("sliding")) {
				$(".mainslidepopup:visible").children(".mainslidepopupclose").click();
				mainSliderActive--;
				mainSliderUpdate(); 
				$("#mainslidercontent").addClass("sliding").animate({"left": "+=1000px"}, "slow", "easeInOutSine", function() { 
					$(this).removeClass("sliding"); 
				});
			}
			evt.preventDefault();
		});		
	}
	
	function mainSliderUpdate() {
		if(mainSliderImages.eq(mainSliderActive-1).hasClass("bright")) {
			$("#slideleft").addClass("brightleft");
			$("#slideright").addClass("brightright");
			$("#slideauto").addClass("slideautobright");
			mainSliderImages.eq(mainSliderActive-1).parent().children(".popupsoundonly").addClass("popupsoundonlybright");
		} else {
			$("#slideleft").removeClass("brightleft");
			$("#slideright").removeClass("brightright");
			$("#slideauto").removeClass("slideautobright");
		}
		if (mainSliderActive <= 1) {
			$("#slideleft").fadeOut();
		} else {
			$("#slideleft").fadeIn();
			$("#slideleft p").html((mainSliderActive - 1) + " / " + mainSliderLength);
		}
		if (mainSliderActive >= mainSliderLength) {
			$("#slideright").fadeOut();
			$("#slideauto").fadeOut();
			$("#sliderestart p").html((1) + " / " + mainSliderLength);
			$("#sliderestart").fadeIn();
		} else {
			$("#slideright").fadeIn();
			$("#slideright p").html((mainSliderActive + 1) + " / " + mainSliderLength);
			if(!$("#slideauto").hasClass("on")) {
				$("#slideauto").fadeIn();
			}
			$("#sliderestart").fadeOut();
		}
		$("#slideauto").removeClass("on");
	}
	
	/**
	* Main Slider - Restart
	*/
	$("#sliderestart").click(function(evt) {
		evt.preventDefault();
		$(this).blur();
		$(this).fadeOut();
		clearInterval(slideInterval);
		$("#slideauto").removeClass("on");
		$("#mainslidercontent").addClass("sliding").animate({"left": "0px"}, function() { 
			$(this).removeClass("sliding"); 
			mainSliderActive = 1;
			mainSliderUpdate(); 
		});		
		
	});
	
	/** 
	* Main Slider - Automatischer Bildlauf
	*/
	$("#slideauto").click(function(evt) {
		evt.preventDefault();
		$(this).blur();
		clearInterval(slideAutostartInt);
		$("#slideauto").fadeOut(function() {
			slideNext();
		});
	});
	function slideNext() {
		if($("#slideright:visible").length) {
			$("#slideauto").addClass("on");
			$("#slideright").click();
			if (mainSliderImages.eq(mainSliderActive-1).hasClass("long"))
				slideInterval = setInterval(slideNext, slideIntervalTimeLong);
			else
				slideInterval = setInterval(slideNext, slideIntervalTime);
		} else {
			clearInterval(slideInterval);
			$("#slideauto").removeClass("on");
		}
	}
	function mainSliderAutostart() {
		$("#slideauto").click();
	}
	
	/**
	* Main Slider Popup
	*/
	$(".mainslidepopuplink").click(function(evt) {
		evt.preventDefault();
		$(this).blur();
		clearInterval(slideInterval);
		$("#slideauto").removeClass("on").fadeIn();
		if (!$(this).parent().children(".mainslidepopup").hasClass("popupsoundonly")) {
			$(this).parent().children(".mainslidepopup").before('<div class="mainslideoverlay"></div>');
		}
		$(this).parent().children(".mainslideoverlay").fadeIn('slow');
		$(this).parent().children(".mainslidepopup").fadeIn('slow', function() {
			if ($(this).hasClass("popupsoundonly")) {
				if (hasflash) {
					var path = $(this).children("a").eq(0).attr("href");
					var mySound = soundManager.createSound({
						id: 'aSound',
						url: path
					  });

					mySound.play({onfinish:soundFinished});
				} 
			}
		});
		if($("html").hasClass("ie8")) {
			$(this).parent().children(".mainslidepopup").children(".mainslidepopupclose").hide().fadeIn();
		}
	});
	$(".mainslidepopupclose").click(function(evt) {
		evt.preventDefault();
		$(this).blur();
		$(this).parent().parent().children(".mainslideoverlay").fadeOut('slow', function() {
			$(this).remove();
		});
		$(this).parent().fadeOut('slow', function() {

		});
		if($("html").hasClass("ie8")) {
			$(this).fadeOut();
		}
	});
	
	if (!hasflash) {
		$(".mainslidepopuplink").bind("click", function(evt) {
			if ($(this).parent().children(".popupsoundonly").length) {
				var path = $(this).parent().children(".mainslidepopup").children("a").eq(0).attr("href");
				var mySound = soundManager.createSound({
					id: 'aSound',
					url: path
				  });
				mySound.play({onfinish:soundFinished});
			}
		});
	}
	function soundFinished() {
		$(".popupsoundonly:visible").fadeOut('slow');
	}
	
	/**
	* Main Slider Popup - Video
	*/
	var activeVideoObjectId = "";

	$(".mainslidepopuplink").bind("click", function(evt) {
		var thisplayer = $(this).parent().children(".mainslidepopup").children(".ytapiplayer").eq(0);
		if(thisplayer.length) {
			var thisplayerid = thisplayer.attr("id");
			thisplayeryoutubeid = thisplayerid.substring(0, 11);
			if (hasflash) {
				var params = { allowScriptAccess: "always", allowFullScreen: "true" };
				var atts = { id: thisplayerid };
				swfobject.embedSWF("http://www.youtube.com/e/"+thisplayeryoutubeid+"?version=3&fs=1&autoplay=1&rel=0&autohide=1&hd=1&showinfo=0&playerapiid="+thisplayerid,
								thisplayerid, "640", "390", "8", null, null, params, atts);
			} else {
				thisplayer.replaceWith('<iframe id="'+thisplayerid+'" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/'+thisplayeryoutubeid+'" frameborder="0">');
			}
			activeVideoObjectId = thisplayerid;
		}
	});
	
	$(".mainslidepopupclose").bind("click", function(evt) {
		if(activeVideoObjectId != "") {
			$("#"+activeVideoObjectId).before('<div id="'+activeVideoObjectId+'n" class="ytapiplayer" style="display: none;"></div>')
			if (hasflash) {
				swfobject.removeSWF(activeVideoObjectId);
			} else {
				$("#"+activeVideoObjectId).remove();
			}
			activeVideoObjectId = "";
		}
	});
	
	
	
	/**
	* Content Slider
	*/
	if($("#contentslider").length) {
		var contentsliderWidth = 0;
		$(".productbox").each(function(index) {
			contentsliderWidth += $(this).outerWidth();
		});
		
		$("#contentslideright").click(function(evt) {
			if(!$("#contentslidercontent").hasClass("sliding")) {
				$("#contentslidercontent").addClass("sliding").animate({"left": "-=600px"}, "slow", function() { 
					$(this).removeClass("sliding");
					contentSliderUpdate();
				});
			}
			evt.preventDefault();
		});
		
		$("#contentslideleft").click(function(evt) {
			if(!$("#contentslidercontent").hasClass("sliding")) {
				$("#contentslidercontent").addClass("sliding").animate({"left": "+=600px"}, "slow", function() { 
					$(this).removeClass("sliding");
					contentSliderUpdate();
				});
			}
			evt.preventDefault();
		});
	}
	
	function contentSliderUpdate() {
		if($("#contentslidercontent").position().left <= -40) {
			$("#contentslideleft").fadeIn("fast");
		}
		if($("#contentslidercontent").position().left == -40) {
			$("#contentslidercontent").addClass("sliding");
			$("#contentslideleft").fadeOut("fast", function() {
				$("#contentslidercontent").removeClass("sliding");
			});
		}
		if($("#contentslidercontent").position().left <= -contentsliderWidth+920) {
			$("#contentslidercontent").addClass("sliding");
			$("#contentslideright").fadeOut("fast", function() {
				$("#contentslidercontent").removeClass("sliding");
			});
		} else if ($("#contentslideright").is(":hidden")) {
			$("#contentslideright").fadeIn("fast");
		}
	}
	
	
	
	/**
	* Produkt Info Toggle
	*/
	$(".productinfolink").not(".lightboxswf").click(function(evt) {
		evt.preventDefault();
		$(this).parent().parent().children(".productinfo").fadeIn();
	});
	$(".productinfolinkback").click(function(evt) {
		evt.preventDefault();
		$(this).parent().parent().fadeOut();
	});	
	
	// IE6 .productinfo Breite Fix
	if($("html").hasClass("ie6")) {
		$(".productinfo").each(function(index) {
			$(this).width($(this).parent().parent().width() - 80); 
		});
	}
	
	
	
 });
