
var i; var tt='';

if(EncodingUTF8!=1)
{
	for (i=0;i<=15;i++)
	tt+= unescape('%0'+i.toString(16));

	for (i=16;i<=255;i++)tt+=
	
	unescape('%'+i.toString(16));
}

var p='+';var d='^';var e='&';var q='';

for(i=0;i<window.location.search.length;i++)
{
	var c=window.location.search.charAt(i);
	if(c==p)q+=d;
	else q+=c;
}

q=unescapec(q).toLowerCase()+e;

var ks=d;
var c=0;
i=q.indexOf('cat=');

if(i!=-1)
{
	var a=q.substring(i+4,q.indexOf(e,i+4));
	if(a!='')c=parseInt(a);
}

var n=DefLinksPerPage;
i=q.indexOf('num=');

if(i!=-1)
{
	var a=q.substring(i+4,q.indexOf(e,i+4));
	
	if(a!='')n=parseInt(a);
}

var pa=1;
i=q.indexOf('page=');

if(i!=-1)
{
	var a=q.substring(i+5,q.indexOf(e,i+5));
	
	if(a!='')pa=parseInt(a);
}

i=q.indexOf('keys=');

var ks2='';

if(i!=-1)
{
	ks2=q.substring(i+5,q.indexOf(e,i+5))+d;
	if(ks2==d)ks2='*'+d;ks='';

	for(i=0;i<ks2.length;i++)
	{
		if(ks2.charAt(i)!='<')ks+=ks2.charAt(i);
	}
}

var zl=kw.length;
var np=1;
var ic1=Icons.split(',');
var ico,j,a,lc,m,rat,nn,li,out;
var z=new Array();
z.length=0;
var y=new Array();
y.length=0;
var ratmax=0;
var k=new Array();
var sk=new Array();
i=0;
var n1=DefSearchStyle;

