// JavaScript Document

$.fn.image = function(src, f){
    return this.each(function(){
      $("<img />").appendTo(this).each(function(){
         this.src = src;
         this.onload = f;
      });
    });
}

$(document).ready(function(){
	function popup() {
		var space_top = "";
		
		$("#wrapper").scroll(function () { 
			space_top = $("#wrapper").scrollTop();
			//alert(space_top);
		});
		
		$(".csc-textpic-image a").each(function(){
			$(this).removeAttr("onclick");
			
			$(this).click(function(){
				if($("#popup").length>0) {
					
				}	else {		   
					var target = $(this).attr("href");
					var pos = $(this).find("img").position();
					var thumb_width = $(this).find("img").width();
					var thumb_height = $(this).find("img").height();
					
					//alert("x: "+pos.left+" y: "+pos.top+" "+thumb_width+" * "+thumb_height);
					
					$("body").append('<div id="popup"><div id="popup-window"><div class="relative"></div></div></div>');
					$("#popup-window").hide();
					
					
					$("#popup-window .relative").image(target, function() {
						var image_width = $("#popup-window").width();
						var image_height = $("#popup-window").height();
						var browser_width = $(window).width();
						var browser_height = $(window).height();
						
						if (image_height>browser_height-40) {
							var faktor = image_width / image_height;
							var new_image_height = browser_height-60;
							var new_image_width = (browser_height-60)*faktor;
							
							image_width = new_image_width;
							image_height = new_image_height;
						}
						
						var pos_top = pos.top - space_top;
						$("#popup-window").css({left:pos.left, top:pos_top, width:thumb_width, height:thumb_height});					
						$("#popup-window .relative img").css({width:"100%", height:"100%"});
						$("#popup-window").show();
						
						var center_width = (browser_width-image_width)/2;
						var center_height = (browser_height-image_height)/2;
						
						$("#popup-window").animate({
							width: image_width,
							height: image_height,
							top:	center_height-20,
							left:	center_width-20,
							padding: 20
						}, "fast", function(){
							$("#popup-window .relative").append('<div id="popup-close"></div>');
							
							$("#popup-close").hover(function(){
								$(this).css({backgroundPosition: "0px -16px"});								 
							}, function(){
								$(this).css({backgroundPosition: "0px 0px"});	
							});
							
							$("#popup-close").click(function(){
								$(this).remove();
								$("#popup-window").animate({
									width: thumb_width,
									height: thumb_height,
									top:	pos_top,
									left:	pos.left,
									padding: 0
								}, "fast", function() {
									$("#popup").remove();	
								});				 
							});
						});
					});
				}
				
				return false;									   
			});	
		});
	}
	
	var current = 0;
	function scrollSlideshow(childsArray) {
		var childsArray = childsArray;
				
		if (current+1<childsArray.length) {
			childsArray[current].fadeOut(5000);
			current++;
			childsArray[current].fadeIn(5000);
		} else {
			childsArray[current].fadeOut(5000);
			current = 0;
			childsArray[current].fadeIn(5000);
		}
	}
	
	function setSlideshow() {
		var childCounter = 0;
		var childsArray = new Array();
		
		$("#header-slideshow > .header-image").each(function(){
			childsArray[childCounter] = $(this);
			childCounter = childCounter + 1;
		});
		
		if (childCounter>1) {
			$("#header-slideshow > .header-image").hide();
			$("#header-slideshow").append('<img id="preloader" src="fileadmin/template/images/loading.gif" />')
		}
		
		$(window).load(function(){
			$("#preloader").remove();
			$("#header-slideshow > .header-image:first").fadeIn("def");
			
			setInterval(scrollSlideshow,20000,childsArray);
		});
	}
	
	popup();
	setSlideshow();
						   
	var mailformplus = $("#kontaktformular").validate({
		rules: {
			Vorname: "required",
			Nachname: "required",
			"E-Mail-Adresse": "required email",
			Nachricht: "required",
			"Telefon-Nr": "number"
		},
		messages: {
			Vorname: "Bitte geben Sie Ihren Vornamen ein.",
			Nachname: "Bitte geben Sie Ihren Nachnamen ein.",
			"E-Mail-Adresse": {
				required: "Bitte geben Sie Ihre E-Mail-Adresse ein.",
				email: "Ihre Eingabe muss vom Format name@meinedomain.de sein."
			},
			Nachricht: "Bitte geben Sie eine Nachricht ein.",
			"Telefon-Nr": {
				number: "Sie d&uuml;rfen nur Zahlen eingeben."	
			}
		},
		//errorLabelContainer: "#messageBox",
		//wrapper: "li",
		errorPlacement: function(error, element) {
     		error.appendTo(element.parent("td").find(".messageBox"));
		},
		errorClass: "invalid"
	});
	
	var highlightColor = "#5cbd0b";
	
	$(".contact_text, .contact_textarea").focus(function(){
		$(this).css({borderColor: highlightColor});													 
	});
	
	$(".contact_text, .contact_textarea").blur(function(){
		$(this).css({borderColor: ""});													
	});
	
	$(".printlink").click(function(){
		var target = $(this).attr("href");
		var myWindow = window.open(target, "Druckversion", "width=600, height=400, scrollbars=yes");
			
		return false;							   
	});
});
