/*
Ajax AutoSuggest
===========
This file contains the functions which will do the autosuggest on client end
@version: 1.0
@author:  Waseem Khan
@blog:    http://blog.pakcoders.com
*/

var ajaxObj = getAjaxObject();

function autoSuggest(id)
{
   var searchInput = getElemId(id).value;
   
   var url = "../home/ajax/autosuggest.php";
   var params = "input=" + searchInput;
   
   if (trim(searchInput) !== "")
   {
	  sendRequest(ajaxObj, url, params, handleSuggestResponse);
   }
   else
   {
	  hideSuggestions();   
   }
}

function handleSuggestResponse()
{
   if (ajaxObj.readyState == 4)
   {
      if (ajaxObj.status == 200)
      {
		  try
		  {
			  var XMLResponse = ajaxObj.responseXML.documentElement;
			  // work with the xml response
			  var keywordsTag = XMLResponse.getElementsByTagName('keywords');
			  var tituloTag = XMLResponse.getElementsByTagName('titulo');
			  var categoriaTag = XMLResponse.getElementsByTagName('categoria');
			  var subcategoriaTag = XMLResponse.getElementsByTagName('subcategoria');
			  var nombreTag = XMLResponse.getElementsByTagName('nombre');
			  var tabTag = XMLResponse.getElementsByTagName('tab');
			  
			  var suggestions = new Array();
			  var titulos = new Array();
			  var categorias = new Array();
			  var subcategorias = new Array();
			  var nombres = new Array();
			  var tabs = new Array();
			  
			  for (var i = 0; i < keywordsTag.length; i++) {
				 var keywords = keywordsTag.item(i).firstChild.data.toString(); suggestions.push(keywords);
				 var titulo = tituloTag.item(i).firstChild.data.toString(); titulos.push(titulo);
				 var categoria = categoriaTag.item(i).firstChild.data.toString(); categorias.push(categoria);
				 var subcategoria = subcategoriaTag.item(i).firstChild.data.toString(); subcategorias.push(subcategoria);
				 var nombre = nombreTag.item(i).firstChild.data.toString(); nombres.push(nombre);
				 var tab = tabTag.item(i).firstChild.data.toString(); tabs.push(tab);
			  }
			  showSuggestions(suggestions,titulos,categorias,subcategorias,nombres,tabs);
		  }
		  catch(e)
		  {
			  hideSuggestions();
			  if (trim(ajaxObj.responseText) !== "")
			  alert(ajaxObj.responseText);  
		  }
	  }
   }
}

function showSuggestions(suggestions,titulos,categorias,subcategorias,nombres,tabs)
{
   var listWrapID = getElemId("listWrap");
   listWrapID.style.visibility = "visible";
   
   var listID = getElemId("searchList");
   listID.innerHTML = "";
   
   for(var i = 0; i < suggestions.length; i++)
   {
     listID.innerHTML += "<li><a href=\"../" + categorias[i] + "/" + subcategorias[i] + "/" + nombres[i] + ".html" + "\" class=\"highslide\" onclick=\"return hs.htmlExpand(this, { objectType: 'iframe', width: 834 , height: 544 } );\" onclick=\"insertKeyword('" + titulos[i] + "'); \">"+ "<table><tr><td valign=\"top\" width=\"45\"><img src=\"../" + categorias[i] + "/" + subcategorias[i] + "/" + nombres[i] + "/Tiny.jpg\" alt=\"\" height=\"40px\" align=\"left\" /></td><td>" + titulos[i] + "<br/><img src=\"../home/images/reff_" + tabs[i] + ".png\" alt=\"\" width=\"74\" height=\"18\"/></td></tr></table></a></li>";      
   }   
}


function hideSuggestions()
{
   var listWrapID = getElemId("listWrap");
   listWrapID.style.visibility = "hidden";

   if (getElemId("input").value !== "") {
   		var listWrapID = getElemId("listWrap");
   		listWrapID.style.visibility = "visible";
   		
   		var listID = getElemId("searchList");
  		listID.innerHTML = "";
   		
   		listID.innerHTML += "<li><a onclick=\"CleanKeyword();\"><table><tr><td>&iexcl;No se encontraron resultados para su consulta!</td></tr></table></a></li>";
   }
}

function insertKeyword(str)
{
	getElemId("input").value = str;
	hideSuggestions();
}

function CleanKeyword()
{
	getElemId("input").value = "";
	hideSuggestions();
}