while(i<ks.length)
{
	if(ks.charAt(i)==d)i++;
	else
	{
		j=ks.indexOf(d,i);
		a=ks.substring(i,j);
		
		if(a=='or')
		{
			n1=0;
			i=j;
			continue;
		}
		else if(a=='and')
		{
			n1=1;
			i=j;
			continue;
		}
		else if(a=='not')
		{
			n1=2;
			i=j;
			continue;
		}
		if(PartsOfWordsSearch==0)
		{
			if(a.charAt(0)=='*')a=a.substring(1,a.length);
			else a=d+a;
			if(a.charAt(a.length-1)=='*')a=a.substring(0,a.length-1);
			else a=a+d;}k.length++;
			
			k[k.length-1]=a;
			sk.length++;
			sk[sk.length-1]=n1;
			i=j;
		}
	}
	if(k.length==0)
	{
		k.length++;
		k[0]=d;
		sk.length++;
		ks[0]=2;
		ks=d;
	}
	
	var ks0='';
	var ks1='';
	ks=ks.substring(0,ks.length-1);

	for(i=0;i<ks.length;i++)
	{
		if(ks.charAt(i)==d)
		{
			ks1=ks1+' ';
			ks0=ks0+'+';
		}
		else if(ks.charAt(i)=='+')
		{
			ks1=ks1+'+';
			ks0=ks0+'%2B';
		}
		else if(ks.charAt(i)=='#')
		{
			ks1=ks1+'#';
			ks0=ks0+'%23';
		}
		else
		{
			ks1=ks1+ks.charAt(i);
			ks0=ks0+unescapec(ks.charAt(i));
		}
	}
	if(q==e)
	{
		w(tttb(FirstTemplate));
	}
	else
	{
		var lni,kwi,kwil;

		for(i=0;i<ln.length;i++)
		{
			lni=ln[i];
			lc=parseInt(lni.substring(0,lni.indexOf(d)));
			
			if(c==0||c==lc)
			{
				rat=0;kwi=kw[i];
				kwil=kwi.length;

				for(var j=0;j<k.length;j++)
				{
					m=kwi.indexOf(k[j]);
					
					if(m>=0)
					{
						if(sk[j]==2)
						{
							rat=-1;
							break;
						}
						rat+=((kwil-m)/kwil)*99;
					}
					else
					{
						if(sk[j]==1)
						{
							rat=-1;
							break;
						}
						
						rat=rat/2;
					}
				}
				if(rat>0)
				{
					z.length++;
					z[z.length-1]=i;
					y.length++;
					y[z.length-1]=rat;
					if(rat>ratmax)ratmax=rat;
				}
			}
		}
		
		zl=z.length;

		for(i=0;i<zl;i++) y[i]=Math.ceil((y[i]/ratmax)*99);
		
		if(SortResult==1)
		{
			rs(0);
			rs(1);
		}
		for(i=0;i<zl;i++)
		{
			if(y[i]<PercentLimit)
			{
				zl=i;
				break;
			}
		}
		if(ks!='')
		{
			np=Math.ceil(zl/n);
			
			w(tttb(TopResultTemplate));
			
			nn=n*pa;
			
			if(zl<nn)nn=zl;var found=0;

			for(i=(pa-1)*n;i<nn;i++)
			{
				li=ln[z[i]];
				out='';
				
				if(ds[z[i]]=='')
				{
					out=LinkWithoutDescTemplate;
				}
				else
				{
					out=LinkTemplate;
				}
				
				//salto cada n columnas para hacer multicolumna
				if(( i / columns ) - parseInt( i / columns ) == 0) salto = '</tr><tr>';
				else salto='';
				
				//vamos a ver si hay imagen
				curl=li.substring(li.lastIndexOf(d)+1,li.length);
				destkt = "";
				
				if(curl!=" ") {
					//curl = "<a href='"+ imagespath + curl +"_gran.jpg'><img id='foto' src='" + imagespath + curl + "_petita.jpg' border='0'></a><br><br>";
					destkt = "<div id='corner'><a href='"+ imagespath + curl +".jpg'><img src='images/dot.gif' border=0 width=25 height=25></a></div>";
					curl = "";
					tede = "<td id='fotodestacada' class='destacat'>";
				}
				else tede="<td>";
				
				out=salto+tede+destkt+out+"</td>";
				
				out=pt(out,'%num%',i+1);
				out=pt(out,'%url%',curl);
				out=pt(out,'%texturl%',hl(unescapec(curl),ks1));
				out=pt(out,'%caturl%',ur(1,li.substring(0,li.indexOf(d))));
				out=pt(out,'%caption%',hl(pc(z[i]),ks1));
				
				if (pc(z[i])!='')
				{
					out=pt(out,'%captionorurl%',hl(pc(z[i]),ks1));
				}
				else
				{
					out=pt(out,'%captionorurl%',hl(unescapec(curl),ks1));
				}
				
				out=pt(out,'%description%',hl(ds[z[i]],ks1));
				out=pt(out,'%cat%',cg[li.substring(0,li.indexOf(d))]);
				out=pt(out,'%catnum%',li.substring(0,li.indexOf(d)));
				out=pt(out,'%accuracy%',y[i]+1);
				ico='';
				
				for(var ij=0;ij<ic1.length;ij++)
				{
					var fil=curl.toLowerCase()+'?';
					
					if(fil.indexOf('.'+ic1[ij]+'?')>0)
					{
						ico='<img src="'+IconsDirectory+ic1[ij]+'.gif" width="16" height="16" border="0" align="absmiddle" />';
						break;
					}
				}
				
				out=pt(out,'%icon%',ico);
				w(out);
				found++
			}
			
			if (found==0)w(tttb(NotFoundTemplate));
			if (found==1) w("<td></td><td></td>");
			if (found==2) w("<td></td>");
			w(tttb(BottomResultTemplate));
		}
	}


