Questo è il mio codice:

codice:
$(document).ready(function(){
	$('#detail_panel').hide();		// hide the detail panel
	var openID = -1;				// set the opened movie detail to null
	var palinsesto = new Array();	// array of json object to store all XML info
			
	var today=new Date();
	var day = today.getDate();
	var month = today.getMonth()+1;
	var year = today.getYear();
	if(day<10) day = "0" + day;
	if(month<10) month= "0" + month;
	if(year<1000) year+=1900;

	var oggi = day +"/"+month+"/"+year;
	
	var hours=today.getHours();
	var mins=today.getMinutes();

	$.ajax({
		type: "GET",
		url: "9001-foxone.xml",
		dataType: "xml",
		success: function(xml) {
				
				$(xml).find('Event').each(function(){
				// reading data from XML
				var id = $(this).find('EventID').text();
				var title = $(this).find('Title').text();
				var shortD = $(this).find('ShortDescription').text();
				var longD = $(this).find('LongDescription').text();
				var data=$(this).find('Date').text();
				var startTime=$(this).find('StartTime').text();
				var duration=$(this).find('Duration').text();
									
				// Date and Time calculation
				var arrS=startTime.split(":");  // start time splitting
			  	var arrD=duration.split(":");   // duration time splitting
				
				var endHour = parseInt(arrS[0])+parseInt(arrD[0]);
				var endMin = parseInt(arrS[1])+parseInt(arrD[1]);
			  				  
			  	var adesso = hours*60+mins;
			  	var inizio_in_min = parseInt(arrS[0])*60+parseInt(arrS[1]);
 			  	var fine_in_min =endHour*60+endMin;

				var json_ob = {	        "id": 			id, 
								"title": 		title, 
								"shortD":		shortD,
								"longD":		longD,
								"data": 		data,
								"startTime":	startTime,
								"duration":		duration,
								"startTime_min":inizio_in_min,
								"endTime_min":	fine_in_min
				};
				
				palinsesto.push(json_ob);
				openID=5;
			});
		}
	});
	alert(palinsesto.length);
	alert(openID);
});
I due alert mi rispondono che length è ZERO e openID è -1.

Mi pare di capire che c'è qualcosa che non quadra con lo scope delle variabili, come se quel palinsesto.push e quel openID = 5 non facessero alcun riferimento alle variabili globali dichiarate in testa al codice.

Come mai? Come risolvo?
Questo codice lo sto realizzando per lavoro e anche di corsa, per cui tutte le soluzioni "pratiche e veloci" sono graditissime!

Grazie mille, spero di sentirvi presto!