// smooth_scroll
$(function(){
	$('a[rel*=smooth_scroll]').click(function() {
	if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
		&& location.hostname == this.hostname) {
			var $target = $(this.hash);
			$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
			if ($target.length) {
				var targetOffset = $target.offset().top;
				$('html,body').animate({scrollTop: targetOffset}, 1000);
				return false;
			}
		}
	});
});

// fancybox
$(document).ready(function() {
	$("a#contact").fancybox({
		'hideOnContentClick': false,
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'overlayOpacity' : 0.5,
		'overlayColor' : '#000',
		'scrolling'		: 'yes',
		'autoDimensions' : false,
		'height' : 530,
		'width' : 520,
		'padding' : 20,
		'titleShow' : false,
		'onStart' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','hidden'); // Scrollbalken (html) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
					$("body").css('height','auto'); // Gesamthöhe aktivieren

				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','hidden'); // Scrollbalken (body) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		}, // end 'onStart' : function() {
		'onClosed' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','auto'); // Scrollbalken (html) wieder einschalten
					$("body").css('height','auto'); // Gesamthöhe aktivieren
					$("html").css('overflow-x','hidden'); // horizontaler Scrollbalken deaktivieren
				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','auto'); // Scrollbalken (body) wieder einschalten
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		} // end 'onClosed' : function() {
	}); // $("a#contact").fancybox({
	
	$("a#inquiry").fancybox({
		'hideOnContentClick': false,
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'overlayOpacity' : 0.5,
		'overlayColor' : '#000',
		'scrolling'		: 'yes',
		'autoDimensions' : false,
		'height' : 530,
		'width' : 520,
		'padding' : 20,
		'titleShow' : false,
		'onStart' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','hidden'); // Scrollbalken (html) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
					$("body").css('height','auto'); // Gesamthöhe aktivieren

				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','hidden'); // Scrollbalken (body) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		}, // end 'onStart' : function() {
		'onClosed' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','auto'); // Scrollbalken (html) wieder einschalten
					$("body").css('height','auto'); // Gesamthöhe aktivieren
					$("html").css('overflow-x','hidden'); // horizontaler Scrollbalken deaktivieren
				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','auto'); // Scrollbalken (body) wieder einschalten
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		} // end 'onClosed' : function() {
	}); // $("a#inquiry").fancybox({
	
	$("a#recommend").fancybox({
		'hideOnContentClick': false,
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'overlayOpacity' : 0.5,
		'overlayColor' : '#000',
		'scrolling'		: 'yes',
		'autoDimensions' : false,
		'height' : 530,
		'width' : 520,
		'padding' : 20,
		'titleShow' : false,
		'onStart' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','hidden'); // Scrollbalken (html) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
					$("body").css('height','auto'); // Gesamthöhe aktivieren

				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','hidden'); // Scrollbalken (body) deaktivieren, damit man nicht versehentlich die gesamte Seite scrollen kann
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		}, // end 'onStart' : function() {
		'onClosed' : function() {
			
			// Browsercheck
			jQuery.each(jQuery.browser, function(i, val) {
				// Falls IE 6 dann folgendes Verhalten
				if((i=="msie" && jQuery.browser.version.substr(0,3)=="6.0") || (i=="msie" && jQuery.browser.version.substr(0,3)=="7.0")){
					$("html").css('overflow','auto'); // Scrollbalken (html) wieder einschalten
					$("body").css('height','auto'); // Gesamthöhe aktivieren
					$("html").css('overflow-x','hidden'); // horizontaler Scrollbalken deaktivieren
				}
				// alle anderen Browser dieses Verhalten
				else {
  		    $("body").css('overflow','auto'); // Scrollbalken (body) wieder einschalten
				}
			}); // end Browsercheck jQuery.each(jQuery.browser, function(i, val) {
			
		} // end 'onClosed' : function() {
	}); // $("a#recommend").fancybox({
	
	$("a.group").fancybox({
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'overlayOpacity' : 0.5,
		'overlayColor' : '#000',
		'titlePosition' : 'inside'
	});

// image preloader
	(function($) {
		var cache = [];
		$.preLoadImages = function() {
			var args_len = arguments.length;
			for (var i = args_len; i--;) {
				var cacheImage = document.createElement('img');
				cacheImage.src = arguments[i];
				cache.push(cacheImage);
			}
		}
	})(jQuery)
	jQuery.preLoadImages("/pics/button_active.png", "/pics/contactform_btn_active.png", "/pics/download_btn_active.png", "/pics/inquiryform_btn_active.png", "/pics/jump_to_content_active.png", "/pics/recommend_btn_active.png", "/pics/top_active.png", "/pics/fancybox/fancy_close_active.png", "/pics/fancybox/left_button_active.png", "/pics/fancybox/right_button_active.png");

