<!--
/* JavaScript Document */

function MM_preloadImages()
{ /* v3.0 */
	var d=document;
	if(d.images)
	{
		if(!d.MM_p) d.MM_p = new Array();
		var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
		for(i = 0; i < a.length; i++)
			if (a[i].indexOf("#") != 0)
			{
				d.MM_p[j] = new Image;
				d.MM_p[j++].src = a[i];
			}
	}
}

function MM_swapImgRestore()
{ /* v3.0 */
	var i, x, a = document.MM_sr;
	for(i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
		x.src = x.oSrc;
}

function MM_findObj(n, d)
{ /* v4.01 */
	var p, i, x;
	if(!d) d = document;
	if((p = n.indexOf("?")) > 0 && parent.frames.length)
	{
		d = parent.frames[n.substring(p+1)].document;
		n = n.substring(0,p);
	}
	if(!(x = d[n]) && d.all) x = d.all[n];
	for (i = 0; !x && i < d.forms.length; i++) x=d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n,d.layers[i].document);
	if (!x && d.getElementById) x = d.getElementById(n);
	return x;
}

function MM_swapImage() { /* v3.0 */
	var i, j = 0, x, a = MM_swapImage.arguments;
	document.MM_sr = new Array;
	for(i = 0; i < (a.length-2); i+=3)
		if ((x = MM_findObj(a[i])) != null)
		{
			document.MM_sr[j++] = x;
			if(!x.oSrc) x.oSrc = x.src;
			x.src = a[i+2];
		}
}

function fn_simplepopup(sUrl, sW, sH)
{
	var sLeft = (screen.width - sW) / 2;
	var sTop = (screen.height - sH) / 2;
	NewWin = window.open(sUrl ,"NewWin","resizable=no,scrollbars=no,location=no,top=" + sTop + ",left=" + sLeft + ",width=" + sW + ",height=" + sH + ",toolbar=0,status=0")
}

function fn_popupvetrina(sUrl, sW, sH)
{
	var sLeft = (screen.width - sW) / 2;
	var sTop = (screen.height - sH) / 2;
	NewWin = window.open(sUrl ,"NewWin","resizable=no,scrollbars=no,location=no,top=" + sTop + ",left=" + sLeft + ",width=" + sW + ",height=" + sH + ",toolbar=0,status=0")
}

/******************************************************
FUNZIONE:
	fn_isDate
DESCRIZIONE:
    Verifica che una stringa contenga una data valida
    composta da due cifre per il mese, due per il gio-
	rno e 4 per l'anno. I separatori della data posso-
	no essere i caratteri: ., - o /
	Utilizzando una combinazione di controlli con le
	espressioni regolari e il parsing dei dati viene
	verificata la validità della data.
	Es.: mm/dd/yyyy o mm-dd-yyyy o mm.dd.yyyy

PARAMETRI:
   sValore - Stringa da verificare

RITORNO:
	true se corretta altrimenti false.
******************************************************/
function fn_isDate(sValore)
{
	var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/

	/* Pre-verifica il formato con le espressioni regolari */
	if (!objRegExp.test(sValore))
	{
		return false; /* verifica fallita espressione regolare */
	}
	else
	{
		var strSeparator = sValore.substring(2,3) /* Recupera il separatore */
		var arrayDate = sValore.split(strSeparator); /* Crea l'array per ottenere in ordine mese, giorno e anno */

		var intDay = eval(arrayDate[1]);
		var intMonth = eval(arrayDate[0]);
		var intYear = eval(arrayDate[2]);
		
		/* alert("G:"+intDay+" M:"+intMonth +" A:"+intYear+" mG:"+ MKgetDays((intMonth - 1), intYear)) */
		
		if (intDay >= 1 && intDay <= fn_getDays((intMonth - 1), intYear))
			return true;
	}
	return false; /* Qualsiasi altro valore non è valido */
}

/******************************************************
FUNZIONE:
	fn_getDays
DESCRIZIONE:
    Consente di ottenere il numero di giorni di un dato
	mese.

PARAMETRI:
   sMese - Mese per cui ottenere i giorni
   sAnno - Anno in esame (necessario per febbraio)

RITORNO:
	numero di giorni del mese/anno indicato
******************************************************/
function fn_getDays(sMese, sAnno)
{
  /* Crea un'array per memorizzare il numero di giorni per ogni mese */
  var ar = new Array(12);
  ar[0] = 31; /* Gennaio */
  ar[1] = (sAnno % 4 == 0) ? 29 : 28; /* Febbraio */
  ar[2] = 31; /* Marzo */
  ar[3] = 30; /* Aprile */
  ar[4] = 31; /* Maggio */
  ar[5] = 30; /* Giugno */
  ar[6] = 31; /* Luglio */
  ar[7] = 31; /* Agosto */
  ar[8] = 30; /* Settembre */
  ar[9] = 31; /* Ottobre */
  ar[10] = 30; /* Novembre */
  ar[11] = 31; /* Dicembre */

  /* Ritorna il numero di giorni per il mese specificato nei parametri */
  return ar[sMese];
}

function fnMapImage(sName, sImage, sZoom, sZoomMax)
{
	for (f = 1; f <= sZoomMax; f++)
	{
		MM_swapImage(sName + 'Zoom' + f,'', "immagini/mappa/zoom" + f + "_off.gif",1);
	}
	MM_swapImage(sName,'', "immagini/mappa/" + sImage,1);
	MM_swapImage(sName + 'Zoom' + sZoom,'', "immagini/mappa/zoom" + sZoom + "_on.gif",1);
}
//-->