var http_request; 

function makeRequest(url,action,additionalParam) { 

   http_request=false; 

   if (window.XMLHttpRequest) { 
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
       }
   } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
       }   catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
           }
   } 
   
   if (!http_request) {
        alert('Cannot create an XMLHTTP instance');
        return false;
    } else {
        if(!additionalParam) additionalParam='';
        else additionalParam="'"+additionalParam+"'";
        
        http_request.onreadystatechange = 
                new Function(action+'('+additionalParam+');');
        http_request.open('GET',url, true);
        http_request.send(null);
    }

}

function getResponse(type) {
   
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
           if (type=='xml') {
              return http_request.responseXML;
           } else {
              return http_request.responseText;
           }
        } else {
            alert('getResponse:: There was a problem with the request. Status:'+ http_request.status);
            return false;
        }
    } else {
        return false;
    }
}
            function changeSelect(selectId) {
                var selObj = document.getElementById(selectId);
                var xmldoc=getResponse('xml');
                
                if (!xmldoc) return false;
                
                var opts = xmldoc.getElementsByTagName('options')[0];
                if (!opts) {
                    selObj.length=0;
                    selObj[0]=new Option('--eroare--','-1');
                    alert('Fisierul XML rezultat contine erori (nu este corect formatat / contine caractere nepermise)');
                    return false;
                }
                var elems = opts.getElementsByTagName('option');
                
                selObj.length=0;
                var val=-1;
                var txt='error';
                var opt;
                for(i=0;i<elems.length;i++) {
                    val=elems[i].getAttribute("value");
                    txt=elems[i].getAttribute("text");
                    selObj[i]=new Option(txt,val);
                }
             }

