  var ultimoAvisadorRespuestaId;

  function consultarScot(urlConsulta, inicioFragTxt, finalFragTxt,IdElementoRespuesta) {
  ultimoAvisadorRespuestaId = IdElementoRespuesta;
  /* inn */
  var http_o;
  var funcionRegistroHTTP = function() {
    if (http_o.readyState == 4) {
      if (http_o.status == 200) {
        var str = http_o.responseText;
            if(!document.getElementById(IdElementoRespuesta) && IdElementoRespuesta == "ventana") {
                
                ultimoAvisadorRespuestaId = "frameRespuesta";
 
                // Modo I
                /*
                try {
                  window.open(urlConsulta,"_blank","location=no,scrollbars=yes,menubar=yes,titlebar=yes,statusbar=no,resizable=yes").document
                } catch(e) { alert("Por favor, compruebe si está activo el bloqueador de elementos emergentes, de ser asi desactivelo para permitir aparecer la ventana de resultado. Gracias.");}
                */
                // Modo II
                with(window.open("about:blank","_blank","location=no,scrollbars=yes,menubar=yes,titlebar=yes,statusbar=no,resizable=yes").document) {
                  open();
                  /*
                  var tmpt = str;
                  tmpt = tmpt.replace(/Msxml2.XMLHTTP/gi,"");
                  tmpt = tmpt.replace(/Microsoft.XMLHTTP/gi,"");
                  tmpt = tmpt.replace(/XMLHttpRequest/gi,"");
                  tmpt = tmpt.replace(/createRequest/gi,"");
                  var indt = 0;
                  var fgrl = 2048;
                  while(indt<tmpt.length) {
                    write(tmpt.substring(indt,indt+fgrl));
                    indt += fgrl;
                  }
                  */
                  write(str);
                  close();
                }              
                alertDic("nueva ventana");
                reactivarBtn();
                return;
            }
            else {
              if(str.indexOf(inicioFragTxt) != -1 && str.indexOf(finalFragTxt,str.indexOf(inicioFragTxt)+inicioFragTxt.length) != -1) {
              str = str.substring(str.indexOf(inicioFragTxt)+inicioFragTxt.length,str.indexOf(finalFragTxt, str.indexOf(finalFragTxt,str.indexOf(inicioFragTxt)+inicioFragTxt.length)));
              if(document.getElementById(IdElementoRespuesta)) {
                document.getElementById(IdElementoRespuesta).innerHTML = "<"+"fieldset style='background: #ffe; padding:0 ; margin: 0;'><"+"legend>Consulta de traducción de " + document.getElementById('txtConsultaTerminoDiccionarios').value.substring(0,30) + ((document.getElementById('txtConsultaTerminoDiccionarios').value.length>30)?"...":"") + "</le"+"gend><"+"div style='padding:1em;'>"+ str +"</"+"div></"+"fieldset>"
;
              }
              else {
                with(window.open("about:blank").document) {
                  open();
                  write("<pre>"+str+"</pre>");
                  close();
                }
              }
            }
            else {
              alertDic("Fallo temporal en mecánica de fragmentacion. Realizando tareas de reparación.");
            }
          }
      }
      else {
        alertDic("Traductor no accesible momentáneamente por cuestiones de mantenimiento, disculpe la inconveniencia.");
      }
    }
  }
  /* eof inn*/

  http_o = crearRequestObj(funcionRegistroHTTP);
  if(http_o) {
    try {
      http_o.open("GET", urlConsulta,true);
      http_o.send(null);
    }
    catch(e) {alert("El texto es demasiado grande, por favor reduzcalo un poco o elimine los espacios que contiene");}
    // TODO::IJ, pasar a post para permitir consultas largas:
    //http_o.open("POST", urlConsulta,true);
    //client.send(parametros);
  }
  else {
    alertDic("Error de su navegador: no se puede instanciar objeto http");
  }
  reactivarBtn();
}

var depuracionDic = false;

function capturaDic(mensaje) {
  var msgelto = document.getElementById(ultimoAvisadorRespuestaId);

  if(msgelto) {
    switch(mensaje) {
      case "fallo fragmentacion!":
        msgelto.innerHTML = "<b>No se encuentra.</b> Posiblemente no se ha encontrado el término buscado, o bien es un fallo temporal del servicio, <a href='http://www.manuelagra.com/quienessomos.asp'>por favor contacte con nosotros si persiste el problema</a>.";
        break;
      case "nueva ventana":
        msgelto.innerHTML = "Los resultados aparecen en una nueva ventana";
        break;
      default:
        //msgelto.innerHTML = "<b>No accesible</b>";
        msgelto.innerHTML = "<b>" + mensaje + "</b>";
        break;
    }
  }
}

function alertDic(mensaje) {
  if(depuracionDic) {
    alert(mensaje);
  }
  else {
    if(typeof capturaDic == "function") {
      capturaDic(mensaje);
    }
  }
}
