// ################# controlli sulla form di REGISTRAZIONE ##############################################
	function check_form_registrazione_utente() {
		var form = document.forms['dataentry']; 
		
		//controllo campo user obbligatorio
		if ((form.username.value == "") || (form.username.value == "undefined")) {
			alert("Attenzione, manca il campo username");
			return false;
		} 		

		//controllo campo password obbligatorio
		if (form.password) {
			if ((form.password.value == "") || (form.password.value == "undefined")) {
				alert("Attenzione, manca il campo password");
				return false;
			}
		}
		
		// Espressione regolare dell'email
		var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
		//controllo campo email obbligatorio
		if ((form.email.value == "") || (form.email.value == "undefined")) {
			alert("Attenzione, manca il campo email");
			//return false;
			return;
		}
		//controllo email regolare
		if (!email_reg_exp.test(form.email.value)) {
           alert("Inserire un indirizzo email corretto.");
           return false;
        }
		
		if (form.confermamail) {
			//controllo campo conferma email obbligatorio
			if ((form.confermamail.value == "") || (form.confermamail.value == "undefined") || (form.confermamail.value != form.email.value)) {
				alert("Attenzione! Controllare che l'indirizzo email sia stato inserito correttamente.");
				return false;
			}
		}

		form.submit();		
}
		
// ################# controlli sulla form di LOGIN ##############################################
function check_form_login() {
		
		var form = document.forms['login']; 
		//controllo campo user obbligatorio
		if ((form.username.value == '') || (form.username.value == 'undefined')) {
			alert('Attenzione, manca il campo username');
			return false;
		}
        if ((form.password.value == "") || (form.password.value == "undefined")) {
			alert("Attenzione, manca il campo password");
			return false;
		}
        form.submit();
}
function check_form_login2() {
		
		var form = document.forms['login2']; 
		//controllo campo user obbligatorio
		if ((form.username.value == '') || (form.username.value == 'undefined')) {
			alert('Attenzione, manca il campo username');
			return false;
		}
        if ((form.password.value == "") || (form.password.value == "undefined")) {
			alert("Attenzione, manca il campo password");
			return false;
		}
        form.submit();
}


// ################# controlli sulla form di MODIFICA UTENTI ##############################################
function check_form_selected() {
		
		var form = document.forms['dataentry']; 
		//controllo campo user obbligatorio
		var radioLength = form.id_user.length;
		var test;
		for(var i = 0; i < radioLength; i++) {
			if(!form.id_user[i].checked) { // Verifico per ogni radiobutton se è non checked
				test = 0;			
			} else {	
				test = 1;
				return true;
			}
		}
		// Controllo se nessun radio è stato selezionato
		if (test == 0) {
			alert('Attenzione, non è stato selezionato nessun utente.');
			return false;
		} 
}

// ################# controlli sulla form UPLOAD FILE ##############################################
function check_file_upload() {
		
		var form = document.forms['dataentry']; 
		
		//controllo campo articolo obbligatorio
		if ((form.dynNews.value == "") || (form.dynNews.value == "undefined") || (form.dynNews.value == "0")) {
			alert("Attenzione, nessun articolo selezionato!");
			return false;
		} 		
		//controllo campo file obbligatorio
		if (
			((form.pictures1.value == "") || (form.pictures1.value == "undefined")) &&
			((form.pictures2.value == "") || (form.pictures2.value == "undefined")) &&
			((form.pictures3.value == "") || (form.pictures3.value == "undefined")) &&
			((form.pictures4.value == "") || (form.pictures4.value == "undefined")) &&
			((form.pictures5.value == "") || (form.pictures5.value == "undefined"))
											  ) {
			alert("Attenzione, nessun file selezionato!");
			return false;
		} 	
		
		var radioLength = form.copertina.length;
		for(var i = 0; i < radioLength; i++) {
			// Verifico per ogni radiobutton se non è checked, se lo è ne prendo il valore
			if(form.copertina[0].checked) { 
				if(confirm("Sei sicuro di non voler impostare nessuna immagine come copertina? \n Se non si inserisce nessun immagine come copertina, \n verrà inserita un immagine di default.")) {
					return true;
				} else {
					return false;
				}		
			} 
		}				
}

// ################# controlli sulla form UPLOAD FILE ##############################################
function check_form_catalogo() {
		
		var form = document.forms['dataentry']; 
		
		if ((form.titolo.value == "") || (form.titolo.value == "undefined")) {
			alert('Attenzione: Inserire il titolo per l\'oggetto da mettere in vendita!');
			return false;
		} 
		
		//controllo campo file obbligatorio
		if (
			((form.pictures1.value == "") || (form.pictures1.value == "undefined")) &&
			((form.pictures2.value == "") || (form.pictures2.value == "undefined")) &&
			((form.pictures3.value == "") || (form.pictures3.value == "undefined")) &&
			((form.pictures4.value == "") || (form.pictures4.value == "undefined")) &&
			((form.pictures5.value == "") || (form.pictures5.value == "undefined"))
											  ) {
				if(confirm("Attenzione, nessuna immagine scelta da inserire. \nContinuare?")){
					// ok procedo
				} else {
					return false;
				}
		} 			
		
		form.submit();
}

