
function trim(s) {

   // Quita espacios en blanco iniciales y finales de una cadena	
   
   var i=0;
   var v=s;
  
   while (s.charAt(i)==" " && i<s.length)  {
         v = s.substring(i+1,s.length);
         i++; 
   }

   if (v=="") return "";

   s = v;

   i=s.length-1;

   while (i>0 && s.charAt(i)==" ") {
         v = s.substring(0,i);  
         i--; 
   }

   return v;
}


function iniciarEventos() {

  elem = document.getElementById("buscar");
  agregarEvento(elem,"click",validar);

  var lista= document.getElementsByTagName("a");
  var elem = null;
  var id="";
  
  for (var i=0 ; i<lista.length; i++) {
    
     elem = lista[i];
     id = elem.getAttribute("id");
   
     if (id!=null && id.substring(0,2)=="tr") {
         agregarEvento(elem,"click",enviar);
     }

  }

  elem = document.getElementById("texto");
  agregarEvento(elem,"keydown",enviarTexto);

  elem = document.getElementById("mostrar");
  agregarEvento(elem,"click",enviar); 


}

function enviarTexto(evt) {


if (window.event)  {
    var tecla=window.event.keyCode;
} else {
      var tecla=evt.which;
}

if (tecla==13) { validar(); }



}


function agregarTexto() {

  var lista = document.getElementsByTagName("td");

  for (var i=0; i<lista.length;i++) {
 
   elem = lista[i];

   var cual = elem.getAttribute("class");
   if (cual == null) cual = elem.getAttribute("className");

   if (cual == "clave") { 
      elem.setAttribute("title","Haga click para ver la obras del autor");
   } else if (cual=="ver") {
      elem.setAttribute("title","Selecciona el autor");
   }
      
  }


}

function validar() {

  var aviso = "No hay ninguna expresión de búsqueda definida";
  var idioma = frm.idioma.value; 
  
  if (idioma=="en") {
  	  aviso = "There is no search expression defined";
  }	  

  // Valida que se haya ingresado algún valor al formulario de búsqueda

  elem = document.getElementById("texto");
  var texto = trim(elem.value);
  
  if (texto == "") {
      alert(aviso); 
      elem.value="";
      elem.focus();
      return false;
  } else {
      frm.action = "temas.php";
      frm.desde.value=texto;
      frm.submit();
  }	 
}

function verLetra(letra) {
  // despliega el diccionario a partir de la letra "letra"
  
  frm.desde.value = letra;
  frm.submit();
  

}

function limpiarCarrito() {

    cnn = crearCnn();
    cnn.onreadystatechange= function () { };
    cnn.open("GET","lista.php?que=limpiar",true);   
    cnn.send(null);

}


function enviar(evt) {

    // valida la selección de registros del usuario, recorre las
	// casillas de selección y en el caso de estar chequedas agrega
	// los valores a la búsqueda usando un OR++
    var expresion="";
	

   if (window.event) {
      elem = window.event.srcElement; 
   } else {
      elem = evt.target;
   }

   var cual = elem.parentNode.getAttribute("class");
   if (cual == null) cual = elem.parentNode.getAttribute("className");

   if (cual == "clave") { 
      var valor = elem.innerHTML;
      expresion = "DE:" + valor;
   }
	
   var lista = document.getElementsByTagName('input');

   for(var i=0; i < lista.length; i++) {

       var elem = lista[i];

       var cual = elem.getAttribute("class");
       if (cual == null) cual = elem.getAttribute("className");
      
 
       if (cual=="sel") { 
                   
 			
          if (elem.checked) {

              var id = elem.getAttribute("id");
              id = id.substring(1);              

              var valor = document.getElementById("tr"+id).innerHTML;
                  
	       if (expresion=="") {
		  expresion =  "DE:" + valor;
	       } else {
 	          expresion +=  ";OP:OR;DE:" + valor;
	       }
          }				    
       }

   }
   
   if (expresion=="") alert("No ha seleccionado ningún autor");
   else {	
      // invoca al formulario de búsqueda 
      limpiarCarrito();

      frm.action="buscar.php";
      frm.expresion.value= expresion+";TP:T";
      frm.submit();
      return true;	  
   }
}

function agregarEvento(elemento,evento,funcion) {

if (elemento.addEventListener) {
    elemento.addEventListener(evento,funcion,false);
} else {
    elemento.attachEvent("on"+evento,funcion);
}

}

function crearCnn() {
  var doc = null;

  if (window.ActiveXObject) {
       doc = new ActiveXObject("Microsoft.XMLHTTP");
       return doc;
  } else if (window.XMLHttpRequest) {
       doc = new XMLHttpRequest();
       return doc; 
  } else return doc;

}


