var setup=[];
setup.cssfile="http://www.mattcardy.co.uk/showroom/client/orange.css";
setup.pagesizes=[5,10,25,50,0];
setup.site="lhdcitroen";
setup.locale="GBP";
setup.searchURL="http://mattcardy.co.uk/showroom/carlistsearch.php?site=lhdcitroen&search=";
setup.viewURL="http://mattcardy.co.uk/showroom/viewupdate.php?site=lhdcitroen&amp;id=";
setup.emailURL="http://mattcardy.co.uk/showroom/emailsales.php?site=lhdcitroen&id=";
setup.thumburl="http://mattcardy.co.uk/showroom/data/lhdcitroen/thumbs/";
setup.picurl="http://mattcardy.co.uk/showroom/data/lhdcitroen/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(61, false, 2007, "Citroen C6 2.7 V6 HDI Biturbo Exclusiv Saloon", 6000, "Metallic Silver", "manual", "- Description|Warranty, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Parking Sensors, Cruise, Xenons, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, Radio/CD, JBL Sound System, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 37697, []);
	vehiclelist[1]=new Vehicle(60, false, 2007, "Citroen C6 2.7 V6 HDI Biturbo Saloon", 14000, "Metallic Dark Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Parking sensors, Xenon headlights, Front Fog Light, Radio/CD, Auto Air Con, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 34447, []);
	vehiclelist[2]=new Vehicle(67, false, 2007, "Citroen C6 HDi 205 Biturbo Exclusive Saloon", 21000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights|- Features|* Excellent Value For Money!", 32597, []);
	vehiclelist[3]=new Vehicle(71, false, 2007, "Citroen C6 HDI 205 Exclusive Saloon", 8500, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Sunroof, Xenon headlights, Front Fog Lights, Radio/CD, Onboard Computer, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 32597, []);
	vehiclelist[4]=new Vehicle(62, false, 2006, "Citroen C6 Exclusive Saloon", 15000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Xenon headlights, Radio/CD|- Features|* Excellent Value For Money!", 31597, []);
	vehiclelist[5]=new Vehicle(65, false, 2007, "Citroen C6 HDI 170 Exclusive Saloon", 15000, "Metallic Grey", "manual", "- Description|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, 7x Airbags, Radio/CD, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 29947, []);
	vehiclelist[6]=new Vehicle(59, false, 2007, "Citroen C6 2.7 HDI Exclusive Saloon", 26032, "Metallic Dark Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Xenon headlights, Front Fog Lights, Rain Sensor, Stereo, Auto Air Con, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 28597, []);
	vehiclelist[7]=new Vehicle(75, false, 2007, "Citroen C-Crosser Exclusive 4x4", 8000, "Metallic Grey", "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, Particulate filter, Xenon headlights, Front Fog Lights, Stereo|- Features|* Excellent Value For Money!", 28547, []);
	vehiclelist[8]=new Vehicle(68, false, 2007, "Citroen C6 HDi 205 Biturbo Exclusive Saloon", 25200, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD/MP3|- Features|* Excellent Value For Money!", 28247, []);
	vehiclelist[9]=new Vehicle(70, false, 2007, "Citroen C6 HDi 205 Biturbo Exclusive Saloon", 20500, "Metallic Dark Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Sunroof, Warranty, Xenon headlights, Front Fog Lights, Rain Sensor, Stereo,  205 BHP, Diesel|- Features|* Excellent Value For Money!", 27897, []);
	vehiclelist[10]=new Vehicle(69, false, 2007, "Citroen C6 HDi 205 Biturbo Exclusive Saloon", 27300, "Metallic Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Onboard Computer, Auto Air Con, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 27697, []);
	vehiclelist[11]=new Vehicle(66, false, 2006, "Citroen C6 HDi 205 Biturbo Saloon", 18200, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD|- Features|* Excellent Value For Money!", 26097, []);
	vehiclelist[12]=new Vehicle(63, false, 2006, "Citroen C6 Exclusive Saloon", 14800, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Sunroof, Xenon headlights, Front Fog Lights, Stereo, Auto Air Con, Aigs, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 25747, []);
	vehiclelist[13]=new Vehicle(55, false, 2007, "Citroen C5 HDI 170 Exclusive Saloon", 15597, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Leather seats, Navigation system, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Airbags, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 25197, []);
	vehiclelist[14]=new Vehicle(58, false, 2007, "Citroen C6 2.2 HDi Exclusive Saloon", 26000, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Auto Air Con, Radio/CD, 170 BHP, Diesel|- Features|* Excellent Value For Money!", 24047, []);
	vehiclelist[15]=new Vehicle(64, false, 2006, "Citroen C6 Exclusive 2.7 V6 HDI Saloon", 24900, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Rain Sensor, Auto Air Con, 205 BHP, Diesel|- Features|* Excellent Value For Money!", 23847, []);
	vehiclelist[16]=new Vehicle(57, false, 2007, "Citroen C5 HDI 170 Exclusive Saloon", 14759, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Leather seats, Navigation system, Parking sensors, Warranty, Xenon headlights, Front Fog Lights, Radio/CD|- Features|* Excellent Value For Money!", 22847, []);
	vehiclelist[17]=new Vehicle(76, false, 2007, "Citroen Grand Picasso Van", 9900, "Metallic Dark Purple", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Parking Sensors, Cruise, Xenon Headlights, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, Stereo, Roof Rails, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 21947, []);
	vehiclelist[18]=new Vehicle(78, false, 2007, "Citroen Jumpy HDI 120 Van", 25500, "Metallic Gold", "manual", "- Description|Warranty, ABS, ESP, Manual Air Con, Alloys, TOM TOM Navigation System,  Centre Armrest, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser and Alarm System, 7 Seats|- Features|* Excellent Value For Money!", 20597, []);
	vehiclelist[19]=new Vehicle(38, false, 2007, "Citroen C4 Grand Picasso HDi 135 Exclu Van", 16236, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Onboard Computer, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 19947, []);
	vehiclelist[20]=new Vehicle(37, false, 2006, "Citroen C4 Grand Picasso HDI 135 Exclu Van", 26719, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Navigation system, Parking sensors, Particulate filter, Warranty, Front Fog Lights, Radio/CD/MP3, Onboard Computer, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 19947, []);
	vehiclelist[21]=new Vehicle(53, false, 2006, "Citroen C5 HDi 170 Biturbo Estate", 27400, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD/MP3, 7x Airbags|- Features|* Excellent Value For Money!", 19247, []);
	vehiclelist[22]=new Vehicle(54, false, 2007, "Citroen C5 HDI 170 Biturbo Exclusive Estate", 19200, "Metallic Black", "manual", "- Description|Warranty, ABS, ESP, Auto Air Con, 17 Inch OZ Racing Alloy Wheels, Leather Interior with Heated, Elec Adjust Seats, Navigation System with 7 Inch Colour Display, Onboard Computer, Parking Sensors, Rain Sensors, Cruise, Xenons, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows, and Mirrors, Central Locking, Airbags, Radio/CD/MP3, JBL Sound System with Amplifier and 8 Loudspeakers, Roof Rails, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 19147, []);
	vehiclelist[23]=new Vehicle(43, false, 2007, "Citroen C4 Picasso 2.0 HDI Exclusive Van", 6900, "Silver", "manual", "- Description|Full Service History, Warranty, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated, Elec Adjust Seats, Onboard Computer, Parking Sensors, Cruise, Rain Sensor, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, Radio/MP3, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 19047, []);
	vehiclelist[24]=new Vehicle(52, false, 2007, "Citroen C5 HDi 135 Tendance Estate", 15000, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Full Service History, Parking sensors, Particulate filter, Front Fog Lights, Stereo, Airbags, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 18947, []);
	vehiclelist[25]=new Vehicle(51, false, 2006, "Citroen C5 HDi 135 Exclusive Estate", 6000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Auto Air Con, Stereo, Diesel|- Features|* Excellent Value For Money!", 18597, []);
	vehiclelist[26]=new Vehicle(73, false, 2006, "Citroen C8 2.0 HDi Exclusive MPV", 20658, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Xenon headlights, Radio/CD, Onboard Computer, Auto Air Con|- Features|* Excellent Value For Money!", 18497, []);
	vehiclelist[27]=new Vehicle(56, false, 2007, "Citroen C5 HDi 170 Exclusive Saloon", 11952, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Radio/CD, Onboard Computer, Rain Sensor, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 18247, []);
	vehiclelist[28]=new Vehicle(34, false, 2007, "Citroen C4 Coupe 1.6 HDi VTS Coupé", 9000, "Metallic White", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, ESP, Parking sensors, Particulate filter, Radio/CD, ASR, Bluetooth, Front Fog Lights|- Features|* Excellent Value For Money!", 17497, []);
	vehiclelist[29]=new Vehicle(30, false, 2007, "Citroen C4 2.0 HDi Exclusive Hatchback", 13500, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Navigation system, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Stereo, Onboard Computer, Auto Air Con|- Features|* Excellent Value For Money!", 17147, []);
	vehiclelist[30]=new Vehicle(74, false, 2006, "Citroen C8 2.2 HDi Exclusive Van", 20000, "Metallic Black", "manual", "- Description|Full Service History, ABS, ESP, Auto Air Con, Electrically Adjustable/Heated Leather Seats, Electric Windows, Cruise Control, Xenon Headlights, Central Locking, Airbags, Stereo, Parking Sensors, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 17147, []);
	vehiclelist[31]=new Vehicle(72, false, 2007, "Citroen C8 2.0 HDI Comfort Van", 19830, "Metallic Red", "manual", "- Description|Full Service History, Warranty, ABS, ESP, Auto Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 16547, []);
	vehiclelist[32]=new Vehicle(20, false, 2007, "Citroen C4 1.6 HDi VTR Plus Hatchback", 8000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Radio/CD, Front Fog Lights, Auto Air Con, 8x Airbags, Diesel|- Features|* Excellent Value For Money!", 16147, []);
	vehiclelist[33]=new Vehicle(81, false, 2007, "Citroen Xsara Picasso 1.6 HDI 110 Tend MPV", 7000, "Metallic Black", "manual", "- Description|ABS, ESP, Auto Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Parking Sensors, Front Fog Lights, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 15897, []);
	vehiclelist[34]=new Vehicle(45, false, 2007, "Citroen C4 VTS Hatchback", 9900, "Metallic Black", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, Half Leather Interior, Navigation System, Parking Sensors, Cruise, Xenons, Rain Sensor, Front Fog Lights, Multi-Function Wheel, Electric Windows andMirrors, Central Locking, Airbags, Stereo, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 15847, []);
	vehiclelist[35]=new Vehicle(77, false, 2007, "Citroen Grand Picasso 1.8 16v Tendance Van", 18580, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Parking Sensors, Cruise, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, Stereo,  Roof Rails, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 15847, []);
	vehiclelist[36]=new Vehicle(16, false, 2007, "Citroen C4 1.6 HDi 110 Comfort Hatchback", 11800, "Metallic Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Warranty, Radio/CD, Airbag, Onboard Computer, Front Fog Lights, Air Conditioning, Diesel|- Features|* Excellent Value For Money!", 15797, []);
	vehiclelist[37]=new Vehicle(35, false, 2007, "Citroen C4 Coupe HDi 135 VTS Coupé", 15900, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Xenon headlights, Front Fog Lights, Radio/CD, Airbags, Auto Air Con, Bluetooth, Diesel|- Features|* Excellent Value For Money!", 15597, []);
	vehiclelist[38]=new Vehicle(42, false, 2005, "Citroen C4 HDI 135 Exclusive Hatchback", 25000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Leather seats, Navigation system, Parking sensors, Particulate filter, Xenon headlights, Front Fog Lights, Radio/CD|- Features|* Excellent Value For Money!", 15497, []);
	vehiclelist[39]=new Vehicle(15, false, 2007, "Citroen C4 1.6 HDi 110 Hatchback", 20500, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Particulate filter, Warranty, Front Fog Lights, Stereo, Auto Air Con, Rain Sensor, Diesel|- Features|* Excellent Value For Money!", 15347, []);
	vehiclelist[40]=new Vehicle(24, false, 2007, "Citroen C4 1.6 HDi VTR Plus Hatchback", 11000, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Warranty, Front Fog Lights, Radio/CD, Bluetooth, Onboard Computer, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 15197, []);
	vehiclelist[41]=new Vehicle(48, false, 2007, "Citroen C5 2.0 16v Tendance Saloon", 15800, "Metallic Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Full Service History, Immobilizer, Parking sensors, Front Fog Lights, Radio/MP3, Auto Air Con, 6x Airbags, Onboard Computer, Petrol|- Features|* Excellent Value For Money!", 15197, []);
	vehiclelist[42]=new Vehicle(31, false, 2007, "Citroen C4 2.0 HDi Exclusive Hatchback", 15750, "Metallic Black", "manual", "- Description|FSH, Warranty, ABS, ESP, Auto Air Con, Leather Interior with Electric Adjustable/Heated Seats, Electric Windows, Central Locking, Airbags, Radio/CD/MP3, Bluetooth, Front Fog Lights, Parking Sensors, Immobiliser and Alarm System, Cruise Control, Xenon Headlights|- Features|* Excellent Value For Money!", 15147, []);
	vehiclelist[43]=new Vehicle(47, false, 2007, "Citroen C5 2.0 16v Tendance Estate", 18586, "Metallic Dark Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Warranty, Front Fog Lights, Radio/CD, Onboard Computer, Auto Air Con, Rain Sensor|- Features|* Excellent Value For Money!", 14697, []);
	vehiclelist[44]=new Vehicle(29, false, 2006, "Citroen C4 2.0 HDi Exclusive Hatchback", 25000, "Metallic Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Onboard Computer|- Features|* Excellent Value For Money!", 14647, []);
	vehiclelist[45]=new Vehicle(49, false, 2006, "Citroen C5 3.0 V6 Exclusive Saloon", 9900, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Navigation system, Parking sensors, Sunroof, Warranty, Xenon headlights, Front Fog Lights, Stereo, Auto Air Con, 205 BHP, Petrol|- Features|* Excellent Value For Money!", 14547, []);
	vehiclelist[46]=new Vehicle(46, false, 2007, "Citroen C5 2.0 16v Tendance Saloon", 8000, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Front Fog Lights, Radio/CD, Auto Air Con|- Features|* Excellent Value For Money!", 14497, []);
	vehiclelist[47]=new Vehicle(50, false, 2005, "Citroen C5 HDi 135 Exclusive Estate", 27000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Onboard Computer, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 14447, []);
	vehiclelist[48]=new Vehicle(40, false, 2007, "Citroen C4 HDI 110 VTR Plus Coupé", 9228, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Warranty, Front Fog Lights, Onboard Computer, Radio/CD, Airbags, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 14397, []);
	vehiclelist[49]=new Vehicle(27, false, 2005, "Citroen C4 2.0 HDi Exclusive Hatchback", 14625, "Metallic Aluminium Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Parking sensors, Particulate filter, Xenon headlights, Front Fog Lights, Radio/CD, Auto Air Con, Airbags, Rain Sensor, Onboard Computer, Diesel|- Features|* Excellent Value For Money!", 14347, []);
	vehiclelist[50]=new Vehicle(28, false, 2006, "Citroen C4 2.0 HDi Exclusive Hatchback", 22900, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Full Service History, Immobilizer, Parking sensors, Particulate filter, Warranty, Xenon headlights, Front Fog Lights, Radio/CD|- Features|* Excellent Value For Money!", 14147, []);
	vehiclelist[51]=new Vehicle(10, false, 2007, "Citroen C3 1.6 VTR Hatchback", 12000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Parking sensors, Warranty, Front Fog Lights, Stereo, Petrol|- Features|* Excellent Value For Money!", 13847, []);
	vehiclelist[52]=new Vehicle(22, false, 2007, "Citroen C4 1.6 HDi VTR Plus Hatchback", 24250, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Warranty, Auto Air Con, Radio/CD, Onboard Computer, Front Fog Lights, Diesel|- Features|* Excellent Value For Money!", 13847, []);
	vehiclelist[53]=new Vehicle(21, false, 2006, "Citroen C4 1.6 HDi VTR Plus Hatchback", 18000, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Full Service History, Immobilizer, Parking sensors, Particulate filter, Warranty, Front Fog Lights, Auto Air Con, Stereo, Diesel|- Features|* Excellent Value For Money!", 13847, []);
	vehiclelist[54]=new Vehicle(36, false, 2006, "Citroen C4 Exclusive 2.0 HDi Hatchback", 26500, "Metallic Dark Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Warranty, Xenon headlights, Front Fog Lights, Radio/CD, Airbags, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 13847, []);
	vehiclelist[55]=new Vehicle(41, false, 2007, "Citroen C4 HDi 110 VTR Plus Hatchback", 25000, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Full Service History, Immobilizer, Particulate filter, Warranty, Front Fog Lights, Radio/CD, Auto Air Con, Rain Sensor, Diesel|- Features|* Excellent Value For Money!", 13547, []);
	vehiclelist[56]=new Vehicle(1, false, 2007, "Citroen Berlingo HDI 90 MS Plus Mini MPV", 8198, "Metallic Blue", "manual", "- Description|Warranty, ABS, ESP, Manual Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Front Fog Lights, Onboard Computer, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 13297, []);
	vehiclelist[57]=new Vehicle(17, false, 2007, "Citroen C4 1.6 HDi Comfort Hatchback", 7000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Particulate filter, Warranty, Radio/CD/MP3, Airbags, Air Conditioning, Front Fog Lights, Diesel|- Features|* Excellent Value For Money!", 13147, []);
	vehiclelist[58]=new Vehicle(23, false, 2007, "Citroen C4 1.6 HDi VTR Plus Hatchback", 19700, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Front Fog Lights, Radio/CD, Onboard Computer, Auto Air Con, Airbags, Diesel|- Features|* Excellent Value For Money!", 13147, []);
	vehiclelist[59]=new Vehicle(39, false, 2007, "Citroen C4 HDi 110 Comfort Hatchback", 27177, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Particulate filter, Front Fog Lights, Centre Armrest, Onboard Computer, Stereo|- Features|* Excellent Value For Money!", 13147, []);
	vehiclelist[60]=new Vehicle(19, false, 2006, "Citroen C4 1.6 HDi Comfort Hatchback", 13000, "Metallic Green", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Parking sensors, Particulate filter, Front Fog Lights, Stereo, Multi Function Wheel, Auto Air Con, Diesel|- Features|* Excellent Value For Money!", 13147, []);
	vehiclelist[61]=new Vehicle(18, false, 2007, "Citroen C4 1.6 HDi Comfort Hatchback", 20200, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Particulate filter, Warranty, Front Fog Lights, Multi Function Wheel, Air Conditioning, Radio/CD/MP3, Diesel|- Features|* Excellent Value For Money!", 12947, []);
	vehiclelist[62]=new Vehicle(11, false, 2007, "Citroen C3 1.6i 16v VTR Hatchback", 9400, "Metallic Grey", "manual", "- Description|ABS, ESP, Auto Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Leather Seats, Immobilizer, Front Fog Lights, Parking Sensors|- Features|* Excellent Value For Money!", 12747, []);
	vehiclelist[63]=new Vehicle(14, false, 2007, "Citroen C3 Pluriel HDI 70 Style Design Cabriolet", 9322, "Metallic Orange", "manual", "- Description|ABS, Electric Windows, Central Locking, Airbags, Stereo, Immobilizer, Front Fog Lights|- Features|* Excellent Value For Money!", 12747, []);
	vehiclelist[64]=new Vehicle(5, false, 2007, "Citroen C2 1.6 16v Sport Hatchback", 15500, "Metallic Black", "manual", "- Description|Warranty, ABS,ESP, Auto Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Leather Seats, Immobilizer, Front Fog Lights|- Features|* Excellent Value For Money!", 12497, []);
	vehiclelist[65]=new Vehicle(26, false, 2007, "Citroen C4 1.6 VTR Plus Coupe Coupé", 8600, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Front Fog Lights, Radio/CD, Airbags, Air Conditioning, Petrol|- Features|* Excellent Value For Money!", 12497, []);
	vehiclelist[66]=new Vehicle(32, false, 2006, "Citroen C4 2.0 VTR Plus Hatchback", 12500, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, ESP, Immobilizer, Warranty, Front Fog Lights, Onboard Computer, Radio/CD|- Features|* Excellent Value For Money!", 12497, []);
	vehiclelist[67]=new Vehicle(79, false, 2006, "Citroen Xsara Picasso 1.6 Hatchback", 17000, "BLue Metallic", "manual", "- Description|ABS, ASR, Onboard Computer, Central Locking, Airbags, Radio, Immobiliser|- Features|* Excellent Value For Money!", 12447, []);
	vehiclelist[68]=new Vehicle(44, false, 2007, "Citroen C4 VTR Plus 1.6 16v Hatchback", 9500, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Electric windows, Immobilizer, Warranty, Front Fog Lights, Radio/CD, Centre Armrest|- Features|* Excellent Value For Money!", 12147, []);
	vehiclelist[69]=new Vehicle(9, false, 2007, "Citroen C3 1.6 HDi Comfort Hatchback", 18500, "Metallic Blue", "manual", "- Description|ABS, Alloy wheels, Central locking, Electric windows, ESP, Full Service History, Immobilizer, Particulate filter, Trailer coupling, Warranty, 4x Airbags, Radio/CD/MP3|- Features|* Excellent Value For Money!", 12097, []);
	vehiclelist[70]=new Vehicle(80, false, 2007, "Citroen Xsara Picasso 1.6 16v MPV", 14299, "Metallic Grey", "manual", "- Description|ABS, ESP, Auto Air Con, Electric Windows, Cruise Control, Central Locking, Airbags, Radio/CD, Parking Sensors, Front Fog Lights, Onboard Computer, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 12047, []);
	vehiclelist[71]=new Vehicle(13, false, 2006, "Citroen C3 Pluriel 1.4 Exclusive Cabriolet", 14000, "Metallic Silver", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric windows, Immobilizer, Leather seats, Sunroof, Warranty, Front Fog Lights, Auto Air Con, Stereo, Petrol|- Features|* Excellent Value For Money!", 11797, []);
	vehiclelist[72]=new Vehicle(25, false, 2005, "Citroen C4 1.6 HDi VTR Plus Hatchback", 20350, "Metallic Grey", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Electric heated seats, Electric windows, ESP, Full Service History, Immobilizer, Leather seats, Parking sensors, Particulate filter, Xenon headlights, Front Fog Lights|- Features|* Excellent Value For Money!", 11697, []);
	vehiclelist[73]=new Vehicle(3, false, 2007, "Citroen C2 1.4 HDi VTR Plus Hatchback", 7800, "Metallic Silver", "manual", "- Description|ABS, Auto Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, On Board Computer, Front Fog Lights|- Features|* Excellent Value For Money!", 11647, []);
	vehiclelist[74]=new Vehicle(6, false, 2007, "Citroen C2 1.6 16v Sport Hatchback", 20900, "Metallic Black", "manual", "- Description|ABS, Alloy wheels, Central locking, Electric heated seats, Electric windows, ESP, Leather seats, Front Fog Lights, Radio/CD|- Features|* Excellent Value For Money!", 11597, []);
	vehiclelist[75]=new Vehicle(4, false, 2007, "Citroen C2 1.4 VTR Plus Hatchback", 17000, "Metallic red", "manual", "- Description|Full Service History, ABS, Auto Air Con, Alloys, Leather Interior, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, 6 Loudspeakers, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 11497, []);
	vehiclelist[76]=new Vehicle(8, false, 2007, "Citroen C3 1.4 16v VTR Hatchback", 9160, "Metallic Red", "manual", "- Description|ABS, Alloy wheels, Central locking, Cruise control, Immobilizer, Leather seats, Warranty, Front Fog Lights, Radio/CD, Onboard Computer, Air Conditioning, Petrol|- Features|* Excellent Value For Money!", 11447, []);
	vehiclelist[77]=new Vehicle(7, false, 2007, "Citroen C3 1.4 Hatchback", 27400, "Metallic Red", "manual", "- Description|ABS, 17 Inch Alloy wheels, Central locking, Electric windows, Immobilizer, Warranty, Radio/CD, Onboard Computer, Front Fog Lights, Airbags, Auto Air Con, Petrol|- Features|* Excellent Value For Money!", 11097, []);
	vehiclelist[78]=new Vehicle(12, false, 2005, "Citroen C3 Pluriel  1.4 Style Cabriolet", 11800, "Metallic Silver", "manual", "- Description|Alloy wheels, Central locking, Electric windows, Immobilizer, Sunroof, Radio/CD, Airbags, Onboard Computer, Front Fog Lights, Auto Air Con, Petrol|- Features|* Excellent Value For Money!", 10697, []);
	vehiclelist[79]=new Vehicle(2, false, 2007, "Citroen C1 HDi 55 Style Hatchback", 11664, "Metallic Grey", "manual", "- Description|ABS, Manual Air Con, Electric Windows, Central Locking, Airbags, Radio/CD, Warranty|- Features|* Excellent Value For Money!", 10647, []);
	vehiclelist[80]=new Vehicle(33, false, 2006, "Citroen C4 Coupe 1.6 16v VTR Coupé", 12000, "Metallic Silver", "manual", "- Description|Warranty, ABS, ESP, ASR, Auto Air Con, Alloys, Cruise, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, 6 Loudpeakers, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 10397, []);
	vehiclelist[81]=new Vehicle(84, false, 2009, "Citroen Xsara Picasso 1.6 HDi VTX", 5400, "red", "manual", "This is the ever popular Citroen Xsara Picasso. This particular car is just 14 months old and has only covered 8,500 miles. Presented beautifully in Wicked Red Pearlecent paintwork it looks truly stunning.|The service book is fully stamped and is still under the manufacturer's warranty. The car is fantastic to drive, is cavernous inside with individual seats and one of the biggest boots in this sector. A brilliant first car, second car, family car, holiday home car or touring car.|If you'd like any more details or would like to enquire about this car, please eithwer fill in the form below or call us on +44(0)207 993 8447.", 10250, [11,9,12,10]);
}
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);

