var RANK	=	0;
var DESCR	=	1;
var PRICE	=	2;
var STOCK	=	3;
var CAT		=	4;

var PROV = 0;
var POBL = 1;
var DIRE = 2;
var TELE = 3;

var CATEGORIA_GLOBAL = 0;
var FECHAA = '00/00/0000';
var FECHA = '';
var alt = '';

var items_por_pag = 14;

var Database = new Array();
var array_pointer = 0;
var Categorias = new Array();
var cat_pointer = 0;
var Tiendas = new Array();
var tiendas_pointer = 0;

function disable(what){
what.disabled = !what.disabled;
}

function adjust_text(text, line_length) {
var guion = text.split('-');
	var guiones = guion.length;

	var space = text.split(' ');
	var spaces = space.length;

		if (spaces >= guiones) {var array = space;}
		else {var array = guion;}

	var result = new Array(2);
	var _name = '';
	var _descr = '';

	for (i=0; i < array.length; i++) {
		newlen = _name.length + array[i].length;
			if ( newlen <= line_length){
				_name+= array[i]+' ';
			} else {
				last = i;
				break;
			}
			last=i+1;
	}

	for (i=last; i < array.length; i++) {_descr+= array[i]+' ';}

	result[0]=_name;
	result[1]=_descr;

	return (result);
}

function ConvertRowsToLinks(xTableId){
var rows = document.getElementById(xTableId).getElementsByTagName("tr");

	for(i=0;i<rows.length;i++){
    var link = rows[i].getElementsByTagName("a");

		if(link.length == 1){
		  rows[i].onclick = new Function("document.location.href=\"" + link[0].href + "\"");

		  if (rows[i].className='tienda_text') {
		  rows[i].onmouseover = new Function("this.className='highlight'");
          rows[i].onmouseout = new Function("this.className='tienda_text'");
		  } else if (rows[i].className='tienda_text2') {
		  rows[i].onmouseover = new Function("this.className='highlight'");
          rows[i].onmouseout = new Function("this.className='tienda_text2'");
		  }


		 }
    }
}

function fmtMoney(n, c, d, t){
var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".",
        /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0;
    return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g,
        "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : "");
}

function Include(file, id){
var head = document.getElementsByTagName('head').item(0)
var scriptTag = document.getElementById('db'+id);
  if(scriptTag) {
	  head.removeChild(scriptTag);
	}
  script = document.createElement('script');
  script.src = file;
	script.type = 'text/javascript';
	script.id = 'db'+id;
	head.appendChild(script);
}

function Include_files(_cat) {
if ( _cat != 0 ) {
		for (var k = 0; k < document.browser.elements['where'].length ; k++) {
			if ( document.browser.elements['where'][k].checked ) {
				_cat = document.browser.elements['where'][k].value;
				break;
			}
		}
	}

	if (_cat == 0) {
		Database.length = 0;
		array_pointer = 0;
		try {
		//disable(document.forms['browser'].elements['query']);
		//disable(document.forms['browser'].elements['Submit']);
		document.forms['browser'].elements['query'].value='Espere por favor';
		} catch(err){}
		Include("db/db0.js", 0);
	} else if ( _cat != 0 ){
		Database.length = 0;
		array_pointer = 0;
		Include("db/db" + _cat + ".js", _cat);
	}
}

function Include_tiendas() {
Tiendas.length = 0;
tiendas_pointer = 0;
Include('db/tiendas.js', 'tiendas');
}

function include_db(_categoria) {
if (_categoria == 0) {
	Include_files(0);
	} else {
	Database.length = 0;
	array_pointer = 0;
	Include("db/db" + _categoria + ".js", _categoria);
	}
}

function addObject(Descripcion, Precio, Stock, Rank, Cat){
var newObject = new Array(5);
newObject[RANK]=Rank;
newObject[DESCR]=Descripcion;
newObject[PRICE]=Precio;
newObject[STOCK]=Stock;
newObject[CAT]=Cat;
Database[array_pointer++]=newObject;
}

function addCatego(id, name, keywords) {
var newCat = new Array(3);
newCat[0]=id;
newCat[1]=name;
newCat[2]=keywords;
Categorias[cat_pointer++]=newCat;
}

function addTienda(_id, _prov, _pobl, _dire, _tele) {
var newTienda = new Array(4);
newTienda[PROV]=_prov;
newTienda[POBL]=_pobl;
newTienda[DIRE]=_dire;
newTienda[TELE]=_tele;
Tiendas[tiendas_pointer++]=newTienda;
}

function SortRank(a,b) {
if (a[RANK]<b[RANK]) return -1;
  if (a[RANK]>b[RANK]) return 1;
  return 0;
}

function SortPrice(a,b){
if (a[PRICE]<b[PRICE]) return -1;
  if (a[PRICE]>b[PRICE]) return 1;
  return 0;
}
function SortCat(a,b){
if (a[1]>b[1]) return -1;
  if (a[1]<b[1]) return 1;
  return 0;
}

function setOrdenPage(orden, page, auto) {
if (auto == true)   return autosearch('results', page, orden);
	else 			return doSearch('browser','results','query','min','max', page, orden);
}

function GetURL(name) {
name = name.replace(/[\\\|\\/\:\*\?\<\>\t\ ]/g, '-');

	name = name.toLowerCase();
	return(name);

}

function doClear(theText) {
if (theText.value == theText.defaultValue) {
			 theText.value = "";
	}
}

