function addEvent(obj,ev,fn){
	if(obj.addEventListener) {
		// metodo w3c
		obj.addEventListener(ev, fn, false);
	} else if(obj.attachEvent) {
		// metodo IE
		obj.attachEvent('on'+ev, fn);
	} else {
		// se i suddetti metodi non sono applicabili
		// se esiste gia' una funzione richiamata da quel gestore evento
		if(typeof(obj['on'+ev])=='function'){
			// salvo in variabile la funzione gia' associata al gestore
			var f=obj['on'+ev];
			// setto per quel gestore una nuova funzione 
			// che comprende la vecchia e la nuova
			obj['on'+ev]=function(){if(f)f();fn()}
		}
		// altrimenti setto la funzione per il gestore
		else obj['on'+ev]=fn;
	}
}

function openWin(content,nome,w,h,isscroll,isresize) { // pagina, larghezza, altezza, se-scrollabile, se-ridimensionabile
	var t = (screen.height) ? (screen.height-h)/2 : 0;
	var l = (screen.width) ? (screen.width-w)/2 : 0; 
	finestra=window.open(content,nome,'scrollbars=' + isscroll + ',resizable=' + isresize + ',width=' + w + ',height=' + h + ',top=' + t + ',left=' + l + ',status=no,location=no,toolbar=no');
	finestra.focus();
}

function apriSegnala() {
	sliderSegnala.toggle()	
} 

function aggiungiPreferiti(title, url) {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; 
	}
}

function stampa(){
	if(window.print){
		window.print();
	} else {
		alert("Il browser non supporta il metodo STAMPA. Seleziona Stampa dal menu File.");
	}
}

function clearMessages() {
	Spry.$$("span.msg").forEach(function(campo) { Spry.Utils.setInnerHTML(campo, ''); });
}

function checkLength(campo, maxchars, label, nota) { //campo da contare, nr caratteri consentiti, elemento dove scrivere il numero di caratteri digitati, div per il messaggio
	elemento=document.getElementById(campo.name);
	velemento=elemento.value;
    if (velemento.length >= maxchars) {
    	elemento.value=velemento.substr(0,maxchars);
    	//elemento.blur();
		Spry.Utils.removeClassName(nota,'verde');
		Spry.Utils.addClassName(nota,'rosso');
		Spry.Utils.setInnerHTML(nota, "Numero massimo di caratteri consentito raggiunto");
	} else {
		Spry.Utils.removeClassName(nota,'rosso');
		Spry.Utils.setInnerHTML(nota, "");
    }
    document.getElementById(label).value=elemento.value.length;
}

function aggiungiPreferiti(title, url) {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; 
	}
}

function checkEmail(email){
	var emailValue = document.getElementById(email).value;
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	return emailPattern.test(emailValue); 
}

