/* Popular phrases - ASCYCLES - 19:9:55, Fri Jan 27, 2012 */
__SLI_ClientDefaults =
[
    ['TextBoxIDCustom', ['rnLeftNav__ctrl_0_txt_KeywordSearch'] ],
    ['Alignment', true ]
];
var asPhrases=new Array ('jacket','bmw top case','handlebar risers','bmw boots','gps mount','crash bars','helmet lock','bmw battery charger','mirror','tool kit','vario','hand guards','helmet','comfort seat','heated grips','battery','side case','foot pegs','r1200rt','airflow jacket','tank bag','top box','verholen','valve cover','saddlebags','engine guards','rain suit','windscreen r1200gs','wind deflector','tail bag','f650gs','bar backs','cylinder guards','peg lowering kit','f650gs windshield','r1200rt mirror','bmw suits','bmw pants','foot peg lowering','city pants','ztechnik','windshield','r1200gs highway pegs','handguards','r1200c saddlebags','r1200rt tankbag','battery tender','turn signal','r1150r windshield','bmw enduro','r1100s','soft bag','windshield extension','r1200s','power plug','gps','light mount','luggage rack','center stand','r1200gs top case','battery charger','accessory plug','dakar windshield','charger','heated vest','soft luggage','gear oil','touratech','system cases','tank protector','oil filter wrench','k1200rs windshield','low seat','highway pegs','side stand foot','top case','r1150gs windshield','gerbing','repair manual','fork seals','shift lever','hand grips','shocks','cylinder head protector','radar detector mount','bmw luggage','toolkit','k75 windshield','s1000rr','r1200r','k1200r luggage','hat','gs 1200','stickers','stand','cover','jpegs','bmw tank bag','radio','pannier bags','key','rallye 3','k1200lt','boots','used motorcycles','tank pad','k1200gt','bag liners','oil filter','fender','switch','oil filler cap','topcase','backpack','bar risers','vario top case','leather jacket','r1200rt seat','motorcycle cover','r1100gs windshield','zumo','r1150rt windshield','motorrad jacket','r1200c windshield','suits','footpeg','soft case','powerlet','bmw jacket','steering damper','city lids','k1200s luggage','backrest','bmw bags','bmw oem mirror','dakar windscreen','akrapovic','footpeg lowering kit','brake pads','r1200rt oil filter','k1200r sport','r1100rt windshield','tire pressure gauge','sidestand','k1200rs','sidi','fuel line','handle bar risers','bmw charger','electrical plugs','communication','final drive oil','oil','bmw clothing','piaa','cruise control','aluminum luggage','bar end weights','k1200rs mirror','piaa lights','touring jacket','dakar','key chain','f800gs','solo seat','f650 dakar','r1200gs seat','grips','seat','mirrors for r1200rt','trailer hitch','r1200c','fuse','valve stem','mudslinger','emblem','risers','k1200lt windshield','r1200rt battery','side bags','cigarette adapter','fender extender','rally 3','electronic ignition','wheels','sport mirror','fairing','rallye pro 3','reflective','screw kit','spark plug cover','spark plugs','fuel line quick disconnect','rear rack','rok','bmw helmet','f650cs','club jacket','luggage r1100s','canbus','k1200lt gps mount','tire pump','summer jackets','ilium','used bikes','bmw gloves','bags','r1200rt gps','shelf','roundel badges','tire repair kit','starter','sidestand pad','pegs','light bracket','windscreen','k100 windshield','fairing screws','master cylinder kit','t shirts','saddle bag liner','starter relay','ram mount','brake light supplemental led most 2005-later bmw r and k bikes','air filter','k1200r','horn','k1200s','r1150gs adventure','tires','windshield mounts','rockster','gloves','cb radio','paint colors','autoswitch','plug adapter','r1200c owners manual','rear hugger','shipping','gore tex boot','k','speed bleeder','r850r windshield','feeler gage','headset','vario topcase','gel battery','headlight','frame sliders','city lids r1200r','r1200c exhaust','lift handle','gps mount k1200s','clutch tool','loctite','helmet liner','k1200s battery','t-shirt','mirror for r1150rt','dvd repair manual','r1200rt saddlebags','fuse panel','z7102','r','streetguard 3','summer pants','stainless bolt kit','valve cover r1150rt','navigator mount','heli','hose clamp tool','heated hand grips','r1200rt tool kit','alarm','g650gs','luggage','half cover','r1200gs battery','bmw plug','badge','bmw fog lights','watch','handlebars','license plate','r100gs','paralever','handlebar bag','grip puppies','z6000','decal','piaa light bar','balaclava','r1200rt tank bag','usb','mirror extenders','gs cap','kushitani','rcu shelf','shift lever extension','brake light','r1100rt tank bag','cylinder cover','moditec','bolts','airflow boots','005 500','gs hat','thermometer','turn signal bulb','brake master cylinder','clutch cable','bmw tools','rok straps','throttlemeister','highway peg mount','protection','r1150gs gps mount','footpeg rubber','passenger floorboard','oil filter tool','bar-backs','navigator iv','hepcobecker','back protector','mud flap','light switch','bmw santiago','remus exhaust','r1200rt highway pegs','03 k1200gt','pants','nexx','k1600gtl','police','mount','vario cases','miniature','flasher relay','stem caps','cup holder','k75','rally 3 jacket','lights','navigator','moto lights','nivomat','bike cover','k1200lt oil filter wrench','oil change kit','f650 saddlebags','k1200rs heated grips','oil cooler guard','r1100s windshield','hip bag','verholen lights','wind screen','case','powerlet plug','ignition switch','carbon fiber license plate frame','rcu','exhaust nut wrench','r1200gs','savanna 2 jacket','comfortshell','funnel','tire pressure','socks','floorboards','brake fluid','r1150rt battery','fork','z-technik','doubler suit','r1150rt radio','airflow pants','g650gs saddlebags','brake bleeder','k1200gt windscreen','air compressor','passenger backrest','highway foot pegs','fuel pump','bmw heated vest','protector','throttle','carbon','city','olympia jackets','k1200lt windscreen','rider backrest','roundel','charger adapter','neutral switch','navigator iv mount','cb antenna','bungee buddies','aeroflow','d3o','crush ring','k1200lt tank bag','cylinder protection','r1200gs tank bag','k1200s windshield','k100rs windshield','scala rider','mirror nut','tourance','k1200rs hornig','cap','pacsafe','z6004','gauge','k1200lt armrest','grip covers','r1200gs tankbag','bluetooth','ignition coil','rack','carb','bmw r1200c','fuel','tender','foot peg lowering kit','bmw g650gs','k1200lt mirror','r1200rt crash bars','waterproof','valve stem caps','key ring','r1100rt radio','fork springs','r1200rt repair manual','fuel filter','reflective strips','mesh jacket','agm battery','logo','g650x challenge','belt','clear turn signals','ipod','gifts','first aid kit','seat pad','neck brace','oil plug','led lights','torx set','f650gs battery','remus','battery k1200r','r1200gs lens','rear fender extension','engine bars','bmw cover','led s1000rr','gas line','ram','locking fuel cap','f650gs engine guards','bmw r1100rs','brake servo','dohc mirrors','led rear light','top case bmw 1200 gs','k1200rs bar backs','handlebar grips','bmw apparel','vespa','bike stand','led turn signal','rallye pro 2','handlebar setbacks','h7','bmw roundel','f650gs luggage','kit','headlight switch','k1200lt rack','bulbs','head guards','r1200rt exhaust','suburban machinery','tank bag organizer','crossbar pad','passenger foot pegs','boulder jacket','forcefield','brake reservoir','coil','tools','exhaust systems','r1150rt cover','navigator iv gps','r1150r','wiring harness','bleeder','radiator','k100 riser','r1150rt tank bag','reflector','atlantis 4','elf pegs','tooth belt','flange','r1150rt gps mount','175 500','mini tank bag','hardware kit','k75 hand guards','speed sensor','jesse','r1200c brakes','side mirror','repair dvd','top case pad','044-0730','sidi socks','gs 1200 tank bag','pkt-042','heated grip switch','handle bars','k1300s slip on','slave','hp race cover kit','off road boots','tank bag divider','2190','r100gs windshield','fsp1-bk','gel seats','key fob','olympia gt','clutch kit','jeans','r1100rs windshield','k1200r handlebar risers','hand protection','olympia','r1200st','bmw tool kit','battery tender adapter','r1200r rear turn indicator','r1200gs oil filter','sizing chart','k1200rs windscreen','drive shaft','airflow','hand protector','throttle lock','234 690','hornig','topcase backrest','bmw logo','footrest','locking oil cap','fuel line quick release','exomesh','22 liter top case','bmw protection jacket','skwoosh','number plate','adjustable shift lever','radio panel','1200 gs top case','glove box','r50 2','saddle bag cover','battery strap','master','passenger seat','led','bar backs k75c','wind','r1150r engine guard','gps mount r1200rt','oem parts','f650 seat','hand lever','r1200rt top case','leo vince','51-16-2-307-769','hornig r1200gs','fork boots','fuel gauge','headlight cover','r1200c mirrors','fenda extenda','bmw cap','headlight bulb','tomtom','water pump','revit jacket','r1150rt','owners manual','xenon','75w140','right mirror','r1200r windscreen','balancer','back rest','left mirror','k1200rs oil change kit','k1200gt footpegs','throttle cable','aac-003','disc lock','bmw oil filter wrench','r1150rt spark plug','chest protector','saddle bag reflector','air intake','motionpro','seat cleaner','bmw k1200s tank bag','mini usb','k1300s center stand','hp','case cover','winter gloves','wolfman tank bag','armrests','progressive shocks','brake lever','jesse bags','manual','r1100r windshield','r1150gs','wheel removal tool','airvantage vest','lift','auxiliary power fuse panel centech','laminar lip','r1150r seat','piaggio','alpha racing','engine spoiler','tire inflator','grease','k1200lt cover','accessory shelf','trail guard','feeler','clearwater','signal','model','rear pegs','westco battery','r11xoilbasic','road kit','r1200gs carbon','bmw engine guard','r 75 5','f800r gps','oil pressure','lower passenger footpeg','magnetic oil drain plug','clutch plate','ztechnik vstream','revit','bmw battery','r1150r flyscreen','atlantis 4 suit','r1200rt cover','r1200rt model','paddock stand','voltage','r1200c seats','spoke wrench','gerbing controller','r1100rt mirror','headlight guard','r1200rt tires','shifter','hp2 sport','oil filter wrench r1200rt','deflector','r1200gs gps mount','reflective kits','battery k1300s','r1200gs brake pads','wolfman','rear brake pads','r1100gs exhaust','r1150r oil filter','boulder 2','bmw airflow','turn','x-head','hinge','right side cover','cluster','pac','pannier hinge','travel cover','borrego','bmw hinges','saddlebag parts','kidney','oil drain plug','bmw tank bag r1200rt','bmw trailguard jacket','points','bmw emblem','cell phone holder','brake pedal extension','radio cd','system case lock','r1200rt cylinder protection','tail tidy','r1200rt topcase','comfort seat r1200rt','paint','hot deal','mud guard','jumper cables','santiago liner','side panel','indicator','sport mirror kit 2010-later bmw r1200rt by bmw','quick disconnect fuel','front wheel stand','left turn signal','fuel tap','k1200s tank bag','ztechnik mount','sidi adventure','r1200rt vstream','beak extension','mp3 cable','passenger','laminar lip r1100gs','mounting bracket','z6010','blind','f800r seat','g450x wheel','k1600gt','lock kit','bmw rallye 2 pro','brake pedal enlarger','keychain','wheel bearings','f800r','rallye','doubler','scooters','bmw mirror','120 70 17','twin max carb sync tool','k1200rs tires','brace','cooling fan','hlc1','signal switch','staintune exhaust','gel pad','hose clamp pliers','guard','oil filter for r1100rt','rider back rest','quick release','authority','r 65','f800gs fender','b1281c','ztechnik r1200cl','r850','fork oil','vstream','bar ends','pac-029','rallye 2 pro jacket','rallye 2','bmw r1150rt','r1100s owners manual','canbus charger','tank bag power','sprocket','g450x tank','blind spot','bmw summer gloves','oil cap','right case holder','nav iv','blind spot mirror','metal mule','r1100rt brake pads','m5x20','anti seize','z2413','bowden','tire weights','foot peg lowering kit rider','rear mud flap','z6003','air filter r1100','cxh3cc','f-809-1-1111','filter','odyssey battery','stainless steel screw kit','jesse panniers','tire tube','timing chain','visor','r1150rt mirror','springs','r1200rt footpeg','luggage tankbag small 5 lt bmw r1200gs 08 present by bmw motorcycles motorrad','tools hexagonal mandril 22mm for removal of the front wheel','power commander','r850r','r1100rt battery','helmet speakers','bmw watch','k1200gt tank bag','carburetor rebuild kit','k1200r pannier','camera','r1200rt oil drain plug','sparkplugs','r1100rs','k100 hand guards','pannier protection','license','flat repair','wiring','r1100s turn signal','heated insoles','off road','break','givi windshield','bmw k1200lt oem battery','49 liter top case liner','baseplate','r1200st battery','antenna','front brake rotor','abs','accessory mount','tiedown','bearings','summer 2 pants','sae','repair cd','k1200gt barbacks','key blank','adventure panniers','abs sensor','clutch centering pin','driving lights piaa','clamp pliers','potentiometer guard','rear view mirror','pannier rails','r1200s wheel','r1150r heated grips','r1150r brake pads','r1200rt handle bar risers','filler cap wrench','rallye pro jacket','zero gravity','rear foot rest','k1200r sport windshield','laminar lip bmw k1300gt','pouch','fog lights','luggage grid','tire repair','radar mount','powerflare','license plate bracket','signal minder','touch up paint','gerbing sock','r1150gs oil filler cap','trailguard','spoke','verholen bar risers','cable lube','tach','digital tire gauge','bmw men\'s fleece jacket','me880','banjo bolt','hornig k1200gt','master cylinder cover','hinged cover','r60 exhaust','garmin nuvi mount','maintenance','suspender','front turn signal','kick starter','nav 4','wheel adapter','enduro boots','r1200gs tool kit','piston','r75 center stand','bmw gel battery','r1200c rear shock','garmin cable','r1200c tank','alternator tool','hardware','cross bar','dyna iii electronic ignition','k1200s seat','gerbings heated liner','rescue tape','ap-170r','water bottle','foot boards','k1200s manual','oil change r1200r','bmw navigator','reflective stickers','schnitzer','corbin','f800gs panniers','low seat r1200rt','centre stand','indicator lights','r1200gs crash bars','k1200lt luggage rack','650-1','volt','motoman','bmw advanced battery charger','crush','power outlet','dakar seat','bing floats','powerlet powerbar plus','travel','rear rotor','heated jackets','neoprene grips','tachometer r75 6','fw-1','fog','paint pen','aeroflow windscreen','k75s oil filter','givi tank bag','sedona gloves','r1150gs brake pads','cleaning kit','bmw brake pads','f650 owners manual','tank bag mount','130 90-17','grip glue','r1200gs clutch','textile','plexus','handlebar pad','hypoid gear oil','gs mirror','z6062','z7105','k1300s tank bag','bmw k1600gtl','r1200c oil filter wrench','radiator cap','manual cd','mirror for r1100rt','bmw armor','k1200rs rack','male plug','mirror safety','quick disconnect','drain','3532','tool pouch','sport leather','ppc-018','centech fuse panel','apparel','hose','axle slider','f800r tankbag','handle bar end weight','handlebar ends','wheel cleaner','tank cover','spark','magnesium valve cover','hand guards r1150gs','f800gs stickers','pac-008','r1150gs low seat','bungee anchors','z6032','k1200lt trailer hitch','top box liner','silk gloves','windshield spoiler','womens bmw jackets','doubler glove','w7dc','handlebar switch','switch mount','wheel cap','side case liners','r1200c clock','s1000rr handlebar','k1200s saddlebags','neck','r65 seat','k75 tank bag','r1100rt key','signal mirror','rtp','foggy','r1100s wind','replacement headlights','radiator hose','map','pso-004','spark plug gap','spray guard','sportboards','engine cover chrome','r1200rt backrest','r1200gs risers','oil filter for r1150rt','anti-fog','shifter skin','z6068','cigarette','rear brake rotor','ap-2','gas cap','chain tool','z2434','r69s','hornig tank bag','screen laminar','x5','r1100rs clutch cable','shift lever extension r1200rt','basic kidney belt','bmw reflectors','r1200gs headlight','f809-2-1112','bmw hat','storage pod','kidney belt','central vehicle electronics','13-11-1-259-869','metzeler tourance rear motorcycle tires size 130 80-17','gift certificate','luggage lock','bmw alarm system','calendar','chair','vanson','driving lights r1200c','rear light','events','rallye2','remote','rokstraps','air accumulator','z6055','spark plug puller','lh-22b','acpl.sw','tool kit k1200gt','fog city','210-x','lanyard','cardo','air flow jacket','head gasket','650cs','bmw scarf','bmw r1100s windshield','12 volt outlet','city boots','carbon fiber license plate','adventure tank bag','primer','k1200s handle bar','hornig r1200rt','oxf.of75','bmw r1100s','traffic light','screws','k1300gt gps mount','on board computer','side stand enlargement','carb balancer','bmw tire pressure','ratchet','r1200r tank bag','bmw t shirts','ngk dcpr8ekc','s850','windshield f800gs','k1200gt top case','cover cap rear wheel center cap','bmw k1200lt','mug','baehr cables','k1300gt oil filter','accessory socket adapter','touch','glove sizing','windshield f800r','dot 4','revit tornado','cam follower','valve tool','rear indicator','metrosafe 200','chain guide','right case','chrome mirror','strut','f650cs windshield','chain guard','s1000rr windscreen','leatt','rid','swingarm','bmw women','helmet intercom','scorpion','oil wrench','oil filter bmw oem','valve spring compressor','neutral','wurth','k&n air filter','womens leather jacket','r1100r backrest','k1 battery','mp3','r1100rt top case','extenda fender','front beak','k100 oil filter','bmw key fob','hugger','stuffbay','5w40','panniers r1200rt','cold throttle glove','rear mud guard','z6005','connector','deltran','maintenance dvd','glenda','r1200gs battery charger','fork seal driver','f650cs mirror','0348','denim city pants','engine gaskets','r100r seat','bmw service manual','bmw battery charger plug','clymer manual','fuel container','bearing puller','k1200s riser','lapel pin','gauntlets','r1100s grip','differential oil','crampbuster','f650 heated grips','k1200lt floorboards','485rfg01red','city trousers','acecc','temperature gauge','bmw navigator mount','r1100rs spark plugs','pkt-067-12','star socket','tourance suit','commuter jacket','dyna 3','z9050','straps','0600','trailguard pant','dcpr8ekc','cd','s1000rr exhaust','r1200gs charger','j peg hardware','prowinter','bmw heated grips','cramp buster','k75rt shock','canister','s1000rr jacket','gel battery tender','foot peg mounts','r1100rt fuel filter','bmw sneakers','bosch fr6ddc','sneaker','trunk lock','deerskin','seize','sale','extra low seat','r1200gs panniers','r1100s tank bag','shirt s1000rr','roll pin','cp a','s1000rr tank bag','rear brake caliper','front indicator','helmet security','bmw k1200s seat','r1150r bar riser','hand guard spoiler','bmw r1200c windshield','r1150r cover','f650gs bags','left mirror r1100rt','footpeg lowering kit rider r1200rt','bmw sport suit','r1150r starter','r1100rt mirror right','bmw mat','bmw sport jacket','ramp','super visor','rear axle','r1200rt oil change kit','trim panel','green light','womens shirts','control','r1100gs sidestand','blue max chair','fuel strainer','trolley','sports bag 19 liter','go cruise throttle control','intake valve','leather care','bmw motorrad cap','case protector','r1150rt top case','saf-xo','bmw skid plate','cleaning','steering stop','choke cable','gift card','top case lock','z6015','crash','seesite','brake shoes','side stand switch','bmw lube','r1100gs mirror','knife','rka luggage','bmw mug','certificate','b1167s','icom','f800s battery','clear shot','carbon canister','glare guard','small tankbag','r1200gs throttlemeister','r1100s oil filter wrench','bmw power plug','r1100rt fairing screws','bmw rallye 3 jackets','brazimoto','long sleeve shirt','polo shirt','boxer design bmw k1200r rear seat cover','bmw can bus battery charger','r1200r exhaust','handle bar risers k1200s','socket charger','bulb socket','r1100r owners manual','tank safety bar','ranger','respro','hub','r1150r oil filter wrench','bmw motorsports','handle bar mount','bmw rain','r1200gs half cover','r1200rtp','bmw summer','fuel rack','f650gs dakar','r80st exhaust','r1200gs led','filler cap','tenere tent','savanna','slip on exhaust','tensioner','bmw motorrad jacket','touring','ball cap','k clutch tool','k1100rs battery','044-0405','holiday','bmw intercom','bmw communication system','rtusc','fuel level','r1200gs side stand','paralever bearing','f650gs rack','silky','montana','blind plug','r65 gas tank','rider\'s manual','clearshot','hip','thumb swipe','rally jacket','bmw oil caps','foot pump','bungee net','tube repair','pf200','fork seal drift','bmw f650 battery','bmw t-shirts','bumper','r1150gs tail light','rocker cover','r1200c cover','r1150r oil filler cap','k100 grips','bmw wheelie zip-up hoodie','hi vis','bmw pro tour boot','r1100r brakes','backrest r1150rt','r1200rt side case','116 740','rider','k1200rs backrest','rka-113w','scorpion helmets','k1200rs footpegs','r1100rt sidestand','slipstream deflector','ratio rite','pkt-067','bmw allround 2 glove','oxf','r80rt seat','k1100','r1100s cover','bmw sweatshirt','r100rt battery','r1200rt pegs','gerbing heated','k&n','bmw gs t-shirt','repair connector','wintermug','k1200s hat','battery hold down','r1200c tank bag','r75 6','reflect 3','180 55 17','rallye 3 boots','blinker bulb','k100 tank','r1200r turn signal','pe120','r1100rt owners manual','r1200c gear','sneakerx','converter','rear hub','roadsmart','hand pump','rear hub cap','k1100rs','z8300','r1200gs oil wrench','sump','goretex insert','r90s battery','z5400','riderwest','brake cylinder','513-042','r1150gs bags','sparkplug cover','bmw topcase','1100','sbl.07.344.100','r1200r service manual','g450x tires','brake resetting tool','f650 turn signal','k1300gt charger','oil drain','case k1200rs','z8300t','race cover kit','bungee net cargo net black motorcycle luggage parts','screw driver','r1150r owners manual','silver function','r1200gs rear splash guard','function shirt','side deflector','obs','valve spring','floormats','bmw back protector','bmw handle bars','bmw headset','r1150rs windshield','r100 seat','blackberry','bmw key blanks','first gear jackets','r1200st tankbag','pac-007','f800st stock exhaust','bmw synthetic oil','r65 decal','sidi gloves','boxer cup','r1100s key blank','r1200c bar','r1100rs barbacks','r1150gs fuel pump','slipstream','tank r1100r','ring antenna','stainless screws','r1200gs fog','s1000rr battery','s100','bmw f800st','sealing washer','r1200rt bar','s1000rr windshield','r1100s carbon','twisted throttle','bmw shelf','cigarette plug','trinkpak','brake parts','r1100s valve cover','coax','r1200rt accessory shelf','bmw soft case','f800gs manual','rka-163','roadtec','bmw wheels','r1200gs brake lever','r1200c rubber grommet','r1200c tool kit','r1100rt spark plug cover','ribbed v belt','silicone remover','r1200c handle','r2','k75rt piston rings','concours','r1200gs handlebar','can holder','semi sphere','repair kit r1200c','bmw fleece shirt','clearwater krista','bmw motorcycle logo','r90s fairing','r1150gs foot pegs','stunt t shirt','bmw bike cover','r1200rt headlight','high visibility','bmw r1200gs engine guards','tube bag','tire caps','k1200s footpeg','s1000rr r','r1200rt city lid','k1200lt rear brakes','rear brake line','fabric tape','r1200gs spoked wheel','k1200s bulbs','r1100rt center stand','rdc','r100 stand','bmw windshield','bmw male accessory socket plug','streetcarver','bmw savanna 2','bakup r1100rt','sweater','b1246','rear brake reservoir','standard toolkit','k1200rs filter','r1200c pin','rubber boot','r1200c speedometer','seat tools','rt foot pegs','tire size','soft ties','freewheel','fm radio','seat parts','f15','reverse switch','r1150gs starter','bmw owners manual','bmw k75 bars','bmw fanny pack','bmw riders manual','right front turn indicator','k1200lt tail light','k1200s filter','bmw motorcycle jacket','rivet','r1100rs brake','r60 7','r1150r engine','r1100rt coil','rally pro jacket','system case liners','battery r60 6','bmw poster set','bmw gps mount','black reflective tape','bmw soft bag','scott','r1150rt passenger footpeg','bmw k75','r850r windscreen','r1200c luggage rack','bmw r1150r seat','bmw k100rs','rubber funnel','k1200r saddlebags','r1150rt aeroflow','rear view','rally pants','k1100rs tank bag','r1100rt luggage','case r1150r','sport','bmw spark plug socket','repair plug','right foot peg','roll 2','spark wrench','stbm12','r65 switch right','kickshift','harness','firstgear gloves','front foot peg','r80 seat cover','sbl.07.606.100','bmw foot peg','revolution counter','rm6','j&m','r1150r low seat','bmw rally jacket','bmw transition','case mount','black paint','r1200gs wind deflector','rod bearing shell','r1200gs accessory shelf','r1150rt topcase','slip on','sport 2','bmw rallye jacket','rubber strap','r1100gs top case','radar detector cable','bmw r1100 r1150rt carbon top clamp pad by hornig','r108-5-1105','rear splash guard machine art moto mudsling','release tool','sidi vertigo lei','bmw tachometer','sport panniers k1200s','r1100s windscreen','bmc','spine','front abs sensor','car kit','bmw r1100rt','speedbrain g450x','f650 oil filter kit','sidi blade','rear lens','basic cigarette socket kit 48','r1150r tankbag','k1200lt tools','r1200rt mount','r1150rt foot pegs','fork locks','r1200c pannier','rear lock','fanny pack','r100r windshield','r1200rt ztechnik','bmw rack','k1200lt handlebar','r1100gs air filter','502.914 00 09','k1200rs shift lever','r1100rt trunk','k1200rs wind','bmw r1200rt comfort seat','r1100rs tank bag','r1100gs spark plug','r1150gs rear shock','r1100r handlebar riser','k1200s r','k75 headlight bulb','r1150rt shift','cable boot','r75 6 mirror','bmw 49 liter top case','softbag small','r1200r skid plate','blp0002bk','bmw fuel cap','r1100rt abs','bar backs r1200st','r1150rt tool kit','bmw m bike','spine protector','r65 switch','bmw exhaust wrench','cayenne pro','pbr-003','k75s brake','bmw lowering kit','strip','k75s tool kit','r65 exhaust','front pegs','r1200r repair manual','beads for seat','r1200r riser','r1100rt high mirror','bmw cable gps','k100 tool kit','tclcd','r1200c windscreen','r100 coil','r100s gas cap','bmw f650gs windscreen','k1200gt tank protection','bmw tank','courier','chrome exhaust','bmw final drive tool','tire air','r1200gs footpeg lowering','r1100s headlight','bmw k1200lt center stand','f800s seat','paralever tool','fpt029','fpl014','r1200st oil filter','ring terminal','k1200gt repair manual','k75 key','r1150rs tank bag','skin','r1200rt heated seat','rear drive','bmw cigarette','r1150rt oil change kit','r1200rt head protection','r1150r comfort','bmw prorain','rear top case','r65 throttle cable','r1200r bar','bmw g450x','base gasket','safety light','k100 rider\'s manual','bmw gs boot','bmw tall windshield','r1100s oil filler cap','bulls eye','f800st handle bar riser','r100 decals','bmw rallye pro 2 pant','fh-ab4','r1100r speedometer','remover','650.628 01 09','bmw r1200gs windshield','r1150gs backrest','bmw oem tank bag','raise seat','topcase mirror','r1200rt rear brake pads','fp0046bk','r1200c windshield mounts','bmw take down lights','bmw rain cover','pa061bk','r1150rt comfort seat','red reflector','kryptonite lock','bmw jersey','bmw liner','front signal light','r1200rt rear shock','bmw case lids','bosch yr6lde','bulls eye hose nozzle','r1150rt back rest','ps5010','bulls eye nozzle','r1150gs pegs','r1150rt coil','sidi air','breathable jackets','bullseye','k1200s footpeg lowering kit','hex wrench','r1100rt hornig','bmw oil coolers','bmw extractor','r1200rt filter wrench','side bag mounts','acc.00.002','kern\'s','rt footpeg','ppc-004','f650gs rear brake pad','k1200s low seat','r1200st panniers','top case mirror','f800s risers','f650 screw','r1200gs fork','k75 brake hose','700.922','strobe','k1200s tank pad','slipon','bmw comfortshell','r1100rt oil filter wrench','felt','k1300gt risers','rear blinker','recon pants','telescopic magnet light','f650gs hand protector','r1200gs filter wrench','bmw filter wrench','trail tech','r1100s risers','f800s exhaust','ckv106','rapido gloves','r1150r rear brake pads','repsol 15w-50','ccb','airglide 3 pants','r1200gs handlebar risers','bmw accessory shelf','bmw 7 series','s1000rr alarm','afguard k12rs','crane lift','k1200gt bar','bmw antifreeze','bmw trinkpak hydra','rr leather jacket','handbook','stretch kevlar','r1200rt sidestand','pac-022','r1150rt fairing','rk-hd','bmw bearing','bmw 28 liter top case','butane','k1200lt screws','kilimanjaro','r1150rt motorcycle cover','commander','tubular engine bar','r1200gs brake disc','k1200rs oil change','r1200gs hat','610.040 00 00','s6','compact tool kit');
/* $Revision: 3828 $
 *
 */

