var setup=[];
setup.cssfile="http://www.mattcardy.co.uk/showroom/client/orange.css";
setup.pagesizes=[5,10,25,50,0];
setup.site="lhdmitsubishi";
setup.locale="GBP";
setup.searchURL="http://www.mattcardy.co.uk/showroom/carlistsearch.php?site=lhdmitsubishi&search=";
setup.viewURL="http://www.mattcardy.co.uk/showroom/viewupdate.php?site=lhdmitsubishi&amp;id=";
setup.emailURL="http://www.mattcardy.co.uk/showroom/emailsales.php?site=lhdmitsubishi&id=";
setup.thumburl="http://www.mattcardy.co.uk/showroom/data/lhdmitsubishi/thumbs/";
setup.picurl="http://www.mattcardy.co.uk/showroom/data/lhdmitsubishi/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(18, false, 2007, "Mitsubishi L200 DI-D Intense 4x4", 15000, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Heated Seats, Electric Windows, ESP, Four Wheel Drive, Immobilizer, Front Fog Lights, Radio/CD/MP3, Traction Control, 2.5 Litre, Diesel|- Features|* Excellent Value For Money!", 34747, []);
	vehiclelist[1]=new Vehicle(1, true, 2008, "Mitsubishi Lancer Evolution Saloon", 0, "Red Metallic", "manual", "- Description|2.0L 4x4, Black Cloth Interior, Sight Sound & Spoiler Pack, 30GB HDD Navigation with Music Server, Accessory Navigation Pack, Aero Kit GSR|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 30995, []);
	vehiclelist[2]=new Vehicle(47, false, 2007, "Mitsubishi Pajero AHK Instyle 4x4", 11200, "Metallic Kingdom Blue", "manual", "- Description|FSH, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, Navigation System, Parking Sensors, Cruise, Xenons, Front Fog Lights, Multi-Function Leather Steering Wheel, Electric Windows, Mirrors, Roof Rails, Central Locking, Airbags, Radio/CD/MP3, Immobiliser|- Features|* Excellent Value For Money!", 30097, []);
	vehiclelist[3]=new Vehicle(46, false, 2007, "Mitsubishi Pajero 3.2 Instyle 4x4", 9500, "Metallic Graphite Grey", "manual", "- Description|FSH, ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, Navigation System, Parking Sensors, Cruise, Xenons, Centre Armrest, Front Fog Lights, Multi-Function Steering Wheel, Electric Windows, Roof Rails, Central Locking, Immobiliser|- Features|* Excellent Value For Money!", 29247, []);
	vehiclelist[4]=new Vehicle(2, true, 2008, "Mitsubishi Lancer Evolution Saloon", 0, "Red Metallic", "manual", "- Description|2.0L 4x4, Black Cloth Interior|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27995, []);
	vehiclelist[5]=new Vehicle(3, true, 2008, "Mitsubishi Lancer Evolution Saloon", 0, "Phantom Black", "manual", "- Description|Black Cloth Interior|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27995, []);
	vehiclelist[6]=new Vehicle(4, true, 2008, "Mitsubishi Lancer Evolution Saloon", 0, "Rally Red Metallic", "manual", "- Description|Black Cloth Interior, Interior Sport Pack, Wheel Locks|- Features|* US Import - Price Excludes Shipping|* Duty & VAT", 27995, []);
	vehiclelist[7]=new Vehicle(45, false, 2007, "Mitsubishi Pajero 3.2 Instyle 4x4", 12000, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, Elec Adjust Seats, Navigation System with DVD Player, On Board Computer, Parking Sensors, Cruise, Xenons, Centre Armrest, Front Fog Lights, Multi-Function Steering Wheel, Electric Windows, Roof Rails, Central Locking, Airbags, Radio/CD, Immobiliser, Trailer Coupling, Sunroof|- Features|* Excellent Value For Money!", 27847, []);
	vehiclelist[8]=new Vehicle(35, false, 2007, "Mitsubishi Outlander 2.2 DI-D Instyle 4x4", 9900, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobilizer, Navigation System, Parking Sensors, Sunroof, Xenon Headlights, Front Fog Lights, Radio/CD, 2.2 Litre, Diesel|- Features|* Excellent Value For Money!", 27397, []);
	vehiclelist[9]=new Vehicle(27, false, 2007, "Mitsubishi Lancer Evolution IX Sportpack Saloon", 6323, "Metallic Royal Blue", "manual", "- Description|Full Service History, Warranty,  Four Wheel Drive, 280 BHP, ABS, Auto Air Con, Alloys, Recaro Leather Interior, Front Fog Lights, Electric Windows, Central Locking, Airbags, Stereo, 6 Loudspeakers, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 27197, []);
	vehiclelist[10]=new Vehicle(34, false, 2007, "Mitsubishi Outlander 2.2 DI-D Instyle 4x4", 7500, "Metallic Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobilizer, Navigation System, Parking Sensors, Sunroof, Trailer Coupling, Xenon Headlights, Front Fog Lights, Stereo, 2.2 Litre, Diesel|- Features|* Excellent Value For Money!", 26847, []);
	vehiclelist[11]=new Vehicle(39, false, 2007, "Mitsubishi Pajero 4x4", 12427, "Metallic Black", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, Centre Armrest, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 26147, []);
	vehiclelist[12]=new Vehicle(33, false, 2007, "Mitsubishi Outlander 2.2 DI-D Instyle 4x4", 11000, "Metallic Beige", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobilizer, Navigation System, Parking Sensors, Sunroof, Xenon Headlights, Front Fog Lights, 2.2 Litre, Diesel|- Features|* Excellent Value For Money!", 24797, []);
	vehiclelist[13]=new Vehicle(41, false, 2006, "Mitsubishi Pajero 4x4", 6089, "Metallic Black", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Cruise, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 22847, []);
	vehiclelist[14]=new Vehicle(31, false, 2007, "Mitsubishi Outlander 2.0 Instyle 4x4", 6500, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, Elec Adjust Seats, Navigation System with Back Driving Camera, On Board Computer, Cruise, Xenons, Rain Sensor, Centre Armrest, Front Fog Lights, Multi-Function Leather Steering Wheel, Electric Windows, Mirrors and Sunroof, Roof Rails, Central Locking, Airbags, Radio/CD, Premium Sound System, Immobiliser, Roof Spoiler, Bluetooth|- Features|* Excellent Value For Money!", 22797, []);
	vehiclelist[15]=new Vehicle(23, false, 2007, "Mitsubishi Lancer 2.0 DI-D Instyle Saloon", 6000, "Metallic Black", "manual", "- Description|140 BHP, ABS, ESP, ASR, Auto Air Con, 18 Inch Alloy Wheels, Leather Interior with Heated, Elec Adjust Seats, Navigation System, Onboard Computer, Cruise, Xenons, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows and Mirrors, Central Locking, 6x Airbags, Premium Audio System with 650Watt Amplifier, 8-High-End Loudspeakers and 25cm Subwoofer Radio/CD/MP3, Immobiliser and Alarm System, Bluetooth, Mitsubishi Multi Communication System|- Features|* Excellent Value For Money!", 22647, []);
	vehiclelist[16]=new Vehicle(38, false, 2006, "Mitsubishi Pajero 4x4", 13012, "Metallic Grey", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior, Navigation System, Centre Armrest, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 22497, []);
	vehiclelist[17]=new Vehicle(30, false, 2007, "Mitsubishi Outlander 2.0 DI-D Instyle 4x4", 6500, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Four Wheel Drive, Immobilizer, Sunroof, Xenon Headlights, Front Fog Lights, Onboard Computer, Radio/CD/MP3, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 22447, []);
	vehiclelist[18]=new Vehicle(36, false, 2007, "Mitsubishi Pajero 4x4", 7282, "Metallic Black", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, On Board Computer, Front Fog Lights, Electric Windows, Mirrors, Central Locking, Airbags, Radio/CD, Immobiliser, Diesel|- Features|* Excellent Value For Money!", 22297, []);
	vehiclelist[19]=new Vehicle(37, false, 2006, "Mitsubishi Pajero 4x4", 9879, "Metallic Silver", "manual", "- Description|ABS, Auto Air Con, Alloys, Cruise, Centre Armrest, Navigation System, Leather Interior with Heated Seats, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 21847, []);
	vehiclelist[20]=new Vehicle(40, false, 2006, "Mitsubishi Pajero 4x4", 6492, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Centre Armrest, Leather Interior with Heated Seats, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 21797, []);
	vehiclelist[21]=new Vehicle(22, false, 2006, "Mitsubishi L200 Pick Up Intense Double Ca 4x4", 20000, "Metallic Red", "manual", "- Description|Full Service History, Warranty, Four Wheel Drive, ABS, ESP, Auto Air Con, Alloys, Parking Sensors, Front Fog Lights, Electric Windows, Central Locking, Airbags, Stereo, Immobiliser and Alarm System|- Features|* Excellent Value For Money!", 20947, []);
	vehiclelist[22]=new Vehicle(24, false, 2007, "Mitsubishi Lancer 2.0 DI-D Instyle Saloon", 9990, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Full Service History, Immobilizer, Navigation System, Xenon Headlights, Front Fog Lights, Multi Function Wheel, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 20497, []);
	vehiclelist[23]=new Vehicle(44, false, 2006, "Mitsubishi Pajero 3.2 Diesel 4x4", 11495, "Metallic Black", "manual", "- Description|FSH, ABS, ESP, Auto Air Con, Alloys, Cruise Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 20497, []);
	vehiclelist[24]=new Vehicle(48, false, 2007, "Mitsubishi Pajero Diesel 4x4", 7282, "Metallic Black", "manual", "- Description|ABS, Auto Air Con, Alloys, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 20447, []);
	vehiclelist[25]=new Vehicle(13, false, 2007, "Mitsubishi Grandis 2.0 DI-D Intense Estate", 10000, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Immobilizer, Navigation System, Front Fog Lights, Radio/CD/MP3, Traction Control, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 20397, []);
	vehiclelist[26]=new Vehicle(32, false, 2007, "Mitsubishi Outlander 2.0 Intense 4x4", 12000, "Metallic Black", "manual", "- Description|FSH, ABS, Auto Air Con, Alloys, Heated Seats, Cruise, Front Fog Lights, Electric Windows, Roof Rails, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 19997, []);
	vehiclelist[27]=new Vehicle(43, false, 2006, "Mitsubishi Pajero 3.2 Diesel 4x4", 16777, "Metallic Green", "manual", "- Description|ABS, Air Con, Alloys, Cruise, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 19847, []);
	vehiclelist[28]=new Vehicle(42, false, 2005, "Mitsubishi Pajero 3.2 Diesel 4x4", 14291, "Metallic Silver", "manual", "- Description|ABS, Auto Air Con, Alloys, Navigation System,, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 19847, []);
	vehiclelist[29]=new Vehicle(14, false, 2006, "Mitsubishi Grandis 2.0 DI-D Intense Premi Estate", 10100, "Metallic Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Heated Leather Seats, Electric Windows, ESP, Immobilizer, Navigation System, Xenon Headlights, Front Fog Lights, Airbags, Radio/CD, Onboard Computer, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 19147, []);
	vehiclelist[30]=new Vehicle(25, false, 2007, "Mitsubishi Lancer 2.0 DI-D Instyle Saloon", 13000, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Heated Leather Seats, Electric Windows, ESP, Immobilizer, Navigation System, Parking Sensors, Xenon Headlights, Front Fog Lights, Multi Function Wheel, Radio/CD/MP3, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 18797, []);
	vehiclelist[31]=new Vehicle(19, false, 2007, "Mitsubishi L200 Intense Double Cab 4x4", 18900, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobilizer, Traction Control, Front Fog Lights, Radio/CD/MP3, Auto Air Con, 2.5 Litre, Diesel|- Features|* Excellent Value For Money!", 18397, []);
	vehiclelist[32]=new Vehicle(20, false, 2006, "Mitsubishi L200 Intense Double Cab 4x4", 14800, "Metallic Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Four Wheel Drive, Full Service History, Immobilizer, Radio/CD, Airbags, Onboard Computer, Front Fog Lights, 2.5 Litre, Diesel|- Features|* Excellent Value For Money!", 18397, []);
	vehiclelist[33]=new Vehicle(21, false, 2006, "Mitsubishi L200 Intense Double Cab 4x4", 24900, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Four Wheel Drive, Immobilizer, Trailer Coupling, Front Fog Lights, Radio/CD/MP3, Traction Control, 2.5 Litre, Diesel|- Features|* Excellent Value For Money!", 18397, []);
	vehiclelist[34]=new Vehicle(17, false, 2007, "Mitsubishi L200 4x4", 12500, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Centre Armrest, Front Fog Lights, Multi-Function Wheel, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 18347, []);
	vehiclelist[35]=new Vehicle(16, false, 2007, "Mitsubishi Grandis DI-D Invite Estate", 29500, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central locking, Cruise Control, Electric Windows, ESP, Immobilizer, Navigation System, Radio/CD/MP3, Front Fog Lights, Traction Control, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 17797, []);
	vehiclelist[36]=new Vehicle(26, false, 2007, "Mitsubishi Lancer 2.0 DI-D Intense Saloon", 7500, "Metallic Black", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Cruise Control, Electric Windows, ESP, Full Service History, Immobilizer, Radio/CD, Airbags, Rain Sensor, Traction Control, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 17697, []);
	vehiclelist[37]=new Vehicle(29, false, 2007, "Mitsubishi Outlander 2.0 Estate", 14000, "Metallic Silver", "manual", "- Description|ABS, Auto Air Con, Alloys, Leather Interior with Heated Seats, Centre Armrest, Front Fog Lights, Electric Windows, Central Locking, Airbags, Radio/CD/MP3, Roof Rails, Immobiliser, Roof Spoiler|- Features|* Excellent Value For Money!", 16297, []);
	vehiclelist[38]=new Vehicle(15, false, 2007, "Mitsubishi Grandis DI-D Intense Estate", 19675, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Immobilizer, DVD Navigation System, Trailer Coupling, Radio/CD, Airbags, Onboard Computer, Traction Control, 2.0 Litre, Diesel|- Features|* Excellent Value For Money!", 16097, []);
	vehiclelist[39]=new Vehicle(10, false, 2007, "Mitsubishi Colt CZC Cabriolet", 7854, "Metallic Chili Red", "manual", "- Description|FSH, ABS, ESP, Air Con, Alloys, Leather Interior with Heated Seats, Front Fog Lights, Leather Steering Wheel, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser, Hardtop|- Features|* Excellent Value For Money!", 13597, []);
	vehiclelist[40]=new Vehicle(7, false, 2007, "Mitsubishi Colt 1.5 DI-D Motion Hatchback", 18440, "Metallic Grey", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Full Service History, Immobilizer, Stereo, Front Fog Lights, Traction Control, 1.5 Litre, Diesel|- Features|* Excellent Value For Money!", 12397, []);
	vehiclelist[41]=new Vehicle(8, false, 2007, "Mitsubishi Colt 1.5 DI-D Motion Plus Hatchback", 17100, "Metallic Silver", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Full Service History, Immobilizer, Front Fog Lights, Radio/CD, Airbags, 1.5 Litre, Diesel|- Features|* Excellent Value For Money!", 12397, []);
	vehiclelist[42]=new Vehicle(11, false, 2007, "Mitsubishi Colt CZC Cabriolet", 13300, "Metallic Silver", "manual", "- Description|ABS, ESP, Auto Air Con, Alloys, Leather Interior with Heated Seats, On Board Computer, Front Fog Lights, Leather Steering Wheel, Electric Windows, Central Locking, Airbags, Radio/CD, Immobiliser|- Features|* Excellent Value For Money!", 12247, []);
	vehiclelist[43]=new Vehicle(28, false, 2007, "Mitsubishi Lancer Kombi 1.9 Estate", 25466, "Metallic Silver", "manual", "- Description|FSH, ABS, Air Con, Alloys, Centre Armrest, Leather Steering Wheel, Fog Tail Light, Electric Windows, Central Locking, Airbags, Immobiliser, Trailer Coupling, Roof Spoiler|- Features|* Excellent Value For Money!", 11997, []);
	vehiclelist[44]=new Vehicle(9, false, 2006, "Mitsubishi Colt 1.5 Invite Cabriolet", 23050, "Metallic Blue", "manual", "- Description|FSH, ABS, ESP, Auto Air Con, Alloys, Multi Function Wheel, Electric Windows,  Central Locking, Electric Folding Roof, Airbags, Radio/CD/MP3,  Immobiliser.|- Features|* Excellent Value For Money!", 11897, []);
	vehiclelist[45]=new Vehicle(5, false, 2006, "Mitsubishi Colt 1.5 DI-D Instyle Hatchback", 21900, "Metallic Aqua Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Heated Leather Seats, Electric Windows, ESP, Immobilizer, Front Fog Lights, Radio/CD, Onboard Computer, 1.5 Litre, Diesel|- Features|* Excellent Value For Money!", 11747, []);
	vehiclelist[46]=new Vehicle(6, false, 2006, "Mitsubishi Colt 1.5 DI-D Motion Hatchback", 10638, "Metallic Blue", "manual", "- Description|ABS, Alloy Wheels, Central Locking, Electric Windows, ESP, Immobilizer, Auto Air Con, Radio/CD/MP3, Airbags, Front Fog Lights, Onboard Computer, 1.5 Litre, Diesel|- Features|* Excellent Value For Money!", 11397, []);
	vehiclelist[47]=new Vehicle(12, false, 2003, "Mitsubishi Galloper 2.5D Super Exceed LX 4x4", 130000, "Silver", "manual", "- Description|1 Owner with FSH, Grey Cloth Interior, 7 Seats, Alloys, Auto Dim Mirror, Electric Windows, Elec Heated Mirrors, Central Locking, Airbags, Immobiliser|- Features|* Excellent Value For Money!", 8497, []);
}
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);

