// JavaScript Document


/*
Creazione dell'oggetto XMLHTTPREQUEST AJAX
*/

function getXMLHTTPRequest() {
		var req=false;
		try{
			req=new XMLHttpRequest();
			}
			catch(err1){
				try
				{
					req=new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(err2){
					try{
						req=new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch(err3){
						req=false;
					}}}
					return req;

	}

/*
Richiesta GET
*/
function requestGET(url, query, req){
		var myRand=parseInt(Math.random()*99999999);
		req.open("GET",url+'?'+query+'&rand='+myRand,true);
		req.send(null);
}


/*
Richiesta POST
*/
function requestPOST(url, query, req){
		req.open("POST",url,true);
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		req.send(query);
}

/*
Funzione di callback della funzione doAjax
*/
function doCallBack(callback,nice){
		eval(callback+'(nice)');
}

function doAjax(url,query,callback,reqtype,getxml,id) {
		var XHR=getXMLHTTPRequest();
		XHR.onreadystatechange = function (){
				if (XHR.readyState == 4){
						if (XHR.status==200){
							var response=XHR.responseText;
							document.getElementById(id).innerHTML=response;
							
							if (getxml==1)
							response=XHR.responseXML;
								//doCallBack(callback,response);
							}
						}else{// readyState == 4
								// waiting Message
							}
						
						}// onreadystatechange
						
						// tipo ri richiesta GET/POST
						if (reqtype=='post')
							requestPOST(url,query,XHR);
						else
							requestGET(url,query,XHR);
}// doAjax
