$(document).ready(function() {
	var TEST = false;var gt = false; 
	var A=0; // Kantenlänge längs
	var B=0; // Kantenlänge quer
	var C=0; // Fugenbreite
	var D=0; // Fugentiefe
	var E=$("#Matergibig").val();  // Materialergiebigkeit

	var EWert = []; 
	EWert ['vdw400'] = 1.9;EWert ['vdw400plus'] = 1.9;EWert ['vdw425'] = 1.9;
	EWert ['vdw800'] = 1.6;EWert ['vdw805'] = 1.5;EWert ['vdw815'] = 1.5;
	EWert ['vdw830'] = 1.5;EWert ['vdw840plus'] = 1.7;EWert ['vdw850'] = 1.7;
	EWert ['vdw855'] = 1.75;EWert ['vdw880'] = 1.5;EWert ['vdw885'] = 1.5;

	if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
		$('div#produktbild').css("top","460px");
		$('input').css("font-size","18px");
	}
	
	$("#Matergibig").change(function() {
		E = $(this).val();
		$("#produktbild").hide();
		$('#Materialverbrauch').hide();
		$("#produktbild").html('<img src="/sites/default/files/Verbrauch-GFTK-' + E + '.jpg" alt="" width="140" height="142" />');
		$("#produktbild").fadeIn('slow');

		switch (E) { case "vdw400":	}
		
// Wenn das Material geändert wird, alle Eingabefelder verbergen, alle Werte zurück auf 0 *** 1. Eingabefeld anzeigen

		A = 0; // Kantenlänge längs
		B = 0; // Kantenlänge quer
		C = 0; // Fugenbreite
		D = 0; // Fugentiefe

// Alle Eingabefelder löschen, falls der Rechner durch Ändern des Produkts neu initialisiert wird

		$("input#Kante-laengs").val('');$("input#Kante-quer").val('');
		$("input#Fugenbreite").val('');$("input#Fugentiefe").val('');
		$("input#Kante-laengs").removeClass('error');$("input#Kante-quer").removeClass('error');$("input#Fugenbreite").removeClass('error');$("input#Fugentiefe").removeClass('error');
		$('#kl_err_msg').html('');$('#kq_err_msg').html('');$('#fb_err_msg').html('');$('#ft_err_msg').html('');
		$("#kq").hide();$("#fb").hide();$("#ft").hide();
		$("#kl").show("slow");$("#HStein").show('slow');
		$("#HFugen").hide();
	});
	
	$('input#reset').click(function(){
		$("#Materialverbrauch").hide();$('#kq').hide();$('#kl').hide();$('#fb').hide();$('#ft').hide();$("#HStein").hide();$("#HFugen").hide();
	});
	
	$('.gt').click(function() {
		if (gt == true) {
			$("#Materialverbrauch").slideUp('slow');$("#Materialverbrauch").slideDown('slow');
		}
	}); 
	
	$("input#Kante-laengs").focus(function() {  
		if (TEST) $(this).val("20");	
	});
	
// A Kantenlänge längs B Kantenlänge quer C Fugenbreite D Fugentiefe
		
	$("input#Kante-laengs").blur(function() {  
		A = $(this).val().replace( /,/,"." );

		if (!IsNumeric(A) || parseFloat(A) < 0) { 
			$(this).addClass('error');
			$('#kl_err_msg').html('Bitte geben Sie einen  Zahlenwert größer als 0 ein');
		} else {
			$('#kl_err_msg').html('');
			$(this).addClass('normal');
			$('#kq').show('slow');
			if ((parseFloat(A) > 0) && (parseFloat(B) > 0) && (C > 0) && (D > 0)) {
				TEST = false;
				start_berechnung (parseFloat(A), parseFloat(B), C, D, EWert[E]);
			}
		}
	});
	
	$("input#Kante-quer").focus(function() {  // Bei Klick auf div#openEx1
		if (TEST) $(this).val("13.5");
	});
	
	$("input#Kante-quer").blur(function() { 
		B = $(this).val().replace( /,/,"." );
		if (!IsNumeric(B) || parseFloat(B) < 0) { 
			$(this).addClass('error');
			$('#kq_err_msg').html('Bitte geben Sie einen  Zahlenwert größer als 0 ein');
		} else {
			$('#kq_err_msg').html('');
			$(this).addClass('normal');
			$("#fb").show('slow');
			$("#HFugen").show('slow');
			if ((parseFloat(A) > 0) && (parseFloat(B) > 0) && (C > 0) && (D > 0)) {
				TEST = false; start_berechnung (parseFloat(A), parseFloat(B), C, D, EWert[E]);
			}
		}
	});

	$("input#Fugenbreite").focus(function() { 
		if (TEST) $(this).val("10");
	});
	
// A Kantenlänge längs B Kantenlänge quer C Fugenbreite D Fugentiefe E Material
	
	$("input#Fugenbreite").blur(function() {
		C = $(this).val().replace( /,/,"." );

		$(this).removeClass('error');
		$(this).removeClass('normal');
		$('#fb_err_msg').html('');

		$("input#Fugentiefe").val('');
		D = 0; 
		$('#ft').hide('fast');
		$('#Materialverbrauch').hide('slow');

		$("input#Fugentiefe").removeClass('error');
		$("input#Fugentiefe").removeClass('normal');
		$('#fb_err_msg').html('');

/** vdw 400 weniger als 5 mm oder mehr als 30 mm
vdw 400 plus weniger als 5 mm oder mehr als 30 mm
vdw 800, vdw 830, vdw 850 weniger als 5 mm
vdw 805, vdw 815, vdw 840 plus weniger als 3 cm
vdw 855 weniger als 10 cm 
**/

		if (!IsNumeric(C)) { 
			$(this).addClass('error');
			$('#fb_err_msg').html('Bitte geben Sie einen numerischen Wert ein');
		} else {
			C = parseFloat(C);
			//alert (E)
			switch (E) {
			case "vdw400":
			if (C < 5 ) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 5 mm betragen.');
			}
			if (C > 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite darf maximal 30 mm betragen.');
			}
			break;
			case "vdw400plus":
			if (C < 3 ) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 3 mm betragen.');
			}
			if (C > 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite darf maximal 30 mm betragen.');
			}
			break;
			
			case "vdw425":
			if (C < 5 ) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 6 mm betragen.');
			}
			if (C > 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite darf maximal 30 mm betragen.');
			}
			break;
			
			
			case "vdw800":
			if (C < 5) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 5 mm betragen.');
			}
			break;
			case "vdw830":
			if (C < 5) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 5 mm betragen.');
			}
			break;
			case "vdw850":
			if (C < 5) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 5 mm betragen.');
			}
			break;
			case "vdw805":
			if (C < 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 3 mm betragen.');
			}
			break;
			case "vdw815":
			if (C < 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 3 mm betragen.');
			}
			break;
			case "vdw840plus":
			if (C < 30) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 3 mm betragen.');
			}
			break;
