/* funzioni */

// thumbnail grande 

function thumbnail_gr(image) {
    	var MaxWidth = 500; // Larghezza massima dopo il quale l'immagine viene ridimensionata
		var newWidth = image.width;
		//alert(newWidth );
		if (newWidth > 500)	{
			newWidth = 500; 
		}
		//alert(newWidth );
		return(newWidth);
}

function avvisa(inputField, mess){
	alert(mess);
	inputField.focus();
	return false;
}


function checkSpazi(inputField) {
	if (!(trim(inputField.value) == inputField.value))	{
		return avvisa(inputField, "Attenzione, il campo contiene degli spazi vuoti all'inizio oppure alla fine");	
	}
	return true;
}

function trim(stringa){
	if(stringa.charAt(stringa.length-1) == " "){
		stringa = stringa.substring(0,stringa.length-1);
		return trim(stringa);
	} else 
		return trimInizio(stringa);
	
}

function trimInizio(stringa){
	if(stringa.charAt(0) == " "){
		stringa = stringa.substring(1,stringa.length);
		return trim(stringa);
	} else 	
		return stringa;
	
}	

function stringaContiene(sottostringa, stringa){   
	return (stringa.search(sottostringa) != -1);      
}


function checkNonAmmessi(campo){   
	var stringa = campo.value;
	if (stringa.match ( /\\"/))  {
		alert (" Nel campo sono stati utilizzati alcuni caratteri non ammessi: \\  \" ");
		return false;
	}
	else 
		return true;
}

function checkSecurity(campo){
	//alert('checkSecutirty');
	//var pattern = /\*|\;|\,|\.|\=|\>|\<|\(|\)|script|table|or|and|not|union|select|drop|create|from|alter|where|having|insert|update|into|like/g;
	var pattern = /(\-\-)|\.asp|\.js|\.inc|\<|\>|script|img|table|select|drop|create|update|where|having|like|shutdown| or | and | not | union  | into | alter | from | insert |((\%3C)|<)[^\n]+((\%3E)|>)/i;
		if (campo.value.match(pattern)){
			return avvisa(campo,"Attenzione!\n Il campo contiene i seguenti caratteri/strighe [" + campo.value.match(pattern) + "] che, per motivi di sicurezza dell'applicazione, non sono ammessi.");
	 	}
		return true;
}


function checkTestuale(campo){
	var pattern = /^[a-zA-Z\' ]{1,30}$/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Sono ammesse solo lettere, spazi e l'apostrofo");
	 	}
		return true;
}

function checkIndirizzo(campo){
	var pattern = /^[a-zA-Z\d\/\-\_\(\)\' ]{1,40}$/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Sono ammesse solo lettere, spazi e i seguenti caratteri speciali: / - _ ( ) ' ");
	 	}
		return true;
}

function checkMail(campo){
	var pattern = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Inserire un indirizzo email valido");
	 	}
		return true;
}


function checkCAP(campo){
	var pattern = /\d{5}/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Inserire un CAP valido di 5 cifre");
	 	}
		return true;
}



function checkTelefono(campo){
	var pattern = /^(\(?\+?[0-9]{2,2}\)?|[0-9]{3,3}[-. ]?)[ ][0-9]{3,4}[-. \/]?[0-9]{4,20}$/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Inserire un numero di telefono valido");
	 	}
		return true;
}

function checkUserName(campo){
	//var pattern = /[a-zA-Z0-9_-.]{4,16}/;
	var pattern = /^[a-zA-Z\d\@\.\-\_]{1,16}$/;

		if (!campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Non sono ammessi spazi e caratteri speciali ad eccezione dei seguenti: . @ - _ ");
	 	}
		return true;
}


function checkPassword(campo){
	var pattern = /[\;\.\,\: ]/;

		if (campo.value.match(pattern)){
			//alert(campo.value.match(pattern));
			return avvisa(campo,"Attenzione!\n Non sono ammessi spazi e segni di punteggiatura");
	 	}
		return true;
}


function checkNumero(campo, valoreprecedente){
	var stringa = campo.value;
	var importo = parseInt(stringa);
	//alert(importo);
	checkSpazi(campo);
	if (isNaN(importo)) {
		alert ("Il valore inserito ("+ stringa + ") non è un valore valido. Inserire un numero intero maggiore o uguale a zero.");
		campo.value= valoreprecedente;
		return false;
	}
	else if (stringaContiene(",", stringa)) {
		alert ("Il valore inserito ("+ stringa + ") non è un valore valido: contiene virgole. Inserire un numero intero maggiore o uguale a zero.");
		campo.value= valoreprecedente;
		return false;
	}
	else if (importo<0 ) {
		alert ("Il valore inserito ("+ stringa + ") non è un valore valido: è un numero negativo. Inserire un numero intero maggiore o uguale a zero.");
		campo.value= valoreprecedente;
		return false;
	}
	
	else{
		campo.value = Math.ceil(importo);
		return true;
	}
}

	
function checkNomeFile(campo){
	var stringa = campo.value;
	//alert(stringa);
	checkSpazi(campo);
	if (campo == "") {
		alert ("Specificare un nome per l'archivio da storicizzare.");
		return false;
	}
	if (stringaContiene("\/", stringa)) {
		alert ("Il nome inserito ("+ stringa + ") non è un nome valido: contiene il carattere \/ non ammesso per i nomi di file.");
		return false;
	}
	if (stringaContiene("\\\\", stringa)) {
		alert ("Il nome inserito ("+ stringa + ") non è un nome valido: contiene il carattere \\ non ammesso per i nomi di file.");
		return false;
	}
	return true;
}

