var agt = navigator.userAgent.toLowerCase();
var is_ie5 = (agt.indexOf('msie 5') != -1);
var objRequestXmlHttp = null;

function CreateXmlHttpReq(handler)
{
  var xmlhttp = null;
  try
  {
	xmlhttp = new XMLHttpRequest();
	try
	{
		xmlhttp.overrideMimeType('text/xml');
	}
	catch(e)
	{
		 xmlhttp.onreadystatechange  = myhandler
	}
    
	xmlhttp.onload = handler;
    xmlhttp.onerror = handler;
  }
  catch(e)
  {
	var control = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
	xmlhttp = new ActiveXObject(control);
	xmlhttp.onreadystatechange = handler;
  }
  
  return xmlhttp;
}


function DummyHandler()
{
    return true;
}


function AXGetData(async, url, handler)
{
 var a = new Array('placeholder');

 for (var j=3; j<arguments.length; j++)
 {
	a[a.length] = arguments[j];
	document.getElementById(arguments[j]).innerHTML = '<IMG src="/images/loading2.gif" border=0 vspace=10 align=center>';	
 }

 var myhandler = function() {
	var content = AXRequestOk();
	if (content != false)
	{
		a[0] = content;
		try
		{
			return handler.apply(this, a);
		}			
		catch(e)
		{
			return myDummyApply(handler, a);
		}
	}
 }

 url += (url.indexOf("?") == -1) ? '?' : '&';
 url += 'rand='+ escape(Math.random());	

 objRequestXmlHttp = CreateXmlHttpReq(myhandler);
 objRequestXmlHttp.open("GET", url, async);
 objRequestXmlHttp.send(null);
 
}

function myDummyApply(funcname, args)
{
 var e = "funcname(";
 for (var i = 0; i < args.length; i++)
 {
	e += "args["+i+"]";
	if (i+1 != args.length)
		e += ",";
 }

 e += ");"
 return eval(e);
}

function AXRequestOk()
{
 if (objRequestXmlHttp.readyState == 4 && objRequestXmlHttp.status == 200)
	return objRequestXmlHttp.responseText;    
 else
	return false;
  
}


function AXResponse(text)
{	
 for(j=1; j<arguments.length; j++)
 {
	if(document.getElementById(arguments[j]))
 		document.getElementById(arguments[j]).innerHTML = text;
 	else
 		alert('Dati non reindirizzati correttamente.')
 }
}