/**
 *	ESU Emailassistent JS
 *	(c) 2008 electronic solutions ulm GmbH & Co KG
 *	  
 *	@author Tobias Lau Media Solutions
 */  


var toggleDsystem = 0;
var toggleLokdaten = 0;
var anfrageTech = false;
var anfrageAllg = false;

/**
 * Setzt 1. div auf sichtbar, 2. auf unsichtbar	
 */	
function changeView(visible, invisible)
{						
	$("#"+invisible).hide();
	$("#"+visible).fadeIn("slow");	
}

/**
 * Leert alle Felder eines Formulars
 */
$.fn.clearForm = function() {
    return this.each(function() {
        $('input,select,textarea', this).clearFields();
    });
};

/**
 * Leert bestimmtes Feld
 */
$.fn.clearFields = $.fn.clearInputs = function() {
    return this.each(function() {
        var t = this.type, tag = this.tagName.toLowerCase();
        if (t == 'text' || t == 'password' || tag == 'textarea')
            this.value = '';
        else if (t == 'checkbox' || t == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
    });
};

/**
 *	Chained Select für die Produktauswahl 
 */ 
$(function()
{
	$('#category').chainSelect('#product','typo3conf/ext/esu_emailassistent/res/getProducts.php',
	{ 
		before:function (target) //before request hide the target combobox and display the loading message
		{ 
			$("#esu-emailassistent-loading").css("display","inline");
			toggleDsystem = "0";
			toggleLokdaten = "0";
		},
		after:function (target) //after request show the target combobox and hide the loading message
		{ 
			$.get("typo3conf/ext/esu_emailassistent/res/checkFields.php", { category: $('#category').val() },
		  function(toggleFields){
		    toggleDsystem = toggleFields.substring(0,1);
		    toggleLokdaten = toggleFields.substring(1,2);
 				if (toggleDsystem == "1") $("#esu-emailassistent-dsystem").show("normal");
 				else $("#esu-emailassistent-dsystem").hide("normal");
 				if (toggleLokdaten == "1") $("#esu-emailassistent-lokdaten").show("normal");
 				else $("#esu-emailassistent-lokdaten").hide("normal");
 				
 				$("#esu-emailassistent-loading").css("display","none");
		  });
		}
	});
});


$(document).ready(function() {

	$(".allgFrage").click(function() {
		$("#kontaktZurueckAllg").show();
		$("#kontaktZurueckTech").hide();
		anfrageAllg = true;
		anfrageTech = false;
	});
	
	$(".techFrage").click(function() {
		$("#kontaktZurueckAllg").hide();
		$("#kontaktZurueckTech").show();
		anfrageTech = true;
		anfrageAllg = false;
	});
	
	/**
	 *	Prüft die Produktfelder auf Vollständigkeit
	 *	Führt danach die FAQ-Suche aus
	 */  				
	$("#suche").click(function() {
	
		if (hasError) $("#product-error").hide();
		$(".tx-esuemailassistent-pi1 input").css("border","1px solid #d1d1e1");
		$(".tx-esuemailassistent-pi1 input").css("background","#fff");
		$(".tx-esuemailassistent-pi1 select").css("border","1px solid #d1d1e1");
		$(".tx-esuemailassistent-pi1 select").css("background","#fff");
		
		var hasError = false;
			
		var productVal = $("#category").val();
		if(productVal == "choose") {
			$("#product").css("border","1px dotted #d72b37");
			$("#product").css("background","#fffeab");
			$("#category").css("border","1px dotted #d72b37");
			$("#category").css("background","#fffec5");
			hasError = true;
		}
		var productNrVal = $("#product-artno").val();
		
		
		var faqSucheVal = $("#emailassistent-faq-suche").val();
		if(faqSucheVal == '') {
			$("#emailassistent-faq-suche").css("border","1px dotted #d72b37");
			$("#emailassistent-faq-suche").css("background","#fffec5");
			hasError = true;
		}
		
		if (toggleDsystem == 1)
		{	
			var dsystemVal = $("#dsystem").val();
			if(dsystemVal == "choose") {
				$("#dsystem").css("border","1px dotted #d72b37");
				$("#dsystem").css("background","#fffec5");	
				hasError = true;
			}
			
			var dsystemVerVal = $("#dsystem-version").val();
		}
		if (toggleLokdaten == 1)
		{	
			var lokTrackVal = $("#lokdaten-trackwidth").val();
			var lokManuVal = $("#lokdaten-manufactur").val();
			if(lokManuVal == "") {
				$("#lokdaten-manufactur").css("border","1px dotted #d72b37");
				$("#lokdaten-manufactur").css("background","#fffec5");
				hasError = true;
			}
			var lokModelVal = $("#lokdaten-model").val();
			if(lokModelVal == "") {
				$("#lokdaten-model").css("border","1px dotted #d72b37");
				$("#lokdaten-model").css("background","#fffec5");
				hasError = true;
			}
		}
		
	if (hasError)
	{
		$("#product-error").show("fast");
	}
		
		
	if (!hasError)
	{
		$('#esu-emailassistent-suchergebnis-suchenach').text($('#emailassistent-faq-suche').val());
		
		$('#esu-emailassistent-suchergebnis-ergebnisse').empty();
		$('<div style="text-align:center; margin-top:50px;"><img src="typo3conf/ext/esu_emailassistent/res/loading.gif" /></div>').appendTo('#esu-emailassistent-suchergebnis-ergebnisse');
		changeView('esu-emailassistent-suchergebnis-container','esu-emailassistent-product-container');
		
		
		
		$.get("typo3conf/ext/esu_emailassistent/res/getResults.php", { suche: $('#emailassistent-faq-suche').val(), cat: $('#category').val(), lang: $('#language-uid').val() },
	  function(data){
	    	$('#esu-emailassistent-suchergebnis-ergebnisse').empty();
	    	if(data != "") 
	    	{
					$('<span>'+data+'</span>').appendTo('#esu-emailassistent-suchergebnis-ergebnisse');
				}
				else $('<span style="font-style:italic">No results.</span>').appendTo('#esu-emailassistent-suchergebnis-ergebnisse');
	  });
	}
	
	return false;
	});
	
	
	/* Kontakformular wird bei Technischer Anfrage aufgerufen */
	$("#zumKontaktformular").click(function() {
	
		anfrageTech = true;
		
		$('#kontakt-produktangaben').show();
		
		
		$('#kontakt-product-desc').text($('#product').val());
		$('#kontakt-product-artno').text($('#product-artno').val());
		
		if(toggleDsystem == 1) {
			$('#kontakt-dsystem').show();
			$('#kontakt-dsystem-desc').text($('#dsystem').val());
			$('#kontakt-dsystem-version').text($('#dsystem-version').val());
		}
		if(toggleLokdaten == 1) {
			$('#kontakt-lokdaten').show();
			$('#kontakt-lokdaten-trackwidth').text($('#lokdaten-trackwidth').val());
			$('#kontakt-lokdaten-manufactur').text($('#lokdaten-manufactur').val());
			$('#kontakt-lokdaten-model').text($('#lokdaten-model').val());
		}	
		
		changeView('esu-emailassistent-kontaktformular-container','esu-emailassistent-suchergebnis-container'); 
		
		return false;
	
	});	
	
	/**
	 * Kontaktfelder prüfen
	 * Bei Erfolg sendMail.php ausführen
	 */	 	 
	$("#emailSenden").click(function() {
		
		if (!kontaktError) $("#kontakt-error").hide();
		$(".tx-esuemailassistent-pi1 input").css("border","1px solid #d1d1e1");
		$(".tx-esuemailassistent-pi1 input").css("background","#fff");
		$(".tx-esuemailassistent-pi1 select").css("border","1px solid #d1d1e1");
		$(".tx-esuemailassistent-pi1 select").css("background","#fff");
		$(".tx-esuemailassistent-pi1 textarea").css("border","1px solid #d1d1e1");
		$(".tx-esuemailassistent-pi1 textarea").css("background","#fff");
		
		var kontaktError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		
		var titleVal = $("#kontakt-title").val();
		if(titleVal == "choose") {
			$("#kontakt-title").css("border","1px dotted #d72b37");
			$("#kontakt-title").css("background","#fffec5");
			kontaktError = true;
		}

		var prenameVal = $("#kontakt-prename").val();
		if(prenameVal == "") {
			$("#kontakt-prename").css("border","1px dotted #d72b37");
			$("#kontakt-prename").css("background","#fffec5");
			kontaktError = true;
		}
		
		var lastnameVal = $("#kontakt-lastname").val();
		if(lastnameVal == "") {
			$("#kontakt-lastname").css("border","1px dotted #d72b37");
			$("#kontakt-lastname").css("background","#fffec5");
			kontaktError = true;
		}
		
		var adressVal = $("#kontakt-adress").val();
		if(adressVal == "") {
			$("#kontakt-adress").css("border","1px dotted #d72b37");
			$("#kontakt-adress").css("background","#fffec5");
			kontaktError = true;
		}
		
		var plzVal = $("#kontakt-plz").val();
		if(plzVal == "") {
			$("#kontakt-plz").css("border","1px dotted #d72b37");
			$("#kontakt-plz").css("background","#fffec5");
			kontaktError = true;
		}
		
		var venueVal = $("#kontakt-venue").val();
		if(venueVal == "") {
			$("#kontakt-venue").css("border","1px dotted #d72b37");
			$("#kontakt-venue").css("background","#fffec5");
			kontaktError = true;
		}
		
		var countryVal = $("#kontakt-country").val();
		if(countryVal == "choose") {
			$("#kontakt-country").css("border","1px dotted #d72b37");
			$("#kontakt-country").css("background","#fffec5");
			kontaktError = true;
		}
		
		var emailVal = $("#kontakt-email").val();
		var emailRepeatVal = $("#kontakt-email-repeat").val();
		if(emailVal == "" || !emailReg.test(emailVal)) 
		{
			$("#kontakt-email").css("border","1px dotted #d72b37");
			$("#kontakt-email").css("background","#fffec5");
			kontaktError = true;
		}
		if(emailRepeatVal != emailVal || emailRepeatVal == "") {
			$("#kontakt-email-repeat").css("border","1px dotted #d72b37");
			$("#kontakt-email-repeat").css("background","#fffec5");
			kontaktError = true;
		}
		
		var topicVal = $("#kontakt-topic").val();
		if(topicVal == "") {
			$("#kontakt-topic").css("border","1px dotted #d72b37");
			$("#kontakt-topic").css("background","#fffec5");
			kontaktError = true;
		}
		
		var questionVal = $("#kontakt-question").val();
		if(questionVal == "") {
			$("#kontakt-question").css("border","1px dotted #d72b37");
			$("#kontakt-question").css("background","#fffec5");
			kontaktError = true;
		}
		
		// Error Div anzeigen
		if (kontaktError)
		{
			$("#kontakt-error").show("fast");
		}
			
		// Alles ausgefüllt
		if (!kontaktError)
		{
			if (anfrageAllg) { var anfrageTyp = 'allg'; } 
			else { var anfrageTyp = 'tech'; }

            if ($("#kontakt-anfrageTarget").val() == 'llc') {
                var anfrageTarget = 'llc';
            } else {
                var anfrageTarget = 'esu-de';
            }
			
			var langVal = $("#kontakt-lang").val();
			var langUid = $('#language-uid').val();
			var kdnrVal = $("#kontakt-kdnr").val();
			var regionVal = $("#kontakt-region").val();
			var telVal = "(+" + $("#kontakt-telephone-country").val() + ") " + $("#kontakt-telephone-pre").val() + " / " + $("#kontakt-telephone").val();
			var faxVal = "(+" + $("#kontakt-fax-country").val() + ") " + $("#kontakt-fax-pre").val() + " / " + $("#kontakt-fax").val();
			
			var productVal = $("#product").val();
			var productNrVal = $("#product-artno").val();	
			var categoryVal = $("#category :selected").text();
			
			if (toggleDsystem == 1)
			{	
				var dsystemVal = $("#dsystem").val();
				var dsystemVerVal = $("#dsystem-version").val();
			}
			if (toggleLokdaten == 1)
			{	
				var lokTrackVal = $("#lokdaten-trackwidth").val();
				var lokManuVal = $("#lokdaten-manufactur").val();
				var lokModelVal = $("#lokdaten-model").val();
			}
			
			$.post("typo3conf/ext/esu_emailassistent/res/sendMail.php", 
			// POST Felder
			{ 
				lang: langVal,
				lang_uid: langUid,
				anfrageTyp: anfrageTyp,
                anfrageTarget: anfrageTarget,
				esuKdNr: kdnrVal, 
				title: titleVal, 
				prename: prenameVal, 
				lastname: lastnameVal, 
				adress:	adressVal, 
				plz: plzVal, 
				venue: venueVal, 
				region: regionVal, 
				country: countryVal,
				tel: telVal, 
				fax: faxVal,
				email: emailVal,
				category: categoryVal,
				product: productVal,
				productNr: productNrVal,
				dsystem: dsystemVal,
				dsystemVer: dsystemVerVal,
				lokTrack: lokTrackVal,
				lokManu: lokManuVal,
				lokModel: lokModelVal,
				topic: topicVal,
				question: questionVal 
			}, 
			function(data){
				$("#emailForm").clearForm(); 
				$("#productForm").clearForm();
				changeView('esu-emailassistent-thankyou-container','esu-emailassistent-kontaktformular-container');
	  	});
		}
			
		
		
		return false;
	});
});
