$(document).ready(function(){
	
	isoInit();
	
	naviInit();
	
	piclistHover();
	
	fadeBildInit();
	
	uploaderInit();

// 	SchnellsucheInit();
	
	produktloungeButton();

	erweitertesucheButtons();
	
	$('#schnellsuche input[name=q]').focus(function(){
		if($(this).attr('value')=='Suche'){
			$(this).attr('value','');
		}
	});
	$('#schnellsuche input[name=q]').blur(function(){
		if($(this).attr('value')==''){
			$(this).attr('value','Suche');
		}
	});
	
	$('.mitgliedersuche input[name=mis_suchen]').focus(function(){
		if($(this).attr('value')=='Suchbegriff (z.B. Name, Wohnort etc)'){
			$(this).attr('value','');
		}
	});
	$('.mitgliedersuche input[name=mis_suchen]').blur(function(){
		if($(this).attr('value')==''){
			$(this).attr('value','Suchbegriff (z.B. Name, Wohnort etc)');
		}
	});
	
	
	
	
	
	// Per Mail Weiterleiten-Popup bei Artikeln
	$('.meta-mail a').click(function(){
		var str_url=$(this).attr('href');
		boxyiframe=new Boxy('<div class="boxybox"><iframe src="'+str_url+'" width="100%" height="100%">Artikel an einen Freund weiterleiten</iframe></div>', {
			title: 'Artikel an einen Freund weiterleiten',
			draggable: false,
			closeText: 'X' 
		});
		return false;
	});
	
	
	// Direkt-Kontakt-Popup bei Immoangeboten/-gesuchen
	$('.meta-popup a').click(function(){
		var str_url=$(this).attr('href');
		boxyiframe=new Boxy('<div class="boxybox"><iframe src="'+str_url+'" width="100%" height="100%">Dem Anbieter direkt eine Nachricht schreiben</iframe></div>', {
			title: 'Dem Anbieter direkt eine Nachricht schreiben',
			draggable: false,
			closeText: 'X' 
		});
		return false;
	});
	
	
	// Links auf die Bildergalerie
	$('a[rel=bildergalerie]').click(function(){
		window.open($(this).attr('href'),'bildergalerie','width=820,height=830,status=no,scrollbars=no,toolbar=no,menubar=no,resizable=no,location=no,dependent=yes');
		return false;
	});
	
	// Aufbau der Jobkarte / Coole Jobs vom Agenten
	if($('#map_canvas_jobkarte').length>0){
		jobkarte();
	}
	
	// FU IE
	if(jQuery.browser.msie){
		if(parseInt(jQuery.browser.version)==7){
			$('.artikelfeld .galeriethumbs').after('<div class="c" style="clear:both"></div>');
		}
	}
	
	// „Artikel Drucken“-Link
	$('.meta-drucken a').click(function(){
		window.print();
		return false;
	});
	
	
	// Skript für den Kopfbanner. Muss man noch ordentlich machen (auch das es beim ersten mal offen ist, aber dann immer drin. Und ein Teaser-Wackeln. Und vielleicht nicht nur klick sondern auch pull).
// 	$('#kopfbanner .w').append('<span class="trigger" title="Werbung umklappen">↓ kopfbanner</span>');
	if($('#kopfbanner').length>0){
		$('body').append('<span id="kopfbannertrigger" title="Werbung zuklappen">↓ kopfbanner</span>');
		
		// Man auf der Startseite? Dann aujklappen.
		if(getCookie('kopfbanner')!='zu'){
			kopfbanner_auf(0);
		}
		$('#kopfbannertrigger').click(function(){
			kopfbanner_trigger();
		});
	}


	
	
	
	// Skript für den Farbselektor (provisorisch).
// 	$('#kopf .w').append('<ul id="farbselektor"><li class="fs-sw"><a href="#sw" title="Farbwähler">Schwarz Weiß</a></li><li class="fs-gold"><a href="#gold" title="Farbwähler">Gold</a></li><li class="fs-rot"><a href="#rot" title="Farbwähler">Rot</a></li></ul>');
// 	$('#farbselektor a').click(function(){
// 		$('#farbselektor a').each(function(){
// 			$('html').removeClass($(this).attr('href').substr(1));
// 		});
// 		$('html').addClass($(this).attr('href').substr(1));
// 		return false;
// 		
// 		// Noch cookie setzen damit man bei wiederkehr weiß welche farbe sein soll...
// 	});
	
});