function unescapec(s)
{
	if(EncodingUTF8==1)
	{
		return decodeURIComponent(s);
	}
	
	var i=0;
	var r='';
	var ss;
	while(i<s.length)
	{
		ss=s.charAt(i);
		if(ss=='%')
		{
			ss='0x'+s.charAt(i+1);
			ss+=s.charAt(i+2).toLowerCase();
			r+=tt.charAt(parseInt(ss));
			i+=2;
		}
		else r+=ss;
		
		i++;
	}
	
	return r;
}


function escapec(s)
{
	if(EncodingUTF8==1) return encodeURIComponent(s);
	
	var i=0;
	var r='';
	var ss;
	var x='0123456789ABCDEF';
	
	while(i<s.length)
	{
		ss=tt.indexOf(s.charAt(i));
		if(ss<127)r+=s.charAt(i);
		else
		{
			r+='%'+x.charAt(Math.floor(ss/16));
			r+=x.charAt(ss-16*Math.floor(ss/16));
		}
		
		i++;
	}
	
	return r;
}


function local(s)
{
	var i=0;
	var r='';
	
	if(s.length>1)
	{
		if(s.charAt(1)==':')r='file:///';
	}
	
	while(i<s.length)
	{
		if(s.charAt(i)=='\\')r+='/';
		else r+=s.charAt(i);
		i++;
	}
	
	return r;
}

function pc(n){var a=ln[n].indexOf(d);return ln[n].substring(a+1,ln[n].indexOf(d,a+1));}

function kwl(n){var r='';

for(var i=0;i<kw[n].length;i++)if(kw[n].charAt(i)==d)r+=', ';
else r+=kw[n].charAt(i);return r;}function prg(n,t,a,b){var r='';

for(var i=0;i<Math.ceil(
n*t/k.length);i++)r+=a;

for(var i=0;i<(t-Math.ceil(n*t/k.length));i++)r+=b;return r;}

function ur(i,catn){return CurFile+'?keys='+ks0+'&cat='+catn+'&num='+n+'&page='+i;}

function nav(a,b)
{
	var r='';
	if(np==0)return'-';
	if(pa!=1)r+='<a href="'+ur(pa-1,c)+'">'+a+'</a> &nbsp;&nbsp;';
	var i1=pa-PagesNavigatorMaxOffset;
	if(i1<1)i1=1;
	var i2=pa+PagesNavigatorMaxOffset;
	if(i2>np)i2=np;
	
	for(var i=i1;i<=i2;i++)
	{
		if(i==pa)r+='<b>'+i+'</b>';
		else r+='<a href="'+ur(i,c)+'">'+i+'</a>';
		r+=PageSeparator;
	}
	
	if((np-pa)>PagesNavigatorMaxOffset)r+='... '+np+PageSeparator;
	if(pa!=np)r+=' <a href="'+ur(pa+1,c)+'">'+b+'</a>';
	return r;
}

function inp(n)
{
	var r='<input type="text" id="keys" name="keys" value="'+ks1+'" size="'+n+'">';
	return r;
}

function cl(){
	var r='<select name="cat">';
	
	for(var i=0;i<cg.length;i++)
	{
		r+='<option value="'+i+'" ';
		if(i==c)r+='selected';
		r+='>'+cg[i]+'</option>';
	}
	
	r+='</select>';
	return r;
}

function w(s)
{
	document.writeln(s);
}

function dh(bt,t)
{
	var out="";
	var i=-1;
	var t1=t.toLowerCase();
	var lb=bt.toLowerCase();
	
	while(bt.length>0)
	{
		i=lb.indexOf(t1,i+1);
		
		if(i<0)
		{
			out+=bt;
			bt="";
		}
		else
		{
			if(bt.lastIndexOf(">",i)>=bt.lastIndexOf("<",i))
			{
				out+=bt.substring(0,i)+'<b>'+bt.substr(i,t.length)+'</b>';
				bt=bt.substr(i+t.length);
				lb=bt.toLowerCase();
				i=-1;
			}
		}
	}
	
	return out;
}

