var SOCIETIES = []; // array delle societa' (comune a + funzioni)
function toggleEmails() {
	
	var box = document.getElementById("interested");
	var emails = document.getElementById("emails").style;
	var isAssociato = document.getElementById("user_type").value == 46;
	
	emails.display = box.checked && isAssociato ? "block" : "none";
	
}

// richiama via ajax le societa' e va a popolarne la select
function populateSocieties() {
	
	var soc = document.getElementById("society"); // select delle societa'
	

	if (SOCIETIES.length < 1) { // effettuo la chiamata solo una volta!
		
		$("#society").html('<option value="">Caricamento in corso...</option>');
		
		$.getJSON(
		
			rootPath + "/anxx/custom/ajax/companyselect.cfm", // url della chiamata
			
			function(response) { // funzione di callback
				
				var q = response["DATA"]; // oggetto ritornato dalla chiamata
				var HTML = []; // contenuto da inserire nella select
				
				try {
					
					for (var i=0, end=q.length; i<end; i++) { // per ogni record costruisco un tag <option>
						
						if (q[i][0] != "" && q[i][1] != "") { // devo avere 1) l'id, 2) il nome della societa'
							
							SOCIETIES.push([q[i][0],q[i][1],q[i][2]]);
							HTML.push('<option value="');
							HTML.push(q[i][0] + '"'); // q[i][0] -> codice della societa'
							if(q[i][0] == '9998'){
								HTML.push('selected="selected"')
							}
							HTML.push('>');
							HTML.push(q[i][1]); // q[i][1] -> nome della societa'
							HTML.push('</option>');
							
						}
					
					}
					
					$("#society").html(HTML.join("")); // inserisco tutto l'html dentro la select
					
				} catch(e) {
					
					alert("Si sono verificati errori nella connessione al server:\n"+e.description);
					
				}
			}
			
		);
		
	}
	
}

// imposta il campo "sito"
function setSocietyWebSite(code) {
	
	var site = "";
	
	for (var i=0, end=SOCIETIES.length; i<end; i++) {
	
		if (SOCIETIES[i][0] == code) {
			site = SOCIETIES[i][2];
			break;
		}
		
	}
	
	document.getElementById("website").value = site;
	
}

// cambia le regole di validazione ed il display del form in base al tipo di utente
function switchFormValidation(userType) {
	
	var soc = document.getElementById("society"); // select delle societa'
	var compArea = document.forms["subscription_form"].uPosition; // select delle aree di competenza
	var tRow = document.getElementById("uAltro_specifica");
	var tAltro = document.getElementById("uAltro"); // textarea per speficare l'area di competenza (in caso di "Altro")
	var access = document.getElementById("access_to_reserved_area"); // div con la checkbox di accesso area riservata
	var phone = document.getElementById("uPhone"); // campo telefono
	var phoneRequired = document.getElementById("phone_required"); // stellina rossa per la richiesta del telefono
	var areaAlert = document.getElementById("area_di_competenza_alert");
	var companyAlert = document.getElementById("company_alert");
	var opt, newNode = "";
		
	if (userType == 46) { // associato
		
		document.getElementById("form-register-title").innerHTML = "associato";
		
		areaAlert.style.display = "inline";
		companyAlert.style.display = "inline";
	
		if (soc.nodeName.toLocaleLowerCase() == "input") {
		
			newNode = document.createElement("select");
			newNode.name = "uCompany";
			newNode.id = "society";
			newNode.style.width = "334px";
			newNode.onchange = function(){
				setSocietyWebSite(this.value)
			};
			newNode.className = "f_select";
			soc.parentNode.replaceChild(newNode, soc);
			
		}
		
		compArea.innerHTML = "";
		
		for (var i = 0; i < areeAssociato.length; i++) {
		
			opt = document.createElement("option");
			opt.value = areeAssociato[i][1];
			opt.innerHTML = areeAssociato[i][0];
			if(opt.value == 20){
				opt.selected = 'selected';
			}
			compArea.appendChild(opt);
			
		}
		
		soc.disabled = false;
		soc.setAttribute("tmt:invalidvalue", "");
		soc.setAttribute("tmt:message", "Selezionare una societa'.");
		compArea.disabled = false;
		compArea.removeAttribute("tmt:message");
		compArea.removeAttribute("tmt:invalidvalue");
		phone.setAttribute("tmt:required", true);
		phone.setAttribute("tmt:message", "Inserire il numero di telefono.");
		phoneRequired.style.display = "inline";
		populateSocieties();
		access.style.display = "block";
		toggleAltro();
		
	} else if (userType == 45) { // giornalista
	
		document.getElementById("form-register-title").innerHTML = "giornalista";
	
		areaAlert.style.display = "none";
		companyAlert.style.display = "none";
	
		soc.disabled = true;
		soc.removeAttribute("tmt:message");
		soc.removeAttribute("tmt:invalidvalue");
		compArea.disabled = true;
		compArea.removeAttribute("tmt:message");
		compArea.removeAttribute("tmt:invalidvalue");
		phone.removeAttribute("tmt:required");
		phone.removeAttribute("tmt:message");
		phoneRequired.style.display = "none";
		access.style.display = "none";
		tRow.style.visibility = "hidden";
		tAltro.removeAttribute("tmt:required");
		tAltro.removeAttribute("tmt:message");
		
	} else {	// utente
	
		document.getElementById("form-register-title").innerHTML = "utente";
		
		areaAlert.style.display = "none";
		companyAlert.style.display = "none";
		
		if (soc.nodeName.toLocaleLowerCase() == "select") {
			
			newNode = document.createElement("input");
			newNode.type = "text";
			newNode.name = "uCompany";
			newNode.id = "society";
			newNode.style.width = "334px";
			newNode.onchange = function() {
				setSocietyWebSite(this.value)
			};
			newNode.className = "f_select";
			soc.parentNode.replaceChild(newNode, soc);
			
		}
		
		compArea.innerHTML = "";
		
		for (var i=0; i<areeNonAssociato.length; i++) {
			
			opt = document.createElement("option");
			opt.value = areeNonAssociato[i][1];
			opt.innerHTML = areeNonAssociato[i][0];
			compArea.appendChild(opt);
		}
		
		soc.disabled = false;
		soc.removeAttribute("tmt:message");
		soc.removeAttribute("tmt:invalidvalue");
		compArea.disabled = false;
		compArea.removeAttribute("tmt:message");
		compArea.removeAttribute("tmt:invalidvalue");
		phone.removeAttribute("tmt:required");
		phone.removeAttribute("tmt:message");
		phoneRequired.style.display = "none";
		access.style.display = "none";
		tRow.style.visibility = "hidden";
		tAltro.removeAttribute("tmt:required");
		tAltro.removeAttribute("tmt:message");
		
	}
	
	toggleEmails();
	tmt_validatorInit(); // reinizializza il validator
	
}

function toggleAltro() {
	
	var compArea = document.forms["subscription_form"].uPosition; // select delle aree di competenza
	var tRow = document.getElementById("uAltro_specifica");
	var tAltro = document.getElementById("uAltro"); // textarea per speficare l'area di competenza (in caso di "Altro")
	
	if (compArea.value == 20) { // opzione "Altro"
		
		tAltro.setAttribute("tmt:required", true);
		tAltro.setAttribute("tmt:message", "Specificare un'area di competenza.");
		tRow.style.visibility = "visible";
		
	} else {
		
		tRow.style.visibility = "hidden";
		tAltro.removeAttribute("tmt:required");
		tAltro.removeAttribute("tmt:message");
		
	}
	
	tmt_validatorInit();
}






