var http = createRequestObject();
var objectId = '';


function createRequestObject(htmlObjectId){
    var obj = null;
    //var browser = navigator.appName;
    
    objectId = htmlObjectId;
    
    //if(browser == "Microsoft Internet Explorer"){
	try {
         obj = new XMLHttpRequest();
   	} catch(e) {
        try {
        	obj = new ActiveXObject("Msxml2.XMLHTTP");
   	 	} catch(e) {
        	obj = new ActiveXObject("Microsoft.XMLHTTP");
    	}
    }

    return obj;
}

function sendReq(serverFileName, variableNames, variableValues, scriptRitorno) {
	var paramString = '';
	
	variableNames = variableNames.split(',');
	variableValues = variableValues.split(',');
	
	for(i=0; i<variableNames.length; i++) {
		paramString += variableNames[i]+'='+variableValues[i]+'&';
	}
	paramString = paramString.substring(0, (paramString.length-1));
	
	if (paramString.length < 2) {
		//alert(serverFileName+'?rand='+escape(Math.random())) ;
		http.open('get', serverFileName+'?rand='+escape(Math.random()) );
		//http.open('get', serverFileName);
	}
	else {
		http.open('get', serverFileName+'?'+paramString+'&rand='+escape(Math.random()));
		
	}
	
    http.onreadystatechange = handleResponse;
    http.send(null);
    if (scriptRitorno != null && scriptRitorno!=='') {
	    eval(scriptRitorno);
    }
}

function handleResponse() {
	
	if(http.readyState == 4){
		//responseText contiene la risposta
		responseText = http.responseText;
		
		//alert(responseText);

		//execJS esegue javascript contenuto in responseText e restituisce responseText senza javascript
		responseText = execJS(responseText);
		
		//alert(responseText);
		
        //finalmente metto responseText 'pulito' dento il div
		document.getElementById(objectId).innerHTML = responseText;
    }
}


//-----------------------------------------------------
//valuta il codice javascript e restituisce la stringa
//senza codice
//-----------------------------------------------------
function execJS(t)
{
    var p1 = 0, p2 = 0, p3 = 0, p4 = 0;
    p1 = t.indexOf("<" + "script", 0);
    if(p1 == -1) return t;
    
    p2 = t.indexOf(">", p1 + 7) + 1;
    p3 = t.indexOf("<" + "/script>", p2);
    p4 = p3 + 9;
    
    var c = t.substring(p2, p3);
    
  
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.text = c;
    document.getElementsByTagName("head")[0].appendChild(s);
    
    t = t.substring(0, p1) + t.substr(p4);
    
    return execJS(t);
}