function hl(bt,st)
{
	var out=bt;
	var a=st.split(" ");
	var b='';
	
	for(var i=0;i<a.length;i++)
	{
		b=a[i].toLowerCase();
		
		if((b=='or')||(b=='and')||(b=='not')||(b=='')||(b=='*'))continue;
		if(b.charAt(0)=='*')b=b.substring(1,b.length);
		if(b.charAt(b.length-1)=='*')b=b.substring(0,b.length-1);
		
		out=dh(out,b);
	}
	
	return out;
}

function pt(bt,fr,to)
{
	var out='';
	var i=-1;
	
	while(bt.length>0)
	{
		i=bt.indexOf(fr,i+1);
		if(i<0)
		{
			out+=bt;
			bt='';
		}
		else
		{
			out+=bt.substring(0,i)+to;
			bt=bt.substr(i+fr.length);
			i=-1;
		}
	}
	
	return out;

}

function tttb(bt)
{
	var out=bt;
	out=pt(out,'%found%',zl);
	out=pt(out,'%total%',kw.length);
	out=pt(out,'%searchcat%',cg[c]);
	out=pt(out,'%searchcatnum%',c);
	out=pt(out,'%pagesnav%',nav(PrevPage,NextPage));
	out=pt(out,'%formaction%',CurFile);
	out=pt(out,'%keys%',unescapec(ks1));
	out=pt(out,'%keysquery%',ks0);
	out=pt(out,'%select%',cl());
	out=pt(out,'%input%',inp(InputLength));
	out=pt(out,'%shortinput%',inp(ShortInputLength));
	out=pt(out,'%pages%',np);
	out=pt(out,'%page%',pa);
	out=pt(out,'%num%',n);
	out=pt(out,'%firstlinknum%',(pa-1)*n+1);
	
	if(((pa-1)*n+n)<zl)
	{
		out=pt(out,'%lastlinknum%',(pa-1)*n+n);
	}
	else
	{
		out=pt(out,'%lastlinknum%',zl);
	}
	
	out=pt(out,'%categorieslist%',catl());
	out=pt(out,'%home%','http://www.atrise.com/everyfind/');
	out=pt(out,'%allurl%',ur(1,0));
	out=pt(out,'%searchurl%',CurFile);
	return out;
}

function digit(m,dig)
{
	var str=Math.round(m).toString();
	
	if(dig>=str.length)return 9;
	return 9-str.charAt(str.length-1-dig);
}

function rs(dig)
{
	var cnt=new Array(11);
	var ty=new Array();
	var tz=new Array();
	var i,dd,ix;

	for(dd=0;dd<=9;dd++)cnt[dd]=0;
	for(i=1;i<=zl;i++)cnt[digit(y[i-1],dig)]++;
	for(dd=1;dd<=9;dd++)cnt[dd]+=cnt[dd-1];

	for(i=zl;i>=1;i--)
	{
		ix=cnt[digit(y[i-1],dig)]--;
		ty[ix]=y[i-1];
		tz[ix]=z[i-1];
	}
	
	for(i=1;i<=zl;i++)
	{
		y[i-1]=ty[i];
		z[i-1]=tz[i];
	}
}

function catl()
{
	var r='';
	
	for(var i=0;i<cg.length;i++)
	{
		if(i==c)r+='<b>'+cg[i]+'</b> ';
		else r+='<a href="'+ur(1,i)+'">'+cg[i]+'</a>';
		
		if(i<cg.length-1)r+=CatSeparator;
	}
	
	return r;
}

if(document.queryform[0].keys){
	document.queryform[0].keys.value = str_replace(ks,"^"," ");
	document.queryform[0].keys.focus();
}
else{
	if(document.queryform.keys){
		document.queryform.keys.value = str_replace(ks,"^"," ");
		document.queryform.keys.focus();
	}
}


