var setup=[];
setup.cssfile="http://www.mattcardy.co.uk/showroom/client/clean.css";
setup.pagesizes=[5,10,25,50,0];
setup.site="hybridmasterlist";
setup.locale="USD";
setup.searchURL="http://www.mattcardy.co.uk/showroom/carlistsearch.php?site=hybridmasterlist&search=";
setup.viewURL="http://www.mattcardy.co.uk/showroom/viewupdate.php?site=hybridmasterlist&amp;id=";
setup.emailURL="http://www.mattcardy.co.uk/showroom/emailsales.php?site=hybridmasterlist&id=";
setup.thumburl="http://www.mattcardy.co.uk/showroom/data/hybridmasterlist/thumbs/";
setup.picurl="http://www.mattcardy.co.uk/showroom/data/hybridmasterlist/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(82, false, 2007, "Lexus LS 600H Saloon", 15000, "Metallic White", "manual", "- Description|Alloy Wheels, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Four Wheel Drive, Immobilizer, Navigation System, Onboard Computer, Airbags, Stereo, Multi Function Wheel, 5.0 Litre, 395 BHP, Diesel|- Features|* Excellent Value For Money!", 91047, []);
	vehiclelist[1]=new Vehicle(85, true, 2008, "Lexus LS600h L Saloon", 8, "Metallic Pearl White", "manual", "- Description|Hybrid, ABS, Keyless Go,  ESP, ASR, Auto Air Con, Climate Control, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Parking Sensors,   Multi Function Wheel, Centre Arm Rest, Electric Windows, Mirrors, Sunroof, Central Locking, Airbags, Radio/CD/MP3,CD Change,  Sound/ Entretainment System, Security System.|- Features|* Excellent Value For Money!", 77197, []);
	vehiclelist[2]=new Vehicle(84, false, 2008, "Lexus LS600h L Saloon", 14515, "Metallic Grey", "manual", "- Description|Hybrid,  ABS, Keyless Go, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System,  Cruise,  Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors, Sunroof, Central Locking, Airbags, Radio/CD, CD Change, Sound System,  DVD Player, Tinted Glass|- Features|* Excellent Value For Money!", 72397, []);
	vehiclelist[3]=new Vehicle(83, false, 2008, "Lexus LS600h L Saloon", 953, "Metallic Burgundy", "manual", "- Description|Hybrid,  ABS, Auto Air Con, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System,  Cruise,  Multi Function Wheel, Centre Arm Rest, Electric Windows & Mirrors, Sunroof, Traction Control, Central Locking, Airbags, Radio/CD, CD Change, DVD Player.|- Features|* Excellent Value For Money!", 71747, []);
	vehiclelist[4]=new Vehicle(7, true, 2008, "Lexus LS600h Saloon", 0, "Black", "", "- Description|Hybrid, Auto, Black Leather, Dynamic Radar Cruise Control, Executive Class Seating Package II,|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 65000, []);
	vehiclelist[5]=new Vehicle(13, true, 2008, "Lexus LS 600h Saloon", 0, "Black Metallic", "", "- Description|Black Leather, Executive Seating Class Package II, Dynamic Radar Cruise Control|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 65000, []);
	vehiclelist[6]=new Vehicle(6, true, 2008, "Lexus LS600h Saloon", 0, "Black Metallic", "", "- Description|Black Leather, Floor Mats, Prefferred Accessory Pack, Premium II Pack, Dynamic Radar Cruise Control|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 63000, []);
	vehiclelist[7]=new Vehicle(12, true, 2008, "Lexus LS 600h Saloon", 0, "Black Metallic", "", "- Description|Black Leather, Floor Mats, Preferred Accessory Pack, Premium Pack II, Dynamic Radar Cruise Control|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 62000, []);
	vehiclelist[8]=new Vehicle(14, false, 2008, "Lexus LS 600h Saloon", 450, "Starfire Pearl", "", "- Description|Cashmere Leather, Executive Seating Package II|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 61000, []);
	vehiclelist[9]=new Vehicle(9, true, 2008, "Lexus LS 600h Saloon", 0, "Black Met.", "", "- Description|5.0 V8 Hybrid CVT Auto, Premium Package II (Rear Seat Pack), Radar Cruise Control, Preffered Accessory Pack, Floor Mats, All Weather Mats|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 60000, []);
	vehiclelist[10]=new Vehicle(8, false, 2008, "Lexus LS600h Saloon", 3900, "Black Metallic", "", "- Description|Black Leather, Executive Seating Class Package II, Dynamic Radar Cruise Control|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 59000, []);
	vehiclelist[11]=new Vehicle(15, false, 2008, "Lexus LS600h Saloon", 3000, "Verdigris", "", "- Description|Black Leather, Premium Package II, Preferred Accessory pack, Floor Mats|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 58000, []);
	vehiclelist[12]=new Vehicle(10, false, 2008, "Lexus LS600h Saloon", 8000, "Black", "", "- Description|5.0 V8 Hybrid CVT Auto, Executive Class Seating Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 50000, []);
	vehiclelist[13]=new Vehicle(87, false, 2007, "Lexus RX 400h  Executive Saloon", 20000, "Metallic Black", "manual", "- Description|- Features|* Excellent Value For Money!", 42897, []);
	vehiclelist[14]=new Vehicle(90, false, 2007, "Lexus RX 400h Hybrid Saloon", 12500, "Metallic Grey", "manual", "- Description|Fuel Type:  Hybrid,  CO2 Emission. Leather Interior with Heated Elec.Seats, All Wheel Drive. Navigation System,  Air Con, Centre Arm Rest, Electric Windows, Central Locking, Airbags, Radio/CD/MP3.|- Features|* Excellent Value For Money!", 42897, []);
	vehiclelist[15]=new Vehicle(86, false, 2007, "Lexus RX 400 Hybrid Saloon", 20332, "Metallic Blue", "manual", "- Description|Hybrid.  ABS, ASR, Auto Air Con, Leather Interior with Heated Elec Adjust Seats,  Onboard Computer, Cruise, Xenon Headlights,  Centre Arm Rest, Electric Windows &  Mirrors, Central Locking, Airbags, Radio/CD,  Immobiliser.|- Features|* Excellent Value For Money!", 37197, []);
	vehiclelist[16]=new Vehicle(89, false, 2006, "Lexus RX 400h Executive 4x4", 19450, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto  Air Con, Alloys, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Onboard Computer, Parking Sensors, Cruise Control, Xenon lights, Rain Sensors, Centre Armrest, Multi-Function Wheel, Electric Windows, Mirrors and Sunroof, Central Locking, Airbags, Radio/CD,  CD Changer, Sound System, Alarm and Immobiliser, Warranty, Full Service History, Roof Rails.|- Features|* Excellent Value For Money!", 37197, []);
	vehiclelist[17]=new Vehicle(1, true, 2008, "Chevrolet Tahoe Hybrid SUV", 0, "Black", "", "- Description|Black Leather, 4x4, 6.0 V8 Hybrid Drive, Automatic, Rear Seat Entertainment, Navigation, CD, DVD, Satellite Radio, Electric Sunroof|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 32000, []);
	vehiclelist[18]=new Vehicle(91, false, 2006, "Lexus RX 400h Hybrid Saloon", 19312, "Metallic Grey", "manual", "- Description|Fuel Type: Hybrid.  FSH, ABS, ESP,  Auto Air Con, Four Wheel Drive, Alloys, Leather Interior with Heated Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Parking Sensors,  Xenon Headlights, Multi Function Wheel, Centre Arm Rest, Electric Windows &  Mirrors, Sliding Glass Sunroof, Central Locking, Airbags, Radio/CD, CD Change, Luggage Rack,  Alarm & Immobiliser.|- Features|* Excellent Value For Money!", 31147, []);
	vehiclelist[19]=new Vehicle(88, false, 2007, "Lexus RX 400h AWD Saloon", 31847, "Metallic Flint Grey", "manual", "- Description|Hybrid,  FSH, ABS, 18 Inch Alum. Wheels, Keyless Go,  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 and Sunroof, Central Locking, Airbags, Radio/CD, CD Change, Sound System,  Anti-Theft System.|- Features|* Excellent Value For Money!", 30147, []);
	vehiclelist[20]=new Vehicle(2, true, 2008, "Chevrolet Tahoe Hybrid SUV", 0, "Black", "", "- Description|6.0 V8 Hybrid Automatic, Ebony Leather, Electric Sunroof|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 30000, []);
	vehiclelist[21]=new Vehicle(3, true, 2008, "Chevrolet Tahoe Hybrid SUV", 0, "Black", "", "- Description|6.0 V8 Hybrid Automatic, Light Cashmere Leather, Electric Sunroof, Rear Seat Entertainment System|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 30000, []);
	vehiclelist[22]=new Vehicle(4, true, 2008, "Chevrolet Tahoe Hybrid SUV", 0, "Black", "", "- Description|Black Leather, 4x4 6.0 V8 Hybrid Drive, Automatic, Preferred Equipment Group 1HY, Electic Sunroof|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 30000, []);
	vehiclelist[23]=new Vehicle(5, true, 2008, "Chevrolet Tahoe Hybrid SUV", 0, "White", "", "- Description|Cashmere/Ebony Leather, Sunroof, Rear Entertainment System, XM Satellite Radio, Navigation - Pictures available on request|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 30000, []);
	vehiclelist[24]=new Vehicle(11, true, 2008, "Lexus RX400h SUV", 0, "Black", "", "- Description|3.3L V6 Hybrid Auto CVT, Black Leather, Navigation/Mark Levinson Package, Tow Bar Prep, Heated Front Seats, 18\" Alloys, Premium Pack, Premium Plus Pack, Wood Interior Trim|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27000, []);
	vehiclelist[25]=new Vehicle(23, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Silver", "", "- Description|3.3L Hybrid, Ash Leather, Sunroof, Rear Entertainment System, Navigation System, Dual Zone Climate Control, Rear Air Conditioning, Alarm & Immobiliser, Running Boards, Cross Bars|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27000, []);
	vehiclelist[26]=new Vehicle(24, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Blizzard Pearl", "", "- Description|3.3L Hybrid, Ash Leather, Sunroof, Rear Entertainment System, Navigation System, Dual Zone Climate Control, Rear Air Conditioning, Alarm & Immobiliser, Running Boards, Cross Bars|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27000, []);
	vehiclelist[27]=new Vehicle(92, false, 2007, "Toyota Camry 2.4 Hybrid Saloon", 14560, "Beige Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior with El Heated Seats, Elec Adjust Seats, Navigation System, Onboard Computer, Traction Control, Cruise, Rain Sensor, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows and Mirrors, Sunroof, Central Locking, 9x Airbags, Radio/CD, Immobiliser, Hybrid System(electr/fuel), Warranty.|- Features|* Excellent Value For Money!", 26997, []);
	vehiclelist[28]=new Vehicle(19, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Sand Beige Leather, Running Boards, Mats, Cargo Net, Bluetooth, Navigation, Sunroof, Rear Air Conditioner, Dual Zone Climate Control|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 26000, []);
	vehiclelist[29]=new Vehicle(21, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Silver", "", "- Description|3.3L Hybrid, Automatic, Ash Leather, Mats, Rear Climate Control, Dual Zone Climate Control, Sunroof, Alarm & Immobiliser, Naviagation System, Bluetooth|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 26000, []);
	vehiclelist[30]=new Vehicle(22, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Silver", "", "- Description|3.3L Hybrid, Automatic, Ash Leather, Mats, Rear Climate Control, Dual Zone Climate Control, Sunroof, Alarm & Immobiliser, Naviagation System, Bluetooth|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 26000, []);
	vehiclelist[31]=new Vehicle(80, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Ash Leather, Preferred Accessory Pack, Rear Climate Control, Dual Zone Climate Control, Sunroof, Rear Seat Entertainment System|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 25000, []);
	vehiclelist[32]=new Vehicle(16, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Silver", "", "- Description|Ash Leather, 3.3L V6 Hybrid Drive Auto, Electric Sunroof, Rear Seat Entertainment System, Dual Zone Climate Control, Mats, Prefferred Accessory Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 23000, []);
	vehiclelist[33]=new Vehicle(63, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Silver", "", "- Description|Ash Leather, 3.3L V6 Hybrid Drive Auto, Electric Sunroof, Rear Seat Entertainment System, Dual Zone Climate Control, Mats, Prefferred Accessory Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 22000, []);
	vehiclelist[34]=new Vehicle(78, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Sand Beige Cloth Interior, Mats, Dual Zone Air Conditioning, Popular Package, Tonneau Cover|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 22000, []);
	vehiclelist[35]=new Vehicle(79, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Sand Beige Cloth Interior, Mats, Dual Zone Air Conditioning, Popular Package, Tonneau Cover|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 22000, []);
	vehiclelist[36]=new Vehicle(81, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Ash Cloth, Preferred Accessory Pack, Popular Pack,|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 22000, []);
	vehiclelist[37]=new Vehicle(107, false, 2007, "Toyota Prius Hybrid Executive Saloon", 13300, "Silver", "manual", "- Description|Warranty, ABS, ESP, ASR, Auto Air Con, Alloys, Navigation System, Onboard Computer, Parking Sensors with Reverse Camera, Cruise, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Multi Function Display, Electric Windows, Central Locking, Airbags, Radio/CD, JBL Sound System, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 21547, []);
	vehiclelist[38]=new Vehicle(96, false, 2007, "Toyota Prius Hatchback", 13300, "Silver Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Navigation System, Cruise, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Warranty.|- Features|* Excellent Value For Money!", 20347, []);
	vehiclelist[39]=new Vehicle(98, false, 2007, "Toyota Prius (Hybrid) Hatchback", 8973, "Platin Silver Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Navigation System, Cruise, Centre Armrest, Multi-Function Wheel, Parking Sensors,|Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Smart Key System, Full Service History, Warranty.|- Features|* Excellent Value For Money!", 19497, []);
	vehiclelist[40]=new Vehicle(41, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Leather Package, Upgrade Package, Satellite Navigation, Comfort & Convenience Pack, Sunroof, Mats|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[41]=new Vehicle(42, true, 2008, "Toyota Camry Hybrid Saloon", 0, "White", "", "- Description|Ash Leather, Leather Package, Upgrade Package, Satellite Navigation, Comfort & Convenience Pack, Sunroof, Mats|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[42]=new Vehicle(44, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Leather Package, Upgrade Package, Satellite Navigation, Comfort & Convenience Pack, Sunroof, Mats, Remote Engine Start|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[43]=new Vehicle(45, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|Ash Leather, Rear Spolier, Remote Engine Start, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[44]=new Vehicle(46, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Remote Engine Start, Mats, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[45]=new Vehicle(47, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Bisque Leather, Remote Engine Start, Mats, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[46]=new Vehicle(48, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Remote Engine Start, Mats, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[47]=new Vehicle(50, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Black Leather, Remote Engine Start, Mats, Sunroof, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[48]=new Vehicle(64, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Iced Amethyst", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[49]=new Vehicle(65, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Iced Amethyst", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[50]=new Vehicle(66, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Iced Amethyst", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[51]=new Vehicle(67, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Classic Silver", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[52]=new Vehicle(68, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Classic Silver", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[53]=new Vehicle(69, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Wave Line Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[54]=new Vehicle(70, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Wave Line Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[55]=new Vehicle(71, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Wave Line Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[56]=new Vehicle(72, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Blizzard Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[57]=new Vehicle(73, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Blizzard Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[58]=new Vehicle(74, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Cypress Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[59]=new Vehicle(75, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Cypress Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[60]=new Vehicle(76, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Cypress Pearl", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[61]=new Vehicle(77, true, 2008, "Toyota Highlander Hybrid SUV", 0, "Black", "", "- Description|Ash Cloth Trim, 17\" Alloys, CD/MP3 Player|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 19000, []);
	vehiclelist[62]=new Vehicle(97, false, 2007, "Toyota Prius Hatchback", 9500, "Marlin Grey Metalli", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Cruise, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser.|- Features|* Excellent Value For Money!", 18747, []);
	vehiclelist[63]=new Vehicle(99, false, 2006, "Toyota Prius (Hybrid) Hatchback", 8800, "Platin Silver Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Leather Seats, Onboard Computer, Navigation System, Cruise, Centre Armrest, Multi-Function Wheel, Traction Control, Front Fog Lights, Electric Windows and Mirrors, Central Locking, 6 x Airbags, Radio/CD, Immobiliser, Smart Key System, Full Service History, Warranty.|- Features|* Excellent Value For Money!", 18447, []);
	vehiclelist[64]=new Vehicle(104, false, 2007, "Toyota Prius 1.5 VVT-i Hatchback", 8000, "Blue Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Cruise, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, 6 x Airbags, Radio/CD, Immobiliser, Warranty.|- Features|* Excellent Value For Money!", 18097, []);
	vehiclelist[65]=new Vehicle(17, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|2.4 Hybrid Auto, Ash Leather, Remote Engine Start, Mats, Sunroof, Confort & Convenience Pack, Upgrade Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[66]=new Vehicle(18, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|2.4 Hybrid Auto, Ash Leather, Leather Pack, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack with Navigation|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[67]=new Vehicle(20, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, 2.4L Hybrid Auto, Leather Pack, Upgrade Pack, Heated Mirrors, Comfort & Convenience Pack, Sunroof, Mats, Remote Start|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[68]=new Vehicle(43, true, 2008, "Toyota Camry Hybrid Saloon", 0, "White", "", "- Description|Bisque Leather, Carpet Mats, Sunroof, Comfort & Convenience Pack, Leather Pack, Upgrade Pack, Navigation System|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[69]=new Vehicle(49, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Ash Leather, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[70]=new Vehicle(51, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Bisque Leather, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[71]=new Vehicle(52, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[72]=new Vehicle(54, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Titanium", "", "- Description|Ash Leather, Sunroof, Navigation, Convenience Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[73]=new Vehicle(56, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Red Metallic", "", "- Description|Bisque Leather, Mats, Sunroof, Navigation, Convenience Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[74]=new Vehicle(57, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Ash Leather, Mats, Sunroof, Convenience Pack,  Navigation, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[75]=new Vehicle(58, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Blue Metallic", "", "- Description|Ash Leather, Sunroof, Navigation, Convenience Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[76]=new Vehicle(62, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Bisque Leather, Mats, Sunroof, Navigation, Convenience Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 18000, []);
	vehiclelist[77]=new Vehicle(103, false, 2006, "Toyota Prius 1,5 Hybrid Hatchback", 7200, "Platin Silver Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Navigation System, Cruise, Centre Armrest, Multi-Function Wheel, Park Assistant, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Smart Key System, Disabled Access.|- Features|* Excellent Value For Money!", 17997, []);
	vehiclelist[78]=new Vehicle(102, false, 2007, "Toyota Prius 1,5 Hatchback", 12300, "Blue metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Seats, Navigation System, Cruise, Parking Sensors, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Warranty.|- Features|* Excellent Value For Money!", 17897, []);
	vehiclelist[79]=new Vehicle(95, false, 2007, "Toyota Prius Hatchback", 12647, "Silver Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Navigation System, Cruise, Outside Temperature Announcement, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD/MP3, Immobiliser, Smart Key, Warranty.|- Features|* Excellent Value For Money!", 17797, []);
	vehiclelist[80]=new Vehicle(53, true, 2008, "Toyota Camry Hybrid Saloon", 0, "White", "", "- Description|Bisque Leather, Mats, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17500, []);
	vehiclelist[81]=new Vehicle(61, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Blue Metallic", "", "- Description|Ash Leather, Mats, Sunroof, Convenience Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17500, []);
	vehiclelist[82]=new Vehicle(105, false, 2007, "Toyota Prius 1.5 VVT-i Hatchback", 15750, "Black Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Cruise, Outside Temperature Announcement, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Audio System, Immobiliser, Smart Key, Warranty.|- Features|* Excellent Value For Money!", 17397, []);
	vehiclelist[83]=new Vehicle(93, false, 2007, "Toyota Prius Hatchback", 9900, "Silver Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Onboard Computer, Cruise, Centre Armrest, Multi-Function Wheel, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Warranty.|- Features|* Excellent Value For Money!", 17347, []);
	vehiclelist[84]=new Vehicle(94, false, 2007, "Toyota Prius Hatchback", 9500, "Blue Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Seats, Cruise, Centre Armrest, Multi-Function Wheel, Traction Control, Front Fog Lights, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Audio System, Immobiliser, Smart Key.|- Features|* Excellent Value For Money!", 17347, []);
	vehiclelist[85]=new Vehicle(101, false, 2007, "Toyota Prius 1,5 Hatchback", 12600, "Silver Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Seats, Navigation System, Cruise, Centre Armrest, Multi-Function Wheel, Electric Windows and Mirrors, Central Locking, 7x Airbags, Radio/CD, Immobiliser, Warranty.|- Features|* Excellent Value For Money!", 17347, []);
	vehiclelist[86]=new Vehicle(100, false, 2006, "Toyota Prius (Hybrid) Hatchback", 8000, "Silver Metallic", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, El Heated Seats, Cruise, Centre Armrest, Multi-Function Wheel, Traction Control, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Audio System, Immobiliser, Smart Key System, Warranty.|- Features|* Excellent Value For Money!", 17347, []);
	vehiclelist[87]=new Vehicle(106, false, 2006, "Toyota Prius 1.5 VVT-i Hatchback", 7200, "Green Metallic", "manual", "- Description|ABS, ESP, ASR, Auto Air Con, Alloys, El Heated Seats, Outside Temperature Announcement, Cruise, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows and Mirrors, Central Locking, Airbags, Radio/CD, Audio System with 6 Loudspeakers, Immobiliser.|- Features|* Excellent Value For Money!", 17247, []);
	vehiclelist[88]=new Vehicle(25, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|Ash Leather, Carpet Mats, XM Satellite Radio, Navigation System, Sunroof, Comfort & Convenience Pack, Upgrade Pack, Leather Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[89]=new Vehicle(26, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[90]=new Vehicle(27, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Bisque Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[91]=new Vehicle(28, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Red Metallic", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[92]=new Vehicle(29, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[93]=new Vehicle(30, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[94]=new Vehicle(31, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[95]=new Vehicle(32, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[96]=new Vehicle(33, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Blue", "", "- Description|Ash Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[97]=new Vehicle(34, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Desert Sand", "", "- Description|Bisque Leather, Carpet Mats, Comfort & Convenience Pack, Upgrade Pack with Navigation, Leather Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[98]=new Vehicle(59, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Grey Metallic", "", "- Description|Ash Cloth Trim, Heated Mirrors, Sunroof|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[99]=new Vehicle(60, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Ash Cloth Trim, Heated Mirrors, Sunroof, Preferred Accessory Pack|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 17000, []);
	vehiclelist[100]=new Vehicle(55, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Black", "", "- Description|Bisque Cloth Trim, Mats, Sunroof, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16500, []);
	vehiclelist[101]=new Vehicle(35, true, 2008, "Toyota Camry Hybrid Saloon", 0, "White", "", "- Description|Ash Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
	vehiclelist[102]=new Vehicle(36, true, 2008, "Toyota Camry Hybrid Saloon", 0, "White", "", "- Description|Ash Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
	vehiclelist[103]=new Vehicle(37, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
	vehiclelist[104]=new Vehicle(38, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Silver", "", "- Description|Ash Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
	vehiclelist[105]=new Vehicle(39, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Jasper Pearl", "", "- Description|Bisque Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
	vehiclelist[106]=new Vehicle(40, true, 2008, "Toyota Camry Hybrid Saloon", 0, "Jasper Pearl", "", "- Description|Bisque Cloth Trim, Mats, Heated Mirrors, Upgrade Package|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 16000, []);
}
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);

