// ----------------------------------------------------------------------------
// Lauyan Software Javascript Search Engine 2.0
//
// This file is the JavaScript search engine for a website created by TOWeb
//
// Copyright (C) LAUYAN SOFTWARE 2006
// web: http://www.lauyan.com
// ----------------------------------------------------------------------------

STR_SEARCH_QUERY_MSG = "Résultats de la recherche pour";
STR_NO_RESULT = "Aucun résultat trouvé";
LBL_QUERY_RESULT = "résultat(s) trouvé(s) pour :&nbsp";
LBL_ITREFERENCE  = "Référence";
LBL_ITPRICE = 'Prix';
LBL_PRICEERROR = "Erreur de prix";
MIN_WORD_LEN = 2;
DISPLAY_SRCH_INFO = 1;
USE_UTF8 = 0;
REMOVE_ACCENTS = 1;
BOLD_LINKS = 0;
ONLINE_WEBSITE = 1;
ALLWORDSONLY = 0;
SHOWREFERENCES = 0;
BORDERCOLOR = "#4D4D4D";
SORTCOMPARE = 2;
itNamesArray = new Array("SLMLuxeAEU serie realiser sur mesure serrure ventes sont vierge gravure cle d'origine ",
"fermoirAEU seriez realiser sur mesure laiton poli dorer tres haute qualite  ",
"SLMLuxeUS hauteur total largeur platine cle d'origine ",
"coinsL50 coins laiton poli dorer massif arrete mm ",
"coinsL40 coins laiton poli dorer massif arrete mm ",
"coinsL30 coins laiton poli dorer massif arrete mm ",
"coinsNI34 coins laiton poli dorer massif arrete mm ",
"coinsNI40 coins acier nickeler arrete  ",
"eque2T28x105 trous  ",
"eque3T28x105 trous ",
"eque2T35x105 trous ",
"roulLaiton roulettes cote dessous malle comme l'ancienne laiton ",
"cralux fixe avec clous vis laiton non fournies ",
"ferACL65 env  ",
"CLluxenuage hauteur total plus large ",
"CLluxeauto hauteur total plus large ",
"PE",
"PMA",
"PMAnik env haut  ",
"SAM platine env  ",
"sv001 serrure valise malles dimensions hauteur total platine largeur ",
"svN0010 serrure valise malles dimensions hauteur total platine largeur 5 ",
"svN0011 serrure valise malles dimensions hauteur total platine largeur ",
"svN0012 serrure valise malles dimensions hauteur total platine largeur ",
"svN0014 serrure valise malles dimensions hauteur total platine largeur 7 ",
"svN0017 serrure valise malles dimensions hauteur total platine largeur 5 ",
"svN0021 serrure valise malles dimensions hauteur total platine largeur ",
"svN0022 serrure valise malles dimensions hauteur total platine largeur 4 ",
"CLUSA350 clous acier tordable aisement special fixation poignees passant ",
"CLSA250 clous acier tordable aisement special fixation poignees passant ",
"CLUSA125 clous acier tordable aisement special fixation poignees passant ",
"D-3530 clous laiton diametre tete long  ",
"cbL27-8 tete longueur  ",
"cbL27-8x100 tete longueur  ",
"cl27X10 diametre tete env longueur queue retournable  ",
"cbL27-8 tete longeur variable selon dispos  ",
"cl213 tete longueur  ",
"clcor8mm diamtre long  ",
"SUSA serrure laiton double tour neuve ",
"2PMfermoirUSA laiton sur acier env ",
"2GMfermoirUSA laiton sur acier env ",
"fermoirUSA hauteur largeur 06 ",
"Paire001 25cm plus moins epaisseur cuir teinte clair pret l'emploi peut etre aisement foncer ",
"Paire002 long hauteur passant epaisseur cuir teinte clair poignees sur gauche photo ",
"Paire003 cuir teinte clair peut etre aisement foncer ",
"PtiroW env  ",
"PtiroW",
"poimet largeur hauteur 88 ",
"porteetiq 110x dim etiq 50x70  ",
"D4314 passant acier laitonner poignee valise malles attention dimensions uniquement petite ref ptirow largeur longueur hauteur ouverture 03cm c'est distance dont cuir rentre dans fixation metal ",
"PavecPin largeur longueur hauteur ouverture poignee 13cm c'est distance dont cuir rentre dans fixation metal ",
"D4336 largeur longueur hauteur ouverture poignee 13cm c'est distance dont cuir rentre dans fixation metal ",
"S4320 largeur longueur hauteur ouverture poignee 97cm c'est distance dont cuir rentre dans fixation metal ",
"pm poignee passant  ",
"aV",
"PS attention couture necessaire colle textile ",
"roulLaiton roulettes cote dessous malle comme l'ancienne laiton ",
"boullaiton boule fond malle acier avec laiton  ",
"Char01 charnieres laiton sur acier ",
"Char02 neuve  ",
"compas1 compas malle acier ",
"D4418 63x5 cm ",
"d4456 acier sur laiton 94cmx5 94x5 94 ",
"d4518 acier sur laiton longueur pattes env largeur 20 ",
"coinsNI34 coins acier arrete  ",
"coinsNI40 coins acier nickler arrete  ",
"coinsdo34 coins acier laiton arrete trou face ",
"coinsdo40 coins acier laiton arrete trous face ",
"coindo50 coins acier laiton trous faces d'arrete ",
"livreRMV");
itUrlsArray = new Array("../clousetrivet1/page1.html",
"../clousetrivet1/page2.html",
"../clousetrivet1/page3.html",
"../clousetrivet1/page4.html",
"../clousetrivet1/page5.html",
"../clousetrivet1/page6.html",
"../clousetrivet1/page7.html",
"../clousetrivet1/page8.html",
"../clousetrivet1/page9.html",
"../clousetrivet1/page10.html",
"../clousetrivet1/page11.html",
"../clousetrivet1/page12.html",
"../clousetrivet1/page13.html",
"../magasin/page1.html",
"../magasin/page2.html",
"../magasin/page3.html",
"../magasin/page4.html",
"../magasin/page5.html",
"../magasin/page6.html",
"../pieceancienne/page1.html",
"../pieceancienne/page2.html",
"../pieceancienne/page3.html",
"../pieceancienne/page4.html",
"../pieceancienne/page5.html",
"../pieceancienne/page6.html",
"../pieceancienne/page7.html",
"../pieceancienne/page8.html",
"../pieceancienne/page9.html",
"../topic1/page1.html",
"../topic1/page2.html",
"../topic1/page3.html",
"../topic1/page4.html",
"../topic1/page5.html",
"../topic1/page6.html",
"../topic1/page7.html",
"../topic1/page8.html",
"../topic1/page9.html",
"../topic1/page10.html",
"../catalogue/page1.html",
"../catalogue/page2.html",
"../catalogue/page3.html",
"../catalogue/page4.html",
"../clous/page1.html",
"../clous/page2.html",
"../clous/page3.html",
"../clous/page4.html",
"../clous/page5.html",
"../clous/page6.html",
"../clous/page7.html",
"../clous/page8.html",
"../clous/page9.html",
"../clous/page10.html",
"../clous/page11.html",
"../clous/page12.html",
"../clous/page13.html",
"../clous/page14.html",
"../clousetrivet/page1.html",
"../clousetrivet/page2.html",
"../clousetrivet/page3.html",
"../clousetrivet/page4.html",
"../clousetrivet/page5.html",
"../serrureetfermoir/page1.html",
"../serrureetfermoir/page2.html",
"../serrureetfermoir/page3.html",
"../serrureetfermoir/page4.html",
"../serrureetfermoir/page5.html",
"../serrureetfermoir/page6.html",
"../serrureetfermoir/page7.html",
"../serrureetfermoir/page8.html",
"../librairie/index.html");
itTitlesArray = new Array("Serrure NEUVE  laiton MASSIF poli dorer + clé",
"Fermoir - Crapaud   NEUF  laiton MASSIF",
"Serrure laiton MASSIF nuage + clé",
"8 Coins laiton MASSIF 50 mm",
"8 Coins laiton MASSIF  40  mm",
"8 Coins laiton MASSIF 30  mm",
"8 Coins Nickler 34  mm",
"8 Coins Nickler 40   mm",
"8  Equerre  laiton MASSIF  en 28mmX105",
"8  Equerre  laiton MASSIF  en 28mmX105",
"8  Equerre  laiton  MASSIF  en 35mmX105",
"4 Roulettes  pour  coté et dessous de malle en LAITON MASSIF",
"Fermoir ou crapaud  en laiton massif  pour valise",
"1 paire de fermoir  ancien   Acier laitonner",
"Crapaud ou fermoir , laiton massif",
"Crapaud ou fermoir , laiton massif  ( auto)",
"1 porte  étiquette acier",
"2 poignées  métallique 10x 7 CM",
"Paire de crapaud  Nickel - acier",
"1 Serrure  Acier + cle",
"1 serrure LAITON pour Valises - Malles avec  clé",
"1 serrure nickel ( sans clé)",
"1 serrure nickel ( avec  clé)",
"1 serrure métal  ( avec  clé)",
"1 serrure nickel   ( avec  clé)",
"1 serrure metal    ( sans  clé)",
"1 serrure nickel     ( sans   clé)",
"1 serrure nickel     ( sans   clé)",
"Clou  pour malle USA   en Acier ou laiton  3.50cm",
"Clou  pour malle USA   en Acier ou laiton  2.5 cm",
"Clou  pour malle USA   en Acier ou laiton  1.2 cm",
"12 Clou  laitonné pour malle USA",
"1 Clou  bombée   laitonné",
"100  Clou  bombée   laitonné",
"Clou  LENTILLE  pour malle européenne",
"Clou  bombée",
"Petit Clou laitonné  bombée pour intérieur de capot",
"100 Clous ACIER  de  cornières",
"Serrure +  clé",
"1 Paire de Fermoir - Crapaud",
"1 Paire de Fermoir - Crapaud",
"2  tres  grand fermoir laiton massif",
"Paire de poignée  Standard 001",
"Paire de poignée  pour malle de luxe  002",
"Paire de poignée  pour malle USA / Allemande et  malle cintré  003",
"Poignée  pour tiroir de Wardrobe",
"Tres grande paire de poignée pour Wardrobe (  env 30 cm",
"1 Paire de poignée  métal",
"Porte  etiquettes",
"Paire de passant Acier/laiton",
"Paire de passant acier laiton avec clous  central pour poignée 003",
"Paire de passant acier laiton SANS  clous  central POUR  poignée 001 ou 002",
"4  Cache de poignée  US  Pour poignée 002",
"Poignée metalique pour valise années 40",
"Paire d'anneau  passant  pour valise ancienne",
"Paire de passant de sangles de valises , chassis  de malle",
"4 Roulettes  pour  coté et dessous de malle en LAITON",
"4 boule de fond de malle",
"2  charnieres  laiton sur acier",
"2  charnieres nikeler",
"1  Compas  de malle",
"8 Coins   acier laitonner",
"8 Coins acier laitonner",
"16 équerre   acier laitonner",
"8 Coins acier Nickler 34  mm",
"8 Coins acier Nickler40   mm",
"8 Coins doree  34  mm",
"8 Coins doree  40   mm",
"8 coins  acier doree 50 mm",
"Restauration des malles de voyage   Eyrolles editions");
itDescArray = new Array("Serie  realiser  sur mesure   Les  serrure  en ventes  sont vierge de gravure 1 clé  d'origine",
"Seriez  réaliser  sur mesure   Laiton poli dorer tres  haute  qualité  .",
"Hauteur total  14 cm , largeur platine 7.5 cm  1 clé  d'origine",
"Coins en laiton poli dorer  laiton massif   Arrete de  50 mm",
"Coins en laiton poli dorer  laiton massif   Arrete de  40 mm",
"Coins en laiton poli dorer  laiton massif   Arrete de  30  mm",
"Coins en laiton poli dorer  laiton massif   Arrete de  34  mm",
"Coins en ACIER NICKELER Arrete de  40  mm",
"2  TROUS",
"3   TROUS",
"2   TROUS",
"4 Roulettes  pour  coté et dessous de malle comme  a l'ancienne  laiton",
"Se fixe  avec des clous ou des  vis  laiton non fournies",
"Env  6.5  cm",
"Hauteur total  13 cm  X  6.5  au plus large",
"Hauteur total  10.5  cm  X  5 cm  au plus large",
"",
"",
"Env 8 cm  de haut",
"platine de 10 cm  env",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  5.5  cm   Hauteur  platine  3 cm  largeur  platine 5.3 cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  4  cm  largeur  platine 7.5  cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  4,5  cm  largeur  platine 8,5  cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  5  cm  largeur  platine 8  cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  4,5   cm  largeur  platine 7,5   cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  4   cm  largeur  platine 7.5    cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  6.5  cm   Hauteur  platine  3.5   cm  largeur  platine  6     cm",
"Serrure pour valise - malles   Dimensions  :  - Hauteur  total  8  cm   Hauteur  platine  5   cm  largeur  platine  4.5      cm",
"Clous  acier  tordable aisement  .  Special  fixation des poignées  ou passant",
"Clous  acier  tordable aisement  .  Special  fixation des poignées  ou passant",
"Clous  acier  tordable aisement  .  Special  fixation des poignées  ou passant",
"Clous  laiton  . Diamètre de La tête 1.88 cm Long. 2.5 cm",
"Tete de 8 mm  Longueur  26",
"Tete de 8 mm  Longueur  26",
"Diamètre tête env 9    Longueur queue 27  Retournable",
"Tete de 8 mm  Longeur  variable de 22 a 28  selon dispos",
"Tete de 5  mm  Longueur  12",
"3 mm  de diamtre  et  8 mm  de long  .",
"Serrure  laiton  a double  tour   neuve",
"Laiton sur acier  6.5 cm X 3.7 cm  env",
"Laiton sur acier  8.7 m  x 6.5  env",
"Hauteur. 17.5 cm Largeur 9.06",
"25CM x6 au plus et 2,4 au moins et 0.8 epaisseur    Cuir  teinté  clair  pret a l'emploi  , peut  etre  aisement  foncer",
"long 28.5 , Hauteur passant 3 cm  epaisseur 0,8 mm  Cuir  teinté  clair  (  poignées sur la gauche  de la photo)",
"22 cm X3 CM   Cuir  teinté  clair  ( peut etre aisement  foncer )",
"env 10 cm",
"",
"Largeur :15.31 cm Hauteur : 6.88 cm",
"110X 65 MM DIM  ETIQ 50X70",
"Passant  en acier  laitonner  pour  poignée  de valise et malles .  ATTENTION  DIMENSIONS !!  Uniquement pour poignée  petite REF:  PtiroW Largeur : 4.70 Cm Longueur : 1.56 cm Hauteur : 0.94 cm Ouverture pour la poignée 2.03cm c'est la distance dont la poignée cuir rentre dans la fixation metal",
"Largeur : 8.13 Cm Longueur : 3.13 cm Hauteur : 0.63 cm Ouverture pour la poignée 3.13cm c'est la distance dont la poignée cuir rentre dans la fixation metal",
"Largeur : 8.13 Cm Longueur : 3.13 cm Hauteur : 0.63 cm Ouverture pour la poignée 3.13cm c'est la distance dont la poignée cuir rentre dans la fixation metal",
"Largeur : 5.78 Cm Longueur : 5.31 cm Hauteur : 0.63 cm Ouverture pour la poignée 7.97cm c'est la distance dont la poignée cuir rentre dans la fixation metal",
"La poignée et les 2 passant",
"",
"Attention .. couture necessaire  ou colle textile",
"4 Roulettes  pour  coté et dessous de malle comme  a l'ancienne  laiton",
"4 boule de fond de malle Acier  avec laiton",
"2  charnieres  laiton sur acier",
"Neuve",
"1  Compas  de malle   acier",
"5.63X5.63X5.63 CM",
"acier sur Laiton 5.94cmX5.94X5.94",
"acier sur Laiton Longueur des pattes : 4.5 cm env Largeur 3.20 env",
"Coins en acier Arrete de  34  mm",
"Coins en acier Nickler Arrete de  40  mm",
"Coins en acier + laiton   Arrete de  34  mm  1  trou  / face",
"Coins en acier + laiton   Arrête de  40   mm  2  trous par face",
"Coins  acier + laiton   3  trous par faces   50 mm  d'arrete",
"");
itImgArray = new Array("../clousetrivet1/bv000025.thumb.jpg",
"../clousetrivet1/bv000027.thumb.jpg",
"../clousetrivet1/bv000023.thumb.jpg",
"../clousetrivet1/bv000002.thumb.jpg",
"../clousetrivet1/bv000001.thumb.jpg",
"../clousetrivet1/bv000005.thumb.jpg",
"../clousetrivet1/bv000007.thumb.jpg",
"../clousetrivet1/bv000011.thumb.jpg",
"../clousetrivet1/bv000013.thumb.jpg",
"../clousetrivet1/bv000015.thumb.jpg",
"../clousetrivet1/bv000017.thumb.jpg",
"../clousetrivet1/bv000009.thumb.jpg",
"../clousetrivet1/bv000019.thumb.jpg",
"../magasin/bv000002.thumb.jpg",
"../magasin/bv000001.thumb.jpg",
"../magasin/bv000003.thumb.jpg",
"../magasin/bv000004.thumb.jpg",
"../magasin/bv000005.thumb.jpg",
"../magasin/bv000008.thumb.jpg",
"../pieceancienne/bv000001.thumb.jpg",
"../pieceancienne/bv000002.thumb.jpg",
"../pieceancienne/bv000011.thumb.jpg",
"../pieceancienne/bv000012.thumb.jpg",
"../pieceancienne/bv000013.thumb.jpg",
"../pieceancienne/bv000015.thumb.jpg",
"../pieceancienne/bv000018.thumb.jpg",
"../pieceancienne/bv000022.thumb.jpg",
"../pieceancienne/bv000023.thumb.jpg",
"../topic1/bv000002.thumb.jpg",
"../topic1/bv000005.thumb.jpg",
"../topic1/bv000007.thumb.jpg",
"../topic1/bv000001.thumb.jpg",
"../topic1/bv000021.thumb.jpg",
"../topic1/bv000025.thumb.jpg",
"../topic1/bv000009.thumb.jpg",
"../topic1/bv000013.thumb.jpg",
"../topic1/bv000015.thumb.jpg",
"../topic1/bv000011.thumb.jpg",
"../catalogue/bv000002.thumb.jpg",
"../catalogue/bv000001.thumb.jpg",
"../catalogue/bv000007.thumb.jpg",
"../catalogue/bv000005.thumb.jpg",
"../clous/bv000002.thumb.jpg",
"../clous/bv000009.thumb.jpg",
"../clous/bv000011.thumb.jpg",
"../clous/bv000019.thumb.jpg",
"../clous/bv000021.thumb.jpg",
"../clous/bv000015.thumb.jpg",
"../clous/bv000013.thumb.jpg",
"../clous/bv000001.thumb.jpg",
"../clous/bv000005.thumb.jpg",
"../clous/bv000007.thumb.jpg",
"../clous/bv000017.thumb.jpg",
"../clous/bv000023.thumb.jpg",
"../clous/bv000025.thumb.jpg",
"../clous/bv000027.thumb.jpg",
"../clousetrivet/bv000001.thumb.jpg",
"../clousetrivet/bv000005.thumb.jpg",
"../clousetrivet/bv000007.thumb.jpg",
"../clousetrivet/bv000011.thumb.jpg",
"../clousetrivet/bv000009.thumb.jpg",
"../serrureetfermoir/bv000002.thumb.jpg",
"../serrureetfermoir/bv000001.thumb.jpg",
"../serrureetfermoir/bv000015.thumb.jpg",
"../serrureetfermoir/bv000009.thumb.jpg",
"../serrureetfermoir/bv000013.thumb.jpg",
"../serrureetfermoir/bv000008.thumb.jpg",
"../serrureetfermoir/bv000011.thumb.jpg",
"../serrureetfermoir/bv000005.thumb.jpg",
"../librairie/bv000001.thumb.jpg");
itRefArray = new Array("SLMLuxeAEU",
"fermoirAEU",
"SLMLuxeUS",
"coinsL50",
"coinsL40",
"coinsL30",
"coinsNI34",
"coinsNI40",
"eque2T28x105",
"eque3T28x105",
"eque2T35x105",
"roulLaiton",
"cralux",
"ferACL65",
"CLluxenuage",
"CLluxeauto",
"PE",
"PMA",
"PMAnik",
"SAM",
"sv001",
"svN0010",
"svN0011",
"svN0012",
"svN0014",
"svN0017",
"svN0021",
"svN0022",
"CLUSA350",
"CLSA250",
"CLUSA125",
"D-3530",
"cbL27-8",
"cbL27-8x100",
"cl27X10",
"cbL27-8",
"cl213",
"clcor8mm",
"SUSA",
"2PMfermoirUSA",
"2GMfermoirUSA",
"fermoirUSA",
"Paire001",
"Paire002",
"Paire003",
"PtiroW",
"PtiroW",
"poimet",
"porteetiq",
"D4314",
"PavecPin",
"D4336",
"S4320",
"pm",
"aV",
"PS",
"roulLaiton",
"boullaiton",
"Char01",
"Char02",
"compas1",
"D4418",
"d4456",
"d4518",
"coinsNI34",
"coinsNI40",
"coinsdo34",
"coinsdo40",
"coindo50",
"livreRMV");
itPricesArray = new Array(250,
79,
120,
192,
180,
145,
45,
52,
38,
42,
48,
82,
18,
16,
60,
60,
9,
19,
14,
39,
11,
7,
11,
7,
12,
7,
7,
11,
0.49,
0.39,
0.35,
15,
0.49,
39,
0.50,
0.50,
0.50,
14,
30,
18,
22,
51,
38,
42,
42,
9,
38,
27,
9,
6,
10,
16,
19,
15,
0.90,
6,
68,
9,
12,
13,
12,
37,
48,
45,
45,
52,
45,
52,
82,
22);
var itemsCount = 70;
var catalogdirs = new Array("/clousetrivet1/",
"/magasin/",
"/pieceancienne/",
"/topic1/",
"/catalogue/",
"/clous/",
"/clousetrivet/",
"/serrureetfermoir/",
"/librairie/");
var catalognames = new Array("Piece de luxe",
"Piece Ancienne",
"Serrure ancienne",
"Clous et rivet",
"Serrure et fermoir",
"Poignée et passant",
"Charnières, roulettes",
"Coins et equerre",
"librairie");

			
function SubmitSearch(n)
{
	var p = document.getElementsByName("jse_query");
	if( p < 0) return false;
	if( p && p[n] && p[n].value != "" ) 
	{
	  if( (p[n].value).replace(/^\s+|\s+$/g, '') != "" ) 
	  {
		var idx = 0;
		p = document.getElementsByName("minprice");
		if( p && p[idx] )
		{
			if( p[idx].value != "" && isNaN(p[idx].value) )
			{
				if( LBL_PRICEERROR != "" )
					alert( LBL_PRICEERROR );
				return false;
			}
		}
		p = document.getElementsByName("maxprice");
		if( p && p[idx] )
		{
			if( p[idx].value != "" && isNaN(p[idx].value) )
			{
				if( LBL_PRICEERROR != "" )
					alert( LBL_PRICEERROR );
				return false;
			}
		}
		p = document.getElementsByName("jse_form");
		if( p && p[n] )
			p[n].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 SortCompare2(a, b)
{
	if( SORTCOMPARE == 1 ) 
	{
	    if (a[3] < b[3]) return 1;
	    else if (a[3] > b[3]) return -1;
	    else return 0;
	}
	else if( SORTCOMPARE == 0 )
	{
	    if (a[3] > b[3]) return 1;
	    else if (a[3] < b[3]) return -1;
	    else return 0;
	}
	return -1;
}

function jseSearch2( 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();
  var sortp = getParam("sort");
  if( sortp == "0" ) {
	SORTCOMPARE = 0;
  } else if( sortp == "1" ) {
	SORTCOMPARE = 1;
  } else if( sortp == "2" )
	SORTCOMPARE = 2;
  var catfilterp = getParam("cat");
  var minPrice = getParam("minprice");
  var maxPrice = getParam("maxprice");
 
  // display the search form
  var lnktarget = "";
	query = formatChars(query);
  if( query.length == 0 ) return;
  
  var found=0, t=0, k=0, score=0, i=0;
  var keyword = "", tmp = "";
  var searchWords = new Array();

  // split search query by spaces
  searchWords = query.split(" ");
  // init result table information
  res_table = new Array(itemsCount);
  for( t=0; t<itemsCount; t++ )
  {
    res_table[t] = new Array(3);
    res_table[t][0] = 0;  // index
    res_table[t][1] = 0;  // score
    res_table[t][2] = 0;  // words found
    res_table[t][3] = 0;  // price
  }

  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<itemsCount; q++ )
	  {
		// catalog filter verification
	    if( catfilterp != "" && catfilterp != "allcat" && itUrlsArray[q].indexOf(catfilterp) == -1 ) 
			continue;
		// min and max price filter
	    if( minPrice > 0 && itPricesArray[q] < minPrice )
			continue;
	    if( maxPrice > 0 && itPricesArray[q] > maxPrice )
			continue;
		// search for keywords (an exact word doubles the score)
		score = 0;
		tmp = formatChars(itDescArray[q]);
	    if( tmp.indexOf(keyword) != -1 ) score++;
	    if( tmp.indexOf(' '+keyword+' ') != -1 ) score+=2;
		  tmp = formatChars(itTitlesArray[q]);
	  	if( tmp.indexOf(keyword) != -1 ) score++;
		  if( tmp.indexOf(' '+keyword+' ') != -1 ) score+=2;
		  tmp = formatChars(itNamesArray[q]);
	    if( tmp.indexOf(keyword) != -1 ) score++;
	    if( tmp.indexOf(' '+keyword+' ') != -1 ) score+=2;
			
	    if( score > 0 ) // && itPricesArray[q] > 0 )  // add this test in order not to display 0.00 prices 
	    {
		  if( res_table[q][1] <= 0 ) 
			found++;	// increment only if not already found with a previous keyword
	      res_table[q][0] = q;
	      res_table[q][1] = 1; // itPricesArray[q];
	      res_table[q][2]++;
	      res_table[q][3] = itPricesArray[q];
	    }
	  }
	}
  }
  if( found == 0 ) {
    document.write("<br><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++;
	}
	if( internal == null || internal != 1 ) {
		document.writeln( "<span class='wg-paragraph'>" + found + " " + LBL_QUERY_RESULT + "<strong>" +query+"</strong></span>" );
	}
	// sort by words found and scores
	if( SORTCOMPARE >= 0 && SORTCOMPARE <= 1 )
		res_table.sort(SortCompare2);	
    // display the results
	document.writeln("<table border='1' class='wg-paragraph' bordercolor='"+BORDERCOLOR+"' style='border-collapse:collapse;margin:4px;' cellspacing='2' cellpadding='2' >");

	for( var q=0; q<itemsCount; 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
		document.writeln("<tr valign='top'><td>");
		if( itImgArray[t] != "" ) {
			document.writeln("<a href=\"" + itUrlsArray[t] + lnktarget + "\">" + "<img src='"+itImgArray[t]+"' border='0' width=\"48\" height=\"48\" /></a>" );
		}
		document.writeln("</td><td>");
		if( 1 ) { //BOLD_LINKS ) {
          document.writeln("<b><a href=\"" + itUrlsArray[t] + lnktarget + "\">" + itTitlesArray[t] + "</a></b><br>" );
        } else
          document.writeln("<a href=\"" + itUrlsArray[t] + lnktarget + "\">" + itTitlesArray[t] + "</a><br>" );
		if( SHOWREFERENCES && itRefArray[t] != "" ) {
			var ref = itRefArray[t].split(' ');
			if( ref && ref[0] != "" ) 
				document.writeln( LBL_ITREFERENCE+" : "+ref[0]+"<br>" );
		}
        if( itDescArray[t].length > 2 )
			document.writeln( itDescArray[t]);
		document.writeln("</td><td nowrap>");
		if( itPricesArray[t] != ""  && itPricesArray[t] > 0 )
			document.writeln( LBL_ITPRICE+"<br><b>"+AddMonetarySymbol(moneyFormat(itPricesArray[t]))+"</b>" );
		else
			document.writeln( "&nbsp;" );
		document.writeln("</td></tr>");
      }
	}
	document.writeln("</table>");			
  }
  document.writeln("<br>");
}

