// ----------------------------------------------------------------------------
// 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 = "50";
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(" thermes aulus bains thermalisme ariege residences tout confort hotliere appartements studios sejour curiste location week-end semaine nuitee hebergement midi-pyrenees pyrenees centrale vacances montagne cure remise forme detente balneotherapie randonnees ski vtt cyclotourisme peche sports eaux vives cure thermale cholesterol diabete obesite goutte piscine sources station cascade d'ars fouillet  ",
" carte touristique couserans videos residences grand hotel promotions nouveautes tourisme vacances location d'appartements cours sejours week-end semaine nuitee studios hebergement midi-pyrenees ariege pyrenees aulus bains 09140 vacance montagne cure remise forme detente randonnees ski vtt cyclotourisme peche sports eaux vives cure thermale cholesterol diabete piscine sources station cascade d'ars ",
" residence hoteliere grand hotel etoiles promotions location appartement studio curiste vacances montagne nuitee thermalisme cure thermale remise forme espace detente balneotherapie randonnees pedestres raquettes station ski circuit vtt cyclotourisme peche torrents lacs sports eau vive locations d'appartements studios hebergement cholesterol diabete piscine sources ",
" tarifs promotions grand hotel residence tourisme locations d'appartements confort studios appartements personnes meubles television cuisine equipee avec spa fitness sauna ascenceur parking station thermales thermes thermalisme centre thermal sejours tarif week-end semaine nuitee locative midi-pyrenees ariege pyrenees vacances montagne aulus bains 09140 cure remise forme detente randonnees cyclotourisme minigolf tennis parcours aventure cascade d'ars ",
" hotel tourisme residence hotliere location appartements acces internet wifi gratuit postes salle fitness gymnastique spa sauna garage velos petits dejeuners picnic paniers repas parking seminaires reunions buffet froids chaud bar boissons detente remise forme appartement grand confort assenceur handicap ",
" thermes d'aulus bains station thermale aulus ariege cure thermalisme perte poids cholesterol diabete maladies metaboliques appareil reno-urinaire obesite goutte soins boisson sources prise charge mutuelle conference dietetique dieteticienne midi-pyrenees pyrenees  ",
" thermes aulus bains cure thermalisme thermale cholesterol diabete maladies metaboliques l'appareil reno-urinaire obesite goutte soins boisson sources naturelle station conference dietetique dieteticienne hydrotherapie massage modelage enveloppement boue midi-pyrenees ariege pyrenees  ",
" remise forme hydrotherapie balneotherapie massage modelage pierres chaudes epilation gommage enveloppement boue soins visage corps tarif formules forfait journee tarifs midi-pyrenees ariege pyrenees  ",
" aulus bains ariege aquagym piscine chauffee espace detente sources station thermal conference dietetique dieteticienne hydrotherapie massage modelage hammam jacuzzi enveloppement boue soins visage corps tarif formules tarifs midi-pyrenees pyrenees  ",
" peintre artiste vegetal peinture ecologique bio aquarelle fusain sulpture sculpteur sur bois ecorce fougere flreur racine algue mousse petales fleur seche cuisson four pressage sous verre cadre mesure exposition galerie rene dhombre ouvert toute l'annee permanente l'imagerie vegetale aulus bains ariege pyrenees ariegeoise midi randonnee ballade cascade d'ars fouillet garbet etang labant bassies guzet d'alate mont-valier refuge orri cabanes vallee l'ars couserans haut pyrenee peche torrent lacs etangs vtt cheveaux pastoralisme transhumance berger estive coumebiere itineraire randonnees photos cascades photos pyrennees  ",
" randonnee ballade gr10 via ferrata cascade d'ars fouillet garbet etang labant bassies guzet d'alate mont-valier refuge estagnous d'araing orri cabanes vallee l'ars couserans haut ariege midi pyrenee peche torrents lacs etangs long rond vtt cheveaux pastoralisme transhumance berger estive coumebiere aulus bains itineraire randonnees photos cascades photos pyrennees chemins sentiers chemin passeurs ",
" peintre artiste vegetal peinture ecologique bio aquarelle fusain sulpture sculpteur sur bois ecorce fougere flreur racine algue mousse petales fleur seche cuisson four pressage sous verre cadre mesure exposition galerie rene dhombre ouvert toute l'annee permanente l'imagerie vegetale aulus bains ariege pyrenees ariegeoise midi ",
" photos randonnees raquettes pedestres montagne neige nature patrimoine photo flore faune cascade fouillet acrobranches circuit aventure parapente casacade d'ars thermes tour france chateaux eglises pyrenees aulus bains ski circuits vtt cyclotourisme peche sports eaux vives rafting mont-valier etangs lacs bassies etang d'alet refuge guzet snow-park snowboard  ",
" 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 ",
" saisissez description image ici ",
" saisissez description image ici ",
" saisissez description image ici ",
" office tourisme couserans ariege acro'lus liens contact annuaires sites web midi-pyrenees pyrenees vacances montagne aulus bains mairie d'aulus thermes accompagnateurs cure remise forme detente randonnees ski raquettes rando vtt cyclotourisme peche sports eaux vives locations d'appartements studios hebergement cure thermale cholesterol diabete piscine source restaurants mini golf l'ours ");
urlsArray = new Array("../introduction/index.html",
"../topic/index.html",
"../groupederubrique/index.html",
"../mapage/index.html",
"../legrandhtel/index.html",
"../groupederubriqu1/index.html",
"../mapage1/index.html",
"../mapage2/index.html",
"../mapage3/index.html",
"../mapage6/index.html",
"../mapage4/index.html",
"../mapage5/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",
"../albumphoto/page23.html",
"../albumphoto/page24.html",
"../albumphoto/page25.html",
"../albumphoto/page26.html",
"../albumphoto/page27.html",
"../albumphoto/page28.html",
"../albumphoto/page29.html",
"../albumphoto/page30.html",
"../albumphoto/page31.html",
"../albumphoto/page32.html",
"../albumphoto/page33.html",
"../albumphoto/page34.html",
"../albumphoto/page35.html",
"../albumphoto/page36.html",
"../topic2/index.html");
titlesArray = new Array("LES RESIDENCES ET LES THERMES D' AULUS LES BAINS",
"ACCUEIL DES RESIDENCES DU HAUT COUSERANS",
"RESIDENCE HOTELIERE LE GRAND HÔTEL",
"TARIFS DU GRAND HOTEL",
"LE GRAND HÔTEL D'AULUS LES BAINS",
"LES THERMES D'AULUS LES BAINS",
"LA CURE A AULUS LES BAINS",
"ESPACE REMISE EN FORME",
"ESPACE DETENTE",
"LE HAUT COUSERANS",
"RANDONNEES  DANS LES CASCADES ET LACS",
"L'IMAGERIE VEGETALE",
"ALBUM PHOTOS DES PYRENEES ARIEGEOISES",
"DSCF0165.jpg",
"3Seigneurs.jpg",
"P1010055.jpg",
"##Isard#",
"VAUTOUR copie.jpg",
"mont ceint.jpg",
"## Guzet neige#",
"passerelle baserch.jpg",
"## Cascade du Fouillet#",
"## Aulus les Bains#",
"DSC01084.jpg",
"##SNOW.BOARD#",
"## Piste à Guzet#",
"##Piste raquettes#",
"##le Mont Valier#",
"## G.R.#",
"##VTT#",
"## Parapente#",
"##RAFTING#",
"## Le Salat#",
"## Tour de France#",
"##Acro-lus #",
"##etang Alet #",
"##Étang d'Alate#",
"##col de Bassiès#",
"##Port de Salau#",
"##Randonnées#",
"##MONT BEAS#",
"##Vallée d'Ars#",
"## Etangs de Bassiès#",
"## Cirque de Cagateille #",
"## Cominac#",
"##Oust#",
"##Seix#",
"##Vic d'Oust#",
"##Château de Seix#",
"LIENS DE PARTENAIRES");
descArray = new Array("Résidences hôtelière 3 étoiles, résidences de tourisme locatives le Grand Hôtel et les Trois Césars à Aulus les Bains en Ariège, locations de studios ...",
"Carte touristique de l'Ariège, vidéo des résidences locatives,les promotions, les nouveautés, la météo, les randonnées,désciptif du Couserans, le Gran...",
"Résidences de tourisme hôtelière à Aulus les Bains en Ariège, le grand hôtel, locations de studios et d'appartements dans le centre thermal d'Aulus le...",
"Résidence le grand hôtel, résidence de tourisme locative dans le centre thermal à Aulus les Bains en Ariège 09, locations de studios et d'appartements...",
"Les préstations de la résidence hôtelière le Grand Hôtel, les petits déjeuners, les piques-niques et paniers repas à emporter, salle de séminaires ave...",
"Les thermes d'Aulus les Bains, station thermale d'Aulus les Bains en Ariège, Pyrénées. Cure thermale pour le cholestérol, le diabète, les maladies de ...",
"Station thermale d'Aulus les Bains en Ariège, Pyrénées. Cure de boisson et soins d'hydrothérapie, prise en charge des soins par mutuelle, cure thermal...",
"Station thermale d'Aulus les Bains en Ariège, Pyrénées. Remise en forme et soins par l'hydrothérapie et la balnéothérapie, tarif pour remise en forme,...",
"Station thermale d'Aulus les Bains en Ariège, Pyrénées.  Piscine chauffée avec hammam et jacuzzi piscine à courant sous marin.  Tarif pour remise en f...",
"artiste peintre, artiste peintre bio, artiste peintre écologique, artiste peintre végétal, l'imagerie végétale à Aulus les bains, peinture à base de p...",
"Randonnées dans les lacs et étangs du Couserans et Haut Couserans, randonnées en lacs de Montagne, randonnée à la cascade d'Ars, randonnée à la cascad...",
"Artiste peintre à Aulus René Dhombres, artiste peintre bio, artiste peintre écologique, artiste peintre végétal, l'imagerie végétale à Aulus les bains...",
"Photos de la cascade d'Ars, photos d'Aulus les Bains en Ariège, photos des Pyrénées, photos du Haut Couserans, photos de montagne, photos de ski à Guz...",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"&",
"Liens des sites partenaires, office de tourisme, station de Guzet, acrobranches, les thermes d'Aulus les Bains, mairie d'Aulus les Bains, accompagnate...");
sublinksArray = new Array(50);
var linksCount = 50;


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>");
}
