/* Popular phrases - LULULEMON - 9:23:47, Wed Feb 22, 2012 */
__SLI_ClientDefaults =
[
    ['TextBoxIDCustom', ['searchfield'] ],
    ['ShowBrandingFooter', false],
];
var asPhrases=new Array ('groove pants','bags','we made too much','define jacket','headbands','gift card','wunder under','back on track','paris pink','back on track pullover','scuba hoodie','water bottles','wrap','wunder under crop','vest','stride jacket','sweaters','skirt','define','apres run anorak','yoga mat','leggings','wunder under pant','scuba','pants','mat','hot yoga shorts','cool racerback','no limit tank','jacket','pullover','in stride jacket','bra','flow','flash','scarf','astro','camo','ta ta tamer ii','studio pant','deep breath tank','tennis skirt','manifesto','run back on track tank','shorts','yin me pullover','run inspire crop','groove','astro pant','pique','run','stride','dance studio pant','tanks','run pace-setter skirt','back on track jacket','wunder','run back on track pullover','head bands','dance','hoodies','power y tank','run speed short','no limit','vinyasa scarf','pig pink','tall','bottle','crop','yoga towel','still pant','back on track skirt','sizing','cross my heart','sports bra','pigment blue','anorak','pink','run turbo short','studio','tadasana','yoga pants','apres run','reflection wrap','will pant','boogie short','hot yoga','towel','run swiftly','scoop neck tank','run back on track','denim','wonder under','yoga','infinity scarf','ta ta tamer','power y','apres','in stride','rain jacket','cypress run pullover','socks','gym bag','destined for greatness','get fit tank','dance studio jacket','flow and go tank','run your heart out','returns','rain coat','work to play pant','work to play','tennis','run swiftly tech','ruffle','studio crop','reversible','run your heart out tank','arise bra','skort','mens pants','groove crop','ambassador','astro wunder under crop','tights','black swan','indigo','stay on course','cross my heart bra','backpack','coat','savasana wrap','yoga mat strap','yin me','speed short','underwear','swiftly','running tights','duffel','capri','run swiftly tech long sleeves','run inspire crop ii','dressage','hat','dance studio','running skirt','deep breath','duffel bag','stripe','run back on track skirt','run free pant','cross my heart tank','yoga bag','travel yoga mat','run crop','rulu','luon','chai','destined for greatness duffel','tadasana pant','kung fu pant','run inspire','water','cypress','run back on track jacket','insight pant','recognition pant','cabin','deep indigo','run for it crop','pure balance','pure balance jacket','silver','relaxed fit pant','running shorts','kahuna short','dressage pant','yoga classes','scoop neck','wrap sweater','tops','run stay on course pullover','flow y bra','wunder groove crop','sweat pants','brushed','running pants','inspire crop','stay on course tank','paris','free to be','tote bags','pacific run long sleeve','inspire','silverescent','luxtreme','still','lulu pant','tote','run free','go for it pant','long sleeve','insight','rehearsal bra','down jacket','apres run jacket','waterbottle','running jacket','denim wunder under','run for it pullover','cool racerback tank','blue','washing instructions','sigg','relaxed fit','recognition','flow and go','will','dtb','dtb duffel','5 year basic v','dance pant','reflective','wunder groove','free to be bra','après run','run distance pullover','hemming','wunder under reversible','chai time','removable cups','racerback','kung fu','speed skirt','yoga pants women','hot and sweaty','scoop','rain','cuffins','run stay on course','kung fu jacket','chai time pullover','west coast pant','reversible pants','stay on course pullover','thumbholes','wonder under crop','yoga tights','define jacket paris pink','wren','gather','silver spoon','tank tops','cross your heart','running bra','running skort','purple','après run anorak','astro crop','coal','slipless headband','arise','gather and crow crop','lined pants','yin','laptop bags','white','stores','hot hot short','cycling','swiftly tech','run for it','tall pants','sniffle catcher','special edition','fleece','back on track tank','ta ta','stay on course jacket','essential gym bag','lucky luon headband','turbo','presta pant','turn around','hot and sweaty tank','savasana','studio jacket','wonder under pant','run pullover','go for it','groove short','metal vent tech','relaxed fit crop','scarves','west coast hoodie','anorak jacket','hot n sweaty','reverse groove short','wunder under pant reversible','flow y','cypress run','luluthong','high rise','run swiftly racerback','pig','align mat','yoga jacket','wunder under paris pink','its happening jacket','deep cove hoodie','dress','run speed skirt','gather and crow','manduka','core short','turn around jacket','lively crewneck tee','classes','west coast','wunder under pique','down vest','wet coast pack','game on boxer','shelf bra','stride jacket brushed','run anorak','run tank','lulu pant ii','beanie','tall skirt','wunder under leggings','vitasea','strap','pink jacket','mens hoodies','dance wear','turbo short','trek pant','run turn around jacket','yoga mat bag','sparkle','apres jacket','astro wunder under','thong','cabin tee long sleeves','feedback','mat strap','live healthy wrap','tadasana slit crop','cool','mens yoga shorts','foxy lulu hotshort','align ultra mat','cups','dance jacket','ruffle crop','washing','wild lime','pace setter','its happening','white jacket','spin me tank','toque','mens tights','men','persian purple','cross your heart bra','yoga shorts','herringbone','bolt tech','wunder crop','deep camo','fabrics','bikram','boogie','white black glacier lace','pink headband','crop pants','pace setter skirt','groove pant tall','relaxed','dance headband','swift','domain hoodie','black jacket','lulu','paris pink care','rehearsal','size guide','still short','boolux','winter running pants','lilac','high rise pants','tamer','run stay on course jacket','glacier','black leggings','destined','womens shorts','camo shorts','french terry','bon bon','apres run anorak jacket','turn around vest','mens shorts','hot class bra','run switch back short','define jacket brushed','hustle','run your heart out crop','headwear','wunder under crop reversible','the un mat','astro pant tall','scuba jacket','track jacket','racerback tank','purple hoodie','cuff','yoga strap','response short','hot','hair ties','knock out short','graceful flow tank','fleece pants','track','fleece running pants','hot move short','low rise','tech fleece','mens t shirts','lime','ski','womens hoodies','mens jackets','back pack','hot n sweaty bra','yoga tops','bamboo','retro camo','groove pant regular','satin pirouette headband','reversible jacket','hot and sweaty bra','studio pant ii','distance pullover','bum covering','black pants','yoga pants with pockets','align yoga mat','trek','running capris','womens skirts','luon jacket','running vest','define pique','cabin tee','cashmere','tee','jackets for women','run response short','cool racerback curved hem rib','light as air short','seamless','run full tilt pullover','flow tank','pacific run','denim yoga pants','full tilt','sweat cuff','mat bag','run swiftly tech ss','long sleeve tops','petite','groove tall','endless circle scarf','heathered black','work it out pant','womens jackets','pants with pockets','heart','back on track tight','riding pant','tea','boxer','jackets and coats','running socks','travel bag','power luxtreme','heathered coal','scuba sweater','anti stink','kahuna','striped hoodies','down','built in bra','low rise pants','hot n sweaty tank','yoga backpack','blurred grey','après run jacket','hair','relaxed pant','yoga wrap','turbo run','ruffle tank','circle scarf','inspire crop paris pink','glacier lace','run back on track crop','hot yoga bra','define jacket pique','surge','ghost','apres anorak','long','swiftly racerback','stride jacket br','right as rain jacket','cap','luon fabric','tunic','groovy girlshort','polar opposite jacket','5 year basic t','wunder under groove','t shirt','stride brushed','back on track crop','mens tall pants','zipper crop','reversible leggings','pigment','wind pant','cotton','astro tall','inspire crop ii','luon headband','organic','mens running pant','astro wunder','grey','travel','pants with back pocket','white skirt','barre','cross your heart tank','pack','gusset','happening','white tank','deep cove hoodie ii','ghost blurred grey mini stripe','flow y bra iv','heathered persian purple','run for it pant','dip dye','cross heart','medium rise','running cuff','run your heart out tight','head','grey pants','chillstop 360 jacket','grip socks','detachable sleeves','zipper pants','dressage pant black','skinny satin pirouette','speed','travel mat','pink shorts','wunder under crop ruffle','quiet stripe','long hoodies','pacific run jacket','camo tank','run free crop','silver luon','white hoodies','your heart out tank','citron','free to be sports bra','dtb bag','free classes','gel pockets','black hoodies','womens tanks','red','astro wonder under crop','hot and sweaty skirt','run pace setter skirt','white pants','run go for it pant','currant','compression','lively','extra long','pooch','womens pants','colours','coal canvas','cross','run swiftly tech 1 2 zip','brushed luon','hot n sweaty skirt','city to yoga jacket','pink hoodie','run swiftly long sleeve','run distance','blue hoodies','fleece leggings','jackets and hoodies','scoop tank','groove pant r','y tank','denim pants','heathered flash','namaste yoga tote','define jacket soft mini check','yin pullover','chillstop','cool racerback extra long','run untight tight','cypress pullover','run swiftly tech ls','lulu pant 2','sweaty','scuba hoodie detachable sleeves','wet coast backpack','run heart','pink tank','groovy run short','silverescent luon','track skirt','free yoga classes','response','long jacket','black micro macro stripe','run your heart out skirt','strength and tone','tadasana crop','under','run your heart','wunder pant','chai pullover','hot move','swiftly long sleeve','slit crop','deep cove','ruffle leggings','black bag','brushed pant','hem pants','paris pink washing','power tank','sweats','no brainer mat strap','work it out','run stay on course tight','track pullover','method sock','jacket thumbholes','deep','in stride pique','still pant tall','persian','premium technikini','microstripe','gather crop','lively crewneck','black denim','heathered','run for it tight','bra tops','shelf bra tank','black slub denim','light as air','run speed','luon pants','balance','metal vent','messenger bag','loose fit tank top','back on track long sleeve tech','how to wash paris pink','stay on track','heathered pigment blue','wee stripe','strength and tone short','it','grey leggings','yoga sweater wrap','high waist','sweatshirt','pure focus tank','ambassador mat','distance','your heart out','womens socks','no show ultimate sock','presta','size 2','wunder under crop pique','bike','work pants','lulu ii','namaste yoga tote ii','king of prussia','ponytail','full tilt crop','free pant','sniffle','après anorak','wonder','for it pullover','stride jacket ii','essential jacket','heathered black swan','astro pant paris pink','zipper','scuba hoodie stripe','wind','run turn around vest','anti-stink','macro','care','run turn around','high rise yoga pants','method','travel pillow hoodie','get down jacket','flare pants','wet coast','circle mesh','yoga cover up','jacket hood','plum','denim luon','work it','grey groove pants','cinch','swiftly tech long sleeve','run turn around tight','denim crop','technikini','run around shorts','indigo pants','handstand','denim leggings','re run','high support bras','elevation space dye','pacific','run swiftly tech short sleeves','heathered coal wee stripe','grippy','music','turn around long sleeve','define jacket flash','women astro pants','blue tops and tanks','pleat','deep coal','reverse groove','metal vent tech ss','re-run','running cap','hockey','hood','black heathered coal mini check','hoodie pillow','under crop','tight pants','laptop','loose fit tank','lace','mat towel','running water bottle','groove pant denim','mens run tight','wunder under groove crop','black scuba hoodie','bra cups','free','wunder under ruffle','zipper yoga pants','cool racerback ruffle','slub','yoga tanks','5 year basic tee','snow pants','bonded','scoop neck top','down filled jacket','crop leggings','astro wunder crop','wunder under crop denim','run dress','metal vent tech sleeveless','destined for greatness bag','cool racerback flash','astro pant regular','women capris','polar opposite','slit','run swiftly ls','extra long pants','down filled','all bags','cotton pants','men yoga','après jacket','running hat','peacock','warm jacket','yoga crops','designed for greatness','wunder under black','black skirt','pacific run ls','fleece pullover','mens hats','long tank','no show sock','heathered paris pink','grip','wunder under pant brushed','define jacket black','heathered lilac','zipper womens pants','white coal','reversible crop','long sleeve mens','tree frog','community','mens kung fu pant','long sleeve womens tops','purple jacket','run back on track tech','stride jacket paris pink','re-run ss','wunder under silver','ruffle pant','run on track','define jacket denim','hot class','in stride jacket pink','wonder under tight','premium technithong','wunder under quilted','groove pant brushed','y bra','wunder under pant denim','blue pants','black tank','groove short tall','short shorts','womens running capris','water resistant','slipless','white top','still pant black','no-limit','slub denim','coats for women','reversible top','sweden','yoga capri','wool','heather grey','x-static','swiftly tech racerback','womens tops','stride jacket striped','smooth moves','womens coats','fleece lined running pants','kick tech','yin me over','after run jacket','dwr','metal vent tech long sleeves','pocket','foldover','graceful flow','run swiftly tech long','pink long sleeve top','binary crew','run swiftly tech short sleeve top','medium rise pant','thick hoodies','blue capris','swiftly tech short sleeve','dressage pant denim','deep coal silver spoon slub salt pepper','winter running','water resistant jacket','all yoga','snowy owl','how to wear scarf','pink mist','heathered deep coal','stride jacket black','swift fabric','striped jacket','rocksteady','leather gym bag','extra long racerback','upf','run back on track ls tech','wren pants','swiftly ls','white shorts','power','white headband','cleaning','fleece hoodies','womens rain jacket','wish blue','heart out','coal tinted canvas','crow','skidless yoga towel','yoga bra','swift tank','block','no camel toe','short sleeve','lilac heathered coal','blue headband','work and play pant','discover','long cool racerback','set my ponytail free','loose tank','extra','chill stop','warm hoodies','zip','striped sweater','mens yoga pants','destined for greatness duffel bag','long sleeve tech','heathered pink','paris inspire crops','straight leg pants','reversible sweater','hem sweep','men running','body mapping','we','run long sleeve','gym essentials','french terry pants','lilac heathered coal wee stripe','alignment','how to wash','yin to me pullover','black camo','chillstop 360','heathered pig pink','cozy up','4 way stretch','fleece jackets','heathered blurred grey','black glacier lace','black roses print','kung fu pant tall','lab','pink stride','white yoga pants','pima','capri pants','sheer luon','grippy socks','barre socks','astro denim','base layer','astro yoga pants','cozy','silverscent','black snowy owl','pig pink tops','black shorts','run go for it','run response','mesh','travel pillow','women\'s ultimate padded run sock','yoga mat backpack','hoodie plum','run full tilt crop','luxtreme tank','care for paris pink','technithong','wunder under crop luon light','12','après','women\'s pullover','flash tank','groove pant t','groove crop pant','wunder under pant tall','ways to wear vinyasa scarf','warm coats','luon light','fabric care','deep coal pigment blue salt and pepper','make davie run crazy','wren retro camo','lined pants women','happening jacket','heart tank','ript short','groovy thong','swiftly tech ls','in stride pink','to and from','astro regular','straight leg','5 year basic','wunder under zipper','fitted hoodie','chai time pullover ii','dri fit','hot skirt','men\'s yoga','crewneck tee','wicking','define paris pink','tennis dress','stretch french terry','reflective jacket','re-run short sleeve','core','black pique','bolt','camo wunder unders','no brainer','dance fitness','coal tinted','grey hoodies','pink skirt','boston','bust','kickboxing','luon crop','groovy','new jackets','apres rain jacket','still pant brushed','back pocket','purple yoga mat','pink top','dressage black','half zip','paris pink crop','used','striped tank','elevate','zip jacket','pace','yoga for dance','mens sweaters','run your','white coal tinted canvas','detachable','low','run with it crop','built in bra tanks','white tank top','ghost snowy owl','yoga clothes','full support','white scuba hoodie','live healthy','essential','studio pant 2','purple scuba hoodie','heathered wren','run swiftly ss','extra long tank','yoga sweaters','bum','tech','tshirts','what\'s new','cozy jacket','mini check','paris pink headbands','love','course','black quilting winter 17','wonder under groove','define brushed','twisted tank','ruffle short','yoga pants tall','black glacier','get up and go jacket','run inspire crop 2','cool racerback coal','run turn around long sleeves','racerback top','run-back','stride jacket 2','washing luon','womens long sleeve','relaxed fit crop ii','head wear','inspire ii','hot yoga tank','yoga mat tote','work to play pant ii','back','inspire crop black','full coverage bra','astro wonder under','scuba central','kung','back on track long sleeve','groove pant black winter quilt','rock out pant','leather bag','turn around tight','run inspire ii','knock out','wear with all jacket','capri leggings','magnum','pique jacket','tencel','sweaty tank','bolt tech ss','relaxed crop','run swiftly tech tank','yoga tote','greatness','inseam 29','run back on track ls','magnum denim','yoga wear','heathered silver spoon','brushed jacket','salt and pepper','graceful','glyde','in stride jacket pique','coal pants','chase','scoop bra','run core jacket','sweaters for women','full support bra','define jacket silver','stride hoodie','softshell','seamless underwear','wunder under deep camo','black white coal tinted canvas','keep it brief messenger','black','heathered persian purple persian purple','no limit tank coal','zip hoody','built in bra top','women\'s workout pants','white stride jacket','groove capri','smooth moves thong','denim define','cross heart tank','smoky rose','yin sweater','y','scuba hoodie dip dye','destined to be great','fossil','will pant denim','striped tee','drawcord','5 year','breath tank','bike pants','handbags','black heathered blurred grey quilting winter 18','support tops','deep coal pigment','coolmax','black microstripe','power y tank flash','yin me sweater','its getting hot in here','wash yoga mat','high support','yin to me','quilt','washing scuba hoodie','yoga headband','swiftly tech tank','reversible wraps','blue scuba hoodie','blue and white','run heart out tank','pull over pant','run anorak jacket','pants with zipper','lively tee','define white','sweater hoodie','hot pink','game on boxer brief','reverse run ls','pique pants','jacket with hood','tank with bra','mens form pant','too much','limit','tinted canvas','manduka yoga mat','heathered coal ghost blurred grey mini stripe','rock out','boxer brief','cypress run ls','shorts pink paris','silver spoon pique','silver spoon pique silver spoon','run crop 2','pink stride jacket','run swiftly tank','cotton fleece','studio pant no liner','soot','how to wear your vinyasa scarf','pleated jacket','heathered tree frog','high rise short','run track','no stink','skinny satin','west coast jacket','blue crop','no limit top','extra long tank top','bolt tech ii','hooded sweaters','on track','pink mist space dye','swiftly tech ss','crow crop','hot n sweaty short','run tech fleece','kung fu ii jacket','foldover pants','adjustable strap tanks','run back on track long sleeve tech','run on track skirt','cross fit','all shorts','long sweater','pigment blue white stripe','pigment blue wunder under','we made to many','dew berry','swiftly ss','studio liner','your heart out crop','cotton fleece pant','designed for greatness duffel','heathered deep coal quilting winter 4 white heathered blurred grey mini check','cross my heart sports bra','soft','high support sports bra','coat with hood','label','y top','bamboo washing','run tall','cashlux sweater','run speed skirt regular','anti camel toe','boogie short pink','from the mat','cross your heart sports bra','blue scuba sweater','purple shirt','anti stink men','stride jacket hood','black white crop','colourful sweaters','bolt tech 2','reversible stripes','bang','run around jacket','define jacket white','run inspire 2','scuba hoodie travel pillow','power luxtreme crops','lined','moisture wicking','namaste tote','domain','namaste','metal vent tech sl','leather','men rain jacket','fitness jacket','long racerback','cozy pant','groove pant reflective','ambassador yoga mat','equa','over made','crops with zippers','insight pant black','swan','clothing care','under pant','groove yoga pant','hot tank','womens running tops','run your heart out short','tight crop','brim','paris pink power y','scuba hoodie print','wunder under brushed','paris pink running jacket','turbo run short reflective','pillow','run speed short black','spin tank','run for your life pullover','pink sports bra','studio pant liner','move','zip up','low hip','women groove pant','mens trek pants','metal vent tech ls','still pant t','dtb duffel bag','backbend','front opening sports bra','pants with liner','cool racerback bonded','stripe long sleeve','still jacket','reversible hoodie','classic pant','in store','chili','deep breath tank pigment blue','focus tank','hip length','all headbands','black women\'s pants','white run skirt','heathered mini check','on course','women\'s running padded sock','pleated skirt','peacock pants','undies','loose fitting jacket','bold blue','free to','tight jackets','run white','paris pink crop pant','black and pink','black wonder pants','cool racerback top','chai sweater','lined running pants','black tights','thick yoga mat','black retro camo','vent tech','equa plus hand towel','quick dry short','your heart out skirt','wunder under crop black','wunder under women','360','women running jacket','cool tank','flare','mens socks','destined greatness','pigment blue crops','smooth moves girlshort','print','tall tights','studio pant tall','adjustable','shine your heart out','yoga pullover','silver pants','run speed skirt tall','t-shirt','in stride jacket br','men\'s','heather tank','deep breath tank black','adjustable straps','womens crop','goose down','back on track short sleeve tech','scuba hoodie coal','pink define jacket','studio pant coal','white pullover','black wunder under pant','yoga cozy','run back','scuba hoodie pillow','warm','thumb','care free crop','detachable sleeves hoodie','featherweight socks','womens underwear','run reflection','reverse run','black duffel','run hustle jacket print','toiletry','shorts with liner','play','white groove pants','scoop neck bra','white coal tinted','stride jacket with hood','low support','run your heart our','mountain pant','women headwear','stride jacket without hood','bikram yoga pants','men\'s hot yoga','micro','blue dance headband','black duffel bag','black pique black coal','in-stride jacket','run swiftly tech short','quiet stripe white deep indigo','low rise capri','gym','lavender','wonder under crop reversible','stride jacket in paris pink','pink crops','short skirt','ultimate no show','ultimate sock','women pullover','high rise crop','check','owl','bon bon scuba','long sleeve run tops','work to play ii','hooded pullover','white black glacier','high','run on track pullover','tennis skort','on track skirt','flash define','metal vent tech short sleeves','get down','paris pink swiftly tech','studio pant ii no liner','nesting black bird','kung fu jacket 2','cashmere sweater','inspire capri','in stride jacket brushed','social media','silver stripe','sun','astro wunder under crop denim','black headband','grey microstripe','quilt pant','mens sleeveless','scuba hoodie lilac','keep it brief','nesting','support level','pigment blue salt and pepper','we\'ve made too much','body skimming','hot yoga wear','winter 4','fleece scuba hoodie','quilting summer','scoop neck tank black','straight','cool race','work out tops','blue duffel','be free bra','built-in bra','pigeon ghost nesting black bird print','wellness','run swiftly flash','astro pant 4 tall','black white coal','workout pants','back in track','blue jacket','magnum space','lolo','loose','cheer gear','magnum space dye','antimicrobial','bottoms','cotton yoga pants','game on','yoga tights pants','it\'s hot in here short','ghost detachable','in stride ii','micro stripe','après coat','heathered plum','run jog skirt','winter quilt','run your heart tank','running luon','in stride jacket in stripe','zipper pocket','mesh vent','long pants','crewneck','run insulator','scuba detachable','smooth','stay the course','run swiftly short','hot yoga skirt','luon tank','run crop ii','white leggings','pink scuba','pranayama','strength','dog whisperer','snow','quilt summer 2','yoga groove','pink speed short','media','heathered white','pigment blue white','pig pink crop','low rise crops','run with it jacket','micro macro','womens stride jacket','back on','wunder leggings','lilac wee stripe','swiftly short sleeve','custom pants','washing bras','paris pink wonder under','medium rise women pants','sticky','medium rise crops','wear scarf','white capri','cool racerback silver','get up','freestyle short','savasana yoga wrap','relaxed tea pant','down filled coat','cire puffy','dark grey','deep coal pigment blue salt and pepper scuba','luon sweater','coal top','elevation stripe','pure balance jacket paris pink','pink define','cashlux','groove pant brushed tall','kung fu 2','pace setter skirt tall','yoga leggings','white coal tinted canvas super','out let','stride pique','wayne','in store yoga class','define black','hot in here','surge hoodie','flow bra','made in canada','wide bold stripe','long tops','grey jacket','ta ta tamer 2','8 tall','loose jacket','straight pants','heathered blue','manduka towel','back on track ls','women\'s vest','satin headband','pairs pink','men\'s hoodie','basic t','inspire crop 2','chillstop jacket','run-turn-around-short-sleeve','space','black tote','grace tank','wunder under crop leggings','how to care for paris pink','650','royalty','groove regular','run back on','no-brainer mat strap','running thong','scuba detachable sleeves','tanks in paris pink','groove tight','destined for','wunder under crop light','stride ii','paris scuba','mens bags','yoga mat spray','groove pant regular length','white pure balance jacket','wind-resistant','light pink','ta ta tamer sports bra','womens tall groove pant','may bag','align yoga','yoga mat cover','movement tank','black quilting winter 7','denim wunder','for it crop','wunder under capri','run down jacket','messenger','static grey','purple tank','black quilt 2','coal wee stripe','scuba hoodie microstripe','soft mini check','stay','bonnet','yin to you pant','work it out pant denim','skidless mat','heather baby blue','yin to you pullover','tank cups','dress up','insight pant denim','long yoga mat','paris pink jacket','pocket crop','down coat','rose','in stride brushed','tall leggings','lightweight jacket','no shelf bra','deep coal mini check','yoga scarf','twisted','m','fitness classes','black macro','luxtreme tights','pants pockets','tactel','yoga thong','pillow sweater','the effortless tote','skinny','removable bra cups','support','lulu 2','underwear sizing','mens running hat','play pants','adjustable pants','vitasea fabric','womens blue jacket','strategic','run power crop','black quilt fall 2','blue shorts','dance strap','light hoodies and jackets','wunder under crop paris pink','scuba hoodie plum','fleece lined','fleece lined pants','back on track ls tech','limit tank','striped headbands','run reflection pullover','flow iv','removable','run your heart skirt','all black groove pant','yoga tote bag','in stride hoodie','knitted silverescent','running reflection pant','its happening jodhpur','womens leggings','no brainer strap','speed skirt tall','chai time sweater','classic sport grey','headphone cord guide','metal','scuba stripe','reflection sweater','womens tall pants','striped run','deep coal silver spoon pique','scoop neck tank top','coal pig pink shale','pigeon','peace of mind jacket','running pant fitted women','black t-shirt','baby blue','material','wear with all pant','paris crop','tanks for women','brushed womens','cross strap','travel pillow sweaters','flow y sports bra','tanks with support','heathered hoodie','wunder under astro capri','mat smells','womens ultimate running sock','groove pant black','go','cool racerback zipper','mens hot yoga shorts','groove brushed','scuba blue','under the hood','shine your heart','run back on pullover','built in shelf bra','jacket pillow','run back track','wind jacket','light jacket','jacket with back pocket','herringbone jacket','pink stripe','yoga towel women','high waist pant','embossed','work ii play','ta ta bra','wunder under pant silver','beyond yoga','brushed tall','womens shirts','no limits tank pink','cozy up sweater','printed pants','element','suit','denim flow y','define jacket paris','glacier tank','tops for yoga','heathered sweater','spoon','low rise leggings','mid rise crop','paris pink groove pant','ta ta tamer bra','no limit tank top','jackets ghost','lilac tank','deep coal pigment blue salt and pepper scuba hoodie','paris pink top','define jacket coal','pigment skirt','run around','run swiftly short sleeve','briefs','cycling pants','black space dye','grey tank','reflective pant','deep coal pigment blue','dew','bra tank','s happening','snowy','product care','full coverage','power yoga short','silverescent pant','relaxed fit tall','black crop','travel tote','luon capri','long sleeve black top','new skirt','white stripe','men\'s running shorts','scoop neck black','low hip tank','yoga head bands','hot yoga capri','women rain','head stand','yin pant','run yoga','men\'s biking','current','quilting winter 6','kick','reversible shorts','stride jacket brushed black','black quilting winter','camel','black citron tinted canvas super','scuba plum','turn','set-my-ponytail-free window','swiftly long','hotshort','relaxed fit yoga pant','yoga and run sport bras','define jacket pigment blue','warm pants','extra long top','men\'s running pants','black deep coal slub','run your heart tight','paris pink hoodie','commute','scuba hoodie colours','run turn','ii','align ultra','high-rise waistband','scuba print','run you heart out','apresrun anorak','hoodies for women','define running jacket','run turn around ss','flash pink','black micro','hppl pmin','no liner','scuba hoodie pleated tape','shape','heathered crop','heathered pig','we are from space','yoga in our stores','cool racerback camo','half','recognition crop','built','scuba hoodie pig','sweat once a day','washing instructions for the define jacket','men\'s no show sock','t-shirts','running sports bra','long skirt','wunder under tall','retro','lucky luon','warm running pants','cross my','wrap it up','quilting winter 2','scuba hoodie washing instructions','ript','heathered rose','free crop','ascent','homerun hat','girlshort','medium support tank','insight tight','relaxed yoga pants','cross heart bra','groove crop black winter quilt','power mesh','inspire crop ruffle','tech fleece pants','designed for running','cold hands','run tech long sleeve','power y top','design feedback','stay on track tank','trek pant lined','swiftly tee','luon hoodie','maximum support','pant with ruffle','men\'s sweat pants','run personal best','anti microbial','black swan heathered plum','metal vent ls','zip pants','run swiftly women','all running short','running classes','scuba hoodie s','heathered black tank','top shirts','wren retro','dark indigo','deep indigo quiet stripe','new coats','black and white stripe','yin yoga','crop slit in back','après rain jacket','banded leggings','french','knock','ladies pants','key lime','chai time ii','tank with pocket','stink','racerback ruffle','white black microstripe','make davie','back track','indigo stripe','run back pullover','back to class','tech short sleeve','houndstooth','run back on track long sleeve','destined for greatness tote','grey top','oasis','turn around short sleeve','split short','short yoga pants','heathered persian','shine your heart out vest','run you heart out tank','running sports bras','wren jacket','tank with built in bra','pirouette','running sleeves','pants for men','on the run','mens running socks','skinny headbands','quick dry','down winter jackets','neck tank','power y tank stripes','yin to your crop','coal elevation','blue yoga pants','will pant pique','light as air short black','t shirt tank','heathered ghost','jacket warm running','dark classic grey','dark slate','canvas','reversible vest','coal jacket','in stride sweaters','bamboo sweater','pink running jacket','diamond gusset','blue headwear','sleeveless','luon stride jacket','wren camo','ascent fabric','ultra mat','blue tank','ghost hoodie','wide leg','tech ls','water repellent','white groove','chill stop 360','wonder under brushed','your heart out tight','run for it jacket','run tech','metal vent tech zip','men\'s hat','womens speed shorts','astro under crop','reverse run long sleeve','wear it','jacket wind resistant','shorts for women','wind and water resistant jackets','silver fabric','dry wick','run to inspire','low rise flare leg','run pocket','men\'s inseam','white and indigo','mens cypress long sleeve','like it hot','winter 6','women short pants','bright','cross my heart bras','pink swiftly','longer','tunes','reflection pullover','charcoal crops','womens tees','womens running tights','scuba hoodie detachable','control','scuba hoodie pink','5\'5','black white coal tinted','paris pink scuba','go fit','lively crewneck tee vitasea','breathe','stay on','outer jackets','hot hot sweat','zipper tight','grey scuba hoodie','r','sherpa jacket','silver spoon stripe','black nesting','groove pant brushed regular','pose pant','paris hoodie','foxy lulu thong','groove pant silver tall','white women\'s jacket','chai tea pullover','pants in white','pacific ls','astro legging','purple black scuba','run inspire crop black','reflection run visor','run reflection skirt','tall length','endless circle','hours of operation','coal crop','black deep coal','winter tights','black slub denim black','groove pant 2 tall','metal vent sl','wunder under crop black pique','mens sizing','womens tights','splash pants','reflection wrap black','salt and pepper scuba hoodie','work it out denim','pink sparkle','hot n','crop pants women','pant ii','mens wear','blue sweater','pants with pockets in back','super natural','yoga ambassador','rain gear','run swiftly ls top','how to wash clothing','cross you heart','run track pullover','d cup','pants in short','blue washing','ponytail free','lace print','on the run pullover','insight denim','bon bon hoodie','knee','power y tank black','balance jacket','deep coal slub','pure balance jacket pink','heathered coal mini check','pink zip up','tadasana slit','gear','coal tank','inseam','stretch pants','run heart tank','black quilt 18','terry pants','potion','cove hoodie','light pink jacket','thong underwear','all','light pink tank top','latex the mat','rulu jacket','wunder under paris','liner','run the course tank','womens scuba hoodie','scuba hoodie black snowy owl','pink tights','cool racerback black','luon reversable','groove 2 tall','black denim luon pant','flash cool','still pant r','hot and sweaty short','binary','define hoodie','winter quilt 11','wunder under pant pique','luxtreme pants','men\'s yoga tops','stride jacket hoodie','y tank top','groove yoga pants tall','lolo purple','mens winter jacket','black boogie shorts','shelf bra tops','fitness bag','luon sheer jersey','work out bags','y strap tanks','reversable black coal','run inspire crop paris pink','cozy up ii','coal elevation stripe deep coal','long luon','women\'s fitness clothes','under denim','shelf','dance studio jacket black','womens bags','black herringbone','roll over','paris pink stride','groove pant regular black','grey headband','printed hoodies','2 way stretch','womens studio crop','mens shirts','longer hoodies','warm heart','padded socks','black scuba','pure balance hoodie','bon bon scuba hoodie','coal wunder','reversible dance studio jacket','sport tank','healthy','astro paris pink','white canvas','wonder under pique','running rain jacket','paris pink under crop','black yoga pants','se','domain jacket','women\'s featherweight sock','coal stripe','tpe','runner','women\'s sweaters','hot class yoga','black quilting winter 25','white womens pants','reflective water sketch','ladies rain jacket','supportive bras','pink running skort','classic t','studiocrop','pink hooded jacket','how to wash pique','pigment blue white bold stripe','dry','black quilting winter 2','power white tank','luon care','focus','lycra','sweaty laundry bag','black tennis skirt','casual pants','wren denim','fold','athletic fit');
/* $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);
    }
