$(function() {

var name, email, phone, address, szoba_name, szoba_email, szoba_phone, szoba_address;
		   
function validateName(name){  
    //if it's NOT valid  
    if(name.length < 4){  

        return false;  
    }  
    //if it's valid  
    else{  

        return true;  
    }  
}  

function validateNumber(number) {
	var filter = /^[0-9]+$/;
	if (filter.test(number) && (number.length != 0)) {
		return true;
	} else {
		return false;
	}
}

//validation functions
function validateEmail(email){
//testing regular expression
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
//if it's valid email
if(filter.test(email)){

return true;
}
//if it's NOT valid
else {

	return false;
}
} 

function cleanForms() {
	$(".modal_window_container input").val(""); 
}
		   
var dates= $('#szoba_erkezes, #szoba_tavozas').datepicker({
			showOn: 'both', 
			buttonImageOnly: true, 
			buttonText: '',

/*			defaultDate: "+1w",*/
			dateFormat:  "yy. MM d.",
			showOtherMonths: true,
			selectOtherMonths: true,
			minDate: new Date(),
			onSelect: function( selectedDate ) {
				$(this).css('color','#5f220e');
				var option = this.id == "szoba_erkezes" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
				dates.not( this ).datepicker( "option", option, date );
			}
		});
$("input.datepicker").datepicker({showOn: 'both', buttonImageOnly: true, buttonText: '',
										   showOtherMonths: true,
										   selectOtherMonths: true,
											minDate: new Date(),
											onSelect: function() {
												$(this).css('color','#5f220e');
											}
										   });

			   $( ".datepicker" ).datepicker( "option", "dateFormat", "yy. MM d." );
		$("#modal_window, #szoba_modal_window, #check_modal_window, #szoba_check_modal_window").dialog({
			autoOpen: false,
			modal: true
		});

		    /* initiate ajax call */ 
	$('button#check_btn').click(function() {
	
	
	
		var szoba_date = $("input#szoba_erkezes");
		var felnott = $("input#szoba_felnott").val();
		var gyerek = $("input#szoba_gyerek").val();
		
		if(felnott == "Felnőtt"){
		var felnott=0;
		}else{
		var felnott=felnott;
		}
		
		
		if(gyerek == "Gyerek"){
		var gyerek=0;
		}else{
		var gyerek=gyerek;
		}

				var tavozas = $("input#szoba_tavozas");
				$("#szoba_erk_check").html(szoba_date.val());
		$("#szoba_tav_check").html(tavozas.val());
		$("#szoba_helyek_check").html(felnott+' felnőtt, '+gyerek+' gyerek');
		

		
		var ossz_letszam=felnott+gyerek;
		
			if (ossz_letszam >= 1 && (szoba_date.datepicker('getDate') != null) && (tavozas.datepicker('getDate') != null)) {
							
		$("#szoba_modal_window").dialog('open');
		// prevent the default action, e.g., following a link

		return false;
		} else {
		/* Üres mezők esetében piros keretet adunk az üres mezőknek */

		
		if($("input#szoba_erkezes").val() == "Érkezés"){ 
															$("input#szoba_erkezes").css("border", "1px solid red"); 
															$("input#szoba_erkezes").css("width", "174px"); 
															$("input#szoba_erkezes").css("color", "red"); 
		}
		if($("input#szoba_tavozas").val() == "Távozás"){ 
															$("input#szoba_tavozas").css("border", "1px solid red"); 
															$("input#szoba_tavozas").css("width", "174px"); 
															$("input#szoba_tavozas").css("color", "red"); 
		}
		if(ossz_letszam == 0){ 
															$("#letszam_szobafoglalas").css("border", "1px solid red"); 
															$("#letszam_szobafoglalas").css("height", "25px"); 
															$("#letszam_szobafoglalas").css("margin", "0 0 -10px 0"); 
															$("#letszam_szobafoglalas").css("color", "red"); 
		}
		
			return false;
		}
	});
								   
	$('input#szoba_erkezes').click(function() {
															$("input#szoba_erkezes").css("border", ""); 
															$("input#szoba_erkezes").css("color", ""); 
	});

	$('input#szoba_tavozas').click(function() {
															$("input#szoba_tavozas").css("border", ""); 
															$("input#szoba_tavozas").css("color", ""); 
	});
	
	$('input#szoba_felnott').click(function() {
															$("#letszam_szobafoglalas").css("border", ""); 
															$("input#szoba_tavozas").css("color", ""); 
	});
	
	$('input#szoba_gyerek').click(function() {
															$("#letszam_szobafoglalas").css("border", ""); 
															$("input#szoba_tavozas").css("color", ""); 
	});
	
	
    /* initiate ajax call */ 
	$('button#foglalas').click(function() {
	
		var date = $("input#erkezes_date");
		var letszam = $("input#letszam").val();
		if (validateNumber(letszam) && (date.datepicker('getDate') != null)) {
			
							
		$("#modal_window").dialog('open');
		// prevent the default action, e.g., following a link
		$("#erk_check").html(date.val());
		$("#helyek_check").html(letszam);
		return false;
		} else {
			return false;
		}
	});
	
	$(".modal_window a.close_btn").click(function() {
		$(".modal_window").dialog("close");
		return false;
	});
	$("#check_modal_window a.close_btn").click(function() {
		$("#check_modal_window").dialog("close");
		return false;
	});
	
	$("#modal_window #submit_details").click(function() {
		asztal_name = $("#name").val();
		asztal_phone = $("#phone").val();
		asztal_email = $("#email").val();
		asztal_foglalas_napja = $("#erkezes_date").val();
		asztal_letszam = $("#letszam").val();
		asztal_megjegyzes = $("#megjegyzes").val();
		
		if (validateName(asztal_name) && validateEmail(asztal_email)) {
			
			$("#modal_window").dialog("close");
			$("#check_modal_window").dialog("open");
			return false;
		} else {
			alert("Minden mező kitöltése kötelező!");
			return false;
		}

	});
	
	$("#submit_szoba_details").click(function() {
										   
		szoba_name = $("#szoba_name").val();
		szoba_address = $("#szoba_address").val();
		szoba_phone = $("#szoba_phone").val();
		szoba_email = $("#szoba_email").val();
		szoba_date = $("input#szoba_erkezes").val();
		
		if($("input#szoba_felnott").val() == "Felnőtt"){
		szoba_felnott = 0;
		}else{
		szoba_felnott = $("input#szoba_felnott").val();
		}
		
		if($("input#szoba_gyerek").val() == "Gyerek"){
		szoba_gyerek = 0;
		}else{
		szoba_gyerek = $("input#szoba_gyerek").val();
		}
		
		szoba_tavozas = $("input#szoba_tavozas").val();
		szoba_megjegyzes = $("input#szoba_megjegyzes").val();
		
		if (validateName(szoba_name) && validateEmail(szoba_email)) {
			
			$("#szoba_modal_window").dialog("close");
			$("#szoba_check_modal_window").dialog("open");
		return false;
		} else {
			alert("Minden mező kitöltése kötelező!");
			return false;
		}
		
	});
	
	$("#szoba_post_reservation").click(function(e) {		
		e.preventDefault();

		var data = {name: szoba_name, address: szoba_address, phone: szoba_phone, email: szoba_email, erkezes: szoba_date, tavozas: szoba_tavozas, felnott: szoba_felnott, gyerek: szoba_gyerek, megjegyzes: szoba_megjegyzes};
		
		$.ajax({
			type: "POST",
	  		url: "/bin/szoba_foglal.php",
	  		data: data,
			success: function() {
				alert("Köszönjük foglalását, kollégánk hamarosan felveszi Önnel a kapcsolatot!");
				cleanForms();
				
				$("#szoba_erkezes").val("");	
				$("#szoba_tavozas").val("");	
				$("#szoba_felnott").val("Felnőtt");	
				$("#szoba_gyerek").val("Gyerek");

			},
			
		});
		$("#szoba_check_modal_window").dialog("close");
});
	
	$("#post_reservation").click(function(e) {		
		e.preventDefault();								   

		var data = {name: asztal_name, phone: asztal_phone, email: asztal_email, foglalas_napja: asztal_foglalas_napja, letszam: asztal_letszam, megjegyzes: asztal_megjegyzes};
		$.ajax({
			type: "POST",
	  		url: "/bin/asztal_foglal.php",
	  		data: data,
			success: function() {
				alert("Köszönjük asztalfoglalását, szeretettel várjuk éttermünkben!");
				cleanForms();
				$("#erkezes_date").val("");
				$("#letszam").val("");
			},
		});
		$("#check_modal_window").dialog("close");
		return false;
});
							  

		$("input#erkezes_date").val("Foglalás napja");
		$("input#szoba_erkezes").val("Érkezés");
		$("input#szoba_tavozas").val("Távozás");
	$("input.timepicker").timePicker();	
	
	$("input[placeholder]").placeholder(); 
	
	
});	
