function createREQ(){
    try{
        req = new XMLHttpRequest();                                                   
    }catch(err1){
	try{
            req = new ActiveXObject("Msxm12.XMLHTTP");												
	}catch(err2) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP")												
            }catch(err3){
                req = false;
            }
        }
    }
    return req;
} 

function requestGET(url, query, req) {
    myRand = parseInt(Math.random()*999999999999999);
    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 doCallback(callback,item){
    eval(callback+'(item)')
}

function doAjax(url, query, callback, reqtype, getxml, divCargando){
    var myreq = createREQ();
    
    myreq.onreadystatechange = function(){
        if(myreq.readyState == 4){
            if(myreq.status == 200){
            	//document.getElementById(divCargando).innerHTML = '';
                var item = myreq.responseText;
                if(getxml == 1){
                    item = myreq.responseXML;
                }
                doCallback(callback, item);
            }
        }else{
        	//document.getElementById(divCargando).innerHTML = '<img src="siscalles/modulo_ubicaciones/images/loading.gif">';	    	
        }
    }
    if(reqtype=='post'){
        requestPOST(url,query,myreq);        
    }else{
        requestGET(url,query,myreq);
    }
}
