
//funzione che controlla qualunque form di inserimento dati
function validateform (form,tipo){	
	 
	 if(tipo=="login"){
		
			with(form){	
				if(user.value.length==0) {
					alert("Errore: compilare il campo User");
					user.focus();
					return false;
				}
				if(password.value.length==0) {
					alert("Errore: compilare il campo Password");
					password.focus();
					return false;
				}
			}
	 return true;		
	 }
	
	else if(tipo=="ricerca"){
				 
				with(form){	
					if(cerca.value.length==0) {
						alert("Errore: compilare il campo Ricerca");
						cerca.focus();
						return false;
					}
				}
	return true;		
	}
	else if(tipo=="calendario"){
				 
				with(form){	
					//controllo nome
					if(nome.value.length==0) {
						alert("Errore: compilare il campo Nome");
						nome.focus();
						return false;
					}
					else if ( nome.value.search(/^([a-zA-Z_\.\-\s\à?\è\à?\ù\ò\ì]{2,})+$/)!=0 ){
				        alert("Errore: il campo Nome contiene caratteri non validi o è troppo corto");
						nome.focus();
						nome.value="";
						return false;
					}
				//controllo cognome
				    if(cognome.value.length==0) {
						alert("Errore: compilare il campo Cognome");
						cognome.focus();
						return false;
					}
					else if ( cognome.value.search(/^([a-zA-Z_\.\-\s\'\à?\è\à?\ù\ò\ì]{2,})+$/)!=0){
				        alert("Errore: il campo Cognome contiene caratteri non validi o è troppo corto");
						cognome.focus();
						cognome.value="";
						return false;
					}
				//controllo città
				    if(citta.value.length==0) {
						alert("Errore: compilare il campo Città");
						citta.focus();
						return false;
					}
					else if ( citta.value.search(/^([a-zA-Z0-9_\.\-\s\'\à?\è\à?\ù\ò\ì]{2,})+$/) !=0){
				        alert("Errore: il campo Città contiene caratteri non validi o è troppo corto");
						citta.focus();
						citta.value="";
						return false;
					}
				//controllo cap
				    if(cap.value.length==0) {
						alert("Errore: compilare il campo Cap");
						cap.focus();
						return false;
					}
					else if ( cap.value.search(/^([0-9]{5,})+$/) !=0 ){
				        alert("Errore: il campo Cap contiene caratteri non validi o è inferiore a 5 cifre");
						cap.focus();
						cap.value="";
						return false;
					}
				//controllo indirizzo
				    if(indirizzo.value.length==0) {
						alert("Errore: compilare il campo Indirizzo");
						indirizzo.focus();
						return false;
					}
					else if (indirizzo.value.search(/^([^@]{5,})+$/) !=0){
				        alert("Errore: il campo Indirizzo è troppo corto");
						indirizzo.focus();
						indirizzo.value="";
						return false;
					}
				//controllo telefono
				    if(telefono.value.length==0) {
						alert("Errore: compilare il campo Telefono");
						telefono.focus();
						return false;
					}
					else if (telefono.value.search(/^([0-9 /]{3,})$/) !=0){
				        alert("Errore: il campo Telefono contiene caratteri non validi");
						telefono.focus();
						telefono.value="";
						return false;
					}
					//controllo email
				    if(email.value.length==0) {
						alert("Errore: compilare il campo E-mail");
						email.focus();
						return false;
					}
					else if (email.value.search(/^([\S]{2,})+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})$/)!=0){
				        alert("Errore: il campo E-mail contiene caratteri non validi o è non è scritta nel formato opportuno");
						email.focus();
						email.value="";
						return false;
					}
					//controllo quantità	  
					  if(quantita.value.length==0) {
							alert("Errore: compilare il campo Quantità");
							quantita.focus();
							return false;
						}
					   else if(quantita.value.search(/^[0-9]{1,3}$/)) {
							alert("Errore: il campo Quantità contiene caratteri non validi");
							quantita.focus();
							quantita.value="";
							return false;
						}
				}
	return true;		
	}
	else if((tipo=="registrazione")||(tipo=="aggiungi_utente")||(tipo=="modifica_utente")){
			
		with(form){
				//controllo nome
					if(nome.value.length==0) {
						alert("Errore: compilare il campo Nome");
						nome.focus();
						return false;
					}
					else if ( nome.value.search(/^([a-zA-Z_\.\-\s\à?\è\à?\ù\ò\ì]{2,})+$/)!=0 ){
				        alert("Errore: il campo Nome contiene caratteri non validi o è troppo corto");
						nome.focus();
						nome.value="";
						return false;
					}
				//controllo cognome
				    if(cognome.value.length==0) {
						alert("Errore: compilare il campo Cognome");
						cognome.focus();
						return false;
					}
					else if ( cognome.value.search(/^([a-zA-Z_\.\-\s\'\à?\è\à?\ù\ò\ì]{2,})+$/)!=0){
				        alert("Errore: il campo Cognome contiene caratteri non validi o è troppo corto");
						cognome.focus();
						cognome.value="";
						return false;
					}
				//controllo città
				    if(citta.value.length==0) {
						alert("Errore: compilare il campo Città");
						citta.focus();
						return false;
					}
					else if ( citta.value.search(/^([a-zA-Z0-9_\.\-\s\'\à?\è\à?\ù\ò\ì]{2,})+$/) !=0){
				        alert("Errore: il campo Città contiene caratteri non validi o è troppo corto");
						citta.focus();
						citta.value="";
						return false;
					}
				//controllo cap
				    if(cap.value.length==0) {
						alert("Errore: compilare il campo Cap");
						cap.focus();
						return false;
					}
					else if ( cap.value.search(/^([0-9]{5,})+$/) !=0 ){
				        alert("Errore: il campo Cap contiene caratteri non validi o è inferiore a 5 cifre");
						cap.focus();
						cap.value="";
						return false;
					}
				//controllo indirizzo
				    if(indirizzo.value.length==0) {
						alert("Errore: compilare il campo Indirizzo");
						indirizzo.focus();
						return false;
					}
					else if (indirizzo.value.search(/^([^@]{5,})+$/) !=0){
				        alert("Errore: il campo Indirizzo è troppo corto");
						indirizzo.focus();
						indirizzo.value="";
						return false;
					}
				//controllo telefono
				    if(telefono.value.length==0) {
						alert("Errore: compilare il campo Telefono");
						telefono.focus();
						return false;
					}
					else if (telefono.value.search(/^([0-9 /]{3,})$/) !=0){
				        alert("Errore: il campo Telefono contiene caratteri non validi");
						telefono.focus();
						telefono.value="";
						return false;
					}
				
				//controllo email
				    if(email.value.length==0) {
						alert("Errore: compilare il campo E-mail");
						email.focus();
						return false;
					}
					else if (email.value.search(/^([\S]{2,})+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})$/)!=0){
				        alert("Errore: il campo E-mail contiene caratteri non validi o è non è scritta nel formato opportuno");
						email.focus();
						email.value="";
						return false;
					}
					
				//controllo user
				    if(utente.value.length==0) {
						alert("Errore: compilare il campo Utente");
						utente.focus();
						return false;
					}
					else if (utente.value.search(/^([a-zA-Z0-9,'ò','à','ì','ù','è','é','-','_','.']{3,})$/)!=0){
				        alert("Errore: il campo Utente contiene caratteri non validi o è inferiore a 3 cifre");
						utente.focus();
						utente.value="";
						return false;
					}
				
				//controllo password
				    if(password.value.length==0) {
						alert("Errore: compilare il campo Password");
						password.focus();
						password2.value="";
						return false;
					}
					else if (password.value.search(/^([\S]{3,})$/)!=0){
				        alert("Errore: il campo Password non può essere inferiore a 3 caratteri");
						password.focus();
						password.value="";
						return false;
					}
				//controllo password2
				    if(password2.value.length==0) {
						alert("Errore: compilare il campo Ripeti Password");
						password2.focus();
						return false;
					}
					else if ((password.value)!=(password2.value)){
				        alert("Errore: il campo Ripeti Password non coincide con il campo Password");
						password2.focus();
						password2.value="";
						return false;
					}
			}
	if(tipo=="registrazione") {return true;}
	else if(tipo=="modifica_utente"){return confirm("Sei sicuro di voler modificare l'utente?");}
	else if(tipo=="aggiungi_utente"){return confirm("Sei sicuro di voler aggiungere l'utente?");}
	}
	
	else if((tipo=="aggiungi_dvd")||(tipo=="modifica_dvd")||(tipo=="aggiungi_cd")||(tipo=="modifica_cd")||(tipo=="aggiungi_libro")||(tipo=="modifica_libro")){
		
		with(form){
							var d = new Date();
					//controllo Titolo		
							if(titolo.value.length==0) {
								alert("Errore: compilare il campo Titolo");
								titolo.focus();
								return false;
							}
					//controllo autori
							if(autori.value.length==0) {
								alert("Errore: Devi associare almeno un Autore al prodotto");
								autori.focus();
								return false;
							}
					//controllo durata	  
					if((tipo=="aggiungi_dvd")||(tipo=="modifica_dvd")||(tipo=="aggiungi_cd")||(tipo=="modifica_cd")){
					
						  if(durata.value.length==0) {
								alert("Errore: compilare il campo Durata");
								durata.focus();
								return false;
							}
						  
						  else if(durata.value.search(/^[0-9]{1,3}$/)) {
								alert("Errore: il campo Durata contiene caratteri non validi");
								durata.focus();
								durata.value="";
								return false;
							}		
					
					}
					
					//controllo pagine
					
					if((tipo=="aggiungi_libro")||(tipo=="modifica_libro")){ 

						  if(pagine.value.length==0) {
								alert("Errore: compilare il campo Pagine");
								pagine.focus();
								return false;
							}
						  else if(pagine.value.search(/^[0-9]{1,3}$/)) {
								alert("Errore: il campo Pagine contiene caratteri non validi");
								pagine.focus();
								pagine.value="";
								return false;
							}	
					}
					
					//controllo anno
							if(anno.value.length==0) {
								alert("Errore: compilare il campo Anno");
								anno.focus();
								return false;
							}
							else if(anno.value.search(/^[0-9]{4,4}$/)!=0) {
								alert("Errore: il campo Anno contiene caratteri non validi o è troppo corto");
								anno.focus();
								anno.value="";
								return false;
							}
							else if( (form.anno.value<1900)||(form.anno.value>(d.getFullYear())) ) {
								alert("Errore: il campo Anno deve essere compreso tra 1900 e il "+d.getFullYear().toString()+"");
								anno.focus();
								anno.value="";
								return false;
							}
					
					//controllo prezzo	  
						  if(prezzo.value.length==0) {
								alert("Errore: compilare il campo Prezzo");
								prezzo.focus();
								return false;
							}
						  else if(prezzo.value.search(/^[0-9]{1,3}$/)) {
								alert("Errore: il campo Prezzo contiene caratteri non validi");
								prezzo.focus();
								prezzo.value="";
								return false;
							}
							
					//controllo quantità	  
						  if(quantita.value.length==0) {
								alert("Errore: compilare il campo Quantità");
								quantita.focus();
								return false;
							}
						   else if(quantita.value.search(/^[0-9]{1,3}$/)) {
								alert("Errore: il campo Quantità contiene caratteri non validi");
								quantita.focus();
								quantita.value="";
								return false;
							}
					//controllo descrizione	  
						  if(descrizione.value.length==0) {
								alert("Errore: compilare il campo Descrizione");
								descrizione.focus();
								return false;
							}
					
				}
		if(tipo=="aggiungi_dvd"){return confirm("Sei sicuro di voler aggiungere il Dvd?");}
		else if(tipo=="modifica_dvd"){return confirm("Sei sicuro di voler modificare il Dvd?");}
		else if(tipo=="aggiungi_cd"){return confirm("Sei sicuro di voler aggiungere il Cd audio?");}
		else if(tipo=="modifica_cd"){return confirm("Sei sicuro di voler modificare il Cd audio?");}
		else if(tipo=="aggiungi_libro"){return confirm("Sei sicuro di voler aggiungere il Libro?");}
		else if(tipo=="modifica_libro"){return confirm("Sei sicuro di voler modificare il Libro?");}
	}

	
	else if(tipo=="aggiungi_news"){
		
		with(form){
					//controllo titolo
							if(titolo.value.length==0) {
								alert("Errore: compilare il campo Titolo");
								titolo.focus();
								return false;
							}
					//controllo descrizione
							if(descrizione.value.length==0) {
								alert("Errore: compilare il campo Contenuto");
								descrizione.focus();
								return false;
							}
				  
				  //controllo data fine pubblicazione
							if(data_fine.value.length==0) {
								alert("Errore: Selezionare un giorno per la data di fine pubblicazione");
								data_fine.focus();
								return false;
							}
				
				  //controllo date
				  			var d_i=document.getElementById("data_inizio");
							var d_f=document.getElementById("data_fine");
				  			var d = new Date();
							var oggi=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate());
							
							if(confronto_date(oggi,d_i.value)==-1){
								alert("Errore: la data di inizio pubblicazione non può essere antecedente alla data attuale","ageranv error")
								data_inizio.focus();
								data_inizio.value="";
								return false;
							}
							else if(confronto_date(d_i.value,d_f.value)==-1)
							{
								alert("Errore: la data di fine pubblicazione non può essere antecedente alla data di inizio pubblicazione")
								data_fine.focus();
								data_fine.value="";
								return false;
							}	
								
				  
				  }
			return confirm("Sei sicuro di voler aggiungere la notizia ?");
	}
else if(tipo=="modifica_news"){
		
		with(form){
					//controllo titolo
							if(titolo.value.length==0) {
								alert("Errore: compilare il campo Titolo");
								titolo.focus();
								return false;
							}
					//controllo descrizione
							if(descrizione.value.length==0) {
								alert("Errore: compilare il campo Contenuto");
								descrizione.focus();
								return false;
							}
				  
				  //controllo data fine pubblicazione
							if(data_fine.value.length==0) {
								alert("Errore: Selezionare un giorno per la data di fine pubblicazione");
								data_fine.focus();
								return false;
							}
				
				  //controllo date
				  			var d_i=document.getElementById("data_inizio");
							var d_f=document.getElementById("data_fine");
				  			var d = new Date();
							var oggi=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate());
							
							if(confronto_date(d_i.value,d_f.value)==-1)
							{
								alert("Errore: la data di fine pubblicazione non può essere antecedente alla data di inizio pubblicazione")
								data_fine.focus();
								data_fine.value="";
								return false;
							}	
								
				  
				  }
			return confirm("Sei sicuro di voler modificare la notizia ?");
	}





}

function confronto_date(data_inizio,data_fine){
	
	
	var data_inizio_array=data_inizio.split("-");
	var data_fine_array=data_fine.split("-");
	
	
	if(parseInt(data_fine_array[0],10)<parseInt(data_inizio_array[0],10)){return -1;}
	if (parseInt(data_fine_array[0],10)>parseInt(data_inizio_array[0],10)){return 1;}
	if (parseInt(data_fine_array[0],10)==parseInt(data_inizio_array[0],10)) {
		if(parseInt(data_fine_array[1],10)<parseInt(data_inizio_array[1],10)){return -1;}
		if(parseInt(data_fine_array[1],10)>parseInt(data_inizio_array[1],10)){return 1;}
		if (parseInt(data_fine_array[1],10)==parseInt(data_inizio_array[1],10)) { 
				if(parseInt(data_fine_array[2],10)<parseInt(data_inizio_array[2],10)){return -1;}
				else {return 1;}
			}
	}
}



function checkbox_ctrl(length){
	var controllo= false;
	for(i=0;i<length;i++){
		 if( document.getElementById('delnews_'+i).checked == true) {controllo = true;}
	}
	if(controllo==false){alert("Devi selezionare almeno una notizia da eliminare."); return false;}
	else{return confirm("Sei sicuro di voler eliminare le notizie selezionate?");}
}






