//---------------------------------------------------------------------
//
//            Rainer Eschen's  _____          __             _ __
//           _______   ______ / ___ \________/ /    _____ __(_) /____
//          / __/ -_) (_-< -_) / _ `/ __/ __/ _ \_ (_-< // / / __/ -_)
//         /_/  \__(_)___|__/\ \_,_/_/  \__/_//_(_)___|_,_/_/\__/\__/
//                            \___/            ___   ___  ___  ___
//       Client-side                          |_  | / _ \/ _ \/ _ \
//     search engines, for Internet,         / __/_/ // / // / // /
//   Intranet, CDROM, Harddisk, Disk        /____(_)___/\___/\___/
//
//
//
//   Copyright (c) 1997-99 by rainer eschen search.technology
//                 All rights reserved.
//
//   English version 4.1 (10/04/99)
//
//---------------------------------------------------------------------
//
// indexHTML: consts
var index_max = 77;
var glossaryMode = false;
//var lastupdate = "3/15/00, 12:13:14 AM <B><FONT COLOR='#FF0000'>You have no license for this search engine</FONT></B>";  // Created by re.se@rch.index.html 2.000 Beta (3)
var lastupdate = "3/15/00, 12:13:14 AM";  // Created by re.se@rch.index.html 2.000 Beta (3)

// Index definition  
var entry = new arrayCreate();  // Database
var g;                          // Glossary database

// Input frame
var cInput         = "";     // Input string
var cBeginOfWord   = true;   // true== compare with begin 
var cCaseSensitive = false;  // true== case-sensitive comparison 

// Scanner variables
var cLiteral    = "";     // Keyword in input string
var input       = "";     // Rest of input string
var token       = "";     // last found token

// Scanner tokens
var tEOF      = 0; 
var tOr       = 1; 
var tAnd      = 2; 
var tNot      = 3; 
var tSubOpen  = 4; 
var tSubClose = 5;
var tLiteral  = 6;

// Parser variables
var error      = false;  // Error found, stop analysis

// Converting umlaute
var charsSmall = "àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ";
var charsLarge = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ";

//------------------------------------------------- Array handling -

function arrayCreate() {
// *****************************************************************
// * Function...: arrayCreate
// * Description: Array object for entries
// *****************************************************************

  this.item     = new Array();
  this.length   = aLength;    // Return length
  this.add      = aAdd;       // Add element
  this.concat   = aConcat;    // Concatenate two arrays and add the
                              // argument array to yourself 			 
  this.sort     = aSort;      // Sort array
}

function aLength() {
// *****************************************************************
// * Function...: arrayCreate.length
// * Description: Return number of entries
// *****************************************************************

  return this.item.length;
}

function aAdd(element) {
// *****************************************************************
// * Function...: arrayCreate.add
// * Description: Add entry to array
// *****************************************************************

  this.item[this.item.length] = element;
}

function aConcat(array) {
// *****************************************************************
// * Function...: arrayCreate.concat
// * Description: Concatenate the array with yourself and return the
// *              self reference
// *****************************************************************

  if (array != this) {
    for (var i = 0; i < array.length(); i++) {
      this.item[this.item.length] = array.item[i];
    }
  }
  return this;
}

function aSort(functionRef) {
// *****************************************************************
// * Function...: arrayCreate.sort
// * Description: Set sort function
// *****************************************************************

  this.item.sort(functionRef);
}

//------------------------------------------------- Array elements -

function entryCreate() {
// *****************************************************************
// * Function...: entryCreate
// * Description: Database constructor
// *****************************************************************

  this.keywords;            // All keywords
  this.page;                // URL of page
  this.description;         // Topic description of the page
}

function foundCreate() {
// *****************************************************************
// * Function...: foundCreate
// * Description: "Keywords found" constructor
// *****************************************************************

  this.position;                 // Corresponding position in database
  this.percent    = 100;         // Percent of equal characters 
  this.keywords   = "Click";     // Found keywords (equal characters 
                                 // marked)
  this.exists     = false;       // true: entry already exists in array
  this.addPercent = gAddPercent; // Concatenate percentage
  this.addKeyword = gAddKeyword; // Concatenate keywords
}

function gAddPercent(percent) {
// *****************************************************************
// * Function...: foundCreate.addPercent
// * Description: Calculate percentage (new keyword concatenation)
// *****************************************************************

  this.percent = Math.round((this.percent + percent) / 2);
}

function gAddKeyword(keywords) {
// *****************************************************************
// * Function...: foundCreate.addKeyword
// * Description: Add new keyword
// *****************************************************************

  if (this.keywords == "Klick") {
    this.keywords = keywords; 
  }
  else {
    if ((keywords == "Klick") && (this.keywords != "")) {
      // ignore
    }
    else { 
      if (this.keywords != keywords) {
        this.keywords = this.keywords + "<br>" + keywords;
      }
    }
  }
}

function sortPercent(x,y) {
// *****************************************************************
// * Function...: sortPercent
// * Description: Sort function for foundCreate.sort (according to
//                percentage)
// *****************************************************************

  if (x.percent < y.percent) {return -1};
  if (x.percent > y.percent) {return 1};
  return 0;
}

//------------------------------------------------------- Database -

