function createHttpRequest(){
	if (typeof XMLHttpRequest != "undefined") {
		return new XMLHttpRequest();
	}else if (window.ActiveXObject) {
		var versions = [ "MSXML2.XMLHttp.5.0",
		"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
		"MSXML2.XMLHttp","Microsoft.XMLHttp"
		];

		for (var i = 0; i < versions.length; i++){
			try{
				var ret = new ActiveXObject(versions[i]);
				return ret;
			}catch (oException){
			}
		}
	}
	// Se arriva qui allora l’oggetto XMLHttpRequest non è disponibile per il browser in uso
	alert("Il browser in uso è obsoleto. Aggiornarlo con uno più recente");
}


function getNodevalue (parentElem, elem){
	return parentElem.getElementsByTagName(elem)[0].firstChild.nodeValue;
}



function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";
    if (prefix && isIE) {
        // IE/Windows way of handling namespaces
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {
        // the namespace versions of this method 
        // (getElementsByTagNameNS()) operate
        // differently in Safari and Mozilla, but both
        // return value with just local name, provided 
        // there aren't conflicts with non-namespace element
        // names
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        // get text, accounting for possible
        // whitespace (carriage return) text nodes 
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}





function Process_Gateway(){
	var prov = document.inserimento.provlavoro.value;
	var url = "comuni.asp?pr="+prov;
	var xhr = createHttpRequest();
	xhr.open("GET", url, true); 
	xhr.onreadystatechange=function(){
	 if(xhr.readyState==1){
		 document.getElementById("comunelavoro").style.display="none";
		 document.getElementById("xload").style.display="";
		 
	  //loadwindow(220,60)
	 }else if(xhr.readyState==4){
	  if(xhr.status==200){
	   //Unloadwindow();
	   //processResponse(xhr);
	   buildTopicList(xhr);
	   document.getElementById("xload").style.display="none";
	   document.getElementById("comunelavoro").style.display="";
	  }else if(xhr.status==404){
		//Unloadwindow();
	   //"pagina non esistente";
	  }else{
	//Unloadwindow();
	   //Errore generico "Errore: " + xhr.status; 
	  }
 	}
	}

xhr.send();

}
	
function processResponse(xhr){
	//controlla lo stato della risposta
	if(xhr.readyState == 4 && xhr.status == 200){
		var response = xhr.responseXML;
		var employees = response.getElementsByTagName('webgateway');
		var esito = getNodevalue(employees[0], 'esito');
		if (esito == 'ok' ){
			sendform=true;
		}else{
			var errdescription = getNodevalue(employees[0], 'error');
			alert(errdescription);
			sendform=false;
		}
	}
}

function clearTopicList() {
    var select = document.getElementById("comunelavoro");
    while (select.length > 0) {
        select.remove(0);
    }
	appendToSelect(select,'',document.createTextNode("(Scegli)"));
}

function appendToSelect(select, value, content) {
    var opt;
    opt = document.createElement("option");
    opt.value = value;
    opt.appendChild(content);
    select.appendChild(opt);
}

// fill Topics select list with items from
// the current XML document
function buildTopicList(xhr) {
	clearTopicList();
    var select = document.getElementById("comunelavoro");
    var items = xhr.responseXML.getElementsByTagName("comune");
    for (var i = 0; i < items.length; i++) {
	   appendToSelect(select, getElementTextNS("", "descrizione", items[i], 0),document.createTextNode(getElementTextNS("", "descrizione", items[i], 0)));
    }
	//document.createElement("option").style.display="";
}



