/* Popular phrases - AMERICANBRIDAL - 11:37:43, Sat Jan 28, 2012 */
__SLI_ClientDefaults =
[
    ['Alignment', false ],
    ['TextBoxIDCustom', ['topsearch']]
];
var asPhrases=new Array ('tote bags','monogramed bridesmaid tote bags','napkins','tote','bubbles','matches','fans','cake toppers','flask','wedding bubbles','robes','stickers','personalized napkins','cooler bags','ribbon','personalized tote bags','cooler chair','favor boxes','coasters','guest book','bags','personalized ribbon','matchbook','aisle runner','cameras','save the date magnets','luggage tags','playing cards','place card holders','towels','unity candle','frames','favor bags','flip flops','paper lanterns','disposable cameras','bells','lanterns','parasol','wedding napkins','boxes','gift bags','cooler','candles','chopsticks','cufflinks','save the date cards','mugs','jars','bookmark','cherry blossom','garter','money clip','golf','beach','kissing bells','pernap','welcome bags','manicure set','chocolate','bride favor tin','personalized stickers','honey','butterfly','compact mirrors','diamond','wine','bridal shower','unity candle set','water bottle labels','mirror','personalized champagne flutes','matchbox','damask','centerpieces','tea','personalized labels','lip balm','luncheon napkins','cookies','something blue','tins','personalized matchbooks','cards','personalized chocolate candy wedding favors','wedding shower favors','crystal table decorations','kitchen timers','sheer organza favor bags','cake server','wine glasses','personalized playing cards','wedding bells','shot glasses','make up bags','vase','pail','bridesmaid tote','personalized beverage napkins','ring bearer','travel mug','mints','beverage napkins','labels','personalized beverage wedding napkins 100 pcs','wine labels','measuring spoons','personalized wedding theme candy jars','personalized matchbooks wedding favors pack of 100','organza bags','vegas','nautical','floating candles','table jewels','wedding favors','water bottles','bird','personalized cocktail napkins','kate bridal necklace','bridesmaid gifts','starfish','bride','personalized slim cuff','steel flask','bubble tubes','candy','french soap favors','sash','love story heart bookmark with silk tassel','mini kissing wedding bell favors','beach bags','jewelry box','olive oil','personalized terry cloth towel wrap','bath robes','toasting flutes','oversized lighter','vintage','candle wedding favors','unity sand','table card holders','box wedding favors','hershey','flutes','peas','beach theme favors','magnets','salt and pepper shakers','12 pack cooler','dinner napkins','golf balls','monogram tote','invitations','wine bottle labels','open heart crystal toasting flutes','canvas','groom favor tin','birdcage','necklace set','wedding party gifts groomsmen','clock','heart','knife and server','wine stopper','keychain','storage box','monogrammed cosmetic bag','tgif flask','photo frames','personalized beverage napkins wedding','personalized theme playing cards wedding favors','signature mat','beach towels','soap','love birds','sports mug','banners','business card case','exclusive personalized wedding candy jars favors','favor tags','heart candle','scented frosted glass votive candle','wedding cameras','ace of spades','groomsmen gifts','sheer bags','father of the bride','votive','wedding guest book','table number holders','fleur de lis','seashore favor tags','glitter','hand painted butterflies','square vases for centerpieces','personalized guest towel napkins 80 pcs','love beyond measure heart measuring spoons','paris','lighthouse','glitter galore','pear','heart necklace','ring pillow','memorial candle','boat','purse mirror','photo coaster','love birds salt and pepper wedding favors','bird cage','snowflake bookmark','table runners','personalized luncheon wedding napkins','bottle opener','snowman candle','knife and server set','vegas theme','skier flask','spread the love','deck of cards','bridal shower games','love coasters','beach theme','personalized goodie favor bag','duffel bag','tea bags','invitation kit','picture frames','tulip wedding favor boxes','mother of the bride','box-tote-bag','sand','tape measure','loden','gable','bottle stopper','personalized-ribbon-dskkdsr','car decorations','placecard holders','golf tees','personalized fans','bamboo','sailboat','topper','samantha bridal tiara','whimsical coasters','personalized bubbles','manicure bag bridal shower favors','asian','champagne flutes','mini lanterns','mint tins','personalized shot glasses','body wrap','heart wine bottle stopper','personalized 3 8 satin favor ribbon','tealight','timer','butterfly place card','pillow','love tin mints','chandelier','pocket knife','purse valet','personalized hershey kisses','koozie','personalized matchboxes','deck of playing cards','checkered glitter flask','love coaster set','personalized','garment bag','cupcake','mod dots','paper bags','pens','satin ribbon','calla candle','wallet','chrome butterfly bottle stopper','passport covers','wedding cake toppers','cosmetic','personalized themed candy jars favors set of 12','plier multi-function tool','honey jars','personalized tea bags','favor stickers','personalized golf tees','buddha','champagne glasses','gable boxes','spreaders','rhinestone heart square mirror compact','wedding frames','bird place card holders','round glitter jewelry box','whisked away','cigar flask','scented frosted glass votive candle favors hearts vines','personalized tea tins wedding favors','brown guest book','guestbook','towel cake','wedding pens','travel bag','seed place cards','color block canvas tote','salt shaker','fitness tote','fleur-de-lis','mini photo','beach tags','oval cufflinks','moon','silver ball place card holder','silver picture frame','casino','butterfly place card holders','pave with mother of pearl','bridal pearl drop pendant earrings set','rhinestone letters','wine bottle cooler','beach theme place card holders','stripe hanging makeup bag','place cards','favors','photo glass coaster','personalized hershey\'s miniatures','cuff bracelet','tea cups','ring bearer pillow','peas in a pod','wedding candy','pink flask','heart cake knife','photo guest book','hankies','candy jar','sandalwood fan','unity sand set','manicure','glass jars','personalized fitness fun tote','personalized wedding coasters pack of 100','embroidered weekender bags for groomsmen','key to my heart bottle opener','wedding centerpieces','personalized hershey\'s kisses chocolate wedding favors','personalized wedding ribbon','table','beach tote','topiary card holder','pilsner','i do wedding garter','programs','just married bikini','personalized beaded antique round jewelry box','board shorts','poker set','personalized foldaway reusable bag','8oz satin matted finish flask','bra straps','lenox opal innocence metal wedding cake knife server set','scratch off','numbers','casino wedding favors','beehive candle wedding favor','alastaire pocket flask','stainless steel spreader with wine cork handle','personalized playing cards wedding','elegant silver 8 x 10 frame','frame and placeholder','snowfall','pepper','cotton ribbon','martini glasses','turning leaves bookmark','pewter chairs','personalized jewelry case','chair place card holders','mr and mrs towels','bamboo place cards','fall leaf wine bottle stopper','magnet picture frame','fall leaf soap favors','luggage strap','crystal','velour cosmetic bag','goodie favor bag','sand ceremony','starfish shaped personalized stickers','unity sand ceremony','monogram color block canvas tote bag','personalized tags and labels','brushed rhinestone flutes','bracelet','music notes','tiara','candy bags','round labels','bachelorette party','summer','compact','vera wang','western','love beyond measure spoons','carbon fiber dog tag','cosmetic couture quilted monogrammed cosmetic bag','beer','dish','personalized luncheon wedding napkins 100 pcs','pyramid wedding favor boxes','bridal shower invitations','favor labels','winter','covered leather valet tray','pear shaped','beer mugs','memorialcandle1','something blue gift box candle favor','personalized wine glasses','spa robe','sand unity vases set','towel favor','groomsmen cooler','jewels','gift tags','vase toasting flutes set','wedding table number stands','bella bridesmaid','flask funnel','wedding book','signature vase','personalized brown faux leather flask','engravable silver pocket tool','baking','jubilee pearl','favor cards','grows','ballet shoes','crystal bridesmaid tank','eco-friendly','almond candy','jute bag','cork bottles','hooded bath','personalized chocolate','personalized mia reversible lunch tote bag','scribe pen','personalized favor stickers','weekender','match books','metal pails','wedding favors water bottle labels','candy wrappers','personalized hershey kisses chocolate wedding favors 100 pcs','thank you cards','with this ring','brushed rhinestone flutes serving set','two peas in a pod','canvas tote bags','tea wedding favors','lavender','silver cross bell favors','dressed to the nines','duffel','cake boxes','cake-knife-server-asv030','personalized bridesmaid beach bags','pashmina','airplane','chair covers','snowflake','personalized necklaces','leather two tone keyring','football tumbler','friendship frame','totes for bridesmaids','paper parasol','hair pins','sandalwood cut out fan wedding favor','gift card holder','organza favor bags','memorial','phillipe','personalized dinner napkins 100 pcs','heart key chain','name change kit','slim cuff','watch case','placecard frames','vera wang with love','tea set','personalized wine bag','pearl drop necklace and earring set','glitter hearts place card holder','coach','satin ribbon favors','lenox opal innocence','reversible','personalized unity sand ceremony set 4pc','50th anniversary favor boxes','spear head','beach in a bottle wedding favor','filigree place cards','wine pourer stopper','kid sign','leather wallet','heart window','nickel plate wine stopper','whisk and spoons','personalized guest towels','gym bag','personalized tags','wedding candles','pyramid','cake bags','water pearls','card box','candle favors','fleur de lis bottle opener favor','shoes','passport','cookie cutters','tea cup tea light','25 oz sports mug','flower shaped personalized stickers','black and white','confetti','jewelry roll','picnic basket','airplane luggage tag','drink tickets','table numbers','beach candles','book','flower baskets','mlb flask','beaded tealight holders','champagne','garden','head band','samples','heart placecard holders','wedding favor gift boxes','personalized waffle robe','give away','hershey kisses','personalized luggage tags','purse hanger','ladybug','lighter','handkerchief','rhinestone heart compact','sport bag','bride tote','mix and mingle','love is in the air','fillable glass cylinder wedding centerpieces each','glass coasters','place','black leather flask','key to my heart','western favors','wedding boxes','tropical','valentine','wedding favor charms','guest platter','wedding favor ribbon','can cooler','drink stirrers','sand for sand ceremony','bridesmaid diana personalized polka dot','personalized round labels','tissue','beach coaster','personalized wedding matchboxes favors pack of 100','backpack','personalized maritime mug shot glass set','gum','scarf','color block tote','reception','silver wedding bells','personalized frames','seeds','destination love','ice cream scoop','sand bottles','quilted bag','just married towel','tissue packs','snowflake wine stopper','silver oval cuff links','classic toasting flutes','island shooter glasses','votive wraps','engravable guest book','linked hearts','white flip flops','crystal bridesmaid','down the aisle','elisa wedding comb','groom socks','mini kissing wedding','heart french soap favor','silver couple wedding bells','bridesmaid shirts','fuchsia band','jewelry','apothecary jars','party favor bags','bridesmaid kit','silk fans','gifts for guests','microfiber tote','personalized matchbooks wedding favors','table number stands','bridesmaid','personalized-toasting-flutes-asv024','save the date','dog tags','slippers','butterfly bubbles','hershey\'s kisses','personalized bridesmaid captain style tote bag','sand and shell','block tote','wedding invitation kits','glitter galore guest book','waffle weave','flower favors','engravable round carbon fiber watch money clip','pewter bank','cosmopolitan','paper plates','love bird water bottle labels','personalized match boxes','wedding star','laptop','unity candle holder','socks','purse holder','cookie bags','tulip wedding favors','personalized dupioni silk cosmetic bag small','cocktail napkins','pearl brooch pin','pocket watch','elephant','personalized platter','minsilbel','plantable place cards','drawstring bag','center pieces','double happiness','personalized tissues','wedding favors for a winter wedding','fan stickers','personalized toasting flutes','personalized water bottles','leather pen','heartwarming mini lantern','arranger','men\'s travel bag','shipping ice pack','centerpiece vases','wedding baskets','bachelorette','peacock','silver fortune cookie','photo albums','match box','personalized silver plated toasting flutes','piggy banks','wedding flutes','lunch tote','double heart toasting flutes','shot','waffle weave robes','vault bank','las vegas','personalized silver-plated princess jewelry box','butterfly wine bottle stopper favors','apron','ring bearer book','personalized gourmet paper bags','scoop','personalized accessories box','rose','personalized matches','royal flutes','small boxes','fall theme','wedding matches','crystal wine stopper','wedding table number sign holders 12 pack','abg102','personalized accessorie box with photo insert','personalized personality travel candles wedding favor','countdown','pearl-necklace-set-abj237','wedding-garter-dscc3054','champagne wedding bubbles','green favor boxes','knives','picnic','tea infuser','snappy duo','servers','personalized pint glasses','the sand shell bottle wedding favor','casual tote bag','personalized-hersheys-kissies','guest book and pen set','polka dot','personalized canvas duffel bag','clear cone favor boxes','black frames','personalized silk fan','silver frames','wedding bags','elisa','stripe','tastefully yours','lenox true love','personalized rectangular organizer','chair','votive candles','personalized wedding favor boxes','lobster','teapot tape measure','plantable card favors','personalized wine favor labels','bamboo cheese board','initial stickers','figaro jewelry box','guest book albums','guest hand towels','wedding cake','paddle fans','wedding activity book','square glass photo vase','bridesmaid t shirt','bamboo place card holders','telescope','fall theme favors','double heart serving set','flower containers','mini classic gumball dispenser','nail file','captain style','laptop bag','cheers to a great','bridal gifts','oil unity','shirts','double heart','silk fans wedding favors','personalized favor bags','perfect match','coffee favors','tuxedo favor boxes 25 pieces','wine favor','monogram napkins','gingham','large tote bag','heart candle centerpiece','blue compact','gifts for mothers','personalized jewelry box bridesmaids','diamond ring','teacup favor','golf stirrers','childrens robe','favor dish','newly weds wedding dance floor decal mr and mrs 39','bee','fall wedding','personalized beach towel','decorations','bling server','waffle robe','bridal shower sign in book','mini canvas tote','pastel wedding parasol','canvas city tote','moneyclip-wallet-ggr235','lip','cylinder','baroque','wrap','advice cards','monogram labels','personalized favor boxes','bee candle','tailgate cooler','just married sign','linen','reception card box','apothecary candy jar','green bags','candy pails','love','diana','cake napkins','tshirts','lenox true love 5x7 frame','valet tray','teacups','nail kit','heart bubble tubes','formal favor boxes','personalized votive holder','steven cufflinks','polka dot wedding bubbles','pink rhinestone lighter','personalized travel candle wedding favor free personalized','microfiber','personalized golf towels','leaf','mp3 picnic cooler tub','deluxe personalized ribbon','shell place card holder','engravable pocket watch','hammer multi tool','bridal shower thank you cards','baseball cake topper','butterfly favors','stuck on love','looker','fluted wedding bell favors','good wishes coasters','organza','shell bottle','personalized wedding matchboxes','beach gel candle','personalized wine pourer stopper','globe clock','hot wedding theme sunscreen','whisk','mrs t-shirt','daisy wedding invitation','lenox wedding champagne flutes set','cigar cutter','love blossoms','shower','colorful beach tin pail favors','watch box','chocolate candy','wine bottle stoppers','lace favor bag','umbrella','guest book pens','round glass wedding cake plateau','tees','wedding parasols','indian','rhinestone','wine tote','smart phone','shopper tote','beach wedding thank you cards','glass box','travel nail','jumbo lighter','heart jewelry box','good wishes pearlized photo coasters glass wedding favors','rice','cashmere scarf','striped canvas tote','treat bags','heart plates','unity sand vase','place seating cards','sandalwood','lovebirds','mini bells','cocktail mix','lock back knife','father of the groom','crystal bell','leather toiletry bag','wedding favor personalized bottle opener','royce leather','personalized irish beer coasters','cupcake stand','travel size pillow case','pink and brown','necklace','brush','personalized totes','spread the love chrome spreader with heart-shaped handle favors','barbeque','chocolate truffles','silver','lunch','compass','reception gift card holder','valet','table stands','carry all tote bag','monogram letter initial cake topper','reflections elegant black and white mirror compact favor','personalized dyna satin ribbon 100 ft roll 5 8','personalized candy bars','linked heart wedding guest book pen set','bridesmaid personalized carry all tote bag','starfish cake topper','beach cake toppers','chocolate filled pyramid favor box','watering can','rubber grip 13 function army knife','heart over heart pave rhodium plated necklace','golf keychain','journal','laptop case','satin evening clutch bag','oval rhinestone jewelry box','personalized wedding flutes','photo glass','personalized silver-plated 4 x 6 frame','hand sanitizer','ciroflovunca','silver fortune cookie wedding favors','personalized groomsmen watch money clip','clear diamond jewels','diy','mia reversible','love cookie cutters','bachelorette martini glass','love wedding cake topper','polka','deck','manicure kit','flipflops','garter set','welcome gift bags','personalized gift bags','cherry blossom table number cards','message in a bottle wedding favors','sunscreen','wedding bell favors','busy brides','wedding centerpieces on a budget','love bugs','personalized wedding rectangular favor boxes pack of 25','motorcycle cake toppers','checkerboard flask','circle of friendship bracelet','beaded tea light holders','tiffany','floral','fan favors','candy holders','bride and groom hand lotion favor','twill','card holder box','bridal t-shirt','wishing tree','wedding jewels table decorations','tank','diamond-shaped table decorations','personalized heart locket necklace','cloth napkins','personalized mugs','scroll initial cake topper','personalized photo guest book','personalized zipper tote bags','king and queen','heart shaped candy containers wedding favors','love beyond measure','pint glasses','unity candle stand','personalized gift tags','brooch pin','personalized playing cards wedding favors','cups and saucers','cigar case','fish frame','zippo','tub','elisa comb','bling cake server','bride dress favors','glitter frames','ring bling game','heart wine bottle stopper wedding','lime','stainless steel edge money clip','elephant place card holders','personalized sandalwood fan wedding favor','linked hearts cake server set','passport jacket','credit card holder','bridesmaid tank top','mini foosball game set','compass clock groomsmen gift','yoyo','pink polka purse manicure set wedding shower favor','anniversary','palm tree favor box','braided heart bottle stopper','tractor bank','black mini lantern','sports car','sean','lettered swarovski crystal cake topper','cigarette','straw beach mat','kids stainless steel water bottle','vera wang love knots wedding cake knife server set','sewing kit','spoons','bee stickers','black leather valet box','love bird salt and pepper','margarita','egg','crayon','personalized mints','personalized votives','dance','large tote','sweet scalloped','purse favors','crystal necklace','small heart','personalized figaro','personalized guest towel napkins','personalized organza ribbon','personalized ladies all purpose utility kit','lenox true love frame','japanese chopstick favor','guest towels','favor decorations','wedding gifts for guests','autograph guest book frame','personalized cosmetic','wedding album','personalized hershey\'s miniatures chocolate wedding favors 100 pcs','classic maple-leaf place card holder set of 4','friendship vase','pergoltees','monogram bridesmaid tote','cupcake favors','flute and knife set','personalized dyna satin ribbon','leather accessory box','party cooler','bridal flowers','teardrop shaped personalize hip flask','pliers','multi tool','fall coasters','help','casual tote','personalized floating unity candle','metro bottle stopper','embroidered tan weekender bag','party favor box','recycled cotton','victorian style','oil unity set','starfish plantable','personalized flutes','5x7 frame','memories by the dozen','heart locket necklace','pink daisy','starfish candle favor','cork spreader','seaside favor','beach cake server','asian favor bags','bridal shower mint tins','beach flutes','carbon fiber money clip','personalized cooler','elegance wedding reception table runner','clear favor','cake servers and flute','black deluxe personalized tote bag','monogrammed bags','father','sale','welcome to our wedding bags','wedding rings','perfect mix coffee','orange','ivory ring bearer pillow','a lucky pair personalized vegas candle tins wedding favors','3 rose bridal pillow candy favor','water','laughing buddha','recycled tote','flip','picnic-for-two cooler tote','champagne bottle','oven mitts','damask fabric tote','east meets west stainless chopsticks wedding favors set of 12','satchel handbag','love blossoms favor card','foldable champ tote','elegant silver frame','silver wedding favors','silver cake stand','tree branch','desk clock','shell candle','mini pails','gold favors','men\'s double money clip','luncheon','storybook','large carrie waffle embroidered cosmetic bag','kids bag tag','nail','vintage favors','tags and stickers','heart shaped coaster','black lantern','a jewel from the sea seashell bookmark','wine sticker','clover sterling bridal necklace','heart locket','personalized charging station organizer','personalized travel cigar case set','elephant card holder','clothing','mens accessories box','hair pieces','skeleton clock','acrylic round cake topper','charging station valet','embroidered jewelry roll','knot','bridesmaid frame','candy favor boxes','star key ring','personalized xl striped beach towel','calla lily coasters','blue bamboo','men\'s manicure','taper candles','mini dish','fleur-de-lis place card holder set of 4','geometric cufflinks','personalized unity candle set with swarovski crystal lace','survival knife','keyring','towel wedge wedding cake favors','personalized locking pocket knife','engravable satin gunmetal money clip','legal','personalized-watch-cufflink-case-ggr430','executive golf putter set','sporty bold tote','bull bear cufflinks','sydney pet carrier','personalized art','personalized ladies ribbed tank top','personalized wallets','platter','beer stein','mini gumball machine','music box','bucket tote','cigar box','damask travel mug','kids personalized stainless steel water bottles','makeup case','personalized black leather business card case','card case and key ring gift set','leather agenda','spiderman','indian theme personalized stickers','wedding couple cake topper','kensington personalized apron and oven mitt','red white and blue','choker','cruise ship','heart shaped favor holder','garment bag dots','classic welded brand w heat backer letter in gift box','personalized glasstop mahogany finished humidor','spa slippers','monogram towels','shirt studs','bifold wallet','monogrammed beach bags','knife set','sleek money clip','silver cuff bracelet','annabelle simple freshwater pearl bridal necklace','sport watch','cosmetic travel bag','pedicure sets','heart keychain with charms','personalized case','leather wrapped','bridal party flutes','satchel hand bag','water labels','bridesmaid glasses','print candies','engravable rounded edges rectangular cufflinks','bridesmaid weekender tote','towel wrap','shorts','marble bookends','men','damask guest book','framed art','pearl necklace set','monica swarovski crystal clutch','all purpose utility','ladies','storus','valet box','place settings','heart charm bracelet','renee personalized bag','etched wedding toasting flutes set','destination love cruise ship luggage tag','wedding tree guest book','wedding necklace sets','garden theme','waffle slippers','white robe','maple leaf','personalized acrylic circle wedding cake topper','sugar tong','on sale','crystal initial handbag','expecting wedding cake topper','candle lantern','glass centerpieces','daisy collection','rectangular cufflinks','swish thank you','black leather wrapped drink holder','silver card case','personalized valet','lady justice','personalized gifts','convertible tote bag','cherry wood humidor','grab-n-go wristlet bag','wedding countdown','kids bags','sentiments','disco camera','mens valet','heart wine bottle stopper favor','silver favors','heart bottle stopper silver wedding favor','personalized kids camo backpack','personalized dupioni silk cosmetic bag','miniature bird cage','shower guest book','grill master personalized apron set','mens gym bag','groomsman cooler','personalized ebony wood box','heart shaped mirrors','phillipe brown faux leather flask','heart lock necklace box','terry cloth washable cosmetic bag personalized','oval strap two-tone tote','snowfall glass photo coasters','ash tray','personalized ring bearer sports pillow gift','wedding pashmina wrap','snowfall exquisite glass photo coasters set of 2','snowflake coasters','poppers','love letter','round cufflinks','zipper tote','heart favors','teabags','heritage twist','heart favor boxes','pearl drop necklace','personalized cocoa','personalized spa robe','mini vase place card holder','mini flask','boot shaped stein','bride cosmetic case','fleece travel blanket','personalized stainless steel water bottle','father of the bride socks','elegant icon','eternity','baseball cap and bottle opener','love card holder','wedding shower games','shaving brush set','two peas in a pod favors','croc leather','shopping bags','personalized watch box','a winter holiday personalized hot cocoa wedding favors','cake topper stand','personalized bucket canvas tote','doodlebuz','sugar cookie','personalized large banner monogram wedding favor sticker','engraved card case','tapers','beach wedding gift','personalized silver heart charm bracelet','monogramed gifts for bridesmaids','elizabeth','laminated fabric graphic tote','recycled','personalized milan insulated picnic tote','bridesmaid loden cooler bag','raffia','pink camera','pinch','round tins','leaf favor boxes','cutting board','coastal','personalized-cosmetic-case-emb123','wedding-cake-topper-dscc1305','whimsical fields','crystal globe','antique key','personalized man cave','personalized-apron-kit-emb124','graphic tote','quilted bag black','picture guest book','couple wedding bell','shaving bag','gold couple bell','personalized hershey\'s kisses chocolate wedding favors 100 pcs','daniel cufflinks','medium duffle bag','executive desk set with clock','wedding-table-decorations-gfv398','elegant compact','putter','personalized love bird wedding bulletin','cora','angelina pearl','starfish design favor saver candles wedding favors','teaspoons','4 x 4','rawling baseball bat','bridal gown preservation kit','oval jewelry box','baptism','personalized shopping tote bags','pink polka','photo accessory box','meant to bee favors','large bags','non-woven quilted lunch bag','diamond flutes','personalized black leather wrapped drink holder','arc photo','silver heart place card holder','ink pens','bling-wedding-camera','teacups miniature porcelain tealight holders wedding favors','hammer','personalized train case','topiary place card holders','african american','bride and groom place card holders','casual','silver locket','chrome heart bottle stopper','non-woven','lipstick','keychain watch','winter holiday','picks','striped beach towel','wedding cake knives','engraved multi tool','toggle bracelet','fairytale wedding','spf','falling in love tea','wedding wonderland tea favor','kids lunch box personalized','wintry wedding','falling in love tea wedding favor','ceremony decorations','mix and mingle wedding party key lime margarita mix set of 6','personalized recycled cotton mini tote','unity vase','cotton cosmetic bag','personalized original keg-a-que','personalized wedding crystal bead toasting flutes','eternity-loyal-honest tea favor','seed paper','personalized old tavern sign','piatto','first toast','wedding knife','xo','hand in hand wedding couple','monica','personalized bbq kit','serving tray','personalized golf balls for wedding favors','wedding stoppers','crystal champagne flutes','fall place card holders','dinner','5 x 5 photo album','photo magnets','signature mat frame','midori','heart cake','bell place card','personalized acrylic wedding cake topper','bbq set','watch moneyclip','eco wedding poppers','butterfly wine stopper','pewter personalized vault bank','personalized heart-handle favor box','autumn wedding favors','felt favor bag','personalized old tavern coasters set of 4','bridesmaid patent','personalized major league baseball mug','table toppers','crystal memorial candle','pizza cutter wedding favor','personalized-leather-passport-wallet-dsrlg216','pink ribbon wedding favors','red wine','personalized linen napkins','picnic bags','mini slot machine wedding favors','destination invitations','embroidered cooler bag','sterling silver','personalized two-tone carry-on tote bag','swirl glass taper','personalized folding jewelry box with photo frame','beach camera','tuxedo gift boxes','personalized city smart microfiber tote bag','photo coaster favors','wedding jewelry for bridesmaids','heart bell','engraved pilsner glasses','rose bridal pillow candy favors','personalized clock','wedding cake stands','monogram letters for cakes','money clip wallet combo','silver favor boxes','personalized terry wrap','bling cake knife','personalized place card holders','brown','beach memories','tessa','cotton','mens watches','checkpoint passport wallet','winter wedding cocoa favors','flask key ring','silver pen','plateau','shipping confirmation','pens for wedding favors','weekender tote','pink necklace','desert rose cactus candle','swarovski jewelry','diy programs','pink tote','flutes and servers','season silhouette','pastel flowers','white flowers bridal shower','silver tins','women of the 50s','personalized bridesmaid weekender tote bag','personalized island shooter glasses set of 4','circles','lavender wedding favors','star of david','bethany','candle vase','personalized wedding favor boxes set of 25','personalized items','dress sachets shower favors','pin stripe engravable money clip','personalized photo box','party to go cooler','truffle favor box','personalized love bird wedding favor sticker','pillar','medallion','wedding photo camera','cookie wedding favors','silver jewelry','beach theme stickers','small martini themed drink tickets','bell place card holders favors','waffle weave personalized slippers','fall impressions glass photo coaster','love bird water bottle stickers','scented candle votive','personalized elegance wedding cake topper','textured flask','pizza box favor','mouse','modern mantle clock','black leather flask and cigar case','pink compacts','personalized cake topper','personalized double','monogram jute box tote','crayon apron','personalized double heart necklace','photo accessory','playing card stickers','porcelain','personalized martini lounge sign','spa bag','scatter','bridesmaid bridal party tank tops','monogram compact','black place card frames','cameras for wedding','pine cone tea','personalized beverage','personalized pint','starfish place card holder','plush pals','personalized crystal round flask','baseball gumball machine favors','personalized towel napkins','personalized vintage signs','multi','ceremony','birdseed','customer service','personalized blended family unity candle set','pearl sandia bridal set','watch and cufflink','phone wristlet','personalized wedding autograph frame','wedding shower cookies','fall in love wedding','bride and groom luggage','bridesmaid clutch','bridal fan','shot glass set','classic shiny flask','plaid mint tins','personalized cherry blossom candy jars wedding favors','wedding cocoa','crystal toasting flutes','clear top tin','carrie waffle cosmetic bag','fall in love scented leaf shaped soap','personalized god bless wedding tea favors','pocket watch for groomsmen','cooler tote bag','crystal bridesmaid shirts','flourish favor boxes','tall place card holders','personalized water labels','chef wedding favors','bee favors','love vines place cards','toiletry bag for men','candle centerpieces for wedding','bloom mint tin','black leather valet','bee my honey kissing bees honey jar','pewter train','bridal shower tea favors','photo keychain favor','child\'s backpack','chocolate bath salts','personalized wedding theme candy jar favors','bee my honey','palm tree soap favors','canvas bridesmaid tote','personalized storus 2-in-1 money clip card holder','personalized valet box','bell cards','pink and black','biodegradable wedding poppers','personalized square theme','beach place cards','cake bubbles','wheel magnet','city','bridal party','something blue wedding','sweeter than honey wedding favor','chic sassy announcement','personalized cosmetic bag set','bubble tubes for weddings','love bird guest book','ceramic','pink wedding bubbles','personalized sandalwood fan favors','money clip wallet for men','wedding favor bags with handles','clock money clip','will you be my bridesmaid note','personalized notebook wedding favors','beach placecard','bridal shower advice','battery','leather journal','starfish decorations','memorial swarovski candle','monogram gifts','scratch off games','carbon','leather wine carrier','mechanical watch','love chopsticks','personalized hershey kisses for weddings','wine carrier','leisure pack','pinstripe cufflinks','white flask','personalized crystal evening bridal purse','sugar bowl favors','palm tree placecard holders','black ribbon','snowflake frame','paper heart box','beach favor boxes','bug','mini bat','white bag','walnut gavel','chocolate kiss labels','bottle toppers','black border tie clip','personalized canvas bag','personalized flask with cigarette','personalized vases for wedding','black purse manicure set','twin power mint box favors','shiny large flask','wildflower bag','sale items','personalized bridal shower games','bridal necklace sets','personalized pub sign','photo keepsake box','place card holder sachet','princess jewelry','multi-purpose tool and craft caddy','pink and brown favors','bird bath place card','photo frame favors','mini leather jewelry case','black bag','chinese boxes','collapsible','backpack cooler bag','mother of the groom survival kit','personalized groomsmen leather money clip','sailboat tea light','personalized storybook','personalized captains wheel keychain','personalized carry-all caddy','sew perfect classic houndstooth sewing kit','to have and','personalized child\'s heart charm crystal bracelet','pearl wedding','seashell frame','pewter medallion glass mug','wedding jars','light for love collection love design candle tin','chess pieces','satin ribbon 3 8','wedding spoons','pocket flask','lenox flutes','blue favor bags','birdcage tea light','beach card holders','cotton favor bags','clear gift bags','personalized unity candle set','bejeweled alarm clock','beth','polka dot favor bags','cone wedding favor boxes','crystal initial','bethany monogram jute purse','clicked','personalized love blossoms wedding favor card','wedding box kit','bird bath','multi purpose tool','chrome wine stopper','white favor bags','black basket','candle decoration','wedding guest present','floor','shell placecard holder','francine bridal','mini slot machine favors','teardrop','chrome heart top','shining sails silver place card holders set of four','leather tie case','personalized fashion market tote','pearl crystal bridal','cake mix','personalized leather barrel pen set','swirl flute','teapot tea infuser','shell frame','table number frame favors','monogrammed vase','bride trivia','leather jewelry case','black wedding favors','bird theme','place card fan','mini cooler','blue candy','blue box candle','globe wine stoppers','wedding reception napkins','beach mint tins','cake utensils','bridesmaid gift set','bridesmaid and beach','cherry blossom table numbers','mix and mingle key lime','car clings','silk bag','carry-all-tote-bag-dscc2075','spread','personalized bridal shower favors','wedding flag','lenox cake','personalized bubble tubes','bridal shower gel','bridal shower stickers','personalized love birds wedding paper ribbon','fleece travel blanket tote','cherry wood','plaid cover stainless steel flask','bridesmaid personalized carry','skull and bones leather flask','traditions','bridal shower place card holders','tote with zipper','light holder','sassy tote','bridal wear','wedding gift favors','bridal pins','fisherman','timer favor','clear square boxes','picture favors','pink fans','laser','personalized cherry wood humidor','beach wedding tea favors','personalized heart frame','table #s','scented frosted glass','bridal hats','wedding keepsake','leather valet box','snap','memory album','bar glass','personalized pocket compasses','go-anywhere','bride groom place card favor boxes','pearl pins','shower gel favors','personalized wedding items','beachcomber flip flop','wedding favors for kids','corinthians unity','little book of memories placecard holder and mini photo album','child\'s gift','golf measuring tape','square tag','cappuccino mix','shell wine stopper','cake server set and flutes','personalized transparent interlocking heart stickers','sand kit','bridesmaid tool','write','celebration bells','signage','pamper pouch','golf putter','personalized fall for love candy jars wedding favors','candle ceremony','personalized microfiber','fall wine stopper','lounge','pocket watch necklace','carbon pen','bird shaker','sand sets','flower card holder','chocolate wrappers wedding favors','sterling silver favors','pop','beach labels','for the cure favors','signing pen','boat magnets','personalized glass vase wedding centerpiece','bridal trivia','pea salt','bride handbag','peace','blue almonds','gkd034','calla lily place card holder photo frame','personalized stainless water bottle','pewter medallion mug','leather cigar','cookie favors','cigar set','starfish glass wedding candle holders','mens favors','tea time tape measure','thanks for beeing here personalized stickers','coaster set','whimsical cake topper','starfish place cards','poker table bar sign','satin finish','top bridal shower favors','mens travel','personalized chocolate coin wedding favors','clear top wedding favor tin','love holder','beach wedding place cards ideas','personalized hershey bars for wedding','bride case','personalized embroidered bags','bride kit','cocktail candle','camouflage flask','green flask','love seed','cherished wedding pillow candy favor','business case','pink ribbon favor boxes','thermo cube','white keiko','bell card holder','wedding hershey','paradise thank you','bridal shower placecard holders','stainless steel flask cigar set','candle wedding favor tins','polka dot wrap','crayon belt','lace bags','beaded bags','catch all tray','silver place card holder','white wedding boxes','love votives','wedding attendant gift ideas','truffles for favors','cosmetic organizer','wedding theme candy jar favors','plaid flask','cufflink for groomsmen','place card favor boxes','mini magnet','table place','scented candle wedding favors','child heart charm','leonardo','wedding bell place cards','baseball mug','lets celebrate wedding favors','fromage towel wedding favors','ggr373','poem cards','sewing kit bridal shower favors','beach stickers','personalized cake server set','small wedding favor boxes','teapot wedding favors','wedding gifts bridesmaid','good wishes glass','good wishes pearlized-glass photo frame place card holder','personalized cookies for bridal shower','wedding essentials','wedding favors for beach weddings','bridesmaid gift tote bags','luxury robe','wedding accessories sale','leather groomsmen gift','tulip favors','wedding favor gift ideas','wedding bell party favors','best wedding accessories','soap for bridal shower favor','fall wedding favor coasters','best wedding favors','wedding favor place card frames','wedding gifts for men','wedding favor heart coaster','personalized mens pocket watch','groomsmen gift brown leather flask','mens personalized watch','personalized for bridesmaids','wedding tubes','personalized beach mat','wedding pillow candy favors','wedding party favor boxes','personalized hershey kisses wedding favors','fall for love candle tins','wedding gifts from bridesmaid','leather tote','travel tray','beach garter','personalized fairy tale storybook','love is sweet sweetheart towel cake wedding favors','checkbook clutch','chelsea backpack','wedding hersheys 5oz chocolate wrappers','pair sticker','city wallet','white linen','leather tote nappa','pearl unity','soap favors for wedding','chocolate wedding party favor','beach wedding set','wedding favor bag holder','bird salt and pepper shakers wedding favors','personalized bridal bags','gifts favor','mini bubble favors','bull and bear gifts','personalized martini bar sign','personalized kids bath robes','personalized sport bar sign','triangle key ring','classic wedding cocoa favors','most popular gifts for groomsmen','flower shaped stickers','personalized pool table bar sign','floral print border','personalized tiki bar coasters set of 4','silver matte business card case','wedding favor cork','game of love','pea in a pod favors','personalized compass keychain','personalized car bar sign','personalized irish pub grub stein','personalized salt shaker','personalized utility kit','personalized shakers','funky stripes','personalized a leisurely game of love golf ball tape measure favors','personalized wine signs','charisma','golf academy humidor');
/* $Revision: 6883 $
 *
 */

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';
          if ( theSearchbox.clientWidth < __SLI_customisations[ __SLI_ApplicationName ][ 'DropListMinWidth' ] )
          {
            theDropDown.style.width = __SLI_customisations[ __SLI_ApplicationName ][ 'DropListMinWidth' ];
          }
          else
          {
            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=' + escape(__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' ] + escape(__AutoComplete[id]['element'].value) + asugvar;
          }
          else
          {
            if(f.onsubmit)
            {
              if(f.onsubmit() !== false)
              {
                f.submit();
              }
            }
            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);
    }
