
// ##################
// ##  Funktionen  ##
// ##################

// Anzahl der Produkte in der Merkliste aktualisieren
// (Anzeige in der rechten Marginalspalte)
function update_produktanzahl()
{
	// URL zusammenbauen
	ajax_url = 'index.php?site=lukas_rescue&lang=de&id=1&getproduktanzahl=1';
	$.post(ajax_url, function(data){		// Post verschicken
		$('#anzahlProdukte').html(data);	// Anzahl aktualisieren
	});
}

// Funktion zu setzen und löschen von Cookies
function updateMerkliste(action,id)
{
	var ajax_url = 'index.php?site=lukas_rescue&lang=de&id=1&ajax_'+action+'='+id;
	$.post(ajax_url, function(data){
		// Cookie aktualisieren
		$.cookie('lukas_merkliste',data,{path:'/', expires:604800});
	});

	// Mit dem Updaten der Produktanzahl im rechten Bereich etwas warten,
	// das Setzen des Cookies braucht wohl etwas Zeit
	window.setTimeout("update_produktanzahl()", 1000);

	if(action == 'del')
	{
		// Element entfernen, wenn vorhanden
		// Wenn ein Komma vorliegt, dann wurde ProduktID und ZubehörID
		// übergeben => es wird nur das Zubehör aus der Merkliste hinzugefügt/entfernt
		// => kein Ausblenden des Produkts
		if (id.indexOf(",") < 0)
		{
			$('.del'+id).remove();
		}
	}
}

//############
//##  AJAX  ##
//############

