var http = createRequestObject();
var objectIds = Array();
var reqInUse = false;

function createRequestObject(){
    var obj;
    var browser = navigator.appName;
    
    if(browser == "Microsoft Internet Explorer"){
        obj = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
        obj = new XMLHttpRequest();
    }
    return obj;    
}

function registerTargetObject(oid,oname){
    objectIds[oid]=oname;
}

function sendReq(serverFileName,oid, variableNames, variableValues) {
    var paramString = '';
    if (reqInUse) return;
    reqInUse=true;
    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 == 0) {
           http.open('get', serverFileName+'?respoid='+oid);
    }
    else {
        http.open('get', serverFileName+'?respoid='+oid+'&'+paramString);
    }
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    
    if(http.readyState == 4){
        reqInUse=false;
        responseId = parseInt(http.responseText.substr(0,5));
        responseText = http.responseText.substr(5);
        document.getElementById(objectIds[responseId]).innerHTML = responseText;
    }
}
