function mkXMLObject() {
	var xmlRequest = "";
	if(window.XMLHttpRequest) {// Firefox 
    	xmlRequest = new XMLHttpRequest();
    	//alert("xml");
    } else if(window.ActiveXObject) { // Internet Explorer 
		xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
    	//alert("activx");
    }
	if ( xmlRequest == "" ) {
		//alert("No XMLHTTPREQUEST !!!!");
	}
	return xmlRequest;
}


/*-------------------------*\
|      Select feeder        |
\*-------------------------*/

function feedSelectWA(id, arr) {
	sel = document.getElementById(id);
	sel.length=arr.length;
	//alert(arr);
	var j=0;
	for ( var i in arr) {
		var dat = arr[i];
		if (typeof(dat) != "string") {
			continue;
		}
		var ppos = dat.indexOf("|");
		var rang = dat.substring(0,ppos);
		var txt = dat.substring(ppos+1,dat.length);
		sel.options[j] = new Option(txt);
		if ( arr[i] != 0 ) {
			sel.options[j].value = rang;
		}
		j++;
	}
	sel.length = j;
}

function feedSelect(id, urlArgs, callback) {
	//alert("feedSelect "+id);
	var xmlRequest = "";
	if(window.XMLHttpRequest) {// Firefox 
    	xmlRequest = new XMLHttpRequest();
    	//alert("xml");
    } else if(window.ActiveXObject) { // Internet Explorer 
		xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
    	//alert("activx");
    }
	//mkXMLObject();
	//xmlRequest.IDtoChange=id;
	xmlRequest.onreadystatechange = function() {
		//alert('Ready state changed to :'+xmlRequest.readyState+"\n"+"Status :"+xmlRequest.status);
		if ( xmlRequest.readyState == 4 ) {
			//alert(xmlRequest.responseText);
			var values = splitAndFilter(xmlRequest.responseText);
			values.unshift("|------------------");
			feedSelectWA(id,values);
			ena(id);
			if ( typeof(callback) == "function") {
				callback(id);
			}
		}
	}
	//var url="API.php?"+urlArgs.replace("&amp;","&");
	var myDate = new Date();
	if ( urlPrefix) {
		var url=urlPrefix+"API.php?"+urlArgs+"&dummy="+myDate.getTime();
	} else {
		var url="API.php?"+urlArgs+"&dummy="+myDate.getTime();
	}
	//alert("Call URL:"+url);
	xmlRequest.open('GET',url,1);
	xmlRequest.send(null);
	//alert("url : "+url+"\n async : 1\nState : "+xmlRequest.readyState);
}

function splitAndFilter(s) {
	var ar = s.split('\n')
	var a = new Array();
	for ( i in ar ) {
		if (typeof(ar[i]) != "string") {
			continue;
		}
		if ( ar[i] != "" ) {
			a.push(ar[i]);
		}
	}
	return a;
}

function flush(id) {
	var obj = document.getElementById(id);
	obj.length = 1;
	obj[0] = new Option("------------------");
	obj[0].value = "a";
}

function dis(id) {
	flush(id);
	var obj = document.getElementById(id);
	obj.disabled = true;
}

function ena(id) {
	document.getElementById(id).disabled = "";
}

