Buenas...

Necesito ayuda, este código funciona correctamente en FireFox 2.0+ pero en IE 6 ni siquiera hace el ajax...

Si ven algo malo que yo desconozca les agradezco me lo hagan saber ya me duelen los ojos de tanto revisar el código...

Si solo fuera a funcionar en FireFox no me importara nada pero lo necesito multiplataforma...

Gracias de antemano

Código :

function ajax(url, id_contenedor)
{
   var pagina_requerida;
   try
   {
      pagina_requerida= new XMLHttpRequest();
   }catch(e){
      try
      {
         pagina_requerida= new ActiveXObject("Msxml2.XMLHTTP");
      }catch(e){
         try
         {
            pagina_requerida= new ActiveXObject("Microsoft.XMLHTTP");
         }catch(e){
            alert("Su explorador no Soporta esta tecnología");
            return false;
         }
      }
   }
   pagina_requerida.onreadystatechange = function()
   {
      cargarpagina(pagina_requerida, id_contenedor);
   }
      pagina_requerida.open('GET', url, true);
      pagina_requerida.send(null);
   
}



function cargarpagina(pagina_requerida, id_contenedor)
{
   if (pagina_requerida.readyState == 1)
   {
      cargador.style.display = 'block';
   }
   if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
   {
      document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
      cargador.style.display = 'none';
   }
}

function login(form)
{
   ok = false;
   if(form.usuario.value =="")
   {
      alert("Debe Ingresar un Usuario");
      form.usuario.focus();
      ok = true;
      return;
   }
   if(form.usuario.value != "")
   {
      if(form.usuario.value == "administrador")
      {
         ok = true;
         ajax('index_administrador.html','index');
      }
      if(form.usuario.value == "lider")
      {
         ok = true;
         ajax('index_lider.html','index');
      }
      if(form.usuario.value == "analista")
      {
         ok = true;
         ajax('index_analista','index');
      }
   }
   if(ok ==false)
   {
      alert("Usuario no existe");
      form.usuario.focus();
      return;
   }
   
}
function Validar_iniciar(form)
{
   var ok=true;
   if (form.solped.value == "")
   {
      alert("Debe ingresar el número de solicitud de pedido");form.precontrato.focus();
      ok=false;
      return;
   }
   if (form.desp.value == "")
   {
      alert("Debe ingresar la descripción del proceso");form.desp.focus();
      ok=false;
      return;
   }
   if (form.org_ctte.selectedIndex == 0)
   {
      alert("Debe Seleccionar la organización contratante");form.org_ctte.focus();
      ok=false;
      return;
   }
   if(ok == true)
   {
   var solped = form.solped.value;
   var desp = form.desp.value;
   var org_ctte = form.org_ctte.value;
   var query_str="?solped="+solped+"&desp="+desp+"&org_ctte="+org_ctte;
   ajax('confirmar_registro_php.php'+query_str,'contenidos')
   }
}
function Validar_avanze(form){
   ok=true;
   if(form.solped.value==""){
      alert("Debe ingresar el número de solicitud de pedido");form.solped.focus();
      ok=false;
      return;
   }
   if(ok==true){
      var solped = form.solped.value;
      var query_str = "?solped="+solped;
      ajax('avanze_php.php'+query_str,'resultados')
   }
}

function Validar_asignar(form,solped){
   
   if ((form.analista_selec.selectedIndex!=0)&(form.analista_input.checked == true))
   {
      alert("Debe seleccionar un solo analista");
      form.analista_input.focus();
      ok=false;
      return;
   }

   if ((form.analista_selec.selectedIndex==0)&(form.analista_input.checked == false))
   {
      alert("Debe seleccionar un analista");
      form.analista_input.focus();
      ok=false;
      return;
   }

   if ((form.analista_selec.selectedIndex!=0)&(form.analista_input.checked == false))
   {
      var analista = form.analista_selec.value;
      ok=true;
   }
   if ((form.analista_selec.selectedIndex==0)&(form.analista_input.checked == true))
   {
      var analista = form.analista_input.value;
      ok=true;
   }
   if (ok==true)
   {
      var query_str = "?analista="+analista+"&solped="+solped;
      ajax('confirmar.php'+query_str,'contenidos');
   }
}
function validar_avance_historial(form){
   ok=true;
   if(form.solped.value==""){
      alert("Debe ingresar el número de solicitud de pedido");
      form.solped.focus();
      ok=false;
      return;
   }
   if(ok==true){
      var solped = form.solped.value;
      var query_str = "?solped="+solped;
      ajax('avance_historial.php'+query_str,'resultados');
   }
}