function del_from(array, indice) {

	for(var i=indice; i < array.length; i++) {
		array[i] = array[i+1];
	}
	array.length = array.length - 1;

	return array;
}

function nombre_categoria(id){
for(i=0; i < Categorias.length; i++) {
		if (id == Categorias[i][0]) {
		name = Categorias[i][1];
		break;
		}
	}
	return name;
}

function MakeCatStr(donde, catid) {
var result = "";
var esta_cat = document.getElementById('busca_categoria_actual');
var toda_cat = document.getElementById('busca_todas');
var tiendas = document.getElementById('busca_tiendas');

var esta = 0;
var i = 0;

		if (catid == 0) {
		var ti_check='checked';
		var ca_check='';
		} else {
		var ti_check='';
		var ca_check='checked';
		}

		toda_cat.innerHTML='&nbsp;&nbsp;&nbsp;<label><input name="where" type="radio" value="0" onclick="include_db(0);">En todos los Artículos</label>';
		tiendas.innerHTML='&nbsp;&nbsp;&nbsp;<label><input name="where" type="radio" value="tienda" onClick="Include_tiendas();" '+ti_check+'>Busca tu tienda APP</label>';

		for (i=0; i<Categorias.length; i++) {
		if ( Categorias[i][0] == catid) {esta = 1; break };
		}

		if ( esta == 1) {
		esta_cat.innerHTML='&nbsp;&nbsp;&nbsp;<label><input name="where" type="radio" value="'+ Categorias[i][0] +'" '+ca_check+' onclick="include_db('+ CATEGORIA_GLOBAL +');">En ' + Categorias[i][1] + '</label>';
		}

}

function FormatTable(_precio, _descripcion, _stock, _rank, _catego, _catego_id){
var str_result = "";
var img = "";
var url = "";

url_cat = _catego.replace(/ /g, "-").toLowerCase();

img = url_cat+'-'+GetURL(_descripcion) +".jpg";
url = url_cat+'-'+GetURL(_descripcion) +".php";


url_cat+= '.htm';

_precio = fmtMoney(_precio, 2, ",", '.');

_array_new_name= adjust_text(_descripcion, 25);

_name = _array_new_name[0];
_descripcion = _array_new_name[1];

str_result+='<table width="350" border="0" cellpadding="0" cellspacing="0">';
str_result+='        <tr>';
str_result+='          <td width="13" height="21">&nbsp;</td>';
str_result+='          <td colspan="7">&nbsp;</td>';
str_result+='        </tr>';
str_result+='      <tr>';
str_result+='        <td height="19"></td>';
str_result+='          <td width="9"></td>';
str_result+='          <td width="113"></td>';
str_result+='          <td width="69" align="center" valign="middle" class="precio">'+ _precio +'</td>';
str_result+='          <td width="10">&nbsp;</td>';
str_result+='          <td colspan="2" rowspan="5" align="center" valign="middle"><a href="'+ url +'" target="_blank"><img src="'+ img +'" width="107" height="87" border="0" /></a></td>';
str_result+='          <td width="17" rowspan="5">&nbsp;</td>';
str_result+='      </tr>';
str_result+='      <tr>';
str_result+='        <td height="17"></td>';
str_result+='        <td colspan="2" valign="top" class="letra-pequena">Stock: '+ _stock +'</td>';
str_result+='        <td colspan="2"></td>';
str_result+='        </tr>';
str_result+='      <tr>';
str_result+='        <td height="16" colspan="4"></td>';
str_result+='        <td></td>';
str_result+='        </tr>';
str_result+='      <tr>';
str_result+='        <td height="24"></td>';
str_result+='        <td></td>';
str_result+='        <td colspan="2" valign="top" class="tit-desc">';
str_result+='		 <a href="'+ url +'" target="_blank">';
str_result+='			<span class="desc-ficha"><font color="#000000">';
str_result+='			'+ _name.toUpperCase() +'<br>';
str_result+='           '+ _descripcion.toUpperCase() +'</font></span></a></td>';
str_result+='        <td></td>';
str_result+='        </tr>';
str_result+='      <tr>';
str_result+='        <td height="18"></td>';
str_result+='        <td colspan="3" align="center" valign="middle"><a href="'+ url_cat +'"><span class="Categoria_ficha"><font color="#044745">'+ _catego +'</font></span></a></td>';
str_result+='        <td></td>';
str_result+='        </tr>';
str_result+='      <tr>';
str_result+='        <td height="19"></td>';
str_result+='          <td colspan="2" valign="bottom"><a href="'+ url +'" target="_blank"><span class="letra-pequena">+info</span></a></td>';
str_result+='          <td colspan="5"><table width="100%" border="0" cellpadding="0" cellspacing="0">';
str_result+='            <tr>';
str_result+='              <td width="10%">&nbsp;</td>';
if (_catego_id != 0) {
str_result+='              <td width="34%" align="right" class="letra-pequena">Top Grupo: '+_rank+'</td>';
} else {
str_result+='              <td width="50%" align="right" class="letra-pequena">Ranking APP: '+_rank+'</td>';
}
str_result+='              <td width="56%">&nbsp;</td>';
str_result+='            </tr>';
str_result+='          </table></td>';
str_result+='        </tr>';
str_result+='    </table>';

return(str_result);
}

