var agt = navigator.userAgent.toLowerCase();
var is_ie5 = (agt.indexOf('msie 5') != -1);

function CreateXmlHttpReq(handler)
{
  var xmlhttp = null;
  try
  {
	xmlhttp = new XMLHttpRequest();
	try
	{ xmlhttp.overrideMimeType('text/xml'); }
	catch(e)
	{ xmlhttp.onreadystatechange = handler; }
    
	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 AXGetData(url, handler)
{
 var a = new Array('placeholder');
 var objxmlhttp;
 
 for (var j=2; j<arguments.length; j++)
 {
	a[a.length] = arguments[j];
	if(document.getElementById(arguments[j]))
	{
		if(document.getElementById(arguments[j]).nodeName.toLowerCase() == 'div')
			document.getElementById(arguments[j]).innerHTML = '<center><IMG src="/images/loading.gif" border=0 vspace=20></center>';
	}
 }

 var myhandler = function() {
	var content = AXRequestOk(objxmlhttp);
	if (content != false)
	{
		a[0] = content;
		try
		{ return handler.apply(this, a); }			
		catch(e)
		{ return myDummyApply(handler, a); }
	}
 }
 
 url += (url.indexOf("?") == -1) ? '?' : '&';
 qstring = url.substring(url.indexOf("?")+1 , url.length);
 url = url.substring(0, url.indexOf("?")) +'?rand='+ escape(Math.random());	
  
 objxmlhttp = CreateXmlHttpReq(myhandler);
 objxmlhttp.open("POST", url, true);
 objxmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 objxmlhttp.send(qstring); 
}

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(objxmlhttp)
{
 if (objxmlhttp.readyState == 4 && objxmlhttp.status == 200)
	return objxmlhttp.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.')
 }
}

function AXResponseStep(text){    
	if(document.getElementById(arguments[1])){
		document.getElementById(arguments[1]).innerHTML = text;
		AXNextStep(arguments[1],arguments[2]);
	}else
		alert('Dati non reindirizzati correttamente.') 
}
function AXResponsePopup(text){    
	if(document.getElementById(arguments[1])){
		document.getElementById(arguments[1]).innerHTML = text;
		AX_setPopupPos(arguments[1]);
	}else
		alert('Dati non reindirizzati correttamente.') 
}

function AX_getToPost(file,div,func,form,field,extra){
	var strParam = '';
	var strValue = '';
	for(i=0; i<nf.elements.length; i++){
		var addValue = true;
		if(nf.elements[i].type=='radio'||nf.elements[i].type=='checkbox')
			if(nf.elements[i].checked==false) addValue = false;
		if(addValue){
			strValue = escape(nf.elements[i].value);
			strValue = strValue.replace(/\+/g,'%2B');
			strParam += nf.elements[i].name +'='+ strValue +'&';
		}
	}
	if(func==null) func = AXResponse;
	if(func==AXObjForm)
		AXGetData(file+'?'+strParam, AXObjForm, form, field, 1, extra);
	else
		AXGetData(file+'?'+strParam, func, div);
	return false;
}

function AXObjForm(text, nameform, objform, initelementselect, extra){
	obj = document.forms[nameform].elements[objform];
	if(obj){
		if(obj.type.indexOf('select')>-1){
			arrSelect = text.split("||");
			arrValue = arrSelect[0].split("|");
			arrText = arrSelect[1].split("|");
			arrSel = arrSelect[2].split("|");
			objformlen = obj.options.length;
			for(j=initelementselect; j<objformlen; j++)
				obj.options[0] = null;
			objformlen = obj.options.length;
			for(j=0; j<objformlen; j++)
				obj.options[0] = null;
			for(i=0; i<arrValue.length; i++){
				obj.options[obj.options.length] = new Option(arrText[i], arrValue[i]);        
				if(arrSel[i]=='selected')
					obj.options[i].selected = true;
			}
		}else if(obj.type.indexOf('text')>-1||obj.type.indexOf('hidden')>-1){
			if(text=='-') text = '';
			obj.value = text;
		}else if(obj.type.indexOf('checkbox')>-1){
			obj.checked = text;
		}
		if(extra=='optional'||extra=='stock'||extra=='des_est'||extra=='del_est'||extra=='delete'){
			AXNextStep(nameform,objform,extra);
		}
	}else if(document.forms[nameform].elements[objform+'_1']&&document.forms[nameform].elements[objform+'_2']&&document.forms[nameform].elements[objform+'_3']){
		if(text.indexOf("/")>-1) arrValue = text.split("/"); else arrValue = new Array('','','');
		for(i=1;i<=3;i++)
			document.forms[nameform].elements[objform+'_'+i].value = arrValue[i-1];
	}
	objPRS.display = 'none';
	objPRI.display = 'none';
}