// controlla i dati di un UTENTE chesi registra sul sito  
function checkFormUtenteOnline(form) {
//alert ("pippo");
	if(form.login.value == "") {
		alert( "Inserire il login");
		return false;
	}
	if(form.passwd_utente.value == "") {
		alert("Inserire il codice di attivazione");	
		return false;
	}
	if(form.passwd.value == "") {
		alert("Scegliere la propria password ");	
		return false;
	}
	if(form.passwdbis.value == "") {
		alert("Ripetere la propria password ");	
		return false;
	}
	/*
	if(!(form.passwd.value == form.passwdbis.value)) {
		return avvisa(form.passwdbis, "La password ripetuta non risulta uguale a quella scelta");	
	}
	*/
	return true;

}

// controlla i dati di un CLIENTE chesi registra sul sito nell'inserimento e nella modifica 
function checkFormClienteOnline(form) {
	if(form.Cognome.value == "") {
		alert("Inserire il proprio Cognome");
		return false;
	}
	if (form.Nome.value == "") {
		alert("Inserire il proprio Nome");
		return false;
	}
	if (form.Email.value == "") {
		alert("Inserire il proprio indirizzo email");
		return false;
	}
	return true;

}

// controlla i dati di un CLIENTE nell'inserimento e nella modifica 
function checkFormCliente(form) {
	if(form.Cognome.value == "") {
		alert("Inserire il Cognome del cliente");
		return false;
	}
	if (form.Nome.value == "") {
		alert("Inserire il Nome del cliente");
		return false;
	}
	if ((form.DataNascita.value == "") || (form.DataNascita.value == "gg/mm/aaaa")) {
		alert("Inserire la Data di Nascita del cliente");
		return false;
	}
	return true;

}

// controlla i dati di una SCHEDA nell'inserimento e nella modifica 
function checkFormSchedaMod(form) {
	if(form.titolo.value == "") {
		avvisa(form.titolo, "Inserire il titolo");
		return false;
	}
	else return (checkData(form.datainserimento.value) || checkData(form.datascadenza.value));

}

function checkFormSchedaIns(form) {
	if(form.titolo.value == "") {
		avvisa(form.titolo, "Inserire il titolo");
		return false;
	}
	else return checkData(form.datascadenza.value);

}



function checkData(data){
	var dataUtente = data.value;
	var giorno = dataUtente.substring(0,2);
	var mese = dataUtente.substring(3,5);
	var anno = dataUtente.substring(6,10);
	dataUtente = mese+"/"+giorno+"/"+anno;
	var utente1 = Date.parse(dataUtente);
	var ngiorno = parseInt(levaZeri(giorno));
	var nmese = parseInt(levaZeri(mese));
	var nanno = parseInt(anno);
	var resto = nanno % 4;
	var pattern = /\d{2}\/\d{2}\/\d{4}/g;
	//alert(data.value);

		if (!data.value.match(pattern)){
			return avvisa(data,"Attenzione: il formato corretto della data e' gg/mm/aaaa.");
	 	}
		if (ngiorno > 31 || ngiorno == 0 || nmese > 12 || nmese == 0){
		 	return avvisa(data,"Attenzione: il formato della data non e' corretto.");
    		}
		if ((nmese == 11 && ngiorno > 30) || (nmese == 9 && ngiorno > 30) || (nmese == 6 && ngiorno > 30) || (nmese == 2 && ngiorno > 29) || (nmese == 4 && ngiorno > 30)){
		 	return avvisa(data,"Attenzione: il formato della data non e' corretto.");
    		}
		if (nmese == 2 && ngiorno > 28 && resto != 0){
		 	return avvisa(data,"Attenzione: il " + anno + " non è bisestile.");
    		}
		return true;
}

function eta(data){
		var oggi = new Date();
		annoOggi = oggi.getYear();
		//alert(annoOggi);
		var dataUtente = data.value;
		var anno = dataUtente.substring(6,10);
		var nanno = parseInt(anno);
		//alert(nanno);
		var eta = annoOggi - nanno;
	return eta;
}

function oggi(){

	var oggi2 = new Date();
	oggi2 = (oggi2.getDate())+"/"+(oggi2.getMonth()+1)+"/"+oggi2.getFullYear();
	return oggi2;
}

	




