/* Popular phrases - NRSWEB - 17:32:58, Fri Mar 19, 2010 */
__SLI_ClientDefaults =
[
    ['Alignment', true ]
];var asPhrases=new Array ('used rafts','cataraft','knife','drysuit','nrs fishing raft frame','gloves','dry pants','dry bags','hydroskin','cooler','dry suit','wetsuit','water shoes','neoprene socks','river knife','boots','fishing package','kayak shoes','paddling pants','drytop','helmets','paddling gloves','kayak','dry top','throw bag','neoprene gloves','paddle jacket','womens pfd','hydrosilk','river shoes','socks','water boots','tie down straps','canoe float bags','straps','neoprene boots','shoes','neoprene pants','life jackets type v','chaco','kayak gloves','used catarafts','neoprene booties','waterproof gloves','cataraft fishing','splash jacket','board','pump','wet shoes','pfd','farmer john wetsuit','endurance','anchor','float bags','rash guard','used oars','kayak seat','inflatable kayak','paco pad','foam blocks','pogies','womens life jackets','life jackets','kayak boots','kayak life vest','deck rigging','box waterproof','water socks','camera','nose plugs','waterproof backpack','waterproof camera bags','farmer john','groover','fly fishing rafts','life vest','neoprene shorts','valves','toilet','dry box','bilge pump','seat','pelican','throw rope','rescue knife','extreme drysuit','spray skirt','hydrosilk shirt','oar mounts','semi dry top','303','yakima','womens dry tops','deck bag','used inflatable kayaks','paddle float','booties','rescue pfd','hypalon fabric','hydroskin shirt','kayak skirt','frames','z drag','foot braces','grizzly','hat','rowing gloves','used otter raft','kayak straps','splash pants','dura soft cooler','whitewater raft','paddle shoes','nrs storm boot','cataraft tubes','gigbob','sprayskirt','d rings','kokatat','glue','cargo net','used kayaks','dry sock','oars','bills bag','womens paddle jacket','bungee','table','cockpit cover','pvc glue','waterproof duffel','oar frames','fire pan','repair kit','wet suits','kayak and canoe boat cart','waterproof camera case','mystery','bandit','waterproof socks','desperado','ducky','waterproof bag','spray jacket','pvc repair','paddle bag','river tube','fishing frame','compass','firepan','hydroskin socks','fishing raft','oar locks','wet suits women','vista','gasket','hydroskin women','thwart','oar rights','ethafoam','river cat','boundary sock','cart','pants','closed cell foam','whitewater helmets','paddle','aire tomcat','wetsuit jacket','first aid kit','kayak spray skirts','hypalon','watershed','river bag','aquapac','roof rack pads','knives','kayak life jackets','wavelite','go pro','pontoon boats','dog','thigh straps','drybag','aquaseal','paddle leash','splash top','kayak float bags','carabiner','cataract oars','capri','attack shoe','tow tether','riken rafts','throwbags','seat pads','kayak cockpit covers','stove','kayak helmet','raft','yakima car rack fit list','female funnel','rapid gloves','lock','padz','boat bag','lash tab','cup holder','seam tape','paddle holder','triton','minicell foam','oarlock','rain jacket','aire','raft pump','wet socks','kickers','women lifejacket','skull cap','rope','hypalon patch','dry backpack','farmer jane wetsuit','oar sleeve','boundary','womens neoprene pants','tow line','drink holder','womens drysuit','fabric guard','elbow pads','tether','powerhouse','gig bob','tributary raft','lights','water bottle','hydration','riken','kayak lock','women\'s wetsuit','canoe flotation','anchor system','shorts','maverik','flotation bags','sandals','astral','patagonia','bow line','shorty','patch kit','cooler mounts','mittens','dry bag duffel','jacket','youth wetsuit','water filter','guide paddle','raft guide paddle','revolution','hydroskin pants','boston valve','engel coolers','thigh bar','hood','board shorts women\'s','pin kit','uv protection','abba','sasquatch','maverick','board shorts','high back life vest','super puma','tent dry bag','pilot knife','toilet system','anchor mount','hypalon adhesive','pelican case','rashguard','keen','headlamp waterproof','endurance jacket','floating rope','strobe','drybox','union suit','d ring patch','sand stake','soft cooler','ipod','kavu','mesh back pfd','map case','cam straps','helmet liner','fishing pfd','rogue','pilot','high float life jacket','latex socks','webbing','neck gasket','tow rope','hip pads','neoprene','net','nrs sea tour jacket','rafting life jacket','kayak cover','kayak seat pads','hydration pack','oar blades','paddling shorts','motor mount','z-drag','footwear','women wetsuit','green jacket','sandal sock','stampede','sea tour jacket','cable','fins','protec helmet','lopro','portable toilet','otter','pvc d ring','carlisle','k-pump','gopro','action seat','neoprene jacket','tow','rodeo','mesh bag','river knives','hyprotex','dry duffle','yakima footbraces','2 piece oar','ultra jane','toaster','wiz','neoprene shirts','seat back','e140','pfd type v','otter rafts','paco','sunglasses','dry jackets','rain gutter','casting platform','desperado shoe','1236','oar keeper','boat cart','back band','hydro skin','stabond','ibex','anchor pulley','aluminum dry box','neoprene hat','halkey-roberts valve','hypalon material','duffel','kayak storage','mesh duffle bag','terraprene','venus','swivel seat','dry','expedition socks','ninja','sea tour','werner paddle','tear aid','cleaner','ik','norge','head trip','aire cataraft','endurance pants','wing','bandit ii','drypants','cargo floor','canoe','kayak deck bag','zipper','engel','fusion','kayak compass','pink pfd','halkey roberts','nrs water boot','clifton adhesive','atb','event','lo pro','toluene','sar','cfd','cataract','durasoft','workboot','oar stands','ipod case','igloo cooler','flip lines','mesh gear bag','water helmet','nose cone','engle cooler','sale','tuff sack','cataraft frame','leash','kayak backpack','camp table','womens board shorts','tributary','tropos','attack','reactor gloves','pvc patch','high float pfd','quick and easy','e 140','canoe floatation','guide gloves','bandit 2','puma','raft floor','nose','desperado sock','padded straps','wax','wetsocks','floor','storm hood','valve adapter','hydroskin gloves','drysuit repair','bear claw','kayak pump','neoprene top','navigator','tempest','nrs extreme relief','mp3','sleeping pads','saddle bag','adventure medical','tow belt','canoe seat','canoe float','rolla cot','rash guard shirts','stern frame','thigh','yak clip','raft paddle','paddle wetshoe','roof racks','pursuit','lvm pump','pads','flux','grill','nrs toaster mitts','side rail rack','sealskinz','qclips','safety whistle','boaters gloves','nrs reactor gloves','fusion glove','river straps','hydroskin shorts','clifton hypalon adhesive','nrs strap','headphones','adhesive','dwr','gift card','stickers','igloo','guru','mighty mounts','inversion','glasses','aire lynx','clearwater','t shirts','drysuit gaskets','bladder','mesh back life vest','rio top','kayak paddle','pressure relief valve','wetshoes','cat floor','roll a cot','floatation','brunton','rescue board','comm 3','kids','mitts','strobe light','h2 glue','greenjacket','water container','wag bag','waterproof flash light','river booties','cover','head lamps','4 piece paddle','seal skin socks','astral women','life vests women','kokatat dry suit','repair tape','pelican box','motor','rafters gloves','flashlight','cataraft floor','big horn frame','level 6','blast','e-150','werner carbon bandit','storage','mystery shirt','protec','handles','mambas','astral greenjacket','oar length','raft storage bag','maverick gloves','wavelite pants','farmer jane','returns','drop rails','mystery hood','camera case','radio','mission drysuit','fleece','fleece pants','revolution drytop','womens dry pants','nrs hydro silk shirts','tshirts','boundary boots','outfitter blade','footbar','bigstack','kids spray skirt','head size','pelican o rings','nrs carolina pants','two face','kokatat dry top','bow bag','u bolt','navisafe','chums','bag','rodeo pant','map','pvc patch kit','mesh floor','cable lock','wake helmet','rescue vest','vest','radio dry bag','hypalon paint','chinook','spectra rope','pulleys','mission','fuzzy rubber','kids shorty','otter 130','stern seat mount','titanium','bill','seat mount','waterproof jacket','waterproof ipod','neoprene glue','kayak dry bag','kicker shoe','cross-4 wet shoe','compact throw','womens tops','kayak rack','reactor','revivex','sawtooth','ptk','sun protection','mini cell','rio pant','nrs extreme relief drysuit','tomcat','otter 140','visor','boundary shoe','payette jacket','liner','ear plugs','filter','big water v','lynch pin','ethafoam block','tarp','flares','rescue boots','oar sizing','q towers','nrs hoodie','backband','dutch oven','bandit 1','womens chaco','cord','womens','gerber','super nova','portage pack','tear aid type a','rapid rescuer','tubular webbing','scout','wedge','yakima cross bars','lighter','e150','self bailing tandem kayak','big horn 2','tropos jacket','blades','paddle wax','zipper wax','kayak foot pegs','cargo platform','hand pump','farmer bill','shelter','big water guide','oarmounts','rodeo sock','ultra farmer john','cam buckle','seal skinz','john','pro creeker','plug','kokatat tempest','oar tether','nrs attack shoe','tape','flotation','skinz','mirror','fixture','powerhouse jacket','inflator','werner camano paddle','hydrocuff','duffle','rogue glove','steamer','bilge','eno','dish','watershed backpack','rack','green','glove liners','engle','nrs vista pfd','shuna','monocular','foam pad','raft bag','strap slides','gfer','the kayak roll','passenger seat mount','bighorn','kids wetsuits','nrs vista','neoprene repair','inflatable raft','pro-tec','bella','thigh braces','kokatat drysuit','deck cord','helter shelter','compact outfitter frame','bibs','lopro fitting','acr','bandit seat','air pump','canoe racks','unbendable pipe','kpump','roll a table','bowdown','kidskin','rescue gloves','otb','shoreline','swim fins','cag','custom','waterproof pants','medical comprehensive kit','women dry suit','microlite','funnel','work boot','shaft extender','spectra','semi drytop','nrs anchor mount','level six pacific jacket','bent paddle','crossover','treksta','pink','kayak roof rack','watershed westwater backpack','hammock','raft handles','flexfit hat','driduffel','sawyer','gacoflex','prusik','power stove','q clips','nrs kayak','tear-aid','pressure gauge','storm boot','little john','merino','duffel bags','stern mount','fleece union suit','kisatchie','nexus','hydration bladder','rescue wetsuit','boat cleaner','roll-a-table','ninja pfd','wavelite union','katadyn','gflex','waterproof ipod case','water rescue','brewfire','storage stern','let it rain','nrs farmer bill wetsuit','nrs big water','rascal','retractor','armband','dura mesh','gear net','wake','wonder pump','anti gravity','mystery helmet liner','youth life jackets','waterproof boots','pelican 1300','felt sole kickers','foundation','pontoon','ultra','little jane','nrs tuff sack','flexseal','oar teather','duffle bag','sea tiger','catalina','ibex women','motion soft shell','books','quick n easy','military valve','kayak carrier','pro rescue bag','emergency paddle','c-7','type 5','shore adhesive','outboard','drylander','idaho','wheels','danuu','clear dry bag','minicell','tempo 200','guardian','float tubes','pro tec ace','crossbar pads','big water v youth','bearclaw','go pro hd','foot bar','colorado','cat frame','werner sidekick','ibex wool','plus size','big water','split kayak flotation','beanie','parawing','kayak foam','werner foot brace','vinyl adhesive','chaco z1','economy paddle','whirlpool bibs','adapter','solvent','hydroskin farmer jane','wetsuit john','eno single nest','wool pants','chaco zx 2','kid skin','pelican sabrelite 2000','large casting platform','main salmon guide book','main salmon','bowline','oar grips','canoe straps','bottle','otter 142','crew','12 foot tributary','hydroskin vest','sasquatch shoe','aire tributary','infant life jacket','grizzly jacket','yoke','cascade','pins','ear','oceanid rdc swiftwater rescue boat','long underwear','pillar','nrs rafts','infant','paragon','wavelight','raft valves','boat saddles','boundry sock','oar stops','comm 3 wetshoe','flux drytop','wavelite shirt','paddle wet shoe','mens wet suit','gunnison shorts','hero','outfitter frame','colorado river guide','inflatable tandem','solar','carolina','wrist gaskets','latex','paddlers gloves','hd hero','sar drysuit','high back seat','neoprene mittens','shower','big stack','waterproof','black rock pants','tuff bag','colorado bag','oar extender','nrs motion mambas','hero camera','take-apart paddle','steripen','caribeaner','30 can','youth high float','kavu oso jacket','polypropylene rope','xt pants','sheet','kids life jacket','level six hat','catalina skirt','engel 175','vibram','sit on top kayak','carbon player','sterling','universal mount','extrasport volksvest life jacket','rescue kit','tempo','eco safe','whiz','zdrag','c tug','dutch','nrs hypalon raft repair kit','snap dragon','aire force air floor kayak','cross 4','katadyn filter','navilight','stool','j hook straps','mens shorts','sea kayak jacket','foot cups','glideskin','black rock','rear casting platform','gear bag','stern seat','creek','1200','mek','stake','woodland power stove','quick change','metro inflator','5 gallon water container','neoprene mitts','gravity','fishing boats','paddle board','rash','little john wetsuit','shovel','hydroskin titanium','wave light','tempest pant','blackrock','spray top','pilot shoe','raptor','chaco flip','nrs flux drytop','140','counter','boat packages','radio bag','farmer john shorty wetsuit','161','bandit fabric','youth hydrosilk','nrs desperado','lacing','nrs expedition','nrs bighorn frame','nrs women\'s powerhouse jacket','seat padz','drain hole seat','hr','camelback','protec two face','canoe bag','1830','spare oar keeper','deluxe sponge','landing pad','line','crew gloves','take a part paddles','carolina pants','otter 13','crazy creek','event drysuit','keen newport','convertible oar rights','guide shirts','nrs pfd','whanganui','kayak float','truck rack','infinity center bag','child life jacket','werner bandit','kayak tow line','middle fork','nrs fishing frame','nez perce','kokatat tempest pants','seat caddy','semi dry','latex dry socks','nrs creek gloves','ultra john','foot','otter 120','full zip sea tour','otb water boots','werner shuna','women\'s flux','shak','z 1','magnum','nrs','hydrocuff socks','kokatat meridian','hypalon seam','nrs gunnison shorts','touring safety kit','nrs copilot','carlisle oar shaft','system 5','aire repair kit','womens splash pants','basic fishing frame','otter livery','head light','aire super puma','kayak jacket','tall oar','womens guide shirt','astral green','map bag','swiftwater drysuit','windproof lighter','futa','astral abba','diva','boardshorts','extender','standard throw bag','seat bar','neoprene vest','extreme relief','rowing seat','hydro skin socks','clifton urethane adhesive','binoculars','camp counter','women\'s hydroskin','flip','back pack','otter 130 fishing package','mukluk','sst','shoes and boots','apex','men\'s ibex','lola','blast pump','u shaped thigh bar','threshold','pup tent','black rock splash pants','bighorn 1','water shirts','tee shirts','bow float','aquapac slr','protec ace wake','extra float','rodeo hat','wavelite xt','action seat bar','werner sherpa','superston','propane','bear','north shore','canine','big horn ii','solar charger','nrs hustle pfd','anti gravity shirt','dura soft','dive skin','wag','base layer','aire repair','freestyle','yakclips','astral greenjacket pfd','helix','cobra oar locks','squirt gun','owyhee shorts','purest','kodiak','longhorn','super duper puma','rescue suit','rubber','eye protection','maverik 2','basic nylon','rails','werner tybee','water proof','blue','ubolt drink holder','water gun','boater bucks','seal skin','deck compass','ace water','e 160','princeton','snorkel','wingman','nrs dry bag','keen sandals','wildcat','ptc paddle','outfitter','3.8','paddler medical kit','neoprene suit','outfitter bag','nrs rapid glove','sawtooth jacket','pursuit sandal','nrs endurance pants','kit','spreader bar','goddess','stampede shorty','mack\'s','boat light','action swivel seat','merino wool','oar keeps','stand up paddle','alaska','rawhide sprayskirt','recreational kayaks','system 5 bag','valve repair','nrs hydroskin farmer john','farmer john wet suit','type b','303 fabric guard','silk','rain hat','rick sack','dry top rogue','wet suit for women','guru pfd','nrs otter','low profile pfd','sherpa paddle','neoprene cap','hydro skin shirt','dog pfd','aquablaster','sink','purest bag','dog life vest','tributary 120','boundry shoe','jane wetsuit','seal saver','watershed futa float bag','mysterioso','snap dragon spray skirts','tow strap','fire pan cover','pooh powder','owhyee','hook straps','16','aquapac pda','crkt bear claw knife','used oar locks','nrs cap','kavu jacket','steri pen','touring paddle bag','cataract oar blade','atb felt sole wet shoe','k40','cataract sgg oar shaft','neoprene cockpit cover','frame connections','women\'s dry suits','nrs black rock pants','mesh deck bag','tropos fabric','pro kayak','air gauge','safety kit','cross','aqua seal','super tuff','grizzly wetsuit jacket','womens hydro skin','vista pfd','hydrosilk pants','pfd hydration','casting bar','party lights','tula','type 1 pfd','meridian','wfb','aeropress','nrs hydroskin','ut3','nrs boundary sock','rubber stopper','ball cap','ut5','swift','scout watershoe','willis','sea hood','boat sponge','energlo','blue screw','two face helmet','raft cleaner','ace water helmet','tuff','tropos 3','2 piece carlisle','beacon','150 expedition','pro-tec ace','1 2 sterling static rope','raft sealant kit','1200sr','z drag crib sheet','rick','glove rope','magnum blade','bail','oar straps','nrs kayak sherpa','exchange','cataraft anchor system','cataraft fishing frame','nrs titanium hydroskin sock','kayak hanger','wool','river runner','kicker wet shoes','rain shelter','atb shoe','cat','nikwax','ikelos','bow line bag','atb wetshoe','zip tech','mississippi','ibex merino','watershed mississippi','cleat','ironmend','wet suit jacket','standard kayak float','spare oar','felt sole wetshoe','meru hat','foam grips','tuff sac','urethane glue','boat frame','neoprene capri','nrs crew glove','waste','aquapac small','metro pump','nrs triton drytop','womens neoprene socks','bandit foot pegs','2875.1','slide','2 inch straps','otter package','tula sierra hat','13 fishing package','center float','engle 123','women\'s flip flop','pelican 1200','frame specs','cargo board','livery','cushion','nrs hydroskin gloves','nrs revolution','seal drybag','vinyl patch','solar power','wonderjacket','kodiak cat','sks','portage','propulsion','foam kayak seat','nrs cool dry bag','13 foot otter','nrs ultra john','aquapac belt case 824','nrs microlite foundation shirt l s','felt sole','boating gloves','belt','infinity','slickrock','nrs powerhouse jacket','type 3 vest','cascade jacket','kayak ornament','long john','felt','nrs boundary shoe','dry box latch','capri pants','chaco redrock','sand anchor','paddlefloat','mens jackets','patagonia sol patrol','nrs co-pilot knife','ice cream maker','keen newport h2','mesh bag for dishes','raft cargo floor','canoe cart','womens kayaking drysuit','drip','leak repair','thermalplush','9.5 raft','nrs endurance','igloo cooler pad','union','toast','tom martin','led light','team hoody','women\'s water shoes','kayak maverick','deluxe foot bar','north shore jacket','farmer bill wetsuit','quick dry','remix','houdini','extreme sar','shorty dry top','snow shoes','eos','pro compact','camera mount','2313','flip line bags','propane stove','z-cote','dry box seat pad','16 cat fish package','pelican 1450','wetsuit boots','women\'s shirt','purest duffel','towel','rock boots','nrs groove pfd','roll','shoulder extensions','mr zogs','dri stow','wavetex','womens shak','hardshell kayak','astral willis pfd','gps case','igloo 94','nrs cooler','lady j','igloo 128','spf','center float bag','pick of life','cataract sgg','fish cat','selway','carlisle magic','dry suit feminine relief','maverik glove','latex gloves','grizzly john','pedestal','koss bag','1090','16 ft raft','hells canyon map','1080','grizzly little john','pelican lite','bow stern tie down','cataraft motor mount','keen venice','foot brace kit','hr fill adapter','hip snaps','rain pants','navi light','ibex woolies','womens wave lite','cooler fit list','hydroskin mambas','type 5 universal pfd','sierra','ultra-light paddler medical kit','scout shoe','hydroskin paddling gloves','cobra oarlocks','kokatat tropos tempest','dry wet suits','white water kayaks','titanium gloves','hip','paddler','gravity filter','rolla','werner rio paddle','tall apparel','raft repair instructions','womens whitewater pfd','swimwear','high back drain hole','11 16','slim ray','twist valve','nrs spray skirt','e-142','water filtration','kokatat skirt','constrictor','pfd type iii','wavelite union suit','ranger','co-pilot knife','frame mount','werner double diamond','ricksack dry bag','ken whiting','shore','coffee press','yukon','projekt','semidry suit','blender','repaired nrs 16 kodiak cataraft','chaco flip sandal','dive suit','waterproof duffle','k 100','bivvy','kokatat tempest pant with socks','watershed yukon','bigwater guide','animas','raft thwart','paddle biner','paddle rings','unpin','hydro cuff','hanging straps','purest mesh','low pro fittings','drytop triton','foundation tee','fly fishing packages','pins and clips or oarlocks','blem','procreeker','wet suit pants','woman drysuit','storm cag','battery charger','aquapac 414','dinosaur','kayak pogies','carlisle outfitter blade','nrs ninja','lube','womens mesh life jackets','daffy','filter water bottle','nrs boots','mesh duffel bag','youth farmer','werner desperado','kokatat outfit','keen venice h2','3mm glove','women\'s keen','purest mesh duffel bag','protec wake helmet','full','neo touring deck','e130','pelican 1510','neoprene cover','side rack','womens carolina pants','otb abyss boot','tributary 13.0','wrench','ice commander suit','seminole','aloksak','kayak thwarts','ice commander','crkt','wetsuit pants','double down','hullyroller','big horn i','waterproof shoes','kernmantle','canoe center float','skidguard frame','inflatable pontoon boat','summit 1 valve','womenswetsuit','astral life green','kayak paddle clip','map holder','rapid','diamond plate','clear bag','womens kayak life jackets','spibelt','curve','princeton tech','nrs e140','helmet camera hero','smith audrey','brunton lite','futa float','extrasport pro creeker','kavu shorts','stern rails','e136','wave','tomcat thwart seat','fishing rod holder','womens endurance jacket','hiker pro','foam fit','pelican ipod','cataract oar counterbalance','com 3','owyhee river','deck mounted compass','drip rings','revolution dry top','gravity jacket','nrs crew','let\'s get wet','kitchen drybox','helmet hero','cataraft nose cone','cataract magnum blade','women\'s paddling shoe','smurf','tributary tom cat','#2225','fit','kickboat','breakdown side rails','women\'s carolina','leafield pr valve','splash gear','wagg bags','acr plb','shoulder sling','high boots','water shed bags','sun block','nrs team hoodie','waterproof binoculars','short sleeve hydroskin','four piece paddle','highroller','nrs storm','foot straps','nrs rescue wetsuit','tropos deluxe','coil','big bob','womens inversion','nrs wetsocks','fox whistle','tributary 1422','rodeo float bag','foam car','carlson rescue board','high pressure pump','ace wake water','nrs crossover shirt','storm lighter','youth sock','nrs women\'s hydroskin shirt','audrey','kayak tow','kokatat semi-dry suit','compact rescue','warehouse','wetsuit gloves','kokatat rain jacket','women\'s nrs hydroskin pants','steelhead','semi','wonder pump super 6','order form','rescue tether','rail grab','cooking','kokatat dry pants','awning','nrs drylander shock cord sprayskirt','sam','checklist','drift boat oars','2050.1','neck gasket repair','full blast','boat storage','felt shoe','towline','motion soft shell jacket','conditioner','roll a stool','multi tool','plastic oar stoppers','sidebar','topcat','nrs rio pants','polyester','soft roof racks','wood oars','retro','dry box pad','salmon river','splashproof','silk pants','womens wavelite shirt','canoe foam blocks','nrs rapid kayak gloves','spoon','magic plus','repellant','womens hats','neopreme pants','spreader','pro guardian waist bag','cookware','clean neoprene','nrs mystery sea hood','nrs purest','nrs sweatshirt','swiftwater fury','type 1 life vests','touring kit','nrs universal','river shirt','thule cable lock','women\'s wet shoes','treksta kisatchie sandal','hypalon d ring','carolina splash pants','deck kit','carlisle outfitter paddle','h20 audio','current','sea sock','fishing shoe','tropos drysuit','titanium shoe','flip rope','womens flux drytop','carolina splash','tuff sack dry bag','wet bag','size 15','summit valve adapter','roof box','nrs thigh strap','system 5 dry bag','c tug boat cart','water proofing spray','nrs hydroskin farmer jane','wing tent','steamer wetsuit','northshore jacket','dry suit e-vent','thin skin','tomcat inflatable','heavy duty bill\'s bag','stand up surfboard','women\'s neoprene capri','seat lock','smc swivel','winter gloves','run off','clock','pilot titanium','swiftwater rescue field guide book','cell phone cover','woman shorts','paddle drip','pots','pet life jacket','pilot sheath','storm strip','shoulder','nrs descent','small drybag','#2886','summit ii','protec 2 face','boaters','#2430','water proof gloves','womens boots','womens mystery','women\'s chaco sandals','solight','wagg','werner rudder','waterproof wallet','women semi dry top','werner carve','women\'s sandals','womens footwear','passport','werner little dipper carbon','dry shirt','revolution top','powderhound','winter grand canyon','wetsuits for women','women\'s fleece pants','chest','#2210','whitewater classics','pelican case 1450','water proof head phones','fire steel','waterproof duffle bag','wave lite shirt','wavelite mens','we suits','womans wet suits','soggy sneakers','windproof','coffee filter','seals 7','color-coded','stand up board','#2690','santa canoe','women\'s tropos','wetsuit cement','splashjacket','raft paddle bag','round frame plugs','split stern flotation','storm helmet','pick of life ice awls','wave light xt','crossover tee shirts','dry deck bag','super 4 pump','short sleeve dry top','demo rafts','paddle blades','synthetic socks','d ring handle','sks cores','nrs women\'s wavelite shirt','women\'s boaters gloves','#2340','super lube','#2231','big water v pfd','buff','dyneema line','kickers booties','princeton tec strobe','women\'s splash jacket','#1126','women\'s endurance','singlenest','wavelite xt shirt','princeton tec eos headlamp','soft seat pad','bag only','smith hudson','black rock paddling pants','boat clean','chilko splash jacket','split stern float bags','#7524','soft saddlebag cooler','stove cover','#1828.1','roll bags','cold weather','recreational kayak paddle','double nest','skeg kit','nrs 1440','nylon spray skirt','nrs dura soft','nrs deck bag','full finger','nrs men\'s inversion kayak dry suit','nrs little jane wetsuit','stacker','women\'s hoody','portaging system','nrs base layers','nrs loop straps','frame cross bar','nrs wavelite union suit','rafting santa','nrs motion shorty','nrs pfd bag','blower pump','blackberry','nrs titanium socks','sawyer cobra','pioneer compass','double action hand pump','nrs hypalon patches','rack foam pads','canoe wheels','kokatat super nova','swiftwater rescue guide','carry pack','saw tooth','fishing boat package','women sizing','neoprene rodeo shorts','propane camping grill','watershed chatooga','women\'s wear','privacy shelter','pfd leg straps','claw','paddling dry pants','canoe center bag','nrs back band','foot peg ik','stampede long sleeve','water sandals','boatline','strap on compartments','compression dry sack','chaco womens z2','power dry','swift canoe','nrs cataraft yoke','watershed tote bag','wick','six pack cooler','pump valve','wetsuit fit','casting brace','boat socks','kayak roll dvd','rio frio','nrs duffle','raft wear','nfpa rope','bowbag','wave lite pant','riken seam tape','woolies crew','nrs split kayak flotation','bucket boat','hydro skin farmer john','raft color','self bailing','bow float bag','carlisle take apart kayak paddle','childrens pfd','paddleshoe','carlisle stm','footwear sizing','bravo foot','dry lander','cheetah seat','feather','pelican camera case','drift anchor','big surf','shockcord','bandit carbon','boatbag','breeze','neck gasket size','removing patch','padz canoe','belay','womens descent water shoe','counterbalanced handle','wetsuit for children','frame straps','women\'s z 2','kit hypalon','rafting jacket','seat mount plate','nrs groove','women dry','carolina dry pants','royalex','spandex','women\'s clothing','nrs nez perce','kayak cup holder','nrs triton','cross-4 wetshoe','nrs hypalon','hypalon floor','nrs 142','nrs cataraft frames 16','dry bags for radios','drop bar','#1439.1','kayak holder','slim','breakdown side rail adapter','nrs cool dry bag liner','dry shorts','carlisle outfitter','nrs comm','kidskin pants','whitewater life jackets','fixed batten attachment','waterproof cases for phone ipod','#1845 r','push button','pvc ring','#1810','bandit repair','wavelite long sleeve','chaco\'s','stern dry bags','canoe pedestal','stink no more','sea stow bag','rafting boots','#1200 sr','bow-line','river wing tent','san juan paddle','shoe laces','paddler med kit','pfd fit','waterproof ipod nano 4th generation','seal line dry bags','nrs otter 142','woman life jacket','pump 100','frame fit list','cotol 240','deluxe car rack','clamp on','canoe tie','pilot watershoe','raft 142','stormstrip closure','camp cot','ssg oars','supplies','raft wash','supertuff sack','dura soft cooler liner','water sandal women','wake board','pro kayak tow bag','patagonia capri','keen h2 sandals','foot hypalon','feet bar','nrs river cat','side loader','werner kalliste paddle','deck rail','cool','kids shirt','roll at table','neoprenehoods','co-pilot sheath','breathable kayak skirt','high roller','kokatat dry','nrs womens life jackets','knife sheath','board bags','nrs paddle jacket','knife holder','personal cataraft','paddle mitts','bow and stern straps','raft motor','rockpants','raft fabric','crazy seat','note','freedom','pump float','kavu vintage trucker hat','kokatat life jacket','cataract sgg oars','kayak mount','purifier','hypalon floor material','nrs fishing','roof rack crossbars','werner bent shaft paddles','propane blaster','fly fishing vest','standard fishing frame','foam core touring paddles','wind screen','counterbalanced oars','colorado duffle','kayak package','desent','nrs skidguard','h20 audio headphones','sol','childrens wetsuits','nylon dry bag','repair adhesive','river rescue crib sheet','cockpitcover','nrs frame','pro fit','kayak gear bag','dry top repair','sturgeon pfd','waterproof map bag','short halkey','#2560','heat','nrs kicker wetshoe','bravo foot pump fitting','cooler accessories','ptk kayak paddle','burning','semi-dry suit','sierra board short womens','cataraft bags','pfd strap','hypalon nylon','dry box strap','helmet buckles','computer','tropos whirlpool bib','wonderpump 2','kataraft','kayak seat padz','nrs universal canoe blocks','cargo frame','clear drybag','patagonia a c','waterproof floating bag','kokatat deluxe','nrs big water guide pfd','double','steel','whitewater float bags','hydroskin farmer','raft shade','woman board short','dish washing','travel cover','women\'s river sandal','doughnut','watershed aleutian','kids rash guard','submersible dry boxes','canoe tie-down','pvc raft repair','w board shorts','prijon drain plug assembly','foot entrapment','soft pack coolers','super pad','smith glasses','cam tie down','replacement o ring','foam rack','halkey roberts valve types','hip straps','kayak paddle button','raft valve repair','crew youth','carlisle boat oar','diva tee','project','hd','d biners','selway map','#2719.5','kayak bladder','#2755','camp toilet','foam brace','footholds','personal','sherpa bent','rescue gear','patagonia pants','water proof backpack','nrs splash top','watershed deck bag','sawyer lights','hypalon thinner','patagonia mesh back','cataract counter balance','dry bag bills bag','halter','nrs breathable paddle jacket','paddle pants breathable','c tug boat','nrs outfitter bags','woman\'s rash guard','boa','kokatat union suit','women\'s kayaking life jackets','blockhead','siderail racks','hold','kayak wheel cart','hydroskin titanium pants womens','kayak t-shirt','smith spoiler','flotation devices for dogs','two way radios','boat oars','boat specs','bug shirt','paddling trunk','kokatat paddling trunk','tall oar stands','camp site counter','nrs crossbar','nrs boats','high profile pfd','pickup truck kayak','nrs tether','player bent','cataraft repair','nrs otter 130 fishing package frame','waterproof passport','nrs rafter glove','fish on seat','fat','nrs utility','k-400','kokatat outer core','nrs women\'s boaters gloves','protec twoface','swiftwater field guide','canoe kneepads','drysuit sizing','summit i','solar water bottle','waterproof shuffle','skidguard seats','car top','cool liner','repairkit','bravo hose','commercial rafts','changing bag','shortsleeve dry top','toe blocks','pro paddler medical kit','kokatat expedition dry suit','diesel','seat-pad','b2 helmet','waist pack','creek boat','padz deluxe','women\'s waterproof jacket','waterproof mittens','shortsleeve hydroskin','hydrosilk uv','deck pack','patagonia mesh','canada','spout','raw hide','pvc sleeve','wavelite top','#3075','replacement oar handle','nrs pfd hydration pack','nrs capris','head warm','womens goddess tee','cap cat','hydroskin short sleeve shirt','neoprene wetsuit jacket','standard floor','drysuit cleaner','womens dry wear','kids splash','women\'s kayaking pfds','replacement bulb','kids paddling jacket','kokatat paddling capri','floatbag tubes','deck mesh rigging','toilet tent','desolation grey','wrist repair kit','bow tie','kilt cockpit cover','kayak roof rack pads','swift entry drysuit','halkey-roberts wrench','#3082','d ring repair','pins n clips','drysuit gasket repair','nylon repair','brunton echo','box waterproof floats','womens life jackets lotus','folding knife','carlisle extension','wrist gasket repair','dry box support','pilotknife','wavelite longsleeve','water weapon','chinok','#2220','nrs split stern flotation bags','neoprene river shoes','hydroskin sport shorts','pick of life awl','water whistle','nrs microlite foundation','#2341','dry bag for kayaking','flood','camera dry box','werner touring paddles','wide loader','nrs 1.5 straps','womens kayak pfd','camp light','waterproof journal','skirt size','chaco z 1 unaweep sandal men','boats floor','permits','stainless nrs water','kayak outfit kit','kavu pants','boa bike rack','frame setup','cascadia bent shaft','women\'s chaco 8','canoe pfd','chinook fishing mesh back pfd','smith method','wetsuit straps','heavy duty rafting oar','women\'s endurance pants','halkey roberts valve wrench','kayak rope','center bag','#1255','waterproof digital camera','frame siderails','d ring hook','patagonia vest','rope pulleys','paddler wetshoe','paddle top endurance','shinook','stink the stink','chacowrapsody','rack back','nrs wet socks','women\'s shorty wetsuits','ptk 230','pro tec wake helmet','raft seat mount','kayak fit','cockpit outfitting','women\'s long sleeve shirts','waterfilter','power jacket','steak','patagonia mesh back pfd','smith threshold','built-in chest harness of 2 webbing with a quick-release cam buckle and steel rescue ring on the back','b7 valve cap','waterproof womens jackets','pro tec ace wake','bob cat','cargonet','solo canoe flotation bag','nrs dura soft cooler liner','billbag','nova','whitewater tow','boat cup holder','c-7 leafield valve','nrs womens endurance pants','k pump guage','frame break down','counterbalanced','#1271','hypalon d ring patches','dry hat','water guide jackets','color options with rafts','replacement pelican','#1840','cell foam','nrs stampede jacket','hooded top','wet suit sizing','front zipper wetsuit','wild river float tube','tropos blast','nrs youth vista','nepal','hypalon raft repair kit','sunprotect shirts','camp filter','water headphones','sizing shorts','werner camano bent shaft','beyond the cockpit','#2729','waste system','water work boot','nymph','carlisle 2-piece raft','nrs 3.8','#1831.1','kokatat swift drypants','raft mounts','standard stern','#2302 desperado','#2229','standard stern float','#2307','werner foot','stainless bottle','water tank','repair nrs bandit','cargo net w straps','hypalon ring','women\'s relief','cataraft cargo floor','rock paddling pant','self-bailing raft','nrs women\'s endurance jacket','push button assembly','strake','pelican flashlight','high neoprene boots','heel ankle','swift drypants','dry aid','cool weather rafting gloves','dry bag pack','clearwater vest','type 2 pfd','safety video','woman dry top','duty straps','hypalon seam tape','pelican 1470','deck storage','blackrock dry','black paddle','kokatat dry suit repair','neoprene head cover','nrs canoe 3-d short solo float','fuel bottle','kids vista pfd','semidry women','frame storage','pro paddler first aid kit','patch aid','b7 repair kit','duffel liner','cataract mini','nrs kayak sherpa backpack','car carrier','sar rescuer','frame specifications','h2o audio waterproof ipod cases','kayak rack for car','seal skinz all season','pfd short torso','womens kokatat tropos suit','brunton butane canister','paddlewax','chinookpfd','new zealand','waterproof ipod case 4th generation','neoprene water pants','neoprene paddle shoe','cutting','tufftex','northwoods guide book','purest with pad','work glove','nrs webbing','pro bag','bidart racerback','double down 5','small plastic stoppers','northwoods whitewater');
/* $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);
    }