function init() {
// *****************************************************************
// * Function...: init
// * Description: Init database
// *****************************************************************

  for (var i = 0; i <= index_max; i++) {
    entry.add(new entryCreate());
  }
// indexHTML: glossary

// indexHTML: array
entry.item[0].keywords = "2000,Back,Brick,bring,Characters,Cities,company," +
                         "Construction,Contact,content,copyright,creating," +
                         "details,Disclaimers,featured,future,hard,images," +
                         "Inventory,Links,Main,MOC,model,Models,new," +
                         "Objects,original,Page,remain,Search,Site,Stories," +
                         "text,Under,visits,Wars,Webmaster,working";
entry.item[0].page = "build.htm";
entry.item[0].description = "L'ex.'s Construction Brick Site (Under " +
                            "Construction)";
entry.item[1].keywords = "2000,adult,adults,adventurer,adventures,AKA," +
                         "Amusement,Assault,attorney,Back,beautiful,Bill," +
                         "Biologic,Brick,bricks,brings,bug,buy,Carly,case," +
                         "Cast,Characters,children,Christmas,City,Claus," +
                         "company,Construction,Contact,copyright,creating," +
                         "destination,details,Disclaimers,elf,engineer," +
                         "enjoy,entrepeneure,equal,fanaticism,far,favored," +
                         "featured,fiancee,figures,following,forensic," +
                         "found,good,great,Green,grow,Hero,hope,images," +
                         "internet,Inventory,job,jolly,junkie,keep,kind," +
                         "Laboratories,Lawyer,Lego,Links,Main,Maniac," +
                         "Manuel,mini,mini-figure,MOC,model,Models," +
                         "Nickolas,Objects,old,original,Page,Park,partner," +
                         "parts,photo,proprietor,psychologist,Raccoon," +
                         "ranging,refusing,remain,Research,resident,Ricky," +
                         "Santa,Search,sell,Site,stories,studying,take," +
                         "tell,text,think,time,Timmy,toys,trouble,unknown," +
                         "Victor,Wars,Webmaster";
entry.item[1].page = "characters/index.htm";
entry.item[1].description = "L'ex.'s Construction Brick Site (Cast of " +
                            "Characters)";
entry.item[2].keywords = "2000,address,Back,book,Brick,Characters,Cities," +
                         "comments,company,construction,Contact,copyright," +
                         "creating,details,Disclaimers,email,enter," +
                         "featured,guest,handle,images,Inventory,Links," +
                         "Main,message,MOC,model,Models,name,Objects," +
                         "original,page,remain,Search,site,Stories,Subject," +
                         "text,use,Wars,web,Webmaster";
entry.item[2].page = "contact.htm";
entry.item[2].description = "Contact L'ex";
entry.item[3].keywords = "2000,acquired,and/or,ask,Back,Brick,broken,Buy," +
                         "Characters,City,Color,company,Construction," +
                         "contact,copyright,creating,details,Disclaimers," +
                         "discuss,Dream,ebay,featured,Figures,flea,garage," +
                         "general,hard,images,Inventory,Lego,Links,List," +
                         "looking,Main,markets,missing,MOC,model,Models," +
                         "Name,Number,Objects,original,Page,Part,Parts," +
                         "Pieces,Quantity,remain,sales,Search,Sell,sets," +
                         "Site,specific,Stories,text,Trade,unattached,Wars," +
                         "Webmaster,willing,wish,Year";
entry.item[3].page = "inv/bst.htm";
entry.item[3].description = "L'ex.'s Construction Brick Site (Buy, Sell, " +
                            "or Trade Page)";
entry.item[4].keywords = "112,2000,Adventure,Adventurers,Aliens,Alligator," +
                         "ANIMALS,Aquanauts,Arctic,Army,Astronauts,Back," +
                         "Bandit,Bats,Beach,Bears,Belville,Bend/Brick," +
                         "Best-Lock,Birds,Blacktron,Block-Men,Brick,Bugs," +
                         "Butterflies,Castle,Cat,Characters,City,Classic," +
                         "Coast,company,Conquistadors,construction," +
                         "Constuction,Contact,copyright,creating,CREATURES," +
                         "Criminal,Deep,Deputy,details,Disclaimers,Divers," +
                         "Dolphin,Dragon,Droids,Duplo,Elephant,etc,Extreme," +
                         "Fabuland,Faries,featured,Fighters,Figures,Fire," +
                         "Force,Ghosts,Guard,Horses,Hydronauts,Ice,images," +
                         "Imperials,Indian,Insectoids,Inventory,Jedi," +
                         "Knights,Links,Main,Marshall,Medical,Mega-Block," +
                         "Men,MOC,model,Models,Monkey,M-Tron,Mummy," +
                         "Naitives,Navy,Ninja,Non-Lego,Non-Poseable," +
                         "Objects,Octopus,Old,original,Page,Parrots,Patrol," +
                         "People,Pirate,Pirates,Planet,Police,Rabbits,Race," +
                         "Raiders,Ray,Rebels,remain,Robo,Robots,Rock,Royal," +
                         "Scorpions,Sea,Search,Shark,Sherriff,site,Sith," +
                         "Skeletons,Snakes,Soldier,Space,Specialty,Spiders," +
                         "Star,Sting,Stories,Storm,Team,Technic,text,Town," +
                         "Troopers,UFO,Wars,Webmaster,Western,Witches," +
                         "Women,Woodsmen";
entry.item[4].page = "inv/figures.htm";
entry.item[4].description = "L'ex & Carly's Mini-Figure Inventory";
entry.item[5].keywords = "2000,Back,Brick,Buy,Character,Characters,City," +
                         "company,Construction,Contact,copyright,creating," +
                         "details,Disclaimers,featured,Figures,images," +
                         "Inventory,Lego,Links,Main,Mini-Fig,MOC,model," +
                         "Models,Objects,original,Page,remain,Reviews," +
                         "Search,Sell,Site,Stories,text,Themes,Trade,Wars," +
                         "Webmaster";
entry.item[5].page = "inv/index.htm";
entry.item[5].description = "L'ex.'s Construction Brick Site (Inventory)";
entry.item[6].keywords = "100,109,110,112,113,119,120,126,127,131,132,133," +
                         "147,157,165,170,185,197,1990,1993,1994,1995,1996," +
                         "1997,1998,1999,2000,20382,20622,207,212,216,250," +
                         "253,273,278,300,3012,342,343,344,361,375,392,402," +
                         "412,417,433,5824,5902,5918,5925,5928,5936,5938," +
                         "5956,5958,5978,5988,6007,6008,6013,6027,6031," +
                         "6032,6033,6037,6044,6045,6083,6088,6089,6093," +
                         "6094,6097,6107,6109,6110,6145,6244,6270,6278," +
                         "6281,6324,6327,6328,6354,6373,6377,6378,6387," +
                         "6395,6420,6424,6425,6429,6431,6432,6434,6437," +
                         "6441,6444,6445,6452,6453,6458,6463,6465,6470," +
                         "6474,6477,6490,6496,6499,6508,6510,6520,6522," +
                         "6531,6553,6555,6556,6558,6559,6567,6569,6573," +
                         "6578,6579,6582,6586,6589,6626,6646,6669,6682," +
                         "6706,6709,6716,6746,6748,6766,6799,6814,6817," +
                         "6818,6829,6837,688,6902,6903,6905,6936,6943,6975," +
                         "6999,710,7101,7104,7110,7111,7115,7121,7128,7130," +
                         "7131,7141,7144,7151,7161,7171,727,8500,8501,8502," +
                         "8503,8504,8505,8506,8507,8815,894,9719," +
                         "accessories,Adventurers,Air,Airstrip,Alien," +
                         "Amazon,Ambush,Anikin,Aqua,Aquanauts,Arctic," +
                         "Armada,Assault,Astronaut,Avenger,Back,Baron,Base," +
                         "Bat,Beach,Belville,Best,Beta,Bikes,Bi-Wing," +
                         "Blaster,Blaze,BlockMen,Boulder,Bounty,Brick," +
                         "Bridge,Bug,Buggy,Buzzer,Cage,Canyon,Carriage," +
                         "Carrier,Castile,Castle,Catapult,Cavalry,Cement," +
                         "Center,Champs,Characters,Chaser,Chief,Chopper," +
                         "City,Cliff,Com,company,construction,Contact," +
                         "Control,Cop,copyright,Cosmic,Costal,Cove,Crawler," +
                         "creating,Creeper,Crew,Crisis,Cruiser,Crusher," +
                         "Crystal,Cyber,Cyborg,Daredevil,Deep,Delivery," +
                         "Desert,details,Diesel,Disclaimers,Divers,Dozer," +
                         "Droid,Duel,Electro,Emergency,Enchanted,Espa,Evac," +
                         "Expedition,Extreme,Fairy,featured,Fighter,Fire," +
                         "Flame,Flight,Flying,Foot,Forbidden,Force," +
                         "Fortress,Fright,Front,Frontier,Giant,Granite," +
                         "Gungan,Helicopter,Hidden,House,Hunter,Hydronauts," +
                         "Ice,images,Imperial,Indian,Infiltrator," +
                         "Insectoids,Invention,Inventory,Island,Islanders," +
                         "Jet,Jungle,King,Kingdom,Knights,Land,Lap," +
                         "Launcher,Lift,Lightsaber,Link,Links,Lock,Locker," +
                         "Lord,Lunar,M-1,Machine,Mail,Main,Mask,Mil," +
                         "Millimy,Mind,Mindstorms,Mini,Mini-Dump,Mission," +
                         "Mixer,Mobile,MOC,model,Models,Mos,Motorcycle," +
                         "Mountain,Mud,Mummy,Naboo,News,Ninja,Oasis," +
                         "Objects,original,Outback,Outpost,Pack,Page," +
                         "Patrol,Perilous,Pharoah,Pirates,Pitfall,Plane," +
                         "Planet,Playscape,Playset,Pod,Podracer,Police," +
                         "polybag,Pontoon,Port,Pursuit,Race,Racer,Racers," +
                         "Raceway,Radon,Raft,Raiders,Rapid,Ray,Rays,Recon," +
                         "Reef,Refuge,remain,Repair,Res,Rescue,Responder," +
                         "Retreat,Ridge,Rig,River,Road,Roadside,Robers," +
                         "Rocket,Rocky,Rover,Royal,Ruins,Runner,Samurai," +
                         "Samuri,Satellite,Saucer,Scorpion,Scout,Screeming," +
                         "Scuba,Sea,Search,Secret,Sentry,Service,Shark," +
                         "Shovel,site,Sith,Ski,Skiff,Slave,Sled,Snow," +
                         "Snowmobile,Solo,Space,Speed,Speeder,Speedway," +
                         "Spider,Spinx,Splasher,Squad,Star,Station,Sting," +
                         "Stingrays,Stone,Stories,Storms,Stronghold,Sub," +
                         "Surfer,Surprise,Swamp,Swordsman,System,Tale,Team," +
                         "Tec,Technic,Tepee,text,Throwbot,Time,Tomb,Top," +
                         "Torch,Tower,town,Tracker,Transport,Treasure," +
                         "Truck,Tunnelator,Turbo,Twisters,UFO,Value," +
                         "Victory,Village,V-Wing,Wagon,Warper,Wars,Wave," +
                         "Weapons,Webmaster,West,Western,Wheeled,Whirling," +
                         "Wigs,Wild,Windship,Witch,X-treem,Zeppelin";
entry.item[6].page = "inv/inventory.htm";
entry.item[6].description = "L'ex & Carly's Set Inventory";
entry.item[7].keywords = "0000,2000,Back,Brick,Characters,Cities,company," +
                         "construction,Contact,copyright,creating,Date," +
                         "details,Disclaimers,featured,Figures,File,High," +
                         "images,Inventory,LDraw,Links,Look,Low,Main," +
                         "Manufacturer,MOC,model,Models,MSRP,Name,Number," +
                         "Objects,original,Overall,Page,Part,Parts,Pieces," +
                         "Playablity,Quantity,RATINGS,remain,Review," +
                         "Reviews,Search,site,Stories,Template,text,Wars," +
                         "Webmaster,Year";
entry.item[7].page = "inv/reviews/0000.htm";
entry.item[7].description = "L'ex.'s Review: 0000 Set Review Template";
entry.item[8].keywords = "2000,6364,Back,Brick,Characters,Cities,company," +
                         "construction,Contact,copyright,creating,Date," +
                         "details,Disclaimers,featured,Figures,File,High," +
                         "images,Inventory,LDraw,Links,Look,Low,Main," +
                         "Manufacturer,MOC,model,Models,MSRP,Name,Number," +
                         "Objects,original,Overall,Page,Paramedic,Part," +
                         "Parts,Pieces,Playablity,Quantity,RATINGS,remain," +
                         "Review,Reviews,Search,site,Stories,text,Unit," +
                         "Wars,Webmaster,Year";
entry.item[8].page = "inv/reviews/6364.htm";
entry.item[8].description = "L'ex.'s Review: 6364 Paramedic Unit";
entry.item[9].keywords = "0000,2000,6364,Back,Brick,Characters,Cities," +
                         "company,Construction,Contact,copyright,creating," +
                         "details,Disclaimers,featured,images,Inventory," +
                         "Links,Main,MOC,model,Models,Objects,original," +
                         "Page,Paramedic,remain,Review,Reviews,Search,Site," +
                         "Stories,text,Unit,Wars,Webmaster";
entry.item[9].page = "inv/reviews/index.htm";
entry.item[9].description = "L'ex.'s Construction Brick Site (Set Reviews)";
entry.item[10].keywords = "1996,1996-1997,1998-1999,1999,1999-2000,2000," +
                          "arctic,attempting,breakdown,Castle,collect," +
                          "collection,Command,Cruisers,Cup,Divers,entire," +
                          "here,identified,including,Inventory,line,listed," +
                          "makes,Mission,Ninja,note,Outback,Paradisa," +
                          "Pirates,Race,Raiders,Rock,sence,sets,Space,Star," +
                          "sub-theme,sub-themes,Themes,Time,town," +
                          "understand,Wars,West,Wild,World";
entry.item[10].page = "inv/themes.htm";
entry.item[10].description = "L'ex.'s Inventory by Themes";
entry.item[11].keywords = "2000,Achus,Back,Brick,Carly,Character," +
                          "Characters,City,company,construction,Contact," +
                          "copyright,creating,details,Disclaimers,featured," +
                          "Gabarros,images,Inventory,Links,Main," +
                          "Mini-Figures,MOC,model,Models,Name,Objects," +
                          "original,Page,Palomars,Pharoah,remain,Rudy," +
                          "Search,site,Stories,text,Villanos,Wars," +
                          "Webmaster";
entry.item[11].page = "inv/tlcfigs.htm";
entry.item[11].description = "L'ex & Carly's 'Lego' Character Mini-Figure " +
                             "Inventory";
entry.item[12].keywords = "2000,20th,accessories,accomplish,ages,aimed,AKA," +
                          "and/or,appropriate,art,Artist,artists,aspect," +
                          "Back,based,believe,Best,bit,block,Bloks,both," +
                          "Brick,bricks,CAD,caption,Century,change," +
                          "Characters,childern,City,comapny,commercial," +
                          "Communitty,companies,company,components," +
                          "composers,considered,consistent,Construction," +
                          "consult,contact,Content,copyright,Copyrights," +
                          "Corporation,correct,courtesy,creating,creative," +
                          "creators,credit,credited,cross,deliberately," +
                          "derivative,design,designs,details,digial," +
                          "Disclaimers,Don,editing,elsewhere,employer," +
                          "encourage,endorced,endoresement,engineering," +
                          "entertainment,entity,excluded,extend,Fair,fan," +
                          "featured,file,files,Film,Films,find,Fox,funny," +
                          "general,given,group,Group/Company,Guide,helps," +
                          "hold,holders,Holding,Horror,htm,humor,hyperlink," +
                          "image,images,imagination,Inc,incentive,include," +
                          "includes,information,informed,intended," +
                          "intentended,Inventory,involve,ISP,Jonathan,kept," +
                          "kHz,know,Knudsen,Label,legal,Lego,let,Links," +
                          "little,Lock,logical,look,looking,Ltd,Lucas,made," +
                          "Main,make,manufactures,Mega,members,Microsoft," +
                          "mild,mind,Mindstorms,MOC,model,models," +
                          "modifications,mono/stereo,Music,non," +
                          "non-construction,non-Lego,Objects,offical," +
                          "official,often,opportunity,original,owner,Page," +
                          "Parents,part,permission,permitted,personal," +
                          "persons,picture,Point,Policy,population," +
                          "possible,Power,pre-adult,prevent,prior,problem," +
                          "properly,property,provide,provided,Publishing," +
                          "purchasing,purist,Purity,purposes,quality,rated," +
                          "reason,recorded,reduce,referred,Reilly,remain," +
                          "respective,responsibly,Re-use,Ritvix,Robots," +
                          "Rocky,RSAC,rule,science,Search,section,sense," +
                          "separate,sequences,sexual,Show,sick,simulated," +
                          "Site,sites,size,Song,source,Specific,sponsored," +
                          "Star,stepping,stone,stories,story,sub-cd,Sue," +
                          "suggestive,surf,tell,text,things,thinking,toys," +
                          "track,tracks,trademark,trademarks,tried,twisted," +
                          "unlikely,Unoffical,USC,use,used,using,violates," +
                          "violence,Wars,watch,way,web,Webmaster,welcome," +
                          "whenever,work,works,XXX,XXXX";
entry.item[12].page = "legal.htm";
entry.item[12].description = "L'ex.'s Construction Brick Site (Disclaimers)";
entry.item[13].keywords = "Add,applies,areas,Brick,Buy,CAD,check," +
                          "Construction,Databases,enter,Links,Sell,single," +
                          "site,Submitted,Title,Trade,URL";
entry.item[13].page = "links/addurl.htm";
entry.item[13].description = "Add URL to L'ex.'s Construction Brick Links";
entry.item[14].keywords = "Brick,Buy/Sell/Trade,CAD,Construction,Databases," +
                          "Links";
entry.item[14].page = "links/index.htm";
entry.item[14].description = "L'ex.'s Construction Brick Site Links";
entry.item[15].keywords = "940801406,ADD_DATE,Amazon,Auctions,best,bid," +
                          "Brick,bricks,check,clear,Clubs," +
                          "Collector/Enthusiast,com,Construction,content," +
                          "designers,e-bay,fans,far,find,get,Here,Home," +
                          "interested,item,known,knows,lego,less,Links," +
                          "list,LUGNET,Maniac,membership,navigation,often," +
                          "own,Page,performed,personal,pointers,prices," +
                          "rated,rating,ratings,scale,separately,sets,Shop," +
                          "short,Site,Sites,tips,Toys,vast,WAMALUG,web," +
                          "Webring";
entry.item[15].page = "links/links.htm";
entry.item[15].description = "L'ex.'s Construction Brick Site Links";
entry.item[16].keywords = "ability,Aircraft,Boats,Brick,Buy/Sell/Trade," +
                          "Castle,clear,Clubs,Construction,content," +
                          "Databases,easy,Fantastic,find,Fire,good," +
                          "impossible,improved,improvement,looking," +
                          "Military,navigate,navigation,nearly,organized," +
                          "own,performed,personal,Pirate,poorly,presented," +
                          "rated,rating,Ratings,Robotics,scale,seeing," +
                          "separately,Site,Sites,Space,Star,time,Town," +
                          "Trains,use,Wars,West,Wild";
entry.item[16].page = "links/rating.htm";
entry.item[16].description = "L'ex.'s Construction Brick Site Ratings";
entry.item[17].keywords = "2000,320x200,Artist,Audio,Back,bit,Brick," +
                          "Characters,Cities,click,company,Construction," +
                          "Contact,copyright,creating,details,Disclaimers," +
                          "featured,Format,frames/sec,image,images," +
                          "Inventory,kHz,Label,Length,Limbo,Links,L-TV," +
                          "Macarana,Main,min,MOC,model,Models,mono,Objects," +
                          "original,Page,pixles,remain,Rock,Search,sec," +
                          "sequence,Site,Size,Stories,TBD,Tech,text,Top," +
                          "Video,view,Wars,Webmaster";
entry.item[17].page = "ltv/index.htm";
entry.item[17].description = "L'ex.'s Construction Brick Site (L-TV)";
entry.item[18].keywords = "2000,Brick,Characters,Cities,company," +
                          "Construction,Contact,copyright,creating," +
                          "Creations,details,Disclaimers,featured,images," +
                          "Inventory,Links,L-TV,main,MOC,model,Models,New," +
                          "Objects,original,Own,page,remain,Search,Site," +
                          "Stories,TBD,text,Wars,Webmaster";
entry.item[18].page = "main.htm";
entry.item[18].description = "L'ex.'s Construction Brick Site (main)";
entry.item[19].keywords = "2000,Assembly,ATV,Back,Brick,Characters,City," +
                          "company,construction,Contact,copyright,creating," +
                          "creation,curiosity,design,details,Disclaimers," +
                          "featured,images,Instructions,Inventory,know,let," +
                          "Links,Main,MOC,model,Models,non-commercial," +
                          "Objects,original,own,Page,purposes,remain," +
                          "Search,site,Stories,text,use,Wars,Webmaster";
entry.item[19].page = "moc/assembly/atv_ai.htm";
entry.item[19].description = "ATV Assembly Instructions";
entry.item[20].keywords = "2000,Assembly,Back,Barge,brand,Brick,bricks," +
                          "building,builds,Characters,City,company," +
                          "constructed,construction,Contact,copyright," +
                          "creating,creation,curiosity,design,details," +
                          "Disclaimers,don,e-bay,equivalent,extentions," +
                          "featured,generic,here,images,Instructions," +
                          "Inventory,know,LDraw,Lego-Type,let,Links,loaded," +
                          "Main,MOC,model,Models,non-commercial,Objects," +
                          "original,own,Page,part,Parts,people,POV," +
                          "purposes,random,remain,Search,site,Stories,text," +
                          "Tyco,unoffical,use,using,version,Wars,Webmaster";
entry.item[20].page = "moc/assembly/brg_ai.htm";
entry.item[20].description = "Barge Assembly Instructions";
entry.item[21].keywords = "2000,Animal,Assembly,Back,Brick,Cage,Characters," +
                          "City,company,construction,Contact,copyright," +
                          "creating,creation,curiosity,design,details," +
                          "Disclaimers,featured,images,Instructions," +
                          "Inventory,know,let,Links,Main,MOC,model,Models," +
                          "non-commercial,Objects,original,own,Page," +
                          "purposes,remain,Search,site,Stories,text,use," +
                          "Wars,Webmaster";
entry.item[21].page = "moc/assembly/cage_ai.htm";
entry.item[21].description = "Animal Cage Assembly Instructions";
entry.item[22].keywords = "2000,Assembly,Back,Brick,Characters,City," +
                          "company,construction,Contact,copyright,creating," +
                          "creation,curiosity,design,details,Disclaimers," +
                          "featured,images,Instructions,Inventory,know,let," +
                          "Links,Main,MOC,model,Models,non-commercial," +
                          "Objects,original,own,Page,purposes,remain," +
                          "Search,site,Snowmobile,Stories,text,use,Wars," +
                          "Webmaster";
entry.item[22].page = "moc/assembly/sm_ai.htm";
entry.item[22].description = "Snowmobile Assembly Instructions";
entry.item[23].keywords = "2000,Back,brick,CBV,company,Construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,legal,Main,MOC,model,Next," +
                          "Objects,original,page,remain,site,text,Top," +
                          "Webmaster";
entry.item[23].page = "moc/goliath/g-con01.htm";
entry.item[23].description = "L'ex. MOC: CBV Goliath's Construction (page 1)";
entry.item[24].keywords = "2000,Back,brick,CBV,company,Construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,legal,Main,MOC,model,Next," +
                          "Objects,original,page,remain,site,text,Top," +
                          "Webmaster";
entry.item[24].page = "moc/goliath/g-con02.htm";
entry.item[24].description = "L'ex. MOC: CBV Goliath's Construction (page 2)";
entry.item[25].keywords = "2000,Back,brick,CBV,company,Construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,legal,Main,MOC,model,Next," +
                          "Objects,original,page,remain,site,text,Top," +
                          "Webmaster";
entry.item[25].page = "moc/goliath/g-con03.htm";
entry.item[25].description = "L'ex. MOC: CBV Goliath's Construction (page 3)";
entry.item[26].keywords = "2000,Back,brick,CBV,company,Construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,legal,Main,MOC,model,Next," +
                          "Objects,original,page,remain,site,text,Top," +
                          "Webmaster";
entry.item[26].page = "moc/goliath/g-con04.htm";
entry.item[26].description = "L'ex. MOC: CBV Goliath's Construction (page 4)";
entry.item[27].keywords = "2000,Back,brick,CBV,company,Construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,legal,Main,MOC,model,Next," +
                          "Objects,original,page,remain,site,text,Top," +
                          "Webmaster";
entry.item[27].page = "moc/goliath/g-con05.htm";
entry.item[27].description = "L'ex. MOC: CBV Goliath's Construction (page 5)";
entry.item[28].keywords = "2000,Back,brick,CBV,Christening,company," +
                          "Construction,copyright,creating,details," +
                          "featured,Goliath,images,Index,info,legal,Main," +
                          "MOC,model,Objects,original,page,remain,site," +
                          "text,Top,Webmaster";
entry.item[28].page = "moc/goliath/g-con06.htm";
entry.item[28].description = "L'ex. MOC: CBV Goliath's Construction (page 6)";
entry.item[29].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,External,featured," +
                          "Goliath,images,Index,info,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[29].page = "moc/goliath/g-ext01.htm";
entry.item[29].description = "L'ex. MOC: CBV Goliath's External Shots " +
                             "(page 1)";
entry.item[30].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,External,featured," +
                          "Goliath,images,Index,info,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[30].page = "moc/goliath/g-ext02.htm";
entry.item[30].description = "L'ex. MOC: CBV Goliath's External Shots " +
                             "(page 2)";
entry.item[31].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,External,featured," +
                          "Goliath,images,Index,info,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[31].page = "moc/goliath/g-ext03.htm";
entry.item[31].description = "L'ex. MOC: CBV Goliath's External Shots " +
                             "(page 3)";
entry.item[32].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,External,featured," +
                          "Goliath,images,Index,info,legal,Main,MOC,model," +
                          "Objects,original,page,remain,Shots,site,text," +
                          "Top,Webmaster";
entry.item[32].page = "moc/goliath/g-ext04.htm";
entry.item[32].description = "L'ex. MOC: CBV Goliath's External Shots " +
                             "(page 4)";
entry.item[33].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,Internal,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[33].page = "moc/goliath/g-int01.htm";
entry.item[33].description = "L'ex. MOC: CBV Goliath's Internal Shots " +
                             "(page 1)";
entry.item[34].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,Internal,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[34].page = "moc/goliath/g-int02.htm";
entry.item[34].description = "L'ex. MOC: CBV Goliath's Internal Shots " +
                             "(page 2)";
entry.item[35].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,Internal,legal,Main,MOC,model," +
                          "Next,Objects,original,page,remain,Shots,site," +
                          "text,Top,Webmaster";
entry.item[35].page = "moc/goliath/g-int03.htm";
entry.item[35].description = "L'ex. MOC: CBV Goliath's Internal Shots " +
                             "(page 3)";
entry.item[36].keywords = "2000,Back,brick,CBV,company,construction," +
                          "copyright,creating,details,featured,Goliath," +
                          "images,Index,info,Internal,legal,Main,MOC,model," +
                          "Objects,original,page,remain,Shots,site,text," +
                          "Top,Webmaster";
entry.item[36].page = "moc/goliath/g-int04.htm";
entry.item[36].description = "L'ex. MOC: CBV Goliath's Internal Shots " +
                             "(page 4)";
entry.item[37].keywords = "2000,Back,brick,Bricks,Cargo,CBV,company," +
                          "Construction,copyright,creating,Crew,cubic," +
                          "details,External,featured,Goliath,Height,images," +
                          "Index,info,Internal,lbs,legal,Length,Main,MOC," +
                          "model,Objects,original,Page,Passengers,remain," +
                          "Shots,site,Specifications,studs,text,Top," +
                          "Webmaster,Weight,Width";
entry.item[37].page = "moc/goliath/index.htm";
entry.item[37].description = "L'ex. MOC: CBV Goliath";
entry.item[38].keywords = "Assembly,File,Instructions,LDRAW,MOC,Model," +
                          "Models,Name,Page,Pictures,Preview";
entry.item[38].page = "moc/index.htm";
entry.item[38].description = "L'ex.'s MOC Models";
entry.item[39].keywords = "1999,2000,5988,Back,based,brick,built,CBV," +
                          "close-up,company,construction,copyright," +
                          "creating,decided,details,early,ebay,featured," +
                          "few,flea,Forbidden,front,full,gave,Goliath," +
                          "images,Index,info,Kreiks,laregly,legal,levels," +
                          "liked,look,Main,markets,MOC,model,Next,November," +
                          "Objects,original,overgrown,Page,parts,Pharaoh," +
                          "remain,remained,Ruins,sales,shot,site,Temple," +
                          "text,TLC,Top,upper,view,Webmaster";
entry.item[39].page = "moc/temple/index.htm";
entry.item[39].description = "L'ex. MOC: Kreiks' Temple";
entry.item[40].keywords = "2000,address,ambush,Back,balconies,balcony," +
                          "brick,company,composed,connection,construction," +
                          "copyright,courtyard,couryard,creating,details," +
                          "featured,flanking,followers,front,greet,here," +
                          "images,Index,info,invaders,King,Kreiks,Krieks," +
                          "legal,Main,MOC,model,Next,Objects,original,page," +
                          "Pictured,remain,showing,site,small,Temple,text," +
                          "top,used,view,visitors,Webmaster";
entry.item[40].page = "moc/temple/kt02.htm";
entry.item[40].description = "L'ex. MOC: Kreiks' Temple (page 2)";
entry.item[41].keywords = "2000,address,Back,balcony,brick,close-up," +
                          "company,construction,copyright,creating," +
                          "designed,details,featured,First,here,images," +
                          "Index,info,King,Kreiks,legal,level,levels,Main," +
                          "middle,MOC,model,Next,Objects,open,original," +
                          "page,primary,rear-view,remain,seen,shot,site," +
                          "subjects,Temple,text,ther,three,Top,view," +
                          "Webmaster,wings";
entry.item[41].page = "moc/temple/kt03.htm";
entry.item[41].description = "L'ex. MOC: Kreiks' Temple (page 3)";
entry.item[42].keywords = "2000,5988,Back,both,brick,case,close-up,company," +
                          "construction,copyright,creating,details," +
                          "featured,First,fly-away,Forbidden,images," +
                          "including,Index,info,interiors,jewel,kings," +
                          "Kreiks,legal,level,lower,Main,MOC,model,Objects," +
                          "original,page,Pharaoh,protected,rear-view," +
                          "remain,remains,reserved,room,Ruins,shot,shows," +
                          "site,Temple,temples,text,TLC,Top,traps,treasues," +
                          "upper,Webmaster";
entry.item[42].page = "moc/temple/kt04.htm";
entry.item[42].description = "L'ex. MOC: Kreiks' Temple (page 4)";
entry.item[43].keywords = "Brick,Construction,Date,New,Site";
entry.item[43].page = "new.htm";
entry.item[43].description = "L'ex.'s Construction Brick Site (What's New)";
entry.item[44].keywords = "Assault,Assembly,Biologic,Blocky,Brick," +
                          "Brick-ture,Cage,Construction,contact,Horror,htm," +
                          "htmAbout,htmAdd,htmAnimal,htmATV,htmBarge," +
                          "htmBiologic,htmContact,Instructions," +
                          "Laboratories,Links,links/addurl,links/links," +
                          "Manuel,moc/assembly/atv_ai,moc/assembly/brg_ai," +
                          "moc/assembly/cage_ai,page,Research,Show,Sitemap," +
                          "stories/arctic/about,stories/bhbs/about," +
                          "stories/brl/about,stories/brl/brl2," +
                          "stories/brl/brl3,stories/brl/brl4," +
                          "stories/brl/brl5,stories/brl/brl6," +
                          "stories/brl/index,URL";
entry.item[44].page = "searchdata.html";
entry.item[44].description = "Index";
entry.item[45].keywords = "2000,5978,640x480,6453,6520,6569,6586,7130,770," +
                          "achieve,additional,Adobe,ages,aquired,Arctic," +
                          "arctic01,arctic02,arctic04,arctic06,arctic07," +
                          "arctic08,arctic09,arctic10,arctic11,arctic12," +
                          "arctic13,arctic14,arctic15,arctic17,arctic20," +
                          "arctic21,arctic22,arctic23,arctic24,arctic25," +
                          "arctic27,Assault,ATV,background,backyard,base," +
                          "blade,blank,blur,Camera,cast,close,cloud,Clouds," +
                          "Com,cooking,cooperative,created,Cruiser,dark," +
                          "designed,Digital,effect,effects,exacto,face," +
                          "February,fence,few,field,filter,Fine,first," +
                          "flash,focus,found,FujiFilm,generated,get,good," +
                          "headset,helicopter,here,hope,hoped,house,image," +
                          "include,includes,internal,knife,Link,little," +
                          "macro,magic,manually,Manuel,member,Microsoft," +
                          "minifigure,minor,Mobile,MOC,mode,models," +
                          "modifications,modified,MX-2700,Ocean,outdoor," +
                          "outdoors,Outpost,own,Pack,page,paper,part,Photo," +
                          "photos,PhotoShop,picture,Point,POV,POV-Ray," +
                          "Power,pre,provide,Ray,rebel,references,remove," +
                          "removed,replace,rescue,retouched,Return,Ripple," +
                          "script,second,Secret,series,Shops,shot,size," +
                          "smudge,snow,Snowmobile,Speeder,Spinx,station," +
                          "steam,taken,template,tent,TLC,too,tool,tools," +
                          "Top,trooper,two,unfortunately,use,used,using," +
                          "Value,view,wand,Water,weather";
entry.item[45].page = "stories/arctic/about.htm";
entry.item[45].description = "About *The Assault on Mt. Manuel*";
entry.item[46].keywords = "2000,admit,Adventures,Arctic,Assault,Back,bears," +
                          "brick,calling,came,camp,Carly,chef,Chuck,climb," +
                          "clockwise,cold,company,construction,copyright," +
                          "creating,details,expedition,fantastic,featured," +
                          "few,great,huge,images,info,Jeff,leader,left," +
                          "legal,Main,Manuel,members,minutes,missed,model," +
                          "morning,mountain,Next,Objects,original,page," +
                          "participants,phased,polar,prepared,quite,real," +
                          "remain,Richard,Serral,site,spent,start,stew," +
                          "Stories,team,text,think,tomorrow,Top," +
                          "trepidation,two,upcoming,videographer,wasn," +
                          "Webmaster,won";
entry.item[46].page = "stories/arctic/arctic2.htm";
entry.item[46].description = "The Assault on Mt. Manuel (page 2)";
entry.item[47].keywords = "2000,animal,animals,ask,Assault,avalanch,Back," +
                          "bear,bears,brick,calm,camp,careful,Carly,caught," +
                          "chased,Chuck,climb,Climbing,company," +
                          "construction,copyright,creating,day,details,don," +
                          "easily,end,entered,fact,featured,First,flash," +
                          "friends,hand,images,immediately,info,jaheebes," +
                          "Jeff,keep,learn,legal,line,lived,long,Luckily," +
                          "Main,makes,Manuel,model,mountain,next,Objects," +
                          "order,original,page,picture,pictures,pleasant," +
                          "process,put,remain,Richard,risk,saftey,scared," +
                          "Serral,site,slow,stayed,Stories,taken,tame,team," +
                          "temperatures,text,thought,time,took,Top,use," +
                          "warm,weather,Webmaster,weren,won";
entry.item[47].page = "stories/arctic/arctic3.htm";
entry.item[47].description = "The Assault on Mt. Manuel (page 3)";
entry.item[48].keywords = "2000,Assault,Back,base,brick,brought,closer," +
                          "company,construction,copyright,creating,details," +
                          "distance,fantastic,featured,Finally,First," +
                          "followed,images,info,legal,Main,Manuel,model," +
                          "mountain,Next,Objects,original,page,peak," +
                          "penninsula,portions,quite,reached,remain," +
                          "remaining,ridge-line,site,sits,small," +
                          "spectacular,step,Stories,summit,text,thee,Top," +
                          "upper,view,views,Webmaster,WOW";
entry.item[48].page = "stories/arctic/arctic4.htm";
entry.item[48].description = "The Assault on Mt. Manuel (page 4)";
entry.item[49].keywords = "2000,Assault,Back,brick,came,Carly,Chuck,city," +
                          "clear,climb,company,construction,copyright," +
                          "creating,details,effort,elated,excited," +
                          "experience,fantastic,featured,feel,feelings," +
                          "fell,Few,First,get,glad,grip,having,images,info," +
                          "legal,line,look,lost,Main,Manuel,model,Next," +
                          "Objects,occured,original,outside,page,peak," +
                          "peninsula,people,rarely,reached,remain,safety," +
                          "seem,seemed,site,slipped,Stories,take,text,time," +
                          "took,Top,tour,tragdy,trip,unbelievable,venture," +
                          "view,views,Webmaster";
entry.item[49].page = "stories/arctic/arctic5.htm";
entry.item[49].description = "The Assault on Mt. Manuel (page 5)";
entry.item[50].keywords = "2000,Adventures,Arctic,Assault,assembled,Back," +
                          "brick,broken,carried,carry,Chuck,cliff," +
                          "collection,company,construction,copyright," +
                          "creating,crew,dangerous,descent,details,down," +
                          "easily,emergencies,face,featured,First,images," +
                          "info,Jeff,landed,leg,legal,made,Main,Manuel," +
                          "model,mountain,Next,Objects,order,original,page," +
                          "prepared,reach,remain,rest,site,snow,soft," +
                          "Stories,stretcher,text,Thankfully,Top,tricky," +
                          "Webmaster";
entry.item[50].page = "stories/arctic/arctic6.htm";
entry.item[50].description = "The Assault on Mt. Manuel (page 6)";
entry.item[51].keywords = "2000,Ahhhhhhhh,airlift,Assault,back,base,brick," +
                          "called,camp,Carly,Chuck,city,company," +
                          "construction,copyright,creating,details," +
                          "featured,First,helicopter,hope,hot,images,info," +
                          "interesting,journery,legal,local,look,Main," +
                          "Manuel,medical,model,Now,Objects,original,page," +
                          "Paul,pilot,relax,remain,return,site,sort,spring," +
                          "Stories,take,text,Top,Webmaster";
entry.item[51].page = "stories/arctic/arctic7.htm";
entry.item[51].description = "The Assault on Mt. Manuel (page 7)";
entry.item[52].keywords = "2000,advertisement,Arctic,Assault,Back,base," +
                          "brick,camp,Carly,certianly,challenge,clear," +
                          "climb,close,company,construction,copyright," +
                          "couldn,creating,describing,details,Don,elements," +
                          "endure,Expeditions,experience,experienced," +
                          "featured,figure,fun,give,going,guides,having," +
                          "highest,idea,images,info,join,journey,know," +
                          "legal,lifetime,Little,long,look,Main,make," +
                          "Manuel,memories,model,much,Next,Now,Objects," +
                          "original,Page,peak,prepared,probably,real," +
                          "remain,remember,rest,site,size,snowmobile," +
                          "snowmobiles,sound,Stories,street,take,terrain," +
                          "text,thing,think,Top,town,trip,trips," +
                          "unseasonably,vehicles,warm,weather,Webmaster";
entry.item[52].page = "stories/arctic/index.htm";
entry.item[52].description = "The Assault on Mt. Manuel";
entry.item[53].keywords = "640x480,Addition,Adobe,Back,background,bhbs01," +
                          "bhbs02,bhbs03,bhbs04,bhbs05,bhbs06,bhbs07," +
                          "bhbs08,bhbs09,bhbs10,bhbs11,bhbs12,bhbs13," +
                          "bhbs14,bhbs15,bhbs16,bhbs17,bhbs18,bhbs19," +
                          "bhbs20,bhbs21,bhbs22,bhbs23,bhbs24,bhbs25," +
                          "bhbs26,bhbs27,bhbs28,bhbs29,bhbs30,bhbs31," +
                          "bhbs32,bhbs33,bhbs34,bhbs35,bhbs36,bhbs37," +
                          "bhbs38,bhbs39,bhbs40,bhbs41,bhbs42,bhbs43," +
                          "bhbs44,bhbs45,bhbs46,bhbs47,bhbs48,bhbs49," +
                          "bhbs50,bhbs51,bhbs52,bhbs53,bhbs54,bhbs55," +
                          "bhbs56,bhbs57,bhbs58,bhbs59,bhbs60,bhbs61," +
                          "bhbs62,bhbs63,bhbs64,bhbs65,bhbs66,Blocky," +
                          "Brick-ture,Camera,designed,Digital,Fine,Font," +
                          "FujiFilm,Horror,images,macro,mode,models," +
                          "modified,MX-2700,page,Photo,photos,PhotoShop," +
                          "provide,retouched,series,shot,Show,size," +
                          "specific,Top,True,Type,used,using";
entry.item[53].page = "stories/bhbs/about.htm";
entry.item[53].description = "About *The Blocky Horror Brick-ture Show*";
entry.item[54].keywords = "2000,back,Blocky,brick,Brick-ture,castle," +
                          "company,construction,copyright,creating," +
                          "darkness,details,Didn,disclaimers,down,featured," +
                          "few,Frankenstein,Horror,images,journey,light," +
                          "Main,miles,model,Next,Objects,original,page," +
                          "pass,Place,remain,road,Show,site,Stories,take," +
                          "text,Top,velvet,Vroomm,Webmaster";
entry.item[54].page = "stories/bhbs/bhbs02.htm";
entry.item[54].description = "The Blocky Horror Brick-ture Show (page 2)";
entry.item[55].keywords = "2000,afairs,astounding,Back,Blocky,brick," +
                          "Brick-ture,company,construction,control," +
                          "copyright,creating,Darkness,details,disclaimers," +
                          "Down,dreaming,featured,First,fleeting,Horror," +
                          "images,jump,left,Madness,Main,master,model,Next," +
                          "night,nights,Objects,original,page,rather," +
                          "remain,r-i-gh-t,river,Show,site,special,step," +
                          "Stories,takes,text,Time,Top,Webmaster";
entry.item[55].page = "stories/bhbs/bhbs03.htm";
entry.item[55].description = "The Blocky Horror Brick-ture Show (page 3)";
entry.item[56].keywords = "2000,Back,Blocky,Brad,brick,Brick-ture,cold," +
                          "company,construction,copyright,creating,details," +
                          "disclaimers,down,dream-y,fantasy,featured,First," +
                          "free,having,home,Horror,images,jump,LEFT,Let," +
                          "Main,model,Next,Objects,original,page,remain," +
                          "Show,site,Stories,street,tapping,text,thing," +
                          "Time,tired,Top,Warp,Webmaster";
entry.item[56].page = "stories/bhbs/bhbs04.htm";
entry.item[56].description = "The Blocky Horror Brick-ture Show (page 4)";
entry.item[57].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,creating,details," +
                          "disclaimers,featured,First,Horror,images,Main," +
                          "Master,model,Next,Objects,original,page,remain," +
                          "Show,site,Stories,sweet,text,Top,transvestite," +
                          "Webmaster";
entry.item[57].page = "stories/bhbs/bhbs05.htm";
entry.item[57].description = "The Blocky Horror Brick-ture Show (page 5)";
entry.item[58].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,creating,details," +
                          "disclaimers,featured,First,happened,Horror," +
                          "images,Main,model,Next,night,Objects,original," +
                          "page,remain,Saturday,Show,site,Stories,text,Top," +
                          "Webmaster";
entry.item[58].page = "stories/bhbs/bhbs06.htm";
entry.item[58].description = "The Blocky Horror Brick-ture Show (page 6)";
entry.item[59].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,Couldn,creating,details," +
                          "Dinner,disclaimers,featured,feeling,First," +
                          "Horror,images,kissed,Main,Master,model,Next," +
                          "Objects,original,page,prepared,remain,Show,site," +
                          "Stories,text,Top,Webmaster,win";
entry.item[59].page = "stories/bhbs/bhbs07.htm";
entry.item[59].description = "The Blocky Horror Brick-ture Show (page 7)";
entry.item[60].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,creating,details," +
                          "disclaimers,featured,First,friends,Horror," +
                          "images,Janet,Main,model,Next,Objects,original," +
                          "page,remain,Rrrrrrrrrr,Show,site,Stories,text," +
                          "toast,Top,Webmaster,Whiteblocks,wise";
entry.item[60].page = "stories/bhbs/bhbs08.htm";
entry.item[60].description = "The Blocky Horror Brick-ture Show (page 8)";
entry.item[61].keywords = "2000,Back,bees,began,Blocky,blood,brick," +
                          "Brick-ture,company,construction,copyright," +
                          "Cranky,creating,deadly,details,disclaimers,Don," +
                          "dream,fan,featured,First,floorshow,get,goes,got," +
                          "gotta,great,heart,hit,Horror,images,Main,mind," +
                          "model,Next,Objects,original,page,ping,regular," +
                          "remain,Show,sing,site,sting,Stories,text,things," +
                          "thump,Top,trap,untame,Webmaster,wild";
entry.item[61].page = "stories/bhbs/bhbs09.htm";
entry.item[61].description = "The Blocky Horror Brick-ture Show (page 9)";
entry.item[62].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,Crank-N-Gurder,creating," +
                          "day,details,disclaimers,extreme,failure," +
                          "featured,First,goodbye,Good-bye,Horror,images," +
                          "lifestyle,Main,mission,model,Next,Objects," +
                          "original,page,protected,remain,say,Show,site," +
                          "Society,Stories,text,Top,Webmaster";
entry.item[62].page = "stories/bhbs/bhbs10.htm";
entry.item[62].description = "The Blocky Horror Brick-ture Show (page 10)";
entry.item[63].keywords = "2000,Arrrrggggg,Back,Blocky,brick,Brick-ture," +
                          "called,company,construction,copyright,crawling," +
                          "creating,details,didn,disclaimers,face,featured," +
                          "First,Horror,human,images,insects,liked,Lost," +
                          "Main,meaning,model,Next,Objects,original,page," +
                          "planet,race,remain,Show,site,Space,Stories,text," +
                          "thought,Time,Top,Webmaster";
entry.item[63].page = "stories/bhbs/bhbs11.htm";
entry.item[63].description = "The Blocky Horror Brick-ture Show (page 11)";
entry.item[64].keywords = "2000,Back,Blocky,Brack,Brad,Brick,Brick-ture," +
                          "color,company,construction,copyright," +
                          "Crank-N-Gurder,Craters,creating,details," +
                          "disclaimers,Domestic,featured,First,Handyman," +
                          "Hero,Heroine,Horror,images,Janet,Magenta,Main," +
                          "model,Next,Objects,original,page,remain," +
                          "Scientist,Show,site,Stories,text,Top,Webmaster," +
                          "Whitebricks";
entry.item[64].page = "stories/bhbs/bhbs12.htm";
entry.item[64].description = "The Blocky Horror Brick-ture Show (page 12)";
entry.item[65].keywords = "2000,Back,Blocky,Boy,brick,Brick-ture,Charles," +
                          "Column-bia,company,construction,copyright," +
                          "creating,Creation,Criminologist,Delivery," +
                          "details,disclaimers,Eddy,featured,First," +
                          "Greybrick,Groupie,Horror,images,Lock,Main," +
                          "MeatLoaf,model,Next,Objects,original,page,Plate," +
                          "remain,Scientist,Show,site,Stories,text,Top," +
                          "Webmaster";
entry.item[65].page = "stories/bhbs/bhbs13.htm";
entry.item[65].description = "The Blocky Horror Brick-ture Show (page 13)";
entry.item[66].keywords = "2000,Back,Blocky,brick,Brick-ture,company," +
                          "construction,copyright,creating,details," +
                          "disclaimers,featured,First,Horror,images,Main," +
                          "model,Objects,original,page,remain,Show,site," +
                          "Stories,text,Top,Webmaster";
entry.item[66].page = "stories/bhbs/bhbs14.htm";
entry.item[66].description = "The Blocky Horror Brick-ture Show (page 14)";
entry.item[67].keywords = "2000,20th,Adler,Back,Blocky,Brad,brick," +
                          "Brick-ture,build,Centry,company,construction," +
                          "contains,content,copyright,Corporation,creating," +
                          "creature,Dammit,day,depictions,details," +
                          "disclaimers,disturbe,double,earth,feature," +
                          "featured,fiction,figure,Film,following,Fox," +
                          "gather,got,Hey,Horror,ill,images,implications," +
                          "Janet,Lou,love,main,Michael,mini,model,Next,Now," +
                          "Objects,original,page,parody,Picture,rated,read," +
                          "remain,remains,Rennie,return,Rocky,say,Science," +
                          "sexual,Show,site,situations,stand,still,stood," +
                          "Stories,story,text,thing,told,Top,tribute," +
                          "violence,WARNING,Webmaster,White";
entry.item[67].page = "stories/bhbs/index.htm";
entry.item[67].description = "The Blocky Horror Brick-ture Show";
entry.item[68].keywords = "6354,640x480,6531,Adobe,ambulance,author," +
                          "background,based,Biologic,brl01,brl02,brl03," +
                          "brl04,brl05,brl06,brl07,brl08,brl09,brl10,brl11," +
                          "brl12,brl13,brl14,brl15,brl16,brl17,building," +
                          "Cage,Camera,Chaser,counting,credit,credited," +
                          "design,designed,Digital,file,Fine,first,Flame," +
                          "flash,forward,FujiFilm,given,header,includes," +
                          "internal,Laboratories,LDRAW,links,macro,MOC," +
                          "mode,model,models,modified,Monkey,MX-2700,page," +
                          "Persuit,Photo,photos,PhotoShop,picture,POV," +
                          "provide,received,rediscover,references,Research," +
                          "retouched,second,series,shot,site,size,Squad," +
                          "TLC,Top,two,Unfortunately,used,using";
entry.item[68].page = "stories/brl/about.htm";
entry.item[68].description = "About *Biologic Research Laboratories*";
entry.item[69].keywords = "2000,absentmindedly,alas,Arrgggg,Back,begining," +
                          "Biologic,Bobo,brick,cages,caused,children," +
                          "company,construction,copyright,creating,details," +
                          "disclaimers,dreaming,escaped,featured,forget," +
                          "fun,hate,help,here,images,inattentiveness,job," +
                          "lab,Laboratories,lock,Main,model,monkeys,Next," +
                          "Objects,often,original,page,play,remain," +
                          "Research,site,slash,Smithe,spent,Stories,text," +
                          "time,Timmy,Top,Webmaster";
entry.item[69].page = "stories/brl/brl2.htm";
entry.item[69].description = "Biologic Research Laboratories (page 2)";
entry.item[70].keywords = "2000,abuse,agressions,Back,Biologic,Bobo,brick," +
                          "companion,company,construction,copyright," +
                          "creating,details,disclaimers,featured,First,get," +
                          "going,Harry,images,knocked,Laboratories,loss," +
                          "Main,mission,model,monkeys,Mourning,Next," +
                          "Objects,original,overpowered,page,quickly," +
                          "released,remain,remaining,Research,site,Smithe," +
                          "Stories,text,Timmy,took,Top,unconcious," +
                          "Webmaster,years";
entry.item[70].page = "stories/brl/brl3.htm";
entry.item[70].description = "Biologic Research Laboratories (page 3)";
entry.item[71].keywords = "2000,Back,Biologic,body,brick,company," +
                          "construction,copyright,creating,dancing,details," +
                          "disclaimers,dismembered,featured,First,hour," +
                          "images,Laboratories,Main,model,monkeys,next," +
                          "Objects,original,pack,page,remain,Research,site," +
                          "Smithe,spent,Stories,text,Top,Webmaster";
entry.item[71].page = "stories/brl/brl4.htm";
entry.item[71].description = "Biologic Research Laboratories (page 4)";
entry.item[72].keywords = "2000,adventurer,arrive,arrived,Back,began," +
                          "Biologic,BLAM,blood,Bobo,body,brick,charge," +
                          "companions,company,construction,copyright," +
                          "creating,details,disclaimers,down,examiner," +
                          "explorer,famous,featured,final,First,going," +
                          "Green,images,killed,Laboratories,late,Main,make," +
                          "medical,model,monkey,mutiny,Next,nothing," +
                          "Objects,office,original,page,put,quell,rang," +
                          "remain,removed,rescue,Research,revolver,said," +
                          "save,scene,secured,Seeing,shots,site,Smithe," +
                          "Stories,tasted,text,time,Timmy,too,Top," +
                          "transport,Victor,Webmaster,workers";
entry.item[72].page = "stories/brl/brl5.htm";
entry.item[72].description = "Biologic Research Laboratories (page 5)";
entry.item[73].keywords = "2000,Back,Biologic,body,brick,BRL,collected," +
                          "company,construction,copyright,creating,crowd," +
                          "details,disclaimers,dispersed,end,featured," +
                          "First,Green,hospital,images,Laboratories,Main," +
                          "model,Objects,original,outside,page,parts,quite," +
                          "remain,Research,returned,scene,site,Smithe," +
                          "Stories,taken,text,Timmy,Top,unknown,Victor," +
                          "Webmaster,zoo";
entry.item[73].page = "stories/brl/brl6.htm";
entry.item[73].description = "Biologic Research Laboratories (page 6)";
entry.item[74].keywords = "2000,administered,anestetic,animal,animals,Back," +
                          "began,Biologic,both,brick,BRL,bunker-like,cages," +
                          "cameras,chemicals,city,clean,company," +
                          "construction,contains,copyright,creating," +
                          "depictions,details,disclaimers,disturbe,earlier," +
                          "effect,end,escape,Eswad,event,experiment," +
                          "experiments,facilities,father,featured,feed," +
                          "figure,first,following,getting,gleefully,good," +
                          "graphic,hard,hardly,Here,images,job,knew," +
                          "Laboratories,located,main,militant,mini,model," +
                          "needs,Next,Objects,obtained,original,outside," +
                          "page,PG-13,pictures,protect,protesters,rated," +
                          "read,remain,Reseach,Research,responsibility," +
                          "return,said,say,school,security,simple,site," +
                          "Smithe,started,Stories,story,structure,studying," +
                          "surgery,taught,teach,text,Timmy,todays,Top," +
                          "vegitatian,violence,wanted,WARNING,Webmaster," +
                          "work,working";
entry.item[74].page = "stories/brl/index.htm";
entry.item[74].description = "Biologic Research Laboratories";
entry.item[75].keywords = "005,2000,Adventures,agoro,Assaut,Back,Biologic," +
                          "Blocky,Brick,Bricks,Brick-ture,Built,Carly," +
                          "Characters,City,company,Construction,Contact," +
                          "copyright,creating,details,Disclaimers," +
                          "Expedition,featured,Horror,images,Inventory," +
                          "Killer,Laboratories,Links,Main,Manuel,MOC,model," +
                          "Models,Objects,original,Page,remain,Research," +
                          "Search,Show,site,Spy,Stories,text,told,Top,Wars," +
                          "Webmaster";
entry.item[75].page = "stories/index.htm";
entry.item[75].description = "Stories told with Construction Bricks";
entry.item[76].keywords = "2000,acquisitions,Ages,Back,Brick,Characters," +
                          "children,Cities,city,click,company,Construction," +
                          "Contact,copyright,created,creating,dark-age," +
                          "details,Disclaimers,enjoyment,featured,hero," +
                          "image,images,imagination,Inventory,land,Lego," +
                          "Legosia,Links,Main,mini-figure,mini-figures,MOC," +
                          "model,Models,need,New,Objects,official,original," +
                          "Page,Park,Photo,post,Pre-Dark,predominantly," +
                          "pre-teen,quality,Racoon,relax,remain,Rick,Ricky," +
                          "Rumbar,Search,sets,Site,Stories,subsequent," +
                          "taken,text,Wars,Webmaster";
entry.item[76].page = "town/index.htm";
entry.item[76].description = "L'ex.'s Construction Brick Site (Cities)";
entry.item[77].keywords = "2000,arranged,Back,brick,Cities,city,click," +
                          "company,construction,copyright,created,creating," +
                          "details,featured,images,Index,info,legal,Lego," +
                          "Legosia,Main,map,model,Objects,original,Page," +
                          "pattern,predominantly,regions,remain,sets,site," +
                          "text,Top,unmodified,Webmaster,Welcome,zoom";
entry.item[77].page = "town/legosia/index.htm";
entry.item[77].description = "Legosia";
}

