// ----------------------------------------------------------------------------
// 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 = 0;
USE_UTF8 = 0;
REMOVE_ACCENTS = 1;
BOLD_LINKS = 0;
ONLINE_WEBSITE = 1;
ALLWORDSONLY = 1;
namesArray = new Array(" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100 citernes  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" habitat ecologique conseil briques refractaires chauffe eau solaire chaffage bois poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon d'eau chaude terre crue fonte chauffage central  ",
" habitat ecologique conseil briques refractaires chauffe eau solaire chaffage bois poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon d'eau chaude terre crue fonte  ",
" l'Économie d'eau  ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100 citernes  ",
" economies d'energies eolien photovoltaique hydroelectricite led economie d'energie enconomie d'energie energie 100 renouvelables  ",
" production individuelle d'electricite verte photovoltaÏque  ",
" production individuelle d'electricite verte Éolienne  ",
" production individuelle d'electricite verte hydraulique  ",
" salubrem tous matÉriaux l'habitat Écologique recuperation d'eau pluie Énergies renouvelables ",
" Êtes architecte maÎtre d'oeuvre salubrem ingenieur conseil est ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100  ",
" habitat ecologique conseil briques refractaires chauffe eau solaire chaffage bois poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon d'eau chaude terre crue fonte  ",
" salubrem tous Équipements production individuelle d'electricite verte photovoltaÏque Éolienne hydraulique  ",
" salubrem tous Équipements Économie d'eau recuperation pluie l'assainissement individuel autonome eaux grises plantes ",
" attentes salubrem enginierie conseil  ",
" toilettes sÈches  ",
" l'assainissement individuel autonome plantes  ",
" salubrem harmonie avec l'environnement ",
" pollutions electromagnetiques danger ",
" equipements l'habitat ecologique conseil habitat recuperation d'eau pluie recyclage eaux grises assainissement individuel autonome toilettes seches economies d'energies eolien photovoltaique hydroelectricite micro centrale hydraulique construction paille ossature bois veranda mur trombe terre crue puits canadien provencal reseaux distribution citerne souple economie isolation briques refractaires chauffe eau solaire chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude fonte chauffage central led d'energie enconomie d'energie energie 100 citernes  ",
" tous equipements l'habitat ecologique artisanat local reseau social cooperative d'activites d'emploi centres d'aide travail solaire thermique photovolotaique recuperation l'eau pluie autonomie eau vis societes gestionnaires eaux assainissement autonome plantes traitement selectif grises  ",
" pensez habitat ecologique salubrem l'habitat selon tout d'abord apporte tous conseils utiles meilleur prix maison ossature bois ballots paille enduits terre chaux avec isolation toiture laine mouton chanvre comportant veranda d'un mur trombe est equipee puitq canadien murs sur facade sud sont cloisons crue chauffage pourvu bouiileur fourniture d'eau chaude sanitaire l'hiver couple chauffe eau solaire systeme ete hiver 100 energie renouvelable zero pollution installation production electrique eolienne photovoltaique hydraulique fournit prduction branche sreseau enercoop pourrez revendre surplus utiliser reseau besoin cas echeant citerne pluie jusqu'a autonomie totale toilettes seches compost d'epuration eaux grises epaule dans etudes toutes demarches met relation artisans locaux peut prendre charge maitrise d'oeuvre complete informons eco-villages eco-hameaux region vilegiature presque cle main deplacement possible chantiers 06-23-96-66-04 ",
" salubrem construction maisons individuelles Écologiques bioclimatiques bretagne  ",
" sauvons notre planete  ",
" salubrem harmonie avec l'environnement liens utiles ",
" habitat ecologique materiaux ecologiques conseil maison ossature bois charpente construction paille monomur brique terre crue compressee fuste madriers corde briques pierre pise adobe refractaires isolation enduit chaux laine mouton lin chanvre banche ouate cellulose fondations solaire passif mur trombe serre-veranda veranda puits lumiere canadien provencal liege torchis bauge jour reseaux distribution site isole enercoop epuration eaux grises eau biocompatible citerne recuperation d'eau pluie decantation beton enterree souple alimentaire baies vitrees toilettes litiere biomaitrisee tlb chauffe chaffage poele masse bouilleur recuperateur energies renouvelables echangeur plaques ballon chaude  ",
" deux types d'habitats Écologique salubrem  ",
" rh2 l'eau pluviale eau acide sels mineraux citerne beton enterree acidite neutre legerement basique faiblement mineralisee mineralisation pluie desinfectee chlore reseaux distribution autonomie caracteristiques chimico-electroniques ideal  ",
" dimenssionner systeme chauffage  ",
" salubrem harmonie avec l'environnement ",
" exemple charte d'eco lotissement salubrem  ",
" compostage  ",
" gestion dÉchets  ",
" salubrem harmonie avec l'environnement ",
" humidite confort dans l'habitat  ",
" traitement l'air plantes  ",
" equipez-vous traqueur soleil  ",
" demandez ici etude future maison bois  ",
" systeme collectif gestion eaux l'assainissement  ",
" lire fiches techniques materiaux affichees chez vendeurs utilisez modele commencer page vierge ",
" l'electricite france  ",
" chauffage electriqu utilisez modele commencer page vierge ",
" equivalences-bois utilisez modele commencer page vierge ",
" beton est aberation anti-ecologique utilisez modele commencer page vierge ",
" back-up  ",
" remerciements  ",
" mentions legales  ");
urlsArray = new Array("../presentation/index.html",
"../lemondedesalubre/index.html",
"../construction/index.html",
"../lesecretdubientr/index.html",
"../lhabitatbioclima/index.html",
"../lutilisationdele/index.html",
"../lechauffage/index.html",
"../lechauffeeausola/index.html",
"../economisonsleau/index.html",
"../recuperationdele/index.html",
"../lelectricite/index.html",
"../lelectricitephot/index.html",
"../lelectriciteeoli/index.html",
"../electricitehydra/index.html",
"../pourvousequipeza/index.html",
"../mapage1/index.html",
"../demandedinformat/index.html",
"../demandematerielc/index.html",
"../electriciteequip/index.html",
"../equipementsderec/index.html",
"../form-archi_mo/index.html",
"../toilettesseches/index.html",
"../epurationdeseaux/index.html",
"../quepensez-vousde/index.html",
"../pollutionselectr/index.html",
"../salubrempresenta/index.html",
"../produirelesenerg/index.html",
"../mamaisonindividu/index.html",
"../lamaisonecoligiq/index.html",
"../engagez-vous/index.html",
"../mapage/index.html",
"../lossaturebois/index.html",
"../lesdeuxtypesdhab/index.html",
"../leaubonneaboireo/index.html",
"../dimenssionchauff/index.html",
"../nrmeassainisseme/index.html",
"../lecolotissements/index.html",
"../lecompostagedesd/index.html",
"../lagestiondesdech/index.html",
"../legislationsurla/index.html",
"../humiditeetconfor/index.html",
"../letraitementdela/index.html",
"../lestraqueursdeso/index.html",
"../votremaisonenboi/index.html",
"../systemecollectif/index.html",
"../fichetechniquema/index.html",
"../lelectriciteenfr/index.html",
"../chauffageelectri/index.html",
"../equivalences-boi/index.html",
"../lebeton/index.html",
"../back-up/index.html",
"../reercieents/index.html",
"../mentionslegales/index.html");
titlesArray = new Array("POUR  TOUT  VOTRE  HABITAT  ÉCOLOGIQUE                                                                                 UN  SEUL  SITE:      SALUBREM  ...",
"POUR  TOUT  VOTRE  HABITAT  ÉCOLOGIQUE                                                                                 UN  SEUL  SITE:      SALUBREM  ...",
"POUR  TOUT  VOTRE  HABITAT  ÉCOLOGIQUE                                                                                 UN  SEUL  SITE:      SALUBREM  ...",
"LE SECRET DU CONFORT THERMIQUE DANS VOTRE HABITAT: L'ISOLATION",
"L'HABITAT BIOCLIMATIQUE",
"L' UTILISATION  DE LA TERRE CRUE",
"LE  CHAUFFAGE   BOIS   POÊLE  DE  MASSE OU  POÊLE A BOIS  AVEC  BOUILLEUR OU SERPENTIN POUR L'EAU CHAUDE SANITAIRE",
"LES  CHAUFFE   EAU  BOIS + SOLAIRES  ET  NOTRE ÉCONOMISEUR  D'EAU",
"L'ÉCONOMIE  D'EAU",
"LA RECUPERATION ET LA POTABILISATION DE L'EAU DE PLUIE",
"GENERALITES  SUR L'ELECTRICITE  VERTE   INDIVIDUELLE",
"LA  PRODUCTION  INDIVIDUELLE  D'ELECTRICITE  VERTE  PHOTOVOLTAÏQUE",
"LA PRODUCTION  INDIVIDUELLE  D'ELECTRICITE  VERTE  ÉOLIENNE",
"LA PRODUCTION INDIVIDUELLE D'ELECTRICITE  VERTE  HYDRAULIQUE",
"SALUBREM TOUS  VOS  MATÉRIAUX  POUR  L'HABITAT  ÉCOLOGIQUE                                            LA RECUPERATION  D'EAU  DE  PLUIE               ...",
"VOUS ÊTES ARCHITECTE  OU  MAÎTRE D'OEUVRE                                                      SALUBREM   INGENIEUR  CONSEIL  EST  POUR  VOUS",
"SALUBREM  TOUS  VOS  MATÉRIAUX  POUR  L'HABITAT  ÉCOLOGIQUE   BIOCLIMATIQUE  AU  MEILLEUR  PRIX",
"SALUBREM  ÉQUIPEMENTS  EN  CHAUFFAGE  AU  BOIS   ET                                                  CHAUFFE EAU  BOIS  ET   SOLAIRE",
"SALUBREM TOUS  LES  ÉQUIPEMENTS  POUR  LA  PRODUCTION  INDIVIDUELLE  D'ELECTRICITE  VERTE  PHOTOVOLTAÏQUE   ÉOLIENNE  HYDRAULIQUE",
"SALUBREM        TOUS  LES  ÉQUIPEMENTS  POUR L' ÉCONOMIE  D'EAU,                            LA  RECUPERATION D'EAU  DE  PLUIE  ET  L'ASSAINISSEMENT IN...",
"VOS  ATTENTES  DE  SALUBREM  ENGINIERIE - CONSEIL",
"LES  TOILETTES  SÈCHES",
"L'ASSAINISSEMENT  INDIVIDUEL  AUTONOME  PAR  LES  PLANTES",
"SALUBREM        UNE HARMONIE AVEC L'ENVIRONNEMENT",
"POLLUTIONS ELECTROMAGNETIQUES   DANGER",
"L'ECO-PRÊT A TAUX ZÉRO",
"MATÉRIAUX ÉNERGIES EAU POUR L'HABITAT ÉCOLOGIQUE LOCALISER OU CONTINUER A CENTRALISER ?",
"SALUBREM  CONSTRUCTION  DE  MAISON  ÉCOLOGIQUE  BIOCLIMATIQUE",
"SALUBREM  CONSTRUCTION DE MAISONS INDIVIDUELLES ÉCOLOGIQUES BIOCLIMATIQUES EN BRETAGNE",
"SAUVONS  NOTRE  PLANETE",
"SALUBREM        UNE HARMONIE AVEC L'ENVIRONNEMENT   LIENS  UTILES",
"L'OSSATURE  BOIS",
"LES DEUX TYPES D'HABITATS ÉCOLOGIQUE SALUBREM",
"LES QUALITÉS  ÉLECTRONIQUES ET PHYSICO CHIMIQUES   DE L'EAU",
"DIMENSSIONNER VOTRE SYSTEME DE CHAUFFAGE",
"SALUBREM        UNE HARMONIE AVEC L'ENVIRONNEMENT",
"UN EXEMPLE DE CHARTE D'ECO LOTISSEMENT SALUBREM",
"LE  COMPOSTAGE",
"LA GESTION DES DÉCHETS",
"SALUBREM        UNE HARMONIE AVEC L'ENVIRONNEMENT",
"HUMIDITE ET CONFORT DANS L'HABITAT",
"LE TRAITEMENT DE L'AIR PAR LES PLANTES",
"EQUIPEZ-VOUS  EN  TRAQUEUR  DE  SOLEIL",
"DEMANDEZ  ICI  VOTRE  ETUDE  POUR  VOTRE  FUTURE  MAISON  EN  BOIS",
"LE SYSTEME COLLECTIF DE GESTION DES EAUX ET DE L'ASSAINISSEMENT",
"LIRE LES FICHES TECHNIQUES DES MATERIAUX AFFICHEES CHEZ LES VENDEURS",
"L'ELECTRICITE EN FRANCE",
"Chauffage electriqu",
"Equivalences-Bois",
"Le béton est une abération anti-écologique",
"Back-up",
"remerciements",
"MENTIONS  LEGALES");
descArray = new Array("Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Un chauffage au bois, poele à bois ou poele de masse. Un bouilleur intégré pour l'eau chaude sanitaire, couplé à un chauffe eau solaire, relié à un éc...",
"habitat ecologique,conseil en habitat écologique,briques refractaires,chauffe eau solaire, chaffage bois, solaire+bois,poele à bois, poele de masse,bo...",
"",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Produisez vous même votre électricité verte 100 % énergies renouvelables (solaire, éolien ou hydraulique). En autonomie totale ou en revendant le surp...",
"",
"",
"",
"",
"",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"Une maison bioclimatique pourvu d'un mur trombe ou d'une véranda,d'un puits canadien,équipée d'un chauffage au bois écologique,un poêle à bois ou un p...",
"",
"",
"",
"",
"",
"",
"",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"L'HABITAT ECOLOGIQUE AU MEILLEUR PRIX  TOUS LES CONSEILS  EN  HABITAT ECOLOGIQUE  TOUS LES EQUIPEMENTS ET  MATERIELS  DONT VOUS AVEZ BESOIN  CONFIEZ-N...",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"",
"",
"",
"",
"",
"Nous souhaitons tous rester en bonne santé et pour cela nous faisons attention à notre alimentation et à notre hygiène physique et mentale. Pourtant u...",
"",
"",
"Vous pensez habitat écologique, pensez SALUBREM. L'habitat écologique selon SALUBREM, tout d'abord, vous apporte tous les conseils utiles, et au meill...",
"",
"",
"",
"",
"",
"",
"",
"",
"Utilisez ce modèle pour commencer une page vierge",
"",
"Utilisez ce modèle pour commencer une page vierge",
"Utilisez ce modèle pour commencer une page vierge",
"Utilisez ce modèle pour commencer une page vierge",
"",
"",
"");
sublinksArray = new Array(53);
var linksCount = 53;


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>");
}
