function init() {
	if (typeof init_area == "function")
		init_area();
	if (typeof init_pagina == "function")
		init_pagina();
}


/* --- --- */


var w_scrivania = null;
var w_scrivania_area_scrivania = "";


function apri_scrivania(area_scrivania) {
	chiudi_notifica_novita();

	if (typeof area_scrivania == "undefined")
 		area_scrivania = "scrivania";
	if ((w_scrivania != null) && ! w_scrivania.closed) {
		w_scrivania.focus();
		if (w_scrivania_area_scrivania != area_scrivania) {
			w_scrivania.cambia_area_condivisa(area_scrivania, "");
			w_scrivania_area_scrivania = area_scrivania;
		}
		return false;
	}

	w_scrivania = apri_dialogo(750, 660);
	w_scrivania_area_scrivania = area_scrivania;

	var f = document.form_area;
	f.target = w_scrivania.name;
	f.op.value = "in_" + area_scrivania;
	f.chiudi_finestra.value = "1";
	f.submit();

	f.chiudi_finestra.value = "0";
	f.target = "";

	return false;
}


function apri_posta_in_arrivo() {
	return apri_scrivania("posta_in_arrivo");
}


function apri_scheda_personale() {
	var w = apri_dialogo(750, 685);
	var f = document.form_area;
	f.target = w.name
	f.op.value = "profilo_personale";
	f.chiudi_finestra.value = "1";
	f.submit();

	f.chiudi_finestra.value = "0";
	f.target = "";

	return false;
}


function invia_email() {
	var w = apri_dialogo(660, 580);
	var f = document.form_area;
	f.target = w.name;
	f.op.value = "invia_email";
	f.chiudi_finestra.value = "1";
	f.submit();

	f.chiudi_finestra.value = "0";
	f.target = "";

	return false;
}


/* --- --- */


function esegui_azione(azione) {
	var f = document.form_area;
	f.op.value = azione;
	f.submit();
	return false;
}


function vai_area(operazione) {
	if ((typeof pagina_da_salvare == "function") && pagina_da_salvare())
		return false;

	var f = document.form_area;
	f.op.value = operazione;
	f.submit();
	return false;
}


function elemento_precedente() {
	if ((typeof pagina_da_salvare == "function") && pagina_da_salvare())
		return false;

	var f = document.form_area;
	f.op.value = "elemento_precedente";
	f.submit();
	return false;
}


function elemento_successivo() {
	if ((typeof pagina_da_salvare == "function") && pagina_da_salvare())
		return false;

	var f = document.form_area;
	f.op.value = "elemento_successivo";
	f.submit();
	return false;
}


function annulla() {
	if ((typeof pagina_da_salvare == "function") && pagina_da_salvare())
		return false;

	var f = document.form_area;
	f.op.value = "pagina_superiore";
	f.submit();
	return false;
}


function vai_pagina(pag) {
	var f = document.form_area;
	f.pag.value = pag;
	aggiorna();
}


function ordina_per(criterio) {
	var f = document.form_area;
	f.pag.value = 1;
	f.order_by.value = criterio;
	aggiorna();
}


function cambia_ordinamento(tipo_ordinamento) {
    var f = document.form1;
    f.target = "";
    f.op.value = "cambia_ordinamento";
    f.tipo_ordinamento.value = tipo_ordinamento;
    f.submit();
    return false;
}


function valore_filtro_v(nomi) {
	var vuoto = true;
	var a_filtro = new Array();
	for (var i = 0; i < nomi.length; i++) {
		var nome_filtro = nomi[i];
		var o_filtro = document.getElementById("filtro_" + nome_filtro);
		if (o_filtro != null) {
			a_filtro.push(nome_filtro + "=" + o_filtro.value);
			if (o_filtro.value != "")
				vuoto = false;
		}
	}
	if (vuoto)
		return "";
	else
		return a_filtro.join("|");
}


function valore_filtro() {
	var nomi = new Array();
	for (var i = 0; i < arguments.length; i++)
		nomi.push(arguments[i]);
	return valore_filtro_v(nomi);
}


function aggiorna_filtro(nomi) {
        var f = document.form_area;
        f.pag.value = 1;
        f.filtro.value = valore_filtro_v(nomi);
}


function filtra() {
        var nomi = new Array();
        for (var i = 0; i < arguments.length; i++)
                nomi.push(arguments[i]);
        aggiorna_filtro(nomi);
        aggiorna();
        return false;
}


