/* dichiarazione variabili */
var titoliSelezionati, profiliSelezionati, posizioniSelezionate, titoliLimite, profiliLimite, posizioniLimite, finAggMes, finMesAttiva, testoFinAggMes, pulsanteProsegui;
titoliSelezionati = 0;
profiliSelezionati = 0;
posizioniSelezionate = 0;
titoliLimite = 6;
profiliLimite = 3;
posizioniLimite = 1;
finMesAttiva = false;

/* AGGIORNA CONTEGGIO: conteggi i check selezionati e verifica se rispettano i limiti definiti */
function aggiornaConteggio(parametro, ritardo)
{
	if (ritardo == false)
	{
		setTimeout("aggiornaConteggio('" + parametro + "', true)", 100);
	}
	else
	{
		// posizione
		if (parametro.indexOf("posizione") > -1)
		{
			if (finMesAttiva == true)
			{
				if (document.getElementById(parametro).checked == true)
				{
					document.getElementById(parametro).checked = false;
				}
				else
				{
					document.getElementById(parametro).checked = true;
				}
			}
			else
			{
				if (document.getElementById(parametro))
				{
					if (document.getElementById(parametro).checked == true)
					{
						posizioniSelezionate = posizioniSelezionate + 1;
					}
					else
					{
						posizioniSelezionate = posizioniSelezionate - 1;
					}
				}
				if (posizioniSelezionate > posizioniLimite)
				{
					document.getElementById(parametro).checked = false;
					posizioniSelezionate = posizioniSelezionate - 1;
					// visualizza la finestra di avviso numero eccessivo di selezioni effettuate
					finAggMes.innerHTML = testoFinAggMes.replace("[voci]", posizioniLimite);
					finMesAttiva = true;
					finAggMes.style.margin = (gpt_mouseY - 30) + "px 0 0 " + (gpt_mouseX - 30) + "px";
					gpt_visualizzaElementi(true, "finAggMes,");
					gpt_dissolviElemento("finAggMes", 0, "apertura", 500);
					setTimeout("gpt_dissolviElemento('finAggMes', 0, 'chiusura', 500)", 3500);
					setTimeout("gpt_visualizzaElementi(false, 'finAggMes,')", 4000);
					setTimeout("finMesAttiva = false", 4100);
				}
				if (posizioniSelezionate > 0)
				{
					if (pulsanteProsegui.style.display != "block")
					{
						gpt_visualizzaElementi(true, "pulsanteProsegui,");
						gpt_dissolviElemento("pulsanteProsegui", 0, "apertura", 500);
					}
				}
				else
				{
					gpt_dissolviElemento("pulsanteProsegui", 0, "chiusura", 500);
					setTimeout("gpt_visualizzaElementi(false, 'pulsanteProsegui,')", 500);
				}
			}
		}
		// titolo
		else if (parametro.indexOf("titolo") > -1)
		{
			if (document.getElementById(parametro))
			{
				if (document.getElementById(parametro).checked == true)
				{
					titoliSelezionati = titoliSelezionati + 1;
				}
				else
				{
					titoliSelezionati = titoliSelezionati - 1;
				}
			}
			if (titoliSelezionati > titoliLimite)
			{
				document.getElementById(parametro).checked = false;
				titoliSelezionati = titoliSelezionati - 1;
			}
		}
		// profilo
		else if (parametro.indexOf("profilo") > -1)
		{
			if (document.getElementById(parametro))
			{
				if (document.getElementById(parametro).checked == true)
				{
					profiliSelezionati = profiliSelezionati + 1;
				}
				else
				{
					profiliSelezionati = profiliSelezionati - 1;
				}
			}
			if (profiliSelezionati > profiliLimite)
			{
				document.getElementById(parametro).checked = false;
				profiliSelezionati = profiliSelezionati - 1;
				// visualizza la finestra di avviso numero eccessivo di selezioni effettuate
				finAggMes.innerHTML = testoFinAggMes.replace("[voci]", profiliLimite);
				finMesAttiva = true;
				finAggMes.style.margin = (gpt_mouseY - 30) + "px 0 0 " + (gpt_mouseX - 30) + "px";
				gpt_visualizzaElementi(true, "finAggMes,");
				gpt_dissolviElemento("finAggMes", 0, "apertura", 500);
				setTimeout("gpt_dissolviElemento('finAggMes', 0, 'chiusura', 500)", 3500);
				setTimeout("gpt_visualizzaElementi(false, 'finAggMes,')", 4000);
				setTimeout("finMesAttiva = false", 4100);
			}
		}
	}
}

/* COPIA DA CAMPI TELEFONO: preleva prefisso e numero e li copia nel campo telefono */
function copiaDaCampiTelefono()
{
	// gestisci il campo telefono
	if (document.getElementById("telefono") && document.getElementById("telefonoPrefisso") && document.getElementById("telefonoNumero"))
	{
		if (document.getElementById("telefonoPrefisso").value != "" && document.getElementById("telefonoNumero").value != "")
		{
			document.getElementById("telefono").value = String(document.getElementById("telefonoPrefisso").value) + "-" + String(document.getElementById("telefonoNumero").value);
		}
	}
}