/**
vdw 400 weniger als 5 mm oder mehr als 30 mm
vdw 400 plus weniger als 5 mm oder mehr als 30 mm
vdw 800, vdw 830, vdw 850 weniger als 5 mm
vdw 805, vdw 815, vdw 840 plus weniger als 3 cm
vdw 855 weniger als 10 cm
**/			
			case "vdw855":
			if (C < 10) {
				$(this).addClass('error');
				$('#fb_err_msg').html('Hinweis: Die Fugenbreite muss mindestens 10 mm betragen.');
			}
			break;

			default:
				$(this).addClass('error');
				$('#fb_err_msg').html('Unbekannter Fehler bei der Berechnung');
			}
			
			$("#ft").show('slow');
			if ((parseFloat(A) > 0) && (parseFloat(B) > 0) && (C > 0) && (D > 0)) {
				TEST = false;
				start_berechnung (parseFloat(A), parseFloat(B), C, D, EWert[E]);
			}
		}
	});
	
	$("input#Fugentiefe").focus(function() {  //Klick auf div#openEx1
		if (TEST) { $(this).val("3"); }
		
	});

	$("input#Fugentiefe").blur(function() {  //Klick auf div#openEx1
		D = $(this).val().replace( /,/,"." );

		$(this).removeClass('error');
		$(this).removeClass('normal');
		$('#ft_err_msg').html('');

		if (!IsNumeric(D)) { 
			$(this).addClass('error');
			$('#ft_err_msg').html('Bitte geben Sie einen numerischen Wert ein');
		} else {
			D = parseFloat(D);
			switch (E) {
			case "vdw400":
			if (D < 40 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 40 mm betragen.');
			}
			if (C > 20 && D < 2*C) { // weniger als 2xFugenbreite, wenn Fugenbreite>15mm
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens doppelte Fugenbreite betragen.');
			}
			break;

			case "vdw400plus":
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: mind. 40 mm');
			break;
			
			case "vdw425":
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: mind. 40 mm');
			break;

			case "vdw800":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw805":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw815":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw830":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw840plus":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw850":
			if (D < 30 ) {
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: Die Fugentiefe muss mindestens 30 mm betragen.');
			}
			break;

			case "vdw855":
				$(this).addClass('error');
				$('#ft_err_msg').html('Hinweis: mind. 2/3 Steinhöhe');
			break;

			default:
				$(this).addClass('error');
				$('#ft_err_msg').html('Unbekannter Fehler bei der Berechnung');
			}
		}

		$(this).addClass('normal');
		$("#me").show('slow');
		gt = true; 
		if ((parseFloat(A) > 0) && (parseFloat(B) > 0) && (C > 0) && (D > 0)) {
			TEST = false; start_berechnung (parseFloat(A), parseFloat(B), C, D, EWert[E]);
		}
	});
	
	function IsNumeric(sText) {
		var ValidChars = "0123456789.";
		var IsNumber = true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}

	function start_berechnung (A, B, C, D, E) {
		var F = A/10 + C/10;  // Abschnittslaenge_laengs
		var G = B/10 + C/10; // Abschnittslaenge_quer
		var H = 100 / F; // Anzahl der Fugen pro Meter längs
		var I = 100 / G; // Anzahl der Fugen pro Meter quer
		var J = H * (C / 10); // Summe der Fugenbreiten cm/m
		var K = I * (C / 10);
		var L = (D * J * 100 + D * K * 100) / 1000; // Fugenvol/m2
		var M = L * E;

		var mat = M/10;
		if (E > 0) {
			$('div#line_M').html( ("ca. " + (Math.round(mat/0.1)) / 10) + " kg/m<sup>2</sup>");
			$('#Materialverbrauch').show('slow');
			gt = false; 
		} else {
			$('div#line_M').html( "Bitte wählen Sie ein Produkt!" );
			$('div#line_F').html( "" );
		}
	}
});
