// ----------------------------------------------------------------------------
// Lauyan Software Javascript Search Engine 1.1
//
// This file is the JavaScript search engine for a website created by TOWeb
//
// Copyright (C) LAUYAN SOFTWARE
// web: http://www.lauyan.com
// ----------------------------------------------------------------------------

STR_SEARCH_QUERY_MSG = "Résultats de la recherche pour";
STR_NO_RESULT = "Aucun résultat trouvé";
STR_SCORE = "Score";
STR_TERMS = "Termes";
STR_SEARCH_SIZE = "20";
MIN_WORD_LEN = 2;
DISPLAY_SRCH_INFO = 1;
USE_UTF8 = 0;
REMOVE_ACCENTS = 1;
BOLD_LINKS = 1;
ONLINE_WEBSITE = 1;
ALLWORDSONLY = 0;
namesArray = new Array(" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" association protection chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes parrainage errants malades tues tortures campagne adoption cognac animaux animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
"  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
"  ",
" fiv felv sterilisation chatons garde chat tatouer vacciner adoption vermifuge anti-puce litiere cage transport adulte assumer kinesiologue animaliere refuge fourriere convention europeenne droits animaux contraintes euthanasie perdu trouve placer aider famille d’accueil dons frais veterinaires compagnie protection divagation chiens chats generosite infos pratiques sida parrainages parrainer toxoplasmose contamination immunite femme enceinte leucose race identifier son animal diaporama affiches petition adoptions reussies toilettage torture sur psychopathe cognac chaudronne crouin denonciation faits divers experimentation laboratoire abattoir errant chatte pleine sevres chaton orphelin sauvage castration prix cherche chaton abandonne demenagement ",
" fiv felv sterilisation chatons garde chat tatouer vacciner adoption vermifuge anti-puce litiere cage transport adulte assumer kinesiologue animaliere refuge fourriere convention europeenne droits animaux contraintes euthanasie perdu trouve placer aider famille d’accueil dons frais veterinaires compagnie protection divagation chiens chats generosite infos pratiques sida parrainages parrainer toxoplasmose contamination immunite femme enceinte leucose race identifier son animal diaporama affiches petition adoptions reussies toilettage torture sur psychopathe cognac chaudronne crouin denonciation faits divers experimentation laboratoire abattoir errant chatte pleine sevres chaton orphelin sauvage castration prix cherche chaton abandonne demenagement ",
" fiv felv sterilisation chatons garde chat tatouer vacciner adoption vermifuge anti-puce litiere cage transport adulte assumer kinesiologue animaliere refuge fourriere convention europeenne droits animaux contraintes euthanasie perdu trouve placer aider famille d’accueil dons frais veterinaires compagnie protection divagation chiens chats generosite infos pratiques sida parrainages parrainer toxoplasmose contamination immunite femme enceinte leucose race identifier son animal diaporama affiches petition adoptions reussies toilettage torture sur psychopathe cognac chaudronne crouin denonciation faits divers experimentation laboratoire abattoir errant chatte pleine sevres chaton orphelin sauvage castration prix cherche chaton abandonne demenagement ",
" fiv felv sterilisation chatons garde chat tatouer vacciner adoption vermifuge anti-puce litiere cage transport adulte assumer kinesiologue animaliere refuge fourriere convention europeenne droits animaux contraintes euthanasie perdu trouve placer aider famille d’accueil dons frais veterinaires compagnie protection divagation chiens chats generosite infos pratiques sida parrainages parrainer toxoplasmose contamination immunite femme enceinte leucose race identifier son animal diaporama affiches petition adoptions reussies toilettage torture sur psychopathe cognac chaudronne crouin denonciation faits divers experimentation laboratoire abattoir errant chatte pleine sevres chaton orphelin sauvage castration prix cherche chaton abandonne demenagement ",
" adoption chat adotions chats  ",
"  ",
" chat perdu chats perdus cognac annonce gratuite annonces gratuites chattes chatte chatons chaton maltraitance charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre harret sos goutiere prtection errant sauvage maltraites torture photo chat ville veterinaire faire don dons parrainer adopter aider proteger cognacchats proliferation sos don ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre  ",
" chats chat chattes chatte chatons chaton maltraitance cognac charente sterilisation castration adoptions abandons abandonnes association parrainage errants malades tues tortures campagne adoption cognac animaux protection animale protection chatou libres katia christophe sonia maltraitance proliferation chatoulibre harret sos goutiere prtection errant sauvage maltraites torture photo chat ville veterinaire faire don dons parrainer adopter aider proteger  ",
"  ",
"  ",
" diaporama ecran veille diffuser autour  ",
" affiches nos combats  ",
"  ",
" tous nos combats  ",
" Écrire e-mail association  ",
"  ",
"  ",
" presse parle  ",
"  ",
" annonces chats parrainer  ",
"  ",
"  ",
" diaporama chats l'association  ",
" chats heureux association  ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
"  ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
"  ",
"  ",
" article 211-23 code rural  ",
" conditions adoption  ",
"  ",
"  ",
" fiv felv sterilisation chatons garde chat tatouer vacciner adoption vermifuge anti-puce litiere cage transport adulte assumer kinesiologue animaliere refuge fourriere convention europeenne droits animaux contraintes euthanasie perdu trouve placer aider famille d’accueil dons frais veterinaires compagnie protection divagation chiens chats generosite infos pratiques sida parrainages parrainer toxoplasmose contamination immunite femme enceinte leucose race identifier son animal diaporama affiches petition adoptions reussies toilettage torture sur psychopathe cognac chaudronne crouin denonciation faits divers experimentation laboratoire abattoir errant chatte pleine sevres chaton orphelin sauvage castration prix cherche chaton abandonne demenagement ",
"  ",
" saisissez description image ici ",
" saisissez description image ici ",
" diaporama chats  ",
" annonces classees chats adoptes autres  ",
" adoptez chat association  ",
" adherer est donner poids nos actions notre association ligne choisir formule parmi trois proposees tarifs annuels carte membre ……………………………………………… personnes morales societes entreprises communes donateur montant multiple ……… choix sommes modification quantites  ",
" carte membre ……………………………………………… choix sommes modification quantites ",
"",
" personnes morales societes entreprises communes choix sommes modification quantites ",
"",
" membre donateur ……… choix sommes modification quantites ",
"",
" bilan 2009 l'association  ",
" boutique notre association met vente large choix d'arbres chat commandes font uniquement sur departement charente articles sont retires place siege l'association pouvons deplacer cognac region sans supplement prix commander arbre envoyez email indiquant reference l'article coordonnes completes paiement livraison merci ",
" hauteur 260 base prix euros ref 001  ",
" hauteur base prix euro ref 002 ",
" hauteur 108 base prix euro ref 003 ",
" hauteur 190 base prix 120 euro ref 004 ",
" hauteur 112 base prix euro ref 005 ",
" hauteur 114 base prix euro ref 006 ",
" hauteur euros ref 007 ",
" hauteur 155 base prix euro ref 008 ",
" hauteur 260 base prix 100 euro existe gris ref 009 ",
" hauteur 136 base prix euro ref 010 ");
urlsArray = new Array("../introduction/index.html",
"../topic/index.html",
"../topic1/index.html",
"../association/index.html",
"../groupederubrique/index.html",
"../faireundon/index.html",
"../sterilisation/index.html",
"../adoptions/index.html",
"../parrainages/index.html",
"../chatsaplacer/index.html",
"../familledaccueil/index.html",
"../nousaider/index.html",
"../groupederubriqu3/index.html",
"../infospratiques1/index.html",
"../infospratiques2/index.html",
"../infospratiques3/index.html",
"../infospratiques4/index.html",
"../adoptions1/index.html",
"../groupederubriqu2/index.html",
"../chatsperdus/index.html",
"../chatstrouves/index.html",
"../faireundon1/index.html",
"../groupederubriqu1/index.html",
"../petition/index.html",
"../diaporama/index.html",
"../affichesrpac/index.html",
"../lesadoptes/index.html",
"../nosactions/index.html",
"../contacternous/index.html",
"../livredor1/index.html",
"../mapage/index.html",
"../lapresse/index.html",
"../topic4/index.html",
"../parrainage/index.html",
"../rechercher/index.html",
"../sosadoption/index.html",
"../diaporamarpac/index.html",
"../albumphoto/index.html",
"../albumphoto/page1.html",
"../albumphoto/page2.html",
"../albumphoto/page3.html",
"../albumphoto/page4.html",
"../albumphoto/page5.html",
"../albumphoto/page6.html",
"../albumphoto/page7.html",
"../albumphoto/page8.html",
"../albumphoto/page9.html",
"../albumphoto/page10.html",
"../albumphoto/page11.html",
"../diaporamachatsc1/index.html",
"../diaporamachatsc1/page1.html",
"../diaporamachatsc1/page2.html",
"../diaporamachatsc1/page3.html",
"../diaporamachatsc1/page4.html",
"../diaporamachatsc1/page5.html",
"../diaporamachatsc1/page6.html",
"../diaporamachatsc1/page7.html",
"../diaporamachatsc1/page8.html",
"../diaporamachatsc1/page9.html",
"../diaporamachatsc1/page10.html",
"../diaporamachatsc1/page11.html",
"../diaporamachatsc1/page12.html",
"../diaporamachatsc1/page13.html",
"../diaporamachatsc1/page14.html",
"../diaporamachatsc1/page15.html",
"../diaporamachatsc1/page16.html",
"../diaporamachatsc1/page17.html",
"../diaporamachatsc1/page18.html",
"../diaporamachatsc1/page19.html",
"../diaporamachatsc1/page20.html",
"../diaporamachatsc1/page21.html",
"../diaporamachatsc1/page22.html",
"../diaporamachatsci/index.html",
"../article3/index.html",
"../articlel211-23/index.html",
"../adoptioncodition/index.html",
"../gardiennage/index.html",
"../contactwebmaster/index.html",
"../important/index.html",
"../albumphotodiapor/index.html",
"../albumphotodiapor/page1.html",
"../albumphotodiapor/page2.html",
"../diaporama3/index.html",
"../adoptionsdechats/index.html",
"../adoptionsdechat1/index.html",
"../bulletindadhesio/index.html",
"../bulletindadhesio/page1.html",
"../bulletindadhesio/page1.html",
"../bulletindadhesio/page2.html",
"../bulletindadhesio/page2.html",
"../bulletindadhesio/page3.html",
"../bulletindadhesio/page3.html",
"../bilan2009/index.html",
"../laboutique/index.html",
"../laboutique/page1.html",
"../laboutique/page2.html",
"../laboutique/page3.html",
"../laboutique/page4.html",
"../laboutique/page5.html",
"../laboutique/page6.html",
"../laboutique/page7.html",
"../laboutique/page8.html",
"../laboutique/page9.html",
"../laboutique/page10.html");
titlesArray = new Array("Protection des Chats à Cognac.",
"Protection des Chats à Cognac.",
"Protection des Chats à Cognac",
"Refuge et Protection de nos Amis les Chats R.P.A.C.",
"Protection des Chats à Cognac",
"Association de Protection des Chats",
"Stérilisation du chat, Protection des Chats à Cognac",
"Adoption de chat, Protection des Chats à Cognac",
"Parrainer un chat, Protection des Chats à Cognac",
"Accueillir un chat, Protection des Chats à Cognac",
"Famille d'accueil de chat, Protection des Chats à Cognac",
"Sauvetages des chats, Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac, maladies des chats",
"Protection des Chats à Cognac, comportement du chat",
"Protection des Chats à Cognac, soins du chat",
"Protection des Chats à Cognac, vie quotidienne du chat",
"ADOPTEZ UN CHAT A L' ASSOCIATION R.P.A.C",
"Protection des Chats à Cognac",
"chats perdus, Protection des Chats à Cognac",
"Chats trouvés, Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Diaporama et écran de veille à diffuser autour de vous",
"Les affiches de nos combats  R.P.A.C",
"Protection des Chats à Cognac",
"Tous nos combats",
"Écrire un e-mail à l' Association R.P.A.C.",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"La presse en parle",
"Protection des Chats à Cognac",
"Annonces des chats à Parrainer",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"DIAPORAMA DES CHATS DE  L'ASSOCIATION",
"Les chats heureux de l' Association R.P.A.C",
"004.1.JPG",
"009.JPG",
"009.1.JPG",
"011.JPG",
"017.1.JPG",
"036.JPG",
"046.JPG",
"052.1.JPG",
"067.1.JPG",
"067.JPG",
"073.JPG",
"Protection des Chats à Cognac",
"053.JPG",
"055.JPG",
"058.JPG",
"059.JPG",
"060.JPG",
"061.JPG",
"063.JPG",
"064.JPG",
"065.JPG",
"066.JPG",
"070.JPG",
"075.JPG",
"077.JPG",
"082.JPG",
"Affiche R.P.A.C Psycho_7.jpg",
"083.JPG",
"084.JPG",
"085.JPG",
"087.JPG",
"089.JPG",
"092.JPG",
"093.JPG",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Article L. 211-23 du code rural",
"CONDITIONS D' ADOPTION",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"Protection des Chats à Cognac",
"017.JPG",
"020.JPG",
"Diaporama des 3 chats",
"ANNONCES CLASSEES - CHATS ADOPTES - AUTRES",
"ADOPTEZ UN CHAT A L' ASSOCIATION R.P.A.C",
"Adhérer c' est donner du poids à nos actions",
"1- Carte de membre 5 euros",
"Carte membre R.P.A.C",
"2- Carte de membre personne morale 50 euros",
"Carte de membre personne morale",
"3- Carte de membre donateur montant libre",
"Carte de membre donateur",
"Bilan 2009 de l'Association R.P.A.C.",
"La boutique R.P.A.C",
"Arbre à chat - Réf 001",
"Arbre à chat - Réf 002",
"Arbre à chat - Réf 003",
"Arbre à chat - Réf 004",
"Arbre à chat - Réf 005",
"Arbre à chat - Réf 006",
"Arbre à chat - Réf 007",
"Arbre à chat - Réf 008",
"Arbre à chat - Réf 009",
"Arbre chat - Réf 010");
descArray = new Array("Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"",
"",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"",
"",
"",
"",
"",
"Notre association de Loi 1901 à pour but de faire respecter les droits des chats errants ou non. Nous essayons de lutter contre la prolifération des c...",
"",
"&",
"&",
"",
"",
"",
"Pour adhérer à notre association en ligne, choisir une formule parmi les trois proposées.   Tarifs annuels  1- Carte de membre : ……………………………………………….5 ...",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"Notre association met en vente un large choix d'arbres à chat. Les commandes se font UNIQUEMENT sur le département de la Charente Les articles command...",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&");
sublinksArray = new Array(104);
var linksCount = 104;


function SubmitSearch(n)
{
	var p = document.getElementsByName("jse_query");
	var idx = n;  if( p < 0) return false;
	if( p && p[idx] && p[idx].value != "" ) {
	if( (p[idx].value).replace(/^\s+|\s+$/g, '') != "" ) {
		p = document.getElementsByName("jse_form");
		if( p && p[idx] )
			p[idx].submit();
		return true;
	  }
	}
	return false;
}
function switchSearchLang(lang,emptycart)
{
	var params = "";
	var currURL = document.location.href;
	var newURL = (currURL.lastIndexOf('_frame/search2') >= 0) ? "search2":"search";
	if( lang != "" )
		newURL += "-"+lang;
	newURL += ".html";
	var paramIndex = currURL.lastIndexOf('?');
	if( paramIndex > -1 )
		newURL += "?" + currURL.substr( paramIndex + 1 );
	if( emptycart && typeof(CleanShopcart) != "undefined" )
		CleanShopcart();
	document.location.href = newURL;
	return false;
}

// getParam returns the value of the specified GET parameter
function getParam(paramName)
{
    paramStr = document.location.search;
    if( paramStr == "" )
        return "";
    if( paramStr.charAt(0) == "?" )
        paramStr = paramStr.substr(1);
    arg = (paramStr.split("&"));
    for( i=0; i<arg.length; i++ ) 
    {
      arg_values = arg[i].split("=")
      if( unescape(arg_values[0]) == paramName ) 
      {
         if( USE_UTF8 == 1 && self.decodeURIComponent ) // check if decodeURIComponent() is defined
            ret = decodeURIComponent(arg_values[1]);
         else
            ret = unescape(arg_values[1]);  // IE 5.0 and older does not have decodeURI
         return ret;
      }
    }
    return "";
}

function getQueryParam()
{
  var query = getParam("jse_query");
  query = query.replace(/[\++]/g, " ");  // replace any '+' with spaces
  query = query.replace(/\</g, "&lt;");
  query = query.replace(/[\"+]/g, " ");
	return query;
}

function replaceAll(str,from,to) 
{
    var idx = str.indexOf(from);
    while( idx > -1 ) {
        str = str.replace(from, to); 
        idx = str.indexOf(from);
    }
    return str;
}

// lowercase, remove quotes and accents
function formatChars(str) 
{
    str = str.toLowerCase();
    if( REMOVE_ACCENTS ) 
    {
      var a = "àáâãäåòóôõöèéêëçìíîïùúûüÿñ";
      var b = "aaaaaaoooooeeeeciiiiuuuuyn";
      for( i=0; i<a.length; i++ )
        str = replaceAll( str, a.charAt(i), b.charAt(i) );
    }
    str = replaceAll( str, "'", " " );
    return str;
}

function SortCompare(a, b)
{
  if( a[2] == b[2] )
  {  
    if (a[1] < b[1]) return 1;
    else if (a[1] > b[1]) return -1;
    else return 0;
  }
  else if (a[2] < b[2]) return 1;
    else return -1;
}

function jseSearch( internal )
{
  // get params
  var rootURL = '';
	var SelfURL = document.location.href;
  var paramIndex = SelfURL.indexOf("?");    
  if (paramIndex > -1)
     SelfURL = SelfURL.substr(0, paramIndex);
  paramIndex = SelfURL.indexOf("#");
  if (paramIndex > -1)
    SelfURL = SelfURL.substr(0, paramIndex);        
	if (ONLINE_WEBSITE) 
	{
		paramIndex = SelfURL.lastIndexOf('/');
		if (paramIndex > -1) 
		{
			rootURL = SelfURL.substr(0, paramIndex);
			paramIndex = rootURL.lastIndexOf('/');
			if (paramIndex > -1) {
				rootURL = SelfURL.substr(0, paramIndex+1);
			} else
			  rootURL = '';
		}
	}	
  SelfURL = SelfURL.replace(/\</g, "&lt;");
  SelfURL = SelfURL.replace(/\"/g, "&quot;");

  var query = getQueryParam();

  // display the search form
  var lnktarget = "";
/*	if( internal == null || internal != 1 )
	{
    document.writeln("<form method=\"get\" action=\"" + SelfURL + "\">");
    document.writeln("<input type=\"text\" name=\"jse_query\" size=\"" + STR_SEARCH_SIZE + "\" value=\"" + query + "\" />");
    document.writeln("<input type=\"submit\" value=\"" + STR_SEARCH_BUTTON + "\" />");
    document.writeln("</form>");
  }
  */
  if( internal == 1 ) {
	 lnktarget = "\" target=\"_blank";
  }
	
  query = formatChars(query);
  if( query.length == 0 ) return;
  
  var found=0, t=0, k=0, score=0, subscore=0, i=0;
  var keyword = "", tmp = "";
  var searchWords = new Array();

  // split search query by spaces
  searchWords = query.split(" ");
	if( internal == null || internal != 1 ) {
		document.writeln( "<span class='wg-paragraph'>" + STR_SEARCH_QUERY_MSG + " : <strong>" +query+"</span></strong><br>");
  }
  // init result table information
  res_table = new Array(linksCount);
  for( t=0; t<linksCount; t++ )
  {
    res_table[t] = new Array(4);
    res_table[t][0] = 0;  // index
    res_table[t][1] = 0;  // score
    res_table[t][2] = 0;  // words found
    res_table[t][3] = ""; // sublinks (output string)
  }
  var significantwords = 0;

  // begin search ...
  for( i=0; i<searchWords.length; i++ )
  {
    keyword = searchWords[i];
    if( keyword.length > MIN_WORD_LEN ) // skip "small" words
	{
	  significantwords++;
	  for(var q=0; q<linksCount; q++ )
	  {
	    t = q;
	    score = 0;
	
	    // search for keywords (an exact word doubles the score)
		  tmp = formatChars(descArray[t]);
	    if( tmp.indexOf(keyword) != -1 ) score++;
	    if( tmp.indexOf(' '+keyword+' ') != -1 ) score+=2;
		  tmp = formatChars(titlesArray[t]);
	  	if( tmp.indexOf(keyword) != -1 ) score++;
		  if( tmp.indexOf(' '+keyword+' ') != -1 ) score+=2;
	    if( namesArray[t].indexOf(keyword) != -1 ) score++;
	    if( namesArray[t].indexOf(' '+keyword+' ') != -1 ) score+=2;
	
		// search for keywords in sublinks (i.e. bookmarks)
	    k = q+1;
		while( k <= linksCount )
		{
			tmp = descArray[k];
			if( tmp == null || tmp.charAt(0) != '&' ) break;
			subscore = 0;
			tmp = formatChars(descArray[k]);
			if( tmp.indexOf(keyword) != -1 ) subscore++;
			if( tmp.indexOf(' '+keyword+' ') != -1 ) subscore+=2;
			tmp = formatChars(titlesArray[k]);
			if( tmp.indexOf(keyword) != -1 ) subscore++;
			if( tmp.indexOf(' '+keyword+' ') != -1 ) subscore+=2;
			if( namesArray[k].indexOf(keyword) != -1 ) subscore++;
			if( namesArray[k].indexOf(' '+keyword+' ') != -1 ) subscore+=2;
			
			if( subscore > 0 )
			{
				var idx = urlsArray[t].indexOf('@');
				if( idx > 0 ) 
				{
					var lnk = urlsArray[k].substr(0, idx)
					if( res_table[t][3].indexOf( lnk ) == -1 )
						res_table[t][3] += "<tr><td width='35'>&nbsp;</td><td><a href=\"" + urlsArray[k].substr(idx+1) + "\" name=\"" + lnk + "\">" + titlesArray[k] + "</a></td></tr>";
				} else if( res_table[t][3].indexOf( "\"" + urlsArray[k] + "\"" ) == -1 )
					res_table[t][3] += "<tr><td width='35'>&nbsp;</td><td><a href=\"" + urlsArray[k] + lnktarget + "\">" + titlesArray[k] + "</a></td></tr>";
//	           		if( B OLD_LINKS )  res_table[t][3] += "<tr><td width='50'>&nbsp</td><td><b><a href='" + urlsArray[k] +"'>" + titlesArray[k] + "</a></b></td></tr>";
				score += subscore;
			}	
			k++;
		}
		q = k-1;
				
	    if( score > 0 )
	    {
	      res_table[t][0] = t;
	      res_table[t][1] += score;
	      res_table[t][2]++;
	      found++;
	    }
	  }
	}
  }
  if( found == 0 ) {
    document.write("<p class='wg-paragraph'><b>" + STR_NO_RESULT + "</b></p>");
  } 
  else 
  {
/*	if( ALLWORDSONLY )
	{
		//  if all words only then we recount and filter amoung the results to get the total of found items
		found = 0;
		for( var z=0; z<itemsCount; z++ )
			if( res_table[z][1] > 0 ) // display only results with a positive score
			if( !ALLWORDSONLY || (ALLWORDSONLY && res_table[z][2] == significantwords) )
				found++;
	}
  */
	// sort by words found and scores
    res_table.sort(SortCompare);	
    // display the results
	document.writeln( '<div class="wg-paragraph">' );
    for( q=0; q<found; q++ )
      if( res_table[q][1] > 0 ) // display only results with a positive score
	  if( !ALLWORDSONLY || (ALLWORDSONLY && res_table[q][2] == significantwords) )
	  {
		t = res_table[q][0];    // get page index

		var lnk = urlsArray[t] + lnktarget;
		var idx = urlsArray[t].indexOf('@');
		if( idx > 0 ) 
			lnk = urlsArray[t].substr(idx+1);
			
		if( BOLD_LINKS ) {
		  document.writeln("<br><b>" + (q+1) + ". <a href=\"" + lnk + "\">" + titlesArray[t] + "</a></b>" );
		} else
		  document.writeln("<br><b>" + (q+1) + ".</b> <a href=\"" + lnk + "\">" + titlesArray[t] + "</a>" );
        if( descArray[t].length > 2 )
          document.writeln("<br>" + descArray[t] );
        if( DISPLAY_SRCH_INFO ) 
		{
			document.write("<br><span style='font-size: 80%; font-style: italic;'>");
			if( !ALLWORDSONLY )
			  document.write("" + STR_TERMS + ": " + res_table[q][2] + " - " );
			document.write("" + STR_SCORE + ": " + res_table[q][1] );
			if( urlsArray[t].indexOf('@') > 0 ) {
			  document.writeln(" - URL: 'TOWeb demonstration'</span>");
			} else if(ONLINE_WEBSITE) {
			  document.writeln(" - URL: " + rootURL + urlsArray[t].substr(3) + "</span>");
			} else
			  document.writeln(" - URL: " + urlsArray[t] + "</span>");
      	}
		if( res_table[q][3].length > 0 ) { 
      	  document.writeln( '<table class="wg-paragraph">' + res_table[q][3] + '</table>' );
      	} else document.writeln("<br>");
      }
 	document.writeln( '</div>' );
  }
  document.writeln("<br>");
}