// Ausführen, sobald der DOM-Baum fertig geladen ist
$(document).ready(function() {

	// KLICK: Hinzufügen (reagiert auf Klasse "addCookie")
	$('.addCookie').click(function()
	{
		id = $(this).attr('title');
		action = 'add';

		// Bei Checkboxen zwischen beiden actions toggeln
		if($(this).attr('type') == 'checkbox' && !$(this).attr('checked'))
		{
			action = 'del';
		}

		// und los gehts!
		updateMerkliste(action,id);
	});

	// KLICK: LÖSCHEN (reagiert auf Klasse "delCookie")
	$('.delCookie').click(function(){

		// ID zum löschen
		id = $(this).attr('title');
		action ='del';

		// und los gehts!
		updateMerkliste(action,id)
	});


	//#######################
	//##  Test-Funktionen  ##
	//#######################
	/*

	// Anzahl ausgeben
	$('span#get_anzahl').live('click',function(){
		ajax_url2 = 'index.php?site=lukas_rescue&lang=de&id=1&getproduktanzahl=1';
		$.post(ajax_url2, function(data2){
			alert("PHP zeigt: "+data2 + " Produkt");
		});
	});

	// Anzahl rechts aktualisieren
	$('span#show_cookies').live('click',function(){
		alert("Aktuell gespeicherte Cookies: "+$.cookie('lukas_merkliste'));
	});

	// Anzahl ausgeben
	$('span#update_anzahl').live('click',function(){
		ajax_url2 = 'index.php?site=lukas_rescue&lang=de&id=1&getproduktanzahl=1';
		$.post(ajax_url2, function(data2){
			$('#anzahlProdukte').html(data2);
		});
	});

	// Merkliste leeren
	$('span#delete_cookies').live('click',function(){
		alert('Merkliste wird geleert...!');
		$.cookie('lukas_merkliste','',{ path:'/', expires:604800 });
		alert('Merkliste geleert!');
	});

	*/

/* Formulare auf- und zuklappen
-------------------------------*/

	$(".jq_btn").click(function () {		// Sobald auf ein Element der Klasse "jq_btn" geklickt wird,
		$(this).toggleClass('active');		// dem angeklickten Element die Klasse "activ" verpassen,
		$(this).next().slideToggle("slow");	// das darauffolgende Element sichbar machen
	});


/* Marginalspalte - Aufklappen der Menüs
----------------------------------------*/

	$(".marginal_page").click(function () {

		$('.marginal_page').each(function(index) {
			$(this).removeClass('open');
			$(this).next().css("display",'none');

			// Newsbox auf der Startseite
			$("#marg_news_middle").css("display",'none');
			if ($("#marg_news_top").hasClass("open"))
			{
				$("#marg_news_top").removeClass("open");
			}

		});

		// beim Aufklappen soll der Button AM ANFANG grau werden, beim zuklappen AM ENDE
		btn = $(this);
		btn_pre_effect = ($(btn).attr("class").indexOf("open") > 0) ? false : true;

		if(btn_pre_effect){$(btn).toggleClass('open');}
		$($(btn)).next().slideToggle("300",function(){
			if(!btn_pre_effect){$(btn).toggleClass('open');}
		});
	});


/* AJAX-Formulare versenden
----------------------------*/

	$(".submit").click(function() {

		myformular = $(this).parents("form.ajax_formular");
		formularid = $(myformular).attr('id').replace("formular_","");

		// Ajax Basis URL
		var pageid = $("#page_id").html();
		var site   = $("#site_name").html();
		var lang   = $("#site_language").html();
		var ajax_url = "index.php?site="+site+"&lang="+lang+"&id="+pageid+"&ajax_form="+formularid;

		// Loader einblenden
		imgsrc = $("#site_loader").html();
		$(myformular).find('.submit').after('<img class="loaderimg" src="'+imgsrc+'" alt="loader" />');

		button = $(this);
		$(button).attr("disabled",true)

		$.post(ajax_url, $(myformular).serialize(), function(data){

			if (data == 'success')
			{
				// Alles korrekt geklappt
				$(myformular).find('.loaderimg').css("display","none");
				$(myformular).find('.error_mail').fadeOut("fast");
				$(myformular).find('.error_validation').fadeOut("fast");
				$(myformular).find('.spacer').fadeOut("slow",function(){	//=> Formulare ausblenden
					$(myformular).find('.submit').css("display","none");
					//=> Erfogsmeldung einblenden
					$(myformular).find('.success').fadeIn("slow");
				});
			}
			else if (data == 'error_mail')
			{
				// Fehler im Skript	(z.B. Fehler beim Mailversand)
				$(myformular).find('.loaderimg').css("display","none");
				$(myformular).find('.error_mail').fadeOut("fast");
				$(myformular).find('.error_mail').fadeIn("slow");
				$(button).attr("disabled",false);
			}
			else
			{
				$(myformular).find('.loaderimg').css("display","none");
				$(myformular).find('.error_validation').fadeOut("fast");
				$(myformular).find('.error_validation').fadeIn("slow");
				$(myformular).find('.error_fields').html(data);
				$(button).attr("disabled",false);
			}
		});

		// Formular nicht abschicken (das passiert schon in PHP)
		return false;
	});

	// Formular: Haken setzen, wenn Eingabe
	$("#formular_content input").live("click keyup keydown change focus",function(){
		if ($.trim($("input[name='a_aS_text']").attr("value")) != '')
		{
			$("input[name='a_aS']").attr("checked", "checked");
		}
		else
		{
			$("input[name='a_aS']").attr("checked", false);
		}
	});


/* Hover-Effekt (Marginalspalte)
---------------------------------*/

	$("#marg_middle .marginal_page").hover(
		function(){
			classpos = $(this).attr("class").indexOf('open');
			if(classpos < 0)
			{
				$(this).addClass("hover");
			}
		},
		function(){
			$(this).removeClass("hover");
		}
	);

/* Aufzuklappen von Startseitebox
 * -------------------------------*/

	$("#marg_news_top").click(function () {

		$("#marg_news_middle").slideToggle("300");
		$(this).toggleClass('open');

		// Alle aufgeklappten Formulare schließen
		$('.marginal_page').each(function(index) {
			$(this).removeClass('open');
			$(this).next().css("display",'none');
		});

	});

/* Zebra-Effekt
 * -------------*/

	$("table.zebra tr:nth-child(odd)").css("backgroundColor", "#dddddd");

// #############################
// ## Neue Formular-Lightbox  ##
// #############################

	// Kontaktformular-Lightbox öffnen
	// a,b,c steht jeweils für Vorauswahl des Modus
	// im Kontaktformular
	$(".fbtn_a, .fbtn_b, .fbtn_c, .fbtn_d").click(function(){

		var pre_checked = '';
		if ($(this).hasClass("fbtn_a"))
		{
			pre_checked = 'a';
		}
		else if ($(this).hasClass("fbtn_b"))
		{
			pre_checked = 'b';
		}
		else if ($(this).hasClass("fbtn_c"))
		{
			pre_checked = 'c';
		}
		else if ($(this).hasClass("fbtn_d"))
		{
			pre_checked = 'd';
		}
		else
		{
			pre_checked = 'a';
		}

		// Aktuelles Produkt
		var this_produkt_name = $("#this_produkt_name").html();

		// Content laden
		var ajax_result = '';

		var this_lang = $("#this_lang").html();

		$.ajax({
			type: "POST",
			url: "-p-1-site-lukas_industrial-lang-"+this_lang+"-ajax-loadContactFormular",
			async : false,	// => Ergebnis ist sofort verfügbar
			data: {'pre_checked':pre_checked,'current_location' : window.location.href, 'this_produkt_name':this_produkt_name},
			success: function(data){
				ajax_result = data;
			}
		});
		// Lightbox öffnen
		$.fancybox({
			'titleShow' : false,
			'content' : ajax_result,
			'autoScale' : false,
			'centerOnScroll' : true,
			'onCleanup': function()
			{
				setGA_Event('Kontaktformular (Aktuell)','Geschlossen');
			},
			'onComplete': function()
			{
				setGA_Event('Kontaktformular (Aktuell)','Step1');
			}
		});
		return false;
	});

	// Wechseln zwischen den Schritten
	// Wechseln über Navigation oben
	$(".formular_nav span").live('click',function(){
		var this_step = $(this).attr("class").replace("s","");
		goto_step(this_step);
	});

	// Wechseln zwischen den Schritten (vor/zurück)
	$("#weiter").live('click',function(){
		next_step();
	});

	// Wechseln zwischen den Schritten (vor/zurück)
	$("#absenden").live('click',function(){
		next_step();
	});

	// #######################
	// ## Schritt wechseln  ##
	// #######################

	function goto_step(step)
	{
		// Schritte dürfen nur zwischen 1 und 3 sein
		if (step > 0 && step < 4)
		{
			// GoogleAnalytics Event-Logging
			if (step == 1)
			{
				setGA_Event('Kontaktformular (Aktuell)','Step1');
			}
			else if (step == 2)
			{
				setGA_Event('Kontaktformular (Aktuell)','Step2');
			}
			else if (step == 3)
			{
				setGA_Event('Kontaktformular (Aktuell)','Step3');
			}
			else if (step == 4)
			{
				setGA_Event('Kontaktformular (Aktuell)','Step4');
			}

			// Set wird gesetzt
			$("#current_step").val(step);
			// Navigation-Pfad ändern
			$(".formular_nav").removeClass("step1 step2 step3").addClass("step"+step);
		}

		// Korrekten Content einblenden
		$(".formbox").each(function(){
			if ($(this).hasClass("s"+step+"_content"))
			{
				$(this).fadeIn();
			}
			else
			{
				$(this).hide();
			}
		});

		// Beim 2.Schritt muss das Template
		// je nach vorheriger Auswahl gewählt werden
		if (step == "2")
		{
			// Aktueller Modus (a,b oder c)
			var x = $("#current_mode").val();
			$("#a,#b,#c,#d").hide();
			$("#"+x).show();
		}

		// Weiterbutton ein/ausblenden
		if (step == "3")
		{
			// Absende-Button einblenden
			$("#weiter").hide();
			$("#absenden").fadeIn();
		}
		else
		{
			$("#absenden").hide();
			$("#weiter").fadeIn();
		}

		// Position korrigieren
		$.fancybox.center();
	}

	// #######################
	// ## nächster Schritt  ##
	// #######################

	function next_step()
	{
		// Aktueller Step
		var this_step = parseInt($("#current_step").val())+1;
		if (this_step != 0 && this_step != 4)
		{
			goto_step(this_step);
		}
	}

	// ####################
	// ##  Modus setzen  ##
	// ####################

	$('.s1_content input').live('click',function(){
		$("#current_mode").val($(this).val());
	});

	// #############################
	// ##  Zusatzfeld einblenden  ##
	// #############################

	$("input[name=b_vorfuehrung]").live('change',function(){

		if ($(this).hasClass('xo'))
		{
			$("textarea[name=b_vorfuehrung_extra]").fadeIn().focus();
		}
		else
		{
			$("textarea[name=b_vorfuehrung_extra]").hide();
		}

	});


	// #######################
	// ##  Daten versenden  ##
	// #######################

	$("#absenden").live('click',function(){

		var this_lang = $("#this_lang").html();

		// Daten wegschicken
		$.ajax({
			type: "POST",
			url: "-p-1-site-lukas_industrial-lang-"+this_lang+"-ajax-saveContactFormular",
			async : false,	// => Ergebnis ist sofort verfügbar
			data: $("#formular_form").serialize(),
			success: function(data){

				// Versand in Ordnung
				if (data == 'success')
				{
					$(".formular_nav, #formular_form, #formular_header").hide();
					$("#bestaetigung").fadeIn();
					return false;
				}
				else if(data == 'error')
				{
					$(".formular_nav, #formular_form, #formular_header").hide();
					$("#errormeldung").fadeIn();
					return false;
				}
				else
				{
					// Pflichtfelder markieren
					$("#formular_form input").css('background-color','#ffffff');
					$(data).css('background-color','red');
				}
			}
		});

	});

	/* Scrollpane */
	$('.scroll-pane').jScrollPane({
		showArrows: $(this).is('.arrow'),
		verticalDragMinHeight: 20,
			verticalDragMaxHeight: 20,
			horizontalDragMinWidth: 124,
			horizontalDragMaxWidth: 124
	});

});

$(window).load(function(){
	//$("#kontaktButtons .fbtn_d").click();
});

