// CODICE BASE JS PER FORM

var IE=navigator.appName.indexOf("Microsoft")!=-1;
var NN=navigator.appName.indexOf("Netscape")!=-1;
var browserVer=parseInt(navigator.appVersion);

// ARRAY LISTA MESI
var arr_mesi = new Array();
arr_mesi[0] = "Gennaio";
arr_mesi[1] = "Febbraio";
arr_mesi[2] = "Marzo";
arr_mesi[3] = "Aprile";
arr_mesi[4] = "Maggio";
arr_mesi[5] = "Giugno";
arr_mesi[6] = "Luglio";
arr_mesi[7] = "Agosto";
arr_mesi[8] = "Settembre";
arr_mesi[9] = "Ottobre";
arr_mesi[10] = "Novembre";
arr_mesi[11] = "Dicembre"; 

// ARRAY LISTA GIORNI
var arr_giorni = new Array();
arr_giorni[0] = "Domenica";
arr_giorni[1] = "Lunedì";
arr_giorni[2] = "Martedì";
arr_giorni[3] = "Mercoledì";
arr_giorni[4] = "Giovedì";
arr_giorni[5] = "Venerdì";
arr_giorni[6] = "Sabato";

//check for number
function validNum(val) { 
	if (browserVer>=4)		return !isNaN(parseInt(val));
	return true;
}

//check number field
function checkNum(obj,min,max,str,dec,obblig) { 
	
	len=obj.value.length;

	if (len==0&&!obblig)	return true;
	
	if (len<=0)	{	
		alert("Devi inserire un valore nel campo '"+str+"'.");
		obj.focus();    	return false;  	}
	
	// NO DECIMAL
	if (!dec && (obj.value.indexOf(",")!=-1 || obj.value.indexOf(".")!=-1))	{	
		alert("Utilizzare solo numeri interi nel campo '"+str+"'.");
		obj.focus();    	return false;  	}

	// CHECK DECIMAL POINT
	if (dec && obj.value.indexOf(",")!=-1)	{	
		alert("Utilizzare il punto (.) per separare i decimali nel campo '"+str+"'.");
		obj.focus();    	return false;  	}

	if (!validNum(obj.value)) {	
		alert("Inserire solo valori numerici nel campo '"+str+"'.");
		obj.focus();    	return false;  	}

	if (obj.value<min)	{	
		alert("Il valore minimo per il campo '"+str+"' e' "+min+".");
		obj.focus();    	return false;  	}

	if (obj.value>max)	{	
		alert("Il valore massimo per il campo '"+str+"' e' "+max+".");
		obj.focus();    	return false;  	}

	return true;
}

// check string lenght
function checkLength(obj,max,str)
{
	len=obj.value.length;
	if (len>max)
	{
		alert("Il campo '"+str+"' e' troppo lungo.\nCi sono "+(len-max)+" caratteri in eccesso.");
		obj.focus();    	return false;
	}
	return true;
}


// check string min lenght
function checkMinLength(obj,min,str)
{
	if (obj.value.length<min)
	{
		alert("Occorre completare il campo '"+str+"'\n(minimo "+min+" caratteri).");
		obj.focus();    	return false;
	}
	return true;
}


