/* Popular phrases - SPECIALTYSTORESERVICES - 12:25:51, Mon Mar 22, 2010 */
__SLI_ClientDefaults =
[
    ['TextBoxIDCustom', ['LeftBar_txtSearch'] ],
    ['Alignment', false ]
];
var asPhrases=new Array ('dvd case lock','candy display racks','candy rack','cash box with top slot','slatwall','punch cards','counter display','mannequins','dvd cases','register counter','hangers','counter','jewelry displays','chip display rack','bags','sign holders','slatwall shelving','disc repair system','jfj','disc repair','grid wall','hooks','new release stickers','price gun','shelves','tagging gun','baskets','candy','showcases','dvd cleaner','dvd','peg hooks','slatwall hooks','candy display','signs','dvd display','bag holder','open close sign','security labels','jersey form','grid hooks','pegboard hooks','garment racks','poster sleeve','forms','mats','cases','dvd rack','gondola','stickers','cash register','label holder','slatwall panels','gumball machine','slatgrid','grid','size dividers','cart','hanger size markers','5092','led signs','carousel pops','grid accessories','size markers','cash register stand','gridwall','banner','carousel lollipops','safe','mirror','shrink wrap','hang tabs','grid shelves','clear hang tags','grand opening','cd cases','shopping baskets','thank you bags','tags','cabinet','grid panels','book display','price cards','ledgetop counter','cd','message board','earring display','door chime','rope lights','pegboard','scanning hook','plastic bags','display tables','tube covers','acrylic sign holder','table','spinner','nexpak','security mirrors','one time case','dvd storage drawer','lights','7777m','6902','necklace display','book racks','red tag','grid wall panels','hang tags','stanchions','camera','reach rod','cd storage','dvd shelves','slatwall accessories','shelf bracket','letters','gumballs','labels','glass cube displays','bar code','dress form','gondola insert','pouch','peg spinner','head','glass shelves','plastic hangers','dvd security cases','grid connectors','handbag stand','shrink wrap bags','5186','spine labels','basket stand','7638','clear dvd cases','zenithpac','security system','magazine rack','cash wrap','floor mats','dvd storage','4032','dvd labels','handbag','shrink wrap film','mannequin male','wire','cards','handbags displays','half round forms','2426b','z racks','cash drop box','dvd lock','eas','ceiling clips','disc repair supplies','4828s','round racks','hat display','drop box','price gun lables','storage cabinet','hanger markers','hat','jackpot','membership cards','size','8166','sale signs','mw200','ice bags','hole punch','bullnose','jewelry tags','4031','vending machines','cd drawer','jewel cases','security stickers','2163p','2705c','7754','name tags','8644r','2193w','cotton candy','resealable bags','divider','counter top','bone','well endowed','outdoor signs','custom labels','2951','balloons','vhs cases','slatwall displays','cd spinner rack','coin counter','clothing racks','grid shelf','custom bags','acrylic displays','2588s','shelf sign','display case','7676','9036r','price tags','video game','mannequin head','open','pricing labels','universal','thermal','m','sale stickers','counterfeit','2444h','dvd repair','clip','folding board','tie rack','impulse table','rating labels','gridwall panels','tuffy','7211','disc repair machines','kangaroo pouches','open flag','magazine','register stand','laminating pouches','size dividers blank','glass cube','ceiling panel mirror','3536','poster','gun','jewelry boxes','popcorn','maniquin','dvd security label','toys','key coils','shopping carts','easel','black board','clear cases','locking displays','counter top display','wire shelving racks','hanger organizer','take a number','display','refrigeration','burst sign','fasteners','monarch 1110','jfj disc repair supplies','counterfeit detector','security loops','size labels','2664b','magazine display','8237','edge','sign clip','end cap','disney cases','register','converter','steamer','vmi 3500','t shirt bag holder','3479','2216','wire baskets','venmill','skittles','gift certificates','4602s','lock','grid t legs','5183','2128b','surveillance','5840','newspaper rack','storage','2340p','torso','hooks for slatwall','cash drawer','slatwall wire basket','gift card','banner stand','melamine shelves','polish','secure hook','5042','impulse bin','chime','double dvd cases','earring cards','1130 label','blank labels','reclosable bags','5431','slatwall brackets','coolers','letters for outdoor signs','garment bags','barcode labels','white tissue paper','7430p','light bulbs','tabs','slatgrid panels','basket display','t-shirt bags','slatwall sign holders','credit card','tissue paper','one line labels','spinner rack','jewelry spinner','6096','2091b','1240w','cash','clear single 7050','stool','earring','merchandise tags','hand forms','laminator','2383b','3464','safe box','8185k','cd rack','sales books','wood hangers','new release labels','2350','counter rack','cube displays','grid wall brackets','dvd maximizers','manniquin','sign letters','bar code scanner','9761','5081','3518','contest','bag hook 2180','5 day rental','2138p','dvr','female mannequin','custom banner','sealer','grip on','waterfall for slatwall','vcr','electronic safe','2889','numbers','hang strips','6563','5006r','soap','2802p','inflatable mannequins','2704c','dots','jolly rancher','9904w','wood shelf','foot measuring','floor mirror','blank size','3435m','shoe rack','glass display case','mannequin form','cd sleeves','bench','fluorescent tube covers','9059','tagging gun combo pack','5006w','poster frame','video cases','marquee bulbs','recycled bags','2121p','2890b','price gun roll','ring display','dvd browser','2876','roller basket','4059','wine racks','skirt hangers','5005i','monarch 1131 labels','label gun','treasure chest','store hours','5956','dvd shelf display','8867','donut display','microwave','9024srr','8926','bluray','foam','skip-away','disc labels','slatwall peg','2289b','3434c','disney','2124','4053','profit','2619b','3440w','cash tray','popcorn machine','blackboard','slatwall snaps','pre-played','round size dividers','7666','2536p','9905w','1316','2964','spine','open sign','coat rack','literature','blu ray sign','carousel','shoe bench','invoices','flip','5708','plastic shelf','monarch labels','clear single dvd cases','venmil','6376a','ceiling','custom signs','dispenser','ink','reach','4638','9861','rolling rack','currency counter','coffee','8642b','size stickers','trash can','drop','7621','entry','hand truck','a-frame sign','peg board shelves','3 grid','pop','2859b','6908ns','oval display table','carry out','greeting card spinners','hat rack','mannequin base','dvd sleeves','pen','new arrival','bar code labels','punch','folding','jfj supplies','kangaroo tag','shoe display','8998','4607b','previously viewed','applicator workstation 8700','1200b','promotional poster','previewed labels','pant hangers','belt','6608b','blu-ray cases','slatwall shelf','acrylic shelf','risers','5982w','9225','blu','2703d','belt lighting','wood rack','soap dispenser','standards','2 drawer cabinet','key','vhs rewinder','barcode stickers','bursts','grid panel accessories','acrylic','currency straps','3524','paper roll','benefit denial cases','9.5 labels','7633','1220c','3497','3527','9905p','children label','t bar','8026','candy shelves','1464','jewelry cards','suit bags','1115','rf labels','counter contest box','tyvek sleeve','nacho','9726','dvd warning labels','9286','8398dc','dvd wall rack','wall mount','hanging base','2015b','4730','business forms','9711','hub labels','2503w','1389','2187','hours sign','t legs','bakery','3997','counterfeit pen','2152w','optoclear','bin','8236','acrylic bins','elite 60','decoupler','6162gm','3516','tier','4258','tempered glass','5091','t shirt bags','bulk candy','lighted signs','shelf dividers','children\'s hangers','2817p','flip tray','8584s','hat stand','sale','policy signs','acrylic slatwall','2213w','acrylic jewelry display','dennison','grand opening sign','sleeves','8300b','6162w','bulbs','2160p','dunnage rack','necklace box','cash register counter','lock cases','cd bags','fix it','glass counter showcases','window','merchandiser','replacement wire','purple rope lights','certificates','black slatwall hooks','floor candy rack','pts215','1373m','cleaning solution','5752','dvd cases with locks','7651','8965','cd display rack','storage bins','garment','flip frame','register paper','traffic control','3442c','tie display','wood basket display','5 day rental stickers','pennants','shopping bags','2653','slatwall basket','bracelet display','colored tags','slatwall inserts','2321','counter spinner display','3124','glass showcases','new arrival stickers','book','shoe','2168','dvd barcode','2860w','shoplift','splice connector','8081k','professional steamer','wire grid','paper bags','grid legs','frosted bags','2500b','3437','double sided gondola','grid wall accessories','2110w','hot new release','chrome hooks','9126','3440m','7648','grid wall legs','2237','twizzlers','5911p','6596n','9067','18+ stickers','8723','8.2','plastic ties','register forms','xl pro labels','2394b','hand','banner holder','neon','shrink bags','2968c','lingerie hangers','venmill 3500','1373','5 day stickers','slatwall shelf brackets','2702d','7226','wire bins','tanning','chasing lights','impulse','full vision showcase','date due','round plastic tags','hand dryer','combination safe','black counter displays','book shelves','9318db','dvd spinner rack','gondola price inserts','blu ray labels','clip on sign holder','anti-fatigue','vhs tape rewinder','hang rail','brochure holder','card rack','trash','cash counter','frames','2560p','3439b','tower display','9921blu','9013','garvey labels','mens try-ons','grid cubes','2653b','stamps','jewelry tray','5421g','form stand','led motion message display','angled grid shelf','hat hook','9902c','3386b','sale labels','pos system','tshirt bags','5184','manequin','cd shelves','fashion forms','entrance mat','drop safe','8645','2177k','casters','6165w','7806','security device enclosed','turnstile','shelf labels','wrap','meto label gun','coin','poster holder','jewelry case','slatwall wine','card holder','2670b','nylon socks','9533','slatwall counter','buy sell','deposit','6628b','3444m','clear plastic bags','2109p','countertop hat display','custom 1 labels','book counter display','4602r','display rack spinner','2882','2090w','tagging supplies','3431','2199b','1131 label','waterfall','3 tier','4851s','grid base','dolly','3.5 grid wall','peg display','tagging gun needles','window signs','new release','pos','5143','8583d','red tag lock','dump bin','sidewalk signs','dry erase','vhs tape','7409','velour','1203b','2213b','6169w','2951w','wrap counter','strung tag','gondola shelf','color coding labels','sandwich sign','money detector','roadside sign','2067b','double racks','counting','white pricing tags','2177','4281','cd dvd storage','6888','9154br','dvd machine','hours of operation','2590','5705','1 gumballs','2185','nr','steam','plastic shelves','1202w','lighted tower showcase','2756b','lollipops','motion detector','scanner','2376p','peg board hooks','foil label','7583','2108w','poster display','alpha','pet','1220b','8446','8883','2854b','2091','2103w','garvey','glass tower display','slatwall h display','display risers','3285b','dvd cabinets','5860b','markers','monarch 1136 labels','9472','54 spiral gumball machine','coin roll','2230','entry blank','5982','ladder','5043','5 day','2115b','mobile','2890','thank','5981','store bags','5027','round stickers','address labels','9901o','8097','2566','5598','9909p','9942e','scarf display','5982b','rolling work table','entry alert','coin wrappers','protective cd labels','label remover','video rental forms','video','4852s','2812p','video display','deposit bags','perforated tags','media drawer','wall cd display','2101','tryons','2362','2590b','security camera','six pack','2663w','2521p','2349','teflon','2226b','jfj disc','barbs','2108b','3197b','3488','tyvek','video bags','2303p','1319','newspaper display rack','4877','2807','60','2174k','tagging needles','3480','saddle bracket','2041b','candy stand','two line price gun','silver u pins','6158s','2087b','movie cases','2493','door chime battery','7457','cd poly','2259','footwear','metal showcase','accura labels','glass','wall standards','7734','shrink wrap wire','blu ray cases','label peeler','5008w','8644b','3433m','7779','z rolling rack','cigarette','50','3125','5430','2062w','5779','2905','5762','8367','night vision camera','magnetic card reader','madix gondolas','custom stickers','1 slatwall hook','entry box','candy counter','4034','shelve brackets','angled brackets','2 shelf utility cart','door counter','dvd shrink','6026b','candy signs','edge disc repair','mini grid','2107p','5470','gift card system','coin mechanism','3 day rental labels','3537','countertop display','8661bl','9779','mount rails','display forms','black bags','grid shelf brackets','tube','oreck','candy gum','bullnose shelves','6 earring','2889w','1 day rental stickers','custom posters','2650','2668w','2500s','needles','3443b','24 compartment','2695b','4860s','6163r','perf-fect','blue dvd cases','vacuum','boxes','8608','2367','buy 1 get 1 free','shrink','6163w','styrofoam heads','acrylic slatwall holders','9583','popz popcorn','9535','2972','9537','adhesive hooks','yellow tags','7620','2228','mesh shelving','2506p','edge disc','runts','hanger stacker','6167w','treasure','disc cleaner','9879','2411','light tubes','game','feather duster','9475','movie poster','void stickers','membership','3 tier display table','2134b','3.5','corner fillers','5574','twist ties','pads','disc polish','2893','5575','8113','4112g','2997','4602b','lint','5678','3 1 2','glove hand','rolling garment rack','secure lock','8360','5576','cap display','9908y','cafe','5809','full figure','5089','1389m','lint free','5007i','return policy','2091w','3517','clear tabs','thank you','4859s','sale cards','2193b','foam pad','tickets','comedy stickers','watch display','universal game case','clear cd cases','2766b','9411w','2749e','velour ropes','pts208','7624','gold foil labels','6464','5827','wine bottle','5727','8185','garvey gun','5129','5311','2062b','telescoping','candy fixtures','base','e-z reacher','revolving slatwall display','dome mirror','2668b','9369','magnetic ultra strip labels','grand','bill counter','4608b','dog','cd cabinet','2757','label 5005','rewinder','vmi','candy rack floor display','7441p','capsules','child mannequin','games of chance','hammertone','6163y','blowout','2664w','2344p','9761b','6624b','2201b','cello bags','pull tabs','black plastic bags','key holder','rubber stamp','4113','led motion','reciept printer','buy','cash handling','white paper shopping bags','colored fasteners','6508','2576k','alpha security key','countertop','browser displays','4968a','ashtray','8743q','stem','7085','2804p','removable stickers','3436c','9584','8183w','1354m','2821','business hours','shoplifting sign','club hole punch','t-shirt bag holder','clearance labels','personalized labels','12 hooks','loyalty card','security spine labels','title cards','2083b','bulk','5005 price gun','slatwall acrylic bins','pedestal sign','try on socks','dvd shelf','7660','cigar','gracias','2775','pts207','floor','tiered display','black slatwall','2860c','channel','dvd stickers','gold foil','2951p','2512s','ocean breeze','polishing pads','acrylic slatwall shelves','6167y','royal 130cx ink','metal hangers','2396','stencils','locking gumball machine','9591','plastic pegboard','6162r','alpha security','try ons','stem caster','6169y','6 pack rings','monarch','36 shelf','2152a','cleaning machine','4458r','store hours sign','8073','safety hooks','2489','tagging gun hook','neon blackboard','blu-ray','mesh','slatwall 9','4055','cash register supplies','bust forms','accura 2 line labels','3489','chest','warning stickers','triangle','toy capsules','donation boxes','static cling','8783a','grid peg hooks','custom foil stickers','2116','platform truck','2807p','bluray cases','7608','chain','4110','8502','chain kit','5255','cleaning','wire hooks','4106','small three tier basket display','sign frames','2113b','5095','laminate cards','apparel boxes','led','6165dd','2 day rental stickers','cd dvd rack','dvd security','2712b','2861','2965b','2426w','island','wicker','dvd counter display','6167g','2538p','6530-1','2343','9590','8541ta','9464','rectangular lighted tower showcase','heat trak','cash box with lock','black','boxed candy','grand aisle','customer traffic','6 peg hooks','3500','shelve clips','8289','floor cleaners','2340','7646','wine','2259-u','8170','counter candy display','buy sell trade','2552a','media cabinets','spree','receipt','size tags','slatwall wire shelf','alpha nexpak','clear sign holder','9440','black merchandise bags','2034','chip','gridwall signs','2396b','2368b','9902y','2552b','4096b','heat sealer','1240b','2854c','write on board','grocery labels','one-time','bagel','firesafe','hat fixtures','meto 1 line labels','2699w','album','fire safe','deposit safe','6555d','meto labels','6163sb','2110b','2234p','poster stand','tray','2507p','2202b','standing grid','8343','circular hanger','2628b','clothes hangers','wire peg','perforated shelving','3439w','warranty','2762-1','2555s','2233','candy machine','2898a','custom','glass counter','cd flip rack','4263','3437b','3442w','9683','comedy','flashing lights','tag gun supplies','ice','rope hooks','fun sweets','3 drawer steel cabinets','dvd fix-it kit','display hooks','6883','2994','6642','paper cd sleeve','5083','5713','4677b','3440c','single cd cases','7476','6363g','for sale signs','ccd scanner','garment bag stand','plastic shopping basket','chrome 4','7485','magazine stand','rotating slatwall','2712','perf','214bc','8046b','slatwall diagonal shelving','2727','employees only','2698b','2188w','black grid','7663','2043b','2880','infant','2 way','2881','7661','2347p','security dome','circle label','5148','4855s','1986bges','category signs','12 shelf brackets','drug test','2437p','6586','2121','48 slatwall','reusable bags','dvd cleaning supplies','peeler','media storage cabinet','extension','great entertainment bags','ike','shrink wrap sealer','shrink film','6163fy','2697b','necklace','6984w','color snaps','register paper 2 ply','software','4964a','star ribbons','case inserts','8361','2750-1','hair','2114','36','3138','security ties','4505','3478','pc','4089','corner','exit','4265','peanut m','apollo','6285','carry basket','slatwall safety hooks','poly dvd cases','2372k','wow','6032w','double cd cases','blue ray cases','2372','laser lens cleaner','prize','swivel clip','2377p','clearance signs','sabre','plastic clip strip','5041-25','2376','dvd cd displays','7698','cd albums','6750','9501b','7318','star','7632','7610','9928','4524','7206','t-shirt','5312','paw','2860b','8926a','4.99','black jewelry boxes','write on signs','7639','dress hangers','slatwal shelves','2094','cutter','shopping basket cart','razor','clear security cases','2486','2578','2244p','all sales final','folding impulse','2815p','empty capsule','7662','7.99','paw print','neon pens','wii sign','dvd cleaner kit','adhesive','9231','8664','bushel','pant','cd dvd','8109','5276','7726a','2402b','pricing inserts','2779','2503b','6311','plastic security ties','stacking baskets','mini','4028','easy pro disc repair','6029','2057b','2695','custom imprinted labels','8100','2398sb','t-bar','5448cit','6462w','tray pad','8397lsb','4647b','5184g','20%','try-ons','7083','step stool','dvd r','3031','3229w','8642w','2940','6472','5832','2646','2370k','3436m','partition','2514','3443m','3431b','5271','4851','slatwall wire','sensor','clear dvd full sleeve case','4196a','ez','corner counter','buffing','slatwall jewelry displays','cigar led signs','7705a','4604b','colored blank pricing labels','9910wb','2859c','2245p','dvd case key','cling','counter pen','2129b','square bin','2571k','5949','2 day','6169g','colored bags','special','3435w','2 day rental labels','mike','cd protector','cap holder','7202c','single sided gondola','7858s','3 sided display rack','seal','7677','2749d','2383sb','6984b','6158h','9040pc','thin dvd case','2363p','9771sk','smiley','6310','closed sign','shopping','2698','8101','8092','deli bags','slit tags','dvd counter','9111','printer ribbons','2429w','2093','internal locking security case','modular','6951','shrink wire','2084b','thriller label','clearance banner','6643','produce bags','217wc','paper signs','6081','shirt bags','6999','smiley bags','8080','3-day','cellular','christmas','6581','clear hang tab w hook','1136 labels','pts614','2810p','6293','6595r','8350','2411b','6165sy','5616','4112o','2766','8300r','1167','2046','5061','3 shelf locking display case','square waste container','1169','8645w','single full sleeve dvd case','splicing','2970','2130b','3321','5186p','special stickers','3434m','8.2 mhz','stem mount','deluxe spinner','swing sign','dvd case sleeve','6596bg','screws','2669b','2551wh','2008b','9506b','6165r','step','1191','clamp','comic','4','slatwall scanning hooks','clear vu','custom dvd security void labels','2597k','2303','9290','stacking bin','cash box with top','8644w','9154ar','7643','cd inserts','4.95','slatwall jewelry','cables and connectors','1 day labels','6598r','chewy spree','6183','5257','2437','2368w','4 hooks','6363r','6365i','2631','die cut burst','6165y','8661r','8788a','dvd insert','9903y','3437w','5 day label','dvd scratch','steel cash drop box','security box','3440g','4 camera dvr','side by side','5265','colored shopping bags','8966','spiral','clock camera','5064','8731','3481','2 disc edge','9909w','8183','5855','4196','5310y','dvd seals','swivel counter stool','8378b','cash bag','sp-200','9591bge','2134w','cello','1110 labels','6017','9.5','5147','2823','2986','1013','8832db','5060','2601-1','9617','donuts','8660bl','9168','1317','3 hook','cd dvd storage drawer','7670','6107','2377','disc wipes','2118','sidewalk','side by side invoices','spine lables','2572','4639','superballs','9103','glass shelf sign holder','8165-l','sandwich','5262','3 slatwall','48 slatwall shelves','8096','dvd movies','grid holder','day rental','cash register ink','5690','2175k','simpo sign','9425w','4738rf','4757cr','cash stand','dvd cd browser','7630','9902p','24 black shelf','7 ball waterfall','small','9651','6 grid','2226w','6 grid shelves','2371k','2976','cd barcode','2 drawer','diagonal','7557c','7705e','6476','gaming posters','slatwall wire rack','8645r','2952','per fect display','stretch loops','solution','cd dvd repair','9656','$4.99','carded jewelry spinner','slatwall racks','9099','9901g','2 grid hooks','peck','7131','dvd cd browser shelf','5397','paid','2895b','2009','spiral gumball','3320a','6597w','single watch stand','2794','7970','de solv it','2594k','9102','clip counter display','4774rf','4 way clothing rack','2910b','8187k','8080k','2058w','9154b','2989','shirt folding','4 way clothing rack with 4 slant waterfall arms','2519','9764','6449b','5033','1210b','5407','5860','9653','circle','2699','security safes','deluxe vending machines','cookie dough','cookie','6803','9288sk','8642y','5395','3436g','2907b','stem swivel casters','8600','3439c','6.99','6163gb','3 grid panel','cd fix-it','1464y','5027-25','symbol','48 x 84 grid panel','9921blk','9925','silhouette','4506','2538','4363','4596','9236','8080w','4384','9.95 label','9907p','5250','84 grid panels','2511','8642r','8661yw','8743m','6598grn','6596grn','3 tier basket display','3230w','single case','6596r','9714','single rack','5674','6968b','24 basket','1464b','5445','5436','speed bump','2917','cd compact locking display','security void','solution d','48 slatwall shelf','8397sb','9474blk','1159','2533','70 full vision showcase','8399re','4722','2395','8108','6031b','15.22','6 shelves','1 capsules','slatwal panel','chasing','5097','1 3 vision','dvd video label','6598w','9216m','9216w','5035','5156','cotton filled jewelry boxes','9470blk','cotton','6520-1','9255b','2908b','5084','6525-1','clear label holder','9470','custom modular counter','3 line labels','5258','9137','5405','9385blk','5579','2092b','4616b','pg labels','1071blk','5 tier','6457w','2 labels','2602tw','9 x 12 plastic bags','pendant display','2607tb','$2.00','glossy','9136','3 deep','diaper','2 1 2','4262','secur-pak','4104','switches','snap loop','2244','8756','2679','6625b','1200w','2786','9164','5216','9587','6541-1','cd flip','6595bg','sour','2 disc set','9875','9.5 eas','4287','9415ts','4 grid panels','2-liter','3353','3172','2395w','4185','super globe','9569grn','6598n','sno caps','6461w','12 grid shelf','6448b','snap sleeves','5738','2394w','gold wrapping paper','8792','10 hooks','8082w','9655','48 shelves','12 shrink wrap','panel sign','1937','3434w','6598bg','pasta','salad','convex','50 off','pay at the pump','grid wing merchandiser','5677','9958','5145','cases of candy','9259g','4 black hooks','8542','5208','8793','9538','3454','3170','3448','9905g','9155bb','preplayed','sp200','1.99','2990','3216','9353m','4683','4393','3431c','security hangers','1977g','dvd tags','9748','2905b','2215w','60 showcase','5 shelf','slatwall book','3541','2 x 2 labels','1210','3432w');
/* $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);
    }