
function dp(prezzo) 
{
   string = "" + prezzo;
   number = string.length - string.indexOf('.');
   if (string.indexOf('.') == -1)
      return string + '.00';
   if (number == 1)
      return string + '00';
   if (number == 2)
      return string + '0';
   if (number > 3)
      return string.substring(0,string.length-number+3);
return string;
}

function calculate()
{
//Voci che mi servono per contare il numero di persone
document.data.importo1.value = dp((document.data.prezzo1.value)*(document.data.qta1.value))
document.data.importo2.value = dp((document.data.prezzo2.value)*(document.data.qta2.value))
document.data.importo3.value = dp((document.data.prezzo3.value)*(document.data.qta3.value))
document.data.importo4.value = dp((document.data.prezzo4.value)*(document.data.qta4.value))
document.data.importo5.value = dp((document.data.prezzo5.value)*(document.data.qta5.value))
document.data.importo6.value = dp((document.data.prezzo6.value)*(document.data.qta6.value))
document.data.importo7.value = dp((document.data.prezzo7.value)*(document.data.qta7.value))
document.data.importo24.value = dp((document.data.prezzo24.value)*(document.data.qta24.value))


//Conto il numero di persone
num_adulti = (document.data.qta1.value*1+
		      document.data.qta2.value*2+
			  document.data.qta3.value*3+
			  document.data.qta4.value*2+
			  document.data.qta5.value*2+
			  document.data.qta6.value*3+
			  document.data.qta7.value*4)

num_bambini = (document.data.qta4.value*1+
			  document.data.qta5.value*2+
			  document.data.qta6.value*1)

num_infant = document.data.qta24.value*1

num_totale = num_adulti + num_bambini + num_infant;

//Imposto il numero di adulti, bambini e infant nel form perchè poi mi servirà nel modulo di invio richiesta
document.data.num_adulti.value = num_adulti
document.data.num_bambini.value = num_bambini
document.data.num_infant.value = num_infant

//Calcolo le spese che finiscono nei prezzi accessori (codice 20) (questi codici non vanno sommati al totale)
var costi_accessori_ids = {
    "tasse_adulti" : "8",
    "tasse_bimbi" : "9",
    "addizionale_comunale" : "17",
    "adeguamento_carburante_adulti" : "21",
    "adeguamento_carburante_bimbi" : "39",
    "supplemento_volo_adulti" : "10",
    "supplemento_volo_bimbi" : "41"
};

var importo = new Array();
importo["tasse_adulti"] = jQuery("#prezzo8").val() * num_adulti;
importo["tasse_bimbi"] = jQuery("#prezzo9").val() * num_bambini;
if (num_totale != 0) {
    importo["addizionale_comunale"] = jQuery("#prezzo17").val() * jQuery("#qta17").val();
} else {
    importo["addizionale_comunale"] = 0;
}
importo["adeguamento_carburante_adulti"] = jQuery("#prezzo21").val() * num_adulti;
importo["adeguamento_carburante_bimbi"] = jQuery("#prezzo39").val() * num_bambini;
importo["supplemento_volo_adulti"] = jQuery("#prezzo10").val() * num_adulti;
importo["supplemento_volo_bimbi"] = jQuery("#prezzo41").val() * num_bambini;

for (var dettaglio in importo) {
    var tooltip_field = jQuery('#costi_accessori_tooltip .' + dettaglio + ' .importo');
    var prezzo = dp(importo[dettaglio]);
    if (importo[dettaglio] > 0) {
        tooltip_field.html(prezzo);
        tooltip_field.parent().removeClass("hide");
    } else {
        tooltip_field.parent().addClass("hide");
    }
    var form_field_id = costi_accessori_ids[dettaglio];
    jQuery('#importo' + form_field_id).val(prezzo);
}

jQuery('a.tooltip').unbind().cluetip({local: true, arrows: true});

//Totalizzo
document.data.importo20.value = dp(eval(document.data.importo8.value)+
								   eval(document.data.importo9.value)+
								   eval(document.data.importo17.value)+
								   eval(document.data.importo21.value)+	
								   eval(document.data.importo39.value)+
								   eval(document.data.importo10.value)+
								   eval(document.data.importo41.value))	


//Totale Assicurazione Medico Bagaglio (codice 30)
document.data.importo11.value = dp((document.data.prezzo11.value)*(num_adulti)) //Ass. Medico Bagaglio Adulti
document.data.importo12.value = dp((document.data.prezzo12.value)*(num_bambini)) //Ass. Medico Bagaglio Bimbi

//Totalizzo
document.data.importo30.value = dp(eval(document.data.importo11.value)+
								   eval(document.data.importo12.value))



//Totale Assicurazione Annullamento (codice 31)
document.data.importo15.value = dp((document.data.prezzo15.value)*(num_adulti)) //Ass. Annullamento Adulti
document.data.importo16.value = dp((document.data.prezzo16.value)*(num_bambini)) //Ass. Annullamento Bimbi

//Totalizzo
document.data.prezzo31.value = dp(eval(document.data.importo15.value)+
								   eval(document.data.importo16.value))

document.data.importo31.value = dp((document.data.prezzo31.value)*(document.data.qta31.value))


//Totale Visti (codice 32)
document.data.importo18.value = dp((document.data.prezzo18.value)*(num_adulti)) //Visto Adulti
document.data.importo19.value = dp((document.data.prezzo19.value)*(num_bambini)) //Visto Bambini

//Totalizzo
document.data.importo32.value = dp(eval(document.data.importo18.value)+
								   eval(document.data.importo19.value))



//Totale Quota iscrizione (codice 33)
document.data.importo13.value = dp((document.data.prezzo13.value)*(num_adulti)) //Quota Iscr. Adulti
document.data.importo14.value = dp((document.data.prezzo14.value)*(num_bambini)) //Quota Isce. Bimbi

//Totalizzo
document.data.importo33.value = dp(eval(document.data.importo13.value)+
								   eval(document.data.importo14.value))



//Totale Supplemento All Inclusive (codice 37)
document.data.importo22.value = dp((document.data.prezzo22.value)*(document.data.qta22.value)*(num_adulti)) //Suppl. AI Adulti
document.data.importo36.value = dp((document.data.prezzo36.value)*(document.data.qta36.value)*(num_bambini)) //Suppl. AI Bimbi

//Totalizzo
document.data.prezzo37.value = dp(eval(document.data.importo22.value)+
								   eval(document.data.importo36.value))

document.data.importo37.value = dp((document.data.prezzo37.value)*(document.data.qta37.value))



//Totale Supplemento Pensione Completa (codice 38)
document.data.importo23.value = dp((document.data.prezzo23.value)*(document.data.qta23.value)*(num_adulti)) //Suppl. PC Adulti
document.data.importo40.value = dp((document.data.prezzo40.value)*(document.data.qta40.value)*(num_bambini)) //Suppl. PC Bimbi

//Totalizzo
document.data.prezzo38.value = dp(eval(document.data.importo23.value)+
								   eval(document.data.importo40.value))

document.data.importo38.value = dp((document.data.prezzo38.value)*(document.data.qta38.value))



//Noleggio Auto
document.data.importo29.value = dp((document.data.prezzo29.value)*(document.data.qta29.value))






document.data.totaleimponibile.value = dp(
											eval(document.data.importo1.value)+
											eval(document.data.importo2.value)+
											eval(document.data.importo3.value)+
											eval(document.data.importo4.value)+
											eval(document.data.importo5.value)+
											eval(document.data.importo6.value)+
											eval(document.data.importo7.value)+  //Fine Camere
											eval(document.data.importo24.value)+ //Suppl. Culla
											eval(document.data.importo29.value)+ //Noleggio auto
											eval(document.data.importo20.value)+ //Costi Accessori
											eval(document.data.importo30.value)+ //Ass. Medico Bagaglio
											eval(document.data.importo31.value)+ //Ass Annullamento
											eval(document.data.importo32.value)+ //Visti
											eval(document.data.importo33.value)+ //Quota Iscrizione
											eval(document.data.importo37.value)+ //Suppl. AI
											eval(document.data.importo38.value) //Suppl. PC
										 )

if (num_adulti == 0)
{
	document.data.totaleimponibile.value = 0.00
}

}

function verifica_data(data) 
{
	if ((data.qta1.value == 0)&&(data.qta2.value == 0)&&(data.qta3.value == 0)&&(data.qta4.value == 0)&&(data.qta5.value == 0)&&(data.qta6.value == 0)&&(data.qta7.value == 0))
	{     
		alert("ATTENZIONE! E' necessario selezionare almeno un tipo di alloggio.");     
		return false;       
	}
	if((data.qta37.value == 1)&&(data.qta38.value == 1))
	{     
		alert("ATTENZIONE! Non puoi selezionare sia il Supplemento All Inclusive che il Supplemento Pensione Completa.");     
		return false;       
	}

	return true;
}


