$(document).ready(function(){
	
	$("#preisKalkWrapper input").attr("autocomplete","off");
	
	
	var fehler=false;
	var tlon;
	var tlat;
	
	function isEmail(email) {
            var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if (regex.test(email)){
				return true
			}else{
				fehler=true;
				return false
			}
        }
		
	function checkString(value){
		if(value.val().length>0 && value.val().length<30){
			return false;
		}else {
			fehler=true;
			return true;
		}
	}
	
	function checkStringNachricht(value){
		if(value.val().length>0 && value.val().length<1000){
			return false;
		}else {
			fehler=true;
			return true;
		}
	}
	
	function hideKontaktForm(){
		$("#kontaktForm").fadeOut("fast",showMailOk);
	}
	
	function showMailOk(){
		$("#preiseContent .ok").fadeIn("fast");
	}
	
	function makeError(elem){
		elem.css("border","1px solid red");
		elem.css("background-color","#ffb6b6");
	}
	
	function delError(elem){
		elem.css("border","1px solid #45a1da");
		elem.css("background-color","#e5f6ff");
	}
	
	$("#sendKontakt").click(function() {
		fehler=false;
		if(!isEmail($("#userEmail").val())){
			makeError($("#userEmail"));
		}else{
			delError($("#userEmail"));
		}
		
		if(checkString($("#userVorname"))) {
			makeError($("#userVorname"));
		}else{
			delError($("#userVorname"));
		}
		
		if(checkString($("#userNachname"))) {
			makeError($("#userNachname"));
		}else{
			delError($("#userNachname"));
		}
		
		if(checkString($("#userStrasse"))) {
			makeError($("#userStrasse"));
		}else{
			delError($("#userStrasse"));
		}
		
		if(checkString($("#userOrt"))) {
			makeError($("#userOrt"));
		}else{
			delError($("#userOrt"));
		}
		
		if(checkString($("#userPlz"))) {
			makeError($("#userPlz"));
		}else{
			delError($("#userPlz"));
		}
		
		if(checkString($("#userTelefon"))) {
			makeError($("#userTelefon"));
		}else{
			delError($("#userTelefon"));
		}
		
		if(checkStringNachricht($("#userNachricht"))) {
			makeError($("#userNachricht"));
		}else{
			delError($("#userNachricht"));
		}
		
		if(!fehler){
			$("#sendKontakt").attr("disabled","disabled");
			var vorname=escape($("#userVorname").val());
			var nachname=escape($("#userNachname").val());
			var strasse=escape($("#userStrasse").val());
			var ort=escape($("#userOrt").val());
			var plz=$("#userPlz").val();
			var email=escape($("#userEmail").val());
			var telefon=escape($("#userTelefon").val());
			var nachricht=escape($("#userNachricht").val());
			
			$.post("sendData.php", { sendMail: true,vorname: vorname, nachname: nachname, strasse: strasse, ort: ort, plz: plz, email: email, telefon: telefon, nachricht: nachricht},hideKontaktForm);
		}
		
	})
	
	$(".andereHinfahrt").click(function(){
		$(".hinfahrtZiel").text("PLZ/ Ort: ");
		$(".abflugZeit").text("Uhrzeit: ");
		$(".hinfahrtSelect").replaceWith("<input type='text' class='text' id='hinfahrt_plz' name='hinfahrt_plz' _value='' />");
		$(".hinfahrtUhrzeit").replaceWith("Strasse: <input style='width: 66px; margin-left: 11px' type='text' class='text' id='huhrzeit' name='hinfahrt_strasse' value='' />");
	})
	
	$(".andereAbholung").click(function(){
		$(".abholungZiel").text("PLZ/ Ort: ");
		$(".abholungZeit").text("Abholdatum: ");
		$(".abholungFlugnummer").text("Abholzeit: ");
		$(".abholungAnkunft").remove()
		$("#adatum").remove()
		$(".abholungSelect").replaceWith("<input type='text' class='text' id='abholung_plz' name='abholung_plz' _value='' />");
		$(".abholungUhrzeit").replaceWith("Strasse: <input style='width: 66px; margin-left: 11px;' type='text' class='text' id='aauhrzeit' name='abholung_strasse' value='' />");
		$("#auhrzeit").css("width","50px");
		$("#aflugnummer").css("width","50px");
	})
	
	function setDefaults(hinfahrt,abholung){
		if(hinfahrt){
			$("#hdatum").css("background-color","#e5f6ff");
			$("#hdatum").css("border","1px solid #45a1da");
			$("#huhrzeit").css("background-color","#e5f6ff");
			$("#huhrzeit").css("border","1px solid #45a1da");
			$("#hauhrzeit").css("background-color","#e5f6ff");
			$("#hauhrzeit").css("border","1px solid #45a1da");
			$("#hpersonen").css("background-color","#e5f6ff");
			$("#hpersonen").css("border","1px solid #45a1da");
		}
		if(abholung){
			$("#adatum").css("background-color","#e5f6ff");
			$("#adatum").css("border","1px solid #45a1da");
			$("#auhrzeit").css("background-color","#e5f6ff");
			$("#auhrzeit").css("border","1px solid #45a1da");
			$("#aauhrzeit").css("background-color","#e5f6ff");
			$("#aauhrzeit").css("border","1px solid #45a1da");
			$("#aflugnummer").css("background-color","#e5f6ff");
			$("#aflugnummer").css("border","1px solid #45a1da");
			$("#apersonen").css("background-color","#e5f6ff");
			$("#apersonen").css("border","1px solid #45a1da");
		}
	}
	
	function hideForm(){
		$(".transferForm").fadeOut("fast",showOk);
	}
	
	function showOk(){
		$("#rightCol .ok").fadeIn("slow");
	}
	
	function checkPassagier(){
		var fehlerPassagier=false;
		if($("#vname").val().length<3){
			$("#vname").css("background-color","#ffb6b6");
			$("#vname").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#vname").css("background-color","#e5f6ff");
			$("#vname").css("border","1px solid #45a1da");
		}
		
		if($("#nname").val().length<3){
			$("#nname").css("background-color","#ffb6b6");
			$("#nname").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#nname").css("background-color","#e5f6ff");
			$("#nname").css("border","1px solid #45a1da");
		}
		
		if($("#strasse").val().length<3){
			$("#strasse").css("background-color","#ffb6b6");
			$("#strasse").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#strasse").css("background-color","#e5f6ff");
			$("#strasse").css("border","1px solid #45a1da");
		}
		
		if($("#plz").val().length<3){
			$("#plz").css("background-color","#ffb6b6");
			$("#plz").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#plz").css("background-color","#e5f6ff");
			$("#plz").css("border","1px solid #45a1da");
		}
		
		if($("#ort").val().length<3){
			$("#ort").css("background-color","#ffb6b6");
			$("#ort").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#ort").css("background-color","#e5f6ff");
			$("#ort").css("border","1px solid #45a1da");
		}
		
		if($("#telefon").val().length<3){
			$("#telefon").css("background-color","#ffb6b6");
			$("#telefon").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#telefon").css("background-color","#e5f6ff");
			$("#telefon").css("border","1px solid #45a1da");
		}
		
		if($("#email").val().length<3){
			$("#email").css("background-color","#ffb6b6");
			$("#email").css("border","1px solid red");
			fehlerPassagier=true;
		}else {
			$("#email").css("background-color","#e5f6ff");
			$("#email").css("border","1px solid #45a1da");
		}
		
		return fehlerPassagier;
		
	}
	
	function checkHinfahrt(){
		var fehlerHinfahrt=false;
		if($("#hdatum").val().length<3){
			$("#hdatum").css("background-color","#ffb6b6");
			$("#hdatum").css("border","1px solid red");
			fehlerHinfahrt=true;
		}else {
			$("#hdatum").css("background-color","#e5f6ff");
			$("#hdatum").css("border","1px solid #45a1da");
		}
		
		
		if($("#huhrzeit").val().length<3){
			$("#huhrzeit").css("background-color","#ffb6b6");
			$("#huhrzeit").css("border","1px solid red");
			fehlerHinfahrt=true;
		}else {
			$("#huhrzeit").css("background-color","#e5f6ff");
			$("#huhrzeit").css("border","1px solid #45a1da");
		}
		
		if($("#hinfahrt_plz").val()!=undefined){
			if ($("#hinfahrt_plz").val().length < 3) {
				$("#hinfahrt_plz").css("background-color", "#ffb6b6");
				$("#hinfahrt_plz").css("border", "1px solid red");
				fehlerHinfahrt = true;
			}
			else {
				$("#hinfahrt_plz").css("background-color", "#e5f6ff");
				$("#hinfahrt_plz").css("border", "1px solid #45a1da");
			}
		}
				
		if($("#hauhrzeit").val().length<3){
			$("#hauhrzeit").css("background-color","#ffb6b6");
			$("#hauhrzeit").css("border","1px solid red");
			fehlerHinfahrt=true;
		}else {
			$("#hauhrzeit").css("background-color","#e5f6ff");
			$("#hauhrzeit").css("border","1px solid #45a1da");
		}
		
	}
	
	function checkAbholung(){
		var fehlerAbholung=false;
		
		if ($("#abholung_plz").val() == undefined && $("#adatum").val().length < 3) {
			$("#adatum").css("background-color", "#ffb6b6");
			$("#adatum").css("border", "1px solid red");
			fehlerAbholung = true;
		}
		else {
			$("#adatum").css("background-color", "#e5f6ff");
			$("#adatum").css("border", "1px solid #45a1da");
		}
			
		if ($("#auhrzeit").val().length < 3) {
			$("#auhrzeit").css("background-color", "#ffb6b6");
			$("#auhrzeit").css("border", "1px solid red");
			fehlerAbholung = true;
		}
		else {
			$("#auhrzeit").css("background-color", "#e5f6ff");
			$("#auhrzeit").css("border", "1px solid #45a1da");
		}
			
		if ($("#aauhrzeit").val().length < 3) {
			$("#aauhrzeit").css("background-color", "#ffb6b6");
			$("#aauhrzeit").css("border", "1px solid red");
			fehlerAbholung = true;
		}
		else {
			$("#aauhrzeit").css("background-color", "#e5f6ff");
			$("#aauhrzeit").css("border", "1px solid #45a1da");
		}
		
		if ($("#aflugnummer").val().length < 3) {
			$("#aflugnummer").css("background-color", "#ffb6b6");
			$("#aflugnummer").css("border", "1px solid red");
			fehlerAbholung = true;
		}
		else {
			$("#aflugnummer").css("background-color", "#e5f6ff");
			$("#aflugnummer").css("border", "1px solid #45a1da");
		}
		
		if ($("#abholung_plz").val() != undefined) {
			if ($("#abholung_plz").val().length < 3) {
				$("#abholung_plz").css("background-color", "#ffb6b6");
				$("#abholung_plz").css("border", "1px solid red");
				fehlerHinfahrt = true;
			}
			else {
				$("#abholung_plz").css("background-color", "#e5f6ff");
				$("#abholung_plz").css("border", "1px solid #45a1da");
			}
		}
	}
	
	$("#transferBuchen").click(function(e){
		e.preventDefault();
		
		var fehlerPassagier=checkPassagier();
		var fehlerHinfahrt=false;
		var fehlerAbholung=false;
		var fahrt="";
		var hflughafen="";
		var aflughafen="";
		var hpersonen="";
		var apersonen="";
		
		$("[name=Fahrt]").each(function(i){
			if($(this).attr("checked")){
				fahrt=$(this).val();
				if($(this).val()=="Hinfahrt"){
					fehlerHinfahrt=checkHinfahrt();
				}
				if($(this).val()=="Abholung"){
					fehlerAbholung=checkAbholung();
				}
				if($(this).val()=="Beides"){
					fehlerHinfahrt=checkHinfahrt();
					fehlerAbholung=checkAbholung();
				}
			}
		})
		
		$("[name=hflughafen] option").each(function(i){
			if ($(this).attr("selected")) {
				hflughafen = $(this).val();
			}
		})
		
		$("[name=aflughafen] option").each(function(i){
			if ($(this).attr("selected")) {
				aflughafen = $(this).val();
			}
		})
		
		$("[name=hpersonen] option").each(function(i){
			if ($(this).attr("selected")) {
				hpersonen = $(this).val();
			}
		})
		
		$("[name=apersonen] option").each(function(i){
			if ($(this).attr("selected")) {
				apersonen = $(this).val();
			}
		})
		
		if(!fehlerPassagier && !fehlerHinfahrt && !fehlerAbholung){
			$("#transferBuchen").attr("disabled","disabled");
			$.post("sendData.php", { 	
										//FAHRGAST DATEN
										fahrt: fahrt, 
										vorname: escape($("input#vname").val()),
										nachname: escape($("input#nname").val()),
										strasse: escape($("input#strasse").val()),
										plz: escape($("input#plz").val()),
										ort: escape($("input#ort").val()),
										telefon: escape($("input#telefon").val()),
										email: escape($("input#email").val()),
										
										//HINFAHRT
										hinflughafen: escape(hflughafen),
										hinfahrtplz: escape($("input#hinfahrt_plz").val()),
										hinfahrtstrasse: escape($("input#huhrzeit").val()),
										hindatum: escape($("input#hdatum").val()),
										hinuhrzeit: escape($("input#huhrzeit").val()),
										hinabflugzeit: escape($("input#hauhrzeit").val()),
										hpersonen: escape(hpersonen),
										
										//ABFLUG
										abflughafen: escape(aflughafen),
										abfahrtplz: escape($("input#abholung_plz").val()),
										abdatum: escape($("input#adatum").val()),
										auhrzeit: escape($("input#auhrzeit").val()),
										abholzeit: escape($("input#aauhrzeit").val()),
										flugnummer: escape($("input#aflugnummer").val()),
										apersonen: escape(apersonen)
										},hideForm);
		}
	});

    $('#zielPlz').keyup(function(event){
		if (event.keyCode == 27) {
			$("#flughafen").fadeOut("fast");
        }
    });
    
    $("#senden,#input_ready").click(function(e){
        e.preventDefault();
    });
    
    $(".nochmal").click(function(e){
        $("#ergebniss").fadeOut("slow", showKalk)
        $("#flughafen").css("display", "none");
		$('#senden').hide();
		$('#input_ready').show();
		$('#startPlz').val('Hindenburgallee 3, 53175 Bonn');
		$('#zielPlz').val('Flughafen Köln Bonn');
		$('#startPlz,#zielPlz').addClass('focusme');
		flat=0;
		flon=0;
		tlat=0;
		tlon=0;
    });
    
    $("#zielPlz").focusin(function(){
		$("#flughafen").fadeIn("fast");
    })
    
    $("#flughafen .cgn").click(function(){
        $("#zielPlz.text").attr("value", "Köln/Bonn-Flughafen");
        $("#flughafen").css("display", "none");
		$('#zielPlz').removeClass('focusme');
		tlon=$(this).find('input[name=tlon]').val();
		tlat=$(this).find('input[name=tlat]').val();
		getLongLat(null,'t');
    })
    
    $("#flughafen .dus").click(function(){
        $("#zielPlz.text").attr("value", "Düsseldorf-Flughafen");
        $("#flughafen").css("display", "none");
		$('#zielPlz').removeClass('focusme');
		tlon=$(this).find('input[name=tlon]').val();
		tlat=$(this).find('input[name=tlat]').val();
		getLongLat(null,'t');
    })
    
    $("#flughafen .dtm").click(function(){
        $("#zielPlz.text").attr("value", "Dortmund-Flughafen");
        $("#flughafen").css("display", "none");
		$('#zielPlz').removeClass('focusme');
		tlon=$(this).find('input[name=tlon]').val();
		tlat=$(this).find('input[name=tlat]').val();
		getLongLat(null,'t');
    })
    
    $("#flughafen .ffh").click(function(){
        $("#zielPlz.text").attr("value", "Frankfurt-Flughafen");
        $("#flughafen").css("display", "none");
		$('#zielPlz').removeClass('focusme');
		tlon=$(this).find('input[name=tlon]').val();
		tlat=$(this).find('input[name=tlat]').val();
		getLongLat(null,'t');
    })
    
    function showErgebniss(){
        $("#ergebniss").fadeIn("slow");
    }
    
    function showKalk(){
        $("#preisKalkWrapper").fadeIn("slow");
    }
    
	$('#preisKalkWrapper input[type=text]').each(function(i){
		var btn=$(this).attr('id');
		$(this).keyup(function(){
			delError($(this));
			$('#'+btn+' + br + .msgBox').text('');
		})
	})
	
	$('#startPlz,#zielPlz').focusin(function(){
		if($(this).hasClass('focusme')){
			$(this).removeClass('focusme');
			$(this).val('');
		}
	})
	//flughafen duesseldorf
	//tlat=51.279284372252&tlon=6.7668596994109
	
	//cgn
	//tlat=50.88028796798&tlon=7.1190438819501
	
	//dtm
	//tlat=51.515697674288&tlon=7.6148620880856
	
	//ffh
	//tlat=50.050762476713&tlon=8.5704795158686
	$('#startPlz').focusout(function(){
		var q=encodeURI($(this).val());
		var btn=$(this).attr('id');
		var elem=$(this);
		if(!elem.val()){
			if(btn=='startPlz'){
				elem.val('Hindenburgallee 3, 53175 Bonn');
			}
			if(btn=='zielPlz'){
				elem.val('Köln/Bonn-Flughafen');
			}
			elem.addClass('focusme');
		}else{
			if(!$('#'+btn+" + .preloader").attr('class') && btn!='zielPlz'){
				elem.after('<img src="bilder/preloader_1.gif" class="preloader" alt="preloader" />');
			}
		}
		
		$.ajax({
			type:"GET",
			dataType:"xml",
			url:"http://nominatim.openstreetmap.org/search?q="+q+"&format=xml&polygon=0&addressdetails=0&email=ogrodowicz@iconcepts.de",
			error:function(){alert("fehler");},
			success:function(data){
				$('#'+btn+" + .preloader").remove();
				//alert("lat:"+$(data).find('place:first').attr('lat')+"--lon:"+$(data).find('place:first').attr('lon'));
				if($(data).find('place').length>=1){
					if(btn=='startPlz'){
						getLongLat(data,'f');
					}
				}else{
					makeError(elem);
					$('#'+btn+" + br + div.msgBox").text("Ort wurde nicht gefunden, bitte prüfen Sie Ihre Eingabe.");
				}
			}
		});
	})
	
	function getLongLat(data,fromto){
		if(data){
			if (fromto == 'f') {
				flat = $(data).find('place:first').attr('lat');
				flon = $(data).find('place:first').attr('lon');
			}
		}
		if(flat>0 && flon>0 && tlat>0 && tlon>0){
			$('#senden').fadeIn();
			if($("#senden").attr('disabled')){
				$("#senden").removeAttr('disabled');
			}
		}
	}
	
	flat=0;
	flon=0;
	tlat=0;
	tlon=0;

	function getDistance(dist){
		$.each(dist,function(i,d){
			if(d.distance){
				
			}
		})
	}

    $("#senden").click(function(){
			$(this).attr('disabled','disabled');
			jQuery.ajax({
				type: "GET",
				dataType: "xml",
				url: "getDistance.php?flat="+flat+"&flon="+flon+"&tlat="+tlat+"&tlon="+tlon,
				error: function(){alert("fehler...")},
				success: function(xml){
					iE = 0;
		            iC = 0;
		            
		            var euroVar = $("euro", xml).text();
		            var centVar = $("cent", xml).text();
		            if (!centVar) {
		                centVar = "00";
		            }

		            if (euroVar > 5000 || !euroVar) {
		                $("#preisKalkContent #ergebniss .fehler").show();
		                $("#preisKalkContent #ergebniss #euro").hide();
		                $("#preisKalkContent #ergebniss #cent").hide();
		            }
		            else {
		                $("#preisKalkContent #ergebniss .fehler").hide();
		                $("#preisKalkContent #ergebniss #euro").show();
		                $("#preisKalkContent #ergebniss #cent").show();
		                intera = window.setInterval("countIt(" + euroVar + "," + centVar + ")", 20);
		            }
					$("#preisKalkWrapper").fadeOut("slow", showErgebniss)
				}
			});
    });
 
    $(".trennerHinfahrt").css("display", "none");
    $(".trennerAbholung").css("display", "none");
	$(".trennerPassagier").css("display", "none");
    $("#flughafen").css("display", "none");
	$("#transferBuchen").css("display", "none");
    $("#preisKalkContent #ergebniss .fehler").css("display", "none");
    
    $("#hinfahrt").click(function(){
        if ($(".trennerHinfahrt").is(":hidden") || $(".trennerAbholung").is(":visible")) {
            $(".trennerPassagier").slideDown("slow");
			$(".trennerHinfahrt").slideDown("slow");
            $(".trennerAbholung").slideUp();
			$("#transferBuchen").show();
			setDefaults(1,0);
        }
    });
    
    $("#abholung").click(function(){
        if ($(".trennerAbholung").is(":hidden") || $(".trennerHinfahrt").is(":visible")) {
			$(".trennerPassagier").slideDown("slow");
            $(".trennerAbholung").slideDown("slow");
            $(".trennerHinfahrt").slideUp();
			$("#transferBuchen").show();
			setDefaults(0,1);
        }
    });
    
    $("#beides").click(function(){
        if ($(".trennerHinfahrt").is(":hidden") || $(".trennerAbholung").is(":hidden")) {
			$(".trennerPassagier").slideDown("slow");
            $(".trennerHinfahrt").slideDown("slow");
            $(".trennerAbholung").slideDown("slow");
			$("#transferBuchen").show();
			setDefaults(1,1);
        }
    });
});



function countIt(countEuro, countCent){
    if (iE > countEuro && iC > countCent) {
        window.clearInterval(intera);
        
    }
    else 
        if (iE <= countEuro) {
            $("#ergebniss #euro").text(iE + ", ");
            $("#ergebniss #cent").html("00 &euro;*");
            iE++;
        }
        else 
            if (iC <= countCent) {
            
                if (iC < 10) {
                    iCent = "0" + iC;
                }
                else {
                    iCent = +iC;
                }
                $("#ergebniss #cent").html(iCent + " &euro;*");
                iC++;
            }
    
}
