// CONTROLLO FORM DI registrazione_shop
// (C) Matteo Gattei 12/2001
function InizialeMaiuscola(stringa)
  {
	stringa=stringa.toLowerCase();
	var l=stringa.length;
	var car="";
	var maiuscolo=true;
	var risultato="";
	for (var i=0;i<l+1;i++)
		{
		car=stringa.charAt(i);	
		if (maiuscolo)
			{
			car=car.toUpperCase();
			maiuscolo=false;
			}
		if (car==" " || car=="'") maiuscolo=true;
		risultato+=car;
		}
	stringa=risultato;			
	return stringa;
  }

function check_registrazione_shop()
  {
   if (!document.registrazione_shop.privacy.checked)
	{
		window.alert ("Per effettuare la registrazione e' necessario acconsentire al trattamento dei dati personali");
		return false;
	}
// Controllo Nome
		var nome=document.registrazione_shop.nome.value;
		document.registrazione_shop.nome.value=InizialeMaiuscola(nome)
		if (nome=="")
		  {
			window.alert ("Il campo NOME deve essere compilato !");
			return false;
		  }
		if (nome.length<2 || nome.length>30)
		  {
			window.alert ("Il campo NOME deve essere di min. 2 e max. 30 caratteri !");
			return false;
		  }

// Controllo Cognome
		var cognome=document.registrazione_shop.cognome.value;
		document.registrazione_shop.cognome.value=InizialeMaiuscola(cognome);
		if (cognome=="")
		  {
			window.alert ("Il campo COGNOME deve essere compilato !");
			return false;
		  }
		if (cognome.length<2 || cognome.length>30)
		  {
			window.alert ("Il campo COGNOME deve essere di min. 2 e max. 30 caratteri !");
			return false;
		  }
	   
// Controllo Indirizzo
		var indirizzo=document.registrazione_shop.indirizzo.value;
		document.registrazione_shop.indirizzo.value=InizialeMaiuscola(indirizzo);
		if (indirizzo=="")
		  {
			window.alert ("Il campo INDIRIZZO deve essere compilato !");
			return false;
		  }
		if (indirizzo.length<6 || indirizzo.length>50)
		  {
			window.alert ("Il campo INDIRIZZO deve essere di min. 6 e max. 50 caratteri !");
			return false;
		  }
		   
// Controllo CAP
	   var cap=document.registrazione_shop.cap.value;
	   if (cap=="")
		{
		  window.alert ("Il campo CAP deve essere compilato !");
		  return false;
		}
	   if (cap.length!=5)
		{
		  window.alert ("Il campo CAP deve essere di 5 numeri !");
		  return false;
		}
	   for (var i=0;i<6;i++)
		{
		  if (cap.charCodeAt(i)<48 || cap.charCodeAt(i)>57)
			{
			  window.alert ("Il campo CAP deve essere numerico !");
			  return false;
			}
		}

// Controllo Citta
		var citta=document.registrazione_shop.citta.value;
		document.registrazione_shop.citta.value=InizialeMaiuscola(citta);
		if (citta=="")
		  {
			window.alert ("Il campo CITTA deve essere compilato !");
			return false;
		  }
		if (citta.length<2 || citta.length>30)
		  {
			window.alert ("Il campo CITTA' dever essere di min. 2 e max. 30 caratteri !");
			return false;
		  }
	     
// Controllo Provincia
		var provincia=document.registrazione_shop.provincia.value;
		document.registrazione_shop.provincia.value=provincia.toUpperCase();
		if (provincia=="")
		  {
			window.alert ("Il campo PROVINCIA deve essere compilato !");
			return false;
		  }
		if (provincia.length!=2)
		  {
			window.alert ("Il campo PROVINCIA deve essere di 2 caratteri !");
			return false;
		  }
		for (var i=0;i<3;i++)
		  {
			if (provincia.charCodeAt(i)<65 || provincia.charCodeAt(i)>90 && provincia.charCodeAt(i)<97 || provincia.charCodeAt(i)>122)
			  {
				window.alert ("Il campo PROVINCIA deve essere letterale !");
				return false;
			  }
		  }
   
// Controllo Email	 
	   var email=document.registrazione_shop.email.value;
	   var flag_at,flag_dot;
	   if (email=="")
		{
			window.alert ("Il campo E-MAIL deve essere compilato !");
		return false;
		}
	   if (email.length<7 || email.length>50)
		{
			window.alert ("Il campo E-MAIL non &egrave; valido !");
		return false;
		}
	   flag_at=false;
	   flag_dot=false;
	   for (var j=0;j<51;j++)
		{
			if (email.charAt(j)=="@")
			{
			flag_at=true;
			}
			if (email.charAt(j)==".")
			{
			flag_dot=true;
					}
			}
	   if (flag_at==false || flag_dot==false)
		{
			window.alert ("Il campo E-MAIL deve contenere i caratteri @ e .");
		return false;
		}
	   document.registrazione_shop.email.value=email.toLowerCase();

// Controllo Password
		var password=document.registrazione_shop.password.value;
		if (password=="")
		  {
			window.alert ("Il campo PASSWORD deve essere compilato !");
			return false;
		  }
		if (password.length<6 || password.length>20)
		  {
			window.alert ("Il campo PASSWORD deve essere compreso tra 6 e 20 caratteri");
			return false;
		  }
		var re_password=document.registrazione_shop.re_password.value;
		if (re_password=="")
		  {
			window.alert ("Riscrivi la password, in questo modo si evitano possibili errori");
			return false;
		  }
		if (password!=re_password)
		  {
			window.alert ("I due campi password non combaciano, riscrivili entrambi");
			return false;
		  } 

// Controllo codice fiscale
		var reCF = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
		if (document.registrazione_shop.tipo.value!="A" || document.registrazione_shop.codice_fiscale.value!=document.registrazione_shop.partita_iva.value)
		  {
			var cf=document.registrazione_shop.codice_fiscale.value.toUpperCase();
			document.registrazione_shop.codice_fiscale.value=cf;
			if (!reCF.test(cf))
			  {
				alert("Il codice fiscale e' errato.");
				return false;
			  }
		  }

// Controllo se Privato o Azienda
		if (document.registrazione_shop.tipo.value=="A") // tipo azeinda
		  {
			// Controllo Ragione sociale
			var ragione_sociale=document.registrazione_shop.ragione_sociale.value;
			if (ragione_sociale=="")
			  {
				window.alert ("Il campo RAGIONE SOCIALE deve essere compilato !");
				return false;
			  }
			if (ragione_sociale!="")
			  {
				document.registrazione_shop.ragione_sociale.value=InizialeMaiuscola(ragione_sociale)
				if (ragione_sociale.length<2 || ragione_sociale.length>30)
				  {
					window.alert ("Il campo RAGIONE SOCIALE' deve essere di min. 2 e max. 30 caratteri !");
					return false;
				  }
			  }
			  
			// Controllo Partita Iva
			var partita_iva=document.registrazione_shop.partita_iva.value;
			if (partita_iva=="")
			  {
				window.alert ("Il campo PARTITA IVA deve essere compilato !");
				return false;
			  }
			if (partita_iva.length!=11)
			  {
				window.alert ("Il campo PARTITA IVA deve essere di 11 numeri !");
				return false;
			  }
			for (var i=0;i<6;i++)
			  {
				if (partita_iva.charCodeAt(i)<48 || partita_iva.charCodeAt(i)>57)
				  {
					window.alert ("Il campo PARTITA IVA deve essere numerico !");
					return false;
				  }
			  }
		  }  // fine tipo privato o azienda

// Controllo CheckCode
		var check_code=document.registrazione_shop.check_code.value;
		if (check_code=="")
		  {
			window.alert ("Scrivi il codice di controllo che vedi nell'immagine");
			return false;
		  }

  return true;
  }