// Wenn es ein Isotope-Bereich gibt, diesen an den Start bringen
function isoInit(){
	// Kontroll-Variable, die die aktuelle Anzahl der Variablen enthält & überwacht
	isoSpltn=1;
	
	// Kontroll-Variable, damit es beim Nachladen nichts doppelt gibt
	bit_nachlader=false;
	bit_nachlader_ende=false;
	
	// Gibt es einen Container mit der Klasse 'isofeld'? This is where the Magic happens
	var isofeld=$('.isofeld');
	if(isofeld.length>0){
		// Dem HTML eine Klasse hinzufügen, damit die ggf. andere Stylesheets greifen können.
		$('html').addClass('iso');
		
		// Die Anzahl der Spalten entsprechend der Fensterbreite errechnen und die Markup-Blöcke anpassen.
		isoWin(true);
		
		// Isotope-Skript starten. Die Blöcke im isofeld die arrangiert werden müssen die Klasse 'raster' haben. 'columnWidth:1' scheint mir ein Bug zu sein, aber so passte es momentan.
		isofeld.isotope({
			itemSelector:'.raster',
			layoutMode:'masonry',
			masonry:{
			  columnWidth:1
			}
		});
		
		// Bei veränderter Fensterbreite die Markup-Blöcke ggf anpassen.
		$(window).resize(function(){isoWin();});
		
		// Wenn man am Ende des Dokuments angekommen ist neuen Inhalt laden (muss man ggf. auch mit resize koppeln). Aber nicht in allen arten von listen
		if($('.fixlist').length<=0)
			{
			$(window).scroll(function(){
// Wg. dem Kopfbanner (neg. Margin in den Kopf verschoben) wird hier das unterschiedlich in den Browsern berechnet. Bisher nur FF korrekt. Aber vl. macht man das eh mit ner größeren toleranz, dann passt das auch wieder
				if($(window).scrollTop() >= $(document).height() - $(window).height() - 200){
					isoNachlader();
				}
			});
			}
		
		
		// Gibt es einen filter?
		$('#isofilter select').change(function(){
			var selector = $(this).val();
			isofeld.isotope({ filter: selector });
			return false;
		});
// 		$('#isofilter a').click(function(){
// 			var selector = $(this).attr('data-filter');
// 			isofeld.isotope({ filter: selector });
// 			return false;
// 		});



	}
	// Die Felder im isofeld haben ja auch ein paar Effekte und verhalten, die es zu initialisiereb gilt
	rasterHovers();
}

// Die Anzahl der Spalten an Hand der Fensterbreite errechnen und die Markup-Blöcke entsprechend anpassen.
function isoWin(bitInit){
	// Die Parameter für die Seite
	var mndstspltn=3;
	var rstr=245;
	var rdnbnr=170;
	
	// Wieviel Spalten gibt es bei der aktuellen Fenstergröße (aber nie weniger als die Mindestspaltenanzahl)
	var spltn=parseInt(($(window).width()-rdnbnr)/rstr);
	if(spltn<mndstspltn)spltn=mndstspltn;
	
	// Containerbreite anpassen (nur auf der Startseite)
	if(isoSpltn<spltn){
		isoSpltn=spltn;
		$('#startseite #seiteninhalt').width(spltn*rstr);
		$('#startseite #seitenblock').width(spltn*rstr+rdnbnr);
	} else if(isoSpltn!=spltn){
		isoSpltn=spltn;
		$('#startseite #seiteninhalt').width(spltn*rstr);
		$('#startseite #seitenblock').stop().animate({width:spltn*rstr+rdnbnr},850,'swing',function(){
			$('#startseite #seitenblock').width(spltn*rstr+rdnbnr);
		});
	}
	
}