function FormatSpecial(_precio, _descripcion, _stock, _rank, _cat){
var result = '';
url_cat = _cat.replace(/ /g, "-").toLowerCase();

var img = url_cat+'-'+GetURL(_descripcion) +".jpg";
var url = url_cat+'-'+GetURL(_descripcion) +".php";

url_cat+= '.htm';

_precio = fmtMoney(_precio, 2, ",", '.');

var _array_new_name= adjust_text(_descripcion, 25);

_name = _array_new_name[0];
_descripcion = _array_new_name[1];

result+='<table width="235" border="0" cellpadding="0" cellspacing="0" >';
result+='            <tr>';
result+='              <td width="24" height="20">&nbsp;</td>';
result+='              <td width="36">&nbsp;</td>';
result+='              <td width="15">&nbsp;</td>';
result+='              <td width="13">&nbsp;</td>';
result+='              <td width="16">&nbsp;</td>';
result+='              <td width="114">&nbsp;</td>';
result+='              <td width="17">&nbsp;</td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="27">&nbsp;</td>';
result+='              <td align="center" valign="middle" class="letra-pequena">Stock:<br>';
result+='                '+ _stock +'</td>';
result+='              <td>&nbsp;</td>';
result+='              <td align="center" valign="top" class="TOP">'+ _rank +'</td>';
result+='              <td>&nbsp;</td>';
result+='              <td rowspan="3" align="center" valign="top"><a href="'+ url +'" target="_blank"><img src="'+ img +'" width="107" height="87" border="0"></a></td>';
result+='              <td>&nbsp;</td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="19">&nbsp;</td>';
result+='              <td colspan="3" align="center" valign="bottom" class="precio">'+ _precio +'</td>';
result+='              <td>&nbsp;</td>';
result+='              <td>&nbsp;</td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="47">&nbsp;</td>';
result+='              <td valign="bottom"><a href="'+ url +'" target="_blank"><span class="letra-pequena">+info</span></a></td>';
result+='              <td>&nbsp;</td>';
result+='              <td>&nbsp;</td>';
result+='              <td>&nbsp;</td>';
result+='              <td>&nbsp;</td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="5"></td>';
result+='              <td height="5" colspan="5" valign="top"></td>';
result+='              <td></td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="22"></td>';
result+='              <td colspan="5" valign="top" class="desc-ficha"><a href="'+ url +'" target="_blank"><span class="desc-ficha"><font color="#000000">'+ _name.toUpperCase() +'<br>';
result+='                '+ _descripcion.toUpperCase() +'</font></span></a></td>';
result+='              <td></td>';
result+='            </tr>';
result+='            <tr>';
result+='              <td height="24"></td>';
result+='              <td>&nbsp;</td>';
result+='              <td></td>';
result+='              <td></td>';
result+='              <td></td>';
result+='              <td colspan="2" valign="top"><table width="95%" height="16" border="0" align="left" cellpadding="0" cellspacing="0">';
result+='                  <tr>';
result+='                    <td align="right" valign="top"><a href="'+ url_cat +'"><span class="Categoria_ficha"><font color="#044745">'+ _cat +'</font></span></a> </td>';
result+='                  </tr>';
result+='              </table></td>';
result+='            </tr>';
result+='        </table>';

return(result);
}

function Paginado(paginas, page, order, lugar, auto) {
var str = "";
var parche = 0;
parche = page-1;

		switch(lugar) {
		case "encabezado": str="<td width=\"25%\" align=\"right\" bgcolor=\"#188C89\" class=\"td_orden\" valign=\"middle\" height=\"30\">"; break;
		case "pie_pagina": str="<td bgcolor=\"#188C89\" colspan=\"2\"  height=\"30\"><table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td width=\"80%\"><span class=\"fecha\"><strong>&nbsp;PVP IVA INCLUIDO</strong>- Actualizado "+FECHA+" - Precios Orientativos - Confirmar en tu tienda APP</span></td><td align=\"right\" bgcolor=\"#188C89\" class=\"td_orden\" valign=\"middle\">";  break;
		}

   		if (page > 1) {str+='<a href="#" onclick="return setOrdenPage('+order+', '+ parche +', '+auto+')\">&lt;&nbsp;&lt;&nbsp;</a>';}

		parche = page+1;

		str+="Pág. <strong>"+page+"</strong> de "+paginas;

		if (page != paginas) {str+="&nbsp;<a href=\"#\" onclick=\"return setOrdenPage("+order+", "+parche+", "+auto+")\">&gt;&nbsp;&gt;</a>";}

		switch(lugar) {
		case "encabezado": str+="&nbsp;&nbsp;</td>"; break;
		case "pie_pagina": str+="&nbsp;&nbsp;</td></tr></table><br><br><br><br><br><br><br></td>"; break;
		}

		return(str);
}

