													
	
													
																var $j = new jQuery.noConflict();
																
												$j(document).ready(function() {
														
														$j("#codapp").hide();
														
														
														$j("#mainSelection").change(function() {
															
																if ($j(this).val() != 0) {
																	
																	$j("#codapp").show();
																	
																} else {
																	
																	$j("#codapp").hide();
																	
																}
															
														});
														
													});
																
																$j.validator.setDefaults({
																	submitHandler: function() { document.signupForm.submit(); }
																});
																
																$j().ready(function() {
																	// validate the comment form when it is submitted
																	
																	
																	// validate signup form on keyup and submit
																	$j("#signupForm").validate({
																		rules: {
																			cognome: {
																				required: true,
																				minLength: 3
																			},
																			nome: {
																				required: true,
																				minLength: 3
																			},
																			email: {
																				required: true,
																				email: true
																			},
																
																			agree: "required"
																		},
																		messages: {
																			firstname: "Please enter your firstname",
																			lastname: "Please enter your lastname",
																			cognome: {
																				required: "inserire il cognome",
																				minLength: "il nome deve avere almeno 3 caratteri"
																			},
																			nome: {
																				required: "inserire il nome",
																				minLength: "il nome deve avere almeno 3 caratteri"
																			},
																			email: "inserire un indirizzo e_mail valido",
																			agree: "Accettare l\'informativa sulla privacy"
																		}
																																				
																		
																	});																																
																
																});
																
																function newXMLHttpRequest(){
																	var xmlreq = false;
																	
																	//Controllo il tipo di oggetto XMLHttpRequest da utilizzare
																	if(window.XMLHttpRequest){
																		//Per browser non Microsoft
																		xmlreq = new XMLHttpRequest();
																	}else if(window.ActiveXObject){
																		//Cerco di creare l\'oggetto via MS ActiveX
																		try{
																			//Nuove versioni per browser IE
																			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
																		}catch(e1){ //Errore riscontrato durante la creazione dell\'oggetto
																			try{
																				//Precedenti versioni per browser IE
																				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
																			}catch(e2){ //Nuovo errore durante la creazione dell\'oggetto
																				xmlreq = false;
																			}
																		}
																	}
																	//Restituisco l\'eventuale oggetto XMLHttpRequest

																	return xmlreq;
																}
																
																/*
																 * Funzione per la popolazione della Seconda SELECT
																 */
																function populateSubSelection(){
																	//Recupero i dati da inviare
																	var mainSelection = document.getElementById("mainSelection");
																	
																	//Creo un nuovo oggetto XMLHTTPRequest
																	var req = newXMLHttpRequest();
																	
																	//Invio la richiesta
																	req.open("POST", "data.php", true);
																	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
																	
																	//Invio i dati POST
																	req.send("choice=" + mainSelection.options[mainSelection.selectedIndex].value);
																	
																	if (mainSelection.options[mainSelection.selectedIndex].value=="0")
																	{
																	 	var idpage = document.getElementById("id");
																		idpage.value="15";	
																		var label = document.getElementById("lab_produttore");
																		label.innerHTML="prodotto:&nbsp;&nbsp;&nbsp;";
																	}
																	else
																	{
																	 	var idpage = document.getElementById("id");
																		idpage.value="14";	
																		var label = document.getElementById("lab_produttore");
	 																	label.innerHTML="produttore:";
	 																}
																												
																	//Gestore dell\'evoluzione dello stato dell\'oggetto req
																	req.onreadystatechange = handleResponse(req, updateSubSelection);																	
																}
																
																/*
																 * Ritorna una funzione per la gestione dello stato dell\'oggetto req.
																 * Ed infine a stato finale raggiunto, invia la risposta XML alla funzione che dovra gestire il tutto.
																 * reg = Istanza XMLHTTPRequest
																 * XMLHandler = nome della funzione a cui passare il risultato XML da gestire
																 */
																function handleResponse(req, XMLHandler){
																	return function(){
																		//Controllo se l\'oggetto req ha raggiunto lo stato finale
																		if(req.readyState == 4){
																			//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
																			if (req.status == 200){
																				//A questo punto richiamo la funzione che gestira il risultato XML
																				XMLHandler(req.responseXML);
																			}else{
																				alert("Errore HTTP: " + req.status);
																			}
																		}
																	}
																}																
																
																/*
																 * Popolo la seconda SELECT
																 * XMLResult = Il risultato XML prodotto da handleResponse
																 */
																function updateSubSelection(XMLResult){
																	//Gestisco il documento XML ricevuto e popolo la seconda SELECT
																	var categoria = XMLResult.getElementsByTagName("categoria");
																	
																	var mainSelection = document.getElementById("mainSelection");
																	if (mainSelection.length == 4)
																		mainSelection.remove(0);																																																
																	
																	//Recupero la seconda SELECT
																	var subSelection = document.getElementById("subSelection");
																	subSelection.disabled=false;
																	
																	//Svuoto la secondo SELECT
																	for (var i = subSelection.length - 1; i >= 0; i--)
																		subSelection.remove(i);
																	
																	//Scorro gli elementi
																	for (var i = 0; i < categoria.length; i++){
																		//Recupero i vari elementi singoli
																		var item = categoria[i];
																		
																		//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
																		var NewOpt = document.createElement("option");
																		NewOpt.value = item.getAttribute("value");
																		NewOpt.text = item.firstChild.nodeValue;
																		
																		//Popolo la seconda SELECT
																		try{
																			subSelection.add(NewOpt, null); //Metodo Standard, non funziona con IE
																		}catch(e){
																			subSelection.add(NewOpt); // Funziona solo con IE
																		}
																	}
																	
																	var vai = document.getElementById("vai");
																	vai.disabled=false;

																}

