// ----------------------------------------------------------------------------
// 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 = "25";
MIN_WORD_LEN = 4;
DISPLAY_SRCH_INFO = 0;
USE_UTF8 = 0;
REMOVE_ACCENTS = 1;
BOLD_LINKS = 0;
ONLINE_WEBSITE = 1;
ALLWORDSONLY = 1;
namesArray = new Array("  ",
" historique  ",
"  ",
" contacts  ",
" membres  ",
" societes reconnues  ",
" carnaval pages suivent permettent retrouver cliquant bouton adequat lieux heures depart dislocation differentes societes aussi periode preparation repetitions batterie soumonces jours retrouverez egalement liste jubilaires connus l'annee reference mardi-gras reception l'hotel ville jamais renseignements semblent insuffisants pouvez contacter membre societe concernee rubrique reconnues contacts bonne lecture rendez-vous dates ",
" representations l'adf carnaval  ",
" agenda activites  ",
" liens favoris  ",
" espace reserve membres l'adf  ",
" repetitions batterie  ",
" soumonces batterie  ",
" soumonce musique  ",
" dimanche-gras  ",
" mardi-gras  ",
" piece d'binchou  ",
" 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 ",
" horaire receptions l'hotel ville  ",
" jubilaires  ",
" repetition batterie  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" soumonce batterie  ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" soumonce musique  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" dimanche matin  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" dimanche apres  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" preparation depart gille  ",
" 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 ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" societes regroupent  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" gille porte masque  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" reception l'hotel ville remise medailles  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" cortege l'apres  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" 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 ",
" cortege d'artifice  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" exposition siege l'unesco paris  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" 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 ",
" trouilles guenouilles  ",
" desirez saisissez description photo desactivez-la decochant texte ci-dessus recadrer ameliorer encadrer images utiliser actions modifier taille bordure ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" nombre participants societe  ",
" violes utilisez modele commencer nouvel album photo defaut bordure simple appliquee photos pourrez changer l'enlever retoucher images l'editeur d'images integre ",
" 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 ");
urlsArray = new Array("../topic/index.html",
"../historique/index.html",
"../role/index.html",
"../contacts/index.html",
"../membres/index.html",
"../societesreconnue/index.html",
"../carnaval/index.html",
"../activites/index.html",
"../agendadessociete/index.html",
"../topic1/index.html",
"../espacesmembres/index.html",
"../repetitionsdebat/index.html",
"../soumoncesenbatte/index.html",
"../soumoncesenmusiq/index.html",
"../dimanch-gras/index.html",
"../mardi-gras/index.html",
"../sangdbinchou/index.html",
"../sangdbinchou/page1.html",
"../sangdbinchou/page2.html",
"../sangdbinchou/page3.html",
"../sangdbinchou/page4.html",
"../sangdbinchou/page5.html",
"../sangdbinchou/page6.html",
"../sangdbinchou/page7.html",
"../sangdbinchou/page8.html",
"../sangdbinchou/page9.html",
"../sangdbinchou/page10.html",
"../sangdbinchou/page11.html",
"../sangdbinchou/page12.html",
"../sangdbinchou/page13.html",
"../sangdbinchou/page14.html",
"../sangdbinchou/page15.html",
"../sangdbinchou/page16.html",
"../sangdbinchou/page17.html",
"../sangdbinchou/page18.html",
"../sangdbinchou/page19.html",
"../sangdbinchou/page20.html",
"../sangdbinchou/page21.html",
"../sangdbinchou/page22.html",
"../sangdbinchou/page23.html",
"../sangdbinchou/page24.html",
"../hoteldeville/index.html",
"../jubilaires/index.html",
"../photosrb/index.html",
"../photosrb/page1.html",
"../photosrb/page2.html",
"../photosrb/page3.html",
"../photosrb/page4.html",
"../photosrb/page5.html",
"../photossb/index.html",
"../photossb/page1.html",
"../photossb/page2.html",
"../photossb/page3.html",
"../photossb/page4.html",
"../photossb/page5.html",
"../photossb/page6.html",
"../photossm/index.html",
"../photossm/page1.html",
"../photossm/page2.html",
"../photossm/page3.html",
"../photossm/page4.html",
"../photossm/page5.html",
"../photossm/page6.html",
"../dgm/index.html",
"../dgm/page1.html",
"../dgm/page2.html",
"../dgm/page3.html",
"../dgm/page4.html",
"../dgm/page5.html",
"../dgm/page6.html",
"../photosdgam/index.html",
"../photosdgam/index.html",
"../photosm5h/index.html",
"../photosm5h/page1.html",
"../photosm5h/page2.html",
"../photosm5h/page3.html",
"../photosm5h/page4.html",
"../photosm5h/page5.html",
"../photosm5h/page6.html",
"../photosm5h/page7.html",
"../photosm5h/page8.html",
"../photosm5h/page9.html",
"../photosm8h/index.html",
"../photosm8h/page1.html",
"../photosm8h/page2.html",
"../photosm8h/page3.html",
"../photosmasques/index.html",
"../photosmasques/page1.html",
"../photosmasques/page2.html",
"../photosmasques/page3.html",
"../photosmasques/page4.html",
"../photosmasques/page5.html",
"../photosmasques/page6.html",
"../photosmasques/page7.html",
"../photosville/index.html",
"../photosville/page1.html",
"../photosville/page2.html",
"../photosville/page3.html",
"../photosmam/index.html",
"../photosmam/page1.html",
"../photosmam/page2.html",
"../photosmam/page3.html",
"../photosmam/page4.html",
"../photosmam/page5.html",
"../photosmam/page6.html",
"../photosmam/page7.html",
"../photosmam/page8.html",
"../photosmam/page9.html",
"../photossoir/index.html",
"../photossoir/page1.html",
"../photossoir/page2.html",
"../photossoir/page3.html",
"../photossoir/page4.html",
"../photossoir/page5.html",
"../photossoir/page6.html",
"../photossoir/page7.html",
"../unescoparis/index.html",
"../unescoparis/page1.html",
"../unescoparis/page2.html",
"../unescoparis/page3.html",
"../unescoparis/page4.html",
"../unescoparis/page5.html",
"../unescoparis/page6.html",
"../unescoparis/page7.html",
"../unescoparis/page8.html",
"../unescoparis/page9.html",
"../unescoparis/page10.html",
"../unescoparis/page11.html",
"../unescoparis/page12.html",
"../unescoparis/page13.html",
"../unescoparis/page14.html",
"../unescoparis/page15.html",
"../unescoparis/page16.html",
"../unescoparis/page17.html",
"../unescoparis/page18.html",
"../unescoparis/page19.html",
"../unescoparis/page20.html",
"../unescoparis/page21.html",
"../unescoparis/page22.html",
"../unescoparis/page23.html",
"../unescoparis/page24.html",
"../unescoparis/page25.html",
"../unescoparis/page26.html",
"../unescoparis/page27.html",
"../unescoparis/page28.html",
"../unescoparis/page29.html",
"../unescoparis/page30.html",
"../unescoparis/page31.html",
"../troilles/index.html",
"../troilles/page1.html",
"../troilles/page2.html",
"../troilles/page3.html",
"../troilles/page4.html",
"../troilles/page5.html",
"../troilles/page6.html",
"../troilles/page7.html",
"../mapage/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",
"../albumphoto/page12.html",
"../albumphoto/page13.html",
"../albumphoto/page14.html",
"../albumphoto/page15.html",
"../albumphoto/page16.html",
"../albumphoto/page17.html",
"../albumphoto/page18.html",
"../albumphoto/page19.html",
"../albumphoto/page20.html",
"../albumphoto/page21.html",
"../albumphoto/page22.html");
titlesArray = new Array("ADF BINCHE",
"HISTORIQUE",
"ROLE",
"CONTACTS",
"MEMBRES",
"SOCIETES RECONNUES",
"CARNAVAL",
"REPRESENTATIONS  DE L'ADF HORS CARNAVAL",
"AGENDA DES ACTIVITES",
"Liens favoris",
"ESPACE RESERVE AUX MEMBRES DE L'ADF",
"REPETITIONS DE BATTERIE",
"SOUMONCES EN BATTERIE",
"SOUMONCE EN MUSIQUE",
"DIMANCHE-GRAS",
"MARDI-GRAS",
"PIECE SANG D'BINCHOU",
"IMG_5094.JPG",
"IMG_5156.JPG",
"IMG_5108.JPG",
"IMG_5104.JPG",
"IMG_5117.JPG",
"IMG_5123.JPG",
"IMG_5133.JPG",
"IMG_5160.JPG",
"IMG_5163.JPG",
"IMG_5169.JPG",
"IMG_5181.JPG",
"IMG_5195.JPG",
"IMG_5213.JPG",
"IMG_5223.JPG",
"IMG_5277.JPG",
"IMG_5292.JPG",
"IMG_5300.JPG",
"IMG_5336.JPG",
"IMG_5342.JPG",
"IMG_5353.JPG",
"IMG_5370.JPG",
"IMG_5384.JPG",
"IMG_5388.JPG",
"IMG_5540.JPG",
"HORAIRE DES RECEPTIONS A L'HOTEL DE VILLE",
"JUBILAIRES",
"REPETITION DE BATTERIE",
"rb4.jpg",
"rb1.jpg",
"rb2.jpg",
"rb3.jpg",
"rb4.jpg",
"SOUMONCE EN BATTERIE",
"sb1.jpg",
"sb2.jpg",
"sb3.jpg",
"sb4.jpg",
"sb6.jpg",
"sb7.jpg",
"SOUMONCE EN MUSIQUE",
"sm6.jpg",
"sm2.jpg",
"sm3.jpg",
"sm4.jpg",
"sm5.jpg",
"sm6.jpg",
"DIMANCHE GRAS MATIN",
"dm1.jpg",
"dm2.jpg",
"dm3.png",
"dm5.png",
"dm6.jpg",
"dm7.jpg",
"DIMANCHE GRAS APRES MIDI",
"dam1.jpg",
"PREPARATION ET DEPART DU GILLE",
"m5h2.jpg",
"m5h3.jpg",
"m5h4.jpg",
"m5h5.jpg",
"m5h6.jpg",
"m5h7.jpg",
"m5h8.jpg",
"m5h9.jpg",
"m5h9.jpg",
"LES SOCIETES SE REGROUPENT",
"m8h1.jpg",
"m8h2.jpg",
"m8h3.jpg",
"LE GILLE PORTE LE MASQUE",
"mas1.jpg",
"mas2.jpg",
"mas3.jpg",
"mas4.jpg",
"mas5.jpg",
"mas6.jpg",
"mas7.jpg",
"RECEPTION A L'HOTEL DE VILLE ET REMISE DES MEDAILLES",
"v1.jpg",
"v2.png",
"v4.jpg",
"CORTEGE DE L'APRES MIDI",
"cam1.jpg",
"cam2.jpg",
"cam3.jpg",
"cam4.jpg",
"cam5.jpg",
"cam6.jpg",
"cam7.jpg",
"cam8.jpg",
"cam9.jpg",
"CORTEGE DU SOIR ET FEU D'ARTIFICE",
"cs1.jpg",
"cs2.png",
"cs3.jpg",
"cs6.jpg",
"cs7.jpg",
"cs8.jpg",
"Plusoultre.jpg",
"EXPOSITION AU SIEGE DE L'UNESCO A PARIS",
"unesco 002.jpg",
"unesco 003.jpg",
"unesco 006.jpg",
"unesco 007.jpg",
"unesco 008.jpg",
"unesco 009.jpg",
"unesco 010.jpg",
"unesco 011.jpg",
"unesco 013.jpg",
"unesco 014.jpg",
"unesco 017.jpg",
"unesco 019.jpg",
"unesco 023.jpg",
"unesco 024.jpg",
"unesco 025.jpg",
"unesco 026.jpg",
"unesco 027.jpg",
"unesco 028.jpg",
"unesco 029.jpg",
"unesco 030.jpg",
"unesco 031.jpg",
"unesco 032.jpg",
"unesco 033.jpg",
"unesco 034.jpg",
"unesco 039.jpg",
"unesco 040.jpg",
"unesco 045.jpg",
"unesco 050.jpg",
"unesco 060.jpg",
"unesco 061.jpg",
"unesco 062.jpg",
"TROUILLES GUENOUILLES",
"tn1.jpg",
"tn2.jpg",
"tn3.jpg",
"tn4.jpg",
"tn5.jpg",
"tn6.jpg",
"tn7.jpg",
"Nombre de participants 2009  par société",
"violes 2008",
"IMG_0621.JPG",
"IMG_0620.JPG",
"IMG_0619.JPG",
"IMG_0618.JPG",
"IMG_0617.JPG",
"IMG_0651.JPG",
"IMG_0648.JPG",
"IMG_0647.JPG",
"IMG_0646.JPG",
"IMG_0645.JPG",
"IMG_0641.JPG",
"IMG_0638.JPG",
"IMG_0637.JPG",
"IMG_0632.JPG",
"IMG_0631.JPG",
"IMG_0628.JPG",
"IMG_0627.JPG",
"IMG_0626.JPG",
"IMG_0625.JPG",
"IMG_0623.JPG",
"IMG_0622.JPG",
"IMG_0624.JPG");
descArray = new Array("",
"",
"",
"",
"",
"",
"Les pages qui suivent vous permettent de retrouver (en cliquant sur le bouton adéquat) tous les lieux, heures de départ et de dislocation des différen...",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"",
"",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"Utilisez ce modèle pour commencer un nouvel album photo vide.  Par défaut une bordure simple sera appliquée à vos photos, mais vous pourrez la changer...",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&");
sublinksArray = new Array(180);
var linksCount = 180;


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>");
}