//------------------------------------------------- Scanner/Parser -

function getToken() {
// *****************************************************************
// * Function...: getToken
// * Description: Get token out of inputform string
// *****************************************************************

  cLiteral = "";
  while ((input.length > 0) && (input.substring(0,1) == " ")) {
    input = input.substring(1,input.length);
  }
  if ((input.substring(0,1) == "(") || (input.substring(0,1) == ")")) {
    cLiteral = input.substring(0,1);
    input = input.substring(1,input.length);
  }
  else {
    while ((input.length > 0) && (input.substring(0,1) != " ") &&
       (input.substring(0,1) != "(") && (input.substring(0,1) != ")")) {
      cLiteral = cLiteral + input.substring(0,1);
      input = input.substring(1,input.length);
    }
  }
  if (cLiteral.toUpperCase() == "OR") { 
    token = tOr 
  }
  else {
    if (cLiteral.toUpperCase() == "AND") { 
      token = tAnd 
    }
    else {
      if (cLiteral.toUpperCase() == "NOT") { 
        token = tNot
      }
      else {
        if (cLiteral == "(") { 
          token = tSubOpen
        }
        else {
          if (cLiteral == ")") { 
            token = tSubClose
          }
          else {
            if ((input == "") && (cLiteral == "")) { 
              token = tEOF
            }
            else {
              token = tLiteral
            }
          }
        }
      }
    }
  };
}