// ################# controlli sulla form di MODIFICA PASSWORD ##############################################
	function check_form_password() {
		var form = document.forms['dataentry']; 
		
		//controllo campo password obbligatorio
		if ((form.oldPassword.value == "") || (form.oldPassword.value == "undefined")) {
			alert("Attenzione, manca il campo vecchia password");
			return false;
		}
		
		//controllo campo password obbligatorio
		if ((form.newPassword.value == "") || (form.newPassword.value == "undefined")) {
			alert("Attenzione, manca il campo nuova password");
			return false;
		}
		
		//controllo campo password obbligatorio
		if ((form.checkPassword.value == "") || (form.checkPassword.value == "undefined")) {
			alert("Attenzione, manca il campo conferma password");
			return false;
		}
		
		//controllo campo conferma password obbligatorio
		if ((form.newPassword.value == "") || 
			 (form.newPassword.value == "undefined") || 
			 (form.newPassword.value != form.checkPassword.value)) {
			alert("Attenzione! La nuova password inserita non è uguale al campo conferma password.");
			return false;
		}

		form.submit();		
}

// ################# controlli sulla form per il recupero della password ######################################
	function check_form_recupero_password() {
		
		var form = document.forms['dataentry']; 
		
		// Espressione regolare dell'email
		var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
		//controllo campo email obbligatorio
		if ((form.email.value == "") || (form.email.value == "undefined")) {
        	alert("Attenzione! Bisogna inserire un indirizzo email valido!");
			return false;
		}
		//controllo email regolare
		if (!email_reg_exp.test(form.email.value)) {
           alert("Inserire un indirizzo email corretto.");
           return false;
        }
		
		form.submit();		
}

// ################# controlli sulla form di NEWS ##############################################
	function check_form_news() {
		var form = document.forms['dataentry'];
		
		if ((form.title.value == "") || (form.title.value == "undefined")) {
			alert('Attenzione: Inserire il titolo della news!');
			return false;
		} 

		form.submit();			
	}
	
// ################# controlli sulla form di ESPERTO RISPONDE ##############################################
	function check_form_esperto() {
		var form = document.forms['dataentry'];
		
		if ((form.areaDomanda.value == "") || (form.areaDomanda.value == "undefined")) {
			alert('Attenzione: Nessuna domanda inserita!');
			return false;
		} 

		form.submit();			
	}

// ################# controlli sulla form COMMENTO ##############################################
	function check_form_commento() {
		var form = document.forms['dataentry'];
		
		if ((form.commento.value == "") || (form.commento.value == "undefined")) {
			alert('Attenzione: Nessun commento inserito!');
			return false;
		} 

		form.submit();			
	}
	
// ################# AGGIUNGI AL CARRELLO ##############################################	
	
	function check_form_aggiungialcarrello(id) {
		var form = document.forms['add_'+id];
		// Espressione regolare del carrello
		var carrello_reg_exp = /^([0-9])+$/;
		//controllo campo carrello regolare
		if (!carrello_reg_exp.test(form.quantity.value)) {
           alert("Inserire un numero come quantita.");
        	return false;
        }
		
		//controllo campo user obbligatorio
		if ((form.quantity.value == "") || (form.quantity.value == "undefined") || (form.quantity.value == "0")) {
        	alert("Attenzione, non hai selezionato nessuna quantita!");
        	return false;
		} 
		
		form.submit();
	}

//#################  eliminina elemento ####################
	function eliminaelemento() {
			
			var form = document.forms['elimina']; 
			
				if(confirm("Sei sicuro di voler eliminare l'elemento selezionato?")) {
					form.submit();
				} else {
					return false;
				}
			}

// ################# combo dinamiche regione provincia comune ##############################################
			
			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;
			}
			
			/*
			 * 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, nameScript){
				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, nameScript);
						}else{
							alert("Errore HTTP: " + req.status);
						}
					}
				}
			}
			
			/*
			 * Funzione per la popolazione della Seconda SELECT
			 */
			function populateSubSelection(idName, nameScript){
				//Recupero i dati da inviare
				var mainSelection = document.getElementById(idName);
				
				//Creo un nuovo oggetto XMLHTTPRequest
				var req = newXMLHttpRequest();
				
				//Invio la richiesta
				newURL = window.location.protocol + "//" + window.location.hostname + "/";
				if (newURL=="http://localhost/"){
					newURL = "http://localhost/Viaggiare in moto/";					
				} else {
					newURL = "http://www.viaggiareinmoto.com/";	
				}
				req.open("POST", newURL+"dynamicSelect.php", true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				
				//Invio i dati POST
				req.send("choice=" + mainSelection.options[mainSelection.selectedIndex].value +
						 "&type=" + nameScript);
				
				//Gestore dell'evoluzione dello stato dell'oggetto req
				req.onreadystatechange = handleResponse(req, updateSubSelection, nameScript);
			}
			
			/*
			 * Popolo la seconda SELECT
			 * XMLResult = Il risultato XML prodotto da handleResponse
			 */
			function updateSubSelection(XMLResult, nameScript){
				//Gestisco il documento XML ricevuto e popolo la seconda SELECT
				var categoria = XMLResult.getElementsByTagName('categoria');
				
				//Recupero la seconda SELECT
				var subSelection = document.getElementById(nameScript);
				
				//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
					}
				}
			}
						
// ################# reset combo ##############################################
			function resetSelect(objID){
				selObject=document.getElementById(objID)
				//cycle through the options collection, setting the selected attribute of each to false
				for (i=0;i<selObject.options.length;i++){
					selObject.options[i].selected=false;
				}
			}
			
// ################# mostra / nascondi DIV ##############################################			
function mostraNascondiDiv(id){
	 if (document.getElementById){
    		if(document.getElementById(id).style.display == 'none'){
      			document.getElementById(id).style.display = 'block';
    		} else {
      			document.getElementById(id).style.display = 'none';
    		}
  	}
}
