
var xmlHttp = null;
var num_max_result = 20;
var num_result = -num_max_result;
var mode_search = false;

function GetXmlHttpObject() { 
	
	var objXMLHttp = null;
	
	if (window.XMLHttpRequest) {
		
		objXMLHttp = new XMLHttpRequest();		
	} else if (window.ActiveXObject) {
		
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}

function showtable(sender) {	

	var xmlHttp = GetXmlHttpObject();
	
	if (xmlHttp==null) {
		var arr = new Array(4);			
		arr[0] = '&nbsp;'; arr[1] = '&nbsp;'; arr[2] = '<div style="text-align: center; color: #ff0000;"><b>Il tuo Browser non &egrave; compatibile con la visualizzazione della pagina</b></div>'; arr[3] = '&nbsp;'; 
		deleterow('flights');
		addrow('flights', arr);
		return;
	} 

	// gestione pulsanti	
	if (sender && sender.id == 'prossimo') {		
		num_result += num_max_result;
		document.getElementById("primissimo").disabled = false;
		document.getElementById("precedente").disabled = false;
		document.getElementById("counter").innerHTML = (num_result+1)+' - '+(num_max_result+num_result);
		
	} else if (sender && sender.id == 'precedente') {			
		num_result -= num_max_result;			
		if (!num_result) {
			document.getElementById("primissimo").disabled = true;
			document.getElementById("precedente").disabled = true;				
		}
		document.getElementById("prossimo").disabled = false;
		document.getElementById("counter").innerHTML = (num_result+1)+' - '+(num_max_result+num_result);
		
	} else if (sender && sender.id == 'primissimo') {			
		num_result = 0;
		document.getElementById("prossimo").disabled = false;
		document.getElementById("precedente").disabled = true;
		document.getElementById("primissimo").disabled = true;
		document.getElementById("counter").innerHTML = '1 - '+num_max_result;
		
	} else {		
		num_result = 0;
		mode_search = false;
		document.getElementById("precedente").disabled = true;
		document.getElementById("primissimo").disabled = true;
		document.getElementById("prossimo").disabled = false;
		document.getElementById("counter").innerHTML = '1 - '+num_max_result;
	}
	
	if ((sender && sender.id == 'cerca') || mode_search) {
		
		var text = document.getElementById("testo").value;
		if (!text) {
			window.alert('Insert a word or a sentence in the research box!');
			return;
		}
		
		if (sender && sender.id == 'cerca') {
			num_result = 0;				
			mode_search = true;		
		}
				
		var url = "./test/cercavoli.php";
		url = url+"?start="+num_result+"&limit="+num_max_result+'&text='+text;			
	} else {
		var url = "./test/prendivoli.php";	
		url = url+"?start="+num_result+"&limit="+num_max_result;			
	}	
			
	xmlHttp.open("GET",url,true);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {	
			
			var xmlDocument = xmlHttp.responseXML;							
			buildtable(xmlDocument);
		}
	}
	xmlHttp.send(null);
}

function buildtable(xmlResults) {
	
	// cancello le righe dalla tabella
	deleterow('flights');
	
	var flights = xmlResults.documentElement.getElementsByTagName("id");
	
	// se i risultati sono meno di quelli previsti disabilito il pulsante 'prossimo'
	if (flights.length < num_max_result) {
		document.getElementById("prossimo").disabled = true;
		if (flights.length) {
			document.getElementById("counter").innerHTML = (num_result+1)+' - '+(num_result+flights.length);			
		} else { // non ho trovato nessun risultato
			document.getElementById("counter").innerHTML = '0 - 0';
			var arr = new Array(4);			
			arr[0] = '&nbsp;'; arr[1] = '&nbsp;'; arr[2] = '<div style="text-align: left; color: #ff0000;"><b>Nessun risultato trovato</b></div>'; arr[3] = '&nbsp;'; 
			addrow('flights', arr);
		}
	}
	
	for (var index = 0; index < flights.length; index++) {						
		
		var arr = new Array(4);
		
		if(xmlResults.getElementsByTagName("den")[index].firstChild){var den = xmlResults.getElementsByTagName("den")[index].firstChild.nodeValue;} else {var den = '';}
		if(xmlResults.getElementsByTagName("link")[index].firstChild){var link = xmlResults.getElementsByTagName("link")[index].firstChild.nodeValue;} else {var link = '';}
		if(xmlResults.getElementsByTagName("img")[index].firstChild){var img = xmlResults.getElementsByTagName("img")[index].firstChild.nodeValue;} else {var img = '';}
		if(xmlResults.getElementsByTagName("desc")[index].firstChild){var desc = xmlResults.getElementsByTagName("desc")[index].firstChild.nodeValue;} else {var desc = '';}
		if(xmlResults.getElementsByTagName("prezzo")[index].firstChild){var prezzo = xmlResults.getElementsByTagName("prezzo")[index].firstChild.nodeValue;} else {var prezzo = '';}
		if(xmlResults.getElementsByTagName("val")[index].firstChild){var val = xmlResults.getElementsByTagName("val")[index].firstChild.nodeValue;} else {var val = '';}
				
		(val == 'EUR') ? val = '&euro;' : val = '';		
			
		arr[0] = '<a href="'+link+'" target="_blank"><img style="border: 1px solid #000000; padding: 0px;" src="'+img+'" align="middle" border="0" width="65" height="24" /></a>';
		arr[1] = '<a href="'+link+'" target="_blank"><div style="font-size: 11px;">'+den+'</div></a>';
		arr[2] = '<div style="font-size: 11px;">'+desc+'</div>';
		arr[3] = '<div style="font-size: 11px; text-align: right;">'+prezzo+' '+val+'&nbsp</div>';
			
		// aggiugo le righe alla tabella	
		addrow('flights', arr);		
	}  	
}

function addrow(tablename, arr) {
	var tbl = document.getElementById(tablename);
	var lastRow = tbl.rows.length;
	var row = tbl.insertRow(lastRow);
	var color = '#eeeeee';
	color = (lastRow % 2) ? '#eeeeee' : '#ffffff';	
		
	for (r = 0; r < arr.length; r++) {   
		var cell = row.insertCell(r);
	    cell.bgColor = color;
	    cell.innerHTML = arr[r];
	}
}

function deleterow(tablename) {
	var tbl = document.getElementById(tablename);
	var lastRow = tbl.rows.length;	
	for (index = 1; index < lastRow; index++) {		
		tbl.deleteRow(1);	
	}	
}