// check forms
  // check contact form
	$("#contactform").bind("submit", function() {
		
		// Standardfarbe für label auf schwarz setzen
		$("[for=form_kontakt_company]").css('color', '#000');
		$("[for=form_kontakt_street]").css('color', '#000');
		$("[for=form_kontakt_zip]").css('color', '#000');
		$("[for=form_kontakt_town]").css('color', '#000');
		$("[for=form_kontakt_telephone]").css('color', '#000');
		$("[for=form_kontakt_mailad]").css('color', '#000');
		$("[for=form_kontakt_surname]").css('color', '#000');
		
		// regex für Mailadresse
		var reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    // Name
                         '(\\@)'+                       // @-Zeichen
                         '([a-zA-Z0-9\\-\\.]+)'+        // Domain
                         '(\\.)'+                       // Punkt
                         '([a-zA-Z]{2,4})$');           // TLD
		
		if ($("#form_kontakt_copy").is(':checked') && reg.test($("#form_kontakt_mailad").val()) == false) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_mailad]").css('color', '#E10000');
			$("#form_kontakt_mailad").focus();
			var falsch = true;
		}
		
		if (reg.test($("#form_kontakt_mailad").val()) == false) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_mailad]").css('color', '#E10000');
			$("#form_kontakt_mailad").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_telephone").val().length < 3) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_telephone]").css('color', '#E10000');
			$("#form_kontakt_telephone").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_town").val().length < 3) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_town]").css('color', '#E10000');
			$("#form_kontakt_town").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_zip").val().length < 3) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_zip]").css('color', '#E10000');
			$("#form_kontakt_zip").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_street").val().length < 3) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_street]").css('color', '#E10000');
			$("#form_kontakt_street").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_company").val().length < 3) {
			$("#form_kontakt_fehler").show();
			$("[for=form_kontakt_company]").css('color', '#E10000');
			$("#form_kontakt_company").focus();
			var falsch = true;
		}
		
		if ($("#form_kontakt_surname").val().length < 3) {
			$("#form_kontakt_fehler").show(); 												// Fehlermeldung anzeigen
			$("[for=form_kontakt_surname]").css('color', '#E10000');  // label rot markieren wenn Fehler
			$("#form_kontakt_surname").focus(); 											// focus in dieses Feld setzen wenn Fehler
			var falsch = true;
		}
		
		if (falsch == true) {
		  return false;	
		}
		
		else {
			// Erfolgsmeldung einblenden
			$.fancybox(
				'<h2>Vielen Dank f&uuml;r Ihre Nachricht</h2><p>Ihre Nachricht wird in 5 Sekunden &uuml;bermittelt!</p>',
				{
					'autoDimensions'	: false,
					'width'         	: 350,
					'height'        	: 'auto',
					'transitionIn'		: 'none',
					'transitionOut'		: 'none'
				}
			);
			
		  return true;
		}
		
	}); // end check contact form
	
	
  // check inquiry form
	$("#inquiryform").bind("submit", function() {
		
		// Standardfarbe für label auf schwarz setzen
		$("[for=form_anfrage_company]").css('color', '#000');
		$("[for=form_anfrage_street]").css('color', '#000');
		$("[for=form_anfrage_zip]").css('color', '#000');
		$("[for=form_anfrage_town]").css('color', '#000');
		$("[for=form_anfrage_telephone]").css('color', '#000');
		$("[for=form_anfrage_mailad]").css('color', '#000');
		$("[for=form_anfrage_surname]").css('color', '#000');
		
		// regex für Mailadresse
		var reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    // Name
                         '(\\@)'+                       // @-Zeichen
                         '([a-zA-Z0-9\\-\\.]+)'+        // Domain
                         '(\\.)'+                       // Punkt
                         '([a-zA-Z]{2,4})$');           // TLD
		
		if ($("#form_anfrage_copy").is(':checked') && reg.test($("#form_anfrage_mailad").val()) == false) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_mailad]").css('color', '#E10000');
			$("#form_anfrage_mailad").focus();
			var falsch = true;
		}
		
		if (reg.test($("#form_anfrage_mailad").val()) == false) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_mailad]").css('color', '#E10000');
			$("#form_anfrage_mailad").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_telephone").val().length < 3) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_telephone]").css('color', '#E10000');
			$("#form_anfrage_telephone").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_town").val().length < 3) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_town]").css('color', '#E10000');
			$("#form_anfrage_town").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_zip").val().length < 3) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_zip]").css('color', '#E10000');
			$("#form_anfrage_zip").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_street").val().length < 3) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_street]").css('color', '#E10000');
			$("#form_anfrage_street").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_company").val().length < 3) {
			$("#form_anfrage_fehler").show();
			$("[for=form_anfrage_company]").css('color', '#E10000');
			$("#form_anfrage_company").focus();
			var falsch = true;
		}
		
		if ($("#form_anfrage_surname").val().length < 3) {
			$("#form_anfrage_fehler").show(); 												// Fehlermeldung anzeigen
			$("[for=form_anfrage_surname]").css('color', '#E10000');  // label rot markieren wenn Fehler
			$("#form_anfrage_surname").focus(); 											// focus in dieses Feld setzen wenn Fehler
			var falsch = true;
		}
		
		if (falsch == true) {
		  return false;	
		}
		
		else {
			// Erfolgsmeldung einblenden
			$.fancybox(
				'<h2>Vielen Dank f&uuml;r Ihre Anfrage</h2><p>Ihre Nachricht wird in 5 Sekunden &uuml;bermittelt!</p>',
				{
					'autoDimensions'	: false,
					'width'         	: 350,
					'height'        	: 'auto',
					'transitionIn'		: 'none',
					'transitionOut'		: 'none'
				}
			);
			
		  return true;
		}
		
	}); // end check inquiry form
	
	
  // check recommend form
	$("#recommendform").bind("submit", function() {
		
		// Standardfarbe für label auf schwarz setzen
		$("[for=form_weiterempfehlen_receivername]").css('color', '#000');
		$("[for=form_weiterempfehlen_receivermail]").css('color', '#000');
		$("[for=form_weiterempfehlen_sendername]").css('color', '#000');
		$("[for=form_weiterempfehlen_sendermail]").css('color', '#000');
		
		// regex für Mailadresse
		var reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    // Name
                         '(\\@)'+                       // @-Zeichen
                         '([a-zA-Z0-9\\-\\.]+)'+        // Domain
                         '(\\.)'+                       // Punkt
                         '([a-zA-Z]{2,4})$');           // TLD
		
		if (reg.test($("#form_weiterempfehlen_sendermail").val()) == false) {
			$("#form_weiterempfehlen_fehler").show();
			$("[for=form_weiterempfehlen_sendermail]").css('color', '#E10000');
			$("#form_weiterempfehlen_sendermail").focus();
			var falsch = true;
		}
		
		if ($("#form_weiterempfehlen_sendername").val().length < 3) {
			$("#form_weiterempfehlen_fehler").show();
			$("[for=form_weiterempfehlen_sendername]").css('color', '#E10000');
			$("#form_weiterempfehlen_sendername").focus();
			var falsch = true;
		}
		
		if (reg.test($("#form_weiterempfehlen_receivermail").val()) == false) {
			$("#form_weiterempfehlen_fehler").show();
			$("[for=form_weiterempfehlen_receivermail]").css('color', '#E10000');
			$("#form_weiterempfehlen_receivermail").focus();
			var falsch = true;
		}
		
		if ($("#form_weiterempfehlen_receivername").val().length < 3) {
			$("#form_weiterempfehlen_fehler").show(); 												     // Fehlermeldung anzeigen
			$("[for=form_weiterempfehlen_receivername]").css('color', '#E10000');  // label rot markieren wenn Fehler
			$("#form_weiterempfehlen_receivername").focus(); 											 // focus in dieses Feld setzen wenn Fehler
			var falsch = true;
		}
		
		if (falsch == true) {
		  return false;	
		}
		
		else {
			// Erfolgsmeldung einblenden
			$.fancybox(
				'<h2>Vielen Dank f&uuml;r Ihre Empfehlung</h2><p>Ihre Nachricht wird in 5 Sekunden &uuml;bermittelt!</p>',
				{
					'autoDimensions'	: false,
					'width'         	: 350,
					'height'        	: 'auto',
					'transitionIn'		: 'none',
					'transitionOut'		: 'none'
				}
			);
			
		  return true;
		}
		
	}); // end check recommend form
	
	// Auflösung checken für Flashfilm
	ScreenRes = screen.width;
	if (ScreenRes <= "1024") 
	{
		$("object").css('cssText','width: 1024px !important');
		$("div#header").css('width','1024');
	}
	
	// imageslider
	$(function() {
		$("div#controller").jFlow({
			slides: "#slides",
			width: "715px",
			height: "265px"
		});
	});
	
}); // end document ready function
