/*
$Date: 2011-08-08 13:40:52 +0200 (Mo, 08. Aug 2011) $
$Revision: 60528 $
$Author: kubasch $
*/

jQuery(document).ready(function($){

	/* ____________________________________________________________ last */
	$(".sidebar:last").addClass('last');
	
	/* ____________________________________________________________ Galerie */

	$('.galerie ol li a').mouseover(function() {
		$('.galerie ol li').removeClass('open');
		$(this).parent().addClass('open');

		var imgBiggerPreview = $(this).attr('rev');
		$('.galerie div img').attr('src', imgBiggerPreview);

		var imgBiggerAltAttr = $(this).find('img').attr('alt');
		$('.galerie div img').attr('alt', imgBiggerAltAttr);
		
		var ready = adjustPreview(imgBiggerPreview);
		return false;
	});
	
	$('.galerie ol li:first').addClass('open');
	adjustPreview($('.galerie ol li a').attr('rev'));


	function adjustPreview(imgBiggerPreview) {
		var img = new Image();
		img.onload = function() { 
			if(img.height > img.width) {
				$('.galerie .image-container img').css('padding-top',0+'px');
				$('.galerie .image-container img').css('padding-left',((292-img.width)/2)+'px');
			} else {
				$('.galerie .image-container img').css('padding-top',((238-img.height)/2)+'px');
				$('.galerie .image-container img').css('padding-left',0+'px');
			}
			img.ready
		};
		
		img.src = imgBiggerPreview; /*always set src after onload because of caching*/
		return true;
	}
	
	$(".galerie ol li a").colorbox({
		current: "Bild {current} von {total}",
		previous: "vorheriges",
		next: "nächstes",
		close: "schließen",
		opacity:0.45
	});

	/* ____________________________________________________________ Suche */

	/* Alle auswählen/abwählen */
	$("#select_all").click(function(){
		if($(this).is(':checked')){
			$("#amt input:checkbox").each(function(index, element)
			{
				if(!($(element).is(':checked'))){
			        $(element).attr('checked','checked');
					$("#karte li a").each(function (index, element) {
						$(element).removeClass('active'); 
					});
			    }
			});
		} else {
			$("#amt input:checkbox").each(function(index, element)
			{
				if($(element).is(':checked')){
			           $(element).removeAttr('checked');
						$("#karte li a").each(function (index, element) {
							$(element).addClass('active'); 
						});
			    }
				
			});
		}
	});	

	/* Klasse des Kartenauschnitts bei Klick auf Checkbox ändern */
	$("#amt input:checkbox").change(function () {
		var needle1 = $(this).attr('id');
		if(needle1 == "select_all"){
			$("#karte li a").each(function (index, element) {
				$(element).toggleClass('active'); 	
	      });
		} else {
			$("#karte li a").each(function (index, element) {
				var haystack1 = $(element).attr('rel');
				if (needle1 == haystack1) {
					$(element).toggleClass('active'); 
					return false;
		        }
	      });
		}
    });
	
	/* Klasse des Kartenauschnitts bei Klick auf Karte ändern */
	$("#karte li a").click(function () {
		$(this).toggleClass('active'); 
		var needle2 = $(this).attr('rel');
		$("#amt input:checkbox").each(function (index, element) {
			var haystack2 = $(element).attr('id');
			if (needle2 == haystack2) {
				if($(element).is(':checked')){
		           $(element).removeAttr('checked');
		       }else{
		           $(element).attr('checked','checked');
		       }  
	        }
	  });
	  return false;
    });
	/* ____________________________________________________________ Merkliste */

	var height_right = $('#right').height();
	var height_left = $('#left').height();
	var height_right_teaser = $('.col-right .teaser').height();

	if($(".oben")[0]){
		if(height_right > height_left){
			$(".teaser-box").append("<div class='spacer'></div>");
			$('.spacer').height(height_right-height_left-80);
		}
	}
	/* ____________________________________________________________ empfehlung */

	$("a[rel='recommend']").colorbox({
		transition:"none", 
		rel:"group1", 
		width:"510px", 
		height:"430px", 
		href:"#recommendation_form", 
		inline:true,
		opacity:0.45
	});
		
	/* ____________________________________________________________ auftraggeber */
	$('a[href^="kontaktformular_fuer_auftraggeber"]').colorbox({
		transition:"none",
		width:"526px",
		height:"760px",
		iframe: true,
		href: function(){ return $(this).attr('href');	},
		inline:true,
		onComplete: function(){
						// bind auto-close-function to submit button
						$('#cboxLoadedContent iframe').load( function(){
							$(this.contentDocument).find('body #recommendation_form').bind('submit',function() {
							    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
                                var isEmailValid = pattern.test($('#email', this).val());
							    if ( ($('#lastname', this).val() != '') && ($('#message', this).val() != '') && isEmailValid && ($('#phone', this).val() != '') && ($('#request', this).val() != '')){
    								$('a[href^="auftraggeberformular"]').colorbox.close();
                                }
							});
						});
					},
		opacity:0.45
		});
	
	/* ____________________________________________________________ tooltip */
	$("ul#karte li a").tooltip({
		track: true,
		delay: 0,
		showURL: false,
		showBody: ": "
    });
});