function azzera_filtri(nomi) {
        for (var i = 0; i < nomi.length; i++) {
                var nome_filtro = nomi[i];
                document.getElementById("filtro_" + nome_filtro).value = '';
        }
}


function annulla_filtro() {
        var f = document.form_area;
        f.filtro.value = "";
        aggiorna();
}


function esci(forzato) {
	if (typeof forzato == "undefined")
		forzato = false;
	if (! forzato && !confirm("Premi 'OK' per confermare l'uscita."))
  		return false;
	var f = document.form_area;
	f.op.value = "esci";
	/*
	if (! forzato) {
		if (login_utente.match(/^DOCENTE_/) || login_utente.match(/^TUTOR_/) || login_utente.match(/^STAFF_/))
			f.op.value = "esci_classe";
		else if (classe_tutor && (tipo_utente == 'C'))
			f.op.value = "esci_classe_tutor";
		else if (classe_docenti && (tipo_utente == 'C'))
			f.op.value = "esci_classe_docenti";
	}
	*/
	f.submit();
	return false;
}


function stampa(w) {
	if (typeof w == "undefined")
		w = window;
	if (typeof stampa_pagina == "function")
		stampa_pagina(w);
	else {
		if (ie)
			w.document.execCommand("Print");
		else
			w.print();
	}
	return false;
}


function carica_guida_rapida(file) {
        document.getElementById("ifAiuto").src = "/guida/" + file;
}


function valore_htpl() {
        var htpl = "";
        var a_meta = document.getElementsByTagName("meta");
        for (var i = 0; i < a_meta.length; i++) {
                var meta = a_meta[i];
                if (meta.getAttribute("name") == "htpl") {
                        htpl = meta.getAttribute("content");
                        break
                }
        }
        return htpl;
}


function pagina_guida() {
	var htpl = valore_htpl();
	if (htpl.substr(htpl.length - 5, 5) == ".htpl")
		htpl = htpl.substr(0, htpl.length - 5);
	if (typeof htpl_pagina == "function")
		htpl = htpl_pagina(htpl);
	else
		htpl = "area_" + area_sistema  + "/" + htpl;
	var html = htpl;
	if (html.substr(html.length - 5, 5) != ".html")
		html = html + ".html";
	return html;
}


function guida_rapida() {
        var div_guida_rapida = document.getElementById("div_guida_rapida");
        if (div_guida_rapida.style.display == "block") {
                arrotola("div_guida_rapida", null, "carica_guida_rapida('indice.html')");
                document.getElementById("img_guida_rapida").src = "/images/icone/lightbulb_off.png";
                return;
        }
        document.getElementById("img_guida_rapida").src = "/images/icone/lightbulb.png";
        var html = pagina_guida();
        srotola("div_guida_rapida", null, "carica_guida_rapida('" + html + "')");
}


function vai_alla_guida_completa() {
	guida();
	guida_rapida();
}


var finestra_guida = null;


function guida() {
	if ((finestra_guida != null) && ! finestra_guida.closed) {
		finestra_guida.focus();
		return false;
	}

	var nome_finestra = "guida_quasar";
	var w = 670;
	if (screen.width > 800)
		w = 950;
	var h = 550;
	finestra_guida = window.open("", nome_finestra, "width=" + w + ", height=" + h + ", menubar=0, resizable=1");

	var f = document.form_guida;
	if (typeof f == "undefined")
		f = document.form_guida_2;
	f.target = finestra_guida.name;
	f.area.value = area_sistema;
	f.op.value = "carica_guida";
	f.pagina.value = pagina_guida();
	f.submit();

	finestra_guida.focus();

	return false;
}


function chiudi_notifica_novita() {
	var div_notifica_novita = document.getElementById("div_notifica_novita");
	if (div_notifica_novita.style.display == "block")
		nascondi_con_dissolvenza("div_notifica_novita");
	return false;
}


function incoda_chiudi_notifica_novita() {
	setTimeout("chiudi_notifica_novita()", 15000);
}


function apri_notifica_novita() {
	mostra_con_dissolvenza("div_notifica_novita", "incoda_chiudi_notifica_novita()");
}


function altre_operazioni() {
	var d = document.getElementById("altre_operazioni");
	if (d == null)
		return;
	if (d.style.display != "block")
		d.style.display = "block";
	else
		d.style.display = "none";
}


var MSG_INFO = 0;
var MSG_ERRORE = 1;
var MSG_ATTESA = 2;
var DIALOGO_INFO = 3;
var DIALOGO_ERRORE = 4;
var DIALOGO_ATTESA = 5;