function rasterHovers(){
	// Die Kästchen bei einer Isotope-Auflistung (v.a. Startseite)
	$('.raster').each(function(){
		// Die Textblende nach unten versetzen (damit sie bei hover rausfahren kann)
		var int_tt=(($(this).find('.teasertext').height())* -1) -8;
		$(this).children('.blende').css('margin-bottom',int_tt);

		var int_lv=(($(this).children('.lv-btn').width()+5)* -1);
		$(this).children('.lv-btn').stop().animate({'margin-right':int_lv},350,'swing');
		
		// Man muss nicht direkt auf den Link klicken, sondern kann irgendwo auf den Kasten klicken um auf die verlinkte Seite zu gelangen.
		$(this).click(function(){
			if(!$(this).hasClass('schmuckbild')){
				if($(this).find('a.teaserhead').attr('target')=='_blank'){
					window.open($(this).find('a.teaserhead').attr('href'));
				}else{
					window.location.href=$(this).find('a.teaserhead').attr('href');
				}
			}

			return false;
		});
		
		// Die Textblende bei hover rausfahren
		$(this).mouseenter(function(){
			$(this).addClass('mouseover');
			if($('.kollektionen .auflistung').length<=0){$(this).children('.blende').stop().animate({'margin-bottom':0},350,'swing');}
			$(this).children('.lv-btn').stop().animate({'margin-right':0},350,'swing');
		});
		
		// Die Textblende wieder einfahren, wenn man das Feld verlässt.
		$(this).mouseleave(function(){
			$(this).removeClass('mouseover');
			var int_tt=(($(this).find('.teasertext').height())* -1) -8;
			if($('.kollektionen .auflistung').length<=0){$(this).children('.blende').stop().animate({'margin-bottom':int_tt},850,'easeOutBounce');}

			var int_lv=(($(this).children('.lv-btn').width()+5)* -1);
			$(this).children('.lv-btn').stop().animate({'margin-right':int_lv},350,'swing');
		});
	});

	// Die Kästchen in einer News-Auflistung
	$('.salonnews .auflistung .blende').each(function(){
		var zeilenHohe=28;
		var zeilen=parseInt($(this).children('.teaserhead').height()/zeilenHohe);
		//var padtop=parseInt($(this).css('padding-top'));
		var padtop=15;
		if(zeilen>4){
			padtop=0;
		} else if(zeilen<4){
			padtop=padtop+((4-zeilen)*zeilenHohe);
		}
		$(this).css({'padding-top': padtop})
		$(this).css({'margin-bottom': 0})
	});

	// Die Kästchen in einer News-Auflistung
	$('.business .auflistung .blende').each(function(){
		var zeilenHohe=28;
		var zeilen=parseInt($(this).children('.teaserhead').height()/zeilenHohe);
		var padtop=15;
		if(zeilen>4){
			padtop=0;
		} else if(zeilen<4){
			padtop=padtop+((4-zeilen)*zeilenHohe);
		}
		$(this).css({'padding-top': padtop})
		$(this).css({'margin-bottom': 0})
	});

	// Die Kästchen in einer Kollektionen-Auflistung
	$('.kollektionen .auflistung .blende').each(function(){
		if(!$(this).hasClass('textoben')){
			var padtop=parseInt(310-($(this).children('.teaserhead').height()+$(this).children('.teasertext').height()+9+11));
			$(this).css({'padding-top': padtop});
			$(this).css({'margin-bottom': 0});
		}
	});

} // rasterHovers()


// Einblendeneffekte & Old-Browser-Fallback für die Navigation
function naviInit()	{
	$('.navigation>li').mouseenter(function(){
		$(this).children('ul').stop().animate({'opacity':1},350);
		$(this).addClass('mouseover');
	});
	$('.navigation>li').mouseleave(function(){
		$(this).children('ul').stop().animate({'opacity':0},350,function(){
			$(this).parent().removeClass('mouseover');
		});
	});
	
// Hier noch fallback für transparenten hintergrund-verlauf?
	
}


function SchnellsucheInit(){
	// 
	$('#schnellsuche input').focus(function(){
		if(typeof(str_schnellsuche)=='undefined')str_schnellsuche=this.value;
		if(this.value==str_schnellsuche){
			this.value='';
		}
	});
	$('#schnellsuche input').blur(function(){
		if(this.value==''){
			this.value=str_schnellsuche;
		}
	});
	
	/*
	 * Apple-Style-Search-Suggenstions by Marco Kuiper (http://www.marcofolio.net/webdesign/a_fancy_apple.com-style_search_suggestion.html)
	 */
	$('#schnellsuche input').bind('keyup',function(){
		lookup(this.value);
	});

	// Fade out the suggestions box when not active
	$('input').blur(function(){
		$('#suggestions').fadeOut();
	});
};