function expression(inFound,layer) {
// *****************************************************************
// * Function...: expression
// * Description: Parser starting point:
// *              (Parser priority: NOT, AND, OR)
// *              Expression ::= Term [[OR] Term]*
// *	          (Space interpreted like tOr).
// *****************************************************************

  inFound = term(inFound,layer);
  while ((error == false) && ((token == tOr) || (token == tNot) ||           
         (token == tLiteral) || (token == tSubOpen))) {
    if (token == tOr) { getToken() };          
    inFound = Result_or(inFound,term(inFound,layer));
  }
  if ((layer == 0) && (token != tEOF)) { 
    error("OR, NOT, keyword or '(' expected") 
  }
  return inFound;
}

function term(inFound,layer) {
// *****************************************************************
// * Function...: term
// * Description: Parser: recursive down, 1st layer:
// *              Term ::= Not_faktor [AND Not_faktor]*
// *****************************************************************

  inFound = nFaktor(inFound,layer);
  while ((error == false) && (token == tAnd)) {
    getToken();
    inFound = Result_and(inFound,nFaktor(inFound,layer));
  }
  return inFound;
}

function nFaktor(inFound,layer) {
// *****************************************************************
// * Function...: nFaktor
// * Description: Parser: recursive down, 2nd layer:
// *             Not_faktor ::= [NOT] Binary_faktor
// *****************************************************************

  if (token == tNot) {
    getToken();
    inFound = Result_not(bFaktor(inFound,layer));
  } 
  else {
    inFound = bFaktor(inFound,layer);
  }
  return inFound;
}

