/* inizio dichiarazione variabili*/
var spedizioneDiversa;
var nazioneFatturazione;
var nazioneSpedizione;
var speseSpedizione;
var totale;
var totaleIniziale;
var qtaTotale;
var numeroPacchi;
/* fine dichiarazione variabili */

/* inizio "main" */
$(document).ready(function() {
	defaultValues();
	setValuesToDefault();
	calcolaQtaTotale();
	calcolaNumeroPacchi();
	calcolaSpeseSpedizione();
	calcolaTotale();
});
/* fine main */

/* inizio inizializzazione valori */
function defaultValues() {
	spedizioneDiversa = 0;
	nazioneFatturazione = "Italia";
	abilitaProvinceFatturazione();
	nazioneSpedizione = "Italia";
	abilitaProvinceSpedizione();
	speseSpedizione = 0;
	totaleIniziale = getTotale();
	totale = totaleIniziale;
	qtaTotale = 0;
	numeroPacchi = 0;
}
function setValuesToDefault() {
	setSpedizioneDiversa(0);
	setNazioneFatturazione("Italia");
	setNazioneSpedizione("Italia");
}
/* fine inizializzazione valori */

/* inizio GETTERS/SETTERS */
function getSpedizioneDiversa() {
	var chkValue = ($("#SpedizioneDiversa").is(':checked')) ? 1 : 0;
	return chkValue;
}
function setSpedizioneDiversa(paramSpedizioneDiversa) {
	if(paramSpedizioneDiversa == 0)
		$("SpedizioneDiversa").attr("checked",false);
	else
		$("SpedizioneDiversa").attr("checked",true);
}

function getNazioneFatturazione() {
	return $("#Nazione").val();
}
function setNazioneFatturazione(paramNazioneFatturazione) {
	$("#Nazione").val(paramNazioneFatturazione);
}

function getNazioneSpedizione() {
	return $("#NazioneS").val();
}
function setNazioneSpedizione(paramNazioneSpedizione) {
	$("#NazioneS").val(paramNazioneSpedizione);
}

function getSpeseSpedizione() {
	return parseFloat($("#spese").text());
}
function setSpeseSpedizione(paramSpeseSpedizione) {
	$("#spese").text(paramSpeseSpedizione);
	$("#spesetop").text(paramSpeseSpedizione);
	$("#hiddenSpSp").val(paramSpeseSpedizione);
}

function getTotale() {
	return parseFloat(($("#totaletop").text()).replace(",","."));
}
function setTotale(paramTotale) {
	$("#totaletop").text(paramTotale);
	$("#totale").text(paramTotale);
	$("#hiddenTot").val(paramTotale);
}

function getNumeroPacchi() {
	return numeroPacchi;
}

function getTotaleIniziale() {
	return totaleIniziale;
}

/* fine GETTERS/SETTERS */

/* inizio metodi */
function calcolaQtaTotale() {
	$(".qta").each(function() {
			qtaTotale += parseInt($(this).text());
		}
	);
}
function calcolaNumeroPacchi() {
	numeroPacchi = 	qtaTotale / 6;
	if ( (qtaTotale % 6) != 0 )
		numeroPacchi = parseInt(numeroPacchi) + 1;
}
function calcolaSpeseSpedizione() {
	var speseSpedizione = parseFloat(0);
	var spedDiversa = getSpedizioneDiversa();
	var nazione = 0;
	if (spedDiversa == 0)
		nazione = getNazioneFatturazione();
	else
		nazione = getNazioneSpedizione();
	var pacchi = getNumeroPacchi();

	$.ajax({
			url: "/external/calcSpese.cfm",
			data: {tot:totaleIniziale, naz:nazione, numPacchi:pacchi},
			type: "POST",
			async: false,
			cache: false,
			success: function (value) {
				value = jQuery.trim(value);
				value = parseFloat(value);
				setSpeseSpedizione(value);
				//calcolaTotale();
			}
		}
	); return false
}

function calcolaTotale() {
	//var speseSpedizione = getSpeseSpedizione();
	//totale += speseSpedizione;
	totIniziale = Math.ceil(getTotaleIniziale()*100);
	totIniziale /= 100;

	speseSped = Math.ceil(getSpeseSpedizione()*100);
	speseSped /= 100;
	
	totale = totIniziale + speseSped;
	totale = Math.ceil(totale * 100);
	totale /= 100;

	setTotale(totale);
}

function abilitaProvinceFatturazione() {
	$("#Citta").attr("disabled", false);
}

function disabilitaProvinceFatturazione() {
	$("#Citta").attr("disabled", true);
}

function abilitaProvinceSpedizione() {
	$("#CittaS").attr("disabled", false);
}

function disabilitaProvinceSpedizione() {
	$("#CittaS").attr("disabled", true);
}

/* fine metodi */

/* inizio gestione eventi */
$("#Nazione").change(function() {
		nazioneFatturazione = getNazioneFatturazione();
		
		if (getSpedizioneDiversa() == 0) {
			if (nazioneFatturazione == "Italia") {
				abilitaProvinceFatturazione();
			}
			else {
				disabilitaProvinceFatturazione();
			}
		}
		else {
			disabilitaProvinceFatturazione();
		}
			
		calcolaSpeseSpedizione();
		calcolaTotale();
	}
);

$("#NazioneS").change(function() {
		nazioneSpedizione = getNazioneSpedizione();
		
		if (getSpedizioneDiversa() == 1) {
			if (nazioneSpedizione == "Italia") {
				abilitaProvinceSpedizione();
			}
			else {
				disabilitaProvinceSpedizione();
			}
		}
		else {
			disabilitaProvinceSpedizione();
		}

		calcolaSpeseSpedizione();
		calcolaTotale();
	}
);

$("#SpedizioneDiversa").click(function() {
		
		calcolaSpeseSpedizione();
		calcolaTotale();
	}
);
/* fine gestione eventi */
