var xmlhttp=Array(10);
var actionObj=Array(10);

function getXmlHttp()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  return null;
  }
}

function clearElement(id){
	document.getElementById(id).innerHTML="";
}

function renderTextElement(objId,url,parms){
	poolFull=true;
	for(i=0;i<10;i++){
		if (xmlhttp[i]==null){ xmlhttp[i]=getXmlHttp(); poolFull=false; break; }
	}
	if(poolFull){ setTimeOut('renderTextElement(objId,url,parms)',100); return; }
	actionObj[i]=objId;
	if (xmlhttp[i]==null){
		document.getElementById(objId).innerHTML="Browser not supported, sorry";
		return;
	}
	xmlhttp[i].onreadystatechange=processRequest;
	xmlhttp[i].open("POST",url,true);
	xmlhttp[i].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp[i].setRequestHeader("Content-length", parms.length);
	xmlhttp[i].setRequestHeader("Connection", "close");
	xmlhttp[i].send(parms);
}

function processRequest(){
	for(j=0;j<10;j++){
		if(xmlhttp[j]==null){ continue; }
		if(xmlhttp[j].readyState==4){
			if(xmlhttp[j].status==200 || xmlhttp[j].status==302){ document.getElementById(actionObj[j]).innerHTML=xmlhttp[j].responseText; }
			else{ document.getElementById(actionObj[j]).innerHTML="Non-200 return code: "+xmlhttp[j].status; }
			xmlhttp[j]=null;
		} else { document.getElementById(actionObj[j]).innerHTML="<B>Loading...</B><BR>"; }
	}
}

function setText(id,text){
	document.getElementById(id).innerHTML=text;
}

function slidePosition(objid, newleft, newtop, speed){
	var obj=document.getElementById(objid);
	var posleft=parseInt(obj.style.left);
	var postop=parseInt(obj.style.top);

	if((newleft - posleft)<2) posleft = newleft;
	else posleft+=(newleft-posleft)*speed;
	if((newtop - postop)<2) postop = newtop;
	else postop+=(newtop-postop)*speed;
	setPosition(obj.id,posleft,postop);
	if(newtop!=postop && newleft!=posleft) setTimeout("slidePosition('" + obj.id + "', '" + newleft + "', '" + newtop + "')", speed);
}

function setPosition(objid,left,top){
	document.getElementById(objid).style.top=top;
	document.getElementById(objid).style.left=left;
}

function toggleVisible(id){
	vista = (document.getElementById(id).style.visibility == 'hidden') ? 'visible' : 'hidden';
	document.getElementById(id).style.visibility = vista;
}
