/* Popular phrases - ACERDIRECT - 8:19:52, Sun Mar 21, 2010 */
__SLI_ClientDefaults =
[
    ['ShowBrandingFooter', false ],
    ['Alignment', true ]

];
var asPhrases=new Array ('5740','5732z','1810tz','5740g','revo','5532','1410','i5','acer aspire 5732z','5332','1810','ferrari','5542','5738g','1820pt','7736g','5738','5738z','z5610','i5 laptop','netbook','touch screen laptops','7736','7740','i7','touch screen','acer aspire one','aspire','5739g','laptop','8942g','8735g','1820','acer aspire 5532','acer aspire','1420p','aspire 5732z','aspire 5532','3810tz','6930g','1820ptz','8942','5810t','tablet','5920','3935','8930g','5732','4810tz','7540','acer 5740','i3','5536','5810','blu ray laptop','5935g','7738g','revo r3610','aspire one','aspire 5740g','i7 laptop','4810t','4810','r3610','timeline','extensa 5235','acer aspire 5740','5532 laptops','aspire 5332','ferrari one','acer aspire 5738g','acer','acer aspire 8930g','7540g','touchscreen','aspire 5738z','i3 laptop','acer aspire 1810tz','acer aspire 5740g','8935g','acer aspire 6930g','desktop pcs','5740g i5','7738','531','core i5','5735','5332 laptops','3810','5235','5535','x1301','monitors','5810tz','acer aspire 5332','charger','5720','8935','4810tzg','core i5 laptop','acer aspire 5920','8371','acer aspire 7540','acer aspire 7740','extensa','all in one','3d laptop','veriton','acer ferrari one','recovery disk','battery','travelmate','d250','aspire 1410','aspire revo','3d','aspire 5738','1410t','acer aspire 1420p','windows 7 laptops','5735z','5730','bluetooth laptop','5810tzg','4gb','projector','acer revo','acer aspire 5739g','5536g','5810tg','8735','5942g','aspire 5740','windows 7 professional','acer aspire 5735z','desktop','7740g','linux netbook','5740g i3','all in one pc','pink','acer extensa 5235','3610','all in one desktop','d150','acer 1810tz','aspire 8735g','532','acer 8735g','notebook','acer aspire 5542','17 inch laptops','core i7','1810t','5740g i5-430m','touch','acer 5740g','acer ferrari','acer aspire 8735g','quad core','7735g','acer aspire revo r3610','aspire timeline 1820','lx.pmb02.093','5738dzg','gemstone blue','acer aspire z5610','core 2 duo laptops','touchscreen laptop','windows 7','fingerprint reader','tablet pc','lx.auu0x.273','olympic','acer aspire 7736g','bluetooth','memory','aspire 5920','hd laptop','aspire 5542','blue ray laptop','acer 5532','docking stations','pink netbook','acer timeline','5739','5740 i5','11.6','acer 1410','acer aspire 1410','acer aspire 7735g','5542g','acer aspire timeline','timeline 4810t','6930g laptop','1420','laptop charger','5532 4gb','ferrari laptop','6930','acer aspire 8942g','5538','8942g core i7','8930','7735z','acer aspire 5738','acer 1810','acer aspire 5535','linux','7540 laptop','core i3','5740 core i5','aspire 7740','5942','acer aspire 5532 athlon x2','nvidia','lx.pmb02.001','5610','touch screen acer laptops','acer aspire 5732z laptop','5940g','revo 3610','acer aspire 1820pt','2930','acer timeline 1810tz','aspire 1420p','power cable','aspire 8942g','emachine','751','d250 netbook','acer 5332','1820p','11.6 netbook','8571','acer 5732z','amd','6530','acer aspire 6930g laptop','aspire 1810tz','acer aspire 5536','aspire 7736g','n260g','aspire x1301','aspire 5739g','acer one','acer aspire timeline 5810t','5738pg','8.9','3810tg','1810tz su4100','aspire 5332 laptop','windows 7 netbook','ferrari one 200','aspire 5536','aspire one 751','15.6 widescreen','acer revo r3610','e725','aspire 5720','warranty','gemstone','acer aspire revo','aspire 5535','all in one pc\'s','3810t','grade 1','ferrari netbook','acer aspire 3935','aspire 5735','acer 5738','5935','aspire 6930g','6530g','acer aspire 5332 laptop','acer aspire 5536g','5740 i3','r3600','acer 7736g','veriton n260g','timeline 5810tg','ac adapter','acer aspire 7738g','acer 5332 laptop','acer 8942g','replacement batteries','aspire 7736','intel i5','acer aspire 3810tz','coloured laptops','core 2 duo','acer netbook','a150','acer aspire timeline 1810tz','travelmate 5730','pc','5650','lx.pex02.045','acer aspire l3600','aspire 7540','aspire 8930g','cd dvd drive','11.6in','acer aspire 5732','acer 1410t','13.3','ferrari one 201','optical drive','window 7 professional laptops','bluray','7736g-744g32mn','keyboard','nvidia geforce','mouse','acer aspire 8935g','routers','18.4 laptop','laptops with window 7','pink acer','microsoft office','speakers','m7720','aspire one 532','751 netbook','acer aspire 7736','acer aspire 5810t','acer aspire 1410 laptop','aspire 7735g','3935-744g25mn','aspire 4810tzg','timeline 3810t','red','e525','acer aspire 7740 laptop','acer ferrari one 200','revo 4gb','8471','xp professional downgrade','acer 1820pt','core i7 laptop','quad','aspire z5610','acer i5','aspire 5735z','acer aspire 5542g','751h','ac adaptors','8gb ram','acer 7738g','5850','5520','13.3 laptop','quad core laptop','532h','s243hl','acer aspire 532','acer 5535','acer aspire timeline 3810tz','1301','cd drive','acer 5235','acer extensa','acer 3935','t4300','aspire 5738g','a5','restore disk','power supply','500gb','acer aspire one 531','5320','g','5738d','5740g-334g32mn','acer aspire 5738z','acer 5532 laptop','5739g-664g32mn','cua0001b','blu ray','acer 5810tzg','aspire revo r3610','lx.pe702.016','acer 7740','acer aspire windows 7','dual core laptops','aspire one 531 netbook','acer aspire one d250 netbook','lx.pgx02.017','aspire 5536g','acer aspire 5532-6c3g32mn','acer aspire x1301 desktop pc','core i','blu-ray','i7 acer','aspire 8930','travelmate 5330','wireless mouse','acer aspire 5740g-334g32mn','blue ray','acer aspire 5935g','as5935g','acer aspire timeline 5810tzg','acer aspire one d150','acer 5738d','external cd dvd drive','5470','acer 5810t','acer 8935g','timeline 5810t','m421g','8935g-744g50bn','acer aspire 7540g','x3200','aspire 6530','5940','acer 5738z','car adaptor','timeline 1410','intel core i5','7720g','aspire 3935','printers','acer 5732z laptop','acer aspire 5738dzg','4570','aspire 531','acer 5810tz','core i3 laptop','acer aspire one aoa150','a110','linux laptops','acer 5735','tv tuner','acer aspire 7735z','acer aspire one 751','aspire d250','acer aspire 5920 g','aspire 1810','aspire 7735z','1920 x 1080','acer 531 netbook','250','timeline 1810tz','acer aspire 1420p touch screen laptop','acer aspire 5735','l3600','intel i7','t3000','17in laptop','acer 7736','aspire 5532 athlon x2','acer 1820ptz','aspire 5940g','aspire 2920','3810tzg','acer aspire 5940g','b243ha','acer timeline 8371','aspire one d250','acer touchscreen','touchscreen pc','aspire z5610 desktop','acer aspire 8935g-864g50bn laptop','acer 8930g','acer aspire 8942g core i7 directx 11 laptop','aspire 3810tz','tablet laptop','5738 laptop','acer 5542','acer 5920 laptop','acer timeline 1810','recovery dvd','blu-ray laptop','white netbook','aspire one pro','5740 334g32bn','acer aspire one xp','7735z 424g32mn','lx.pgx02','a1 windows 7','netbook xp','as5535','acer tablet','5739g laptop','acer s243hl','627','aspire one linux','aspire 7738g','1410-743g16n','led','acer aspire 6530g','laptop batteries','5738 dzg','acer timeline 5810t','disk drive usb','acer platinum','travelmate timeline 8571','acer 5740g i5','acer aspire timeline 4810t','norton','emachine e525','geforce','acer revo 3610','power adapter','firewire','acer aspire 5942','tanz0109','acer z5610','181','acer 1820','m265','allinone','xp professional','18.4','dvd rw','acer 5536','recovery','5738pg-664g32mn','acer laptop','t6600','b193','aspire timeline 1810t','5738-644g50mn','acer 531','aspire 5732','5810tzg-413g32mn','dual core','upgrade','acer aspire 5720','acer aspire 5810tzg','aspire 5935','acer touch screen','acer travelmate timeline 8371','acer 5739g','celeron','e430','lu.s780b.160','n270','timeline 5810tz','atom','acer aspire 5740g-334g50mn','aspire 5810tz','power','acer timeline 3810t','n450','8942 i7','acer timeline 5810tz','acer aspire desktop','acer aspire 8735g laptop','g627','acer 7738','2920','netbook with windows 7','acer aspire d150','nvidia laptop','acer aspire 5740g i5-430m','veriton z280g','3810tg-944g50n','aspire 7738','17 laptop','lx.pm902.124','6940','adapter','small form factor','x480g','veriton m670g','6593','acer 5942g','754g','aspire one blue','acer 5542 laptop','acer 8935','insurance','aspire 5738-644g50mn','acer aspire 5732z 15.6in laptop','as5810tg','acer 5738g','acer aspire one 531 netbook','grade a2','3610 4gb','keyboard keys','wireless n','aspire timeline 4810t','additional batteries','phenom','laptop bags','acer aspire 5740 core i3','acer aspire 4810t','emachine e430','5536-643g50mn','acer aspire 7715z','acer travelmate 5730','lx.pna02.018','20 laptop','one','pink aspire one','acer 7735g','acer 6593','x223','wireless keyboard','5810 tzg','7715','acer gemstone','d620','z280g','bags','aspire timeline','acer ferrari one netbook','aspire one d150','refurbished','aspire white','aoa110-bb','acer aspire 5532-6c3g32mn windows 7 laptop','acer 8930','lx.pmz02.084','tower','acer aspire 5740 core i3 laptop','acer core i5','timeline 8371','acer 7540 laptop','acer aspire 5740g core i5 laptop','lx.pmz02.072','duo core','amd laptop','5935g-874g50wn laptop lx.pbl0x.045','intel core i3','acer aspire 8942g core i5 laptop','acer aspire revo r3600','aspire 8935','acer aspire one a110-aw','acer aspire 7738g laptop','intel core 2 duo','lx.plu02.011','lu.s790b.047','repairs','acer travelmate 5720','lx.tqh03.051','aspire 5935g','531h','5810tg-944g50mn','aspire 5810t','aspire one 531h','a2','acer 1420p','p225hqbd','acer 5935g','aspire 5536-643g50mn','dvd external','ati','led monitor','4gb 500gb','ati mobility radeon hd 5650','aod250','office 2007','mice','acer blu ray','aoa150','aspire 7540g','acer aspire x1301','aspire one a150','acer aspire 3d','windows 7 pro','aspire 1810t','acer aspire one 532','acer aspire 531','android','lx.pft0x.203','vista laptop','64 bit laptops','h243h','5935g-664g50mn','acer ferrari netbook','3810tz-414g25n','acer i5 laptop','et.cv3re.b18','acer 1820p','tv','acer mouse','3935-864g32mn','intel core i7','timeline 3810tz','acer aspire 5720 laptop','lx.pm902.047','x110','acer aspire 8735','acer aspire 5935g laptop','acer aspire 5532 laptop','l480','x1261','travelmate 8371','xp laptops','s243','white laptop','lx.pmf02.061','8','1410t blue','8 hour','external dvd rw','acer aspire timeline 4810tz','acer p235h','ieee 802.11n','t3400','veriton m265','acer as5810t','894','4gb ram','acer aspire 5735 laptop','tm8471','small form pc','3d screen','adaptor','hd','netbook 531','aspire 1410t','restore','dvd drive','lx.pmt02.018','lx.pq902.008','acer aspire r3600 revo desktop pc','1820 ptz','acer aspire netbook pink','1810tz-413g25n','acer aspire 5738pg touch screen laptop lx.pk802.018','acer veriton z280g','acer 3d','acer 8942','acer aspire gemstone','t6670','home server','lx.tq203.106','dvd','acer 7540','lx.php02.131','lx.ph602.129','ptz','su4100','acer desktop 3gb','aspire 5738pg','t6400','acer aspire 8942g 526g64bn','open box','et.bv3re.d02','5520g','acer veriton','windows 7 ultimate','1.4ghz','acer 5715z','intel processor','aspire 5738pg-664g32mn','acer aspire 5738z windows 7 laptop lx.pfd02.132','t230h','aspire 531 netbook','acer e-machine e725','571','i 7','5330','acer h223hqabmid','windows 64-bit','aspire one a1','aspire 5942','acer aspire 5942g','extended warranty','acer 1810t','aspire 4810t','battery life','acer timeline 4810','aspire 8942','revo 3600','q3.la221.a00','emachines e430 laptop','acer aspire one pro','acer aspire 5740g core i3 laptop','acer netbook windows 7','acer r3610','8371-944g50n','case','wireless printers','v193w','acer aspire 8930','acer aspire 5715z','acer timeline 1810tz black','x1161','turion','acer aspire 2930','aspire 532','red netbook','v193','4810tz-413g25mn','lx.ph602.044','acer aspire one a110','acer aspire 5538','timeline 5810','acer aspire 7540g-304g64mn','1410 blue','e520','emachine 430','v193wab','acer aspire 8735g widescreen laptop','t7300','aspire 1820ptz','h223hq','lx.pdd0x.003','acer travelmate 8571','d250 n270','260g','acer aspire timeline 1820ptz 413g16n','travelmate timeline','aspire 5810tzg','7540g laptop','1810 netbook','with bluetooth','grade a1 acer aspire one','99.6rf9p.uam','acer aspire 5470','lx.ttx0z.138','aspire 6930g laptop','320gb','n280','platinum bundle','i7 notebook','lxpmb02.001','acer aspire 7735z-424g32mn','15.6 inch laptop bag','v243hbd','sleeve','e machine','8571-944g32','lx.pfq02.020','netbook 8.9','acer aspire 8935g-904g50bn laptop','ultra mobile laptop','3gb laptops','acer aspire 5738pg','10 netbook','a1 laptop','18.4 laptop case','lx.ttd0z.156','m3201','i7 8gb','port replicators','xp desktop','acer aspire timeline as5410t-723g25mn','z280','acer atom','mini desktop','acer aspire 3935-864g32mn','lu.s810b.277','acer one 532','acer 5310','lx.ttr0z.165','timeline 8571','white','sv.wpcaf.a03','acer one a110l','travelmate 5320','netbook 2gb','aspire 2930','microsoft office 2007 home student edition','7740 i5','acer aspire 1','aspire 6930g laptop lx.auu0x.273','acer advantage','acer aspire one pro 531h-06k netbook pc','pc cards','acer timeline 5810','p1165','acer aspire 5542 laptop','mouse cordless','tsv116v1r','et.fv3he.l07','i5-520m','5225','pda','lx.frc02.005','acer 5810','acer aspire 7740g','acer aspire 4810tz','acer aspire one d250','acer 7540g','ddr2 memory','aspire 5738dzg','acer aspire timeline 1820ptz','x193hq','5538 313g25mn','timeline 1820ptz','emachine e725','aspire 5538','widescreen laptop','l480g','microsoft office 2007','1920','lx.pe602.045','lx.at10x.174','aspire 1820pt','lx.pjb02.128','aspire 3600','lx.paq02.001','aspire 7','acer aspire 5332 windows 7 laptop','red laptop','acer 5720','lx.pjn02.019','acer m7720 desktop','aspire 6530g','su2300','aspire 7740g','p-vip','acer timeline window 7','1080','4650','acer aspire 3935-744g25mn laptop','nas','11.6in screen','acer aspire r3610','lx.pjc02.019','acer ferrari laptop','emachines g627','430','netbook a110','lx.n8702.001','m670g','lx.ped02.015','acer aspire 5940g core i7-720qm','intel i3','acer travelmate 5320','laptop ac adapter','500gb laptops','acer 2930','acer aspire 7736g-744g32mn','camera','acer 5810tg timeline','acer aspire laptop 7736g','150','emachine 725','disk drive','pcmcia card','acer aspire one a110-aw netbook atom','i7-720qm','772','acer v243h','tsv','aspire 5942g','acer 751','acer ferrari 200','ezdock','7540 m300','aspire 8935g','g525','acer 8735','lx.pgu02.048','acer 5935','acer timeline 1410t','acer 5735z','lx.pc70x.007','usb docking station','aspire 4810','acer one 532h','lx.pda0x.001','ez1601','acer veriton z280','dock','revo r3600','acer all in one','acer emachines','acer aspire 5739 g','acer aspire 5740g-434g50bn','acer aspire one a110-aw netbook','pc tower','acer quad','4gb laptop','aspire timeline 3810t','timeline 1810','acer 22','acer aspire 7','1','laptop xp home edition','8571-353g25mn','cooling','ps.m6ge1.u01','antenna','gold bundle','acer aspire one 532 netbook','acer aspire one d250-0bb','media','99.68f9p.upm','acer aspire 5532 notebook','n260','hdmi monitor','acer veriton n260g','acer aspire 7738','et.ev3we.e06','aspire timeline 4810tz','black laptop','aspire 751','acer one 751','acer aspire notebook','ac power adapters','acer aspire timeline 5810tz','acer aspire 8935g-864g50bn','acer aspire one 532h','acer aspire one a110-ab','laptop cases','aspire x3200','acer as5935g','aspire timeline 1810tz','92.nvfyz.u2n','p195hqb','aspire 8735','aspire 7736g-744g32mn','751h-52bk','acer aspire 5410t','usb','lx.pfq02.088','acer aspire 1810','acer aspire 5738g windows 7 laptop','acer aspire m3201','aspire 5810tg','acer aspire one 531 black netbook','centrino','353','acer aspire timeline 1820pt','acer aspire 5740 core','acer aspire 5536 643g50mn','plugs','acer aspire 1410t','netbook bluetooth','lx.pbb0x.145','acer veriton m265','v193bbd','acer aspire timeline 3810t','260','universal laptop ac adapter','lx.pda02.157','business','vista','acer ferrari one 200-312g25n','acer aspire 3610','acer aspire 7736g windows 7 laptop','573','multitouch','laptop with bluetooth','aspire 5732z-443g32mn','timeline 4810tz','acer 7736z','blu-ray writer','ez1600','p8700','amd windows 7','light laptops','backpacks','acer aspire 3810t','travelmate 8571','p235h','su7300','acer 8.9','intel atom','lu.s670b.459','13 laptops','desktop x3200','windows 7 blu ray','t230','2gb laptops','ddr','lx.pj302.026','notebooks windows 7','hd 5650','s1200','headphones','acer one 531','acer 4810','250gb','laptop ac charger','acer one d250','acer aspire d250','8371-944g32 n','sv.wpcaf.a09','thin and light laptop','netbook laptop','aspire one 531','18.4 inch laptops','antivirus','laptop power supply','netbook 250gb','acer aspire 5542 windows 7','intel centrino','p1.cne7z.m7s','acer nvidia','acer aspire timeline as5410t-723g25mn laptop','acer aspire timeline 3810','a090u08','acer all in one pcs','windows upgrade','acer aspire 5740g core i5','et.xp5he.001','904g50bn','h235h','8571-733g25','p1.17e9z.m7s','one 531','laptop bag 18.4 inch','acer aspire 5738-644g50mn laptop','1 tb','cd','lx.ee30z.004','one 532','pm902','aspire 532h','8gb','acer aod250','power adaptor','internet security','acer aspire all in one','acer 7735z','pl.yxetz.mis','lx.ply02.045','acer 6530','lx.par02.024','acer 5732','ati radeon','acer 6530g','acer aspire 3935-744g25mn','acer aspire 5738-644g50mn','acer touch screen pc','h223hqebmid','lu.s750b','z','lx','pink laptop bag','timeline 4810','lx.pn102.029','5730-663g32mn','acer aspire as5535','8.9 inch','p1.xrm7z.mcz','acer aspire one a110l','acer olympic','carry case','aspire one 11.6','3gb ram laptops','aspire 7540g-304g50mn','480','744g50bn','acer aspire one 751h laptop in white','lu.s9206.114','aspire 5732z laptop','acer 532','acer aspire 5740 i5','17 laptop bag','acer aspire 5940g core i7 laptop','acer veriton m670g','5738 644g50mn','q3.la281.a00','et.fv3he.003','one pro','laptops multimedia','lus850b','5740 core','acer one pink netbook','1gb','nvidia geforce 9600m','restore and recovery','m77','notebook 1410','acer one hard drive','lx.tq20z.113','lx.pha02.105','a150l','led projectors','774','v243h','revo warranty','acer aspire 6530','7 hour','acer aspire 5738g laptop','lx.pm502.075','bags netbook','lx.pn102.031','bdrom','aoa150bb','acer 5730','emachine d620','aspire 5935g-874g50wn laptop lx.pbl0x.045','acer 5536g','acer 4810tz','lx.pgy02.048','aspire one aod250','laptops with xp','acer 5330','acer 1420','lx.pl902.049','g520','acer h233hebmid','acer 4810tzg','5810tzg-414g50mn','windows 7 desktop pc','acer aspire 4810','751 windows 7','lx.paz0x.092','240m','one 751','belkin','lx.sab02.042','wireless laptops','all-in-one pc','veriton m421g','5940g-724g50mn','664g50mn','ultra thin laptop','remote control','acer aspire 8935g 744g50bn','platinum bundle 17','acer aspire one a110-ab atom n270 1.6 ghz 8.9 inch tft','acer one 11.6','554','as58','acer d620','3935-8','15.6 laptop bag','intel atom n270','l480 veriton','acer 3810tz','acer red','aspire 3810','acer ferrari one 200 netbook','windows vista laptop','aspire 1820','64 bit','acer aspire one 531h','acer red laptops','acer aspire 5740 laptop','6530 g','acer one netbook','external optical drives','acer veriton l480','entertainment','10','acer aspire 5740g core i3','small laptops','volume','netbook sleeve','laptop slips','remote','lu.s020a.089','4330','nvidia geforce 9300m','usb tv','5810t-354g32mn','1410 red','lx.ttk0z.001','blue tooth','acer aspire 5935g-874g50wn','17.3 laptop bag','lu.s810b.182','blu ray writer','lx.pft02.105','acer aspire one aod150','acer aspire revo desktop r3610 pc','aspire d150','travelmate 8371-944g50n','universal ac adapter','lx.pk602.087','acer aspire timeline 5810tg laptop','g210m','tuner','hd 4650','blu-ray core i5','acer extensa 5635z-432g25mn notebook pc','lx.pgx02.003','130m','7736-663g25mn','aspire 5738pg touch','acer 5940g','aspire 5410t','acer aspire 5739','ultra thin','multi-touch','5740 g','acer 5735z t3400','wireless','acer 5320','acer aspire m7720 desktop pc','acer vista','160gb','acer timeline 1820','214','acer travelmate 5330','tsnbg18','acer aspire 5740 core i5 laptop','acer d250','lxpgy02.048','acer d250 netbook','lx.phz02.001','201','led laptop','acer travelmate 5730-663g32mn','timeline 8471','acer laptop windows 7','7736 g','lx.pkr02.023','laptops for business','5410-723g25mn','acer aspire timeline 3810tg-944g50n laptop','acer 8471','ferrari 200','lu.s700b.373','office basic','blue ray drive','lx.ah30x.040','520','acer aspire m3641','acer ferrari 1200','acer aspire one 751h netbook in blue','aspire one a110','acer travelmate timeline 8471','acer touch','new','22 inch','lu.s700b','acer 1301','timeline 1810t','acer d150','243hl','5810t-944g32mn','lx.sa702.048','414g25n','centrino 2','wireless router','16gb','car','a3 laptop','radeon 5650','aspire all in one','acer aspire 5740g core i5 laptop lx.pmb02.093','acer aspire 8735g-664g50mn','acer aspire 5740 433g32mn','aspire timeline 5810tzg','p1.scm7z.mpz','lu.s850b.161','m300','acer p225hqbd','751 blue','7','aspire 751h','netbook case','timeline bluetooth','1080p','lx.ttx0z.204','acer aspire timeline 3810tz laptop','acer timeline 1410','v223webd','acer aspire x3200','lx.n7402.006','lightscribe','acer aspire one 751 netbook','aspire 3810tg','aspire blu ray','grade 3','aspire timeline 1820pt','acer aspire timeline 5810t-734g64mn','mx air','r36','office oem','acer 5332 4gb','acer aspire one a150l','acer aspire one pink','aspire 8935g-744g50bn','lu.s750b.048','20','intel celeron 743','944g50','acer as5535','acer aspire 5538-313g25mn','acer t230h','atom 330','ey.k0201.001','d250 android','x193hqb','aspire 5738 3d','pl.yxetz.miz','acer bag','lx.pe902.077','acer aspire timeline 5810tg','lx.phf02.126','a2 lu.s030a.203','acer blu-ray','acer 7715z','p1.c7e7z.m7z','p223w','buffalo','d250 red','lu.s780b.194','aspire timeline 5810tz','ms office','biometric','e7500','17 inch monitor','520m','aspire 4810tz','acer aspire 6530 laptop','2.4ghz','acer x193hq','acer 13.3','aspire r3610','targus','blue netbook','acer aspire pro','acer cables','acer p223w','acer 7736g-744g32mn','acer aspire 8735g 664g50mn','lx.pqb02.002','acer aspire timeline 3810tg','aod 250','p1.xnd7z.mfs','grade a1 laptops','acer aspire one 751 atom z520','quadcore','acer 220','ey.j8001.001','acer t4300','acer t4400','acer 532h','aspire revo 3610','lx.pm902.060','lx.phe02.005','aspire 5542g','acer 1 531','acer 3610','acer aspire 8942g core i3 laptop','acer aspire one aod250','acer aspire 8930g 18.4 widescreen laptop','acer l480','et.fh3he.b02','acer aspire 7735g-654g32mn laptop','acer aspire 5739g windows 7 laptop lx.ph602.129','acer emachine d620','99.fxdtz.ui4','timeline 5810t-354g32mn','lite-on','aoa110-aw','acer aspire 7540g-304g50mn','acer aspire netbook','case 18.4','bundle','et.dv3he.c01','acer docking','acer 11.6 netbook','acer aspire one a110-ap netbook','acer aspire 5542 windows 7 15.6in laptop','external','timeline windows 7','p1.rcpyz.miz','lx.pjc02.154','acer aspire 5538-313g25mn laptop lx.pe902.077','acer aspire timeline 4810tzg','timeline laptops','laptop insurance','travelmate 6493','ins pcall4','blue tooth laptop','750','acer 1000','acer 19','23','acer 5738pg','p8600','p195hq','solid state','tm8571','223','l310','carry-in','acer aspire laptop 5940g-724g50mn','620','acer travelmate timeline 8371-733g32n','lu.s090b.047','acer p224w','acer aspire 7740g-434g50mi','logitech','acer veriton desktop','acer 4810t','et.cv3re.d18','acer aspire 7736 windows 7 laptop','acer one notebook','acer aspire one a150-bw','acer one d150','ati 4570','windows netbook','ati mobility radeon hd 4650','acer aspire 5738g windows 7 laptop lx.pex02.045','aspire 500gb','p1.rcdyz.mi4','18.4 inch','disk','lu.s670b.133','aspire desktop','acer 5542g','bd-rom','acer travelmate timeline 8571-733g25 laptop lx.ttx0z.138','acer 751 black z520','acer e machine','recover','t5750','aspire blue','acer aspire 5935','acer p223wd','acer aspire 3810','acer aspire 5536-643g50mn lx.paw0x.128','acer aspire 5739g-664g32mn','acer aspire 7738 laptop lx.pft0x.203','acer kit 2009','acer h243h','lu s550b 022','738','aspire timeline 4810tzg','laptop speakers','acer customize laptops','timeline warranty','athlon','acer travelmate 6593','acer timeline 5410t','acer aspire laptop 7736','lx.asy0x.445','acer timeline 8471','6592','aspire timeline 3410t','laptop warranty','481','tcc008eu','acer aspire 1810tz-413g25n','acer 500gb','acer aspire 5935g-874g50wn laptop lx.pbl0x.045','laptop universal charger','acer core i3','5738 3d','acer aspire one aod250-0br','aspire 893','laptop 10','aspire 3810t','acer aspire red','acer h223hqebmid','aspire timeline 3810','a110l','lu.s040a.074','lx.pg702.002','lx.pk702.005','acer aspire one red','acer aspire timeline 1820ptz touch screen laptop','acer aspire as2920-6a2g25m laptop','acer 110','lu.saq0d.166','acer aspire one 8.9 crystalbrite','acer dual core 1810','acer aspire 5810tg-944g50mn','acer aspire 5810t 734','330','acer aspire 5740 core i5','8935 g','304g64mn','9 cell','304g','acer easyport','lx.pmn02.003','acer aspire 5810t-944g32mn','aspire extended warranty','acer m421g','lx.pbb0x.121','laptop power adapters','acer v193bbd','a1 92.hpe77.u7p','acer aspire 5935g-754g50bn laptop lx.pbl0x.046','acer as x1301','aspire aspire','acer bluetooth','64bit','a2 lx.aua0y.013','acer aspire 5732 windows 7 laptop','acer p1165','ac','9600m','6','aspire one notebook','aspire 250','travelmate 8571-944g32mn','acer aspire touchscreen','2.2ghz','acer aspire one 751 atom z520 1gb 160gb 11.6','acer aspire revo r3600 atom','laptop intel i5','6gb','floppy','acer 16','aspire 5','acer aspire timeline 1820p','aspire revo r3600','acer timeline laptop 5410t','acer x193hqb','acer xp','amd athlon','2ghz','acer timeline 1810t','744g25mn','acer aspire 1 netbook','acer aspire a150','aspire as5535-704g25mn','4gb laptop blue ray','acer aspire one 751h laptop','acer aspire m1640','acer aspire one 751 laptop','t2390','acer 6592','751h netbook','acer 64 bits','acer aspire i5','l670g','aspire 5940','tanz0502','acer 5738dzg','ati 4650','label roll','18.5','aspire gemstone','7hour','lx.paw0x.126','acer aspire t4300','acer aspire 1810tz laptop','acer aspire 8935','acer aspire 1810t','tanz0107v3','201 ferrari','acer aspire 5935g-754g50bn','acer aspire 5739g lx.pdr0x.048','413g25n','acer timeline 4810tz windows 7 laptop','timeline solo','64-bit','acer h5350','312g25n','acer 573','lu.s680b.199','acer laptop with windows 7','acer aspire one 8.9','acer aspire as5935g','203','lg','aspire 15.6','amd vision','acer 8','acer aspire one 160gb','acer 5940','aspire a150','acer aspire timeline 5410t','travelmate 6592','434g32mn','acer laptop 5535','5738 g','acer l3600','grade a5','acer aspire 5410-723g25mn','720qm','aspire 553','aspire 1 d250','acer aspire 5536g-744g32mn','acer aspire one a150-ab','acer aspire one a150l 120gb white','aspire 573','2.4','timeline as5410t','a3 grade laptop','laptop 5410','acer 4gb 15.6','acer lcd monitor','acer aspire one a110-aw netbook white grade a1','aspire pink','acer android','512mb','182','acer-emachines','a1 22 inch','laptop 4gb 500gb','acer 5536-643g','acer x243hb','acer ferrari 1','lu.s820b.170','acer one pro','acer 5410t','acer aspire 573','acer aspire 7736-663g25mn','lx.pl702.031','acer aspire 5738p','tanz0113','acer aspire 553','acer aspire d150-1bb','acer aspire timeline 4810t laptop','acer aspire 5738zg-434g50mn','acer aspire 5739 windows 7','aspire timeline 4810','aspire 5935g-874g50wn','acer timeline 5810t laptop','acer aod-250','lxpfd02.132','aspire one 1810tz','aspire 69','1440','4gb ddr3','acer aspire 5738z-423g32mn laptop','acer timeline laptop 4810tz-413g25mn','acer 4gb','acer aspire 5536-643g50mn laptop lx.paw0x.128','acer l410','acer h243','acer as5935g644g32','aspire 11.6','acer aspire one d150b','aspire hd','413g32n','736g','a2 aspire one','553','lx.ph602','lx.pe70x.082','a2 lu.s020b.032','acer aspire one aoa110-bb','lus820b','a1 92.lprf7.ubp','lx.ttd0z.138');
/* $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);
    }