function lookup(inputString) {
	if(inputString.length == 0) {
		$('#suggestions').fadeOut(); // Hide the suggestions box
	} else {
		$.post("/_ajax/schnellsuche-dummy.php", {queryString: ""+inputString+""}, function(data) { // Do an AJAX call
			$('#suggestions').fadeIn(); // Show the suggestions box
			$('#suggestions').html(data); // Fill the suggestions box
		});
	}
}




function isoNachlader() {
	// Nachladen locken, damit nicht mehrere Vorgänge sich überschneiden können.
	if(bit_nachlader){return false;}else{bit_nachlader=true;}
	if(bit_nachlader_ende){return false;}

	// Zähler für die zu neu zu ladenden Elemente (erst wirklich von Bedeutung, wenn FPS)
	var sortid=$(".raster:last").attr("data-sortierung");
	var katid=$(".isofeld").attr("data-bereich");
	var mid=21;
	if($('body#startseite').length>0){mid=20;}
	
	// Lade-Gif anzeigen
	$('.isofeld').addClass('loader');
	
	// Um welche Seite handelt es sich? (muss man später mit FPS ggf. noch anpassen, wie/wo man hier die Parameter ablegt und holt)
	var str_get_content='liste-nachladen.php';
	
	// Daten holen
	$.post('/_ajax/'+str_get_content+'?sortid='+sortid+'&katid='+katid+'&mid='+mid,
		function(data){
			if(data=='end-of-line'){
				bit_nachlader_ende=true;
			} else if (data!='') {
				// Neu geladenes nicht einfach nur einfügen sondern dem iso bekannt machen
				var $newItems = $(data);
				$('.isofeld').isotope( 'insert', $newItems );
				// Ausserdem noch die Effekte auf den (neuen) Rasterkästen initialisieren.
				rasterHovers();
			}
			// Load-Indikator wieder ausblenden
			$('.isofeld').removeClass('loader');
			// Das Nachladen wieder freigeben.
			bit_nachlader=false;
		}
	);
} // isoNachlader()



// Spezieller Mulit-Hover-Effekt über den Kollektionen-Thumbnails
function piclistHover() {
	var pics=$('.galeriethumbs li');
	if(pics.length==4 || pics.length==2) {$('.galeriethumbs').addClass('schmal');}
	else if(pics.length%3==2) {$('.galeriethumbs').addClass('versatz');}
	else if(pics.length==1) {$('.galeriethumbs').addClass('lefty');$('.artikel').css({'margin-top':'-325px'})}
	$('.galeriethumbs').mouseenter(function(){
		$(this).addClass('mouseover');
		$(this).append('<li class="galerietrigger" title="Galerie ansehen">Showroom</li>').bind('click',function(){
			window.open($(this).find('a[rel=bildergalerie]').attr('href'),'bildergalerie','width=820,height=830,status=no,scrollbars=no,toolbar=no,menubar=no,resizable=no,location=no,dependent=yes');
			return false;
		});
		$('.meta-galerie').addClass('aktiv');
	});
	$('.galeriethumbs').mouseleave(function(){
		$(this).removeClass('mouseover');
		$(this).children('.galerietrigger').remove();
		$('.meta-galerie').removeClass('aktiv');
	});

	$('.meta-galerie').mouseenter(function(){
		$('.galeriethumbs').addClass('mouseover');
		$('.galeriethumbs').append('<li class="galerietrigger" title="Galerie ansehen">Showroom</li>').bind('click',function(){
			window.open($(this).find('a[rel=bildergalerie]').attr('href'),'bildergalerie','width=820,height=830,status=no,scrollbars=no,toolbar=no,menubar=no,resizable=no,location=no,dependent=yes');
			return false;
		});
	});
	$('.meta-galerie').mouseleave(function(){
		$('.galeriethumbs').removeClass('mouseover');
		$('.galeriethumbs').children('.galerietrigger').remove();
	});
}



function fadeBildInit () {
	if($('.schmuckbild img').length<=1){return false;}
	$('.schmuckbild img').css({'z-index':1,'opacity':0});
	$('.schmuckbild img').first().css({'z-index':10,'opacity':1});
	fadeBild(0);
} // fadeBildInit()