function busca_tienda(query, layer) {
var Cerca = new Array();
var ctas = 0;
var esta = false;
var html = '';
var color = '';
var url = '';

	//aviso que estoy buscando
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">Buscando...<br>Espere por favor</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";

	if (query.indexOf('"') != -1 )	{ query_array = query.split('"'); }
	else							{ query_array = query.split(' '); }

	for (var i=0; i < Tiendas.length; i++) {

			for (var z=0; z < query_array.length; z++) {
			//si no esta la keyword  -> nota y break
			esta=false;

				if ( ( (Tiendas[i][PROV].toUpperCase().indexOf(query_array[z]) != -1) || (Tiendas[i][POBL].toUpperCase().indexOf(query_array[z]) != -1) || (Tiendas[i][DIRE].toUpperCase().indexOf(query_array[z]) != -1) ) && (query_array[z] != '') ) {
				esta = true;
				break;
				}//if

			}//for

			if (esta == true) {
				Cerca[ctas]=Tiendas[i];
				ctas++;
			}//if
	}//for

	if (ctas < 1) {
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results_MSG\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">Busqueda Sin Resultados =(</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";
	return false;
	}

	html='<table width="300" border="0" cellspacing="0" cellpadding="0">';
	html+='  <tr> ';
	html+='    <td height="98" align="left" valign="top" background="imf/fondo-tienda.jpg">';
	html+='';
	html+='';
	html+='';
	html+='	<table width="100%" border="0" cellspacing="0" cellpadding="0">';
	html+='        <tr> ';
	html+='			<td height="81" colspan="4">';
	html+='			  <DIV class="tienda_sombra_a" align="left"><br><span class="tienda_sombra_a1">TIENDAS APP INFORM&Aacute;TICA</span></DIV>';
	html+='			  <DIV class="tienda_sombra_b" align="left">TIENDAS <span class="tienda_sombra_a2">APP INFORM&Aacute;TICA</span></DIV>';
	html+='			</td>';
	html+='        </tr>';
	html+='';
	html+='        <tr align="center" valign="middle"> ';
	html+='          <td width="29%" height="16" class="tiendas_cabecera">P O B L A C I O N</td>';
	html+='          <td width="13%" class="tiendas_cabecera">T E L &Eacute; F O N O</td>';
	html+='          <td width="41%" class="tiendas_cabecera">D I R E C C I &Oacute; N</td>';
	html+='          <td width="17%" class="tiendas_cabecera">P R O V I N C I A</td>';
	html+='        </tr>';
	html+='      </table>';
	html+='';
	html+='';
	html+='';
	html+='	  </td>';
	html+='  </tr>';
	html+='  <tr> ';
	html+='    <td align="left" valign="top" background="imf/fondo-tabla.gif">';
	html+='	';
	html+='	';
	html+='	<table width="714" border="0" align="center" cellpadding="0" cellspacing="0">';


		for (var i = 0; i < Cerca.length;i++) {

		var pro, pob = "";

		pro = Cerca[i][PROV].toLowerCase().replace(/ /g, '-');
		pob = Cerca[i][POBL].toLowerCase().replace(/ /g, '-');
		pro = pro.toLowerCase().replace(/'/g, '-');
		pob = pob.toLowerCase().replace(/'/g, '-');
		pro = pro.replace(/ñ/g, "n");
		pob = pob.replace(/ñ/g, "n");

		url = 'tienda-de-informatica-'+pro+'-'+pob+'.php';

			if (Cerca[i][TELE] == '') {

			html+='<tr valign="middle" onMouseOver="this.className=\'highlight\';" onMouseOut="this.className = \'\';" onclick="document.location.href=\'franquicias-de-informatica.php\'"> ';
			html+='  <td height="24" align="right"><strong><a href="franquicias-de-informatica.php" class="a44">'+Cerca[i][POBL].toUpperCase()+'</a></strong></td>';
			html+='  <td align="right">&nbsp;</td>';
			html+='  <td height="24" align="center"><strong>--- --- ---</strong></td>';
			html+='  <td height="24" align="left" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><a href="franquicias-de-informatica.php" class="a44"><font color="#FFE14F">&iexcl;&iexcl;&iexcl;</font> ';
			html+='	PROXIMA APERTURA <font color="#FFE14F">!!!</font></a></strong></td>';
			html+='  <td height="24" align="center" ><strong><a href="franquicias-de-informatica.php" class="a44">'+Cerca[i][PROV].toUpperCase()+'</a></strong></td>';
			html+='</tr>';

			} else {

				html+='		<tr valign="middle" onMouseOver="this.className=\'highlight\';" onMouseOut="this.className = \'\';" onclick="document.location.href=\''+url+'\'">';
				html+='          <td width="196" height="24" align="right"><strong><a href="'+url+'" class="a44">'+Cerca[i][POBL].toUpperCase()+'</a></strong></td>';
				html+='          <td width="15" align="right">&nbsp;</td>';
				html+='          <td width="91" height="24" align="center"><strong><a href="'+url+'" class="a44">'+Cerca[i][TELE].toUpperCase()+'</a></strong></td>';
				html+='          <td width="299" height="24" align="left"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'+url+'" class="a44">'+Cerca[i][DIRE].toUpperCase()+'</a></strong></td>';
				html+='		  <td width="113" height="24" align="center" ><strong><a href="'+url+'" class="a44">'+Cerca[i][PROV].toUpperCase()+'</a></strong></td>';
				html+='		</tr>';
			}
		}

		html+='</td></tr></table><table width="714" height="100%" border="0" cellpadding="0" cellspacing="0"><tr>';
		html+='<td valign="top" bgcolor="#26B1AB"><img src="imf/fondo-busqueda.jpg" width="714" height="76"></td>';
		html+='</tr></table>';

	if (ctas > 0) {
	layer.innerHTML=html;
	//ConvertRowsToLinks("convert");
	}
return false;
}

Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return true;
	}
	return false;
}