if(typeof(_sli_init )!='object'){var _sli_init=new Array();}
if(typeof(sli_init )!='function'){function sli_init(){ for(var x=0;x<_sli_init.length;x++) _sli_init[x]();}}
if(typeof(asPhrases)!='object'){ var asPhrases = new Array(); }
if(typeof(__SLI_customisations)!='object'){var __SLI_customisations = new Object();}
if(typeof(__SLI_ClientDefaults)!='object'){ var __SLI_ClientDefaults=[]; }
if(typeof(__SLI_validSearchBoxes)!='object'){ var __SLI_validSearchBoxes = new Array(); }
if(typeof(__SLI_asug_used_flag)!='object'){ var __SLI_asug_used_flag = false; }
if(typeof(__SLI_width)!='object'){ var __SLI_width = 0; }
if(typeof(sli_targeturl)!='object'){ var sli_targeturl = ""; }


    __AutoComplete = new Object(); //namespace...
    __AutoComplete_mouseMoved=false;

    // Basic UA detection
    isIE = document.all ? true : false;
    isGecko = navigator.userAgent.toLowerCase().indexOf('gecko') != -1;
    isOpera = navigator.userAgent.toLowerCase().indexOf('opera') != -1;

    /* defaults and options */

    var __SLI_ApplicationName = 'AutoSuggest';
        __SLI_customisations[ 'AutoSuggest' ] =
                {
                    'ShowBrandingFooter' : true
                    ,
                    'TextBoxIDPrefix' : 'sli_search_'
                    ,
                    'BrandingFooterImagePath' : 'http://assets.resultspage.com/autosuggest/sli_systems-powered_150_15.gif'
                    ,
                    'BrandingFooterTitleTooltip' : 'AutoSuggest Powered by SLI Systems'
                    ,
                    'DropListMinWidth' : 150
                    ,
                    'MaxListItems' : 10
                    ,
                    'Alignment' : true
                    ,
                    'TextBoxIDCustom' : []
                    ,
                    'ValidSearchBoxes' : false 
                    ,
                    'IE6SelectBox' : false 
                    ,
                    'IE6SelectBoxPadding' : 0
                    ,
                    'TargetURL' : ''
                    ,
                    'IframeAlignment' : false
                    ,
                    'AlignmentBorderBug' : false
                    ,
                    'IE6OnFocus' : false
                };
    /* 0 = keyname, 1 = value */
    for( defaultValuePair in __SLI_ClientDefaults )
    {
        __SLI_customisations[__SLI_ApplicationName][__SLI_ClientDefaults[defaultValuePair][0]]=__SLI_ClientDefaults[defaultValuePair][1];
    }

    /* pre-fetch branding footer image if being used...
     */
    if( __SLI_customisations[ __SLI_ApplicationName ][ 'ShowBrandingFooter' ] )
    {
        
        if(location.protocol == "https:")
        {
            __SLI_customisations[ __SLI_ApplicationName ][ 'BrandingFooterImagePath' ] = __SLI_customisations[ __SLI_ApplicationName ][ 'BrandingFooterImagePath' ].replace(/http:/i, 'https:');
        }
    
        var __AutoCompleteBranding = new Image();
        __AutoCompleteBranding.src=__SLI_customisations[ __SLI_ApplicationName ][ 'BrandingFooterImagePath' ];
    }


    function AutoComplete_init()
    {
        if(!isOpera)
        {
            var oldonresize=function(){};
            if(typeof(window.onresize)=='function')
                oldonresize = window.onresize;//play nicely with other people's toys
            window.onresize= function(){ oldonresize(); AutoComplete_HideAll(); AutoComplete_Create( asPhrases ); }

            AutoComplete_Create( asPhrases );
            
            var els = document.getElementsByTagName('input');
            if(els)
            {
               for ( i = 0; i < els.length; i++ )
               {
                  if(els[i].name == "asug")
                  {
                     els[i].disabled = true;
                  }
               }
            }
        }
    }




    /**
    * Attachs the autocomplete object to a form element. Sets
    * onkeypress event on the form element.
    *
    * @param string formElement Name of form element to attach to
    * @param array  data        Array of strings of which to use as the autocomplete data
    */
    //function AutoComplete_Create (id, data)
    /*
     * iterate over 'sli_search_*' assumes one or more search boxes numbered from 1...
    */
    function AutoComplete_Create( data )
    {
        var idx=1, e, id, searchBoxPrefix=__SLI_customisations[ __SLI_ApplicationName ][ 'TextBoxIDPrefix' ];
        while( e = document.getElementById(searchBoxPrefix+idx) )
        {
            AutoComplete_AttachHandlers(e, data);
            if( __SLI_customisations[ __SLI_ApplicationName ][ 'ValidSearchBoxes' ] )
            {
                __SLI_validSearchBoxes.push(searchBoxPrefix+idx);
            }
            idx++;
        }
        
        
        //this array comes from the customised list
        var otherTextBoxIdList = __SLI_customisations[ __SLI_ApplicationName ][ 'TextBoxIDCustom' ];
        if( otherTextBoxIdList)
        {
            for(idx=0;idx<otherTextBoxIdList.length;idx++)
            {
                e = document.getElementById(otherTextBoxIdList[idx]);
                if(e)
				{
					if( __SLI_customisations[ __SLI_ApplicationName ][ 'ValidSearchBoxes' ] )
                	{
	                    __SLI_validSearchBoxes.push( otherTextBoxIdList[idx] );
                	}
					AutoComplete_AttachHandlers(e, data);
				}
            }
        }
        
    } 

    function AutoComplete_AttachHandlers(e, data){
        var iframe,id;
        id=e.id;


        __AutoComplete[id] = {'data':data,
                              'isVisible':false,
                              'element':document.getElementById(id),
                              'dropdown':null,
                              'highlighted':null};

        __AutoComplete[id]['element'].setAttribute('autocomplete', 'off');
        __AutoComplete[id]['element'].onkeydown = function(e) {if (!e) e = window.event; return AutoComplete_KeyDown(this.getAttribute('id'), e);}
        __AutoComplete[id]['element'].onkeyup = function(e) {if (!e) e = window.event; return AutoComplete_KeyUp(this.getAttribute('id'), e);}
        // The function call on the next line was changed by Andrew Grieve April 2008
        __AutoComplete[id]['element'].onkeypress = function(e) {if (!e) e = window.event; return AutoComplete_KeyPress(this.getAttribute('id'), e);}
        __AutoComplete[id]['element'].onclick = function(e)
        {
            if( __SLI_customisations[ __SLI_ApplicationName ][ 'IE6OnFocus' ] )
            {
                __AutoComplete[id]['element'].focus();
            }
            if (!e) e = window.event; e.cancelBubble = true; e.returnValue = false;
        }



        // Hides the dropdowns when document clicked
        var docClick = function()
        {
            if( __SLI_customisations[ __SLI_ApplicationName ][ 'ValidSearchBoxes' ] )
            {
               for(var i=0; i < __SLI_validSearchBoxes.length; i++)
               {
                   if(document.getElementById(__SLI_validSearchBoxes[i]))
                   {
                       AutoComplete_HideDropdown(__SLI_validSearchBoxes[i]);
                   }
               }
            }
            else
            {
                for (id in __AutoComplete)
                {
                   AutoComplete_HideDropdown(id);
                }
            }
        }

        if (document.addEventListener) {
            document.addEventListener('click', docClick, false);
        } else if (document.attachEvent) {
            document.attachEvent('onclick', docClick, false);
        }


        // Max number of items shown at once
        if (arguments[2] != null) {
            __AutoComplete[id]['maxitems'] = arguments[2];
            __AutoComplete[id]['firstItemShowing'] = 0;
            __AutoComplete[id]['lastItemShowing'] = arguments[2] - 1;
        }

        AutoComplete_CreateDropdown(id);

        // Prevent select dropdowns showing thru
        if (isIE) {
            iframe = document.createElement('iframe');
            __AutoComplete[id]['iframe'] = iframe;
                iframe.id = id +'_iframe';
                iframe.style.position = 'absolute';
                iframe.style.top = '0';
                iframe.style.left = '0';
                iframe.style.width = '0px';
                iframe.style.height = '0px';
                iframe.style.zIndex = '98';
                iframe.style.visibility = 'hidden';
                
                if(location.protocol == "https:")
                {
                   iframe.src = 'https://assets.resultspage.com/autosuggest/blank.html';
                }
                
                if( __SLI_customisations[ __SLI_ApplicationName ][ 'IE6SelectBox' ] )
                {
                  iframe.style.width = __SLI_width  + __SLI_customisations[ __SLI_ApplicationName ][ 'IE6SelectBoxPadding'];
                }

            if( __SLI_customisations[ __SLI_ApplicationName ][ 'IframeAlignment' ] )
            {
                document.body.insertBefore( iframe );
            }
            else
            {
                __AutoComplete[id]['element'].parentNode.insertBefore( iframe, __AutoComplete[id]['element'] );
            }
        }
    }

    /**
    * Creates the dropdown layer
    *
    * @param string id The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_CreateDropdown(id)
    {
        var theSearchbox = __AutoComplete[id]['element'];
        var theDropDown;
        var left_top = AutoComplete_getPos( theSearchbox );
        var left  = left_top[0];
        var top   = left_top[1] + theSearchbox.offsetHeight;
        var width = theSearchbox.offsetWidth;

        if ( width < __SLI_customisations[ __SLI_ApplicationName ][ 'DropListMinWidth' ] )
        {
            width = __SLI_customisations[ __SLI_ApplicationName ][ 'DropListMinWidth' ];
        }

        theDropDown = document.createElement('div');
        theDropDown.className = 'autocomplete'; // Don't use setAttribute()


        if(__SLI_customisations[ __SLI_ApplicationName ][ 'Alignment' ] == true && document.body)
        {
            theDropDown.style.position = 'absolute';
            document.body.insertBefore(theDropDown, document.body.nextSibling);
            
            // Position it
            theDropDown.style.visibility = 'hidden';
            theDropDown.style.left       = left + 'px';
            theDropDown.style.top        = top + 'px';
            theDropDown.style.width      = width + 'px';
            theDropDown.style.zIndex     = '99999';
        }
        else if(__SLI_customisations[ __SLI_ApplicationName ][ 'Alignment' ] == "offsetrelative" && document.body)
        {
          theSearchbox.parentNode.insertBefore(theDropDown, theSearchbox);
          // Position it
          if(sli_getStyle(theSearchbox.offsetParent, 'position') != "absolute")
          {
            theSearchbox.offsetParent.style.position = 'relative';
          }
          theDropDown.style.position = 'absolute';
          theDropDown.style.left = (theSearchbox.offsetLeft) + 'px';
          theDropDown.style.top = (theSearchbox.offsetTop + theSearchbox.offsetHeight) + 'px';
          theDropDown.style.width = (theSearchbox.clientWidth) + 'px';
          theDropDown.style.visibility = 'hidden';
          theDropDown.style.zIndex     = '99999999';
        }
        else
        {
            theSearchbox.parentNode.insertBefore(theDropDown, theSearchbox);
            // Position it
            theDropDown.style.visibility = 'hidden';
            theDropDown.style.left       = left + 'px';
            theDropDown.style.top        = top + 'px';
            theDropDown.style.width      = width + 'px';
            theDropDown.style.zIndex     = '99999';
        }
        

        __AutoComplete[id]['dropdown'] = theDropDown;
        __SLI_width = width;
    }

    function /* array [ left, top ] */ AutoComplete_getPos( obj )
    {
        var curleft = curtop = 0;
        var sli_flag = 0;

        if (obj.offsetParent)
        {
           do
           {
              if ( __SLI_customisations[ __SLI_ApplicationName ][ 'AlignmentBorderBug' ] )
              {         
                
                if(sli_flag == 1)
                {
                    var clientTop = (obj.offsetHeight - obj.clientHeight) / 2;
                    curtop += clientTop;

                    var clientLeft = (obj.offsetWidth - obj.clientWidth) / 2;
                    curleft += clientLeft;
                }
                sli_flag = 1;
              }
           
              curleft += obj.offsetLeft;
              curtop += obj.offsetTop;
           }
           while (obj = obj.offsetParent);
        }
        return [curleft,curtop];
    }

    /**
    * Shows the dropdown layer
    *
    * @param string id The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_ShowDropdown(id)
    {

        AutoComplete_HideAll();



        var value = __AutoComplete[id]['element'].value;
        var toDisplay = new Array();
        var newDiv    = null;
        var text      = null;
        var numItems  = __AutoComplete[id]['dropdown'].childNodes.length;

        __AutoComplete_mouseMoved=false;
        // SLI Code Modification - Start - Andrew Grieve April 08
        // Trim the textbox so that if is starts with a space then the feature will still work
        //value = value.replace(/^\s+|\s+$/g,"");
        value = value.replace(/^\s+/g,"");

        if(value.length == "")
        {
            // If Textbox length is nothing (after the trim) then don't show dropdown.
            return;
        }
        // SLI Code Modification - End

        // Remove all child nodes from dropdown
        while (__AutoComplete[id]['dropdown'].childNodes.length > 0) {
            __AutoComplete[id]['dropdown'].removeChild(__AutoComplete[id]['dropdown'].childNodes[0]);
        }


        var count=0;
        // Go thru data searching for matches
        for (i=0; i<__AutoComplete[id]['data'].length; ++i)
        {
            // SLI Code Modification - Start - Andrew Grieve April 08 - Added lower casing
            if (__AutoComplete[id]['data'][i].substr(0, value.length).toLowerCase() == value.toLowerCase())
            {
                // SLI Code Modification - End
                toDisplay[toDisplay.length] = __AutoComplete[id]['data'][i];
                count++;
                /* how many to display? */
                if(count == __SLI_customisations['AutoSuggest']['MaxListItems'] ) /* Code inserted to keep list to a maximum of 10 values (was 20 or 30) */
                {
                    break;
                }
            }
        }

        // No matches?
        if (toDisplay.length == 0) {
            AutoComplete_HideDropdown(id);
            return;
        }



        // Add data to the dropdown layer
        for (i=0; i<toDisplay.length; ++i) {
            newDiv = document.createElement('div');
            newDiv.className = 'autocomplete_item'; // Don't use setAttribute()
            newDiv.setAttribute('id', 'autocomplete_item_' + i);
            newDiv.setAttribute('index', i);
            newDiv.style.zIndex = '99999';

             // Scrollbars are on display ?
            if (toDisplay.length > __AutoComplete[id]['maxitems'] && navigator.userAgent.indexOf('MSIE') == -1) {
                newDiv.style.width = __AutoComplete[id]['element'].offsetWidth - 22 + 'px';
            }

            newDiv.onmouseover =
        function()
        {
            if( __AutoComplete_mouseMoved )
                AutoComplete_HighlightItem(__AutoComplete[id]['element'].getAttribute('id'), this.getAttribute('index'));
        };

            newDiv.onclick     =    function()
                                    {
                                    	  __SLI_asug_used_flag = true;
                                                                           
                                        AutoComplete_SetValue(__AutoComplete[id]['element'].getAttribute('id'));
                                        AutoComplete_HideDropdown(__AutoComplete[id]['element'].getAttribute('id'));
                                        AutoComplete_submitForm(id);
                                    }



            text   = document.createTextNode(toDisplay[i]);
            newDiv.appendChild(text);
            newDiv.title='Search for ' + toDisplay[i];

            /* ellipsis for IE only */
            if( isIE )
            {
                newDiv.style.textOverflow = 'ellipsis';
                newDiv.style.width = '100%';
                newDiv.style.whiteSpace = 'nowrap';
                newDiv.style.overflow = 'hidden';

            }
            __AutoComplete[id]['dropdown'].appendChild(newDiv);
        }
        /*
         * append DIV containing footer branding...
         */
        if(__SLI_customisations['AutoSuggest']['ShowBrandingFooter'])
        {
            i = toDisplay.length;
            newDiv = document.createElement('div');
            newDiv.className = 'autocomplete_footer'; // Don't use setAttribute()
            newDiv.setAttribute('id', 'autocomplete_item_' + i);
            newDiv.setAttribute('index', i);
            newDiv.style.zIndex = '99999';
            newDiv.innerHTML = '<a href="http://www.sli-systems.com/powered-by.php" title="' +
                                __SLI_customisations[ __SLI_ApplicationName ][ 'BrandingFooterTitleTooltip' ] +
                                '"><img class="autocomplete_footer_branding" src="'+__AutoCompleteBranding.src+'" /></a>';

            __AutoComplete[id]['dropdown'].appendChild(newDiv);
        }


        // Too many items?
        if (toDisplay.length > __AutoComplete[id]['maxitems']) {
            __AutoComplete[id]['dropdown'].style.height = (__AutoComplete[id]['maxitems'] * 15) + 2 + 'px';

        } else {
            __AutoComplete[id]['dropdown'].style.height = '';
        }


        /**
        * Set left/top in case of document movement/scroll/window resize etc
        */
        if(__SLI_customisations[ __SLI_ApplicationName ][ 'Alignment' ] == "true" || __SLI_customisations[ __SLI_ApplicationName ][ 'Alignment' ] == "false")
        {
            var left_top = AutoComplete_getPos( __AutoComplete[id]['element'] );
            __AutoComplete[id]['dropdown'].style.left = left_top[0];
            __AutoComplete[id]['dropdown'].style.top  = left_top[1] + __AutoComplete[id]['element'].offsetHeight;
        }


        // Show the iframe for IE
        if (isIE) {
            
            if(!__SLI_customisations[ __SLI_ApplicationName ][ 'Alignment' ] == true)
            {
               __AutoComplete[id]['iframe'].style.width  = __AutoComplete[id]['dropdown'].offsetWidth;
            }
            
            
            __AutoComplete[id]['iframe'].style.top    = __AutoComplete[id]['dropdown'].style.top;
            __AutoComplete[id]['iframe'].style.left   = __AutoComplete[id]['dropdown'].style.left;
            __AutoComplete[id]['iframe'].style.height = __AutoComplete[id]['dropdown'].offsetHeight;

            __AutoComplete[id]['iframe'].style.visibility = 'visible';
        }

    e =  __AutoComplete[id]['dropdown'];

    e.onmousemove =
        function()
        {
            if(!__AutoComplete_mouseMoved){__AutoComplete_mouseMoved=true;}
            this.onmousemove = null;
        }

        // Show dropdown
        if (!__AutoComplete[id]['isVisible']) {
            __AutoComplete[id]['dropdown'].style.visibility = 'visible';
            __AutoComplete[id]['isVisible'] = true;
        }


        // If now showing less items than before, reset the highlighted value
        if (__AutoComplete[id]['dropdown'].childNodes.length != numItems) {
            __AutoComplete[id]['highlighted'] = null;
        }
    }



    /**
    * Hides the dropdown layer
    *
    * @param string id The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_HideDropdown(id)
    {
        if (__AutoComplete[id]['iframe'])
        {
            __AutoComplete[id]['iframe'].style.visibility = 'hidden';
        }
        
        if (__AutoComplete[id]['dropdown'])
        {
            __AutoComplete[id]['dropdown'].style.visibility = 'hidden';
        }

        __AutoComplete[id]['highlighted'] = null;
        __AutoComplete[id]['isVisible']   = false;
    }


    /**
    * Hides all dropdowns
    */
    function AutoComplete_HideAll()
    {
         if( __SLI_customisations[ __SLI_ApplicationName ][ 'ValidSearchBoxes' ] )
         {
               for(var i=0; i < __SLI_validSearchBoxes.length; i++)
               {
                   if(document.getElementById(__SLI_validSearchBoxes[i]))
                   {
                       AutoComplete_HideDropdown(__SLI_validSearchBoxes[i]);
                   }
               }
         }
         else
         {
                for (id in __AutoComplete)
                {
                   AutoComplete_HideDropdown(id);
                }
         }
    }


    /**
    * Highlights a specific item
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    * @param int    index The index of the element in the dropdown to highlight
    */
    function AutoComplete_HighlightItem(id, index) // mouseover, index is the list element index, zero-based
    {
        if (__AutoComplete[id]['dropdown'].childNodes[index]) {
            for (var i=0; i<__AutoComplete[id]['dropdown'].childNodes.length; ++i) {
                if (__AutoComplete[id]['dropdown'].childNodes[i].className == 'autocomplete_item_highlighted') {
                    __AutoComplete[id]['dropdown'].childNodes[i].className = 'autocomplete_item';
                }
            }

            __AutoComplete[id]['dropdown'].childNodes[index].className = 'autocomplete_item_highlighted';
            __AutoComplete[id]['highlighted'] = index;

            //also see below...
            //__AutoComplete[id]['element'].value = __AutoComplete[id]['dropdown'].childNodes[index].innerHTML;
            //AutoComplete_SetValue(id);
        }
    }


    /**
    * Highlights the menu item with the given index
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    * @param int    index The index of the element in the dropdown to highlight
    */
    function AutoComplete_Highlight(id, index) // keyboard up/down - index is the direction of travel, 1==down,-1=up
    {
        var childNodes = __AutoComplete[id]['dropdown'].childNodes;
        if(childNodes.length)
        {
	        var lastItem = ( ( childNodes[ childNodes.length - 1 ].className != 'autocomplete_footer' ) ? childNodes.length - 1 : childNodes.length - 2 );

            // Out of bounds checking
            //if (index == 1 && __AutoComplete[id]['highlighted'] == __AutoComplete[id]['dropdown'].childNodes.length - 1) {
            if (index == 1 && __AutoComplete[id]['highlighted'] == lastItem ) {
                childNodes[__AutoComplete[id]['highlighted']].className = 'autocomplete_item';
                __AutoComplete[id]['highlighted'] = null;

            } else if (index == -1 && __AutoComplete[id]['highlighted'] == 0) {
                childNodes[0].className = 'autocomplete_item';
                __AutoComplete[id]['highlighted'] = lastItem;
                index = 0;//hack!
            }

            // Nothing highlighted at the moment
            if (__AutoComplete[id]['highlighted'] == null) {

                childNodes[0].className = 'autocomplete_item_highlighted';
                __AutoComplete[id]['highlighted'] = 0;
                newIndex = 0;
                
            } else {

                if (childNodes[__AutoComplete[id]['highlighted']]) {
                
                    childNodes[__AutoComplete[id]['highlighted']].className = 'autocomplete_item';
                }

                var newIndex = parseInt( __AutoComplete[id]['highlighted'] ) + parseInt(index);

                if (childNodes[newIndex]) {

                    childNodes[newIndex].className = 'autocomplete_item_highlighted';

                    __AutoComplete[id]['highlighted'] = newIndex;
                }
            }

            //populate textbox with currently highlighted term...
            //__AutoComplete[id]['element'].value = __AutoComplete[id]['dropdown'].childNodes[newIndex].innerHTML;
            AutoComplete_SetValue(id);
        }
    }


    /**
    * Sets the input to a given value
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_SetValue(id)
    {
        __AutoComplete[id]['element'].value = __AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlighted']].innerHTML.replace(/&amp;/, "&");
    }


    /**
    * Checks if the dropdown needs scrolling
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_ScrollCheck(id)
    {
        // Scroll down, or wrapping around from scroll up
        if (__AutoComplete[id]['highlighted'] > __AutoComplete[id]['lastItemShowing']) {
            __AutoComplete[id]['firstItemShowing'] = __AutoComplete[id]['highlighted'] - (__AutoComplete[id]['maxitems'] - 1);
            __AutoComplete[id]['lastItemShowing']  = __AutoComplete[id]['highlighted'];
        }

        // Scroll up, or wrapping around from scroll down
        if (__AutoComplete[id]['highlighted'] < __AutoComplete[id]['firstItemShowing']) {
            __AutoComplete[id]['firstItemShowing'] = __AutoComplete[id]['highlighted'];
            __AutoComplete[id]['lastItemShowing']  = __AutoComplete[id]['highlighted'] + (__AutoComplete[id]['maxitems'] - 1);
        }

        __AutoComplete[id]['dropdown'].scrollTop = __AutoComplete[id]['firstItemShowing'] * 15;
    }


    /**
    * Function which handles the keypress event
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_KeyDown(id, e)
    {
        var result = true;

       var event;
       event = e;
       if(!event) event = window.event;

        var keyCode = event.keyCode;

        switch (keyCode) {

            // Return/Enter
            case 13:
                if (__AutoComplete[id]['highlighted'] != null) {
                    AutoComplete_SetValue(id);
                    AutoComplete_HideDropdown(id);
					
                    __SLI_asug_used_flag = true;
					
                    if( e = __AutoComplete[id]['element'].form['asug'] )
                    {
                        
                        e.disabled=false;
                        e.value = __AutoComplete[id]['asug'];
                    }

                }

                result = AutoComplete_submitForm(id);

                break;

            // Escape
            case 27:
                AutoComplete_HideDropdown(id);
                event.returnValue = false;
                event.cancelBubble = true;
                break;

            // Up arrow
            case 38:
                if (!__AutoComplete[id]['isVisible']) {
                    AutoComplete_ShowDropdown(id);
                }

                AutoComplete_Highlight(id, -1);
                AutoComplete_ScrollCheck(id, -1);
                
                if( e = __AutoComplete[id]['element'].form['asug'] )
                {
                   e.disabled=false;
                   e.value = __AutoComplete[id]['asug'];
                }

                                
                result = false;
                break;

            // Tab
            case 9:
                if (__AutoComplete[id]['isVisible']) {
                    AutoComplete_HideDropdown(id);
                }
                return;

            // Down arrow
            case 40:

                if (!__AutoComplete[id]['isVisible']) {
                    AutoComplete_ShowDropdown(id);
                }

                AutoComplete_Highlight(id, 1);
                //AutoComplete_ScrollCheck(id, 1);

                if( e = __AutoComplete[id]['element'].form['asug'] )
                {
                   e.disabled=false;
                   e.value = __AutoComplete[id]['asug'];
                }

                result = false;
                break;
        }
        return result;
    }


    /**
    * Function which handles the keyup event
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_KeyUp(id, e)
    {
       var event;
       event = e;
       if(!event) event = window.event;

        var keyCode = event.keyCode;

        switch (keyCode) {
            case 13:
                event.returnValue = false;
                event.cancelBubble = true;
                
                break;

            case 27:
                AutoComplete_HideDropdown(id);
                event.returnValue = false;
                event.cancelBubble = true;
                break;

            case 38:
            case 40:
                return false;
                break;

            default:
                AutoComplete_ShowDropdown(id);
                
                __AutoComplete[id]['asug']=__AutoComplete[id]['element'].value;

                if( e = __AutoComplete[id]['element'].form['asug'] )
                {
                   e.disabled=true;
                   e.value = "";
                }  
                
                break;
        }
    }

    /**
    * Function which handles the keypress event
    * This function added April 2008 by Andrew Grieve
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */

    // SLI Code Modification - Start - Andrew Grieve April 08
    function AutoComplete_KeyPress(id, e)
    {
        var event = e;
        if(!event) event = window.event;
        var keyCode = event.keyCode;

        if (keyCode == 13 && isGecko || isOpera)
        {
            return false;
        }
        
        if( __SLI_customisations[ __SLI_ApplicationName ][ 'TargetURL' ] )
        {
            if (keyCode == 13 && isIE)
            {
                return false;
            }
        }
        
    }
    // SLI Code Modification - End

    /**
    * Returns whether the dropdown is visible
    *
    * @param string id    The form elements id. Used to identify the correct dropdown.
    */
    function AutoComplete_isVisible(id)
    {
        return __AutoComplete[id]['dropdown'].style.visibility == 'visible';
    }

    function AutoComplete_submitForm(id)
    {
        var e, f, result=true;
        if( f = __AutoComplete[id]['element'].form )
        {
            if( __AutoComplete[id]['element'].value != '' )
            {
            	if(__SLI_asug_used_flag == true)
            	{
                   if( e = f['asug'])
                   {
                      e.value = __AutoComplete[id]['asug'];
                      e.disabled=false;
                   }
                }
                
                if( __SLI_customisations[ __SLI_ApplicationName ][ 'TargetURL' ] )
                {
                	asugvar = "";
                	if(__SLI_asug_used_flag == true)
                	{
                	  asugvar = '&asug=' + __AutoComplete[id]['asug'];
                  	}
                    
                    sliRegex = /resultsdemo\.com/;
                    if(sliRegExArray = sliRegex.exec(document.domain))
                    {
                    	sliRegex = /^http:\/\/(.*)\//;
                    	sliTargetDomain = sliRegex.exec(__SLI_customisations[__SLI_ApplicationName ][ 'TargetURL' ]);
                    	__SLI_customisations[__SLI_ApplicationName ][ 'TargetURL' ] = __SLI_customisations[__SLI_ApplicationName ][ 'TargetURL' ].replace(sliTargetDomain[1], document.domain);
                    }
                    
                	document.location.href = __SLI_customisations[__SLI_ApplicationName ][ 'TargetURL' ] + __AutoComplete[id]['element'].value + asugvar;
                }
                else
                {
                	f.submit();
                }
                
                AutoComplete_HideAll();
            }
            else
                result = false;
        }
        return result;
    }
    
    // get the style that will be applied by the browser, including stylesheets
    function sli_getStyle(el,styleProp)
    {
      if (el.currentStyle)
        var y = el.currentStyle[styleProp];
      else if (window.getComputedStyle)
        var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
      return y;
    }

    // register with onLoad(er...
    _sli_init.push( AutoComplete_init );
    
    function sli_addEvent(obj, evType, fn) {
    	if (obj.addEventListener) {
    		obj.addEventListener(evType, fn, false);
    		return true;
    	} else if (obj.attachEvent) {
    		var r = obj.attachEvent("on" + evType, fn);
    		return r;
    	} else {
    		return false;
    	}
    }
    
    function sli_load()
    {
    	sli_addEvent(window, 'load', sli_init);
    }
