// Check registrazione Newsletter
function check_registrazione()
  {
	var form_reg=document.getElementById("registrazione");
	var tipo_visitatore=form_reg.elements['tipo'].value;
	for (i=0;i<form_reg.elements.length;i++)
  	  {
		switch (form_reg.elements[i].name)
	  	  {
			case "nome":
			  if (form_reg.elements[i].value=="") { alert ("Il campo NOME non è stato compilato"); evidenziaErrore("nome"); return false; }
			break;
			case "cognome":
			  if (form_reg.elements[i].value=="") { alert ("Il campo COGNOME non è stato compilato"); evidenziaErrore("cognome"); return false; }
			break;
			// INIZIO CONTROLLI SOLO PER I PRIVATI
			case "indirizzo":
			  if (tipo_visitatore=="P")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo INDIRIZZO non è stato compilato"); evidenziaErrore("indirizzo"); return false; }
				}
			break;
			case "cap":
			  if (tipo_visitatore=="P")
			    {
			  	  // controllo validità cap	
	  	      	  var filtro=/^\d{5}$/;
			  	  if (!filtro.test(document.getElementById('cap').value)) { alert ("Il campo CAP deve essere di 5 cifre"); evidenziaErrore("cap"); return false; }
				}
			break;
			case "citta":
			  if (tipo_visitatore=="P")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo CITTA' non è stato compilato"); evidenziaErrore("citta"); return false; }
				}
			break;
			case "provincia":
			  if (tipo_visitatore=="P")
			    {			  	  
				  if (form_reg.elements[i].value=="") { alert ("Il campo PROVINCIA non è stato compilato"); evidenziaErrore("provincia"); return false; }					
				}
			break;
			case "stato":
			  if (tipo_visitatore=="P")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo STATO non è stato compilato"); evidenziaErrore("stato"); return false; }					
				}
			break;
			case "telefono":
			  if (tipo_visitatore=="P")
			    {
				  // controllo validità telefono
	  	      	  var filtro=/^[0-9 .-\/]+$/;
			  	  if (!filtro.test(document.getElementById('telefono').value)) { alert ("Inserire un numero di TELEFONO valido"); evidenziaErrore("telefono"); return false; }
			    }
			break;
			case "cellulare":
			  if (tipo_visitatore=="P" && form_reg.elements[i].value!="") // aggiunto come non obbligatorio il !=""
			    {
				  // controllo validità cellulare
	  	      	  var filtro=/^[0-9 .-\/]+$/;
			  	  if (!filtro.test(document.getElementById('cellulare').value)) { alert ("Inserire un numero di CELLULARE valido"); evidenziaErrore("cellulare"); return false; }
				}
			break;
			case "fax":
			  if (tipo_visitatore=="P")
			    {			
				  // controllo validità fax
	  	      	  var filtro=/^[0-9 .-\/]+$/;
			  	  if (!filtro.test(document.getElementById('fax').value)) { alert ("Inserire un numero di FAX valido"); evidenziaErrore("fax"); return false; }
				}
			break;			
			// FINE CONTROLLI SOLO PER I PRIVATI
			case "email":
		      // controllo validità email	
	  	      var filtro=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
	  	      if (!filtro.test(document.getElementById('email').value)) { alert ("Inserire un indirizzo EMAIL valido."); evidenziaErrore("email"); return false; }	
	  	      //else return true;
			break;
			case "tipo":
			break;
			case "cf":
			  // controllo validità codice fiscale	
	  	      var filtro=/^[a-zA-Z]{6}\d\d[a-zA-Z]\d\d[a-zA-Z]\d\d\d[a-zA-Z]/;
			  var filtro2=/^\d{11}$/;
  	  	      if (tipo_visitatore=="P")
			    {
			      if (!filtro.test(document.getElementById('cf').value)) { alert ("Inserire un CODICE FISCALE valido."); evidenziaErrore("cf"); return false; }	
				}
			  else if (tipo_visitatore=="A")
			    {
			      if (!filtro2.test(document.getElementById('cf').value) && !filtro.test(document.getElementById('cf').value)) { alert ("Inserire un CODICE FISCALE valido."); evidenziaErrore("cf"); return false; }	
				}
			  //else return true;
			break;
			
			// INIZIO CONTROLLI SOLO PER AZIENDE
			case "piva":
			  if (tipo_visitatore=="A")
			    {			  
			  	  // controllo validità partita iva
	  	      	  var filtro=/^\d{11}$/;
  	  	      	  if (!filtro.test(document.getElementById('piva').value)) { alert ("Inserire un PARTITA IVA valida."); evidenziaErrore("piva"); return false; }	
	  	      	  //else return true;	
				}			  
			break;
			case "ragione_sociale":
			  if (tipo_visitatore=="A")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo RAGIONE SOCIALE non è stato compilato"); evidenziaErrore("ragione_sociale"); return false; }
				}
			break;
			case "indirizzo_a":
			  if (tipo_visitatore=="A")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo INDIRIZZO AZIENDA non è stato compilato"); evidenziaErrore("indirizzo_a"); return false; }					
				}
			break;
			case "cap_a":
			  if (tipo_visitatore=="A")
			    {
			  	  // controllo validità cap	
	  	      	  var filtro=/^\d{5}$/;
			  	  if (!filtro.test(document.getElementById('cap_a').value)) { alert ("Il campo CAP AZIENDA deve essere di 5 cifre"); evidenziaErrore("cap_a"); return false; }
				}
			break;
			case "citta_a":
			  if (tipo_visitatore=="A")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo CITTA' AZIENDA non è stato compilato"); evidenziaErrore("citta_a"); return false; }										
				}			
			break;
			case "provincia_a":
			  if (tipo_visitatore=="A")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo PROVINCIA AZIENDA non è stato compilato"); evidenziaErrore("provincia_a"); return false; }										
				}			
			break;
			case "stato_a":
			  if (tipo_visitatore=="A")
			    {
			  	  if (form_reg.elements[i].value=="") { alert ("Il campo STATO AZIENDA non è stato compilato"); evidenziaErrore("stato_a"); return false; }										
				}			
			break;
			case "telefono_a":
			  if (tipo_visitatore=="A")
			    {
				  // controllo validità telefono
	  	      	  var filtro=/^[0-9 .-\/]+$/;
			  	  if (!filtro.test(document.getElementById('telefono_a').value)) { alert ("Inserire un numero di TELEFONO valido"); evidenziaErrore("telefono_a"); return false; }
				}
			break;
			case "fax_a":
			  if (tipo_visitatore=="A")
			    {
				  // controllo validità telefono
	  	      	  var filtro=/^[0-9 .-\/]+$/;
			  	  if (!filtro.test(document.getElementById('fax_a').value)) { alert ("Inserire un numero di FAX valido"); evidenziaErrore("fax_a"); return false; }
				}			
			break;
			case "url_a":
			  if (tipo_visitatore=="A")
			    {
			  	  var filtro=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
			  	  if (!filtro.test(document.getElementById('url_a').value)) { alert ("Inserire un URL valido (es. http://www.vostrosito.it)"); evidenziaErrore("url_a"); return false; }
				}			
			break;
			// FINE CONTROLLI SOLO PER AZIENDE
			case "check_code":
			  // controllo validità cap	
	  	      var filtro=/^[0-9a-zA-Z]{5}/;
			  if (!filtro.test(document.getElementById('check_code').value)) { alert ("Il campo CODICE DI CONTROLLO deve essere di 5 caratteri"); evidenziaErrore("check_code"); return false; }
			break;
			case "privacy":
			  if (!form_reg.elements[i].checked) { alert ("E' necessario accettare l'informativa sulla Privacy"); evidenziaErrore("privacy"); return false; }					
			break;
			default:
			break;
	  	 } 
     }
  }
  
function evidenziaErrore(id_campo)
  {
	document.getElementById(id_campo).style.border="1px solid red";
	document.getElementById(id_campo).focus();
  }

function resettaErrori()
  {
	var form_reg=document.getElementById("registrazione");
	for (i=0;i<form_reg.elements.length;i++)
	  {
		form_reg.elements[i].removeAttribute("style");
	  }
  }



