function crearRequest() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
     return req;
}

function requestGET(url, query, req) 
{
    myRand=parseInt(Math.random()*99999999);
    req.open("GET",url+'?'+query+'&rand='+myRand,true);
    req.send(null);
}

function requestPOST(url, query, req) 
{
    req.open("POST", url,true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    req.send(query);
}

function llamadaRecursiva(callback,item,parametros) 
{   

    //var a ="1";
    //var b ="selBrazo";
    //var p = "1, selBrazo";
    
    
    if(parametros != undefined)
    {
        var c = parametros.split("-");
        var cEval = '(item';
        
        var i;
        for(i=0;i<c.length;i++)
        {
            cEval= cEval + ', c['+i+']';
        }
        cEval = cEval+')';
        
        eval(callback + cEval);
    }
    else
    {
        eval(callback + '(item)');
    }
    //c = b.split("-");
    //cadena = param;
    //array2 = parametros.split("-");
    //alert(parametros);
    
    
    //eval(callback + '(item , array2[0], array2[1])');
    
}

function llamarAjax(url,query,callback,reqtype,getxml,parametros) 
{
    // crea la instancia del objeto XMLHTTPRequest 
    var myreq = crearRequest();

    myreq.onreadystatechange = function() 
    {
        if(myreq.readyState == 4) 
        {
            if(myreq.status == 200) 
            {
                var item = myreq.responseText;
                if(getxml==1) 
                {
                    item = myreq.responseXML;
                }
                llamadaRecursiva(callback, item, parametros);
            }
        }
    }
    if(reqtype=='post') 
    {
        requestPOST(url,query,myreq);
    }
    else 
    {
        requestGET(url,query,myreq);
    }
}