function doSearch(FormName, LayerName, FieldName, Min, Max, page, order){
//VAR
var query 		= document.forms[FormName].elements[FieldName].value.toUpperCase();
var layer 		= document.getElementById(LayerName);
var min_price 	= document.forms[FormName].elements[Min].value;
var max_price 	= document.forms[FormName].elements[Max].value;
var query_array = new Array();
var Resultados = new Array();
var result_i = 0;
var nota = false;
var res = 0;
var categoria_a_buscar = 0;
var str_temp = "";
var z = 0;

min_price = min_price.toString();
min_price = min_price.replace(",", '.');
max_price = max_price.toString();
max_price = max_price.replace(",", '.');

//BEGIN
layer.innerHTML = "";

	//averiguo que categoria voy a buscar
		for (var k = 0; k < document.forms[FormName].elements['where'].length ; k++) {
			if ( document.forms[FormName].elements['where'][k].checked ) {
				categoria_a_buscar = document.forms[FormName].elements['where'][k].value;
				break;
			}
		}


	if (categoria_a_buscar == 'tienda') {
		return busca_tienda(query, layer);
	}

	//checkeo que la busqueda sea valida
	if (query.length < 1) {
	return autosearch('results', 1, 0);
	}

	//aviso que estoy buscando
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results_MSG\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">Buscando...<br>Espere por favor</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";
	/*//{nueva seccion de busqueda
	if ( ( categoria_a_buscar == 0 ) && ( query.indexOf('"') == -1 ) ) {

		var q_palabras = query.split(' ').length;
		var palabras = query.split(' ');
		var _CatFound = new Array();
		var words2delete = new Array();
		var _break = false;

		for( var x = q_palabras; x >= 0; x--  ) {
		var	cadena = '';

			for(t = 0; t < x; t++) {
			cadena+= palabras[t];
				if (t+1 != x){
				cadena+=" ";
				}
			}
			for(var y = 0; y < Categorias.length; y++) {

					if (Categorias[y][2] != '') {
						var _cat_keyword_array = Categorias[y][2].toUpperCase().split(";");
						for (var z = 0; z < _cat_keyword_array.length; z++) {
								if (cadena == _cat_keyword_array[z]) {
									_CatFound[_CatFound.length++] = Categorias[y][0];
									if ( words2delete.in_array(cadena) == false ) {
									words2delete[words2delete.length++] = cadena;
									}
									_break = true;
									break;
								}
						}//z
					}

			}//y
			if (_break) { break;}

		}//x

		for (var a = 0; a < words2delete.length; a++) {
			var reg_exp = new RegExp(words2delete[a]+" ?", "i");
			query = query.replace(reg_exp, "");
		}

	}*/

	var _tmp = new Array();
	if (query.match(/"([^"]*)"/g)) {
	 _tmp = query.match(/"([^"]*)"/g);
		for (q = 0; q < _tmp.length; q++) {
			var myregexp = new RegExp(_tmp[q], "gi");
			query = query.replace(myregexp, "");
			_tmp[q] = _tmp[q].replace(/"/g, "");
		}
	}

	new_query = query.split(" ");


	for (w=0; w < new_query.length; w++) {_tmp[_tmp.length++] = new_query[w];}
	var _2tmp = new Array();
	for (w=0; w < _tmp.length; w++) {if (_tmp[w] != '') {_2tmp[_2tmp.length++] = _tmp[w];}}
	query_array = _2tmp;

	for ( var i=0; i < Database.length; i++ ) {
		nota = false;
		//veo si estan todas las keywords

		tmp_articulo = nombre_categoria(Database[i][CAT]).toUpperCase() + " " + Database[i][DESCR].toUpperCase();

			for (var z=0; z < query_array.length; z++) {
					//si no esta la keyword  -> nota y break
					if (
						(tmp_articulo.toUpperCase().indexOf(query_array[z]) == -1) &&
						(query_array[z] != '') ) {
						nota = true;
						break;
					}
			}
					if ( (nota == false) && (Database[i][PRICE] >= min_price) && (Database[i][PRICE] <= max_price) ) {

						if ( categoria_a_buscar == 0 ) {
							if ( ( Database[i][CAT] != 999 ) && (categoria_a_buscar != 998) ) {
								if (typeof(_CatFound/*[0]*/) != "undefined"){
									for (var yyz=0; yyz < _CatFound.length; yyz++) {
										if (_CatFound[yyz] == Database[i][CAT]){
											Resultados[result_i]=Database[i];
											result_i++;
											res++;
										}
									}
								} else {
								Resultados[result_i]=Database[i];
								result_i++;
								res++;
								}
							}
						} else if ( ( (categoria_a_buscar == 999) || (categoria_a_buscar == 998) ) && ( categoria_a_buscar != 0 ) ){
								Resultados[result_i]=Database[i];
								result_i++;
								res++;
						} else {
							if ( Database[i][CAT] == categoria_a_buscar ) {
								Resultados[result_i]=Database[i];
								result_i++;
								res++;
							}//if
						}//else
					}//if nota=false
		}//for i

	//Ordeno los resultados
 	if ( order == 0 ) {
 	Resultados.sort(SortRank);
 	} else if ( order == 1) {
 	Resultados.sort(SortPrice);
 	}

	//empiezo con la muestra de resultados
	str_temp="<table width=\"714\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";	//cabecera tabla

	//digo la cantidad de resultados
	str_temp+="<tr>";
    str_temp+= "<td width=\"35%\" bgcolor=\"#188C89\" class=\"result\">&nbsp;&nbsp;Resultados: "+res+" productos</td>";

	//doy opciones para odrenar
	switch(order) {
	case 0:	str_temp+= "<td width=\"45%\" align=\"center\" bgcolor=\"#188C89\" class=\"td_orden\"><a href=\"#\" onclick=\"return setOrdenPage(1, "+page+")\">Ordenar por Precio</a> <span class=\"pa\">/</span> <span class=\"activo\">Ordenar por Mas Vendidos </span></td>"; break;
	case 1: str_temp+= "<td width=\"45%\" align=\"center\" bgcolor=\"#188C89\" class=\"td_orden\"> <span class=\"activo\"> Ordenar por Precio</span> <span class=\"pa\">/</span> <a href=\"#\" onclick=\"return setOrdenPage(0, "+page+")\">Ordenar por Mas Vendidos</a></td>"; break;
	}

	//Calculo el paginado
  	if ( res > items_por_pag ) {
    var cant_paginas = Math.ceil(res / items_por_pag);
   	str_temp+=Paginado(cant_paginas, page, order, "encabezado");
    }

	//cierro la fila de encabezado y paginado
	str_temp+="</tr></table>";

	//empiezo la tabla de los articulos
	str_temp+="<table width=\"714\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"images/fondo-abajo.jpg\"><tr>";

	//empiezo a mostrar los articulos
	var i 	= (page - 1) * items_por_pag;
	var fin = i + items_por_pag;

	while ( (i < fin) && (Resultados.length != i) ) {

		str_temp+="<td width=\"356\" height=\"141\" valign=\"top\">";
		str_temp+=FormatTable(Resultados[i][PRICE], Resultados[i][DESCR], Resultados[i][STOCK], Resultados[i][RANK], nombre_categoria(Resultados[i][CAT]), categoria_a_buscar);
		str_temp+="</td>";
		i++;
		z=i;
		if ( (i % 2 == 0) && (i != fin) ) { str_temp+="</tr><tr>"; }

	} //end while

	//si I quedo impar signigica q queda una celda en blanco
	if ( (z % 2 != 0) ) {
	str_temp+="<td width=\"356\" height=\"141\" valign=\"top\" bgcolor=\"#188C89\"></td>";
	}

	//muestro el paginado al pie de pagina
	if ( res > items_por_pag ) {
	str_temp+="</tr><tr>";
	str_temp+=Paginado(cant_paginas, page, order, "pie_pagina");
	}

	str_temp+="</tr></table>"; //cierre tabla de resultados

 	if(res > 0){
	layer.innerHTML=str_temp;
 	} else {
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results_MSG\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">Lo sentimos... Busqueda sin resultados =(</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";
 	}

