	var GlobalArrayGiorniEventi;
	var GlobalNumeroPagine;
	var GlobalPaginaAttuale;
	var GlobalArrayEventi = new Array;			

			
			function newXMLHttpRequest(){
				var xmlreq = false;
				
				//Controllo il tipo di oggetto XMLHttpRequest da utilizzare
				if(window.XMLHttpRequest){
					//Per browser non Microsoft
					xmlreq = new XMLHttpRequest();
				}else if(window.ActiveXObject){
					//Cerco di creare l'oggetto via MS ActiveX
					try{
						//Nuove versioni per browser IE
						xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
					}catch(e1){ //Errore riscontrato durante la creazione dell'oggetto
						try{
							//Precedenti versioni per browser IE
							xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
						}catch(e2){ //Nuovo errore durante la creazione dell'oggetto
							xmlreq = false;
						}
					}
				}
				//Restituisco l'eventuale oggetto XMLHttpRequest
				return xmlreq;
			}
			
			
			function getEventsRange(dayOfWeek1,noOfDaysInmnth,IdataEvento){
			//mostraElemento('loader');
				//Recupero i dati da inviare
				
				var dataEvento = IdataEvento; // formato aaaa-m[m]
				
				//Creo un nuovo oggetto XMLHTTPRequest
				var req = newXMLHttpRequest();
				
				//Invio la richiesta
				req.open("POST", "getEvents.php", true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				
				//Invio i dati POST
				req.send("rifData=" + dataEvento);
				
				//Gestore dell'evoluzione dello stato dell'oggetto req
				req.onreadystatechange = handleResponse(req, creaArrayDate, dayOfWeek1,noOfDaysInmnth);
			}

		
			/*
			 * Ritorna una funzione per la gestione dello stato dell'oggetto req.
			 * Ed infine a stato finale raggiunto, invia la risposta XML alla funzione che dovra' gestire il tutto.
			 * reg = Istanza XMLHTTPRequest
			 * XMLHandler = nome della funzione a cui passare il risultato XML da gestire
			 */
			function handleResponse(req, XMLHandler,dayOfWeek1,noOfDaysInmnth){
				return function(){
					//Controllo se l'oggetto req ha raggiunto lo stato finale
					if(req.readyState == 4){
						//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
						if (req.status == 200){
							//A questo punto richiamo la funzione che gestira' il risultato XML
							XMLHandler(req.responseXML,dayOfWeek1,noOfDaysInmnth);
						}else{
							alert("Errore HTTP: " + req.status);
						}
					}
				}
			}
			function getEvents(IdataEvento){
				
			mostraElemento('loader');
			//alert (IdataEvento);
				//Recupero i dati da inviare
				var dataEvento = IdataEvento;
				//Creo un nuovo oggetto XMLHTTPRequest
				var req = newXMLHttpRequest();
				
				//Invio la richiesta
				req.open("POST", "data.php", true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				
				//Invio i dati POST
				
				req.send("rifData=" + dataEvento);
				
				//Gestore dell'evoluzione dello stato dell'oggetto req
				req.onreadystatechange = handleResponseEvents(req, getPannello, IdataEvento);
			}			
	
// -----------------------------------------------------------
			function handleResponseEvents(req, XMLHandler, IdataEvento){
				return function(){
					//Controllo se l'oggetto req ha raggiunto lo stato finale
					if(req.readyState == 4){
						//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
						if (req.status == 200){
							//A questo punto richiamo la funzione che gestira' il risultato XML
							XMLHandler(req.responseXML, IdataEvento);
						}else{
							alert("Errore HTTP: " + req.status);
						}
					}
				}
			}
			
			/*
			 * Popolo la seconda SELECT
			 * XMLResult = Il risultato XML prodotto da handleResponse
			 */
			function getPannello(XMLResult, IdataEvento){

				//Gestisco il documento XML ricevuto e popolo la seconda SELECT
				var msgErr=0;
				var contenutoEvents="<font size='1'>";
				var categoria = XMLResult.getElementsByTagName('evento');
				
				dataInfo = IdataEvento; 
				var splitted = dataInfo.split("-");
				localY =splitted[0];
				localM =splitted[1];
				localD =splitted[2];
				GlobalNumeroPagine = categoria.length;
				GlobalPaginaAttuale = 1;
				//Scorro gli elementi
				for (var i = 0; i < categoria.length; i++){
					
					var item = categoria[i];
					var subNode_titolo = item.getElementsByTagName('titolo');
					var subNode_theLink = item.getElementsByTagName('theLink');
					var subNode_theTarget = item.getElementsByTagName('theTarget');
					var subNode_abstract = item.getElementsByTagName('abstract');
					var subNode_testo = item.getElementsByTagName('testo');

						
						
					//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
					Titolo 		= subNode_titolo[0].firstChild.nodeValue;
					theLink 	= subNode_theLink[0].firstChild.nodeValue;
					theTarget 	= subNode_theTarget[0].firstChild.nodeValue;
					abstracto 	= subNode_abstract[0].firstChild.nodeValue;
					Testo 		= subNode_testo[0].firstChild.nodeValue;

					/* OLD VERSION
					//Recupero i vari elementi singoli
					var item = categoria[i];
										
					//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
					Titolo = item.getAttribute("titolo");
					theLink = item.getAttribute("theLink");
					theTarget = item.getAttribute("theTarget");			
					abstracto = item.getAttribute("abstract");
					Testo = item.firstChild.nodeValue;

					// END OLD VERSIONE
					*/
					//Popolo la seconda SELECT
					try{
					

						if (parseInt(i+1)==1) {
							versoIndietro = '';
						} else {
							versoIndietro = '<a href="javascript:;" onClick="cambiaTesto (GlobalArrayEventi[' + parseInt (i-1) + '])"><img src="img/arrowSx.gif" border="0"></a>';
						}				
						
						if ((i+1)==categoria.length) {
							versoAvanti = '';
						} else {
							versoAvanti = '<a href="javascript:;" onClick="cambiaTesto (GlobalArrayEventi[' + parseInt (i+1) + '])"><img src="img/arrowDx.gif" border="0"></a>';
						}								
					
						
						GlobalArrayEventi[i]='<table width="200" border="0" cellpadding="0" cellspacing="0" class="bgSpalla"><tr><td class="tit" valign="top">Evento</td><td class="tit" align="right" style="padding-top:5px; "><a href="javascript:;" onFocus="this.blur();" onClick="chiudiElemento(\'pannello\');"><img src="img/tit_tutti.gif" border="0"></a></td></tr><tr><td valign="top" height="179" style="padding-top:10px; " colspan="2"><table width="175" border="0" align="center" cellpadding="0" cellspacing="0" id="evento"><tr><td valign="top"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="49"><!-- giorno in gif --><img src="img/c' + localD +'.gif" border="0"></td><td width="126" valign="bottom" class="mese"><!-- mese --><img src="img/' + localM + '_' + localY +'.gif" border="0"></td></tr></table></td></tr><tr><td><img src="img/1x1.gif" height="5" width="1"></td></tr><tr><td class="titolo" valign="top"><!-- titolo -->' + Titolo + '</td></tr><tr><td class="testo1" valign="top" style="padding-top:10px; "><!-- testo1 -->' + abstracto + '</td></tr><tr><td class="testo2" valign="top" style="padding-top:10px; "><!-- testo2 -->' + Testo + '</td></tr><tr><td height="20" valign="bottom"><!-- link scopri --><a href="' + theLink + '" onFocus="this.blur();" target="' + theTarget + '"><img src="img/tit_scopri.gif" width="71" height="10" border="0"></a></td></tr></table></td></tr><tr><td valign="top" colspan="2" height="15"><!-- paginazione start --><table width="175" align="center" border="0" cellpadding="0" cellspacing="0"><tr><td width="12">' + versoIndietro + '</td><td width="151" align="center" class="azzurro10b">' + parseInt(i+1) + '/' + GlobalNumeroPagine + '</td><td width="12" align="right">' + versoAvanti + '</td></tr></table><!-- paginazione end --></td></tr></table>';						
						//alert (Titolo +"\n" + Testo);

						contenutoEvents = contenutoEvents + "<a href='" + theLink + "' target='" + theTarget + "'>" + Titolo + "</a><br>" + Testo + "<br><br>";
					}catch(e){
						//subSelection.add(NewOpt); // Funziona solo con IE
						msgErr="errore di comunicazione";
					}
				}
				if (msgErr==0) {
					chiudiElemento('loader');
					//contenutoEvents = "<div><a href=\"javascript: ;\" onClick=\"chiudiElemento('pannello');\">Chiudi</a></div>" + contenutoEvents + "</font>";
					contenutoEvents = '<table width="200" border="0" cellpadding="0" cellspacing="0" class="bgSpalla"><tr><td class="tit" valign="top">Evento</td><td class="tit" align="right" style="padding-top:5px; "><a href="#" onFocus="this.blur();"><img src="img/tit_tutti.gif" border="0"></a></td></tr><tr><td valign="top" height="178" style="padding-top:10px; " colspan="2"><table width="175" border="0" align="center" cellpadding="0" cellspacing="0" id="evento"><tr><td width="49"><!-- giorno in gif --><img src="img/c6.gif" border="0"></td><td width="126" valign="bottom" class="mese"><!-- mese -->ottobre</td></tr><tr><td colspan="2"><img src="img/1x1.gif" height="5" width="1"></td></tr><tr><td colspan="2" class="titolo" valign="top"><!-- titolo -->Giochi della gioventù</td></tr><tr><td colspan="2" class="testo1" valign="top" style="padding-top:10px; "><!-- testo1 -->Finale regionale.</td></tr><tr><td colspan="2" class="testo2" valign="top" style="padding-top:10px; "><!-- testo2 -->Torino Campo Sportivo Comunale.</td></tr><tr><td colspan="2" align="right" height="20" valign="bottom"><!-- link scopri --><a href="#" onFocus="this.blur();"><img src="img/tit_scopri.gif" width="71" height="10" border="0"></a></td></tr></table></td></tr><tr><td valign="top" colspan="2" height="15"><!-- paginazione start --><table width="175" align="center" border="0" cellpadding="0" cellspacing="0"><tr><td width="12"><a href="#"><img src="img/arrowSx.gif" border="0"></a></td><td width="151" align="center" class="azzurro10b">1/5</td><td width="12" align="right"><a href="#"><img src="img/arrowDx.gif" border="0"></a></td></tr></table><!-- paginazione end --></td></tr></table>';
					// cambiaTesto (contenutoEvents);
					cambiaTesto (GlobalArrayEventi[GlobalPaginaAttuale - 1]);
					} else {
					alert (msgErr);
					}
			}
			
			function prendiElementoDaId(id_elemento) {
				 var elemento;
				 if(document.getElementById)
				  elemento = document.getElementById(id_elemento);
				 else
				  elemento = document.all[id_elemento];
				  elemento.style.visibility='visible';
				 return elemento;
			};
	
			function mostraElemento(id_elemento) {
				 var elemento;
				 if(document.getElementById)
				  elemento = document.getElementById(id_elemento);
				 else
				  elemento = document.all[id_elemento];
				  
				  elemento.style.visibility='visible';
				 return elemento;
			};					
			function chiudiElemento(id_elemento) {
				 var elemento;
				 if(document.getElementById)
				  elemento = document.getElementById(id_elemento);
				 else
				  elemento = document.all[id_elemento];
				  
				  elemento.style.visibility='hidden';
				 return elemento;
			};			
			//-->
// -----------------------------------------------------------	

			
			/*

			 * XMLResult = Il risultato XML prodotto da handleResponse
			 */
			function creaArrayDate(XMLResult,dayOfWeek1,noOfDaysInmnth){
				//GlobalArrayGiorniEventi
				//Gestisco il documento XML ricevuto e popolo la seconda SELECT
				var msgErr=0;
				var contenutoArray="new Array(0,";
				var categoria = XMLResult.getElementsByTagName('giorno');
				
				//Scorro gli elementi
				for (var i = 0; i < categoria.length; i++){
					//Recupero i vari elementi singoli
					var item = categoria[i];
					
					//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
					dayValue = item.getAttribute("valore");

					
					//Popolo la seconda SELECT
					try{
						//subSelection.add(NewOpt, null); //Metodo Standard, non funziona con IE
						//alert (Titolo +"\n" + Testo);
						contenutoArray = contenutoArray + dayValue +",";
					}catch(e){
						//subSelection.add(NewOpt); // Funziona solo con IE
						msgErr="errore di comunicazione";
					}
				}
				if (msgErr==0) {
					//chiudiElemento('loader');
					contenutoArray = contenutoArray + "0)";
					//alert ()
					eval ("var ArrayTemp="+contenutoArray );
					GlobalArrayGiorniEventi = ArrayTemp;
					//alert (GlobalArrayGiorniEventi[2]);
					//alert ("noOfDaysInmnth: "+noOfDaysInmnth);
					fillDates(dayOfWeek1,noOfDaysInmnth);
					}
			}
			
			//-->
			function cambiaTesto(mioTesto) {
				
				 prendiElementoDaId('pannello').innerHTML = mioTesto;
			}