// check email format
function checkMail (obj,nome,obblig) {
	
	val=obj.value;
	
	if (obblig&&val.length<6) {		
		alert("L'email "+nome+" e' troppo corta\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;		}

	if (!obblig&&val=="")	return true;
	
	if (val.length<6) {
		alert("L'email "+nome+" e' troppo corta.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf('.')==-1) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf('@')==-1) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf('@')!=val.lastIndexOf('@')) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf(':')!=-1) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf('"')!=-1) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf("'")!=-1) {
		alert("L'email "+nome+" non e' valida.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}
	if (val.indexOf(' ')!=-1) {
		alert("L'email "+nome+" non e' valida.\nNon utilizzare spazi.\n(es: nome@nomeweb.com)");
		obj.focus();    	return false;  	}

	return true;	
}


// check Url format
function checkUrl (obj,nome,obblig) {
	
	val=obj.value;
	
	if (obblig&&val.length<4) {		
		alert("L'indirizzo web "+nome+" e' troppo corto.");
		obj.focus();    	return false;		}

	if (!obblig&&val=="")	return true;
		
	if (val.length<4) {
		alert("L'indirizzo web "+nome+" e' troppo corto.");
		obj.focus();    	return false;  	}
	if (val.indexOf('.')==-1) {
		alert("L'indirizzo web "+nome+" non e' valido.");
		obj.focus();    	return false;  	}
	if (val.indexOf(':')!=-1&&val.indexOf(':')<8) {
		alert("L'indirizzo web "+nome+" non e' valido.\nNon utilizzare il prefisso http://");
		obj.focus();    	return false;  	}
	if (val.indexOf(' ')!=-1) {
		alert("L'indirizzo web "+nome+" non e' valido.\nNon utilizzare spazi.");
		obj.focus();    	return false;  	}
	

	return true;	
}



// popup di varie dimensioni
function apri(url,larg,alt,scrol,resiz)		
{
	if (typeof(larg)=="undefined") larg=550;
	if (typeof(alt)=="undefined") alt=450;
	if (typeof(scrol)=="undefined") scrol="no";
	if (typeof(resiz)=="undefined") resiz="no";
	posX = (screen.width/2) - (larg/2);
	posY = (screen.height/2) - (alt/2);
	var nomerandom="";
    for(nomerandom_i=0;nomerandom_i<=10;nomerandom_i++) nomerandom+=String.fromCharCode(Math.round(97+25*Math.random()));
	var siteWindowVar=open(url,nomerandom,"toolbar=no,status=no,menubar=no,scrollbars="+scrol+""
						+",resizable="+resiz+",location=no,directories=no,width="+larg+",height="+alt+""
						+",top="+posY+",left="+posX);
	if (NN||browserVer>=4)	{	siteWindowVar.focus();	siteWindowVar.focus();	}
}

// popup di varie dimensioni per le foto
function aprifoto(foto,larg,alt,scrol,resiz)
{
	img = new Image;
	img.src = foto;
	if (typeof(larg)=="undefined") larg=550;
	if (typeof(alt)=="undefined") alt=450;
	if (typeof(scrol)=="undefined") scrol="no";
	if (typeof(resiz)=="undefined") resiz="no";
	posX = (screen.width/2) - (larg/2);
	posY = (screen.height/2) - (alt/2);
	var nomerandom="";
    for(nomerandom_i=0;nomerandom_i<=10;nomerandom_i++) nomerandom+=String.fromCharCode(Math.round(97+25*Math.random()));
	html = '<HTML>\n<HEAD>\n<TITLE>SCIRIO</TITLE>\n</HEAD>\n<BODY LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0 BGCOLOR=#FFFFFF>\n<CENTER><a href=\'javascript:self.close();\' title=\'Clicca per chiudere questa finestra\'><IMG SRC="'+foto+'" BORDER=0 NAME=immagine></a></CENTER>\n</BODY>\n</HTML>';
	posX = (screen.width/2) - (img.width/2);
	posY = (screen.height/2) - (img.height/2);
	popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars='+scrol+',resizable='+resiz+',top='+posY+',left='+posX+',width='+larg+',height='+alt);
	popupImage.document.open();
	popupImage.document.write(html);
	popupImage.document.close()
}

function aprifoto2(url,larg,alt,rootpath)		
{
	if (typeof(larg)=="undefined") larg=450;
	if (typeof(alt)=="undefined") alt=450;
	posX = (screen.width/2) - (larg/2);
	posY = (screen.height/2) - (alt/2);
	if (location.host=="127.0.0.1") var rootpath="http://"+location.host+"/sciriosito/";
	else var rootpath="http://"+location.host+"/";
	var nomerandom="";
    for(nomerandom_i=0;nomerandom_i<=10;nomerandom_i++) nomerandom+=String.fromCharCode(Math.round(97+25*Math.random()));
	var siteWindowVar=open(rootpath+"js/foto2.php?percorso="+url,nomerandom,"toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,width="+larg+",height="+alt+""
						+",top="+posY+",left="+posX);
	if (NN||browserVer>=4)	{	siteWindowVar.focus();	siteWindowVar.focus();	}
}

// CONTROLLO/AIUTO IMMISSIONE DATA (evento=event, va sul onkeyup, campo1=campo corrente, campo2=campo succ. tipocampo=giorno,mese,anno)
function easydata(evento,nomeform,campo1,campo2,tipocampo)
{
	if(evento.keyCode!=9&&evento.keyCode!=16&&evento.keyCode!=37&&evento.keyCode!=38&&evento.keyCode!=39&&evento.keyCode!=40)
	{
		controllo1=eval("document."+nomeform+"."+campo1);
		if (campo2!="") controllo2=eval("document."+nomeform+"."+campo2);
		else controllo2="";
		if(evento.keyCode==188||evento.keyCode==190) controllo1.value=""; //disabilito punti e virgole
		if(isNaN(controllo1.value)) controllo1.value="";
		if(tipocampo=="giorno")
		{
			if(controllo1.value>31) 
			{
				controllo1.value="";
			}
			else if(controllo1.value>3&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
			else if(controllo1.value.length==2&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
		}
		else if(tipocampo=="mese")
		{
			if(controllo1.value>12) 
			{
				controllo1.value="";
			}
			else if(controllo1.value>1&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
			else if(controllo1.value.length==2&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
		}
		else if(tipocampo=="anno")
		{
			if(controllo1.value>3000) 
			{
				controllo1.value="";
			}
			else if(controllo1.value<1000&&controllo1.value.length==4) 
			{
				controllo1.value="";
			}
			else if(controllo1.value.length==4&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
		}
	}
}

// CONTROLLO/AIUTO IMMISSIONE ORA MINUTI
function easyorario(evento,nomeform,campo1,campo2,tipocampo)
{
	if(evento.keyCode!=9&&evento.keyCode!=16&&evento.keyCode!=37&&evento.keyCode!=38&&evento.keyCode!=39&&evento.keyCode!=40)
	{
		controllo1=eval("document."+nomeform+"."+campo1); 
		if (campo2!="") controllo2=eval("document."+nomeform+"."+campo2);
		else controllo2="";
		if(evento.keyCode==188||evento.keyCode==190) controllo1.value=""; //disabilito punti e virgole
		if(isNaN(controllo1.value)) controllo1.value="";
		if(tipocampo=="ora")
		{
			if(controllo1.value>23) 
			{
				controllo1.value="";
			}
			else if(controllo1.value>2&&controllo2!="") 
			{
				controllo2.focus();
				controllo2.select();
			}
			else if(controllo1.value.length==2&&controllo2!="")
			{
				controllo2.focus();
				controllo2.select();
			}
		}
		else if(tipocampo=="min")
		{
			if(controllo1.value>59) 
			{
				controllo1.value="";
			}
			else if(controllo1.value>6&&controllo2!="")
			{
				controllo2.focus();
				controllo2.select();
			}
			else if(controllo1.value.length==2&&controllo2!="")
			{
				controllo2.focus();
				controllo2.select();
			}
		}
	}
}

//VERIFICA MASSIMO GIORNI MESE/ANNO
function maxgiornidata(mm,aaaa)
{
	maxgiorni=0;
	mm=mm+"";
	aaaa=aaaa+"";
	if(!isNaN(parseInt(mm))&&!isNaN(parseInt(aaaa)))
	{
		if(mm.indexOf(",")==-1&&mm.indexOf(".")==-1&&aaaa.indexOf(",")==-1&&aaaa.indexOf(".")==-1) 
		{
			if(aaaa>=1970&&aaaa<=3000&&mm>=1&&mm<13)
			{
				bisestile="N";
				if(aaaa % 4==0 && aaaa % 100==0)
				{
					if(aaaa % 400==0)	bisestile="S";
				}
				else if(aaaa % 4==0)
				{
					bisestile="S";
				}
				if(mm==4||mm==6||mm==9||mm==11) maxgiorni=30;
				else if(mm==2&&bisestile=="S") maxgiorni=29;
				else if(mm==2) maxgiorni=28;
				else maxgiorni=31;
			}
		}
	}
	return maxgiorni;
}

//VERIFICA ESATTEZZA DATA
function verificadata(gg,mm,aaaa)
{
	errata=false;
	if(isNaN(parseInt(gg))||isNaN(parseInt(mm))||isNaN(parseInt(aaaa)))
	{
		errata=true;
	}
	else
	{
		if(gg.indexOf(",")!=-1||gg.indexOf(".")!=-1||mm.indexOf(",")!=-1||mm.indexOf(".")!=-1||aaaa.indexOf(",")!=-1||aaaa.indexOf(".")!=-1)
		{
			errata=true;
		}
		else
		{
			if(aaaa<1970||aaaa>3000||mm<1||mm>12)
			{
				errata=true;
			}
			else
			{
				maxgiorni=maxgiornidata(mm,aaaa);
				if(gg>maxgiorni) errata=true;
			}
		}
	}
	return errata;
}

// FUNZIONE PER CREARE IL CALENDARIO VIRTUALE
// Requisiti: funzione maxgiornidata e verificadata, FACOLTATIVE: pos_calendario, gira_calendario, up_calendario
// Paramentri: nome del form, nome campo giono,mese,anno, nome div dove apparirà
//			   valori numerici giorno/mese/anno passato da form e gg/mm/aaaa preselezionati, che si passa da pagina in pagina
// HTML: <div id="calendario" style="display: none; background-color: #FFFFFF; position:absolute; 
//		margin-top: 5px; width: 210px; height: 160px; border: 1px solid #000000;"></div>
// inoltre: se sotto il calendario c'è una select occorre mettere un ulteriore div con un'iframe PRIMA del div del calendario
// 		    questo div deve chiamarsi guscio_<NOME_CALENDARIO> (con le stesse dimensioni del div del calendario) es:
//	       <div id="guscio_calendario" style="display: none; position:absolute; width: 210px; height: 160px; z-index:100;">
//	       <iframe frameborder="0" src="" style="position:absolute; width:100%; height:100%; z-index:-1;"></iframe> (chiudere il div alla fine)
function crea_calendario(nomeform,nomegiorno,nomemese,nomeanno,nomediv,gg,mm,aaaa,gg_sel,mm_sel,aaaa_sel)
{
	if(top.cale_timerID)
	{
		if(top.cale_timerID!=0) clearTimeout(top.cale_timerID);
	}
	oggi=new Date();
	gg_oggi=oggi.getDate();
	mm_oggi=oggi.getMonth()+1;
	aaaa_oggi=oggi.getFullYear();
	errata=verificadata(gg,mm,aaaa);
	if(errata==true)
	{
		gg=gg_oggi;
		mm=mm_oggi;
		aaaa=aaaa_oggi;
	}
	errata_sel=verificadata(gg_sel,mm_sel,aaaa_sel);
	if(!errata_sel)
	{
		data_sel=new Date(aaaa_sel,mm_sel,gg_sel);
		gg_sel_num=data_sel.getDay();
	}
	var nextdate=new Date(aaaa,mm,1);
	gg_next=1;
	mm_next=nextdate.getMonth()+1;
	if(mm_next>12)
	{
		mm_next=1;
		aaaa_next=nextdate.getFullYear()+1;
	}
	else
	{
		aaaa_next=nextdate.getFullYear();
	}
	var prevdate=new Date(aaaa,mm-1,1);
	gg_prev=1;
	mm_prev=prevdate.getMonth();
	if(mm_prev<1)
	{
		mm_prev=12;
		aaaa_prev=prevdate.getFullYear()-1;
	}
	else
	{
		aaaa_prev=prevdate.getFullYear();
	}
	document.getElementById(nomediv).style.display="block";
	if(document.getElementById("guscio_"+nomediv)) document.getElementById("guscio_"+nomediv).style.display="block";
	contenuto="<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\">"
	contenuto=contenuto+"<tr>"
	contenuto=contenuto+"<td bgcolor=\"#ECE9D8\" height=\"1%\" align=\"center\"><font face=\"Arial\" style=\"font-size: 13px; color: Black;\">"
	contenuto=contenuto+"<a href=\"javascript:crea_calendario('"+nomeform+"','"+nomegiorno+"','"+nomemese+"','"+nomeanno+"','"+nomediv+"','"+gg_prev+"','"+mm_prev+"','"+aaaa_prev+"','"+gg_sel+"','"+mm_sel+"','"+aaaa_sel+"');\" title=\"Clicca per andare al mese precedente\" style=\"color: Black; text-decoration: none;\" onmouseover=\"style.color='#FF0000'\" onmouseout=\"style.color='Black'\"><<</a> "
	contenuto=contenuto+"<b>"+arr_mesi[mm-1]+" "+aaaa+"</b>"
	contenuto=contenuto+" <a href=\"javascript:crea_calendario('"+nomeform+"','"+nomegiorno+"','"+nomemese+"','"+nomeanno+"','"+nomediv+"','"+gg_next+"','"+mm_next+"','"+aaaa_next+"','"+gg_sel+"','"+mm_sel+"','"+aaaa_sel+"');\" title=\"Clicca per andare al mese successivo\" style=\"color: Black; text-decoration: none;\" onmouseover=\"style.color='#FF0000'\" onmouseout=\"style.color='Black'\">>></a>"
	contenuto=contenuto+"</font></td>"
	contenuto=contenuto+"</tr>"
	contenuto=contenuto+"<tr>"
	contenuto=contenuto+"<td height=\"99%\" valign=\"top\">"
	maxgiorni=maxgiornidata(mm,aaaa);
	var d=new Date(aaaa,mm-1,1);
	gg_num=d.getDay();
	d.setDate(1);
	primogiorno=d.getDay();
	if(primogiorno==0) primogiorno=7;
	contenuto=contenuto+"<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">"
	contenuto=contenuto+"<tr valign=\"top\" align=\"center\">"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">lun</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">mar</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">mer</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">giov</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">ven</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">sab</font></td>"
	contenuto=contenuto+"<td style=\"border-bottom: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">dom</font></td>"
	contenuto=contenuto+"</tr>"
	conta=1;
	iniziaprint=false;
	for(i=1; i<=6; i++)
	{
		contenuto=contenuto+"<tr valign=\"top\" align=\"center\">"
		for(o=1; o<=7; o++)
		{
			if(conta==gg_oggi&&mm==mm_oggi&&aaaa==aaaa_oggi) bgcol="#e0e0e0";
			else bgcol="#FFFFFF";
			if(conta==gg_sel&&mm==mm_sel&&aaaa==aaaa_sel) stile=" style=\"border: 1px solid #FF0000;\"";
			else stile="";
			if(o==primogiorno&&iniziaprint==false)
			{
				iniziaprint=true;
			}
			if(iniziaprint==true&&conta<=maxgiorni)
			{
				contenuto=contenuto+"<td bgcolor=\""+bgcol+"\""+stile+" onmouseover=\"style.backgroundColor='#ffff99'\" onmouseout=\"style.backgroundColor='"+bgcol+"'\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">"
				contenuto=contenuto+"<a href=\"javascript:;\" onclick=\"javascript:document."+nomeform+"."+nomegiorno+".value="+conta+";document."+nomeform+"."+nomemese+".value="+mm+";document."+nomeform+"."+nomeanno+".value="+aaaa+";document.getElementById('"+nomediv+"').style.display='none';if(document.getElementById('guscio_"+nomediv+"')) document.getElementById('guscio_"+nomediv+"').style.display='none';\" style=\"color: Black; text-decoration: none;\" title=\"Clicca per selezionare questa data\">"+conta+"</a>";
				conta++;
			}
			else
			{
				contenuto=contenuto+"<td bgcolor=\""+bgcol+"\"><font face=\"Arial\" style=\"font-size: 12px; color: Black;\">"
				contenuto=contenuto+"&nbsp;"
			}
			contenuto=contenuto+"</font></td>"
		}
		contenuto=contenuto+"</tr>"
	}
	contenuto=contenuto+"<tr>"
	contenuto=contenuto+"<td colspan=\"6\" align=\"center\" style=\"border-bottom: 1px solid #cecece; border-top: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 10px; color: Black;\">"
	if(!errata_sel) contenuto=contenuto+"Corrente: "+arr_giorni[gg_sel_num]+" "+gg_sel+" "+arr_mesi[mm_sel-1]+" "+aaaa_sel+"";
	else contenuto=contenuto+"&nbsp;";
	contenuto=contenuto+"</font></td>"
	contenuto=contenuto+"<td align=\"center\" style=\"border-bottom: 1px solid #cecece; border-top: 1px solid #cecece;\"><font face=\"Arial\" style=\"font-size: 11px; color: Black;\">"
	contenuto=contenuto+"<a href=\"javascript:;\" onclick=\"javascript:document.getElementById('"+nomediv+"').style.display='none';if(document.getElementById('guscio_"+nomediv+"')) document.getElementById('guscio_"+nomediv+"').style.display='none';\" style=\"color: Black; text-decoration: none;\" onmouseover=\"style.color='#FF0000'\" onmouseout=\"style.color='Black'\" title=\"Clicca per chiudere il calendario\">[<b>x</b>]</a>"
	contenuto=contenuto+"</font></td>"
	contenuto=contenuto+"</tr>"
	contenuto=contenuto+"</table>"
	contenuto=contenuto+"</td>"
	contenuto=contenuto+"</tr>"
	contenuto=contenuto+"</table>"
	document.getElementById(nomediv).innerHTML=contenuto;
}

// FUNZIONE FACOLTATIVA PER FAR SPARIRE IL CALENDARIO 
// mettendola sull'onclick si chiude solo col click del mouse, mettendola su onmousemove, bisogna mettere il tempo di chiusura
function gira_calendario(evt,tempo)
{
	if(!top.cale_quale) top.cale_quale="";
	if(!top.cale_timerID) top.cale_timerID=0;
	if(!top.cale_minX) top.cale_minX=0;
	if(!top.cale_maxX) top.cale_maxX=0;
	if(!top.cale_minY) top.cale_minY=0;
	if(!top.cale_maxY) top.cale_maxY=0;
	if(top.cale_quale!="")
	{
		mouseX=evt.clientX||evt.pageX;
		mouseY=evt.clientY||evt.pageY;
		if(mouseX>0) 
		{
			if(document.documentElement&&document.documentElement.scrollLeft) mouseX=document.documentElement.scrollLeft+mouseX;
        	else mouseX=document.body.scrollLeft+mouseX;
		}
		else 
		{
			mouseX=0;
		}
		if(mouseY>0) 
		{
			if(document.documentElement&&document.documentElement.scrollTop) mouseY=document.documentElement.scrollTop+mouseY;
        	else mouseY=document.body.scrollTop+mouseY;
		}
		else 
		{
			mouseY=0;
		}
		if(tempo>0)
		{
			if(mouseX<top.cale_minX||mouseX>top.cale_maxX||mouseY<top.cale_minY||mouseY>top.cale_maxY) 
			{
				if(top.cale_timerID<1) top.cale_timerID=setTimeout("document.getElementById('"+top.cale_quale+"').style.display='none';", tempo);
			}
			else if (top.cale_timerID>0) 
			{
				clearTimeout(top.cale_timerID);
				top.cale_timerID=0;
			}
		}
		else
		{
			document.getElementById(top.cale_quale).style.display='none';
		}
	}
}

// FUNZIONE FACOLTATIVA PER INDIVIDUARE IL CALENDARIO 
// necessita della funzione: gira_calendario e up_calendario
// da mettere nell'immagine che apre il calendario, se gli si passa il tempo si chiude dopo X secondi
// es: onmouseover="up_calendario('calendario');" onmouseout="pos_calendario('calendario',2000);"
function pos_calendario(quale,tempo)
{
	top.cale_quale=quale;
	qualecal=document.getElementById(quale);
	top.cale_minX=qualecal.offsetLeft;
	top.cale_maxX=top.cale_minX+qualecal.offsetWidth;
	top.cale_minY=qualecal.offsetTop;
	top.cale_maxY=top.cale_minY+qualecal.offsetHeight;
	if(tempo>0)
	{
		if (top.cale_timerID>0) 
		{
			clearTimeout(top.cale_timerID);
			top.cale_timerID=0;
		}
		else
		{
			top.cale_timerID=setTimeout("document.getElementById('"+top.cale_quale+"').style.display='none';", tempo);
		}
	}
}

// FUNZIONE FACOLTATIVA PER CHIUDERE IL CALENDARIO 
// necessita della funzione: gira_calendario e pos_calendario
// da mettere nell'immagine che apre il calendario
// es: onmouseover="up_calendario('calendario');" onmouseout="pos_calendario('calendario',2000);"
function up_calendario(quale)
{
	if (quale!=top.cale_quale&&top.cale_quale!="") 
	{
		document.getElementById(top.cale_quale).style.display="none";
		top.cale_quale="";
	}
	if(top.cale_timerID!=0) clearTimeout(top.cale_timerID);
}