return false;
} //end dosearch

function autosearch(LayerName, page, order){
//VAR
var layer = document.getElementById(LayerName);
var Resultados = new Array();
var min_price 	= document.forms['browser'].elements['min'].value;
var max_price 	= document.forms['browser'].elements['max'].value;
var result_i = 0;
var res = 0;
var str_temp = "";
var auto = true;
var cat_name = "";
var FECHAA = FECHA;
var categoria_a_buscar =0;


min_price = min_price.toString();
min_price = min_price.replace(",", '.');
max_price = max_price.toString();
max_price = max_price.replace(",", '.');

//BEGIN
layer.innerHTML = "";

	for (var k = 0; k < document.forms['browser'].elements['where'].length ; k++) {
		if ( document.forms['browser'].elements['where'][k].checked ) {
				categoria_a_buscar = document.forms['browser'].elements['where'][k].value;
				break;
		}
	}


	for ( var i=0; i < Database.length; i++ ) {

		if ( (Database[i][PRICE] >= min_price) && (Database[i][PRICE] <= max_price) ) {
			if ( categoria_a_buscar == 0 ) {
				Resultados[result_i++]=Database[i];
				res++;
			} else if ((categoria_a_buscar == 999) || (categoria_a_buscar == 998)) {
				Resultados[result_i++]=Database[i];
				res++;
			} else if ( Database[i][CAT] == categoria_a_buscar ) {
				Resultados[result_i++]=Database[i];
				res++;
			}//else

		}//if precio
	}
	//Ordeno los resultados
 	if ( order == 0 ) {
 	Resultados.sort(SortRank);
 	} else if ( order == 1) {
 	Resultados.sort(SortPrice);
 	}

	if (categoria_a_buscar != 0) {
		for (x=0; x<Categorias.length; x++) {

			if (Categorias[x][0] == CATEGORIA_GLOBAL) { cat_name = Categorias[x][1]; break; }

		}
	} else { cat_name =  'Todos los articulos';}

	//aviso que estoy buscando
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results_MSG\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">Buscando...<br>Espere por favor :D</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";

	//empiezo con la muestra de resultados
	str_temp="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" valign=\"top\">";	//cabecera tabla

	//Muesto en que categoria se esta realizando la autobusqueda
	str_temp+="<tr>";
    str_temp+= "<td width=\"35%\" bgcolor=\"#188C89\" class=\"result\">&nbsp;&nbsp;" + cat_name + "</td>";

	//doy opciones para odrenar
	switch(order) {
	case 0:	str_temp+= "<td width=\"45%\" align=\"center\" bgcolor=\"#188C89\" class=\"td_orden\"><a href=\"#\" onclick=\"return setOrdenPage(1, "+page+", "+auto+")\">Ordenar por Precio</a> <span class=\"pa\">/</span> <span class=\"activo\">Ordenar por Mas Vendidos </span></td>"; break;
	case 1: str_temp+= "<td width=\"45%\" align=\"center\" bgcolor=\"#188C89\" class=\"td_orden\"> <span class=\"activo\"> Ordenar por Precio</span> <span class=\"pa\">/</span> <a href=\"#\" onclick=\"return setOrdenPage(0, "+page+",  "+auto+")\">Ordenar por Mas Vendidos</a></td>"; break;
	}

	//Calculo el paginado
  	if ( res > items_por_pag ) {
    var cant_paginas = Math.ceil(res / items_por_pag);
   	str_temp+=Paginado(cant_paginas, page, order, "encabezado", auto);
    }

	//cierro la fila de encabezado y paginado
	str_temp+="</tr></table>";

	//empiezo la tabla de los articulos
	str_temp+="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#188C89\"><tr>";

	//empiezo a mostrar los articulos
	var i 	= 0;
	var fin = 0;

	switch(page) {
	case 1: fin = 15; i = 0; break;
	default: i = (page - 1) * items_por_pag + 1; fin = i + items_por_pag; break;
	}

	if ( (page != 1) || (order != 0)) {
		i = (page - 1) * items_por_pag;
		fin = i + items_por_pag;
			while ( (i < fin) && (Resultados.length != i) ) {
				str_temp+='<td width="50%" height="141" valign="top" background="images/fondo-abajo.jpg">';
				str_temp+=FormatTable(Resultados[i][PRICE], Resultados[i][DESCR], Resultados[i][STOCK], Resultados[i][RANK], nombre_categoria(Resultados[i][CAT]), categoria_a_buscar);
				str_temp+="</td>";
				i++;
				if (( i % 2 == 0 ) && (i != fin)) { str_temp+="</tr><tr>"; }

			} //end while

	} else {

		str_temp+='<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0" align="left" background="images/arriba_2.jpg"><tr>';

		while ( (i < fin) && (Resultados.length != i) ) {
			if ( i < 3 ) {
				str_temp+='<td width="235" height="166" valign="top" background="images/arriba_2.jpg">';
				str_temp+=FormatSpecial(Resultados[i][PRICE], Resultados[i][DESCR], Resultados[i][STOCK], Resultados[i][RANK], nombre_categoria(Resultados[i][CAT]));
				str_temp+='</td>';
				i++;
				if ( i == 3 ) { str_temp+="</tr></table></td></tr><tr>"; }
			} else {
			str_temp+='<td width="355" height="141" valign="top" background="images/fondo-abajo.jpg">';
			str_temp+=FormatTable(Resultados[i][PRICE], Resultados[i][DESCR], Resultados[i][STOCK], Resultados[i][RANK], nombre_categoria(Resultados[i][CAT]), categoria_a_buscar);
			str_temp+='</td>';
			i++;
			if (  (i % 2 != 0) && (i < fin) ) { str_temp+="</tr><tr>"; }
			}//if
		}//while

		if(i < 3) {
			for(var i=i; i<3; i++){
					str_temp+='<td width="235" height="166" valign="top" background="imf/fondo-degrade-grande.jpg"></td>';
			}
		}

	}

	//si I quedo impar signigica q queda una celda en blanco

	switch(page) {
	case 1:
		if (( i % 2 == 0 ) && (order == 0)) {str_temp+='<td width="356" height="141" valign="top" bgcolor="#188C89" background="imf/fondo-degrade.jpg"></td>';}
		else if(( i % 2 != 0 ) && (order != 0)) {str_temp+='<td width="356" height="141" valign="top" bgcolor="#188C89" background="imf/fondo-degrade.jpg"></td>';}



		break;
	default:
		if ( i % 2 != 0 ) {
		str_temp+='<td width="356" height="141" valign="top" bgcolor="#188C89" background="imf/fondo-degrade.jpg"></td>';
		}
		break;
	}

	//muestro el paginado al pie de pagina
	if ( res > items_por_pag ) {
	str_temp+="</tr><tr>";
	str_temp+=Paginado(cant_paginas, page, order, "pie_pagina", auto);
	//document.test.tmp.value = Paginado(cant_paginas, page, order, "pie_pagina", auto);
	}

	str_temp+="</tr></table>"; //cierre tabla de resultados

 	if(Resultados.length > 0){
	layer.innerHTML=str_temp;
 	} else {
	layer.innerHTML="<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"Results_MSG\"><tr><td align=\"center\">&nbsp;</td></tr><tr><td align=\"center\">B&uacute;squeda sin resultados =(</td></tr><tr><td align=\"center\">&nbsp;</td></tr></table>";
 	}

return false;
} //end autosearch

