/**
	author: Mauro Mascia
	date: March 2010
	website: www.hotelreginamargherita.com
	copyright (c) Hotel Regina Margherita Cagliari 2010
*/


$(function(){
	$("#wizard").formwizard(
		{ //wizard settings 
			formPluginEnabled: false, //Ajax is used to post the form to the server
			validationEnabled : true, //The Validation plugin is used for validating the form at each step
			focusFirstInput : false, // puts focus at the first input on each step
			textSubmit : 'Sommario',
			textNext : 'Avanti',
			textBack : 'Indietro'
		},
		{
			//validation settings
			messages: {
				nomecognome: "Inserisci il tuo nome e il tuo cognome",
				email: "Inserisci un indirizzo email valido"
			} // custom message shown when are invalid
		});

	/* Apre una popup al submit */
	$('#wizard').submit(function() {
        window.open('', 'formpopup', 'width=400,height=400,resizeable,scrollbars');
        this.target = 'formpopup';
    });
		
		
/*** Permette di disabilitare i check negli input radio *****************************************/
	var radioChecked;
	$('.uncheckable').bind('mousedown', function() {
		radioChecked = $(this).attr('checked');
	});
	$('.uncheckable').bind('click', function() {
		if (radioChecked) {
			$(this).attr('checked', false);
		 
			if($(this).attr('name') == 'radio_lunch') {
				$("#pranzodiv").hide()
				
				$("#pranzo-slider").data("value.slider", 0);
				$("#pranzo-amount").val(0);
				
				$("#timefieldpranzo").val("");
			}
			 
			if($(this).attr('name') == 'radio_dinner') {
				$("#cenadiv").hide()
				
				$("#cena-slider").data("value.slider", 0);
				$("#cena-amount").val(0);
				
				$("#timefieldcena").val("");
			}
		}
		else {
			$(this).attr('checked', true);
			 
			if($(this).attr('name') == 'radio_lunch') {
				$("#pranzodiv").show()
			}
			 
			if($(this).attr('name') == 'radio_dinner') {
				$("#cenadiv").show()
			}
		}
	});


/*** Calendario **********************************************************************************/
// ATTENZIONE: richiede jquery.datePicker.js

	var go=0;
	var selectedDate;
	$("#button_next").hide();

	$('.date-pick').datePicker( {
		createButton:false,
		displayClose:true,
		closeOnSelect:false,
		selectMultiple:true,
		inline:true
	}).bind(
		'dateSelected',
		function(e, selectedDate, $td, state) {
	//tiene traccia di quanti giorni sono selezionati o deselezionati
			state ? go+=1 : go-=1;

	//mostra o nasconde il pulsande "next" a seconda che sia selezionato o meno un giorno
			go ? $("#button_next").fadeIn("fast") : $("#button_next").fadeOut("fast");
		}
	);

	// In questo modo ogni volta che si preme next viene aggiornato il valore della(e) data(e)
	$("#button_next").click(function() {
		$('#date-hidden').val($('.date-pick').dpGetSelected());
	});


/*** Informazioni sugli orari ********************************************************************/
// ATTENZIONE: richiede jquery.watermarkinput.js

	$("#hour_info_textarea").Watermark("Qui puoi scriverci informazioni sugli orari");
	$("#hour_info_textarea").focusin(function(){ $(this).animate({"height": "80px"}, "fast" );	});
	$("#hour_info_textarea").focusout(function(){ $(this).animate({"height": "40px"}, "fast" ); });


/*** Tipo di servizio desiderato *****************************************************************/
	$('input[name=use]:radio').change(function() {
		var use_radio = $('input[name=use]:radio:checked').val();

		// aggiunge o toglie la classe "link" in modo da permettere di saltare gli step
		$('input[name=use]:radio:checked:[value!=ristorazione]').each(function() {
			$('input[name=use]:radio:[value=step_ristorazione]').removeClass("link");
		});
		$('input[name=use]:radio:checked:[value=step_ristorazione]').addClass("link");
	});

/*** Numero di ospiti ***** relazionato con lo step seguente: Scelta disposizioni ****************/
// ATTENZIONE: richiede jquery.selectToUISlider.js

/**
	Nota: Le (frazioni) di sala per 20,35 e 45 ospiti ammettono 4 disposizioni
		  Quella per 70 ne ammette solo 2 e per ospiti > 70 solo una (platea)
		  quindi la scelta (obbligatoria) di platea va saltata
*/

	$.fn.updateClientsRelated = function(value) {
		/*  cambiamenti agli slider: il n. max e' uguale a quello del n. di persone;
			se viene modificato il n. di persone viene anche modificato lo slider e l'amount	*/
		$("#ribaltine-slider").data("max.slider", value);
		$("#ribaltine-slider").data("value.slider", value);
		$("#ribaltine-amount").val(value);
				
		$("#wospiticoffee-slider").data("max.slider", value);
		$("#wospiticoffee-slider").data("value.slider", value);
		$("#wospiticoffee-amount").val(value);
		
		$("#ospiticoffee-slider").data("max.slider", value);
		$("#ospiticoffee-slider").data("value.slider", value);
		$("#ospiticoffee-amount").val(value);
		
		$("#pranzo-slider").data("max.slider", value);
		$("#pranzo-slider").data("value.slider", value);
		$("#pranzo-amount").val(value);
		
		$("#cena-slider").data("max.slider", value);
		$("#cena-slider").data("value.slider", value);
		$("#cena-amount").val(value);
		
		$("#clients_info").val(value);
		$('#clients-hidden').val(value);
	}
	
	//quale disposizione è stata scelta?
	$('#disp-hidden').val($("input[name='disp']:checked").val());
	$("input[name='disp']").change(function(){
		$('#disp-hidden').val($("input[name='disp']:checked").val());
	});
	

/*** SCELTA: Attrezzature *******************************/

/********************
	$("#pro-type-info").val($('#proiettore').val());
	$('select[name=proiettore]').selectToUISlider({
		tooltip: false,
		sliderOptions: {
			change: function(e,ui) {
				$("#pro-type-info").val($('#proiettore').val());
				$("#ui-slider-label").hide();
			}
		}
	});
********************/

	$("#pranzo-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 5,
		slide: function(event, ui) {
			$("#pranzo-amount").val(ui.value);
		}
	});
	$("#pranzo-amount").val($("#pranzo-slider").slider("value"));
	
	$("#cena-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 5,
		slide: function(event, ui) {
			$("#cena-amount").val(ui.value);
		}
	});
	$("#cena-amount").val($("#cena-slider").slider("value"));


	$("#coffeebreak-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 4,
		step: 1,
		slide: function(event, ui) {
			var value = ui.value;
			$("#coffeebreak-amount").val(ui.value);
			
			var i = 1;
			while(i <= value) {
				$("#timefield"+i+"div").show();
				i = i + 1;
			}
			if(value < 4) {
				var i = value+1;
				while(i <= 4) {
					$("#timefield"+i+"div").hide();
					i = i + 1;
				}
			}
		}
	});
	$("#coffeebreak-amount").val($("#coffeebreak-slider").slider("value"));
	
	$("#wospiticoffee-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 5,
		slide: function(event, ui) {
			$("#wospiticoffee-amount").val(ui.value);
		}
	});
	$("#wospiticoffee-amount").val($("#wospiticoffee-slider").slider("value"));
	
	$("#ospiticoffee-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 5,
		slide: function(event, ui) {
			$("#ospiticoffee-amount").val(ui.value);
		}
	});
	$("#ospiticoffee-amount").val($("#ospiticoffee-slider").slider("value"));


	$("#microfoni-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 10,
		step: 1,
		slide: function(event, ui) {
			$("#microfoni-amount").val(ui.value);
		}
	});
	$("#microfoni-amount").val($("#microfoni-slider").slider("value"));
		
	$("#radiomicrofoni-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 10,
		step: 1,
		slide: function(event, ui) {
			$("#radiomicrofoni-amount").val(ui.value);
		}
	});
	$("#radiomicrofoni-amount").val($("#radiomicrofoni-slider").slider("value"));
	


	// modifiche a runtime da 'select#clients'
	$("#ribaltine-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 5,
		slide: function(event, ui) {
			$("#ribaltine-amount").val(ui.value);
		}
	});
	$("#ribaltine-amount").val($("#ribaltine-slider").slider("value"));

	$("#pc-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 20,
		step: 1,
		slide: function(event, ui) {
			$("#pc-amount").val(ui.value);
		}
	});
	$("#pc-amount").val($("#pc-slider").slider("value"));

	$("#lcd-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 10,
		step: 1,
		slide: function(event, ui) {
			$("#lcd-amount").val(ui.value);
		}
	});
	$("#lcd-amount").val($("#lcd-slider").slider("value"));
	
	$("#proiettore-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 10,
		step: 1,
		slide: function(event, ui) {
			$("#proiettore-amount").val(ui.value);
		}
	});
	$("#proiettore-amount").val($("#proiettore-slider").slider("value"));
	
	
	$("#tavoli-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 10,
		step: 1,
		slide: function(event, ui) {
			$("#tavoli-amount").val(ui.value);
		}
	});
	$("#tavoli-amount").val($("#tavoli-slider").slider("value"));


	$("#roomdouble-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 100,
		step: 5,
		slide: function(event, ui) {
			$("#roomdouble-amount").val(ui.value);
		}
	});
	
	$("#roomsingle-slider").slider({
		range:"min",
		value: 0,
		min: 0,
		max: 100,
		step: 5,
		slide: function(event, ui) {
			$("#roomsingle-amount").val(ui.value);
		}
	});


	$("#button_next").updateClientsRelated($(".clients:selected").text());
	
	$('select#clients').selectToUISlider({
		labelSrc:"text",
		sliderOptions: {
			change: function(e,ui) {
				var value = $("#handle_clients").attr("aria-valuetext");

				if(value < 70) {
					$('#disp_wrap2').show();
				}
				if(value == 70) {
					$('#disp_wrap2').hide();
				}

				$(this).updateClientsRelated(value);
				
				// seleziona il primo ("platea") ad ogni cambio di numero clienti
				$('span:[name=disp1] input').attr({ checked:true });
			}
		}
	});
	
	
