function newXMLHttpRequest(){
				var xmlreq = false;
				
				//Controllo il tipo di oggetto XMLHttpRequest da utilizzare
				if(window.XMLHttpRequest){
					//Per browser non Microsoft
					xmlreq = new XMLHttpRequest();
				}else if(window.ActiveXObject){
					//Cerco di creare l'oggetto via MS ActiveX
					try{
						//Nuove versioni per browser IE
						xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
					}catch(e1){ //Errore riscontrato durante la creazione dell'oggetto
						try{
							//Precedenti versioni per browser IE
							xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
						}catch(e2){ //Nuovo errore durante la creazione dell'oggetto
							xmlreq = false;
						}
					}
				}
				//Restituisco l'eventuale oggetto XMLHttpRequest
				return xmlreq;
			}
			
function SelectionUpdate(val){
    //Creo un nuovo oggetto XMLHTTPRequest
    var req = newXMLHttpRequest();
    req.open("POST", "selection_update.php", true);
    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    if(val<=0){ //if value is less than zero, assume a clear is requested
        req.send("clear=true");
        return;
    }

    var checkbox = document.getElementById("checkbox" + val);


    if(checkbox.checked){
        req.send("add=" + val);
    }else{
        req.send("rem=" + val);
    }
}

function Checkform(){
				//Recupero i dati da inviare
				var mainSelection = document.getElementById("cnt");
				
				//Creo un nuovo oggetto XMLHTTPRequest
				var req = newXMLHttpRequest();
				var cnt = parseInt(mainSelection.value,10);
				req.open("POST", "checkcnt.php", true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req.send("cnt=" + cnt);

				//Gestore dell'evoluzione dello stato dell'oggetto req
				req.onreadystatechange = handleResponse(req, GetResponse);
}

						
			function handleResponse(req, XMLHandler){
				return function(){
					//Controllo se l'oggetto req ha raggiunto lo stato finale
					if(req.readyState == 4){
						//Inoltre accertiamoci di aver ottenuto il messaggio 200 dal server,
						if (req.status == 200){
							//A questo punto richiamo la funzione che gestira' il risultato XML
							//alert(req.responseText);
							XMLHandler(req.responseXML);
						}else{
							alert("Errore HTTP: " + req.status);
						}
					}
				}
			}
			
			
			function GetResponse(XMLResult) {
				var errorcnt = 0;
				var vdag = parseInt(document.getElementById("vdag_select").value,10);
				var vdam = parseInt(document.getElementById("vdam_select").value,10);
				var vdaa = parseInt(document.getElementById("vdaa_select").value,10);
				var errorvda = 0;
				var mesi31 = new Array(1,3,5,7,8,10,12);
				var mesi30 = new Array(4,6,9,11);
				if (vdag != "" && vdam != "") {
				if (vdam in oc(mesi31)) {
					if (vdag > 31) {
						errorvda = 1;
						}
					}
					
				if (vdam in oc(mesi30)) {
					if (vdag > 30) {
						errorvda = 1;
						}
					}
					
				if (vdam == 2) {
					if (vdag > 29) {
						errorvda = 1;
						}
					}
				}

				if(vdaa < 1800  || vdaa > 2020 || document.getElementById("vdaa_select").value =="") {
					errorvda = 1;
					}
					
					if(errorvda == 1) {
						alert("Controllare le date della cronologia specifica DA");
					}
					

				var vag = parseInt(document.getElementById("vag_select").value,10);
				var vam = parseInt(document.getElementById("vam_select").value,10);
				var vaa = parseInt(document.getElementById("vaa_select").value,10);
				var errorva = 0;

				if (vag != "" && vam != "") {
				if (vam in oc(mesi31)) {
					if (vag > 31) {
						errorva = 1;
						}
					}
					
				if (vam in oc(mesi30)) {
					if (vag > 30) {
						errorva = 1;
						}
					}
					
				if (vam == 2) {
					if (vag > 29) {
						errorva = 1;
						}
					}
				}

				if(vaa < 1800 || vaa > 2020 || document.getElementById("vaa_select").value == "") {
					errorva = 1;
					}
					
					if(errorva == 1) {
						alert("Controllare le date della cronologia specifica A");
					}

				
				/*var responso = XMLResult.getElementsByTagName('responso');
				
				var item = responso[0];
				if (item.firstChild.nodeValue == "true") {
					
					
				} else {
					alert("Numero di contatore già presente");
					document.getElementById("cnt").focus();
					errorcnt = 1;
				}      
                */

				var errorcoerenza = 0;
				var fraz = document.getElementById("dtfr_select").value;

				
				if(errorcnt == 0 && errorva == 0 && errorvda ==0) {
					document.campi.submit();
					}
				
				
				
				
				}
function Checkformmod (){
		var errorcoerenza = 0;
		var vdaa = parseInt(document.getElementById("vdaa_select").value,10);
		var fraz = document.getElementById("dtfr_select").value;
		switch (fraz) {
			case "inizio (0-10)":
			inizio =1900;
			fine = 1910;			
			break;
			case "fine (90-99)":
			inizio =1990;
			fine = 1999;			
			break;
			case "metÃ&nbsp; (40-60)":
			inizio =1940;
			fine = 1960;			
			break;
			case "prima metÃ&nbsp; (0-49)":
			inizio =1900;
			fine = 1949;			
			break;
			case "seconda metÃ&nbsp; (50-99)":
			inizio =1950;
			fine = 1999;			
			break;
			case "primo quarto (0-24)":
			inizio =1900;
			fine = 1924;			
			break;
			case "secondo quarto (25-49)":
			inizio =1925;
			fine = 1949;			
			break;
			case "terzo quarto (50-74)":
			inizio =1950;
			fine = 1974;			
			break;
			case "ultimo quarto (75-99)":
			inizio =1975;
			fine = 1999;			
			break;
			case "fine/inizio (90-10)":
			inizio = 90;
			fine = 10;			
			break;
		}

					if(errorcoerenza == 0) {
					document.campi.submit();
					}
}

function oc(a)
{
  var o = {};
  for(var i=0;i<a.length;i++)
  {
    o[a[i]]='';
  }
  return o;
}

function populateSubSelection(){
	//Creo un nuovo oggetto XMLHTTPRequest
	var req = newXMLHttpRequest();

	//Invio la richiesta
	req.open("POST", "elautori.php", true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//Gestore dell'evoluzione dello stato dell'oggetto req
	req.send("choice=pippo");
	req.onreadystatechange = handleResponse(req, updateSubSelection);
}

function updateSubSelection(XMLResult){

				//Gestisco il documento XML ricevuto e popolo la seconda SELECT
				var categoria = XMLResult.getElementsByTagName('autore');

				//Recupero la seconda SELECT
				var subSelection = document.getElementById("autn_select");

				//Svuoto la secondo SELECT

  				for (var i = subSelection.length - 1; i >= 0; i--){
  					subSelection.remove(i);
  				}

				//Scorro gli elementi
				for (var i = 0; i < categoria.length; i++){
					//Recupero i vari elementi singoli
					var item = categoria[i];

					//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
					var NewOpt = document.createElement('option');
					NewOpt.value = item.getAttribute("value");
					NewOpt.text = item.firstChild.nodeValue;
					
					//Popolo la seconda SELECT
					try{
						subSelection.add(NewOpt, null); //Metodo Standard, non funziona con IE
					}catch(e){
						subSelection.add(NewOpt); // Funziona solo con IE
					}
				}
			}
			
	function populateSubSelection2(){
				//Creo un nuovo oggetto XMLHTTPRequest
				var req = newXMLHttpRequest();
				
				//Invio la richiesta
				req.open("POST", "elautori2.php", true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				//Gestore dell'evoluzione dello stato dell'oggetto req
				req.send("choice=pippo");
				req.onreadystatechange = handleResponse(req, updateSubSelection2);
			}
			
function updateSubSelection2(XMLResult){
				//Gestisco il documento XML ricevuto e popolo la seconda SELECT
				var categoria = XMLResult.getElementsByTagName('autore');
				
				//Recupero la seconda SELECT
				var subSelection = document.getElementById("edn_select");
				
				//Svuoto la secondo SELECT
				for (var i = subSelection.length - 1; i >= 0; i--)
					subSelection.remove(i);
				
				//Scorro gli elementi
				for (var i = 0; i < categoria.length; i++){
					//Recupero i vari elementi singoli
					var item = categoria[i];

					//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
					var NewOpt = document.createElement('option');
					NewOpt.value = item.getAttribute("value");
					NewOpt.text = item.firstChild.nodeValue;
					
					//Popolo la seconda SELECT
					try{
						subSelection.add(NewOpt, null); //Metodo Standard, non funziona con IE
					}catch(e){
						subSelection.add(NewOpt); // Funziona solo con IE
					}
				}
			}
			
			function blocca() {
			var ldci = document.getElementById("ldci");
			var body = document.getElementById("body");
			ldci.onfocus = function(){
				body.focus();
				ldci.blur();
				
			}
			}