function bFaktor(inFound,layer) {
// *****************************************************************
// * Function...: bFaktor
// * Description: Parser: recursive down, 3rd layer:
// *              Binary_faktor ::= Literal | (expression)
// *****************************************************************

  if (token == tSubOpen) {
    getToken();
    layer = layer + 1;
    inFound = expression(inFound,layer);
    if (token != tSubClose) { error("')' expected") }; 
    getToken(); 
  }
  else {
    if (token == tLiteral) {
      inFound = keywordsSearch(cLiteral);
      getToken();
    }
    else { error("Keyword expected") };
  }
  return inFound;
}

function Result_or(inResult,inResult2) {
// *****************************************************************
// * Function...: Result_or
// * Description: Return arrays; concatenate "or"
// *****************************************************************

  var results = inResult.concat(inResult2);
  var found = new arrayCreate();
  for (var i = 0; i < results.length(); i++) {
    if (results.item[i].exists == false) { 
      found.add(results.item[i]); 
      for (var ii = i + 1; ii < results.length(); ii++) {
        if (results.item[ii].exists == false) {
          if (results.item[ii] == results.item[i]) {
            results.item[ii].exists = true;
          }
          else {
            if (results.item[ii].position == results.item[i].position) {
              results.item[ii].exists = true;
              found.item[found.length() - 1].addPercent(
                                              results.item[ii].percent);
              found.item[found.length() - 1].addKeyword(
                                              results.item[ii].keywords);
            }
          }
        }
      }
    }
  }
  return found;
}