function validar_avance_historial_2(form){
   ok=true;
   if(form.precontrato.value==""){
      alert("Debe ingresar el número de precontrato");
      form.precontrato.focus();
      ok=false;
      return;
   }
   if(ok==true){
      var precontrato = form.precontrato.value;
      var query_str = "?precontrato="+precontrato;
      ajax('avance_historial_2.php'+query_str,'resultados');
   }
}

function Validar_iniciar_analista(form,solped)
{
   ok = true;
   if (form.precontrato.value == "")
   {
      ok=false;
      alert("Debe ingresar el número de precontrato");
      form.precontrato.focus();
      return;
   }
   if (form.tipo.selectedIndex == 0)
   {
      ok=false;
      alert("Debe seleccionar el tipo de proceso");
      form.tipo_proceso.focus();
      return;
   }
   if (form.rango_contrato.selectedIndex == 0)
   {
      ok=false;
      alert("Debe seleccionar el rango de contratación");
      return;
   }
   if (ok==true)
   {
      var precontrato = form.precontrato.value;
      var tipo_proceso =  form.tipo.value;
      var rango_contrato = form.rango_contrato.value;
      var query_str = "?solped="+solped+"&precontrato="+precontrato+"&tipo_proceso="+tipo_proceso+"&rango_contrato="+rango_contrato;
      ajax('confirmar_1.php'+query_str,'contenidos');
   }
}
function cancelar_proceso(precontrato)
{
   if (confirm("Seguro desea cancelar el proceso "+precontrato))
   {
      qry = "?precontrato="+precontrato;
      ajax('confirmar_2_cancelar.php'+qry,'contenidos');
   }
}

function avanzar_proceso(precontrato,form)
{
   if(confirm("Seguro desea avanzar al proceso "+precontrato))
   {
      var observaciones = form.observaciones.value;
      qry = "?precontrato="+precontrato+"&observaciones="+observaciones;
      ajax('confirmar_2_avanzar.php'+qry,'contenidos');
   }
}

function insertar_observaciones(precontrato,form)
{
   if(form.observaciones.value=="")
   {
      alert("Debe escribir un comentario");
      form.observaciones.focus();
      return;
   }
   if(form.observaciones.value!="")
   {
      var obser = form.observaciones.value;
      qry = "?obser="+obser+"&precontrato="+precontrato;
      ajax('confirmar_3.php'+qry,'contenidos');
   }
}
function validar_avance_historial_3(form){
   ok=true;
   if(form.precontrato.value==""){
      alert("Debe ingresar el número de precontrato");
      form.precontrato.focus();
      ok=false;
      return;
   }
   if(ok==true){
      var precontrato = form.precontrato.value;
      var query_str = "?precontrato="+precontrato;
      ajax('avance_historial_3.php'+query_str,'resultados');
   }
}

function analista(form)
{
   ok=true;
   if(form.indicador.value=="")
   {
      alert("Debe Ingresar el indicador del nuevo analista");
      form.indicador.focus();
      ok=false;
      return;
   }
   if(form.nombre.value=="")
   {
      alert("Debe Ingresar el nombre del nuevo analista");
      form.nombre.focus();
      ok=false;
      return;
   }
   if(ok==true)
   {
      var indicador = form.indicador.value;
      var nombre = form.nombre.value;
      qry = "?indicador="+indicador+"&nombre="+nombre;
      ajax('confirmar_analista.php'+qry,'contenidos');
   }
}


PD. Si conocén algún compilador que me muestre los errores de JavaScript les agradeceria.