// JavaScript Document
function objetus() {
         try {
                 objetus = new ActiveXObject("Msxml2.XMLHTTP");
        } catch ( e) {
                 try {
                         objetus= new ActiveXObject ("Microsoft.XMLHTTP");
                 } catch (E) {
                          objetus= false;
                }
        }
        if (! objetus && typeof XMLHttpRequest!= 'undefined') {
                 objetus = new XMLHttpRequest();
        }
        return objetus
}
_objetus=new objetus() 
function algoGet()
{
    //crear objeto
	var id = document.getElementById('tipo').value;
    _values_send="idtipo="+id //variables
    _URL_="tipos.php?" //URL
    _objetus.open("GET",_URL_+"&"+_values_send,true); //abrir procesador
    _objetus.onreadystatechange=function() { //funcion controlador
        if (_objetus.readyState==4) //control de estados del proceso
        {
                 //si se da un status 200 (TERMINADO CON EXITO)
                  if(_objetus.status==200)
            {
                         document.getElementById("subtipo").innerHTML = _objetus.responseText;                         
                         }
        }
    }
    _objetus.send(null); //envío nulo de variables
}

function algoPost()
{
    _objetus=objetus() //crear objeto
    _values_send="variable=valor&otrovar=otvalor" //variables
    _URL_="algo.php?" //URL
    _objetus.open("POST",_URL_,true); //abrir procesador
    _objetus.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); //cabeceras POST
    _objetus.send('&'+_values_send); //enviar variables
    _objetus.onreadystatechange=function() { //funcion controlador
        if (_objetus.readyState==4) //control de estados del proceso
        {
                 //si se da un status 200 (TERMINADO CON EXITO)
                  if(_objetus.status==200)
            {
                         //procesos que se realizaran con los datos obtenidos                         
                         }
        }
    }
}