// JavaScript Document
var Page;
var Qs;
var Tabella;
function do_xml(page,qs,tabella) {
  Tabella = tabella;
  Page = page;
  Qs = qs;
  svuotaTabella(Tabella)
  makeRequest(page, qs);
}

function alertContents() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		var xmldoc = http_request.responseXML;
		var root = xmldoc.getElementsByTagName('root').item(0);
		for (var iNode = 0; iNode < root.childNodes.length; iNode++) {
		   var node = root.childNodes.item(iNode);
		   for (i = 0; i < node.childNodes.length; i++) {
			  var sibl = node.childNodes.item(i);
			  var len = parseInt(sibl.childNodes.length / 2);
			  var arr = new Array(len);
				var arrAttributes = new Array(len);
			  var cnt = 0;
			  for (x = 0; x < sibl.childNodes.length; x++) {
				 var sibl2 = sibl.childNodes.item(x);
				 var sibl3;
				 if (sibl2.childNodes.length > 0) {
					sibl3 = sibl2.childNodes.item(0);
					arrAttributes[cnt] = new Array();
					for(attN = 0; attN < sibl2.attributes.length; attN++) {
						attName = sibl2.attributes.item(attN).name;
						attValue = sibl2.attributes.item(attN).value;
						arrAttributes[cnt][attN] = new Array(attName,attValue);
					}
					arr[cnt] = sibl3.data;  
					cnt++;
				 }
			  }
			  if(arr.length > 0) addrow(arr,arrAttributes);
		   }
		}
	 } else {
		alert('There was a problem with the request. -- '+http_request.status);
	 }
  }
}
   
function addrow(arr,arrAttributes) {
var tbl = document.getElementById(Tabella);
var lastRow = tbl.rows.length;
var row = tbl.insertRow(lastRow);
	if(lastRow % 2 ==0) RowClass='RowPari';
	else RowClass='RowDispari';
	row.className= RowClass;
	row.onmouseover = doOver;
	row.onmouseout = doOut;
  for (cnt = 0; cnt < arr.length; cnt++) {   
	 var cell = row.insertCell(cnt);
	 cell.innerHTML = arr[cnt];
	 if(arrAttributes[cnt].length > 0) {
		for(xr=0; xr < arrAttributes[cnt].length; xr++) {
			switch (arrAttributes[cnt][xr][0]) {
				case "style":
					dat= arrAttributes[cnt][xr][1].split("|");
					for(xr=0; xr < dat.length; xr=xr+2) {
						cell.style[dat[xr]] = dat[xr+1];
					}
				break;
				
				default:
					cell[arrAttributes[cnt][xr][0]] = arrAttributes[cnt][xr][1];
			}
		}
	 }
  }
}

function doOver()
{
	defaultClassName=this.className;
	this.className='RowOver';
}
function doOut()
{
	this.className=defaultClassName;
}
function doClick()
{
	alert(this.cells[0].innerHTML);
}
	
var http_request = false;
function makeRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		http_request.overrideMimeType('text/xml');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  http_request.onreadystatechange = alertContents;
  http_request.open('GET', url + parameters, true);
  http_request.send(null);
}


function ordina() {
	svuotaTabella(Tabella);
	do_xml(Page,Qs,Tabella);
}

function nulla() {}
//FUNIZONI CERCA

var cercato="";
var timerStop = false;
var SalvaID;
function cerca() {
	val = document.getElementById('cerca').value;
	if(val != cercato) {
		cercato = val;
		svuotaTabella(Tabella);
		do_xml(Page,Qs+'&cerca='+cercato,Tabella);
	}
	if(timerStop == false) timerCerca();
}

function timerCerca() {
	setTimeout('cerca()',2000);
}

function timer() {
	clearTimeout(SalvaID);
	//SalvaID = setTimeout('salva()',5000);
	setTimeout("document.getElementById('avviso').style.display = 'none'",1500);
}

function svuotaTabella(tabella) {
	var tbl = document.getElementById(tabella);
	var lastRow = tbl.rows.length;
	if(lastRow>0) {
		for(i=0; i<lastRow; i++){
			tbl.deleteRow(-1);
		}
	}
}





