// FUNZIONE AJAX PER MULTIRICHIESTE CONTEMPORANEE

var xhr = new Array(); // ARRAY DELLE RICHIESTE XML-HTTP REQUESTS
var xi  = new Array(0); // ARRAY DI INDICI DELLA RICHIESTA XML-HTTP REQUEST
xi[0]   = 1; // PRIMO INDICE SETTATO A 1 PER RENDERLO DISPONIBILE

function xhrRequest(type) {
	if (!type) {
		type = 'html';
	}	
	// xhrsend E' LA POSIZIONE xi CHE VIENE RESTITUITA
	// E INIZILIZZATA ALLA LUNGHEZZA DELL'ARRAY (ULTIMA POSIZIONE +1)
	// SE NON VIENE TROVATA UNA RISORSA LIBERA NEL LOOP
	var xhrsend = xi.length;
	
	// CICLO PER I VALORI xi DISPONIBILI
	for (var i=0; i<xi.length; i++) {
		// SE = 1 (DISPONIBILE), ALLOCAZIONE PER L'USO E INTERRUZIONE LOOP (BREAK)
		if (xi[i] == 1) {
			xi[i] = 0;
			xhrsend = i;
			break;
		}
	}
	
	// SETTA A 0 FINCHE NON VIENE USATA PER L'USO
	xi[xhrsend] = 0;
	
	// CREA LA RICHIESTA
	if (window.ActiveXObject) {
		try {
			xhr[xhrsend] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		try {
			xhr[xhrsend] = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
		}
	} else if (window.XMLHttpRequest) {
			xhr[xhrsend] = new XMLHttpRequest();
		if (xhr[xhrsend].overrideMimeType) {
			xhr[xhrsend].overrideMimeType('text/' + type);
		}
	}
	return (xhrsend);
}