function LoadFicha(Resultado) {

	var _precio = '';
	var _descripcion = '';
	var _stock = '';
	var _rank = '';

	var price_div = document.getElementById('price_load');
	var name_div = document.getElementById('name_load');
	var desc_div = document.getElementById('desc_load');
	var stock_div = document.getElementById('stock_load');
	var top_div = document.getElementById('top_load');

	_precio = Resultado[PRICE];
	_descripcion = Resultado[DESCR];
	_stock = Resultado[STOCK];
	_rank = Resultado[RANK];


	tmpasd = adjust_text(_descripcion, 25);

	_name = tmpasd[0];
	_descripcion = tmpasd[1];

	var file_new_name = _descripcion.replace(/[\\\|\\/\:\*\?\<\>\t\ ]/g, '-');

	price_div.innerHTML=fmtMoney(_precio, 2, ",", '.');
	name_div.innerHTML=_name;
	desc_div.innerHTML=_descripcion;
	stock_div.innerHTML='<font color="#0F4F4C">Stock: </font>'+_stock;
	top_div.innerHTML='TOP '+_rank;

}

function ShowBrowser(Layer, tipo) {
var browser = '';
var lay = document.getElementById(Layer);

browser+='<FORM action="javascript:;" method="post" name="browser" id="browser" onsubmit="return doSearch(\'browser\',\'results\',\'query\',\'min\',\'max\', 1, 0, false);">';
browser+='<table width="713" border="0" cellspacing="0" cellpadding="0">';
browser+='  <tr>';
browser+='    <td>';
browser+='  <table width="713" height="81" border="0" align="center" cellpadding="0" cellspacing="0" background="http://www.appinformatica.com/images/barra-buscador.jpg">';
browser+='    <tr>';
browser+='      <td width="190" height="81"><table width="100%" border="0" cellspacing="0" cellpadding="0">';
if (CATEGORIA_GLOBAL != 0) {
browser+='        <tr>';
browser+='          <td class="td_orden"><div id="busca_categoria_actual" align="left"/></td>';
browser+='        </tr>';
}
browser+='        <tr>';
browser+='          <td class="td_orden"><div id="busca_todas" align="left"/></td>';
browser+='        </tr>';
browser+='        <tr>';
browser+='          <td class="td_orden"><div id="busca_tiendas" align="left"/></td>';
browser+='        </tr>';
browser+='      </table></td>';
browser+='      <td colspan="3"><table width="100%" height="81" border="0" align="center" cellpadding="0" cellspacing="0">';
browser+='        <tr>';
browser+='          <td height="24">&nbsp;</td>';
browser+='          <td>&nbsp;</td>';
browser+='          <td>&nbsp;</td>';
browser+='        </tr>';
browser+='        <tr>';
browser+='          <td height="20">&nbsp;</td>';
browser+='          <td align="center" valign="top"><table border="0" align="center" cellpadding="0" cellspacing="0">';
browser+='              <tr>';
browser+='                <td align="center" valign="top"><input name="query" type="text" class="FieldSearch" id="query" size="26"></td>';
browser+='                <td width="28"><input name="ok" type="image" id="ok" src="images/ok.jpg"></td>';
browser+='              </tr>';
browser+='          </table></td>';
browser+='          <td>&nbsp;</td>';
browser+='        </tr>';
browser+='      </table></td>';
browser+='      <td width="200"><table width="100%" border="0" cellpadding="0" cellspacing="0">';
browser+='          <tr>';
browser+='            <td width="41%" align="right" class="td_orden">Desde:&nbsp;</td>';
browser+='            <td width="32%" align="right"><input name="min" class="Field" id="min" value="0,00" type="text"></td>';
browser+='            <td width="27%" class="td_orden">&nbsp;&euro;uros</td>';
browser+='          </tr>';
browser+='          <tr>';
browser+='            <td align="right"><p class="td_orden">Hasta:&nbsp;</p></td>';
browser+='            <td align="right"><input name="max" class="Field" id="max" value="9999,00" type="text"></td>';
browser+='            <td class="td_orden"> &nbsp;&euro;uros</td>';
browser+='          </tr>';
browser+='      </table></td>';
browser+='    </tr>';
browser+='  </table>';
browser+='</td>';
browser+='  </tr>';
browser+='  <tr>';
browser+='    <td height="2"><img src="separador.gif" height="2" width="100%"></td>';
browser+='  </tr>';
browser+='  ';
	if ( (tipo != 'ficha') && (tipo != 'tienda')) {
	browser+='	  <tr>';
	browser+='		<td valign="top"><div id="results" /></td>';
	browser+='	  </tr>';
	}

browser+='</table>';
browser+='</FORM>';

	lay.innerHTML=browser;

	MakeCatStr('categs', CATEGORIA_GLOBAL);

	if (tipo == 'ficha') {
	laya = document.getElementById('results');

	var _categoname = nombre_categoria(CATEGORIA_GLOBAL).replace(/ /g, "-").toUpperCase();

	var url = window.location.href;
	var qparts = url.split("/");
	var query = qparts[qparts.length-1].replace(/\.php/g, "").toUpperCase();

	var Resultado = new Array(5);
	var nota = true;

		for ( var i=0; i < Database.length; i++ ) {
		nota = true;
		_descripcion = Database[i][DESCR].toUpperCase();
		_descripcion = _categoname + '-' + _descripcion.replace(/[\\\|\\/\:\*\?\<\>\t\ ]/g, '-');

			if (_descripcion == query) {
				Resultado = Database[i];
				nota = false;
				break;
			}

		}

		var _descripcion = Resultado[DESCR];

		var price_div = document.getElementById('price_load');
		var name_div = document.getElementById('name_load');
		var desc_div = document.getElementById('desc_load');
		var stock_div = document.getElementById('stock_load');
		var top_div = document.getElementById('top_load');


			if (nota!=true) {
			LoadFicha(Resultado);
			} else {
			price_div.innerHTML='-,--';
			name_div.innerHTML='------------------------';
			desc_div.innerHTML='------------------------';
			stock_div.innerHTML='Sin Stock';
			top_div.innerHTML='TOP --';
			}

	} else if (tipo == 'tienda'){

	} else {
	//setTimeout("autosearch('results', 1, 0);", 1000);
	autosearch('results', 1, 0);
	}

} //end function
