function hs(nome,modo) {
	var o=document.getElementById(nome)
	if (o) {
		o.style.display=modo
	}
}

function mypush(valore) {
	this[this.length]=valore
	showAsync(this.length)
}

function mypop() {
	if (this.length>0) {
		var ret=this[0]
		var vTmp=new Array()
		for (var i=1;i<this.length;i++) {vTmp.mypush(this[i])}
		this.length--
		for (var i=0;i<vTmp.length;i++) {this[i]=vTmp[i]}
		showAsync(this.length)
		return ret
	} else {
		return null
	} 
}
function showAsync(n) {
	var o=document.getElementById("myasync")
	if (o) {
		var s=""
		for(i=0;i<n;i++) {s+="."}
		o.innerHTML=s	
	}
}
Array.prototype.mypush=mypush
Array.prototype.mypop=mypop

var vAsync=new Array()



function msg_async(callback, url,data,info) {
	var isXML=false
	var isIE=false
	
	isXML=(window.XMLHttpRequest?true:false)
	isIE=(window.ActiveXObject?true:false)
	if (isIE) {
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP")
			isIE=(req?true:false)
		} catch (e) {
       		isIE = false;
		}
	}
	if (isIE) {isXML=true}
//isXML=false
	if (isXML) {
		if (vAsync.length==0) {
			if (isIE) {
				var Req = new ActiveXObject("Microsoft.XMLHTTP");
			} else {
			    var Req = new XMLHttpRequest();
			}
    
			Req.onreadystatechange = mycallback;
		    Req.open("POST", url, true);
			Req.setRequestHeader('Accept','jsxfalcosoft')
/*			Req.setRequestHeader('Content-Type','charset=utf-8')*/

			Req.setRequestHeader('Content-Type','charset=iso-8859-1')
			Req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    		Req.send(data);
		} else {
			vAsync.mypush(new Array(callback,url,data,info))
		}
	} else {
		document.location=url+"?"+data
	}
    
	function mycallback() {
        if (Req.readyState != 4) return;
        if (Req.status == 200) {
			//alert(Req.responseText)
			callback(true, Req.responseXML,url,info)
        } else {
			callback(false, Req.status + ": " + Req.statusText,"",info)
		}
		if(vAsync.length!=0) {
			var vCall=vAsync.mypop()
			msg_async(vCall[0],vCall[1],vCall[2],vCall[3])
		}
    }
}

