$(function() {
	var control = $('<div style="position:absolute; left: 0; top: 0; visibility: hidden; width:1em; height:1em;"></div>').appendTo($("body"));
	var control_height = control.height();

	window.setInterval(function() {
		if (control_height != control.height()) {
			control_height = control.height()
			// console.log("schriftgröße geändert");
			$("body").trigger("font_resized")
		}
	}, 1000)
})


$(function() {
  var container = jQuery("div.produkte");
  
  if (container.length) {
    var button_listenansicht = container.find("a.listenansicht");
    var button_kompaktansicht = container.find("a.kompaktansicht");
    var teaser = jQuery(".teaser");
    
    button_listenansicht.bind("click", function(e) {
      e.preventDefault();
      button_kompaktansicht.removeClass("active");
      button_listenansicht.addClass("active");
      teaser.removeClass("teaser_kompakt");
    });

    button_kompaktansicht.bind("click", function(e) {
      e.preventDefault();
      button_listenansicht.removeClass("active");
      button_kompaktansicht.addClass("active");
      teaser.addClass("teaser_kompakt");      
    });
  }
  $(".teaser .verfuegbarkeit a").bind("click", function(e) {
    e.preventDefault();
    $(this).hide();
    $($(this).attr('href')).show();
  })
});

$(function() {
	$("body").addClass("jsenabled")


	if ($.browser.msie) {
		if ($.browser.version < 7) {
			$("")
			.add("#breadcrumb li:first-child")
			.add("#facts div:first-child")
			.add("tr td:first-child")
			.add("tr th:first-child")
			.addClass("first-child")
			
			$("#bestellvorgang li:first-child").addClass("first-child")
			$("#bestellvorgang li:first-child.active").addClass("first-child-active")
		}

		$("")
		.add("#support :last-child")
		.add("#katalog :last-child")
		.add("#faxbestellung :last-child")
		.add("#content div.gallery ul.list li:last-child")	
		.add("tr:last-child")
		.add("tr th:last-child")
		.add("tr td:last-child")
		.addClass("last-child")
	}
	




		var container = $("div.gallery");

		var target = $("div.gallery p.image");
		var target_fader = $("div.gallery p.image").clone().insertAfter("div.gallery p.image").hide();
		
		var items_container = $("div.gallery ul.list")
		var items_container_height;
		var speed;
		
		var items = items_container.find("li").not(".video").find("a")
		
		
		// preload
		
		items_container.find("a").each(function() {
			var img1 = new Image();
			var img2 = new Image();
			img1.src = $(this).attr('href');
			img2.src = $(this).attr('href').replace("/l/", "/xl/")
		})
		
		
		// Bildwechsel
		
		
		items.click(function(e) {
			var el = $(this);
			
			e.preventDefault();

			// get previously active item
			var previous_item = items.filter(".active")

			// swap active styles
			previous_item.removeClass("active");
			el.addClass("active")
			
			// change image
			
			// variante a
			// nur vorderes bild faden
			
			var img = target_fader.find("img")
			var img2 = target.find("img")
			
			var src = el.attr("href")
			
			// var height = target_fader.height();
			// img.add(img2).load(function() {
			// 	$(this).css("margin-top", height/2-$(this).height()/2)
			// })
			
			target_fader.hide();
			
			img.attr("src", src)

			target_fader.fadeIn("normal", function() {
				// img2.css("margin-top", 0);
				img2.attr("src", src);
			});

			// variante b
			// crossfading
			
			// var ok1 = false;
			// var ok2 = false
			// 
			// target.fadeOut("normal", function() {
			// 	ok1 = true;
			// 	if (ok2 == true) {
			// 		// both finished
			// 		target.attr("src", el.attr("href"));	
			// 		target.show();
			// 		target_fader.hide();
			// 	}
			// });
			// 
			// target_fader.attr("src", el.attr("href")).fadeIn("normal", function() {
			// 	ok2 = true;
			// 	if (ok1 == true) {
			// 		// both finished
			// 		target.attr("src", el.attr("href"));	
			// 		target.show();
			// 		target_fader.hide();
			// 	}
			// });
			
			// change link
			var a = target.find("a").add(target_fader.find("a"))
			
			var xxl = el.attr('href').replace("/l/", "/xl/")

			a.attr('href', xxl)
			.unbind("click").click(function(e) {
				tb_show(null,xxl,null);
				e.preventDefault();
			})
		});
		


		// Scroll
		


		// Buttons generieren
		var button_up = $('<div class="button_up"></div>').appendTo(container).hide();
		var button_down = $('<div class="button_down"></div>').appendTo(container).hide();

		// margin ermitteln
		var margin_top = parseInt(items_container.css("top"));
		var margin_bottom = margin_top

		// Höhe ermitteln, bei neuen Bildern neu berechnen
		items_container.find("img").load(function() {
			items_container_height = items_container.height();
			speed = 2*items_container_height
			
			if (items_container_height+margin_top+margin_bottom > container.height()) {
				button_down.show();
			}
		}).eq(0).trigger("load");

		button_down.hover(function() {
			if (items_container_height+margin_top+margin_bottom > container.height()) {
				button_up.fadeIn("fast");
				items_container.animate({
						top: -(items_container_height-container.height()+margin_bottom)
					}, speed, function() {
						button_down.fadeOut("fast");
					})
			}
		}, function() {
			items_container.stop();
		})


		button_up.hover(function() {
			if (items_container_height+margin_top+margin_bottom > container.height()) {
				button_down.fadeIn("fast");
				items_container.animate({
						top: margin_top
					}, speed, function() {
						button_up.fadeOut("fast");
					})
			}
		}, function() {
			items_container.stop();
		})
		

	
	
	
	
	
	
	
		// Scroll2
		

		// margin ermitteln
		var laufband_container = $("#verwandte_produkte")
		var laufband_items_container = laufband_container.find("ul.list")
		
		var laufband_items_container_width = laufband_items_container.find("a").length*(68+18+2+10)-10
		var laufband_speed = 1.17*laufband_items_container_width;

		var label_container = laufband_container.find("h3");
		var current_label = label_container.text();
		laufband_items_container.find("a").hover(function(e) {
			label_container.text($(this).attr("title"));
		}, function(e) {
			label_container.text(current_label);
		})
		
		
		laufband_items_container.find("img").load(function(e) {
			$(this).css('margin-top', $(this).parent().height()/2-$(this).height()/2)
		})


		// Buttons generieren
		var button_left = $('<div class="button_left"><img src="/img/gallery_move_left.png" /></div>').appendTo(laufband_container).hide();
		var button_right = $('<div class="button_right"><img src="/img/gallery_move_right.png" /></div>').appendTo(laufband_container).hide();


		button_left.hover(function() {
			if (laufband_items_container_width > laufband_container.width()) {
				button_right.fadeIn("fast");
				laufband_items_container.animate({
						left: 0
					}, speed, function() {
						button_left.fadeOut("fast");
					})
			}
		}, function() {
			laufband_items_container.stop();
		})


		button_right.hover(function() {
			if (laufband_items_container_width > laufband_container.width()) {
				button_left.fadeIn("fast");
				laufband_items_container.animate({
						left: -(laufband_items_container_width-laufband_container.width())
					}, speed, function() {
						button_right.fadeOut("fast");
					})
			}
		}, function() {
			laufband_items_container.stop();
		})

		if (laufband_items_container_width > laufband_container.width()) {
			button_right.show();
		}
			
			
			
	// Suche
	
	$("#suche input[name='finden']").label_inside();
	
	
	
	
	var a = $("#facts div.ausstattung")
	var t = $("#facts div.technische_daten")
	
	if (a.length > 0 && t.length > 0) {
		if (a.height() > t.height()) {
			t.height(a.height())
		} else {
			a.height(t.height())
		}
	}
	
	
	var log = $("#tmp #login")
	var neu = $("#tmp #neukunde")
	
	if (neu.length > 0 && log.length > 0) {
		var log_h = log.css("height")
		var neu_h = neu.css("height")

		if (parseInt(neu_h) > parseInt(log_h)) {
			log.css("height", neu_h)
			// log.height(neu.height())
		} else {
			neu.css("height", log_h)
			// neu.height(log.height())
		}
	}
	// todo: pluginarisieren



	// ein- ausblenden per checkbox
	$("input.modal").change	(function() {
		var check = !$(this).hasClass("alt");
		
		if ($(this).attr('checked') == check) {
			$("." +  this.id).show();
		} else {
			$("." +  this.id).hide();
		}
		$("body").trigger("dom_changed")
	}).trigger("change")
	
	if ($.browser.msie) {
		// ie bekommt change event erst bei blur
		$("input.modal").click(function() {
			$(this).trigger("change")
		});	
	}


})
