// ----------------------------------------------------------------------------
// 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 = 0;
ONLINE_WEBSITE = 1;
ALLWORDSONLY = 0;
namesArray = new Array("  ",
" fete anges rouyn noranda 2011  ",
" parents orphelins notre campagne 2011  ",
" nouvelles bref  ",
" Évenements octobre 2011  ",
" l'association  ",
" mission positionnement  ",
"  ",
" naissance l'association  ",
" membres fondatrices l'association leurs histoires parents orphelins jour grace travail l'amitie quatre mamans orphelines d'abord avant tout parce cinq petits bebes ont existes voici comment maelie raphael gabriel lili-jeanne maram permis meres s'unir mettre sur pied ",
" conseil d'administration actuel l'association est forme sept administratrices ayant toutes vecues deuil perinatal ",
"",
"",
"",
"",
"",
"",
"",
" mot porte parole  ",
" calendrier  ",
" deuil perinatal quebec  ",
" chiffres donnees l'association parents orphelins travaille continuellement l'amelioration ses sur situation actuelle deuil perinatal quebec sujet elle invite tout chercheur professionnel ayant acces travaux recherches etudes statistiques communiquer avec info@parentsorphelins org ",
" protocole national prise charge deuil perinatal  ",
" conge parental deuil perinatal  ",
" services offerts l'association  ",
" repertoire quebecois ressources d'aide deuil perinatal  ",
" groupes soutien sont rencontres animees intervenantes milieu sante souvent infirmieres specialisees deuil perinatal dans but d'aider parents vivant leur cadre peut etre formel plus convivial facon general plupart temps sujet l'ordre jour encadrement d'offert  ",
" rencontres sous theme deuil perinatal  ",
" frequence premiers lundis chaque mois 19h30 21h30 centre plus boisbriand animer isabelle veilleux ",
"",
" telephone 450 508-6011 courriel info@9moisetplus adresse 3100 cours corbusier boisbriand quebec j7g 3e8 site www 9moisetplus  ",
" serie rencontres sous theme deuil…grandir  ",
" serie rencontres sur deuil possibilite groupes individuelles couple frequence groupe ont lieu chaque semaine selon besoins couples sont choix date debut novembre 2010 jour soir lorsque comptera personnes tout temps animer annie fournier frais nombre 80$ 10$ personne rencontre individuelle ",
" deuil est passage dans nos vies soit parce etes train vivre perinatal perte maladie separation divorce d'un travail etre cher experience richesse desirez partager avec d'autres vivent eux aussi situations voila groupe pour… parler parler… 1ere rencontre formuler objectifs participants 2eme raconter l'histoire son 3eme developper l'espoir resoudre 4eme debusquer resistances exprimer tristesse 5eme prendre conscience colere l'exprimer 6eme transformer culpabilite 7eme soin soi cours 8eme reajuster ses relations humaines 9eme passer l'action regler affaires non finies 10eme decouvrir sens 11eme pardonner personne disparue 12eme recuperer heritage ",
" telephone 819-353-1680 inscription information courriel aniefournier@hotmail com adresse 160 chemin luneau st-valere g0p 1m0  ",
" j'ecoute toute petite voix enfants  ",
" sessions sont semaines frequence rencontres ont lieu jeudis soirs animer marie-eve fortier ",
" groupe accueille enfants ans ont perdu personne significative amie frere soeur parent grand-parent  ",
" telephone 819 569-9009 site www naissancerenaissanceestrie com ",
" reves envoles-outaouais  ",
" groupe soutien parents ayant vecu deuil perinatal frequence date rencontres confirmer animer francine montigny infirmiere specialisee en ",
"",
" telephone 819 595-3900 poste 2350 courriel deuil@uqo ca	 adresse 283 boul alexandre tache hull	 ",
" mes anges charl ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu premier mercredi chaque mois 21h animer vicky roy Émilie legare infirmieres ",
" confirmation presence telephone est requise s'inscrire avant date lors rencontre participants doivent arriver 19h00 ",
" telephone 450 978-8300 faites puis poste 8349 adresse centre ambulatoire csssl 1515 boul chomedey laval quebec h7v 3y7 ",
" reves envoles nouveaux  ",
" reves envoles groupe soutien parents ayant vecu deuil perinatal nouveaux vivant grossesse suite frequence rencontres ont lieu deuxieme lundi chaque mois information venir animer lucie chicoine infirmiere ",
"",
" telephone 450 468-8111 2309 boite vocale adresse centre hospitalier pierre-boucher 1333 boul jacques-cartier est longueuil ",
" healing together  ",
" frequence meets the third tuesday every month animer ",
"",
" telephone 514-695-8529 adresse church the ressurection mount pleasant ave pointe-claire	 ",
" perseides 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu deuxieme mercredi mois 19h 22h animer mireille sylvie deux accompagnatrices l'organisation accompagnantes ",
" tous renseignements concernant rencontres venir rendez-vous sur lien ",
" telephone 418 990-2737 adresse 855 rue holland salon reed quebec 		 ",
" mariposa 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence chaque premier dimanche mois animer intervenantes formees en ",
" confirmation presence est obligatoire ",
" telephone 418 723-3944 adresse centre perinatal entre deux vagues 125 rene-lepage est bureau 312 rimouski g5l 1n2 site internet www entredeuxvagues com  ",
" poussiere d'ange 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu dernier mardi mois 19h 22h animer ",
"",
" telephone 819 569-3119 adresse naissance renaissance estrie 1190 bowen sud sherbrooke quebec 		 ",
" papillon bleu 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu deuxieme mardi mois 19h 21h animer nancy bourassa ",
" confirmation presence est obligatoire ",
" telephone 819 693-7665 adresse maison familles chemin roi 385 cote-richelieu trois-rivieres		 site internet http www mfcdr org ",
" l'essence-ciel 	 ",
" groupe soutien deuil perinatal frequence aux deux semaines janvier 2011 animer pascale pouliot travailleuse sociale mireille chevalier stagiaire terminera son bac travail social printemps ",
" rencontres ont lien dans centre perinatal chaleureux accueillant incluons journal creatif aux afin mieux exprimer son vecu informations n'hesitez pas visiter site internet d'obtenir dates exactes ainsi themes prenons inscriptions l'avance ",
" telephone 819 825-2323 adresse 694 3ieme avenue val-d'or site internet www empreintedevie org ",
" paroles aux anges 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu quatrieme jeudi mois 19h 22h animer manon cyr infirmiere petite enfance ",
"",
" telephone 450 455-6171 poste 359 adresse centre sante services sociaux csss vaudreuil-soulanges 490 boul harwood vaudreuil-dorion quebec j7v 7h4		 ",
" toi mon ange 	 ",
" groupe soutien parents ayant vecu deuil perinatal frequence rencontres ont lieu dernier mercredi mois 19h animer annie fournier denise dussault ",
"",
" telephone 819 758-4041 adresse associations parents ressources bois-francs rue st-paul victoriaville site internet http www parentsressources org themesoutiendeuil html  ",
" aide individuelle certains professionnels relation d'aide offrent services d'accompagnement individuel aux parents enfants freres soeur vivant deuil perinatal ces sont generalement payants peuvent etre gratuits veuillez communiquer avec plus d'information  ",
" photographes offrant souvenirs aux parents endeuilles certains offrent gratuitement leurs services vivent deuil perinatal travers quebec afin leur permettent conserver bebe ils deplacent l'hopital prendre photographies remettent ensuite celles-ci dans semaines suivants retour maison ",
" livres registre plus faits travers monde traitant deuil perinatal maniere generale est ici rendu accessible aux parents tout quebec ",
" liens internet  ",
" ouvrages reference outils intervenants  ",
" services funeraires  ",
" comment aider proche conseils parents orphelins  ",
" devenir membre  ",
" temoignages membres  ",
" faire don l'association plusieurs possibilites s'offrent desirez contribuer financement parents orphelins voici quatre ",
" levees fonds  ",
" amis l'association parents orphelins  ",
"  ",
" ruban epinglette deuil perinatal deces bebe mortinaissance mort in-utero utero fausse-couche interruption medicale grossesse img avortement accouchement premature prematurite neonatalogie hopital sainte-justine chu ste-justine pierre boucher charl reves envoles nouveaux groupe soutien cafe causerie nos petits anges paradis ange peine entraide ressources parents orphelins parent orphelin association maman papa mere pere psychologue infirmiere medecin gynecologue obstetricien sage femme sage-femme accoucheuse ",
" l'association parents orphelins mis sur pied campagne sensibilisation cause deuil perinatal 2008 faire elle creee ruban bleu rose symbolisant quebecois s'inspirant faisait dans d'autres pays travers monde explication symbolique veut commemorer passage bebes decedes vie gens ont aimes est utilise representer garcons filles sont unis juxtaposes forme boucle afin d'illustrer l'entraide rassemblement desirez appuyer cette initiative meme occasion aider financement procurez-vous son epinglette l'effigie tous profits ventes d'epinglettes reinvestis poursuivre mission celle-ci  ",
" l'association parents orphelins mis sur pied campagne sensibilisation cause deuil perinatal 2008 faire elle creee ruban bleu rose symbolisant quebecois s'inspirant faisait dans d'autres pays travers monde explication symbolique veut commemorer passage bebes decedes vie gens ont aimes est utilise representer garcons filles sont unis juxtaposes forme boucle afin d'illustrer l'entraide rassemblement desirez appuyer cette initiative meme occasion aider financement procurez-vous son autocollant voiture l'effigie tous profits ventes d'autocollants reinvestis poursuivre mission celle-ci  ",
" coin recherchistes journalistes  ",
" archives deuil perinatal dans medias  ",
" tous nos articles  ",
" opinion parent endeuille impacts deuil perinatal sur couple  ",
" opinion parent endeuille deuil perinatal non-reconnaissance d’une souffrance parentale  ",
" opinion parent endeuille deuil d'un petit-enfant  ",
" coin collaborateurs consulter restant courant desirez savoir passe actuellement dans milieu deuil perinatal etes bon endroit infirmieres medecins professionnels gens impliques cause garde informes ",
" archives d'avril 2010  ",
" archives mars 2010  ",
" archives fevrier 2010  ",
" archives janvier 2010  ",
" archives decembre 2009  ",
" archives novembre 2009  ",
" archives d'octobre 2009  ",
" Étienne drapeau  ",
" fete anges 2009 depuis plusieurs annees grande nommee ¨fete anges¨ lieu octobre dans villes monde afin commemorer passage petits bebes vie ceux ont aimes nommer quelques montreal quebec saguenay riviere loup font parties celles l'on voir cette annee centaines ballons s'envoler ciel dernier ",
" texte valerie dorion fete anges montreal 2009  ",
" joindre  ",
" nouvelles bref  ",
" fete anges 2009  ",
"  ",
" visite nos locaux photos l'interieur venir  ",
" services l'association  ",
" calendrier page d'accueil  ",
" pubs sensibilisation  ",
" videos l'association  ",
" melanie gagne  ",
" facebook  ",
" octobre  ",
" pub repertoire portail  ",
" fetes anges 2010  ");
urlsArray = new Array("../topic/index.html",
"../fetedesangesdern/index.html",
"../melanieetstephan/index.html",
"../nouvellesenbref1/index.html",
"../venementsoctobre/index.html",
"../mapage1/index.html",
"../lassociation1/index.html",
"../missionetpositi1/index.html",
"../lassociation/index.html",
"../albumphoto2/index.html",
"../lequipeactuelle/index.html",
"../lequipeactuelle/page1.html",
"../lequipeactuelle/page2.html",
"../lequipeactuelle/page3.html",
"../lequipeactuelle/page4.html",
"../lequipeactuelle/page5.html",
"../lequipeactuelle/page6.html",
"../lequipeactuelle/page7.html",
"../mapage6/index.html",
"../lesservices/index.html",
"../ledeuilperinatal/index.html",
"../lasituationauque/index.html",
"../protocolenationa/index.html",
"../congeparentalded/index.html",
"../naissancedunpro1/index.html",
"../mapage3/index.html",
"../groupesdesoutien/index.html",
"../groupesdesoutien/page1.html",
"../groupesdesoutien/page1.html",
"../groupesdesoutien/page1.html",
"../groupesdesoutien/page1.html",
"../groupesdesoutien/page2.html",
"../groupesdesoutien/page2.html",
"../groupesdesoutien/page2.html",
"../groupesdesoutien/page2.html",
"../groupesdesoutien/page3.html",
"../groupesdesoutien/page3.html",
"../groupesdesoutien/page3.html",
"../groupesdesoutien/page3.html",
"../groupesdesoutien/page4.html",
"../groupesdesoutien/page4.html",
"../groupesdesoutien/page4.html",
"../groupesdesoutien/page4.html",
"../groupesdesoutien/page5.html",
"../groupesdesoutien/page5.html",
"../groupesdesoutien/page5.html",
"../groupesdesoutien/page5.html",
"../groupesdesoutien/page6.html",
"../groupesdesoutien/page6.html",
"../groupesdesoutien/page6.html",
"../groupesdesoutien/page6.html",
"../groupesdesoutien/page7.html",
"../groupesdesoutien/page7.html",
"../groupesdesoutien/page7.html",
"../groupesdesoutien/page7.html",
"../groupesdesoutien/page8.html",
"../groupesdesoutien/page8.html",
"../groupesdesoutien/page8.html",
"../groupesdesoutien/page8.html",
"../groupesdesoutien/page9.html",
"../groupesdesoutien/page9.html",
"../groupesdesoutien/page9.html",
"../groupesdesoutien/page9.html",
"../groupesdesoutien/page10.html",
"../groupesdesoutien/page10.html",
"../groupesdesoutien/page10.html",
"../groupesdesoutien/page10.html",
"../groupesdesoutien/page11.html",
"../groupesdesoutien/page11.html",
"../groupesdesoutien/page11.html",
"../groupesdesoutien/page11.html",
"../groupesdesoutien/page12.html",
"../groupesdesoutien/page12.html",
"../groupesdesoutien/page12.html",
"../groupesdesoutien/page12.html",
"../groupesdesoutien/page13.html",
"../groupesdesoutien/page13.html",
"../groupesdesoutien/page13.html",
"../groupesdesoutien/page13.html",
"../groupesdesoutien/page14.html",
"../groupesdesoutien/page14.html",
"../groupesdesoutien/page14.html",
"../groupesdesoutien/page14.html",
"../aideindividuelle/index.html",
"../photographes/index.html",
"../livres/index.html",
"../mapage/index.html",
"../ouvrages/index.html",
"../servicesfunerair/index.html",
"../aiderunproche/index.html",
"../topic1/index.html",
"../voscommentaires/index.html",
"../mapage5/index.html",
"../leveesdefondsave/index.html",
"../lesservices1/index.html",
"../lerubanquebecois/index.html",
"../magasin/index.html",
"../magasin/page1.html",
"../magasin/page2.html",
"../journalistes/index.html",
"../ledeuilperinata1/index.html",
"../toutesleschroniq/index.html",
"../lanon-reconnaiss/index.html",
"../ledeuilperinata2/index.html",
"../avisdeparents/index.html",
"../lecoindescollabo/index.html",
"../avril2010/index.html",
"../mars2010/index.html",
"../fevrier2010/index.html",
"../janvier2010/index.html",
"../decembre2009/index.html",
"../novembre2009/index.html",
"../octobre2009/index.html",
"../lafetedesanges20/index.html",
"../journeemondialed/index.html",
"../textevaleriedori/index.html",
"../topic3/index.html",
"../nouvellesenbref/index.html",
"../trombinoscope/index.html",
"../albumphoto/index.html",
"../visitedenoslocau/index.html",
"../servicesdelassoc/index.html",
"../calendrierdelapa/index.html",
"../pubssensibilisat/index.html",
"../videosdelassocia/index.html",
"../melaniegagne/index.html",
"../facebook/index.html",
"../15octobre/index.html",
"../pubrepertoirepor/index.html",
"../fetesdesanges2010/index.html");
titlesArray = new Array("Parents Orphelins",
"Fête des anges de Rouyn Noranda 2011",
"Les parents orphelins de notre campagne 2011",
"Nouvelles en bref",
"Événements octobre 2011",
"L'Association",
"Mission et positionnement",
"Parents Orphelins",
"Naissance de l'Association",
"Les membres fondatrices de l'Association... et leurs histoires",
"Le conseil d'administration actuel",
"Véronique Latte, présidente",
"Geneviève Beaupré, vice-présidente",
"Sophie Delay, trésorière",
"Mélanie Lepage, secrétaire",
"Chantal Blouin, administratrice",
"Marie-Ève Darveau, administratrice",
"Mychelle Périard, administratrice",
"Mot de la porte parole",
"Le calendrier",
"Le deuil périnatal au Québec",
"Chiffres et données",
"Protocole national de prise en charge du deuil périnatal",
"Congé parental de deuil périnatal",
"Services offerts par l'Association",
"Répertoire québécois des ressources d'aide au deuil périnatal",
"Groupes de soutien",
"Boisbriand",
"Description",
"Informations",
"Contact",
"Bois-Francs",
"Description",
"Informations",
"Contact",
"Estrie",
"Description",
"Informations",
"Contact",
"Hull",
"Description",
"Informations",
"Contact",
"Laval",
"Description",
"Informations",
"Contact",
"Longueuil",
"Description",
"Informations",
"Contact",
"Montréal - secteur anglophone",
"Description",
"Informations",
"Contact",
"Québec",
"Description",
"Informations",
"Contact",
"Rimouski",
"Description",
"Informations",
"Contact",
"Sherbrooke",
"Description",
"Informations",
"Contact",
"Trois-Rivières",
"Description",
"Informations",
"Contact",
"Val D'Or",
"Description",
"Informations",
"Contact",
"Vaudreuil",
"Description",
"Informations",
"Contact",
"Victoriaville",
"Description",
"Informations",
"Contact",
"Aide individuelle",
"Photographes offrant des souvenirs aux parents endeuillés",
"Livres",
"Liens Internet",
"Ouvrages de référence et outils pour intervenants",
"Services funéraires",
"Comment aider un proche: conseils de parents orphelins",
"Devenir membre",
"Témoignages des membres",
"Faire un don à l'Association",
"Levées de fonds",
"Les amis de l'Association Parents Orphelins",
"Parents Orphelins",
"Boutique de l'Association",
"Épinglette",
"Autocollant pour voiture",
"Coin des recherchistes et journalistes",
"Archives: Le deuil périnatal dans les médias",
"Tous nos articles",
"Opinion de parent endeuillé: Les impacts du deuil périnatal sur le couple",
"Opinion de parent endeuillé: Le deuil périnatal ou la non-reconnaissance d’une souffrance parentale",
"Opinion de parent endeuillé: Le deuil d'un petit-enfant",
"Le coin des collaborateurs",
"Archives d'avril 2010",
"Archives de mars 2010",
"Archives de février 2010",
"Archives de janvier 2010",
"Archives de décembre 2009",
"Archives de novembre 2009",
"Archives d'octobre 2009",
"Étienne Drapeau",
"La Fête des anges 2009",
"Texte lu par Valérie Dorion à la Fête des anges de Montréal 2009",
"Nous joindre",
"Nouvelles en bref",
"Fête des Anges 2009",
"Parents Orphelins",
"Visite de nos locaux",
"Services de l'Association",
"Calendrier de la page d'Accueil",
"Pubs sensibilisation",
"Vidéos de l'Association",
"Mélanie Gagné",
"Facebook",
"15 octobre",
"Pub répertoire portail",
"Fêtes des Anges 2010");
descArray = new Array("",
"",
"",
"",
"",
"",
"",
"",
"",
"L'Association Parents Orphelins a vu le jour grace au travail et à l'amitié de quatre mamans orphelines, mais d'abord et avant tout parce que cinq pet...",
"Le conseil d'administration de l'Association est formé de sept administratrices ayant toutes vécues un deuil périnatal.",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"",
"",
"",
"L'Association Parents Orphelins travaille continuellement à l'amélioration de ses données et chiffres sur la situation actuelle du deuil périnatal au ...",
"",
"",
"",
"",
"Les groupes de soutien sont des rencontres animées par des intervenantes du milieu de la santé, souvent des infirmières spécialisées en deuil périnata...",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"Certains professionnels en relation d'aide offrent des services d'accompagnement individuel aux parents ou enfants (frères et soeur) vivant un deuil p...",
"Certains photographes offrent gratuitement leurs services aux parents qui vivent un deuil périnatal à travers le Québec, afin de leur permettent de co...",
"Un registre de plus de 75 livres faits à travers le monde, traitant du deuil périnatal ou du deuil de manière plus générale, est ici rendu accessible ...",
"",
"",
"",
"",
"",
"",
"Plusieurs possibilités s'offrent à vous si vous désirez contribuer au financement de l'Association Parents Orphelins, en voici quatre:",
"",
"",
"",
"",
"&",
"&",
"",
"",
"",
"",
"",
"",
"À consulter pour restant au courant!  Vous désirez savoir ce qui se passe actuellement dans le milieu du deuil périnatal? Vous êtes au bon endroit!  I...",
"",
"",
"",
"",
"",
"",
"",
"",
"Depuis plusieurs années une grande fête nommée la ¨Fête des anges¨ a lieu en octobre dans plusieurs villes du monde afin de commémorer le passage de p...",
"",
"",
"",
"",
"",
"Photos de l'intérieur des locaux à venir...",
"",
"",
"",
"",
"",
"",
"",
"",
"");
sublinksArray = new Array(130);
var linksCount = 130;


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>");
}