function Result_and(inResult,inResult2) {
// *****************************************************************
// * Function...: Result_and
// * Description: Return arrays; concatenate "and"
// *****************************************************************

  var results = inResult.concat(inResult2);
  var found = new arrayCreate();
  for (var i = 0; i < results.length(); i++) {
    var created = false;
    if (results.item[i].exists == false) {
        for (var ii = i + 1; ii < results.length(); ii++) {
        if (results.item[ii].exists == false) {
          if (results.item[ii] == results.item[i]) {
            results.item[ii].exists = true;
          }
          else {
            if (results.item[ii].position == results.item[i].position) {
              results.item[ii].exists = true;
              if (created == false) {
                found.add(results.item[i]);
                created = true;
              }
              found.item[found.length() - 1].addPercent(
                                              results.item[ii].percent);
              found.item[found.length() - 1].addKeyword(
                                              results.item[ii].keywords);
            }
          }
        }
      }
    }
  }
  return found;
}

function Result_not(inResult) {
// *****************************************************************
// * Function...: Result_not
// * Description: Return inverted result set of database
// *****************************************************************

  var found = new arrayCreate();
  for (var i = 0; i < entry.length(); i++) {
    found.add(new foundCreate());
    found.item[found.length() - 1].position = i;
  }
  for (var i = 0; i < inResult.length(); i++) {
    for (var ii = 0; ii < found.length(); ii++) {
      if (found.item[ii].exists == false) {
        if (found.item[ii].position == inResult.item[i].position) {
          found.item[ii].exists = true;
        }
      }
    }
  }
  var results = new arrayCreate();
  for (var i = 0; i < found.length(); i++) {
    if (found.item[i].exists == false) {
      results.add(found.item[i]);
    }
  }
  return results;
}