function mostra_sfondo_modale(classe) {
	if (typeof classe == "undefined")
		classe = "";
	var dim = dimensioni_pagina();
	var max_height = dim[1];
	var o_sfondo = sfondo();
	o_sfondo.className = classe;
	o_sfondo.style.height = max_height + "px";
	o_sfondo.style.display = "block";
}


function mostra_informazione(messaggio, tipo) {
	if (typeof tipo == "undefined")
		tipo = MSG_INFO;
	var o_info = document.getElementById("div_informazione");
	if (o_info == null) {
		alert(s);
		return;
	}
	ferma_animazioni_per_oggetto(o_info);
	var classe = [ "riquadro_informazione", "riquadro_errore", "riquadro_attesa", "dialogo_informazione", "dialogo_errore", "dialogo_attesa" ];
	o_info.className = classe[tipo];
	var html = ((tipo == MSG_ERRORE || tipo == DIALOGO_ERRORE) ? "<b>ERRORE:</b> " : "") + quote_html(messaggio);
	if (tipo == MSG_ERRORE || tipo == DIALOGO_ERRORE) {
		html += "<div style=\"margin-top: 5px;\"><a href=\"#\" onclick=\"return arrotola('div_informazione', 'nascondi_informazione()')\">nascondi questa nota</a></div>";
	}
	o_info.innerHTML = html;
 	if (ie) {
		o_info.style.position = "absolute";
		if (tipo == DIALOGO_INFO || tipo == DIALOGO_ERRORE || tipo == DIALOGO_ATTESA)
			o_info.style.top = "30%";
		else
			o_info.style.top = (document.body.scrollTop + 5) + "px";
	}
	o_info.style.display = "block";
	o_info.style.visibility = "visible";
	set_opacity(o_info, 1.0);

	if (tipo == DIALOGO_INFO || tipo == DIALOGO_ERRORE || tipo == DIALOGO_ATTESA) {
		mostra_sfondo_modale();
	}
	else {
		var o_sfondo = document.getElementById("sfondo_dialoghi_modali");
		if (o_sfondo != null)
			o_sfondo.style.display = "none";
	}

	if (tipo == MSG_INFO || tipo == DIALOGO_INFO)
		setTimeout("nascondi_con_dissolvenza('div_informazione', 'nascondi_informazione()')", 2000);
}


function nascondi_informazione() {
	var o_info = document.getElementById("div_informazione");
	if (o_info != null) {
		ferma_animazioni_per_oggetto(o_info);
		o_info.style.display = "none";
	}
	var o_sfondo = document.getElementById("sfondo_dialoghi_modali");
	if (o_sfondo != null)
		o_sfondo.style.display = "none";
}


var o_strumenti_personali = null;
var o_mostra_altri_strumenti_personali = null;


function mostra_strumenti() {
	if (o_strumenti_personali == null)
		o_strumenti_personali = document.getElementById("altri_strumenti_personali");
	if (o_mostra_altri_strumenti_personali == null)
		o_mostra_altri_strumenti_personali = document.getElementById("mostra_altri_strumenti_personali");

	if (o_strumenti_personali.style.display == "block") {
		o_strumenti_personali.style.display = "none";
		o_mostra_altri_strumenti_personali.className = "strumento largo con_separatore chiuso";
	}
	else {
		o_strumenti_personali.style.display = "block";
		o_mostra_altri_strumenti_personali.className = "strumento largo con_separatore aperto";
	}
}


/* -- segnaposto input testo -- */


var segnaposto_input_testo = [];


function togli_segnaposto_input_testo(item) {
	if ((segnaposto_input_testo[item.id] == null) || ! segnaposto_input_testo[item.id].attivo)
		return;
	segnaposto_input_testo[item.id].attivo = false;
	item.value = '';
	item.style.color = segnaposto_input_testo[item.id].colore_originale;
	item.style.fontStyle = segnaposto_input_testo[item.id].stile_originale;
}


function ripristina_segnaposto_input_testo(item) {
	if ((segnaposto_input_testo[item.id] != null) && segnaposto_input_testo[item.id].attivo)
		return;
	if (item.value != "")
		return;
	segnaposto_input_testo[item.id] = { attivo: true, colore_originale: item.style.color, stile_originale: item.style.fontStyle };
	item.value = item.getAttribute("placeholder");
	item.style.color = "#aaa";
	item.style.fontStyle = "italic"
}

