
// ##################
// ##  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;
	});

/* 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');
		});

	});
	*/

});