function error(text) {
// *****************************************************************
// * Function...: error
// * Description: Parser: Show error position in input form string 
// *                      ("<" used)
// *****************************************************************

  if (error == false) {
    if (input.length == 0) {
      window.document.forminput.inputstr.value = cInput + "<";
    }
    else {
      window.document.forminput.inputstr.value = 
         cInput.substring(0,cInput.lastIndexOf(input,
                            cInput.length)) + "<" + 
         cInput.substring(cInput.lastIndexOf(input,
                            cInput.length),cInput.length);
    }
    alert("Wrong input: " + text + " (look <).");
  }
  error = true;
}

//--------------------------------------------------------- Output -

function header() {
// *****************************************************************
// * Function...: header
// * Description: Show header of hit list
// *****************************************************************

  if ((cBeginOfWord == true) && (cCaseSensitive == true)) {
    var input = cInput + " <br><small>" +
                "(Begin of word, Case-sensitive)</small>";
  }
  else { 
    if (cCaseSensitive == true) {
      var input = cInput + 
                  " <br><small>(Case-sensitive)</small>";
    }
    else {
      if (cBeginOfWord == true) { 
        input = cInput + " <br><small>(Begin of word)</small>";
      }
      else { var input = cInput }
    }
  }
  document.write('<HTML>' +
    '<HEAD><TITLE>Hitlist client-side search engine</TITLE></HEAD>' +
    '<BODY TEXT="#000000" LINK="#0000FF" VLINK="#000080" ALINK="#FFFF00" ' +
    'BGCOLOR="#FFFFFF" BACKGROUND="backgrnd.gif">' +
      '<p><p>Searching ...<p><hr><b>' + 
       input + '</b></p>' +     
      '<TABLE BORDER="0">' +
        '<TBODY>' +
          '<COLDEFS><COLDEF><COLDEF><COLDEF><COLDEF></COLDEFS>' +
          '<ROWS>' +
            '<TR><TD COLSTART="1"></TD>' +
                '<TD COLSTART="2" BGCOLOR="8080ff">Hits per cent</TD>' +
                '<TD COLSTART="3" BGCOLOR="8080ff">Keywords</TD>' +
                '<TD COLSTART="4" BGCOLOR="8080ff">Description</TD></TR>');
}