/* CONTROLLA POSIZIONI E PROFILI: verifica se è stato specificata almeno una posizione o un profilo */
function controllaPosizioniEProfili(idPagina, oltrePasso1, fileCaricati)
{
	var divErrori = gpt_elemento("errori_moduloContatto");
	var inputAnnotazioni = gpt_elemento("annotazioni");
	var inputStudio = gpt_elemento("tipologiaTitoloStudio");
	var esito = true;
	var errori = 0;
	var caratteriVietati = "<~>~%~#";
	var valoreCampo = "";
	var nomeCampo = "";
	var idCampo = "";
	var temp = "";
	var carattereControllo = "";
	
	divErrori.innerHTML = "";
	// controlla tutti i campi per verificare che non siano presente caratteri non consentiti
	if (document.getElementById("moduloContatto"))
	{
		var modulo = document.getElementById("moduloContatto");
		for (var i = 0; i < modulo.elements.length; i++)
		{
			if (modulo.elements[i].id != null && modulo.elements[i].className != null)
			{
				if (modulo.elements[i].className == "gpt_campoStandard" || modulo.elements[i].className == "gpt_campoTesto")
				{
					idCampo = modulo.elements[i].id;
					valoreCampo = modulo.elements[i].value;
					nomeCampo = modulo.elements[i].name;
					if (document.getElementById("eti_" + idCampo))
					{
						nomeCampo = document.getElementById("eti_" + idCampo).innerHTML;
						if (nomeCampo.indexOf(" *") > -1)
						{
							nomeCampo = nomeCampo.substr(0, nomeCampo.indexOf(" *"));
						}
					}
					temp = caratteriVietati + "~";
					while (temp.indexOf("~") > -1)
					{
						carattereControllo = temp.substr(0, temp.indexOf("~"));
						if (valoreCampo.indexOf(carattereControllo) > -1)
						{
							errori = errori + 1;
							divErrori.innerHTML = divErrori.innerHTML + "<p><strong>Attenzione</strong>! Il campo <strong>" + nomeCampo + "</strong> non può contenere il carattere <strong>" + carattereControllo + "</strong>.</p>";
						}
						temp = temp.substr(temp.indexOf("~") + 1);
					} 
				}
			}
		}
	}
	// candidature spontanee
	if (idPagina == 84)
	{
		// gestisci i profili
		if (profiliSelezionati == 0)
		{
			errori = errori + 1;
			divErrori.innerHTML = divErrori.innerHTML + "<p><strong>Attenzione</strong>! É necessario indicare almeno una voce tra le <strong>Aree di interesse e competenze</strong>.</p>";
		}
		// gestisci le posizioni
		if (posizioniSelezionate == 0)
		{
			errori = errori + 1;
			divErrori.innerHTML = divErrori.innerHTML + "<p><strong>Attenzione</strong>! É necessario indicare almeno una voce tra le <strong>Posizioni</strong>.</p>";
		}
	}
	// gestisci il campo note aggiuntive titolo di studio
	if (document.getElementById("titolo2") && document.getElementById("titolo3") && document.getElementById("titolo4"))
	{
		if (inputStudio.value == "" && (document.getElementById("titolo2").checked == true || document.getElementById("titolo3").checked == true || document.getElementById("titolo4").checked == true) )
		{
			errori = errori + 1;
			divErrori.innerHTML = divErrori.innerHTML + "<p><strong>Attenzione</strong>! É necessario compilare il campo <strong>Note aggiuntive sul titolo di studio</strong>.</p>";
		}
	}
	// file caricati
	if (oltrePasso1 == true && fileCaricati == false && inputAnnotazioni.value == "")
	{
		errori = errori + 1;
		divErrori.innerHTML = divErrori.innerHTML + "<p><strong>Attenzione</strong>! É necessario compilare il campo <strong>Esperienze lavorative</strong> oppure caricare il proprio curriculum.</p>";
	}
	if (errori > 0)
	{
		esito = false;
	}
	return esito;
}

/* FILTRA PROFILI: filtra la lista dei profili in base all'ID della posizione selezionata */
function filtraProfili(posizione)
{
	for (f = 1; f < profili.length; f++) 
	{
		if (document.getElementById(profili[f][0]) && document.getElementById(profili[f][0] + "Etichetta"))
		{
			if (profili[f][1].indexOf("," + posizione + ",") != -1)
			{
				document.getElementById(profili[f][0]).disabled = false;
				gpt_impostaOpacita(profili[f][0] + "Etichetta", 100);
			}
			else
			{
				document.getElementById(profili[f][0]).disabled = true;
				gpt_impostaOpacita(profili[f][0] + "Etichetta", 25);
			}
		}
	}
}

/* MODIFICA FORMATTAZIONE TELEFONO: spezza il campo telefono in due campi distinti */
function modificaFormattazioneTelefono()
{
	var prefisso, numero, valore;
	prefisso = "";
	numero = ""; 
	if (document.getElementById("con_telefono") && document.getElementById("telefono"))
	{
		document.getElementById("telefono").style.display = "none";
		if (document.getElementById("telefono").value != "")
		{
			valore = document.getElementById("telefono").value;
			prefisso = valore.substr(0, valore.indexOf("-"));
			numero = valore.substr(valore.indexOf("-") + 1);
		}
		document.getElementById("con_telefono").innerHTML = document.getElementById("con_telefono").innerHTML + "<input id='telefonoPrefisso' maxlength='4' class='gpt_campoStandard' onfocus='javascript: this.select();' value='" + prefisso + "' type='text'></input><input id='telefonoNumero' class='gpt_campoStandard' onfocus='javascript: this.select();' value='" + numero + "' type='text'></input>";
	}
}