// *****************  ELEMENTI CHE NASCONDONO ELEMENTI   ***********/
	
/*** Audio ************/
	$("#checkbox_audio").click(function(){
		if( $('#checkbox_audio').attr('checked')) {
			$('#audiodiv').show();
		}
		else {
			$('#audiodiv').hide();
			
			//azzera i campi degli slider
			$("#radiomicrofoni-slider").data("value.slider", 0);
			$("#radiomicrofoni-amount").val(0);

			$("#microfoni-slider").data("value.slider", 0);
			$("#microfoni-amount").val(0);
		}
	});
	
/*** Welcome Coffee ************/
	$("#checkbox_welcomecoffee").click(function(){
		if( $('#checkbox_welcomecoffee').attr('checked')) {
			$('#wcoffeediv').show();
		}
		else {
			$('#wcoffeediv').hide();
			
			//azzera i campi degli slider
			$("#ospiticoffee-slider").data("value.slider", 0);
			$("#ospiticoffee-amount").val(0);
		}
	});
	
/*** Coffee break ************/
	$("#checkbox_coffee_break").click(function(){
		if( $('#checkbox_coffee_break').attr('checked')) {
			$('#coffeediv').show();
		}
		else {
			$('#coffeediv').hide();
			
			//azzera i campi degli slider
			$("#coffeebreak-slider").data("value.slider", 0);
			$("#coffeebreak-amount").val(0);
			$("#ospiticoffee-slider").data("value.slider", 0);
			$("#ospiticoffee-amount").val(0);
			
			var i = 1;
			while(i <= 4) {
				$("#timefield"+i+"div").hide();
				i = i + 1;
			}
		}
	});
	
	
	/*** Pranzo ************/
	$("#radio_lunch").click(function(){
		if( $('#checkbox_audio').attr('checked')) {
			$('#audiodiv').show();
		}
		else {
			$('#audiodiv').hide();
			
			//azzera i campi degli slider
			$("#radiomicrofoni-slider").data("value.slider", 0);
			$("#radiomicrofoni-amount").val(0);

			$("#microfoni-slider").data("value.slider", 0);
			$("#microfoni-amount").val(0);
		}
	});
	
	