function noEntry() {
// *****************************************************************
// * Function...: noEntry
// * Description: No entry found
// *****************************************************************

  document.write('<TR><TD COLSTART="1" BGCOLOR="8080ff">' + 
      '-</TD>' +
      '<TD COLSTART="2"><center>0%</center></TD>' +
      '<TD COLSTART="3">---</TD>' +
      '<TD COLSTART="4">No entries found.</TD></TR>');
}

function line(found,percent,keywords,page,description) {
// *****************************************************************
// * Function...: line
// * Description: Show line of hit list
// *****************************************************************

  document.write('<TR><TD COLSTART="1" VALIGN="TOP"' +
      ' BGCOLOR="8080ff">' + found + '.</TD>' +
      '<TD COLSTART="2" VALIGN="TOP"><center>' + percent + '%</center></TD>' +
      '<TD COLSTART="3" VALIGN="TOP"><A HREF="' + page + '">' + keywords + 
      '</A></TD>' +
      '<TD COLSTART="4" VALIGN="TOP">' + description + '</TD></TR>');
}

function footer() {
// *****************************************************************
// * Function...: footer
// * Description: Show footer of hit list
// *****************************************************************

  document.write('</ROWS></TBODY></TABLE><p><small>' +
//                                    '<b>Last updated: ' + lastupdate + '</b>. ' +
//                                    'Powered by <A HREF="http://www.researchsuite.com' +
//                                    '">' +                                                                                                                   're.se@rch.suite</A>: ' +
//                                    'Copyright &copy; 1997-99 by ' +
//                                    'Rainer Eschen, <A HREF="http://' +
//                                    'oase-shareware.org">' +
//                                    'OASE</A>.</small></p></BODY></HTML>');
// ALEX's MODIFICATIONS
                                    '<b>Index Last updated: ' + lastupdate + '</b>. ' +
                                    'Powered by <A HREF="http://www.researchsuite.com' +
                                    '">' +                                                                                                                   're.se@rch.suite</A>: ' +
                                    'Copyright &copy; 1997-99 by ' +
                                    'Rainer Eschen, <A HREF="http://' +
                                    'oase-shareware.org">' +
                                    'OASE</A>.</small></p>');
}

function hitlist(found) {
// *****************************************************************
// * Function...: hitlist
// * Description: Show hit list
// *****************************************************************

  if (found.length() == 0) { 
    noEntry();
  }
  else {
    for (var i = found.length() - 1; i > -1; i--) {
      line(i + 1,found.item[i].percent,found.item[i].keywords,
            entry.item[found.item[i].position].page,
            entry.item[found.item[i].position].description);
    }
  }
}

//--------------------------------------------------------- Search -

function toUpperCaseUmlaute(inputKeyword) {
// *****************************************************************
// * Function...: toUpperCaseUmlaute
// * Description: UpperCase + Umlaute workaround
// *****************************************************************

  inputKeyword = inputKeyword.toUpperCase();
  for (var i = 0;i < charsSmall.length;i++) {
    var pos = inputKeyword.indexOf(charsSmall[i]);
    while (pos > -1) {
      inputKeyword = inputKeyword.substring(0,pos) +
                     charsLarge[i] + inputKeyword.substring(pos + 
                     1,inputKeyword.length); 
      pos = inputKeyword.indexOf(charsSmall[i],pos + 1);
    }
  }
  return inputKeyword;
}

function keywordsSearch(input) {
// *****************************************************************
// * Function...: keywordsSearch
// * Description: Compare keyword with database entries
// *****************************************************************

  var found = new arrayCreate();
  var inputKeyword = new String(input);
  if (cCaseSensitive != true) { 
    inputKeyword = toUpperCaseUmlaute(input);
  }
  for (var i = 0 ; i < entry.length(); i++) {
    if (glossaryMode == true) {
      var entryGlossary = new String(entry.item[i].keywords);
      var entryKeyword = new String();
      var separatorBefore = -1;
      var separatorAfter = entryGlossary.indexOf(",",pos); 
      while (separatorAfter > -1) {
        entryKeyword += g[entryGlossary.substring(separatorBefore + 1,
                          separatorAfter)] + ",";
        separatorBefore = separatorAfter;
        separatorAfter = entryGlossary.indexOf(",",separatorAfter + 1);
      }
      entryKeyword += g[entryGlossary.substring(separatorBefore + 1,
                        entryGlossary.length)];

      entryKeyword = entryKeyword.substring(0,entryKeyword.length);
    } 
    else {
      var entryKeyword = new String(entry.item[i].keywords);
    }
    var entryKeywordOutput = entryKeyword;
    if (cCaseSensitive != true) { 
      entryKeyword = toUpperCaseUmlaute(entryKeyword);
    }
    var created = false;  // true = found entry is created
    var pos = entryKeyword.indexOf(inputKeyword);
    while (pos > -1) {
      var separatorBefore = entryKeyword.lastIndexOf(",",pos);
      var separatorAfter = entryKeyword.indexOf(",",pos); 
      if (separatorAfter < 0) { separatorAfter = entryKeyword.length };
      var entryKeywordSingle = entryKeyword.substring(separatorBefore + 1,
                                    separatorAfter);
      var entryKeywordSingleOutput = entryKeywordOutput.substring(separatorBefore + 1,
                                    separatorAfter);
      var percent = 100;
      if ((entryKeywordSingle.length - input.length > 0)) {
        percent = Math.round((input.length / entryKeywordSingle.length) * 100);
      }
      var posKeywordSingle = entryKeywordSingle.indexOf(inputKeyword);
      entryKeywordSingle = entryKeywordSingleOutput.substring(0,posKeywordSingle) + 
         "<b>" + entryKeywordSingleOutput.substring(posKeywordSingle,
         posKeywordSingle + input.length) + "</b>" + 
         entryKeywordSingleOutput.substring(posKeywordSingle + input.length,
         entryKeywordSingle.length);
      if (created == false) {
        if (cBeginOfWord == true) {
          if (posKeywordSingle == 0) {
            created = true;
            found.add(new foundCreate());
            found.item[found.length() - 1].position = i;
            found.item[found.length() - 1].keywords = entryKeywordSingle;
            found.item[found.length() - 1].percent = percent;
          }
        }
        else {
          created = true;
          found.add(new foundCreate());
          found.item[found.length() - 1].position = i;
          found.item[found.length() - 1].keywords = entryKeywordSingle;
          found.item[found.length() - 1].percent = percent;
        }
      }
      else {
        if (cBeginOfWord == true) {
          if (posKeywordSingle == 0) {
            found.item[found.length() - 1].position = i;
            found.item[found.length() - 1].addKeyword(entryKeywordSingle);
            found.item[found.length() - 1].addPercent(percent);
          }
        }
        else {
          found.item[found.length() - 1].position = i;
          found.item[found.length() - 1].addKeyword(entryKeywordSingle);
          found.item[found.length() - 1].addPercent(percent);
        }
      }
      pos = entryKeyword.indexOf(inputKeyword,separatorAfter);
    }
  }
  return found;
}

function startSearching() {
// *****************************************************************
// * Function...: startSearching
// * Description: Start search after "submit"
// *****************************************************************

  init();
  if (window.document.forminput.inputstr != null) {
    cInput = window.document.forminput.inputstr.value;     
  }
  if (window.document.forminput.beginofword != null) {
    cBeginOfWord = window.document.forminput.beginofword.checked; 
  }
  if (window.document.forminput.casesensitive != null) {
    cCaseSensitive = window.document.forminput.casesensitive.checked;   
  }
  var found = new arrayCreate();
  if (cInput == "") { 
    //alert("I need a keyword first.");
    alert("A keyword is needed.");
    return;
  };
  header();                                                             
  error = false;
  input = cInput;
  getToken();
  var layer = 0;
  found = expression(found,layer);
  if (error == false) {
    found.sort(sortPercent);
    hitlist(found);
  }
  else {
    noEntry();
  }
  footer();
}
