/* Popular phrases - CONSUMERONLINE - 13:3:26, Wed Feb 22, 2012 */
__SLI_ClientDefaults =
[
    ['ShowBrandingFooter', false ],
    ['DropListMinWidth', 160],
    ['MaxListItems', 10],
    ['Alignment', true],
    ['IE6OnFocus', true]
];var asPhrases=new Array ('steam mop','printers','dishwashers','washing machines','coffee machines','heat pumps','insurance','bbq','vacuum cleaners','aqua laser steam mop','ovens','e reader','irons','beds','laptops','gps car navigation units','travel insurance','lawnmowers','gps','isp comparison','vacuum cleaner test results','steam cleaners','mobile phones','dehumidifier','camera','laser printers','toasters','internet service providers','line trimmers','fridge freezers','smartphones','digital cameras','panel heaters','speed test','insulation','breadmaker','tv','blender','ereader','kettle','dryers','tablet','power company price comparisons','broadband speed test','car seats','e-readers','lawn mowers','dishwasher test results','isp','fridge','rangehood','olive oil','broadband','car insurance','insulation products compared','water blaster','mattress','insurance company ratings','microwave ovens','carpet','travel cards','best washing machine','pet insurance','food processor','heat pumps test','vacuum','steam mops results','cordless phones','microwave','tablet computers','freezer','hearing aids','bench top oven','smoke alarms','wood burners','health insurance','headphones','sunscreen','bbq test','ebook reader','life insurance','electricity price comparison','electricity company comparison','freeview','shavers','ventilation systems','broadband home phone plans','travel insurance overseas','juicer','power switch','wall ovens','slow cookers','printers 3 in 1','speedtest','breadmakers test results','mattress brands','barbeque','smart phones','coffee grinders','noise cancelling headphones','television','banks','baby monitor','blue ray players','phone','travel insurance compared','sewing machines','home ventilation systems','washing powder','house insurance','ladders','internet','wet and forget','double glazing','mixer','range hoods','hrv ventilation system','dvs','bed mattress','clothes dryers','cell phones','consumer guarantees act','freeview recorder','credit cards','tv recommendations','kindle','kindle e reader','camcorders','leaf blower','hair straighteners','front loading washing machine','aqua lazer steam mop','ipad','vaccum cleaners','electricity','modem router','bank fees','refrigerators','water filters','broadband comparison','gas hobs','tents','batteries','booster car seats','electric frying pan','bbq gascraft','rice cooker','microwave convection ovens','ride on mowers','parmco','stick blender','steam iron','computers','internet providers','ventilation','health insurance comparison','printers laser printer','carpet cleaners','hot water cylinder','mowers','phone and broadband package','electric toothbrush','heaters','bread maker','gas hot water','electric shavers','wireless router','home theatre systems','carpet buying','rangehood tests','induction cooktop','waste disposal units','tivo','dvd players','power companies','ipad 2','router','laptops notebooks','mobile phones choosing a phone','gas fires','multifunction printers','coffee','treadmills','hrv','telephone and broadband plan','camera tests','waterblaster','speakers','laptop computers','isp providers','pellet fires','heatpumps','double glazing existing windows','solar hot water systems','pressure cooker','drill','rental cars','heart rate monitor','extractor fans','espresso machines','blood pressure monitors','dvd recorders','video camera','steam floor cleaners','fly spray','condenser dryer','pet food','firewood','cake mixer','tv with freeview','wireless modem router','light bulbs','modem','scooters','car tyres','dehumidifier test','e book readers','duvet','gym membership','bosch','antivirus software','vertical freezers','freeview set top boxes','kiwisaver','mobile phone plans','projector','netbook','hair dryers','car seats for babies','vacuum cleaners tests','rechargeable batteries','dog food','bathroom heaters','refund policy','contents insurance','navigation systems for cars','water filter systems','stoves','funerals','shower heads','bikes','carseats','treadmills review','iphone 4s','broadband providers','prams buggies','sewing machine test results','mp3 players','roofing','kitchen renovation','scanners','returning goods','hard drive','ceramic cooktops','coffee making machines','ipod','fireplaces','overlockers','barbeque tests','cots','electric jugs','chest freezers','gps navigation units','insulation products','solar water heating','binoculars','weed trimmers','carpet cleaning machines','underfloor insulation','ebooks','food mixers','external hard drive','kiwisaver comparisons','wine','dvd players recommended','bpa','cooktops','electric blankets','lighting','monitor','warranty rights','water heating','home insulation','log burners','hands free car kit','water blaster tests','cars','power','water heat pump','telephone','trampoline','amplifiers','noodles','hobs','cordless phones with answer phone','appliance life expectancy','digital photo frame','hdmi cable','carpet cleaning','blu ray players','smoke detectors','knives','internet speed test','cook tops','insect repellent','bbq\'s buying','trees','reliability survey','stereo systems','blower','buggy','digital camera review','gas','juicers test','shoes','telecommunications providers','moisturisers','baby car seats','cameras small','scales','debit card','wood fires','diesel cars','bread','mobile','credit card rewards','dvs ventilation system','refunds','av receivers','sunscreen 2010','coffee makers','wireless printers','wheel clamping','television buying guide','ice cream maker','powershop','safety gate','internet security software','booster seats','extended warranties','electricity prices','reasonable life','home heating','kitchen','milk','steam','gas prices','carpet steam cleaners','carpets synthetic and wool','ride on lawn mowers','iphone','hand held vacuum cleaners','knife sharpeners','snoring','trimmer','global roaming','samsung galaxy','paint','envirotect','front loader washing machines','income protection insurance','backpacks','ovens self cleaning','induction','mortgage rates','baby capsule','motor mowers','chilly bins','cordless drills','gps units','jugs','upright freezers','led tv','cereal','mens shavers','laundry powder','wills','hairdryers','fencing law','colour laser printer','are automatic insect sprays safe','warranty','garden tools','exercise bikes','travel','power tools','flooring','solar panels','nespresso','toothbrush','chainsaw','blower vac','teeth whitening','shower','top loader washing machine','freestanding ovens','recalls','broadband plans','insinkerator','virus protection software','offset mortgage','freeview satellite receiver','washing machine tests','air conditioners','coffe machines','toaster tests','hoover','weight loss','fencing','house and content insurance','lego','potting mix','gutter','sale of goods act','broadband router','real estate agents','hand held mixers','tyre tests','quotes and estimates','fire alarms','house alarms','laptop life expectancy','dslr','calculator','insulation installers','auctions','retirement villages','matress','phil and teds','hearing aid problems','privacy act','medical insurance','broadband speed','sunglasses','life expectancy','baby','medical alarms','plasma tv','sunblock','conveyancing','epilators','supermarket','phone handsets','gas heaters','weed eaters','generators','camera to buy','insect control','hot water systems','electric mowers','ipod speakers','bread maker models','water distillers','returns','benchtops','sewing','insurance premiums','dentist','handheld gps','car seats for toddlers','smart meters','lcd tv\'s','bathroom renovations','pillows','android phones','telstraclear','towing fees','small claims court','tomtom','pedometer','buggies strollers','lcd tv','vaccum','honda jazz','people movers','suv','mobile site','insurance brokers','power of attorney','pest','hair','tv test results','rest homes','canon printer','solar heating','cross trainer','subscription','copyright','ps3','fair trading act','computer speakers','scams','notebooks','e books','ariston','used cars','vacum cleaner test','domestic travel insurance','airlines','routers tests','shower mixers','camping','travel insurance to australia','carpet cleaning services','central heating','wet and dry vacuum cleaners','portable cots','jugs and kettles','e-reader','caravans','making a will','onesmart','pest treatment','mp3','baby buggies','frypan','insect sprays','home contents insurance','kitchen scales','navigation','fish oil capsules','telco','gps car navigation','tiles','wireless modem','compost','sun screen','cell phone test results','bosch dishwashers','dishwasher powder','insurance policies','push chairs','kitchen wizz','dslr camera','gps for cars','laptop buying guide','nappies','double ovens','electric blanket tests','solar electricity','combination microwave ovens','glasses','expresso coffee machines','cash passport','computer printers','econo-heat','sunscreen kids','isp and broadband plans','toothpaste','timeshare','pans','notebook computers','led','ventilation systems reports','trailers','fly control','satellite dish','bathroom extractor fans','cordless vacuum cleaners','vitamins','bose','3d glasses','gas stoves','juice extractor','gas water heaters','mitsubishi fridge freezer','air foam','toasted sandwich','laser eye surgery','straightener','detergent','pest control','blu ray','mountain buggy','data projectors','childrens bikes','hand mixers','telecommunications','cga','bank cheques','inkjet printers','kenwood cake mixers','bissell vacuum cleaners','cockroaches','reliability','shampoo','manuka honey','sandwich press','returns and refunds','hot water','aerial','hearing aid costs','readers','gift card expiry','electrolux front loader washing machine','non stick frypans','fuel cards','computer monitors','instant snacks','optical cable','mobility scooters','ipad2','cat food','hearing','vaccuum cleaners','dvs systems','wireless','gas water heating','hair removal','miele vacuum cleaners','swimming water quality','4wd','haier','second hand cars','sky tv','rowers','internet security','battery chargers','baby formula','tramping','lawn mowing services','yoghurt','fire extinguishers','hand mower','blood pressure','espresso coffee machines','fan','baby strollers','freeview tv','clothes driers','bluetooth','cellphone plans','convection microwave','printer running costs','stains','alarm systems','book readers','frying pan','asko','ipod docks','campervans','toilet','tv\'s','electric stoves','baby carriers','charity','desktop computers','grill','oven cleaner','kiwi saver','set top box','vaccuum','beer','mercury energy','apple ipad 2','gym','answer phones','panasonic vacuum','power consumption','induction hobs','car navigation','compost bins','underfloor heating','cordless','navman','worm farms','cleaners','trampoline tests','reversing camera','gym fees','video recorders','kgn53x70au','radio cd player','toast','photo printers','cfl','steamer','real estate commission','travel agents','compact cameras','car insurance comparison','child booster seats','free firewall','lpg','dehumidifier heater','ipod touch','samsung tv','rural phones','courier','security software','heated towel rail','netbook computers','bbq\'s','product recalls','prepaid funeral','best broadband provider','mattress slat bed','westinghouse','mazda mpv','blower vacuums','portable highchairs','gas califont','heated towel rail report','anti virus software','mortgage','heat transfer systems','index','battery drills','glucosamine chondroitin','bbq stainless steel','bluray','lounge suite','convection oven','heating cost comparison','delonghi oven','energy suppliers','tooth whitening','sd card','electric razor','electrolux ergorapido','induction cooking','coffee beans','answerphone','bed brands','dvd player recorder','home ventilation','airpoints','razors','garden power tools','e-book reader','printer ink','shave','laser hair removal','plumbers','camping tents','laundry detergent','savings accounts','deck','playstation 3','dual fuel','healthy snacks','sdoc','hair loss','nova energy','rinnai','layby sales act','leaf vacuum','oil heaters','buying a laptop','usb flash drive','ergorapido','telescope','multifunction laser printers','waterblaster tests','surge protector','cpap','milk prices','external harddrive','cookware','slr cameras','iphone4','dehumidifier running cost','slr digital camera','bagless vacuum cleaners','heat pump water heater','voice recorder','solar power','funeral insurance','cfl light bulbs','freeview receiver','nissan','landline','flights','buying a used car','voip','warranty period','roaming charges','wifi','towel rail timer','mattress protectors','bissell','burglar alarms','heatpump water heater','cooking pans','readers digest','flash drive','gas fireplaces','nilfisk','dyson','suzuki swift','phone plans','sewing machines reports','led bulbs','grinder','fujitsu','interest rates','plasma vs lcd','hire purchase','protein shakes','aa batteries','radio alarm clock','condensation','water heaters','webcam','alarm clock','dyson vacuum cleaners','running shoes','motorcycle insurance','dehydrator','home theatre','debt collection','digital','mould','cosmetics','earphones','tv buying guide','vet','car repairs','pvr recorders','hybrid','home phone broadband packages','simpson washing machine','wireless headphones','ami','software','harvey norman','heating','heating options','push mower','rest home checklist','gas cooktops','adsl','apple computers','prams and pushchairs','appliance reliability','dishwasher detergent','washing','home insurance','hrv systems','diets','fuel economy','umbrella','cot mattress','deep fryer','flea treatments for dogs','membership','eco panel','saw','lg dishwasher','nintendo','stick vac','trade me','strollers and capsules','fly spray dispensers','heat transfer kits','cell phone plans','lg washing machine','samsung fridge freezer','online auctions','mobile broadband','mitre saw','snoring treatments','galaxy','mp3 speakers','lpg prices','hot water heat pump','advanced meter','aqua steam mop','credit card fees','protein supplements','stain removal','insurance companies','miele','xbox','roaming','samsung','sleeping bags','portable heat pump','lg heat pump','web hosting','optometrist','pesticides','electric lawnmowers','holiday','car gps systems','food dehydrator','espresso','skylight','multi vitamins','magazine index','windows','circulon','helmets','health grill','home phones','fan heaters','led lights','olm','mini laptops','indesit','orcon','towing','awards','phone providers','free reports','toyota ipsum','mop','kayak','solar','printer scanner','tenancy agreement form','slr','bank term deposit rates','littl juey','driers','shower cubicles','neighbours trees','bank review','change tables','bicycles','lawn','food pyramid','omega 3 fish oil','pellet burners','electric frypans','mercury 3 year fixed','dvd','barbeques gas','car gps','i phone','kenwood','docking stations','fridge only','led tv\'s','bmw','leaky homes','bluetooth headset','baby jogger','budget','upright vacuum cleaners','unfair contract','rideon mowers','sheets','building','beard trimmers','steam ovens','instant noodles','cd players','waste disposal','portable hard drive','volvo','toyota corolla','garden','shark','top loader','water quality','slingshot','electrolux vacuum cleaners','gym contracts','toys','brand reliability','toll calls','floor steam mop','ozito','wall mounted','term deposit rates','backup software','import tax','child car seats','fujifilm','pyroclassic iv','masport','vehicle insurance','spray and wipe','induction cook top','contracts','debt','cooling','hd video camera','noise cancelling earphones','trademe','relationship break-ups','smoke','mincer','multivitamins','towel rail','credit card travel insurance','delivery of goods','hp 2050','motorola defy','blu-ray recorders','e-books','internet plans','tea','investment','gas suppliers','evantair','trade rates','ice cream','underfloor','filter','downlights','electricians','renting','fujifilm finepix','micro stereo systems','nilfisk meteor','roof insulation','pvr','oven hobs','power usage meter','washing machine powder','anti-virus software','digital video recorders','fitness','sky','costs of global roaming','mobile data','food processor blender','aa rechargeable batteries','recorder','customer satisfaction','kenwood mixer','fleas','skincare','moving companies','consumer guarantees','capsules','shape up shoes','breakfast cereals','lawnmaster','personal loans','memory foam','nissan x-trail','computer repairs','canon 550d','garden vac','labour rates','root canal','adaptor plug','app','contractual remedies act','pre-paid power','power company comparison','telemarketing','air','farmside','internet phone packages','navigation systems','infant capsules','simpson dishwasher','samsung es80','nilfisk coupe parquet','kambrook','gutter guard','online dating','egg beater','suitcases','internet phone','fast slow cooker','green','metro mega smart','hand-held food mixers','leaf','attorney','car radio','alkaline batteries','new import transaction fee','consumer mobile site','mobile providers','maxima','android app','compare broadband','liquidation','issue 520','finish','dough mixers','evantair dehumidifier','brother dcp','90cm ovens','eco store products','gorilla','business bank account','elliptical trainers','tea bags','internal vacuum','personal information','separation','scanpan pressure cooker','camera tripods','what happens if you are overcharged for goods','phone sales','television 32','quiz','eftpos','mobile phone providers','gold','moving house','lcd','colour printers','haier freezer','house inspection','milano','haier fridge freezer','motor homes','panasonic heat pump','whirlpool','heat pump brands','45kg lpg','food processer','paypal','booster','appliance retailers','laundry liquid','paint stripper','digital tv','sparkling wine','stihl','best isp','sharpener','central vacuum cleaners','vacuum clean','stove tops','hp','car batteries','lens','telephone companies','power gas','cycle','sensor lights','second hand goods','breathalyser','automatic coffee machines','baby sling','washing machines and dryers','antivirus','bench ovens','tv aerials','gasmate','internet and home phone providers','miele oven','oven range','gluten free bread','septic tanks','heat pump size calculator','aqua lazer mop','electric knife sharpeners','air compressor','advertised price','selling home','eye surgery','mazda 6','taps','epson printer','screwdriver','cordless screwdriver','pools','dish washer','smeg ovens','electrolux washing machine','steelcraft','trees on boundary','retail service','nightstore heaters','delonghi vacuum cleaner','spyware','appliance repairs','copiers','property lawyers','canon powershot g12','hand beater','solar lights','hair colour','customer rights','baggage','cold water washes','beauty products','power comparison','ipod battery life','mac','fixed price electricity','electrolux dishwasher','star rating','ducted central heating','apple macbook','camera repairs','index funds','sliding compound saws','southern star','lay-by sales act','vacuum seal','flaxseed','panel','credit contracts and consumer finance act 2003','best lcd tv','hiace','king bed','cars people movers','mould killer','fish oil','sim card','xbox 360','convection heater','leather furniture','weedeater cordless','belt sander','e','probate','hand held gps','beaches','radiators','rat poison','steam mop report','telecommunications price comparison','sunscreen lotion','concrete cleaners','icecream makers','safety glasses','bassinet','secateurs','digital slr','skype','nilfisk vacuum','boats','android tablet','emergency','best kiwi saver','lifespan electronics','tv recorders','wetback','mould removal','auction sales','jobs','renew subscription','stereo','vhf','laundry','repossession','hand blender','combination ovens','building inspection','mobile phone complaints','garage doors','air new zealand onesmart','health supplements','best mattress brands','goldair','apple','garage door openers','mysky','mortgage brokers','smeg','print','investit','retailers rights','best before','ute','roof box','margarine','sweeteners','virus','auto renew','volta','out of warranty','weber bbq','daikin','hair trimmers','4 slice toaster','belling','kdl40ex520','nonstick cookware','kathmandu','acer laptop','moving','joinery','range rover','air points','nanotechnology','asus laptop','genesisenergy','fishing gear','food budget','car seats for children','automatic insect','hp printer','hard','long life milk','kathmandu retreat 270','calling cards','update details','telecom phones','msg','piranha','soda','shavers razors','laptop bags','bank satisfaction','pay for a quote','leather','lawyers','japanese car imports','low pressure shower heads','tires','telme','cordless kettles','nitrogen in tyres','glucosamine','apple iphone 4s','damp','renovation','nilfisk vacuum cleaners','moss','handheld vacuum','foreign currency','apple tv','under bench ovens','free view','phone line providers','electrolux','rain water','internet overseas','kids banking','builders','kiwisaver performance','portable air conditioners','internet packages','cleaning','solar hot water','clothes lines','gas heating','diet pills','kitchen knives','faulty goods refund or replace','portable dvd players','broadband cost','victa','gas cook tops','televisions plasma and lcd','butter','landline phone','extractor','guarantees','yoghurt maker','edge trimmers','outdoor cleaners','change password','grass','line','non stick frying pans','digital video cameras','car insurance ratings','gift vouchers','new cars','westinghouse ovens','pigeon pair','blinds','white wine','evenflo','movie camera','rights','puppy food','floor coverings','ceramic tops','sleepyhead beds','malware','hdtv','consumer act','floor heat pumps','full hd tv','choosing a heater','plasma led','tower insurance','childrens banking','internet comparison','cordless line trimmers','apple i pad','a3 scanner','compare banks','mighty river power','how long should a secondhand car warranty be','mobile telephones','vinyl planks','body corporate','spare parts','tech','air pumps','deposit interest','fax printer','double pushchair','cheapest broadband','electronic book reader','ceramic heaters','packs','upholstery cleaner','central vacuum','clothing','digital recorders','ipod nano','all in one printers','electric oven','audiology','ghd','contact energy','mosquito','led downlights','kitchen mixer','blu ray recorders','lg microwave','roof racks','king size bed','dell laptop','electric kettles','home loans','exterior house cladding','electricity providers best','putting it right','wall insulation','baby gates','sound bar','small tv','ironing boards','flymo','aluminium windows','kitchen benchtops','consumer magazine','bank accounts','gas central heating','furniture removal companies','carpet sweepers','brother sewing machines','garage','dish drawer','carpet guarantees','invoicing scams','freeview satellite','car loans','gluten free','dyson dc29','stain removal guide','a3 printers','stick','telecom','tyre pressure gauges','visa debit cards','sweeper','215 60r16','icecream','dualit','ducting','latest issue','perfume','water pumps','fisher paykel','cuisinart','motorcycle','handsfree kits','kitchen design','frother','house cladding','fast slow','internet shopping','diet drinks','television sets','dvd hdd','noise cancelling earbuds','aqua laser mop','audio cables','nokia 6120','lifetime','global knives','internal vacuum systems','partners life','contact lens','cellphone radiation','cattery','marine radio','exchange policy','ft10','aon','dog insurance','power board','telstra clear','quick slim','revolving','repayment calculator','subaru','funeral plan','water filter jugs','energy drinks','juice machines','house checklist','side by side fridge freezers','mechanical breakdown insurance','upholstery steam cleaner','holden captiva','lawn mowing','parallel import','septic','pet food costs','bike seat','trusts','petrol blower vacs','3g mobile phones','latest reports','packaging','mortgage calculator','telephone handsets','car warranty','noise','sony ereader','bank rates','uniden','sue chetwin','elliptical','honda stream','outdoor lighting','tramping food','loans','sony tv','satellite navigation','duvet inners','books','ryobi','security lights','online storage','online','jetmaxx','outdoor speakers','lim report','bosch fridge freezer','mitsubishi','rheem','bulbs','panasonic','electrolux ovens','ceramic','front pack','allergy','mx870','vac cleaners','carbon','hp 6500a','heat pump noise','baby car','telco companies','sources of moisture','canon mp280','power shop nz','metro','how can you put things right','reading food labels','mitsubishi heatpump','heated clothes rack','computer desk','what does the consumer guarantees act not cover','electric tools','delivery time','belinda allen','what goods and services does the act cover','borrowers rights','car kit','sale of goods act 1908','caravan insurance','compression','cutlery','polyester','efficiency ratings','building materials','msz-fb50va','oven thermometers','home security alarms','food steamers','flea treatment','chair','gas or electric heating','bath','32 inch tv','decking materials','mechanical insurance','r value','home security','rdi','best credit card','steam vacuum cleaners','aluminium doors','loaded for travel','server','buying property','milk frother','swimming pools','kitchen ovens','sale price','portacot','mortgage insurance','lg','hot water heaters','samsung camera','oil column heaters','amazon kindle','best bank','personal alarms','car auctions','business','panasonic washing machine','eggs','torch','public trust','group buying','grab one','turbo oven','food safety quiz','portable barbecues','fax','russell hobbs kettle','distiller','under floor insulation','warrant of fitness','act','copyright law','nylon carpet','panini','crock pot','premium membership','contracting out','computer screens','computer router','flaxseed oil','carpet shampoo','selling your home','car cleaning','km300','heat pump prices','credit contract consumer finance act','uniden phones','telme org.nz','sound level meter','ducted systems','continuous flow water heating','cupboard heater','waste dispos','holiday money','dvd-r','minor dwelling','fuel costs','second hand appliances','credit contracts consumer finance act 2003','pasta maker','faulty goods','flexirent','for businesses','bathroom','scanpan','circular saw','internet filter','unfair contract terms','rdi calculator','car hire','sanders','gas cylinders','hdd','fridge reliability','power drill','air new zealand','formula','sony camera','heart rate','photo scanners','cladding','hose','dell','noise cancel','chopping boards','bra','ducted heat pump','lumix','postage','handsfree car kit','cable tv','sh100','triton','email hosting','selling a car','mechanical warranties','jolly jumper','euromaid','nz post','window frames','faulty tv','breakdown','transonic','personal locator beacon','waterproof jackets','muscle','speaker phones','petrol blowers','revolving credit','inspection','motor scooters','515','binding quotes','pills','excess','nokia c5 03','network printer','lcd tv vs plasma','builders inspection','delonghi toaster','pellet','car clamping','large fridge freezers','house painters','heated towel timer','microsoft office','hydronic heating','house selling','game consoles','furniture','latest interest rates','online backup','finance','phone and internet providers','dvd regions','curtains','christmas clubs','photo editing software','mascara','steam mop cleaners','buying a house','garden hose','lease','ghd hair straighteners','cosmetic surgery','honda odyssey','flies','neighbours','sony ericsson','rice','mfc printers','honda civic','tv reliability','nits','canon','running costs','speed','getting a refund','photo printing','waste','electrolux induction','smart cards','flat screen','ecopia','bonus bonds','weber','reusable nappies','blog','sunbeam iron','honey','photocopiers','reverse mortgages','credit vouchers','my freeview','ipod classic','items on sale','dynamo radio','carriage of goods','food labels','online shopping','car vacuum','pots and pans','pre paid funerals','uniden gps','single wall ovens','baked beans','appliance life','artificial sweeteners','beans','non stick pan','switch','kobo reader','hosting','how to switch','cat doors','self cleaning wall ovens','windmill','sensitive laundry powder','multifunction ladders','balanced pressure system','cafe crema','oil column','firenzo','home maintenance','pet ins','human rights','metro eco smart','code of compliance','pool cleaners','uniden 9035','blow vac','oil','wormfarms','asthma','wireless mouse','wasps','how long should mobile phone last','lg tv','pasta','dvd hard drive recorder','consumer rights quiz','bed matress','spray','stores online','nobo heaters','subaru forester','complaints','lpg gas','cfl bulbs','signing a contract','patio heaters','drycleaning','mobile phone contracts','tramping boots','panasonic tv','olive','2 degrees','handsfree','toyo','hypercore','acer','i pod docks','dogs','electricity suppliers','free antivirus','weight','sofa','jamie oliver','electric heaters','inverter','mothers choice','car registration','dish tv','mini stereos','fly buys','yunca','compact digital cameras','handheld blenders','hepa','bathroom light','integrated dishwasher','gas installation','uhf aerials','asus','red wine stain','mitsubishi triton','nokia e7','inverter microwave','internet travel','night store heaters','natural remedies','i pod speakers','htc explorer','heat distribution','ventilation-systems','david naulls','libby manley','mp4 players','electric bikes','roof coatings','bathroom heat lights','tax refund','arthritis','dog biscuits','chrisco','broil king','energy ratings','computer security suites','doors','hot water heating','car reliability','kitchen pots','car audio','bunk beds','kids bank accounts','broadband test','steam vacuum','haier dishwasher','bbq stainless','moisture master','student insurance','sony bravia','asko washing machine','outdoor furniture','travel money','power prices','estimates','power meter','3g','cancelled flights','muesli bars','multifunction','what size heat pump','false advertising','power supply','termination of tenancy','bissel carpet cleaners','olympus camera','cooking pots','honda accord','christmas hampers','canon mp250 printer','chargeback','asb','money transfer','home insurance premium','rat traps','bissell cleaners','appliance last','autoview','bosch wall ovens','car and home contents','building noise','rent or buy','drawers','sewing machine test','pricespy','rebates','night','consumer credit act','interest charges','removal companies','small cars','sunbeds','speaker wire','macbook pro','faq','electricity providers','laptop battery','boiler','laser','graco','philips vacuum','aa servicing','tripod','playstation','canon cameras','canon pixma','portable heaters','motor vehicles','repairs','canon ixus','angle grinder','parental control','mulching mower','change of mind','floor steamers','diesel','phone and answering machine','mouse','eco panel heaters','joint treatment','frontloader','window joinery','boots','wireless network','mobile call plan','consumer build','software licence','cs cu-e18lkr','rubbish','orbital sander','rent a house','spreads','best cars','dentists fees','battery mowers','gas cooking','reward schemes','editor','browsers','estate','condoms','purpose','how long should a fridge freezer last','zip vacuum','panasonic dvd recorder','cheap mobile phones','installation','i book','cancel gym membership','replace ink cartridges','little genie','ceo','heller','tell me','polyester insulation','changing power companies','cold','travel packs','selling your house','power bond','online banking');
/* $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);
    }
