var setup=[];
setup.cssfile="http://www.mattcardy.co.uk/showroom/client/clean.css";
setup.pagesizes=[5,10,25,50,0];
setup.site="lhdbentley";
setup.locale="GBP";
setup.searchURL="http://mattcardy.co.uk/showroom/carlistsearch.php?site=lhdbentley&search=";
setup.viewURL="http://mattcardy.co.uk/showroom/viewupdate.php?site=lhdbentley&amp;id=";
setup.emailURL="http://mattcardy.co.uk/showroom/emailsales.php?site=lhdbentley&id=";
setup.thumburl="http://mattcardy.co.uk/showroom/data/lhdbentley/thumbs/";
setup.picurl="http://mattcardy.co.uk/showroom/data/lhdbentley/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(17, false, 2007, "Bentley Azure Coupé", 203, "Metallic Fountain Blue", "manual", "- Description|Petrol , ABS, 6.8L V8 Twin Turbo Engine,  Traction Control, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors, Removable Top, Central Locking, Airbags, Stereo/CD, CD Change, Sound System, Rear MP3 Player, Roof Rails, Alarm/ Anti Theft System.|- Features|* Excellent Value For Money!", 242036, []);
	vehiclelist[1]=new Vehicle(9, false, 2006, "Bentley Arnage Red label Luxury", 2513, "Metallic grey", "manual", "- Description|Petrol, 6.8L V8 Twin Turbo Engine, ABS, Traction Control, Power Steering,   Auto Air Con, Alloys, Leather Interior  with  Heated Elec Adjust Seats,  Genuine Wooden Trims, Navigation System, Onboard Computer, Cruise, Parking Sensors,  Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors,  Central Locking, Rear Spoiler, Airbags, Radio/CD, CD Change, Sound System,  Duel LCD to Rear, Anti Theft System.|- Features|* Excellent Value For Money!", 235204, []);
	vehiclelist[2]=new Vehicle(2, false, 2009, "Bentley Azure Cabriolet Cabriolet", 156, "Metallic Black", "manual", "- Description|Petrol, 8 Cyl Engine,  ABS, Auto Air Con, Keyless Go, 19” Six Twin Spoke Chrome Wheels,  Leather Interior with Heated Elec Adjust Seats, Navigation System with Reversing Camera, Cruise, Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags, Stereo/CD,  Anti Theft System.|- Features|* Excellent Value For Money!", 232347, []);
	vehiclelist[3]=new Vehicle(19, false, 2008, "Bentley Azure Cabriolet Coupé", 51, "Magnolia", "manual", "- Description|Petrol, 8 Cyl Engine, ABS, Auto Air Con, Keyless Go,  Leather Interior with Heated Elec Adjust Seats, Navigation System , Cruise, Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags, Stereo/CD, CD Change,   Anti Theft System.|- Features|* Excellent Value For Money!", 225847, []);
	vehiclelist[4]=new Vehicle(14, false, 2007, "Bentley Azure Cabriolet", 1475, "Metallic Meteor Blue", "manual", "- Description|Petrol, 8 Cyl Engine, ABS, Auto Air Con,  Leather Interior with Heated Elec Adjust Seats,  Adjustable Headrest, Cruise, Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags,  Stereo.|- Features|* Excellent Value For Money!", 193297, []);
	vehiclelist[5]=new Vehicle(15, false, 2007, "Bentley Azure Coupé", 448, "Metallic Black", "manual", "- Description|Petrol, 6.75 L Twin Turbo V8 Engine, 450hp, ABS, Auto Air Con, Leather Interior with Heated Elec Adjust Seats,  Adjustable Headrest, Cruise, Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags.|- Features|* Excellent Value For Money!", 193247, []);
	vehiclelist[6]=new Vehicle(16, false, 2007, "Bentley Azure Cabriolet", 1456, "Metallic Black", "manual", "- Description|Petrol, ABS, ESP, ASR, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Parking Sensors, Rain Sensors , Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors,  Central Locking, Airbags, Radio/CD with CD Changer|- Features|* Excellent Value For Money!", 192267, []);
	vehiclelist[7]=new Vehicle(11, false, 2007, "Bentley Arnage T Saloon", 1200, "Metallic Grey", "manual", "- Description|Petrol, 8 Cyl Turbo,  6 Speed  Automatic, Power Steering, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Tilt Wheel, Centre Arm Rest,  Electric Windows &  Mirrors, Audio System|- Features|* Excellent Value For Money!", 180247, []);
	vehiclelist[8]=new Vehicle(13, false, 2007, "Bentley Azure Cabriolet", 9000, "Metallic Blue", "manual", "- Description|ABS, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Sunroof, Warranty, Xenon headlights, Stereo, 455 BHP, Petrol|- Features|* Excellent Value For Money!", 177086, []);
	vehiclelist[9]=new Vehicle(12, false, 2007, "Bentley Arnage T-Mulliner Saloon", 19911, "Metallic Grey", "manual", "- Description|455 BHP, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Parking Sensors, Cruise, Xenons, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, DVD system with LCD Screens/TV Tuner, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 174128, []);
	vehiclelist[10]=new Vehicle(6, false, 2008, "Bentley Arnage R Saloon", 116, "Metallic Blue", "manual", "- Description|Petrol, 8 Cyl Turbo, 6.75  Engine, 6 Speed  Automatic,  Auto Air Con, Premium Wheels, Leather Interior with Heated Elec Adjust Seats, Navigation System, Integrated Phone, Onboard Computer, Cruise, Parking Sensors, Rear View Cameras,  Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors, Sunroof, Central Locking, Airbags, Stereo/CD, CD Change, Sound System, DVD Player .|- Features|* Excellent Value For Money!", 173547, []);
	vehiclelist[11]=new Vehicle(7, false, 2008, "Bentley Arnage R Saloon", 1988, "Metallic Silver", "manual", "- Description|Petrol,  8 Cyl, 6 Speed Automatic, Auto Air Con, ABS, Alloys,  Power Steering, Leather Interior with Heated Elec Adjust Seats, Navigation System,  Xenon Headlights, Rear Back up Camera, Cruise, Centre Arm Rest, Electric Windows & Mirrors, Sunroof, Central Locking, Airbags, Stereo/CD, Sound System.|- Features|* Excellent Value For Money!", 163647, []);
	vehiclelist[12]=new Vehicle(18, false, 2007, "Bentley Azure Cabriolet", 3059, "Metallic Peacock Blue", "manual", "- Description|Petrol, ABS,  Auto Air Con, Power Steering, 19 Inch Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise, Parking Sensors,  Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags, Radio/CD, CD Change, Bluetooth.|- Features|* Excellent Value For Money!", 162687, []);
	vehiclelist[13]=new Vehicle(1, false, 2008, "Bentley Arnage R Luxury", 512, "Metallic White", "manual", "- Description|Petrol, Limited Addition, 8 Cyl, 6 Speed Automatic, Auto Air Con, ABS, 19 Inch Alloys,  Power Steering, Leather Interior with Heated Elec Adjust Seats,  Cruise, Centre Arm Rest, Electric Windows & Mirrors,  Central Locking, Airbags.|- Features|* Excellent Value For Money!", 156497, []);
	vehiclelist[14]=new Vehicle(35, false, 2008, "Bentley Continental GT Coupé", 4134, "Metallic Black", "manual", "- Description|Petrol, 12 Cylinder  Engine, ABS,Auto Air Con, 20 Inch  Multi Spoke Wheels, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Reversing Camera,  Bluetooth Telephone System, Cruise, Multi Function Wheel, Centre Arm Rest, Electric Windows, Mirrors and Sunroof, Central Locking, Airbags, Stereo/CD, CD Change, Security System|- Features|* Excellent Value For Money!", 152947, []);
	vehiclelist[15]=new Vehicle(34, false, 2008, "Bentley Continental GT Coupé", 2982, "Metallic Granite", "manual", "- Description|Petrol, 6 Litre Twin Turbo Engine, ABS, Keyless Go,  Auto Air Con, 20 Inch Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise, Multi Function Wheel, Centre Arm Rest, Electric Windows, Mirrors and Sunroof, Central Locking, Airbags, Stereo/CD, CD Change, Security System.|- Features|* Excellent Value For Money!", 145747, []);
	vehiclelist[16]=new Vehicle(46, false, 2007, "Bentley Continental  GTC", 23500, "black", "automatic", "A unique opportunity to acquire this absolutely stunning and well looked after example of the much loved Bentley Continental GTC.|This car has spent most of it's life in Spain where the weather certainly constitutes owning a convertible car of this calibre. Perfectly presented with Beluga Black coachwork, complimented perfectly with the contrasting Magnolia leather interior, finished with Birds Eye Maple Veneer will certainly make this one of the most sought after colour combinations.|With it's full Bentley service History, this car is the right combination with the right specification, as seen below.|20” 7-Spoke alloy wheel-painted|Dual-tone hide steering wheel|Massage seats|Coming home controls|Embossed “BENTLEY” seat facing|Veneered door &amp;rear inserts|Bluetooth telephone system|Space saving wheel|Bentley Extended Warranty until December 2010|If you have an interest in this car, please fill in teh form below or call us on +44 (0)207 993 8447.", 135000, [1,5,6,7,2,3,4]);
	vehiclelist[17]=new Vehicle(42, false, 2008, "Bentley Continental GTC Cabriolet", 2060, "Metallic Blue", "manual", "- Description|Petrol, 12 Cylinder Engine, ABS, Auto Air Con, 19&#34; Multi Spoke Wheels, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise, Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags, Stereo/CD.|- Features|* Excellent Value For Money!", 134447, []);
	vehiclelist[18]=new Vehicle(31, false, 2008, "Bentley Continental GT Cabriolet", 46, "Metallic White", "manual", "- Description|Petrol, ABS, 6.0L W12 Twin Turbo Engine, Power Steering,  Keyless Go, Auto Air Con, Climate Control, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System,  Cruise, Parking Sensors,  Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags, Radio/CD, CD Change, Rear Spoiler, Security System.|- Features|* Excellent Value For Money!", 125582, []);
	vehiclelist[19]=new Vehicle(40, false, 2007, "Bentley Continental GTC Cabriolet", 6000, "Metallic Beige", "manual", "- Description|ABS, Alloy wheels, 560 BHP, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Immobilizer, Leather seats, Metallic, Navigation system, Parking sensors, Warranty, Xenon headlights, Stereo/TV-Tuner|- Features|* Excellent Value For Money!", 118056, []);
	vehiclelist[20]=new Vehicle(41, false, 2007, "Bentley Continental GTC Cabriolet", 6400, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Radio/CD/DVD, Multi Function Steering Wheel, 560 BHP|- Features|* Excellent Value For Money!", 115881, []);
	vehiclelist[21]=new Vehicle(43, false, 2007, "Bentley Continental GTC Cabriolet", 4768, "Metallic Black", "manual", "- Description|Petrol, ABS, 6.0L V12 PFI Turbo 12cyl  Engine,  6 Speed Automatic, Auto Air Con, 19 Inch Alloys, Black Leather interior with Heated Elec Adjust Seats, Lambswool Rug Carpets, Navigation System, Onboard Computer, Cruise,  Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags, Radio/CD, CD Changer|- Features|* Excellent Value For Money!", 115247, []);
	vehiclelist[22]=new Vehicle(22, false, 2008, "Bentley Continental Flying Spur Luxury", 40, "Metallic Black", "manual", "- Description|Petrol, ABS,  Auto Air Con, Traction Control, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise,  Tilt Steering Wheel, Centre Arm Rest, Electric Windows & Mirrors, Sunroof, Central Locking, Airbags, Radio/CD, CD Change.|- Features|* Excellent Value For Money!", 113489, []);
	vehiclelist[23]=new Vehicle(5, false, 2007, "Bentley Arnage Saloon", 1689, "Metallic Black", "manual", "- Description|Petrol,  Auto Air Con, 8 Cylinder Engine, Leather Interior with Heated Elec Adjust Seats, Arm Rest, Electric Windows & Mirrors,  Central Locking, Airbags, Stereo/CD.|- Features|* Excellent Value For Money!", 112021, []);
	vehiclelist[24]=new Vehicle(44, false, 2008, "Bentley Continental GTC Cabriolet", 8640, "Metallic Black", "manual", "- Description|Petrol, FSH, ABS,  Keyless GO,  Power Steering, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise, Parking Sensors, Rain Sensors,  Xenon Headlights, Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Traction Control, Airbags, Stereo/CD, CD Change, Sound System, Anti Theft System.|- Features|* Excellent Value For Money!", 110183, []);
	vehiclelist[25]=new Vehicle(4, false, 2007, "Bentley Continental GTC Cabriolet", 8837, "Metallic Blue", "manual", "- Description|Petrol, ABS,  Auto Air Con, 22 Inch Wheels, Keyless Go, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Parking Sensors, Centre Arm Rest, Electric Windows & Mirrors,  Central Locking, Airbags, Radio/CD, CD Change,  Ipod Connectors|- Features|* Excellent Value For Money!", 107877, []);
	vehiclelist[26]=new Vehicle(8, false, 2005, "Bentley Arnage R Saloon", 17800, "Metallic Dark Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Metallic, Navigation system, Parking sensors, Sunroof, Xenon headlights, Stereo, Auto Air Con, 457 BHP, Petrol|- Features|* Excellent Value For Money!", 105746, []);
	vehiclelist[27]=new Vehicle(33, false, 2007, "Bentley Continental GT Coupé", 11104, "Metallic Black", "manual", "- Description|Petrol,  ABS, 12cyl  engine,4 WD, ABS, Auto Air Con, Leather interior with Heated Elec Adjust Seats, Onboard Computer, Cruise,   Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags, AM/FM Satellite Capable Audio System.|- Features|* Excellent Value For Money!", 103097, []);
	vehiclelist[28]=new Vehicle(20, false, 2007, "Bentley Continental Flying Spur Saloon", 1760, "Metallic Silver", "manual", "- Description|Petrol, 6.0L V12 Turbo 12cyl Engine, ABS, Traction Control, Power Steering,  Keyless Go, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Cruise, Tilt Steering Wheel, Centre Arm Rest, Electric Windows & Mirrors, Sunroof, Central Locking, Airbags, Stereo,  Security System.|- Features|* Excellent Value For Money!", 102092, []);
	vehiclelist[29]=new Vehicle(10, false, 2006, "Bentley Arnage RED LABEL/R Saloon", 1455, "Metallic Silver", "manual", "- Description|Petrol,  8 Cyl Engine,  ABS, Turbo Charged, Auto Air Con, Keyless Go, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Parking Sensors, Rain Sensors,  Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags, Stereo/CD,  Anti Theft System.|- Features|* Excellent Value For Money!", 101847, []);
	vehiclelist[30]=new Vehicle(36, false, 2006, "Bentley Continental GT Diamond Coupé", 29500, "Metallic Black", "manual", "- Description|Electric heated seats, Four wheel drive, Full Service History, Leather seats, Navigation system, Parking sensors, Warranty, Xenon headlights, Telephone, Stereo, 560 BHP|- Features|* Excellent Value For Money!", 101526, []);
	vehiclelist[31]=new Vehicle(32, false, 2007, "Bentley Continental GT Coupé", 11763, "Metallic Blue", "manual", "- Description|Petrol,  FSH, ABS, Keyless Go, Auto Air Con, 20 Inch  Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Centre Arm Rest, Electric Windows & Mirrors,  Central Locking, Airbags, Radio/CD, CD Change,  Sound System,  Security System|- Features|* Excellent Value For Money!", 101404, []);
	vehiclelist[32]=new Vehicle(38, false, 2007, "Bentley Continental GT Mulliner Coupé", 28000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Full Service History, Leather seats, Navigation system, Parking sensors, Xenon headlights, TV Tuner, Bluetooth, Radio/CD|- Features|* Excellent Value For Money!", 101004, []);
	vehiclelist[33]=new Vehicle(3, false, 2009, "Bentley Continental GT Coupé", 11955, "Metallic Red", "manual", "- Description|Petrol,  ABS,  Auto Air Con,  Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise,  Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Central Locking, Airbags,  Stereo.|- Features|* Excellent Value For Money!", 98160, []);
	vehiclelist[34]=new Vehicle(26, false, 2006, "Bentley Continental GT Coupé", 14000, "Metallic Green", "manual", "- Description|ABS, ESP, Auxiliary Heating , Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Cruise, Parking  Sensors , Electric Windows,  Central Locking,  Immobiliser.|- Features|* Excellent Value For Money!", 94479, []);
	vehiclelist[35]=new Vehicle(23, false, 2006, "Bentley Continental Flying Spur Saloon", 25000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Immobilizer, Leather seats, Parking sensors, Sunroof, Xenon headlights, Radio/CD, Airbag, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 94218, []);
	vehiclelist[36]=new Vehicle(30, false, 2006, "Bentley Continental GT Coupé", 10500, "Metallic Blue", "manual", "- Description|ABS, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Full Service History, Immobilizer, Leather seats, Metallic, Navigation system, Parking sensors, Warranty, Xenon headlights, Radio/CD/TV Tuner, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 93653, []);
	vehiclelist[37]=new Vehicle(29, false, 2006, "Bentley Continental GT Coupé", 16500, "Metallic Green", "manual", "- Description|ABS, Alloy wheels, Auxiliary heating, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Warranty, Xenon headlights, Auto Air Con, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 93348, []);
	vehiclelist[38]=new Vehicle(45, false, 2005, "Bentley Flying Spur Saloon", 16000, "Metallic Diamond Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, Four wheel drive, Immobilizer, Leather seats, Navigation system, Parking sensors, Warranty, Xenon headlights, Auto Air Con, Stereo, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 91695, []);
	vehiclelist[39]=new Vehicle(39, false, 2006, "Bentley Continental GT Mulliner Coupé", 8300, "Metallic Black", "manual", "- Description|Full Service History, Four Wheel Drive, 560 BHP, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Onboard Computer, Parking Sensors, Cruise, Xenons, Rain Sensor, Centre Armrest, Multi-Function Wheel, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, DVD, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 89999, []);
	vehiclelist[40]=new Vehicle(37, false, 2005, "Bentley Continental GT Flying Spur Saloon", 24000, "Metallic Diamond Black", "manual", "- Description|ABS, Alloy wheels, Auxiliary heating, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Sunroof, Xenon headlights, Stereo/TV Tuner, Auto Air Con, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 88563, []);
	vehiclelist[41]=new Vehicle(25, false, 2006, "Bentley Continental Flying Spur Luxury", 19000, "Metallic Racing Green", "manual", "- Description|ABS, ESP, Alloy Wheels, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Parking Sensors, Cruise Control, Xenon Headlights, Bluetooth telephone Preparation With Language Control and Privacy Handset, Centre Armrest, Multi-Function Wood/Leather Steering Wheel, Electric Windows, Sunroof, Central Locking, Radio/CD,  CD Changer, Warranty, Immobiliser, Integrated Garage Gate Opener, Valet Parking Key|- Features|* Excellent Value For Money!", 88041, []);
	vehiclelist[42]=new Vehicle(27, false, 2006, "Bentley Continental GT Coupé", 27000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, Four wheel drive, Immobilizer, Leather seats, Parking sensors, Xenon headlights, Radio/CD/TV Function, Keyless Entry, 559 BHP, Petrol|- Features|* Excellent Value For Money!", 86780, []);
	vehiclelist[43]=new Vehicle(24, false, 2006, "Bentley Continental Flying Spur Saloon", 19900, "Metallic Dark Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Sunroof, Xenon headlights, Stereo, Auto Air Con, 559 BHP, Petrol|- Features|* Excellent Value For Money!", 84692, []);
	vehiclelist[44]=new Vehicle(28, false, 2006, "Bentley Continental GT Coupé", 7500, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Four wheel drive, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Warranty, Xenon headlights, Radio/CD/DVD, Onboard Computer, Telephone, 560 BHP, Petrol|- Features|* Excellent Value For Money!", 79428, []);
	vehiclelist[45]=new Vehicle(21, false, 2006, "Bentley Continental Flying Spur Saloon", 27936, "Metallic Silver", "manual", "- Description|Petrol,  ABS, Keyless Go,  Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System,  Cruise, Parking Sensors, Rain Sensors,  Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Sunroof, Central Locking, Airbags, Radio/CD, CD Change.|- Features|* Excellent Value For Money!", 76949, []);
}
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);

