var setup=[];
setup.cssfile="http://www.mattcardy.co.uk/showroom/client/orange.css";
setup.pagesizes=[5,10,25,50,0];
setup.site="lhdhonda";
setup.locale="GBP";
setup.searchURL="http://www.mattcardy.co.uk/showroom/carlistsearch.php?site=lhdhonda&search=";
setup.viewURL="http://www.mattcardy.co.uk/showroom/viewupdate.php?site=lhdhonda&amp;id=";
setup.emailURL="http://www.mattcardy.co.uk/showroom/emailsales.php?site=lhdhonda&id=";
setup.thumburl="http://www.mattcardy.co.uk/showroom/data/lhdhonda/thumbs/";
setup.picurl="http://www.mattcardy.co.uk/showroom/data/lhdhonda/pics/";
setup.picsize=600;
setup.licprod=true;
setup.showform=true;
setup.adverton=true;
setup.orderbyon=true;
setup.advert="powered by Corrupted Design";
setup.advertURL="http://www.corrupteddesign.com/";

var vehiclelist;
function DefineVehicles() {
	vehiclelist=[];
	vehiclelist[0]=new Vehicle(36, false, 2006, "Honda Legend 3.5 V6 Hatchback", 9324, "Metallic Graphite", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Alarm & Immobiliser, Leather Seats, DVD Navigation System, Bluetooth, Parking Sensors, Rain Sensors, Sunroof, Warranty, Xenon Headlights, Auto Air Conditioning, Electrical Adjust Outside Mirrors, Airbags, Radio/CD, CD Change-Over, BOSE Sound System, MP3, Centre Armrest, Multi-Function Leather Steering Wheel|- Features|* Excellent Value For Money!", 35597, []);
	vehiclelist[1]=new Vehicle(35, false, 2006, "Honda Legend 3.5 V6 Hatchback", 7500, "Metallic Lakeshore Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Alarm & Immobiliser, Leather Seats, DVD Navigation System, Bluetooth, Rain Sensors, Sunroof, Warranty, Xenon Headlights, Auto Air Conditioning, Electrical Adjust Outside Mirrors, Airbags, Radio/CD, CD Change-Over, BOSE Sound System, MP3, Centre Armrest, Multi-Function Leather Steering Wheel|- Features|* Excellent Value For Money!", 30997, []);
	vehiclelist[2]=new Vehicle(34, false, 2006, "Honda Legend 3.5 V6 Hatchback", 29000, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Alarm & Immobiliser, Leather Seats, DVD Navigation System, Sunroof, Warranty, Xenon Headlights, Auto Air Conditioning, Electrical Adjust Outside Mirrors, Airbags, Radio/CD, CD Change-Over, BOSE Sound System, MP3, Centre Armrest, Multi-Function Leather Steering Wheel|- Features|* Excellent Value For Money!", 29247, []);
	vehiclelist[3]=new Vehicle(33, false, 2006, "Honda Legend 3.5 V6 Hatchback", 13000, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Alarm & Immobiliser, Leather Seats, DVD Navigation System, Bluetooth, Parking Sensors, Sunroof, Warranty, Xenon Headlights, Auto Air Conditioning, Electrical Sliding/Lifting Glass Roof, Rain Sensor, On-Board Computer, Electrical Adjust Outside Mirrors, Airbags, Radio/CD, CD Change-Over, BOSE Sound System, MP3, Centre Armrest, Multi-Function Leather Steering Wheel|- Features|* Excellent Value For Money!", 26347, []);
	vehiclelist[4]=new Vehicle(25, false, 2006, "Honda Element 4WD 4x4", 16500, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, Four Wheel Drive, CD/Radio, Driver/Passenger Armrests, Air Conditioning, Sunroof, Warranty|- Features|* Excellent Value For Money!", 26147, []);
	vehiclelist[5]=new Vehicle(38, false, 2006, "Honda S2000 Roadster", 12900, "Metallic Grey", "manual", "- Description|ABS, ESP, Alloy Wheels, Central Locking, Traction Control, Electric Windows, Leather Interior, Air Conditioning, Airbags, Leather Steering Wheel, Radio/CD,  Xenon Headlights, Alarm & Immobiliser, Warranty|- Features|* Excellent Value For Money!", 24347, []);
	vehiclelist[6]=new Vehicle(37, false, 2007, "Honda S2000 Roadster", 16500, "Metallic Grey", "manual", "- Description|ABS, ESP, Alloy Wheels, Central Locking, Electric Windows, Leather Interior, Air Conditioning, Airbags, Leather Steering Wheel, Radio/CD, Centre Armrest, Xenon Headlights, Immobiliser, Warranty|- Features|* Excellent Value For Money!", 22647, []);
	vehiclelist[7]=new Vehicle(19, false, 2007, "Honda CR-V 2.2 CTDI Elegance 4x4", 8860, "Metallic Black", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Four Wheel Drive,  Immobiliser, Power Steering, Auto Air Conditioning, Multi-Function Leather Steering Wheel, Central Armrest, Radio, CD Player, On-Board Computer, Airbags, Fog Headlight, Electrical External Mirrors, Rain Sensor|- Features|* Excellent Value For Money!", 21747, []);
	vehiclelist[8]=new Vehicle(20, false, 2008, "Honda CR-V 2.2i CTDI Elegance 4x4", 7000, "Metallic Silver", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Four Wheel Drive,  Immobiliser, Power Steering, Warranty, Auto Air Conditioning, Multi-Function Leather Steering Wheel, Central Armrest, Radio, CD Player, On-Board Computer, Airbags, Fog Headlight, Electrical External Mirrors, Rain Sensor|- Features|* Excellent Value For Money!", 21597, []);
	vehiclelist[9]=new Vehicle(39, false, 2006, "Honda S2000 Twin-Top Roadster", 20670, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, Leather Interior, Air Conditioning, Airbags, Alarm, Electric Adjust Outside Mirrors, Leather Steering Wheel, Radio/CD, Centre Armrest|- Features|* Excellent Value For Money!", 21147, []);
	vehiclelist[10]=new Vehicle(21, false, 2007, "Honda CR-V 2.2i CTDI Executive 4x4", 26900, "Metallic Black", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobiliser, Leather Seats, Parking Sensors, Particulate Filter, Sunroof, Xenon Headlights, Auto Air Conditioning, Multi-Function Leather Steering Wheel, Central Armrest, Radio, CD Player, CD Changer, On-Board Computer|- Features|* Excellent Value For Money!", 21097, []);
	vehiclelist[11]=new Vehicle(28, false, 2007, "Honda FR-V 2.2 CTDI Executive Mini MPV", 9700, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Alarm & Immobiliser, Auto Air Conditioning, Rain Sensor, Radio/CD, CD Change-Over, Premium Sound System, Electrical Adjust/Heat Outside Mirrors,  Xenon Headlights, Sunroof, On-Board Computer, Silver Roof Railing|- Features|* Excellent Value For Money!", 20497, []);
	vehiclelist[12]=new Vehicle(18, false, 2006, "Honda CR-V 2.2 CTDI 4x4", 10200, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Four Wheel Drive, Immobiliser, Airbags, Electric Adjust/Heat Outside Mirrors, Radio/CD, Multi-Function Leather Steering Wheel, Power Steering, On-Board Computer, Auto Air Conditioning|- Features|* Excellent Value For Money!", 18747, []);
	vehiclelist[13]=new Vehicle(24, false, 2006, "Honda CR-V Executive 2.2 CDTI 4x4", 19500, "Metallic Silver", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Immobiliser, Leather Seats, Particulate Filter, Sunroof, Auto Air Conditioning, Multi-Function Leather Steering Wheel, Central Armrest, Electrical External Mirrors, Radio, CD Player, Fog Headlights, On-Board Computer, Power Steering, Airbags|- Features|* Excellent Value For Money!", 18447, []);
	vehiclelist[14]=new Vehicle(22, false, 2006, "Honda CR-V CTDI ES 4x4", 23455, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, Four Wheel Drive, Immobiliser, Airbags, Radio/CD, Electric Adjust/Heat Outside Mirrors, Centre Armrest, Multi-Function Leather Steering Wheel, Power Steering, Auto Air Conditioning|- Features|* Excellent Value For Money!", 17847, []);
	vehiclelist[15]=new Vehicle(8, false, 2007, "Honda Civic 2.2i CTDI Comfort Hatchback", 21200, "Metallic Silver", "manual", "- Description|Diesel, ABS, Central Locking, Electric Windows, ESP, Full Service History, Immobiliser, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Stereo|- Features|* Excellent Value For Money!", 16697, []);
	vehiclelist[16]=new Vehicle(23, false, 2006, "Honda CR-V ES 4x4", 20025, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, Radio/CD, Airbags, Multi-Function Leather Steering Wheel, Auto Air Conditioning, ESP, Four Wheel Drive, Immobiliser, Warranty|- Features|* Excellent Value For Money!", 16547, []);
	vehiclelist[17]=new Vehicle(27, false, 2006, "Honda FR-V 2.2 CTDI Comfort Mini MPV", 13000, "Metallic Grey", "manual", "- Description|ABS, Central Locking, Cruise Control, Electric Windows, ESP, Alarm & Immobiliser, Particulate Filter, Airbags, On-Board Computer, Electrical Adjust/Heat Outside Mirrors, Radio/CD, CD Change-Over, Premium Sound System, Auto Air Conditioning, Multi-Function Leather Steering Wheel, Roof Railing|- Features|* Excellent Value For Money!", 16547, []);
	vehiclelist[18]=new Vehicle(15, false, 2007, "Honda Civic G3 Type S 1.8 Hatchback", 10342, "Metallic Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, ESP, Xenon Headlights, Electric Adjust/Heat Outside Mirrors, Rain Sensor, Multi-Function Leather Steering Wheel, Centre Armrest, Airbags, Radio/CD, Alarm, Auto Air Conditioning|- Features|* Excellent Value For Money!", 16497, []);
	vehiclelist[19]=new Vehicle(10, false, 2007, "Honda Civic 2.2i CTDI Sport Hatchback", 17700, "Metallic Blue", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Immobiliser, Navigation System, Xenon Headlights, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Electrical Outside Mirrors, Radio, CD Player, Alarm, ASR, Airbags, On-Board Computer, Fog Headlight, Rain Sensor, Sports Pedals|- Features|* Excellent Value For Money!", 16447, []);
	vehiclelist[20]=new Vehicle(9, false, 2007, "Honda Civic 2.2i CTDI Sport Hatchback", 11764, "Metallic Silver", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Electric Windows, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Electrical Outside Mirrors, Radio, CD Player, MP3, Airbags, Fog Headlight|- Features|* Excellent Value For Money!", 16397, []);
	vehiclelist[21]=new Vehicle(14, false, 2008, "Honda Civic 2.2i CTDI Type S Hatchback", 15500, "Metallic Black", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Full Service History, Immobiliser, Particulate Filter, Warranty, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Electrical Outside Mirrors, Radio, CD Player, MP3, Airbags, Fog Headlight, Rain Sensor, Sports Seats|- Features|* Excellent Value For Money!", 16097, []);
	vehiclelist[22]=new Vehicle(13, false, 2007, "Honda Civic 2.2i CTDI Type S Hatchback", 13950, "Metallic Royal Blue", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Full Service History, Immobiliser, Particulate Filter, Warranty, Xenon Headlights, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Electrical Outside Mirrors, Radio, CD Player, MP3, On-Board Computer, Fog Headlight, Rain Sensor, Alarm, Sports Pedals|- Features|* Excellent Value For Money!", 15947, []);
	vehiclelist[23]=new Vehicle(26, false, 2007, "Honda FR-V 2.2 CTDI Comfort Mini MPV", 20000, "Metallic Silver", "manual", "- Description|ABS, Central Locking, Cruise Control, Electric Windows, ESP, Full Service History, Alarm & Immobiliser, Particulate Filter, Airbags, Electric Outside Mirrors, On-Board Computer, Multi-Function Steering Wheel, Armrests, Radio/CD, Auto Air Conditioning, Warranty|- Features|* Excellent Value For Money!", 15847, []);
	vehiclelist[24]=new Vehicle(2, false, 2006, "Honda Accord 2.4 Type S Saloon", 26600, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Full Service History, Immobilizer, Leather Seats, Xenon Headlights, Radio/CD, Airbags, Centre Armrest, Multi-Function Leather Steering Wheel, Auto Air Conditioning|- Features|* Excellent Value For Money!", 15847, []);
	vehiclelist[25]=new Vehicle(4, false, 2007, "Honda Civic 1.3 Hybrid Saloon", 26300, "Metallic Blue", "manual", "- Description|Petrol, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Leather Seats, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Radio, CD Player, Electrical Outside Mirrors, Power Steering|- Features|* Excellent Value For Money!", 15697, []);
	vehiclelist[26]=new Vehicle(12, false, 2007, "Honda Civic 2.2i CTDI Sport Hatchback", 9700, "Metallic Blue", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Immobiliser, Particulate Filter, Warranty, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Alarm, Electrical Outside Mirrors, Radio, CD Player, MP3, Rain Sensor, Power Steering, Sports Pedals|- Features|* Excellent Value For Money!", 15697, []);
	vehiclelist[27]=new Vehicle(16, false, 2007, "Honda Civic Hybrid 1.3 Elegance Saloon", 9000, "Metallic Red", "manual", "- Description|Petrol, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Immobiliser, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Radio, CD Player, CD Changer, Electrical Outside Mirrors, Fog Headlight, Alarm, On-Board Computer, Power Steering|- Features|* Excellent Value For Money!", 15697, []);
	vehiclelist[28]=new Vehicle(6, false, 2007, "Honda Civic 1.8 Sport Hatchback", 15000, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows,  Centre Armrest, Multi-Function Leather Steering Wheel, Airbags, Outside Mirror Heatable, Power Steering, On-Board Computer, Travel Computer, Auto Air Conditioning, Alarm & Immobiliser, Warranty|- Features|* Excellent Value For Money!", 15197, []);
	vehiclelist[29]=new Vehicle(11, false, 2007, "Honda Civic 2.2i CTDI Sport Hatchback", 17450, "Metallic Black", "manual", "- Description|Diesel, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Immobiliser, Particulate Filter, Warranty, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Alarm, Fog Headlight, Electrical Outside Mirrors, Stereo, Rain Sensor, Power Steering|- Features|* Excellent Value For Money!", 15097, []);
	vehiclelist[30]=new Vehicle(3, false, 2007, "Honda Civic 1.3 Hybrid Saloon", 29100, "Metallic Red", "manual", "- Description|Petrol, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Immobiliser, Power Steering, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Radio, CD Player, Electrical Outside Mirrors|- Features|* Excellent Value For Money!", 15047, []);
	vehiclelist[31]=new Vehicle(7, false, 2007, "Honda Civic 1.8 Type S Hatchback", 8350, "Metallic Blue", "manual", "- Description|Petrol, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, ESP, Immobiliser, Power Steering, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Stereo, Rain Sensor, Electrical Outside Mirrors, Fog Headlight, Alarm|- Features|* Excellent Value For Money!", 15047, []);
	vehiclelist[32]=new Vehicle(1, false, 2006, "Honda Accord 2.0 Sport Saloon", 23300, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Cruise Control, Electric Windows, ESP, Immobilizer, Leather Sports Seats, ESP, On-Board Computer, Radio/CD, Power Steering, Airbags, Electric Adjust/Heat Outside Mirrors, Rain Sensor, Centre Armrest, Multi-Function Leather Steering Wheel|- Features|* Excellent Value For Money!", 14797, []);
	vehiclelist[33]=new Vehicle(5, false, 2007, "Honda Civic 1.8 Sport Hatchback", 15000, "Metallic Silver", "manual", "- Description|Petrol, ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Seats, Electric Windows, Immobiliser, Power Steering, Warranty, Auto Air Conditioning, Central Armrest, Multi-Function Leather Steering Wheel, Airbags, Stereo, Alarm, On-Board Computer, Fog Headlight|- Features|* Excellent Value For Money!", 14447, []);
	vehiclelist[34]=new Vehicle(17, false, 2007, "Honda Civic Type S Hatchback", 22000, "Metallic Night Hawk Black", "manual", "- Description|Warranty, ABS, ESP, Auto Air Con, Alloys, Onboard Computer, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, 8x Airbags, Radio/CD/MP3, Immobiliser and Alarm System, Side Impact Protection, 6 Gang Transmission|- Features|* Excellent Value For Money!", 14047, []);
	vehiclelist[35]=new Vehicle(30, false, 2007, "Honda Jazz 1.4 LS Mini MPV", 9000, "Metallic Yellow", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, On-Board Computer, Radio/CD, Multi-Function Leather Steering Wheel, Airbags, Power Steering, Auto Air Conditioning, Full Service History, Immobiliser, Warranty|- Features|* Excellent Value For Money!", 12447, []);
	vehiclelist[36]=new Vehicle(31, false, 2007, "Honda Jazz 1.4 Style Mini MPV", 10000, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, Electrical Adjust/Heat Outside Mirrors, On-Board Computer, Radio/CD, Multi-Function Leather Steering Wheel, Auto Air Conditioning, Full Service History, Immobiliser, Warranty|- Features|* Excellent Value For Money!", 11797, []);
	vehiclelist[37]=new Vehicle(29, false, 2007, "Honda Jazz 1.4 LS Mini MPV", 17200, "Metallic Coral", "manual", "- Description|ABS, Central Locking, Electric Windows, Immobiliser, Electrical Adjust/Heat Outside Mirrors, Multi-Function Leather Steering Wheel, Radio/CD, Airbags, Power Steering, Auto Air Conditioning, Warranty|- Features|* Excellent Value For Money!", 11097, []);
	vehiclelist[38]=new Vehicle(32, false, 2007, "Honda Jazz Cool Hatchback", 9500, "Metallic Silver", "manual", "- Description|ABS, Central Locking, Electric Windows, Immobiliser, Airbags, Radio/CD, Air Conditioning|- Features|* Excellent Value For Money!", 10397, []);
}
setup.searchon=true;



// Client JavaScript, (C)AutoDirector
var run=[];setup.comlimit=1000;setup.timeout=10000;setup.thisURL=location.protocol+"//"+location.host+(location.port!='' ? ":"+location.port:"")+location.pathname;setup.activesearch=false;setup.JSsearch=null;setup.activesend=false;setup.JSsend=null;setup.senderror='';setup.salesemail='';setup.divs=['licence','search','jumptop','list','jumpend','backtop','vehicle','enqresult','enquiry','backend','sponsor'];
if(setup.orderbyon||setup.searchon){setup.Tsearch='<form id="adsearch" action="'+setup.thisURL+'" method="get"><fieldset><legend>search</legend>'
setup.Tsearch+='<div class="order"><label for="adorderby" title="change the vehicle order">order by:</label><select id="adorderby" name="adorderby"></select></div>';
if(setup.searchon) setup.Tsearch+='<div class="search"><label for="adsearchterm" title="search for a vehicle">search:</label><input id="adsearchterm" name="adsearchterm" type="text" size="20" maxlength="50" /><input type="submit" value="go" class="button" /></div>';
setup.Tsearch+='</fieldset></form>';}
else setup.Tsearch='';
setup.Tlist='<a id="ad_id[id]" href="#" title="click for more details...">[pic]<dl><dt class="model">model:</dt><dd class="model">[newcar] [year] [model]</dd><dt class="colour">'+(setup.locale=='USD' ? 'color':'colour')+':</dt><dd class="colour">[colour]</dd><dt class="gearbox">'+(setup.locale=='USD' ? 'transmission':'gearbox')+':</dt><dd class="gearbox">[gearbox]</dd><dt class="mileage">mileage:</dt><dd class="mileage">[mileage]</dd></dl><div class="price">[price]</div></a>';
setup.Tlistnone='<p>No vehicles are available at this time. Please return later.</p>';
setup.Tdetail='[pics]<dl><dt class="model">model:</dt><dd class="model">[newcar] [year] [model]</dd><dt class="colour">'+(setup.locale=='USD' ? 'color':'colour')+':</dt><dd class="colour">[colour]</dd><dt class="gearbox">'+(setup.locale=='USD' ? 'transmission':'gearbox')+':</dt><dd class="gearbox">[gearbox]</dd><dt class="mileage">mileage:</dt><dd class="mileage">[mileage]</dd><dt class="details">details:</dt><dd class="details">[info]</dd></dl><div class="price">[price]</div><img src="'+setup.viewURL+'[id]" class="count" />';
setup.Tdetailnone='The vehicle you requested is not available. Please return to the showroom.';
setup.Tenquiry='<form id="adenquiry" action="'+setup.thisURL+'" method="get"><fieldset><legend>contact us about this vehicle</legend><div><label for="adname" title="enter your name">name:</label><input id="adname" name="adname" type="text" size="20" maxlength="50" /></div><div><label for="ademail" title="enter your email address">email:</label><input id="ademail" name="ademail" type="text" size="20" maxlength="100" /></div><div><label for="adtel" title="enter your telephone number">telephone:</label><input id="adtel" name="adtel" type="text" size="20" maxlength="20" /></div><div><label for="adcomments" title="enter any questions or comments">questions:</label><textarea id="adcomments" name="adcomments" rows="4" cols="20"></textarea></div><div><input type="submit" value="send enquiry" class="button" /></div></fieldset></form>';
setup.Tback='<a href="#">&lt; back to the showroom</a>';
setup.Tsponsor="";
if(setup.adverton!=""){setup.Tsponsor+=setup.advert;
if(setup.advertURL !="") setup.Tsponsor='<a href="'+setup.advertURL+'">'+setup.Tsponsor+'</a>';}
setup.Tunlic='This showroom is powered by an unlicenced trial copy of AutoDirector. You may evaluate the AutoDirector system for 30 days. To remove this message, please visit <a href="http://www.autodirector.co.uk/">http://www.autodirector.co.uk/</a> and purchase a licence key.';
var sortTypes=[];var st=0;
sortTypes[st++]={name: "price, highest first", sort: function(a, b){return SortCars(a.price, b.price, -1);}}
sortTypes[st++]={name: "price, lowest first", sort: function(a, b){return SortCars(a.price, b.price, 1);}}
sortTypes[st++]={name: "make/model, A to Z", sort: function(a, b){return SortCars(a.model, b.model, 1);}}
sortTypes[st++]={name: "make/model, Z to A", sort: function(a, b){return SortCars(a.model, b.model, -1);}}
sortTypes[st++]={name: "year, youngest first", sort: function(a, b){return SortCars(a.year, b.year, -1);}}
sortTypes[st++]={name: "year, oldest first", sort: function(a, b){return SortCars(a.year, b.year, 1);}}
sortTypes[st++]={name: "mileage, lowest first", sort: function(a, b){return SortCars(a.mileage, b.mileage, 1);}}
sortTypes[st++]={name: "mileage, highest first", sort: function(a, b){return SortCars(a.mileage, b.mileage, -1);}}
sortTypes[st++]={name: "search result", sort: function(a, b){return SortCars(a.searchrank, b.searchrank, -1);}}
sortTypes[st++]={name: "search (reversed)", sort: function(a, b){return SortCars(a.searchrank, b.searchrank, 1);}}
function SortCars(a, b, asc){if(a<b) return -1*asc;if(a>b) return 1*asc;return 0;}
function ADstart(){if(setup.cssfile!="") DOM.LoadCSS(setup.cssfile);
setup.adnode=DOM.Id("autodirector");DefineVehicles();DefineDefaults();DefineNodes();var list=run.list;
if(!setup.orderbyon&&!setup.searchon) ShowVehicleList();
else{var adorderby=DOM.Id("adorderby");
var adsearchterm=DOM.Id("adsearchterm");
if(adsearchterm&&run.searchresult==null){list=true;adsearchterm.value=run.search;run.search="";EventSearchSubmit();}
else if(adorderby){var page=run.thispage;adorderby.value=run.orderby;EventChangeOrder();
if(run.thispage!=page){run.thispage=page;ShowVehicleList();}}}
if(!list&&run.ID>0){var id=run.ID;run.ID=0;ShowVehicle(id);}
else run.ID=0;}
function DefineDefaults(){var adcs=[];adcs.LoadAll("adcs");
var adqs=HTTParguments();var Define=function(name, def){var ret=def;if(adcs.Exists(name)) ret=adcs[name];if(adqs.Exists(name)) ret=adqs[name];
return ret;}
run.ID=Define("id", 0).toInt();run.list=(Define("list", true)==true);
if(run.ID>0&&run.list==true&&adqs.Exists('id')&&!adqs.Exists('list')) run.list=false;
run.orderby=Define("orderby", 0).toInt();run.pagesize=Define("pagesize", setup.pagesizes[0]).toInt();run.thispage=Define("thispage", 1).toInt();run.name=Define("name", "");run.email=Define("email", "");run.tel=Define("tel", "");run.comments=Define("comments", "");run.scrollpos=Define("scrollpos", 0).toInt();
var sext=(adqs.Exists("search") ? adqs.search:"");var sint=(adcs.Exists("search") ? adcs.search:"");if(sext!=""&&setup.searchon){run.orderby=(setup.orderbyon ? sortTypes.length-2:0);run.list=true;}
if(sext!=""&&sext!=sint){run.search=sext;run.searchresult=null;}
else{run.search=sint;run.searchresult=Define("searchresult", "");
if(run.searchresult!="") run.searchresult=run.searchresult.split(',');
else for(var v=0;v<vehiclelist.length;v++) run.searchresult[v]=vehiclelist[v].id;
UpdateSearchResult();}}
function SaveDefaults(){run.StoreAll("adcs");}
function DefineNodes(){DOM.RemoveChildren(setup.adnode);
var node;for(var i=0;i<setup.divs.length;i++){node=document.createElement("div");
node.id="autodirector_"+setup.divs[i];setup["node"+setup.divs[i]]=setup.adnode.appendChild(node);setup["node"+setup.divs[i]].style.display="none";}
if(!setup[String.fromCharCode(108,105,99,112,114,111,100)]){var unl=setup[String.fromCharCode(84,117,110,108,105,99)];
var unn=setup['node'+'li'+'ce'+'nce'];
if(unl.substr(31,5)=='un'+'li'+'c') DOM.NodeAdd(unn, unl);
else DOM.NodeAdd(unn, String.fromCharCode(85,78,76,73,67,69,78,67,69,68));
var us=unn.style;
us.position="static";us.display="block";us.visibility="visible";
us.width="auto";us.height="auto";
us.fontSize="1.2em";us.fontWeight="bold";us.textAlign="center";
us.padding="0.5em";us.marginBottom="0.5em";
us.color='#c00';us.backgroundColor='#ffc';us.border='3px solid #c00';}
if(setup.orderbyon||setup.searchon){DOM.NodeAdd(setup.nodesearch, setup.Tsearch);
var adorderby=DOM.Id("adorderby");
if(adorderby){var opt;for(var s=(setup.orderbyon ? 0:sortTypes.length-2);s<sortTypes.length - (setup.searchon ? 0:2);s++){opt=document.createElement("option");
opt.setAttribute("value", s);
opt.appendChild(document.createTextNode(sortTypes[s].name));
adorderby.appendChild(opt);}
adorderby.value=run.orderby;
new Event(adorderby, "change", EventChangeOrder);}
var adsearch=DOM.Id("adsearch");
if(adsearch) new Event(adsearch, "submit", EventSearchSubmit);}
if(setup.showform){DOM.NodeAdd(setup.nodeenquiry, setup.Tenquiry);
DOM.Id("adname").value=run.name;DOM.Id("ademail").value=run.email;DOM.Id("adtel").value=run.tel;DOM.Id("adcomments").value=run.comments;
new Event(DOM.Id("adenquiry"), "submit", EventSendEnquiry);new Event(DOM.Id("adcomments"), "keypress", EventLimitComments);}
DOM.NodeAdd(setup.nodebacktop, setup.Tback);DOM.NodeAdd(setup.nodebackend, setup.Tback);
if(setup.Tsponsor!=""){DOM.NodeAdd(setup.nodesponsor, setup.Tsponsor);setup.nodesponsor.style.display="block";}
new Event(setup.nodelist, "click", EventVehicleClick);new Event(setup.nodejumptop, "click", EventPageClick);new Event(setup.nodejumpend, "click", EventPageClick);new Event(setup.nodevehicle, "click", EventVehicleImageClick);new Event(DOM.Tags("a", setup.nodebacktop)[0], "click", EventBackClick);
new Event(DOM.Tags("a", setup.nodebackend)[0], "click", EventBackClick);}
function ShowVehicleList(render){run.list=true;render=(render !== false);var show="list";
if(vehiclelist.length>0){if(setup.orderbyon||setup.searchon) show+=",search";show+=",jumptop,jumpend";
var pages=Math.floor((vehiclelist.length-1) / run.pagesize)+1;
if(run.thispage>pages) run.thispage=pages;
if(render){var vs=(run.thispage-1) * run.pagesize;
var ve=vs+run.pagesize-1;
if(ve>vehiclelist.length-1) ve=vehiclelist.length-1;
var list="";
for(var v=vs;v<=ve;v++) list+=vehiclelist[v].Replace(setup.Tlist);
DOM.NodeAdd(setup.nodelist, list, true);
var pagelist='<p>'+vehiclelist.length+' vehicle'+(vehiclelist.length>1 ? 's':'')+': show ';
for(var s=0;s<setup.pagesizes.length;s++){pagelist+='<a href="#*'+setup.pagesizes[s]+'"'+(run.pagesize==setup.pagesizes[s] ? ' class="active"':'')+'>'+setup.pagesizes[s]+'</a>';
if(s+2<=setup.pagesizes.length) pagelist+=(s+2==setup.pagesizes.length ? ' or ':', ');}
pagelist+=" per page</p>";
if(pages>1){pagelist+="<ol>";
if(run.thispage>1) pagelist+='<li><a href="#-1" class="back" title="previous page">&lt;back</a></li>';
for(var p=1;p<=pages;p++){pagelist+='<li><a href="#'+p+'" title="page '+p+'"'
if(p==run.thispage) pagelist+=' class="active"';
pagelist+='>'+p+'</a></li>';}
if(run.thispage<pages) pagelist+='<li><a href="#+1" class="next" title="next page">next &gt;</a></li>';
pagelist+="</ol>";}
DOM.NodeAdd(setup.nodejumptop, pagelist, true);
DOM.NodeAdd(setup.nodejumpend, pagelist, true);}}
else{if(render) DOM.NodeAdd(setup.nodelist, setup.Tlistnone, true);}
ShowNodes(show);
SaveDefaults();}
function ShowVehicle(id){run.list=false;
var show='vehicle,backtop,backend';
var sform=setup.showform;
if(id!=run.ID){run.ID=id;
var vIndex=VehicleIndex(id);
if(vIndex>=0) DOM.NodeAdd(setup.nodevehicle, vehiclelist[vIndex].Replace(setup.Tdetail), true);
else{run.ID=0;
DOM.NodeAdd(setup.nodevehicle, setup.Tdetailnone, true);
sform=false;}}
if(sform) show+=',enquiry';
ShowNodes(show);Graphic.PositionViewport("autodirector", 0, 30);SaveDefaults();}
function ShowNodes(list){for(var n=1;n<setup.divs.length-1;n++) setup["node"+setup.divs[n]].style.display=(list.indexOf(setup.divs[n])>=0 ? "block":"none");}
function VehicleIndex(id){var i=0;
while (id!=vehiclelist[i].id&&i<vehiclelist.length-1) i++;
return (vehiclelist[i].id==id ? i:-1);}
function UpdateSearchResult(){vehiclelist.sort(sortTypes[0].sort);
var nv=vehiclelist.length;var vi;
for(var v=0;v<nv;v++){vi=0;
while (vehiclelist[v].id!=run.searchresult[vi]&&vi<run.searchresult.length) vi++;
vehiclelist[v].searchrank=(vehiclelist[v].id==run.searchresult[vi] ? nv-vi:-v);}}
function Vehicle(id, newcar, year, model, mileage, colour, gearbox, info, price, pics){this.id=id;
this.newcar=(newcar ? "NEW":"");
this.year=year.toInt();
this.model=model;
this.mileage=mileage.toInt();
this.colour=(colour!="" ? colour:"&nbsp;");
this.gearbox=(gearbox!="" ? gearbox:"&nbsp;");
this.info="|"+info+"|";
this.info=reRepeat(this.info, /\|\-+\|/g, "|<hr />|");
this.info=reRepeat(this.info, /\|-([^\|]+)\|/g, "|<h2>$1</h2>|");
this.info=reRepeat(this.info, /\_([^\|]+)\_/g, "{{strong}}$1{{/strong}}");
this.info=reRepeat(this.info, /!\(([^\||\(]+)\)/g, '{{img src="$1" /}}');
this.info=reRepeat(this.info, /\[([^\||\[]+)\]\(\(([^\||\(]+)\)\)/g, '{{a href="$2"}}$1{{/a}}');
this.info=reRepeat(this.info, /\(\(([^\||\(]+)\)\)/g, '{{a href="$1"}}$1{{/a}}');
this.info=reRepeat(this.info, /\|\*([^\|]+)\|/g, "|<li>$1</li>|");
this.info=reRepeat(this.info, /\|\+([^\|]+)\|/g, "|<liN>$1</liN>|");
this.info=reRepeat(this.info, /\|([^\<][^\|]+)\|/g, "|<p>$1</p>|");
this.info=reRepeat(this.info, /<\/li>\|<li>/g, "</li><li>");
this.info=reRepeat(this.info, /<\/liN>\|<liN>/g, "</liN><liN>");
this.info=reRepeat(this.info, /\|(<li>[^\|]+<\/li>)\|/g, "|<ul>$1</ul>|");
this.info=reRepeat(this.info, /\|(<liN>[^\|]+<\/liN>)\|/g, "|<ol>$1</ol>|");
this.info=reRepeat(this.info, /liN>/g, "li>");
this.info=reRepeat(this.info, /\{\{/g, "<");
this.info=reRepeat(this.info, /\}\}/g, ">");
this.info=reRepeat(this.info, /\|/g, "");
this.price=(price!=null ? price.toInt():null);
this.pics=pics;
this.searchrank=0;}
function reRepeat(str, regex, rep){var ostr;
do {ostr=str;str=str.replace(regex, rep);} while (str!=ostr);
return str;}
Vehicle.prototype.Replace=function(template){template=template.replace(/\[id\]/gi, this.id);
template=template.replace(/\[newcar\]/gi, this.newcar);
template=template.replace(/\[year\]/gi, this.year);
template=template.replace(/\[model\]/gi, this.model);
template=template.replace(/\[mileage\]/gi, this.mileage.format(0)+" miles");
template=template.replace(/\[colour\]/gi, this.colour);
template=template.replace(/\[gearbox\]/gi, this.gearbox);
template=template.replace(/\[info\]/gi, this.info);
var price;
switch(this.price){case null: price="sold";break;
case 1: price="please call";break;
default: price=this.price.format(0,true);}
template=template.replace(/\[price\]/gi, price);
if(this.pics.length>0){template=template.replace(/\[pic\]/gi, '<img src="'+setup.thumburl+this.pics[0]+'.jpg" title="'+this.model+'" />');
var pics="<ol>";
for(var p=0;p<this.pics.length;p++) pics+='<li><img src="'+setup.thumburl+this.pics[p]+'.jpg" alt="'+this.model+' picture" title="'+this.model+' picture '+(p+1)+' - click to enlarge..." /></li>';
pics+="</ol>";
template=template.replace(/\[pics\]/gi, pics);}
else{template=template.replace(/\[pic\]/gi, '');
template=template.replace(/\[pics\]/gi, '');}
return template;}
function EventVehicleClick(evt){evt.Raised.StopDefaultAction();
run.scrollpos=Graphic.ViewportScrollY();
var node=DOM.ParentFind(evt.Raised.Element, "a");
var id=(node ? String(node.id).substr(5).toInt():0);
if(id>0) ShowVehicle(id);}
function EventChangeOrder(evt){if(evt) evt.Raised.StopDefaultAction();
var adorderby=DOM.Id("adorderby");
if(adorderby){Graphic.ClassApply(adorderby.parentNode, "active");
run.orderby=adorderby.value;
vehiclelist.sort(sortTypes[run.orderby].sort);
var adsearchterm=DOM.Id("adsearchterm");
if(adsearchterm){if(run.orderby>=sortTypes.length-2) adsearchterm.value=run.search;
else adsearchterm.value="";}
run.thispage=1;
ShowVehicleList();
Graphic.ClassRemove(adorderby.parentNode, "active");
Graphic.PositionViewport("autodirector", 0, 30);}}
function EventSearchSubmit(evt){if(evt) evt.Raised.StopDefaultAction();
var adsearchterm=DOM.Id("adsearchterm");
if(!setup.activesearch&&adsearchterm){var sterm=adsearchterm.value.Clean();
if(sterm.length>0){if(sterm==run.search){DOM.Id("adorderby").value=sortTypes.length-2;
EventChangeOrder();}
else{setup.activesearch=true;
run.search=sterm;
adsearchterm.value=run.search;
Graphic.ClassApply(adsearchterm.parentNode, "active");
if(setup.JSsearch) DOM.HeadRemove(setup.JSsearch);
setup.JSsearch=DOM.LoadJS(setup.searchURL+escape(run.search)+"&callback=EventSearchResult()");
setTimeout(EventSearchTimeout, setup.timeout);}}}}
function EventSearchResult(){SearchReset();
UpdateSearchResult();
DOM.Id("adorderby").value=sortTypes.length-2;
EventChangeOrder();}
function EventSearchTimeout(){if(setup.activesearch){SearchReset();
DOM.HeadRemove(setup.JSsearch);
setup.JSsearch=null;
run.search="";
alert("Sorry, but your search is taking too long.\nPlease try again later.");}}
function SearchReset(){Graphic.ClassRemove(DOM.Id("adsearchterm").parentNode, "active");
setup.activesearch=false;}
function EventPageClick(evt){evt.Raised.StopDefaultAction();
var node=DOM.ParentFind(evt.Raised.Element, "a");
if(node){var href=node.getAttribute("href");
var h=href.lastIndexOf("#");
if(h>=0){var num=href.substr(h+1);
var sign=num.charAt(0);
var ps=(sign=="*");
var inc=(sign=="-"||sign=="+");
num=num.toInt();
if(ps){if(num!=run.pagesize){run.pagesize=num;
ShowVehicleList();}}
else{var newpage=(inc ? run.thispage+num:num);
if(run.thispage!=newpage){run.thispage=newpage;
ShowVehicleList();
Graphic.PositionViewport("autodirector", 0, 30);}}}}}
function EventVehicleImageClick(evt){var eNode=evt.Raised.Element;
if(eNode.nodeName.toLowerCase()!="a"&&eNode.parentNode.nodeName.toLowerCase()!="a"){evt.Raised.StopDefaultAction();
if(eNode.nodeName.toLowerCase()=="img"&&eNode.title) PopupImage(String(eNode.src).replace(new RegExp(setup.thumburl), setup.picurl));}}
function EventBackClick(evt){evt.Raised.StopDefaultAction();
if(!setup.activesend) ShowVehicleList(false);
window.scrollTo(0, run.scrollpos);}
function EventSendEnquiry(evt){evt.Raised.StopDefaultAction();
if(!setup.activesend){var msg="";
var hl=false;var nComments=DOM.Id("adcomments");run.comments=nComments.value.Trim().replace(/\r/g, "").replace(/\n/g, "\n");var oc;
do{oc=run.comments;
run.comments=run.comments.replace(/\n\n/g, "\n");} while (run.comments!=oc);
run.comments=run.comments.substr(0, setup.comlimit);
nComments.value=run.comments;
var nTel=DOM.Id("adtel");
run.tel=nTel.value.Trim();nTel.value=run.tel;
var nEmail=DOM.Id("ademail");
run.email=nEmail.value;
if(run.email!=""){run.email=verify_email(run.email);
if(run.email==""){msg="\t - a valid email address\n"+msg;hl=nEmail;}
else nEmail.value=run.email;}
if(run.email==""&&run.tel==""&&msg==""){msg=" - an email address or telephone number";hl=nEmail;}
var nName=DOM.Id("adname");
run.name=nName.value.Clean();nName.value=run.name;
if(run.name.length<4){msg=" - your name\n"+msg;hl=nName}
if(hl){alert("Please enter:\n"+msg);
try {hl.select();} catch(e){}
try {hl.focus();} catch(e){}}
else{setup.activesend=true;
setup.nodeenquiry.style.display="none";
Graphic.ClassApply(setup.nodeenqresult, "active");
DOM.SetText(setup.nodeenqresult, "sending your enquiry...");
setup.nodeenqresult.style.display="block";
var send=setup.emailURL+run.ID;
send+="&callback=EventSendResult()";
send+="&url="+escape(setup.thisURL);
send+="&name="+escape(run.name);
send+=(run.email!="" ? "&email="+escape(run.email):"");
send+=(run.tel!="" ? "&tel="+escape(run.tel):"");
send+=(run.comments!="" ? "&comments="+escape(run.comments):"");
if(setup.JSsend) DOM.HeadRemove(setup.JSsend);
setup.JSsend=DOM.LoadJS(send);
setTimeout(EventSendTimeout, setup.timeout);
SaveDefaults();}}}
function EventSendResult(){SendReset();
var msg='';
switch (setup.senderror){case '': msg+="Your enquiry was sent successfully. We will contact you shortly.";break;
case 'noemail':msg+="Sorry, but your enquiry could not be sent at this time. Please try again later";if(setup.salesemail!='') msg+=" or contact us at "+setup.salesemail+" directly";msg+=".";setup.nodeenquiry.style.display="block";break;
default:msg+="Sorry, but there was a technical problem with your enquiry.";
if(setup.salesemail!='') msg+=" Please contact us at "+setup.salesemail+" directly.";break;}
DOM.SetText(setup.nodeenqresult, msg);}
function EventSendTimeout(){if(setup.activesend){SendReset();
DOM.HeadRemove(setup.JSsend);setup.JSsend=null;
DOM.SetText(setup.nodeenqresult, "Sorry, but your enquiry is taking too long. Please try again later.");
setup.nodeenquiry.style.display="block";}}
function SendReset(){Graphic.ClassRemove(setup.nodeenqresult, "active");
setup.activesend=false;}
function EventLimitComments(evt){var key=evt.Raised.Key;
if(evt.Raised.Element.value.length>setup.comlimit) evt.Raised.Element.value=evt.Raised.Element.value.substr(0, setup.comlimit);
if(evt.Raised.ControlKey==''&&key.length+evt.Raised.Element.value.length>setup.comlimit) evt.Raised.StopDefaultAction();}
function PopupImage(img){var scnWidth=(screen.availWidth ? screen.availWidth:640);
var scnHeight=(screen.availHeight ? screen.availHeight:480);
var size=setup.picsize+20;
var win=window.open(img, "", "width="+size+",height="+size+",left="+Math.floor((scnWidth-size)/2)+",top="+Math.floor((scnHeight-size)/2)+",location=0,directories=0,menubar=0,toolbar=0,status=0,scrollbars=0,resizable=1");
var cImage=new Image;cImage.src=img;
if(cImage.complete) PopupImageResize(win, cImage);
else new Event(cImage, "load", function(evt){evt.Detach();PopupImageResize(win, cImage);});}
function PopupImageResize(win, cImage){var imgWidth=cImage.width+30;
var imgHeight=cImage.height+70;
var scnWidth=(screen.availWidth ? screen.availWidth:640);
var scnHeight=(screen.availHeight ? screen.availHeight:480);
if(scnWidth>imgWidth&&scnHeight>imgHeight){try {win.resizeTo(imgWidth, imgHeight);} catch(e){}
try {win.moveTo(Math.floor((scnWidth-imgWidth)/2), Math.floor((scnHeight-imgHeight)/2));} catch(e){}}
win.focus();}
Object.prototype.toInt=function(){var str=String(this);
str=str.replace(/[^0-9-.]/g, "");
var ret=parseInt(str, 10);
if(isNaN(ret)) ret=0;
return ret;}
Number.prototype.format=function(dp, currency){var num=this;
var ThousandsSep=(setup.locale=="EURO" ? " ":",");var DecimalPoint=(setup.locale=="EURO" ? ",":".");var NegativePre="-";var NegativePost="";var CurrencyPre="\u00a3";var CurrencyPost="";if(setup.locale=="USD") CurrencyPre="$";if(setup.locale=="EURO"){CurrencyPre="";CurrencyPost="\u20ac";}
var neg, bdp, adp, obdp;if(isNaN(num)) num=0;
dp=Math.abs(dp.toInt());neg=(num<0);
num=String(Math.round(Math.abs(num) * Math.pow(10, dp))).Pad(dp, '0');
bdp=num.substr(0, num.length - dp);adp=num.substr(num.length - dp);
if(bdp=="") bdp="0";
else{do {obdp=bdp;
bdp=bdp.replace(/(\d+)(\d{3})/g, "$1" + ThousandsSep + "$2");} while (bdp!=obdp);}
num=bdp + (dp>0 ? DecimalPoint + adp:"");
if(currency === true) num=CurrencyPre + num + CurrencyPost;
if(neg) num=NegativePre + num + NegativePost;
return num;}
String.prototype.Trim=function(){return this.replace(/^\s*|\s*$/g, "");}
String.prototype.Clean=function(){return this.replace(/[^\w|\s|@|&|.|,|!|%|(|)|+|-]/g, "").replace(/_/g, " ").replace(/\s+/g, " ").Trim();}
String.prototype.Pad=function(length, padChar){var str=String(this);
length=length.toInt();
if(typeof padChar=='undefined') padChar=" ";
else{padChar=String(padChar);
if(padChar.length<1) padChar=" ";}
while (str.length<length) str=padChar + str;
return str;}
function HTTParguments(){var args=new Array();
var arglist=location.search.Trim();
if(arglist.charAt(0)=='?') arglist=arglist.substr(1);
var argsep=arglist.split('&');
var thisValue;
for(var i=0;i<argsep.length;i++){thisValue=argsep[i].split("=");
if(thisValue.length==2) args[unescape(thisValue[0].toLowerCase())]=unescape(thisValue[1]);}
return args;}
Array.prototype.Exists=function(key){var type=typeof(this[key]);
return (type!='undefined'&&type!='function');}
Array.prototype.StoreAll=function(name, minutes){var values="";
for(var key in this) if(typeof(this[key])!='function') values+=(values=="" ? "":"[:]") + key.toLowerCase() + "[=]" + String(this[key]);
CookieSet(name, values, minutes);}
Array.prototype.LoadAll=function(name){var allValues=CookieGet(name);
var values=allValues.split("[:]");
var thisValue;
for(var i=0;i<values.length;i++){thisValue=values[i].split("[=]");
if(thisValue.length==2){if(thisValue[1]=="true"||thisValue[1]=="false") this[thisValue[0].toLowerCase()]=(thisValue[1]=="true");
else this[thisValue[0].toLowerCase()]=thisValue[1];}}}
function CookieSet(name, value, minutes){value=String(value).replace(/\r/g, "").replace(/\n/g, "[#]");
if(minutes){var date=new Date();
date.setTime(date.getTime()+(minutes*60000));
var expires=";expires="+date.toGMTString();}
else expires="";
document.cookie=name+"="+String(value)+expires+";path="+location.pathname.substr(0, location.pathname.indexOf("/",1)+1);}
function CookieGet(name){var ret="";
name+="=";
var allCookies=document.cookie.split(';');
var thisCookie;
for(var i=0;i<allCookies.length&&ret=="";i++){thisCookie=allCookies[i].Trim();
if(thisCookie.indexOf(name)==0) ret=thisCookie.substring(name.length).replace(/\[#\]/g, "\n");}
return ret;}
function CookiesEnabled(){CookieSet("testcookie", "testvalue", 0.05);
return (CookieGet("testcookie")=="testvalue");}
function verify_email(email){email=email.Trim().toLowerCase();
if(email!="") if(email.replace(/^.+@[a-z0-9]+([_\.\-]{0,1}[a-z0-9]+)*([\.]{1}[a-z0-9]+)+$/, "")!="") email="";
return email;}
var DOM=new function(){this.ElementNode=1;
this.AttributeNode=2;
this.TextNode=3;
this.CommentNode=8;
this.Enabled=(document.getElementById&&document.getElementsByTagName);
this.Id=function(id, rootElement){var element=null;
if(this.Enabled){if(typeof rootElement=='string') rootElement=this.Id(rootElement);
if(!rootElement) rootElement=document;
element=rootElement.getElementById(String(id));}
return element;}
this.Tags=function(tag, rootElement){var elements=new Array(0);
if(this.Enabled){if(typeof rootElement=='string') rootElement=this.Id(rootElement);
if(!rootElement) rootElement=document;
elements=rootElement.getElementsByTagName(String(tag));}
return elements;}
this.NodeAdd=function(element, content, clear){if(typeof element=='string') element=this.Id(element);
if(clear === true) this.RemoveChildren(element);
return (element.innerHTML=content);}
this.ParentFind=function(element, nodename){if(typeof element=='string') element=this.Id(element);
nodename=nodename.toLowerCase();
while (element.nodeName.toLowerCase()!=nodename&&element.parentNode) element=element.parentNode;
if(element.nodeName.toLowerCase()!=nodename) element=false;
return element;}
this.ChildElements=function(element){var ce=new Array();
if(typeof element=='string') element=this.Id(element);
if(element){for(var i=0;i<element.childNodes.length;i++){if(element.childNodes[i].nodeType==this.ElementNode&&element.childNodes[i].nodeName!="!") ce.push(element.childNodes[i]);}}
return ce;}
this.FindNodeType=function(element, ntype){var found=null;
if(typeof element=='string') element=this.Id(element);
if(element){var thisNode;
for(var i =0;i<element.childNodes.length&&found==null;i++){thisNode=element.childNodes[i];
if(thisNode.nodeType==ntype) found=thisNode;
else found=this.FindNodeType(thisNode, ntype);}}
return found;}
this.SetText=function(element, text){if(typeof element=='string') element=this.Id(element);
if(element){var tNode=this.FindNodeType(element, this.TextNode);
if(tNode) tNode.nodeValue=text;
else element.appendChild(document.createTextNode(text));}}
this.RemoveChildren=function(element){if(typeof element=='string') element=this.Id(element);
if(element) while (element.lastChild) element.removeChild(element.lastChild);}
this.AbsoluteX=function(element){var pos=0;
if(typeof element=='string') element=this.Id(element);
if(element&&typeof element.offsetLeft!='undefined'){pos=element.offsetLeft;
while ((element=element.offsetParent)) pos+=element.offsetLeft;}
return pos;}
this.AbsoluteY=function(element){var pos=0;
if(typeof element=='string') element=this.Id(element);
if(element&&typeof element.offsetTop!='undefined'){pos=element.offsetTop;
while ((element=element.offsetParent)) pos+=element.offsetTop;}
return pos;}
this.HeadAppend=function(element){var head=this.Tags("head");
return (head.length==1 ? head[0].appendChild(element):null);}
this.HeadRemove=function(element){var head=this.Tags("head");
return (head.length==1 ? head[0].removeChild(element):null);}
this.LoadJS=function(file){var jsfrag=document.createElement("script");
jsfrag.setAttribute("type", "text/javascript");jsfrag.setAttribute("src", file);
return this.HeadAppend(jsfrag);}
this.LoadCSS=function(file){var cssfrag=document.createElement("link");
cssfrag.setAttribute("type", "text/css");cssfrag.setAttribute("rel", "stylesheet");cssfrag.setAttribute("media", "screen");cssfrag.setAttribute("href", file);
return this.HeadAppend(cssfrag);}}
var Graphic=new function(){if(typeof window.innerWidth!='undefined'){this.ViewportWidth=function(){return window.innerWidth;}
this.ViewportHeight=function(){return window.innerHeight;}}
else{this.ViewportWidth=function(){if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0) return document.documentElement.clientWidth;
else return DOM.Tags("body")[0].clientWidth;}
this.ViewportHeight=function(){if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientHeight!='undefined'&&document.documentElement.clientHeight!=0)return document.documentElement.clientHeight;
else return DOM.Tags("body")[0].clientHeight;}}
if(typeof window.pageXOffset!='undefined'){this.ViewportScrollX=function(){return window.pageXOffset;}
this.ViewportScrollY=function(){return window.pageYOffset;}}
else{this.ViewportScrollX=function(){if(typeof document.documentElement.scrollLeft!='undefined'&&document.documentElement.scrollLeft>0) return document.documentElement.scrollLeft;
else if(typeof document.body.scrollLeft!='undefined') return document.body.scrollLeft;
else return 0;}
this.ViewportScrollY=function(){if(typeof document.documentElement.scrollTop!='undefined'&&document.documentElement.scrollTop>0) return document.documentElement.scrollTop;
else if(typeof document.body.scrollTop!='undefined') return document.body.scrollTop;
else return 0;}}
this.ClassApply=function(element, cname){if(typeof element=='string') element=DOM.Id(element);
if(element&&cname.length>0){var cc=" "+element.className+" ";
if(cc.indexOf(" "+cname+" ")<0) cc+=cname;
element.className=cc.Trim();}}
this.ClassRemove=function(element, cname){if(typeof element=='string') element=DOM.Id(element);
if(element&&cname.length>0){var cc=" "+element.className+" ";
cc=cc.replace(new RegExp(" "+cname+" ", "gi"), "");
element.className=cc.Trim();}}
this.PositionViewport=function(element, vtop, vbottom, absolute){if(absolute !== true){var vh=this.ViewportHeight();
vtop=Math.floor((vtop/100) * vh);
vbottom=Math.ceil((vbottom/100) * vh);}
var ey=DOM.AbsoluteY(element);
var vy=this.ViewportScrollY();
if(ey<vy+vtop) this.ScrollViewport(ey-vtop);
else if(ey>vy+vbottom) this.ScrollViewport(ey-vbottom);}
this.AnimationFrames=10;
this.AnimationPause=300;
this.ScrollViewport=function(moveTo, frame, pause){if(isNaN(frame)){var cTime=new Date();frame=this.AnimationFrames;}
var moveFrom=this.ViewportScrollY();
window.scrollTo(0, moveFrom+Math.floor((moveTo - moveFrom) / frame));
if(frame>1&&moveFrom!=this.ViewportScrollY()){if(isNaN(pause)){pause=((new Date() - cTime) + 8) * 2;
frame=Math.floor(this.AnimationPause / pause);}
else frame--;
setTimeout(function(){Graphic.ScrollViewport(moveTo, frame, pause);}, pause);}}}
function Event(element, type, handler){this.Raised=null;
if(typeof element.AttachedEvents=='undefined'||element.AttachedEvents==null){element.AttachedEvents=new EventStore();
var existingEvent=element["on"+type];
if(existingEvent) new Event(element, type, existingEvent);
EventStore.ElementList[EventStore.ElementList.length]=element;
if(EventStore.ElementList.length==1) new Event(window, "unload", EventStore.CleanUp);}
var hIndex=element.AttachedEvents.Add(element, type, this);
this.Handler=function(evtinfo){this.Raised=evtinfo;
return handler(this);}
this.Detach=function(){element.AttachedEvents.Detach(type, hIndex);}}
function EventStore(){this.Type=[];}
EventStore.prototype.Add=function(element, type, EventObj){if(typeof this.Type[type]=='undefined'){this.Type[type]=[];
element["on"+type]=EventStore.Handler;}
var hIndex=this.Type[type].length;
this.Type[type][hIndex]=EventObj;
return hIndex;}
EventStore.prototype.Detach=function(type, hIndex){if(typeof this.Type[type][hIndex]=='object') delete this.Type[type][hIndex];}
EventStore.prototype.RunEvents=function(evtinfo){var ret=true;
if(typeof this.Type[evtinfo.Type]!='undefined'){var EventObj;
for(var h=0;h<this.Type[evtinfo.Type].length;h++){EventObj=this.Type[evtinfo.Type][h];
if(typeof EventObj=='object') ret &= (EventObj.Handler(evtinfo) !== false);}}
return ret;}
EventStore.Handler=function(evt){return (this.AttachedEvents ? this.AttachedEvents.RunEvents(new EventInformation(evt)):null);}
EventStore.ElementList=[];
EventStore.CleanUp=function(){for(var e=0;e<EventStore.ElementList.length;e++) EventStore.ElementList[e].AttachedEvents=null;
EventStore.ElementList=null;}
function EventInformation(event){if(event){this.Event=event;
this.StopPropagation=function(){this.Event.stopPropagation();}
this.StopDefaultAction=function(){this.Event.preventDefault();}}
else{this.Event=window.event;
this.StopPropagation=function(){this.Event.cancelBubble=true;};this.StopDefaultAction=function(){this.Event.returnValue=false;}}
this.Type="";this.Element=null;this.Key="";this.ControlKey="";this.Shift=false;this.Ctrl=false;this.Alt=false;this.MouseX=0;this.MouseY=0;
if(this.Event){this.Type=String(this.Event.type).toLowerCase();
this.Element=(this.Event.target ? this.Event.target:this.Event.srcElement);
var charCode=this.Event.charCode;
var keyCode=(this.Event.keyCode ? this.Event.keyCode:charCode);
if(charCode!=0&&keyCode>=32) this.Key=String.fromCharCode(keyCode);
if(this.Key==""){this.ControlKey=Event.CK[keyCode];
if(!this.ControlKey) this.ControlKey="";}
this.Ctrl=this.Event.ctrlKey;this.Alt=this.Event.altKey;this.Shift=this.Event.shiftKey;var mre=/mouse|click/i;
if(mre.test(this.Type)){this.MouseX=(this.Event.pageX ? this.Event.pageX:this.Event.clientX + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft));
this.MouseY=(this.Event.pageY ? this.Event.pageY:this.Event.clientY + Math.max(document.documentElement.scrollTop, document.body.scrollTop));}}}
Event.CK=[];Event.CK[8]="backspace";Event.CK[9]="tab";Event.CK[13]="enter";Event.CK[27]="esc";Event.CK[33]="pageup";Event.CK[34]="pagedown";Event.CK[35]="end";Event.CK[36]="home";Event.CK[37]="left";Event.CK[38]="up";Event.CK[39]="right";Event.CK[40]="down";Event.CK[45]="insert";Event.CK[46]="delete";Event.CK[112]="f1";Event.CK[113]="f2";Event.CK[114]="f3";Event.CK[115]="f4";Event.CK[116]="f5";Event.CK[117]="f6";Event.CK[118]="f7";Event.CK[119]="f8";Event.CK[120]="f9";Event.CK[121]="f10";Event.CK[122]="f11";Event.CK[123]="f12";Event.CK[144]="numlock";Event.CK[145]="scrolllock";
setup.OK=true;
if(!DOM.Enabled){setup.OK=false;document.write("<p>Please use a more modern browser to view the showroom.</p>");}
else{if(!DOM.Id("autodirector")){setup.OK=false;document.write('<p><strong>AutoDirector error</strong>: the page is missing the &lt;div id="autodirector"&gt;tag.</p>');}
if(DOM.Tags("head").length!=1){setup.OK=false;document.write('<p><strong>AutoDirector error</strong>: the page does not have one &lt;head&gt;tag.</p>');}}
if(setup.OK) new Event(window, "load", ADstart);