function fadeBild (int_bild) {
	// Das nächste Bild ermitteln
	next_bild=int_bild+1;
	if(next_bild==$('.schmuckbild img').length){next_bild=0;}
	
	// Das nächste Bild an den Start bringen
	$('.schmuckbild img').eq(next_bild).css({'z-index':10,'opacity':0});
	
	$('.schmuckbild img').eq(next_bild).delay(5500).animate({'opacity': 1},850,'linear',function(){
		$('.schmuckbild img').eq(int_bild).css({'opacity':0,'z-index':1});
		$(this).css({'z-index':9});
		fadeBild(next_bild);
	});

} // fadeBild()



function kopfbanner_trigger(){
	if($('#kopfbanner').css('margin-top')=='0px'){
		kopfbanner_zu();
	}else{
		kopfbanner_auf();
	}
}

function kopfbanner_auf(int_850){
	if(int_850==undefined){int_850=850;}
	
	$('#kopfbanner').addClass('offen');
	$('#kopfbanner').animate({'margin-top':'0'},		int_850,'easeOutBounce',function(){$('#kopfbanner .trigger').text('↑ kopfbanner');});
	
	$('#kopfbannerwrapper').animate({'height': '280px'},int_850,'easeOutBounce');
	
	$('#kopfbannertrigger').addClass('offen');
	$('#kopfbannertrigger').css({'margin-top':'-20px'});
	$('#kopfbannertrigger').animate({'top':'280px'},int_850,'easeOutBounce',function(){});
	
	setCookie('kopfbanner','offen');
}
function kopfbanner_zu(){
	$('#kopfbanner').removeClass('offen');
	$('#kopfbanner').animate({'margin-top':'-275px'},350,'swing',function(){$('#kopfbanner .trigger').text('↓ kopfbanner');});
	
	$('#kopfbannerwrapper').animate({'height':'5px'},350,'swing');
	
	$('#kopfbannertrigger').removeClass('offen');
	$('#kopfbannertrigger').animate({'top':'-5px','margin-top':'0'},350,'swing',function(){
		$('#kopfbannertrigger').css({'margin-top':'0'});
	});
	setCookie('kopfbanner','zu',1);
}

function setCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function deleteCookie(name) {
    setCookie(name,"",-1);
} // deleteCookie()







function uploaderInit()	{
	$('.uploadify').each(function(idx,el){
		var str_id=$(el).attr('id');
		var feld_id=str_id.split('_');
		feld_id=feld_id[1];
		$('#'+str_id).uploadify({
			'fileDataName':feld_id,
			'scriptData': {
			'sid': $('#'+str_id).attr('data-sid'),
			'mid': $('#'+str_id).attr('data-mid'),
			'thumb': $('#'+str_id).attr('data-thumb'),
			'feldid': feld_id
		},
		'onComplete':function(event, ID, fileObj, response, data) {
			uploaderComplete(event.target.id,response);
		}
		});
	});
} // uploaderInit()


function uploaderComplete(str_feld,str_pfad){
	var vorschaufeld=$('#'+str_feld).parent().find('.vorschaufeld');
	vorschaufeld.empty();
	vorschaufeld.append('<img src="'+str_pfad+'">');
	
	alert('Neues Bild erfolgreich gespeichert.');
}


// Autom. öffnen der PL
function produktloungeButton(){
	if($('#produktloungestarter').length>0){
		$('#produktloungestarter').click(function(){
			produktloungeOeffnen();
			return false;
		});
		
		// Autom. Popup nur wenn man nicht in Chrome unterwegs ist
		if(!($.browser.webkit && navigator.userAgent.toLowerCase().indexOf('chrome') > -1)){
			var PLwin=produktloungeOeffnen();
			PLwin.focus();
		}
	}
}

function produktloungeOeffnen(){
	return window.open($('#produktloungestarter').attr('href'),'MiS-ProduktLounge','width=960,height=570,status=no,scrollbars=no,toolbar=no,menubar=no,resizable=no,location=no,dependent=yes');
}

function erweitertesucheButtons() {
	if($('#formerweitertesuche').length>0){
		// Form erstmal ausblenden
		if($('#formerweitertesuche').css('display')=='none') {
			$('#formerweitertesuche').css('display','block');
			$('#formerweitertesuche').hide();
		}
		// Klick auf den Button
		$('.btn-erweitertesuche').click(function(){
			$('#formerweitertesuche').slideToggle(500);
		});
	}
} // erweitertesucheButtons()

