
/*
Nuova gestione calendario e Gestione Eventi associati 
Matteo Lanfranco
Gennaio 2011
*/

	var arrayEventi = new Array();
	var i =0;
	
	// Al termine del caricamento della pagina la funzione si attiva
	$().ready(function() {
		
			// Funziona ajax per il recupero dei dati dal file xml e salvataggio nel vettore temporaneo
			$.ajax({
				// Parametri necessari alla funzione
				async: false,
				type: "GET",
				url: "js/eventi.xml",
				dataType: "xml",
				success: function(xml) {
					$(xml).find('evento').each(function(){
						// Per ogni tag 'evento' recupero i seguenti dati contenuti nei nodi figli
						var id = $(this).find('EventID').text();
						var date = $(this).find('Date').text();
						var title = $(this).find('Title').text();
						var url = $(this).find('URL').text();
						//var descr = $(this).find('Description').text();
						var cssClass = $(this).find('CssClass').text();
						// Salvataggio dei dati nel vettore temporaneo
						arrayEventi.push({ 'EventID': id, 'Date': date, 'Title': title, 'URL': url, 'CssClass': cssClass }); 
						i++;
					});
				}
			});

			// Dichiarazione di variabili e funzioni necessarie al corretto funzionamento del calendario
			var options = {
				height: 275,
				width: 280,
				navHeight: 20,
				labelHeight: 10,
				
				onMonthChanging: function(dateIn) {
					return true;
				},
				onEventLinkClick: function(event) { 
					//alert("event link click");
					return true;
				},
				onEventBlockClick: function(event) { 
					//alert("block clicked");
				return true;
				},
			       onEventBlockOver: function(event) {
					return true;
				},
				onEventBlockOut: function(event) {
					return true;
				},
				onDayLinkClick: function(date) {
					//alert(date.toLocaleDateString());
					return true;
				},
				onDayCellClick: function(date) {
					//alert(date.toLocaleDateString());
					return true;
				}
				

			};


			// Caricamento dei dati all'interno dell'array 'events' usato di default dal calendario
			var events = new Array();
			var j=0;
			while(j < i){
				var id = arrayEventi[j]['EventID'];
				var date = arrayEventi[j]['Date'];
				var title = "";
				var url = "";
				//var descr = "";
				var cssClass = "";
				// Controllo necessario per definire il colore del bottone sul giorno del calendario
				if(arrayEventi[j]['CssClass'] == "pop_black" || arrayEventi[j]['CssClass'] == "pop_black5r" || arrayEventi[j]['CssClass'] == "pop_black3r"){
					cssClass = "evtipo1";
				}
				else {cssClass = "evtipo2";}
				// Caricamento dei dati nel vettore di default
				events.push({ 'EventID': id, 'Date': date, 'Title': title, 'URL': url, 'CssClass': cssClass });
				j++;
			}
			
			// Funzione di inizializzazione del calendario
			$.jMonthCalendar.Initialize(options, events);
		  
	});
	

// Funzione Custom per far apparire l'overlay con la descrizione dell'evento a seguito del mouseover
function OpenEvento(id){
			var test=0;
			// Ricerca della riga corretta del vettore confrontando l'id
			for(var indice=0; test == 0; indice++){
				if(arrayEventi[indice]['EventID'] == id)test=1;
			}
			indice--;
			var divId = "div#Event_"+arrayEventi[indice]['EventID'];
			// Inserisco l'html nel div con id passato
			$(divId).mouseover(function(){this.innerHTML="<div class='"+arrayEventi[indice]['CssClass']+"'>"+arrayEventi[indice]['Title']+"</div>"});
	}

// Funzione Custom per far scomparire l'overlay con la descrizione dell'evento a seguito del mouseout
function CloseEvento(id){
			var test=0;
			// Ricerca della riga corretta del vettore confrontando l'id
			for(var indice=0; test == 0; indice++){
				if(arrayEventi[indice]['EventID'] == id)test=1;
			}
			indice--;
			var divId = "div#Event_"+arrayEventi[indice]['EventID'];
			// Inserisco l'html nel div per far sparire la descrizione
			$(divId).mouseout(function(){this.innerHTML="<span></span>"});
	}

// Funzione Custom per la gestione del link associato all'evento a seguito del click
function ClickEvento(id){
			var test=0;
			// Ricerca della riga corretta del vettore confrontando l'id
			for(var indice=0; test == 0; indice++){
				if(arrayEventi[indice]['EventID'] == id)test=1;
			}
			indice--;
			var divId = "div#Event_"+arrayEventi[indice]['EventID'];
			var temp = arrayEventi[indice]['URL'];
			temp = temp.substr(temp.length-4, 4);
			// Se il link non è presente non effettuo operazioni
			if(temp != ""){
				// Se il link ha estensione .htm setto la 'location' corretta
				if(temp == ".htm"){
					$(divId).click(function(){location.href=arrayEventi[indice]['URL']});
				}
				else{
					// Se il link ha un'estensione differente da .htm lo faccio aprire in una nuova finestra
					$(divId).click(function(){window.open(arrayEventi[indice]['URL'],"Event_"+indice,"menubar=1,resizable=1,width=800,height=600");});								  
					//if (window.focus) {newwindow.focus()}
					//return false;							  
				}
			}
	}
