function caricaComuni() {
	clearAll();
	var form = document.forms[0];
	var codProvincia = $("provincia").getValue();
	if ($("regione")) {
		$("regione").value = regioni[codProvincia];
	}
	//$("provinciaDescrizione").value = province[codProvincia];
	new Ajax.Request(urlCappario, {
			parameters: {codProvincia: codProvincia, methodToCall: 'ricercaComuni'},
			onSuccess : generaElencoComuni,
			onFailure : ajaxRequestFailure
		}
	);
}

function caricaComuniRicerca() {
	clearAll();
	var form = document.forms[0];
	var codProvincia = $("provincia").getValue();
	$("visualizzaComuni").value = "si";
	$("visualizzaCap").value = "no";
	//$("provinciaDescrizione").value = province[codProvincia];
	new Ajax.Request(urlCappario, {
			parameters: {codProvincia: codProvincia, methodToCall: 'ricercaComuni', sigla: 'true'},
			onSuccess : generaElencoComuni,
			onFailure : ajaxRequestFailure
		}
	);
}

function generaElencoComuni(transport) {
	var json = transport.responseText.evalJSON(true);
	capNotDefine = "N.D.";
	//valorizzo e visualizzo la combo
    var select = $("comune");
	var optionObj = select.options;
	optionObj.length = 0;

	for (i = 0 ;i < json.length; i++) {
		capValue = json[i].cap;
		if ((capValue == null || capValue == "") && json[i].codice != -1) capValue = capNotDefine;
 		optionObj[i] = new Option(json[i].descrizione);
		if (i == 0) {
	 		optionObj[i] = new Option(json[i].descrizione, "");
		}	
 		optionObj[i].codice = json[i].codice;
 		optionObj[i].cap = json[i].cap;
 		optionObj[i].multiCap = json[i].multiCap;
	}
}


function setCap() {
	var comuneSelect = $("comune");
	var capSelect = $("cap");
	var selectedIndex = comuneSelect.selectedIndex;
	var multicap = comuneSelect.options[selectedIndex].multiCap;
	var optionObj = capSelect.options;
	optionObj.length = 0;
	if (multicap == 'S') {
		new Ajax.Request(urlCappario, {
			parameters: {codiceComune: comuneSelect.options[selectedIndex].codice, methodToCall: 'getCapByComune'},
			onSuccess : generaElencoCap,
			onFailure : ajaxRequestFailure
			}
		);
	} else {
		optionObj[0] = new Option(comuneSelect.options[selectedIndex].cap);
	}
}

function setCapRicerca() {
	var comuneSelect = $("comune");
	var capSelect = $("cap");
	var capCanvas = $("cap-canvas");
	var capLabel = $("cap-label");
	var value = comuneSelect[comuneSelect.selectedIndex].text;
	if (value != "") {
		$("visualizzaComuni").value = "no";
	}
	var selectedIndex = comuneSelect.selectedIndex;
	var multicap = comuneSelect.options[selectedIndex].multiCap;
	var optionObj = capSelect.options;
	optionObj.length = 0;
	if (multicap == 'S') {
		$("visualizzaCap").value = "si";
		capCanvas.style.display = "";
		capLabel.style.display = "";
		$("codiceComune").value = comuneSelect.options[selectedIndex].codice;
		new Ajax.Request(urlCappario, {
				parameters: {codiceComune: comuneSelect.options[selectedIndex].codice, methodToCall: 'getCapByComune'},
				onSuccess : generaElencoCapRicerca,
				onFailure : ajaxRequestFailure
			}
		);
	} else {
		$("visualizzaCap").value = "no";
		capCanvas.style.display = "none";
		capLabel.style.display = "none";
		$("codiceComune").value = "";
	}
}

function generaElencoCap(transport) {
	var json = transport.responseText.evalJSON(true);
	var capSelect = $("cap");
	var optionObj = capSelect.options;
	for (i = 0 ;i < json.length; i++) {
 		optionObj[i] = new Option(json[i].cap);
	}	
}