/*** Informazioni extra ************************************************************************/
// ATTENZIONE: richiede jquery.watermarkinput.js
	
	//$("#nomecognome").Watermark("Per sapere chi sei..."); //problemi con il plugin validate
	//$("#email").Watermark("Per poterci scrivere...");
	//$("#tel").Watermark("Per poterci parlare...");


	$("#extra_info_textarea").Watermark("Qui puoi scriverci informazioni ulteriori");
	$("#extra_info_textarea").focusin(function(){ $(this).animate({"height": "80px"}, "fast" ); });
	$("#extra_info_textarea").focusout(function(){ $(this).animate({"height": "40px"}, "fast" ); });
	
	
	$("#note_attrezzature").Watermark("Qui puoi scriverci ulteriori note");
	$("#note_attrezzature").focusin(function(){	$(this).animate({"height": "60px"}, "fast" ); });
	$("#note_attrezzature").focusout(function(){ $(this).animate({"height": "40px"}, "fast" );	});
	
	$("#note_pranzo").Watermark("Qui puoi scriverci ulteriori note");
	$("#note_pranzo").focusin(function(){	$(this).animate({"height": "60px"}, "fast" ); });
	$("#note_pranzo").focusout(function(){ $(this).animate({"height": "40px"}, "fast" );	});
	
	$("#note_cena").Watermark("Qui puoi scriverci ulteriori note");
	$("#note_cena").focusin(function(){	$(this).animate({"height": "60px"}, "fast" ); });
	$("#note_cena").focusout(function(){ $(this).animate({"height": "40px"}, "fast" );	});
	
	
/*** Time picker *******************************************************************************/
	for(var i=1; i<=5; i++) {
		$("#clockpick"+i).clockpick({
			starthour : 6,
			endhour : 20,
			valuefield: 'timefield'+i,
			military: true
		}); 
	}
	
	$("#clockpickpranzo").clockpick({
		starthour : 12,
		endhour : 16,
		valuefield: 'timefieldpranzo',
		military: true
	});
	
	$("#clockpickcena").clockpick({
		starthour : 19,
		endhour : 23,
		valuefield: 'timefieldcena',
		military: true
	}); 
	
});




