function createDropdown(e, name, data, l) { var dropdown = document.createElement("select"); dropdown.setAttribute("id", name); e.appendChild(dropdown); fillDropdown(dropdown, data, l); return dropdown; } function clipText(s, len) { return (s.length < len + 1) ? s : (s.substring(0, len) + "…"); } function fillDropdown(d, data, l) { var maxLen = l; for (var i = 0; i < data.length; ++i) { var option = document.createElement("option"); var displayVal = clipText(data[i], maxLen); option.setAttribute("value", data[i]); d.appendChild(option); option.appendChild(document.createTextNode(displayVal)); } d.selectedIndex = 0; } function resetState(d) { var form = d.parentNode; var iselect = 0; for (; iselect < form.elements.length; ++iselect) { if (form[iselect] == d) break; } if (1 + iselect < form.elements.length) { var target = form.elements[1 + iselect]; clearDropdown(target); fillDropdown(target, form.ymm.data[1 + iselect][selectedValue1(d)], form.ymm.maxLen); target.disabled = (target.options.length <= 1); resetState(form.elements[1 + iselect]); } } function clearDropdown(d) { if (d && d.options) { for (ifield = d.options.length - 1; ifield >= 0; --ifield) { d.removeChild(d.options[ifield]); } } } function selectedValue1(e) { if ("select-one" == e.type) return e.options[e.selectedIndex].value; if ("select-multiple" == e.type) { var result = ""; for (var ifield = 0; ifield < e.options.length; ifield++) { if (e.options[ifield].selected) result += e.options[ifield].value + ','; } return result.substring(0, result.length - 1); } } function selectedValue(f, el) { return selectedValue1(f.elements[el]); } function buildYmms() { var ymms = document.getElementsByTagName("div"); for (var i = 0; i < ymms.length; ++i) { if ("ymm" == ymms[i].getAttribute("className") || "ymm" == ymms[i].getAttribute("class")) createForm(ymms[i]); } } var ymm = {"all":{"maxLen":13,"urls":["","http://research.cars.uk.msn.com/autos/vip/AutoMaker.aspx?make={0}"],"url":"http://research.cars.uk.msn.com/autos/vip/default.aspx?year=&make={0}&model={1}","data":[['Marque :','Acura','Alfa Romeo','Aston Martin','Audi','Bentley','BMW','Buick','Cadillac','Chevrolet','Chrysler','Daewoo','Dodge','Eagle','Ferrari','Ford','Geo','GMC','Honda','Hummer','Hyundai','Infiniti','Isuzu','Jaguar','Jeep','Kia','Lada','Lamborghini','Land Rover','Lexus','LINCOLN','Lotus','Maserati','Maybach','Mazda','Mercedes-Benz','Mercury','Mini','Mitsubishi','Nissan','Oldsmobile','Plymouth','Pontiac','Porsche','Rolls-Royce','Saab','Saturn','smart','Subaru','Suzuki','Toyota','Volkswagen','Volvo'],{'Marque :':['Modèle :'],'Acura':['Modèle :','Tous les modèles','CL','CSX','EL','Integra','Legend','MDX','NSX','RDX','RL','RSX','TL','TSX'],'Alfa Romeo':['Modèle :','Tous les modèles','164'],'Aston Martin':['Modèle :','Tous les modèles','DB7','DB9','DBS','V8 Vantage','V8 Vantage Roadster','Vanquish S'],'Audi':['Modèle :','Tous les modèles','90','A3','A4','A5','A6','A8','Allroad Quattro','Cabriolet','Q5','Q7','R8','RS4','RS6','S4','S5','S6','S8','TT','TTS'],'Bentley':['Modèle :','Tous les modèles','Arnage','Azure','Brooklands','Continental Flying Spur','Continental GT','Continental GTC','Continental Supersports'],'BMW':['Modèle :','Tous les modèles','1 Series','3 Series','5 Series','6 Series','7 Series','8 Series','M','M Series','X3','X5','X6','Z3','Z4','Z8'],'Buick':['Modèle :','Tous les modèles','Allure','Century','Enclave','LaCrosse','LeSabre','Lucerne','Park Avenue','Rainier','Regal','Rendezvous','Riviera','Roadmaster','Skylark','Terraza'],'Cadillac':['Modèle :','Tous les modèles','Catera','CTS','CTS Sport Wagon','DeVille','DTS','Eldorado','Escalade','Escalade ESV','Escalade EXT','Fleetwood','Seville','SRX','STS','XLR'],'Chevrolet':['Modèle :','Tous les modèles','Astro','Astro Cargo','Avalanche','Aveo','Aveo5','Beretta','Blazer','C1500','C2500','C3500','Camaro','Caprice','Cavalier','Chevy Van','Classic Silverado','Cobalt','Colorado','Corsica','Corvette','Epica','Equinox','Express','Express Cargo','HHR','Impala','K1500','K2500','K3500','Lumina','Lumina Minivan','Malibu','Malibu Maxx','Metro','Monte Carlo','Optra','Optra Wagon','Optra5','S-10','Silverado','Silverado 1500','Silverado 2500HD','Silverado 3500','Sportvan','SSR','Suburban','Tahoe','Tracker','TrailBlazer','Traverse','Uplander','Venture','Venture Cargo'],'Chrysler':['Modèle :','Tous les modèles','300','300M','Aspen','Cirrus','Concorde','Crossfire','Intrepid','LeBaron','LHS','Neon','New Yorker','Pacifica','PT Cruiser','Sebring','Town & Country'],'Daewoo':['Modèle :','Tous les modèles','Lanos','Leganza','Nubira'],'Dodge':['Modèle :','Tous les modèles','Avenger','Caliber','Caravan','Caravan Cargo','Challenger','Charger','COLT','Dakota','Durango','Grand Caravan','Grand Caravan Cargo','Journey','Magnum','Neon','Nitro','Power Ram','Ram','Ram 1500','Ram 2500','Ram 3500','Ram Pickup','Ram Van','Ram Wagon','SPIRIT','Sprinter Van','Sprinter Wagon','Stealth','Stratus','SX','SX 2.0','Viper'],'Eagle':['Modèle :','Tous les modèles','Summit','Talon','Vision'],'Ferrari':['Modèle :','Tous les modèles','599','612','California','F430'],'Ford':['Modèle :','Tous les modèles','Aerostar','Aspire','Bronco','Club Wagon','Contour','Crown Victoria','Econoline Van','Econoline Wagon','Edge','Escape','Escape Hybrid','Escort','E-Series Van','E-Series Wagon','Excursion','Expedition','Expedition MAX','Explorer','Explorer Sport Trac','F-150','F-150 Heritage','F-250','F-250 Super Duty','F-350','F-350 Super Duty','F-450 Super Duty','Five Hundred','Flex','Focus','Freestar','Freestyle','Fusion','Grand Marquis','GT','Mustang','Probe','Ranger','Shelby GT500','SVT Focus','Taurus','Taurus X','Thunderbird','Transit Connect','Windstar','Windstar Van'],'Geo':['Modèle :','Tous les modèles','metro','Tracker'],'GMC':['Modèle :','Tous les modèles','Acadia','C1500','C2500','C3500','Canyon','Classic Sierra','Envoy','Jimmy','K1500','K2500','K3500','Rally','Safari','Safari Cargo','Savana','Savana Cargo','Sierra','Sierra 1500','Sierra 2500HD','Sierra 3500','Sonoma','Suburban','Terrain','YUKON','Yukon XL'],'Honda':['Modèle :','Tous les modèles','Accord','Accord Coupe','Accord Hybrid','Accord Sedan','Civic','Civic Coupe','Civic Hybrid','Civic Sedan','CR-V','Del Sol','Element','Fit','Insight','Odyssey','Pilot','Prelude','Ridgeline','S2000'],'Hummer':['Modèle :','Tous les modèles','H2','H3','H3T'],'Hyundai':['Modèle :','Tous les modèles','Accent','Accent 5','Azera','Elantra','Elantra Touring','Entourage','Genesis','Genesis Coupe','Santa Fe','Scoupe','Sonata','Tiburon','Tucson','Veracruz','XG300','XG350'],'Infiniti':['Modèle :','Tous les modèles','EX35','FX','FX35','FX45','FX50','G20','G35','G35 Coupe','G35 Sedan','G35x','G37 Convertible','G37 Coupe','G37 Sedan','I30','I35','J30','M35','M35x','M45','M45x','Q45','QX4','QX56'],'Isuzu':['Modèle :','Tous les modèles','Hombre','Rodeo','Trooper'],'Jaguar':['Modèle :','Tous les modèles','S-Type','XF','XJ Series','XK Series','X-Type'],'Jeep':['Modèle :','Tous les modèles','Cherokee','Commander','Compass','Grand Cherokee','Liberty','Patriot','TJ','Wrangler','Wrangler Unlimited','YJ'],'Kia':['Modèle :','Tous les modèles','Amanti','Borrego','Forte','Forte Koup','Magentis','Rio','Rio RX-V','Rio5','Rondo','Sedona','Sephia','Sorento','Soul','Spectra','Spectra5','Sportage'],'Lada':['Modèle :','Tous les modèles','Niva','Samara'],'Lamborghini':['Modèle :','Tous les modèles','Gallardo','Murcielago','Murciélago'],'Land Rover':['Modèle :','Tous les modèles','Defender','Discovery','Freelander','LR2','LR3','LR4','Range Rover','Range Rover Sport'],'Lexus':['Modèle :','Tous les modèles','ES 300','ES 330','ES 350','ES300','GS 300','GS 350','GS 430','GS 450h','GS 460','GS300','GS400','GS430','GX 470','HS 250h','IS 250','IS 250C','IS 300','IS 350','IS 350C','IS F','IS300','LS 430','LS 460','LS 460 AWD','LS 460L','LS 460L AWD','LS 600h L','LS 600h L AWD','LS400','LS430','LX 470','LX 570','LX450','LX470','RX 300','RX 350','RX 400h','RX 450h','RX300','RX330','SC 430','SC400','SC430'],'LINCOLN':['Modèle :','Tous les modèles','Aviator','Continental','LS','Mark LT','Mark VIII','MKS','MKT','MKX','MKZ','Navigator','Town Car','Zephyr'],'Lotus':['Modèle :','Tous les modèles','Elise','Exige'],'Maserati':['Modèle :','Tous les modèles','Coupe','GranTurismo','Quattroporte','Spyder'],'Maybach':['Modèle :','Tous les modèles','Maybach'],'Mazda':['Modèle :','Tous les modèles','323','626','B-Series','CX-7','CX-9','Mazda3','Mazda3 Sport','Mazda5','Mazda6','MazdaSpeed3','MazdaSpeed6','Millenia','MPV','MX-3','MX-5','MX-5 Miata','MX-6','Protegé','Protegé5','RX-7','RX-8','Tribute'],'Mercedes-Benz':['Modèle :','Tous les modèles','B-Class','C-Class','CL-Class','CLK','CLK-Class','CLS-Class','E-Class','G-Class','GL-Class','M-Class','R-Class','S-Class','SL-Class','SLK-Class','SLR McLaren'],'Mercury':['Modèle :','Tous les modèles','Cougar','Grand Marquis','Marauder','Mystique','Sable','Villager'],'Mini':['Modèle :','Tous les modèles','Cooper'],'Mitsubishi':['Modèle :','Tous les modèles','Diamante','Eclipse','Eclipse Spyder','Endeavor','Galant','Lancer','Lancer Evolution','Lancer Ralliart','Lancer Sportback','Lancer Sportback Ralliart','Montero','Montero Sport','Outlander'],'Nissan':['Modèle :','Tous les modèles','200 SX','240 SX','300 ZX','350Z','370Z','Altima','Altima Coupe','Altima Hybrid','Armada','Axxess','Cube','Frontier','GT-R','Maxima','Murano','Pathfinder','Pickup','Quest','Rogue','Sentra','SE-R','Titan','Versa Hatchback','Versa Sedan','Xterra','X-Trail'],'Oldsmobile':['Modèle :','Tous les modèles','88','98','Achieva','Alero','Aurora','Bravada','Cierra','Cutlass Supreme','Intrique','LSS','Silhouette','Supreme'],'Plymouth':['Modèle :','Tous les modèles','ACCLAIM','Breeze','COLT','Grand Voyager','Neon','Prowler','Voyager'],'Pontiac':['Modèle :','Tous les modèles','Aztek','Bonneville','Firebird','Firefly','G3 Wave','G5','G5 Pursuit','G6','G6 Coupe','G8','Grand Am','Grand Prix','Montana','Montana SV6','Pursuit','Solstice','SSE','Sunfire','Sunrunner','Torrent','Trans Sport','Vibe','Wave','Wave5'],'Porsche':['Modèle :','Tous les modèles','911','928','968','Boxster','Carrera GT','Cayenne','Cayman'],'Rolls-Royce':['Modèle :','Tous les modèles','Phantom'],'Saab':['Modèle :','Tous les modèles','900','9000','9-2X','9-3','9-3 Convertible','9-3 Sport Sedan','9-3 SportCombi','9-5','9-5 Sedan','9-5 SportCombi','9-5 Wagon','9-7X'],'Saturn':['Modèle :','Tous les modèles','Astra','Aura','ION','ION Quad Coupe','ION Sedan','L-Series','Outlook','Relay','Sky','S-Series','VUE','VUE Hybrid'],'smart':['Modèle :','Tous les modèles','fortwo'],'Subaru':['Modèle :','Tous les modèles','B9 Tribeca','Baja','Forester','Impreza','Justy','Legacy','Legacy Sedan','Legacy Wagon','Outback','SVX','Tribeca'],'Suzuki':['Modèle :','Tous les modèles','Aerio','Aerio Fastback','Equator','Esteem','Grand Vitara','Sidekick','Swift','Swift+','SX4','SX4 Fastback','SX4 Hatchback','SX4 Sedan','Verona','Vitara','X-90','XL7','XL-7'],'Toyota':['Modèle :','Tous les modèles','4RUNNER','Avalon','Camry','Camry Hybrid','Celica','Corolla','Echo','FJ Cruiser','Highlander','Matrix','Paseo','Previa','Prius','Rav4','Sequoia','Sienna','Solara','Supra','T100','Tacoma','Tercel','Tundra','Venza','Yaris Hatchback','Yaris Sedan'],'Volkswagen':['Modèle :','Tous les modèles','Cabrio','City Golf','City Jetta','Corrado','Eos','Eurovan','GLI','Golf','Golf City','Golf Wagon','GTI','Jetta','Jetta Sedan','Jetta Wagon','New Beetle','New Beetle Convertible','Passat','Passat CC','Passat Sedan','Passat Wagon','Phaeton','Rabbit','Routan','Tiguan','Touareg','Touareg 2'],'Volvo':['Modèle :','Tous les modèles','850','940','960','C30','C70','S40','S60','S70','S80','S90','V40','V50','V70','V70 XC','V90','XC60','XC70','XC90']}],"submit":"redirect(this);"}}; function createForm(e) { var frm = document.createElement("form"); frm.ymm = ymm[e.getAttribute("type")]; e.appendChild(frm); frm.appendChild(document.createTextNode("Chercher une voiture :")); frm.appendChild(document.createElement("br")); if (3 == frm.ymm.data.length) { year = createDropdown(frm, "year", frm.ymm.data[0], frm.ymm.maxLen); frm.appendChild(document.createElement("br")); make = createDropdown(frm, "make", frm.ymm.data[1][selectedValue1(year)], frm.ymm.maxLen); frm.appendChild(document.createElement("br")); model = createDropdown(frm, "model", frm.ymm.data[2][selectedValue1(make)], frm.ymm.maxLen); model.disabled = true; year.onchange = new Function("resetState(this);"); make.onchange = new Function("resetState(this);"); model.onchange = new Function(frm.ymm.submit); } else if (2 == frm.ymm.data.length) { make = createDropdown(frm, "make", frm.ymm.data[0], frm.ymm.maxLen); frm.appendChild(document.createElement("br")); model = createDropdown(frm, "model", frm.ymm.data[1][selectedValue1(make)], frm.ymm.maxLen); model.disabled = true; make.onchange = new Function("resetState(this);"); model.onchange = new Function(frm.ymm.submit); } } function redirect(e) { if (0 == e.selectedIndex) return; var frm = e.parentNode; var url = (frm.ymm.urls.length > e.selectedIndex) ? url = frm.ymm.urls[e.selectedIndex] : frm.ymm.url; for (var ifield = 0; ifield < frm.elements.length; ifield++) { var regexp = new RegExp("\\{" + ifield + "\\}", "g"); url = url.replace(regexp, encodeURIComponent(selectedValue(frm, ifield))); } window.location.href = url; } buildYmms();