$(document).ready(function() {
	
	$('#data_par').DatePicker({
		format:'d/m/Y',
		date: $('#data_par').val(),
		current: $('#data_par').val(),
		starts: 1,
		position: 'right',
		onBeforeShow: function(){
			$('#data_par').DatePickerSetDate($('#data_par').val(), true);
		},
		onChange: function(formated, dates){
			$('#data_par').val(formated); 
		}
	});
	
	$('#data_arr').DatePicker({
		format:'d/m/Y',
		date: $('#data_arr').val(),
		current: $('#data_arr').val(),
		starts: 1,
		position: 'right',
		onBeforeShow: function(){
			$('#data_arr').DatePickerSetDate($('#data_arr').val(), true);
		},
		onChange: function(formated, dates){
			$('#data_arr').val(formated);
		}
	});
	
	_refresh = function(jString) {
		var entries = JSON.parse(jString);
		
		$.each(entries, function(index, entry) {
  			$.each(entry, function(name, string) {
				$('#'+name).html(string);
  			});
		});
		
		$('#formList').jScrollPane({height_ok:170});
		$('#inner_elenco').jScrollPane({height_ok:65});
		$("#citiesSubmit").css({'border-top': '1px solid rgb(153, 0, 0)', 'padding-top': '2px'});
		$('.scrollable_d').jScrollPane({height_ok:190}).onImagesLoad({
			callback: function(ref) {
				$(ref).jScrollPane({height_ok:190});
			}
		});
	}	

	_communicate = function(jSon) {
		var jString = JSON.stringify(jSon);
		$.ajax({
			type: "GET",
			url: "rpc/handler.php",
			data: "data=" + jString,
			cache: false,
			success: function(html) {
				_refresh(html);
				$("#containerscroll a").unbind();
				$("#containerscroll a").lightBox();
			}
		});
	}
	
	actionSwitch = function(action) {
		if (param = action.match(/\d+/g)) {
			action = action.replace(param, '');
			param = param[0];
		} else {
			param ='';
		}
		
		if (action) {
			switch(action) {
				case 'agencyChosen':
					elements = $('#viaggiatore_info > input');
					$.each(elements, function(index, entry) {
						if ($('#'+entry.id).attr('type')!='radio') {
							$('#'+entry.id).attr('disabled', 'disabled');
						}
					});
					elements = $('#agenzia_info > input');
					$.each(elements, function(index, entry) {
						$('#'+entry.id).removeAttr("disabled");
					});
					break;
				case 'customerChosen':
					elements = $('#viaggiatore_info > input');
					$.each(elements, function(index, entry) {
						$('#'+entry.id).removeAttr("disabled");
					});
					elements = $('#agenzia_info > input');
					$.each(elements, function(index, entry) {
						if ($('#'+entry.id).attr('type')!='radio') {
							$('#'+entry.id).attr('disabled', 'disabled');
						}
					});
					break;
				case 'toggleCountry':
					var jSon = { "entries" : [ { "action" : "toggleCountry" , "id" : param } ] };

					$('#country'+param).css('font-weight', ($('#country'+param).css('font-weight') != '400' ? '400' : '700'));
					break;
				case 'confirmCountries':
					var check;
					var elements = $('#countriesList > table > tbody > tr > td > a:last');
					$.each(elements, function(index, entry) {
						if ($('#'+entry.id).css('font-weight') != '400') check = true;
					});
					if (check) {
						var jSon = { "entries" : [ { "action" : "confirmCountries" } ] };
					} else {
						$("#cont_info").remove();
						$("#info_div").append('<div id="cont_info">Attenzione, devi selezionare almeno un paese per poter continuare.</div>');
						$("#info_div").css("top", 300);
						$('html, body').animate({
                                                    scrollTop: $("#content").offset().top
                                                }, 2000,function(){$("#info_div").show();});
					}
					//var jSon = { "entries" : [ { "action" : "confirmCountries" } ] };
					
					break;
				case 'confirmCities':
					var check;
					var elements = $('.td_citta > a:last');
					$.each(elements, function(index, entry) {
						if ($('#'+entry.id).css('font-weight') != '400') check = true;
					});
					if (check) {
						$("#main_form").submit();
					} else {
						$("#cont_info").remove();
						$("#info_div").append('<div id="cont_info">Attenzione, devi selezionare almeno una città per poter continuare.</div>');
						$("#info_div").css("top", 300);
						$('html, body').animate({
                                                    scrollTop: $("#content").offset().top
                                                }, 2000,function(){$("#info_div").show();});
					}
					//var jSon = { "entries" : [ { "action" : "confirmCountries" } ] };
					
					break;
				case 'toggleCity':
					var jSon = { "entries" : [ { "action" : "toggleCity" , "id" : param } ] };
					
					if ($('#city'+param).css('font-weight') != '400') {
						$('#city'+param).css('font-weight', '400');
						$('#notti'+param).attr('disabled', 'disabled');
						$('#vitto'+param).attr('disabled', 'disabled');
						$('#guide'+param).attr('disabled', 'disabled');
						$('#gguid'+param).attr('disabled', 'disabled');
						$('#trasf'+param).attr('disabled', 'disabled');
						$('#escur'+param).attr('disabled', 'disabled');
						$('#escur'+param).addClass("spento");
					} else {
						$('#city'+param).css('font-weight', '700');
						$('#notti'+param).removeAttr("disabled");
						$('#vitto'+param).removeAttr("disabled");
						$('#guide'+param).removeAttr("disabled");
						$('#gguid'+param).removeAttr("disabled");
						$('#trasf'+param).removeAttr("disabled");
						$('#escur'+param).removeAttr("disabled");
						$('#escur'+param).removeClass("spento");
					}
					
					break;
				case 'submitStart':
					
					if (parseInt($("#singole").val()) + parseInt($("#doppie").val()) + parseInt($("#triple").val()) < 1) {
						check = false;
						message = 'Attenzione, selezionare almeno una stanza.';
					}
					
					
					if (parseInt($("#nadults").val()) < 1) {
						check = false;
						message = 'Attenzione, aggiungere almeno un adulto.';
					}
					
					if ($("#data_par").val()=="") {
						check = false;
						message = 'Attenzione, devi inserire la data di partenza.';
					}else{
						
						if ($("#data_arr").length > 0 ) {
							if ($("#data_arr").val() =="") {
								check = false;
								message = 'Attenzione, devi inserire la data di arrivo.';
							}else{
								var part = $("#data_par").val();
								part = part.split("/");
								var arr = $("#data_arr").val();
								arr = arr.split("/");
								var partenza = part[2]+part[1]+part[0];
								var arrivo = arr[2]+arr[1]+arr[0];
								if(parseInt(partenza) >= parseInt(arrivo)){
									check = false;
									message = 'Attenzione, la data di arrivo deve essere almeno il giorno successivo a quello di partenza.'+parseInt(partenza)+" | "+parseInt(arrivo);
								}
							}
						
						}	
					}
					if (check == false) {
						$("#cont_info").remove();
						$("#info_div").append('<div id="cont_info">'+message+'</div>');
						$("#info_div").css("top", 300);
						$('html, body').animate({
                                                    scrollTop: $("#content").offset().top
                                                }, 2000,function(){$("#info_div").show();});
					} else {
						$("#form_prenotazioni").submit();
					}
					break;
				
				case 'submitForm':

					if($('#nome').val() != "" && $('#cognome').val() != "") {
						var jSon_custom = { "entries" : [ { "action" : "addName" , "first_name" : $('#nome').val(), "last_name" : $('#cognome').val() } ] };
						$('#nome').val('');
						$('#cognome').val('');
						var jString = JSON.stringify(jSon_custom);
						$.ajax({
							type: "GET",
							url: "rpc/handler.php",
							data: "data=" + jString,
							cache: false,
							success: function(html) {
								_refresh(html);
								actionSwitch('submitForm');
							}
						});
					} else {

						//if ($("#myList").length != 0) $("#sortarray").val($("#myList").sortable('toArray'));
	
						if ($("#data_par").val()=="") {
							check = false;
							message = 'Attenzione, devi inserire la data di partenza.';
						}else{
							
							if ($("#data_arr").length > 0 ) {
								if ($("#data_arr").val() =="") {
									check = false;
									message = 'Attenzione, devi inserire la data di arrivo.';
								}else{
									var part = $("#data_par").val();
									part = part.split("/");
									var arr = $("#data_arr").val();
									arr = arr.split("/");
									var arrivo = arr[2]+arr[1]+arr[0];
									if(parseInt(partenza) >= parseInt(arrivo)){
										check = false;
										message = 'Attenzione, la data di arrivo deve essere almeno il giorno successivo a quello di partenza.'+parseInt(partenza)+" | "+parseInt(arrivo);
									}
								}
							
							}	
						}
						
						
						if ($("#email_viaggiatore").val()=="" && $("#email_agenzia").val()=="") {
							check = false;
							message = 'Attenzione, devi inserire una mail per la risposta.';
						}
						if ($("#tel_viaggiatore").val()=="" && $("#tel_agenzia").val()=="") {
							check = false;
							message = 'Attenzione, ti chiediamo di inserire un recapito telefonico al fine di essere contattato da un nostro operatore.';
						}
						if ($("#email_agenzia").val()!="") {
								var str = $("#email_agenzia").val();
								var at="@";
								var dot=".";
								var lat=str.indexOf(at);
								var lstr=str.length;
								var ldot=str.indexOf(dot);
								if (str.indexOf(at)==-1){
								   check = false;
								}
								if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
								  check = false;
								  message = 'Attenzione, devi inserire una mail valida.';
								}
								if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
									check = false;
									message = 'Attenzione, devi inserire una mail valida.';
								}
								
								
												
						}
						if ($("#email_viaggiatore").val()!="") {
								var str = $("#email_viaggiatore").val();
								var at="@";
								var dot=".";
								var lat=str.indexOf(at);
								var lstr=str.length;
								var ldot=str.indexOf(dot);
								if (str.indexOf(at)==-1){
								   check = false;
								   message = 'Attenzione, devi inserire una mail valida.';	
								}
								if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
								  check = false;
								  message = 'Attenzione, devi inserire una mail valida.';	
								}
								if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
									check = false;
									message = 'Attenzione, devi inserire una mail valida.';	
								}
											
						} 
	
						if ($("input[checked]").val()=='agenzia') {
							elements = $('#agenzia_info > input');
							$.each(elements, function(index, entry) {
								if ($('#'+entry.id).val()=='') {
									check = false;
									message = 'Attenzione, completa i dati relativi all\'agenzia';
								}
							});					
						} else {
							elements = $('#viaggiatore_info > input');
							$.each(elements, function(index, entry) {
								if ($('#'+entry.id).val()=='' && entry.id!="info_viaggiatore") {
									check = false;
									message = 'Attenzione, completa i dati relativi al tuo recapito';
								}
							});						
						}
						if($("#volo_si_no").val() != 1){
							if ($("#inner_elenco").html().length == 0 && ($("#nome").val() == "" || $("#cognome").val() == "")) {
								check = false;
								message = 'Attenzione, devi aggiungere almeno un nominativo alla lista.';
							}
						}else{
							if ($("#volo").val() == "si" &&  $("#inner_elenco").html().length == 0 && ($("#nome").val() == "" || $("#cognome").val() == "")) {
								check = false;
								message = 'Attenzione, devi aggiungere almeno un nominativo alla lista.';
							}
							
						}
	
						if ($("#datipers").attr("checked") != true) {
							check = false;
							message = 'Devi concedere l\'autorizzazione al trattamento dei dati personali';
						}
						if (check == false) {
							$("#cont_info").remove();
							$("#info_div").append('<div id="cont_info">'+message+'</div>');
							$("#info_div").css("top", 300);
                                                        $('html, body').animate({
                                                            scrollTop: $("#content").offset().top
                                                        }, 2000,function(){$("#info_div").show();});
						} else {
							$("#form_prenotazioni").submit();
						}
					}
					break;
				case 'addName':
					if($('#nome').val() == "" || $('#cognome').val() == "") {
						$("#cont_info").remove();
						$("#info_div").append('<div id="cont_info">Attenzione, devi completare i campi nome e cognome</div>');
						$("#info_div").css("top", 300);
						$('html, body').animate({
                                                    scrollTop: $("#content").offset().top
                                                }, 2000,function(){$("#info_div").show();});
					} else {
						var jSon = { "entries" : [ { "action" : "addName" , "first_name" : $('#nome').val(), "last_name" : $('#cognome').val() } ] };
						$('#nome').val('');
						$('#cognome').val('');
					}
					
					break;
				case 'removeName':
					var jSon = { "entries" : [ { "action" : "removeName" , "id" : param } ] };

					break;
				case 'infoCountry':
					var jSon = { "entries" : [ { "action" : "infoCountry" , "id" : param } ] };

					break;
				case 'infoCity':
					var jSon = { "entries" : [ { "action" : "infoCity" , "id" : param } ] };

					break;
				case 'toggleGuide':
					if ($('#guide'+param).val() =='no') {
						$('#gguid'+param).val(0);
					}
					if ($('#guide'+param).val() !='no' && $('#gguid'+param).val() < 1) {
						$('#gguid'+param).val(1);
					}
					if ($('#guide'+param).val() !='no' && $('#gguid'+param).val() > (1+parseInt($('#notti'+param).val())) ) {
						$('#gguid'+param).val( (1+parseInt($('#notti'+param).val())) );
					}					
					break;
				case 'openEscursione':
					elements = $('select');
					strCheck = 'notti vitto guide gguid';
					$.each(elements, function(index, entry) {
						if (strCheck.indexOf(entry.id.substring(0,5)) != -1) {
							$('#'+entry.id).hide();
						}
					});
					
					$("#cont_info_disegna").remove();
					$("#info_div_disegna").append('<div id="cont_info_disegna"><img src="img/ajax-loader.gif"/></div>');
					$("#info_div_disegna").css("top", 300);
						$('html, body').animate({
                                                    scrollTop: $("#content").offset().top
                                                }, 2000,function(){
                                                    $("#info_div_disegna").show();
                                                 
                                                    $.ajax({
                                                            type: "GET",
                                                            url: "inc/info_funcs.php",
                                                            data: "op=visite&id=" + param +"&spuntati=" + $('#escres'+param).val(),
                                                            cache: false,
                                                            success: function(html) {
                                                                $("#cont_info_disegna").remove();
                                                                $("#info_div_disegna").append(html);
                                                                $('#cont_info_in').jScrollPane({ height_ok:300 });
                                                                $("#pul_conferma_visite").click(function() { actionSwitch('confirmEscursione'+param) });					$("#cont_info2").remove();
                                                                $(".close_info_disegna").click(function() { actionSwitch('confirmEscursione'+param) });
                                                            }
                                                    });
                                        });
					break;
				case 'confirmEscursione':
					elements = $('select');
					strCheck = 'notti vitto guide gguid';
					$.each(elements, function(index, entry) {
						if (strCheck.indexOf(entry.id.substring(0,5)) != -1) {
							$('#'+entry.id).show();
						}
					});
					var mystring = '';
					$.each($('#visite_form > div > div > input:checked'), function(index, entry) {
							mystring+= $('#'+entry.id).attr('visita')+",";
					});
					/* $('#escres'+param).val(mystring.substring(0,mystring.length-1));*/
					$('#escres'+param).val(mystring);
					$("#info_div_disegna").hide();
					break;
			}
			
			if (jSon) _communicate(jSon);
		}
	}





        actionSwitchGruppi = function(url) {
                var check = true;
                var message = "";
                    if (parseInt($("#singole_1").val()) + parseInt($("#doppie_1").val()) + parseInt($("#triple_1").val()) < 1) {
                            check = false;
                            message += 'Attenzione, selezionare almeno una stanza.<br/><br/>';
                    }

                    if($('#nome_1').val() == "" || $('#email_1').val() == "" || $('#telefono_1').val() == "" || $('#citta_1').val() == "") {
                            check = false;
                            message += 'Attenzione, bisogna compilare tutti i campi di Viaggiatore 1.<br/><br/>';
                    } else {
                        if ($("#email_1").val()!="") {
                            var str = $("#email_1").val();
                            var at="@";
                            var dot=".";
                            var lat=str.indexOf(at);
                            var lstr=str.length;
                            var ldot=str.indexOf(dot);
                            var mail_v = 0;
                            if (str.indexOf(at)==-1){
                               check = false;
                            }
                            if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
                              check = false;
                              message += 'Attenzione, devi inserire una mail valida.<br/><br/>';
                              mail_v = 1;
                            }
                            if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
                                    if(mail_v == 0){
                                        check = false;
                                        message += 'Attenzione, devi inserire una mail valida.<br/><br/>';
                                    }
                            }
                        }
                        //var max = $('#porta_altri_partecipanti').attr('11');
                        for(i=2; i<=11; i++){
                            if($('#eta_'+i).val() != "" || $('#cognome_'+i).val() != "") {

                                if($('#nome_'+i).val() == "") {

                                    check = false;
                                    message += 'Attenzione, devi inserire il nome relativo al Compagno '+(i-1) +' oppure cancellarne tutti i campi.<br/><br/>';
                                }
                            }
                        }
                        if ($("#datipers").attr("checked") != true) {
                                check = false;
                                message += 'Devi concedere l\'autorizzazione al trattamento dei dati personali<br/><br/>';
                        }

                            
                    }
                    if (check == false) {
                        $("#cont_info").remove();
                            
                        $("#info_div").append('<div id="cont_info">'+message+'</div>');
                        $("#info_div").css("top", 300);
                        $('html, body').animate({
                            scrollTop: $("#content").offset().top
                        }, 2000,function(){$("#info_div").show();});
                        
                        
                    } else {
                        $("#iscrizione_gruppi").submit();

                    }

	}
															
	$('#countriesList').jScrollPane({ height_ok:170 });
	$('#scrollList').jScrollPane({ height_ok:65 });
	//$("#myList").sortable({});
	
	elements = $('#agenzia_info > input');
	$.each(elements, function(index, entry) {
		if ($('#'+entry.id).attr('type')!='radio') {
			$('#'+entry.id).attr('disabled', 'disabled');
		}
	});
});