function generaElencoCapRicerca(transport) {
	var json = transport.responseText.evalJSON(true);
	var capSelect = $("cap");
	var optionObj = capSelect.options;
    optionObj[0] = new Option("--Selezionare un CAP dall'elenco--", "");
	for (i = 0 ;i < json.length; i++) {
 		optionObj[i+1] = new Option(json[i].cap);
	}	
}

function setViaCapStrada(text, li) {
	//Controllo se siamo nel caso multicap
	var viaCap = li.id.split("|");
	$("toponimo").value = viaCap[0];
	$("cap").value = viaCap[1];
}

function setHiddenFields() {
	if ($("product")) {
		var prodottoSelect = $("product");
		var selectedIndex = prodottoSelect.selectedIndex;
		$("productDescription").value = prodottoSelect.options[selectedIndex].innerHTML;
	}
	if ($("activityScheduled")) {
		$("activityScheduled").value = formatDate();
	}
	if ($("provincia")) {
		var provinciaSelect = $("provincia");
		selectedIndex = provinciaSelect.selectedIndex;
		$("provinciaDescrizione").value = provinciaSelect.options[selectedIndex].innerHTML;	
	}
	if ($("comune")) {
		var comuneSelect = $("comune");
		selectedIndex = comuneSelect.selectedIndex;
		$("comuneDescrizione").value = comuneSelect.options[selectedIndex].innerHTML;	
	}
}

function formatDate() {
    var oggi = new Date();
	oggi.setTime(oggi.getTime() + 2 * 24 * 60 * 60 * 1000);
	var giorno = (oggi.getDate() < 10) ? "0" + oggi.getDate() : "" + oggi.getDate();
	var mese = (oggi.getMonth() < 9) ? "0" + (oggi.getMonth() + 1) : "" + (oggi.getMonth() + 1)
	return oggi.getFullYear() + mese +  giorno +  " 08:00";	
}

function ajaxRequestFailure() {
	alert("Si è verificato un problema nel collegamento con il server, contattare l'amministratore");
}

function clearAll() {
	$("comune").options.length = 0;
	if ($("localita")) {
		$("localita").value = '';
	}
	if ($("indirizzo")) {
		$("indirizzo").value = '';
	}
	if ($("cap")) {
		$("cap").options.length = 0;
	}
}

function setProductDescription() {
	if ($("product")) {
		var prodottoSelect = $("product");
		var selectedIndex = prodottoSelect.selectedIndex;
		$("productDescription").value = prodottoSelect.options[selectedIndex].innerHTML;
	}
}
function caricaProvince() {
	var codRegione = $("regione").getValue();
	clearComuniCap();
	if (codRegione != "XX") {
		//$("provinciaDescrizione").value = province[codProvincia];
		new Ajax.Request(urlCappario, {
				parameters: {codiceRegione: codRegione, methodToCall: 'getProvinceByRegione'},
				onSuccess : generaElencoProvince,
				onFailure : ajaxRequestFailure
			}
		);
	} else {
		clearProvince();
	}
}

function generaElencoProvince(transport) {
	var json = transport.responseText.evalJSON(true);
    var select = $("provincia");
	var optionObj = select.options;
	optionObj.length = 0;
	for (var i = 0 ;i < json.length; i++) {
 		optionObj[i] = new Option(json[i].descrizione, json[i].sigla);
	}	
}

function clearProvince() {
    var select = $("provincia");
	var optionObj = select.options;
	optionObj.length = 1;
}

function clearCodiceComune() {
	var cap = $("cap").value;
	if (cap != null && cap != "") {
		$("visualizzaCap").value= "no";
	} else {
		$("visualizzaCap").value= "si";
	}
}

function clearComuniCap() {
    var select = $("comune");
	var optionObj = select.options;
	optionObj.length = 1;
    select = $("cap");
	optionObj = select.options;
	optionObj.length = 1;
	$("cap-canvas").style.display = "none";
	$("cap-label").style.display = "none";
}
