/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  *
  * Title : 		Form Validation Example
  * Author : 		Vito Tardia
  * URL : 			http://www.vtardia.com
  *
  * Description :	Includes functions from HackerJournal magazine
  *					(http://www.hackerjournal.it)
  *				- 	filled
  *				- 	canSubmit
  *
  * Created : 	27/03/2006
  * Modified : 	27/11/2006
  *
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/

	var loginForm;

	//Attach an "onLoad" event to the current window
	window.onload = init;
	
	//Initialization function
	function init() {
		//Attaching the onSubmit event to the login form
		loginForm = document.getElementById('ABILITARED');
		loginForm.onsubmit = function () {
			return canSubmit(this);
		}
		
		//Setting focus to the user field
		loginForm.NOME_STUDIO.focus();
	}
function scelta_cf(){
	
if (loginForm.chk_cf.checked){
	loginForm.CF_STUDIO.value=loginForm.PIVA_STUDIO.value;
	loginForm.CF_STUDIO.disabled=true
}else{
	loginForm.CF_STUDIO.value=""
	loginForm.CF_STUDIO.disabled=false
}

}
	
function codfiscale(codfisc){
	
	filtro=/[a-zA-Z]{6}[0-9]{2}[a-zA-Z][0-9]{2}[a-zA-Z][0-9]{3}[a-zA-Z]/;
	if (filtro.test(codfisc.value)){
		return true;
	} else {
		return false;
	}
}
function ControllaMail(dato)
   {
   EmailAddr = dato.value;
   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(EmailAddr))
      return true;
   else
      {
      
      return false;
      }
   }

	function filled(field) {
		if (field.value == "" || field.value == null || field.value == "-") {
			return false;
		} else {
			return true;
		}
	}
	function solonumeri(field){//controlla che sia solo caratteri 0-9
		var ReN = /^([0-9]+)$/;
		if (!ReN.test(field.value)){
			alert("Attenzione nel campo "+ field.name.toUpperCase() + "  possibile mettere solo NUMERI!!!");
			field.focus();
			field.select();
			return false;
			}
			else{
			return true;	
		}
	}
	function sololettere(field){//controlla che sia solo caratteri a-z
		var ReL = /^([a-zA-Z\s]+)$/;
		if (!ReL.test(field.value)){
			alert("Attenzione nel campo "+ field.name.toUpperCase() + "  possibile mettere solo LETTERE!!!");
			field.focus();
			field.select();
			return false;
			}
			else{
			return true;	
		}
	}

	function canSubmit(form) {
		if (!filled(form.NOME_STUDIO)) {
			alert("Inserire il nome dello Studio.");
			form.NOME_STUDIO.focus();
			return false;
		}
		
/*		if (!sololettere(form.NOME_STUDIO)){
			return false;
			}
*/
		if (!filled(form.INDIRIZZO_STUDIO)) {
			alert("Inserire l'indirizzo dello Studio.");
			form.INDIRIZZO_STUDIO.focus();
			return false;
		}

		if (!filled(form.CITTA_STUDIO)) {
			alert("Inserire la citt dello Studio.");
			form.CITTA_STUDIO.focus();
			return false;
		}
		
		if (!filled(form.CAP_STUDIO)) {
			alert("Inserire il CAP dello Studio.");
			form.CAP_STUDIO.focus();
			return false;
		}

		if (!solonumeri(form.CAP_STUDIO)){
			return false;
			}
		
		
		if (!filled(form.TEL_STUDIO)) {
			alert("Inserire il Telefono dello Studio.");
			form.TEL_STUDIO.focus();
			return false;
		}

		if (!solonumeri(form.TEL_STUDIO)){
			return false;
			}

		if (!filled(form.FAX_STUDIO)) {
			alert("Inserire il Fax dello Studio.");
			form.FAX_STUDIO.focus();
			return false;
		}
		if (!solonumeri(form.FAX_STUDIO)){
			return false;
			}
		
		if (!filled(form.PIVA_STUDIO)) {
			alert("Inserire la P.IVA dello Studio.");
			form.PIVA_STUDIO.focus();
			return false;
		}
		if (!solonumeri(form.PIVA_STUDIO)){
			return false;
			}
		
		if (form.PIVA_STUDIO.value.length!=11){
			alert("La P.IVA deve essere di 11 mumeri.");
			form.PIVA_STUDIO.focus();
			return false;
		}
		
if (!loginForm.chk_cf.checked){


		if (form.CF_STUDIO.value.length!=16){
			alert("Il Codice Fiscale deve essere di 16 caratteri.");
			form.CF_STUDIO.focus();
			return false;
		}

		if (!codfiscale(form.CF_STUDIO)) {
			alert("Controllare il Codice Fiscale!");
			form.CF_STUDIO.focus();
			return false;
		}

}
		if (!filled(form.COGNOME)) {
			alert("Inserire il Vostro Cognome.");
			form.COGNOME.focus();
			return false;
		}
		if (!sololettere(form.COGNOME)){
			return false;
			}
		
		if (!filled(form.NOME)) {
			alert("Inserire il Vostro Nome.");
			form.NOME.focus();
			return false;
		}
		if (!sololettere(form.NOME)){
			return false;
			}
		
		if (!filled(form.Nome_albo)) {
			alert("Inserire il nome dell'Albo.");
			form.Nome_albo.focus();
			return false;
		}
		/*if (!filled(form.PROV_ALBO)) {
			alert("Inserire la provincia dell'iscrizione.");
			form.PROV_ALBO.focus();
			return false;
		}*/
		if (!filled(form.NUM_ISCRIZ)) {
			alert("Inserire il Numero di iscrizione.");
			form.NUM_ISCRIZ.focus();
			return false;
		}
		if (!solonumeri(form.NUM_ISCRIZ)){
			return false;
			}
		
		if (!ControllaMail(form.EMAIL)) {
			alert("Controllare l'email!.");
			form.EMAIL.select();
			/*form.EMAIL.focus();*/
			return false;
		}
		if (!filled(form.nome_banca)) {
			alert("Inserire il Nome della Banca.");
			form.nome_banca.focus();
			return false;
		}
//		if (!solonumeri(form.N_CONTO)){
//			return false;
//			}
		
		if (!filled(form.iban)) {
			alert("Inserire il codice IBAN.");
			form.iban.focus();
			return false;
		}
		
		if (form.iban.value.length!=27){
			alert("Il codice IBAN deve essere di 27 numeri.");
			form.iban.focus();
			return false;
		}

		//if (!solonumeri(form.abi)){
//			return false;
//			}
			
		//if (form.abi.value.length!=5){
//			alert("L'ABI deve essere di 5 numeri.");
//			form.abi.focus();
//			return false;
//		}

	//	if (!filled(form.cab)) {
//			alert("Inserire il CAB.");
//			form.cab.focus();
//			return false;
//		}
//		if (!solonumeri(form.cab)){
//			return false;
//			}
//		if (form.cab.value.length!=5){
//			alert("Il CAB deve essere di 5 numeri.");
//			form.cab.focus();
//			return false;
//		}
//			
//		
//		if (!filled(form.cin)) {
//			alert("Inserire il CIN.");
//			form.cin.focus();
//			return false;
//		}
//		if (!sololettere(form.cin)){
//			return false;
//			}
//		if (form.cin.value.length!=1){
//			alert("Il CIN deve essere di 1 numeri.");
//			form.cin.focus();
//			return false;
//		}
		
		if (!filled(form.ctrlcod)) {
			alert("Inserire il codice di sicurezza riportato in rosso!!!");
			form.ctrlcod.focus();
			return false;
		}
		

		return true;
	}
	//COntrollo se sono numeri
/*	function isnum(obj) {
		if (isNaN(obj.value))//|| parseInt(obj.value)<0 || parseInt(obj.value) > 9999
		{
		alert('Nel campo ' +obj.name+'  possibile immettere solo numeri!');
		obj.value="";
		//alert(obj.name);
		return true;
		obj.focus();
		}
	}
*/		//2 funzioni 
		/* 
     Script  tratto dal libro "JavaScript and DHTML Cookbook" - Capitolo 8-11
     Pubblicato da O'Reilly & Associates
     Copyright 2003 Danny Goodman
	  Riprodurre questa nota per qualunque riutilizzo del codice.
	*/
/*	function solonumeri(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        alert("Puoi inserire solo numeri!"); 
        return false;
    }
    return true;
}

function sololettere(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 65 || charCode > 90) && 
        (charCode < 97 || charCode > 122)) {
        alert("Puoi inserire solo lettere!");
        return false;
    }
    return true;
}
*/		//fine 2 funzioni
	

