/**
 * javascripts/dynamic_makes.js.erb
 *
 * This file is automatically generated from the application database and cached locally to public/javascripts/dynamic_makes.js
 * Before any vehicle make/model data can be used by drop down lists, this file must first be included
 */ 

var makes = new Array();
	makes.push( new Array(1, 'Acura',
													new Array(new Array(11, 'CL'),new Array(10, 'Integra'),new Array(9, 'Legend'),new Array(8, 'MDX 4x4'),new Array(7, 'RDX AWD Turbo'),new Array(6, 'RL'),new Array(5, 'RSX'),new Array(4, 'SLX 4x4'),new Array(3, 'TL'),new Array(2, 'TSX'),new Array(1, 'Vigor')) ));
	makes.push( new Array(2, 'Audi',
													new Array(new Array(35, '100'),new Array(34, '100 AWD'),new Array(33, '5000'),new Array(38, '80'),new Array(37, '90'),new Array(36, '90 AWD'),new Array(32, 'A3'),new Array(31, 'A3 Quattro'),new Array(30, 'A4'),new Array(29, 'A4 Quattro'),new Array(27, 'A4 Quattro Turbo'),new Array(28, 'A4 Turbo'),new Array(26, 'A6'),new Array(25, 'A6 Quattro'),new Array(23, 'A6 Quattro Turbo'),new Array(24, 'A6 Turbo'),new Array(22, 'A8'),new Array(21, 'A8 Quattro'),new Array(20, 'Allroad Quattro Turbo'),new Array(19, 'Cabriolet'),new Array(18, 'Q7 Quattro'),new Array(17, 'RS6 Quattro Turbo'),new Array(16, 'S4 Quattro Turbo'),new Array(15, 'S6 Quattro'),new Array(14, 'S8 Quattro'),new Array(12, 'TT Quattro Turbo'),new Array(13, 'TT Turbo')) ));
	makes.push( new Array(3, 'BMW',
													new Array(new Array(66, '318'),new Array(65, '323'),new Array(64, '325'),new Array(63, '325 AWD'),new Array(62, '328'),new Array(61, '330'),new Array(60, '330 AWD'),new Array(59, '525'),new Array(58, '528'),new Array(57, '530'),new Array(56, '535'),new Array(55, '540'),new Array(54, '545'),new Array(53, '550'),new Array(52, '635'),new Array(51, '645'),new Array(50, '735'),new Array(49, '740'),new Array(48, '745'),new Array(47, '750'),new Array(46, '760'),new Array(45, 'M3'),new Array(44, 'M5'),new Array(43, 'X3 AWD'),new Array(42, 'X5 AWD'),new Array(41, 'Z3'),new Array(40, 'Z4'),new Array(39, 'Z8')) ));
	makes.push( new Array(4, 'Buick',
													new Array(new Array(82, 'Century'),new Array(81, 'La Crosse'),new Array(80, 'Le Sabre'),new Array(79, 'Lucerne'),new Array(78, 'Park Avenue'),new Array(77, 'Rainier'),new Array(76, 'Rainier 4x4'),new Array(75, 'Regal'),new Array(74, 'Rendezvous'),new Array(73, 'Rendezvous AWD'),new Array(72, 'Riviera'),new Array(71, 'Riviera Turbo'),new Array(70, 'Roadmaster'),new Array(69, 'Skylark'),new Array(68, 'Terraza'),new Array(67, 'Terraza AWD')) ));
	makes.push( new Array(5, 'Cadillac',
													new Array(new Array(98, 'CTS'),new Array(97, 'CTS - V'),new Array(99, 'Catera'),new Array(95, 'DTS'),new Array(96, 'DeVille'),new Array(94, 'Eldorado'),new Array(93, 'Escalade'),new Array(92, 'Escalade AWD'),new Array(91, 'Fleetwood'),new Array(90, 'Northstar'),new Array(88, 'SRX'),new Array(87, 'SRX AWD'),new Array(86, 'STS'),new Array(85, 'STS-V'),new Array(89, 'Seville'),new Array(84, 'XLR'),new Array(83, 'XLR-V')) ));
	makes.push( new Array(6, 'Chevrolet',
													new Array(new Array(179, '1500'),new Array(178, '1500 4x4'),new Array(177, '1500 4x4 Turbodiesel'),new Array(176, '1500 Turbodiesel'),new Array(175, '2500'),new Array(174, '2500 4x4'),new Array(173, '2500 4x4 Turbodiesel'),new Array(172, '2500 Turbodiesel'),new Array(171, '3500'),new Array(170, '3500 4x4'),new Array(169, '3500 4x4 Turbodiesel'),new Array(168, '3500 Turbodiesel'),new Array(167, 'APV'),new Array(166, 'Astro'),new Array(165, 'Astro AWD'),new Array(164, 'Avalanche'),new Array(163, 'Avalanche 4X4'),new Array(162, 'Aveo'),new Array(161, 'Beretta'),new Array(160, 'Blazer'),new Array(159, 'Blazer 4x4'),new Array(158, 'Blazer 4x4 Turbodiesel'),new Array(157, 'Camaro'),new Array(156, 'Camaro V8'),new Array(155, 'Camaro Z28'),new Array(154, 'Caprice'),new Array(153, 'Cavalier'),new Array(152, 'Cobalt'),new Array(151, 'Colorado'),new Array(150, 'Colorado 4x4'),new Array(149, 'Corsica'),new Array(148, 'Corvette'),new Array(147, 'Corvette Z06'),new Array(146, 'Corvette Z51'),new Array(145, 'Epica'),new Array(144, 'Equinox'),new Array(143, 'Equinox 4x4'),new Array(142, 'Express G1500'),new Array(141, 'Express G1500 Turbodiesel'),new Array(140, 'Express G2500'),new Array(139, 'Express G2500 Turbodiesel'),new Array(138, 'Express G3500'),new Array(137, 'Express G3500 Turbodiesel'),new Array(136, 'HHR'),new Array(135, 'Impala'),new Array(134, 'Impala SS'),new Array(133, 'Lumina'),new Array(132, 'Lumina APV'),new Array(131, 'Malibu'),new Array(130, 'Malibu SS'),new Array(129, 'Metro'),new Array(128, 'Monte Carlo'),new Array(127, 'Monte Carlo SS'),new Array(126, 'Nova'),new Array(125, 'Prizm'),new Array(124, 'S10'),new Array(123, 'S10 4x4'),new Array(122, 'S10 Blazer'),new Array(121, 'S10 Blazer 4x4'),new Array(116, 'SSR'),new Array(120, 'Sportvan G20'),new Array(119, 'Sportvan G20 Diesel'),new Array(118, 'Sportvan G30'),new Array(117, 'Sportvan G30 Diesel'),new Array(115, 'Suburban'),new Array(114, 'Suburban 4x4'),new Array(113, 'Suburban 4x4 Turbodiesel'),new Array(112, 'Suburban Turbodiesel'),new Array(111, 'Tahoe'),new Array(109, 'Tahoe 4X4 Turbodiesel'),new Array(110, 'Tahoe 4x4'),new Array(108, 'Tahoe Turbodiesel'),new Array(107, 'Tracker'),new Array(106, 'Tracker 4x4'),new Array(105, 'Trail Blazer'),new Array(104, 'Trail Blazer 4x4'),new Array(103, 'Uplander'),new Array(102, 'Uplander AWD'),new Array(101, 'Venture'),new Array(100, 'Venture AWD')) ));
	makes.push( new Array(7, 'Chrysler',
													new Array(new Array(202, '300 C'),new Array(201, '300 M'),new Array(200, '300 SRT 8'),new Array(199, 'Aspen'),new Array(198, 'Cirrus'),new Array(197, 'Concord LHS'),new Array(196, 'Concorde'),new Array(195, 'Conquest'),new Array(194, 'Crossfire'),new Array(193, 'Fifth Ave'),new Array(192, 'Grand Voyager'),new Array(190, 'LHS'),new Array(191, 'LeBaron'),new Array(189, 'New Yorker'),new Array(185, 'PT Cruiser'),new Array(184, 'PT Cruiser AWD'),new Array(188, 'Pacifica'),new Array(187, 'Pacifica AWD'),new Array(186, 'Prowler'),new Array(183, 'Sebring'),new Array(182, 'Town &amp; Country'),new Array(181, 'Town &amp; Country AWD'),new Array(180, 'Voyager')) ));
	makes.push( new Array(8, 'Dodge',
													new Array(new Array(243, '1500'),new Array(242, '1500 4x4'),new Array(241, '2500'),new Array(240, '2500 4x4'),new Array(239, '2500 4x4 Turbodiesel'),new Array(238, '2500 Turbodiesel'),new Array(237, '3500'),new Array(236, '3500 4x4'),new Array(235, '3500 4x4 Turbodiesel'),new Array(234, '3500 Turbodiesel'),new Array(233, 'Avenger'),new Array(232, 'Caliber'),new Array(231, 'Caliber AWD'),new Array(230, 'Caravan'),new Array(229, 'Caravan AWD'),new Array(228, 'Charger'),new Array(227, 'Colt'),new Array(226, 'Dakota'),new Array(225, 'Dakota 4x4'),new Array(224, 'Durango'),new Array(223, 'Durango 4x4'),new Array(222, 'Grand Caravan'),new Array(221, 'Grand Caravan AWD'),new Array(220, 'Intrepid'),new Array(219, 'Intrepid 24V'),new Array(218, 'Magnum'),new Array(217, 'Monaco'),new Array(216, 'Neon'),new Array(215, 'Neon SRT4 Turbo'),new Array(214, 'Nitro'),new Array(213, 'Nitro AWD'),new Array(212, 'Ram Van 1500'),new Array(211, 'Ram Van 2500'),new Array(210, 'Ram Van 3500'),new Array(209, 'Shadow'),new Array(208, 'Spirit'),new Array(207, 'Sprinter 2500'),new Array(206, 'Stealth'),new Array(205, 'Stealth AWD'),new Array(204, 'Stratus'),new Array(203, 'Viper')) ));
	makes.push( new Array(9, 'Eagle',
													new Array(new Array(249, 'Summit'),new Array(248, 'Summit AWD'),new Array(247, 'Talon'),new Array(246, 'Talon Turbo'),new Array(245, 'Talon Turbo AWD'),new Array(244, 'Vision')) ));
	makes.push( new Array(10, 'Ford',
													new Array(new Array(313, 'Aerostar'),new Array(312, 'Aerostar AWD'),new Array(311, 'Aspire'),new Array(310, 'Bronco'),new Array(309, 'Bronco 4x4'),new Array(308, 'Club Wagon E150'),new Array(307, 'Club Wagon E350'),new Array(306, 'Club Wagon E350 Turbodiesel'),new Array(305, 'Contour'),new Array(304, 'Crown Victoria'),new Array(303, 'Econoline E150'),new Array(302, 'Econoline E250'),new Array(301, 'Econoline E250 Turbodiesel'),new Array(300, 'Econoline E350'),new Array(299, 'Econoline E350 Turbodiesel'),new Array(298, 'Edge'),new Array(297, 'Escape'),new Array(296, 'Escape 4x4'),new Array(295, 'Escape Hybrid'),new Array(294, 'Escort'),new Array(293, 'Excursion'),new Array(291, 'Excursion 4X4 Turbodiesel'),new Array(292, 'Excursion 4x4'),new Array(290, 'Excursion Turbodiesel'),new Array(289, 'Expedition'),new Array(288, 'Expedition 4x4'),new Array(287, 'Explorer'),new Array(286, 'Explorer 4x4'),new Array(285, 'Explorer SportTrac'),new Array(284, 'Explorer SportTrac 4x4'),new Array(283, 'F150'),new Array(282, 'F150 4x4'),new Array(281, 'F150 Harley Davidson'),new Array(280, 'F150 Lightning'),new Array(279, 'F150 Propane'),new Array(278, 'F250'),new Array(277, 'F250 4x4'),new Array(276, 'F250 4x4 Turbodiesel'),new Array(275, 'F250 Turbodiesel'),new Array(274, 'F350'),new Array(273, 'F350 4x4'),new Array(272, 'F350 4x4 Turbodiesel'),new Array(271, 'F350 Turbodiesel'),new Array(270, 'Five Hundred'),new Array(269, 'Five Hundred AWD'),new Array(268, 'Focus'),new Array(267, 'Freestar'),new Array(266, 'Freestyle'),new Array(265, 'Freestyle AWD'),new Array(264, 'Fusion'),new Array(263, 'Fusion Hybrid'),new Array(262, 'Mustang'),new Array(261, 'Mustang Cobra'),new Array(260, 'Mustang GT'),new Array(259, 'Mustang Saleen'),new Array(258, 'Probe'),new Array(257, 'Ranger'),new Array(256, 'Ranger 4x4'),new Array(255, 'Taurus'),new Array(254, 'Taurus SHO'),new Array(253, 'Tempo'),new Array(252, 'Thunderbird (2002+)'),new Array(251, 'Thunderbird (Thru 1997)'),new Array(250, 'Windstar')) ));
	makes.push( new Array(11, 'Geo',
													new Array(new Array(319, 'Metro'),new Array(318, 'Prizm'),new Array(317, 'Spectrum'),new Array(316, 'Storm'),new Array(315, 'Tracker'),new Array(314, 'Tracker 4x4')) ));
	makes.push( new Array(12, 'GMC',
													new Array(new Array(355, '1500'),new Array(354, '1500 4x4'),new Array(353, '1500 4x4 Turbodiesel'),new Array(352, '1500 Turbodiesel'),new Array(351, '2500'),new Array(350, '2500 4x4'),new Array(349, '2500 4x4 Turbodiesel'),new Array(348, '2500 Turbodiesel'),new Array(347, '3500'),new Array(346, '3500 4x4'),new Array(345, '3500 4x4 Turbodiesel'),new Array(344, '3500 Turbodiesel'),new Array(343, 'Canyon'),new Array(342, 'Canyon 4X4'),new Array(341, 'Envoy'),new Array(340, 'Envoy 4x4'),new Array(339, 'Jimmy'),new Array(338, 'Jimmy 4x4'),new Array(337, 'Safari'),new Array(336, 'Safari AWD'),new Array(335, 'Savana G1500'),new Array(334, 'Savana G1500 Turbodiesel'),new Array(333, 'Savana G2500'),new Array(332, 'Savana G2500 Turbodiesel'),new Array(331, 'Savana G3500'),new Array(330, 'Savana G3500 Turbodiesel'),new Array(329, 'Sonoma'),new Array(328, 'Sonoma 4x4'),new Array(327, 'Suburban'),new Array(326, 'Suburban 4x4'),new Array(325, 'Suburban 4x4 Turbodiesel'),new Array(324, 'Suburban Turbodiesel'),new Array(323, 'Yukon'),new Array(322, 'Yukon 4x4'),new Array(321, 'Yukon 4x4 Turbodiesel'),new Array(320, 'Yukon Turbodiesel')) ));
	makes.push( new Array(13, 'Honda',
													new Array(new Array(370, 'Accord'),new Array(367, 'CRV'),new Array(366, 'CRV 4x4'),new Array(369, 'Civic'),new Array(368, 'Civic GX'),new Array(365, 'Del Sol'),new Array(364, 'Element'),new Array(363, 'Element AWD'),new Array(362, 'Odyssey'),new Array(361, 'Passport'),new Array(360, 'Passport 4x4'),new Array(359, 'Pilot 4X4'),new Array(358, 'Prelude'),new Array(357, 'Ridgeline 4x4'),new Array(356, 'S2000')) ));
	makes.push( new Array(14, 'Hummer',
													new Array(new Array(372, 'H2'),new Array(371, 'H3')) ));
	makes.push( new Array(15, 'Hyundai',
													new Array(new Array(385, 'Accent'),new Array(384, 'Azera'),new Array(383, 'Elantra'),new Array(382, 'Excel'),new Array(381, 'Santa Fe'),new Array(380, 'Santa Fe 4x4'),new Array(379, 'Scoupe'),new Array(378, 'Scoupe Turbo'),new Array(377, 'Sonata'),new Array(376, 'Tiburon'),new Array(375, 'Tuscon'),new Array(374, 'XG300'),new Array(373, 'XG350')) ));
	makes.push( new Array(16, 'Infiniti',
													new Array(new Array(403, 'FX35'),new Array(402, 'FX35 AWD'),new Array(401, 'FX45 AWD'),new Array(400, 'G20'),new Array(399, 'G35'),new Array(398, 'G35X AWD'),new Array(397, 'I30'),new Array(396, 'I35'),new Array(395, 'J30'),new Array(394, 'M30'),new Array(393, 'M35'),new Array(392, 'M35X AWD'),new Array(391, 'M45'),new Array(390, 'Q45'),new Array(389, 'QX4'),new Array(388, 'QX4 4x4'),new Array(387, 'QX56'),new Array(386, 'QX56 4X4')) ));
	makes.push( new Array(17, 'Isuzu',
													new Array(new Array(421, 'Amigo'),new Array(420, 'Amigo 4x4'),new Array(419, 'Ascender'),new Array(418, 'Ascender 4WD'),new Array(417, 'Axiom'),new Array(416, 'Axiom 4x4'),new Array(415, 'Hombre'),new Array(414, 'Hombre 4x4'),new Array(411, 'Oasis'),new Array(410, 'Pickup'),new Array(409, 'Pickup 4x4'),new Array(408, 'Rodeo'),new Array(407, 'Rodeo 4x4'),new Array(406, 'Trooper'),new Array(405, 'Trooper 4x4'),new Array(404, 'VehiCross 4x4'),new Array(413, 'i280'),new Array(412, 'i350')) ));
	makes.push( new Array(18, 'Jaguar',
													new Array(new Array(429, 'S-Type'),new Array(422, 'X-Type'),new Array(428, 'XJ6'),new Array(427, 'XJ8'),new Array(426, 'XJR'),new Array(425, 'XJS'),new Array(424, 'XK8'),new Array(423, 'XKR')) ));
	makes.push( new Array(19, 'Jeep',
													new Array(new Array(441, 'Cherokee'),new Array(440, 'Cherokee 4x4'),new Array(439, 'Commander AWD'),new Array(438, 'Compass'),new Array(437, 'Grand Cherokee'),new Array(436, 'Grand Cherokee 4x4'),new Array(435, 'Liberty'),new Array(434, 'Liberty 4x4'),new Array(433, 'Liberty 4x4 Turbo Diesel'),new Array(432, 'Patriot'),new Array(431, 'Wrangler'),new Array(430, 'Wrangler 4x4')) ));
	makes.push( new Array(20, 'Kia',
													new Array(new Array(450, 'Amanti'),new Array(449, 'Optima'),new Array(448, 'Rio'),new Array(447, 'Sedona'),new Array(446, 'Sephia'),new Array(445, 'Sorento'),new Array(444, 'Spectra'),new Array(443, 'Sportage'),new Array(442, 'Sportage 4x4')) ));
	makes.push( new Array(21, 'Land Rover',
													new Array(new Array(455, 'Defender 4x4'),new Array(454, 'Discovery 4x4'),new Array(453, 'Freelander AWD'),new Array(452, 'L3'),new Array(451, 'Range Rover 4x4')) ));
	makes.push( new Array(22, 'Lexus',
													new Array(new Array(485, 'ES 250'),new Array(484, 'ES 300'),new Array(483, 'ES 330'),new Array(482, 'ES 350'),new Array(481, 'ES 400'),new Array(480, 'GS 300'),new Array(479, 'GS 350'),new Array(478, 'GS 400'),new Array(477, 'GS 430'),new Array(476, 'GS 450H'),new Array(475, 'GX 470'),new Array(474, 'GX 470 4X4'),new Array(473, 'IS 250'),new Array(472, 'IS 250 4X4'),new Array(471, 'IS 300'),new Array(470, 'IS 350'),new Array(469, 'LS 400'),new Array(468, 'LS 430'),new Array(467, 'LS 460'),new Array(466, 'LX 450 4x4'),new Array(465, 'LX 470 4x4'),new Array(464, 'RX 300'),new Array(463, 'RX 300 AWD'),new Array(462, 'RX 330'),new Array(461, 'RX 330 AWD'),new Array(460, 'RX 350'),new Array(459, 'RX 400 HYBRID'),new Array(458, 'SC 300'),new Array(457, 'SC 400'),new Array(456, 'SC 430')) ));
	makes.push( new Array(23, 'Lincoln',
													new Array(new Array(500, 'Aviator'),new Array(499, 'Aviator 4x4'),new Array(498, 'Blackwood'),new Array(497, 'Continental'),new Array(496, 'LS'),new Array(491, 'MKX'),new Array(490, 'MKZ'),new Array(495, 'Mark LT'),new Array(494, 'Mark LT 4x4'),new Array(493, 'Mark VII'),new Array(492, 'Mark VIII'),new Array(489, 'Navigator'),new Array(488, 'Navigator 4x4'),new Array(487, 'Town Car'),new Array(486, 'Zephyr')) ));
	makes.push( new Array(24, 'Mazda',
													new Array(new Array(530, '3'),new Array(527, '323'),new Array(529, '5'),new Array(528, '6'),new Array(526, '626'),new Array(525, '929'),new Array(524, 'B2300'),new Array(523, 'B2500'),new Array(522, 'B3000'),new Array(521, 'B3000 4x4'),new Array(520, 'B4000'),new Array(519, 'B4000 4x4'),new Array(518, 'CX-7'),new Array(517, 'CX-9'),new Array(514, 'MPV'),new Array(513, 'MPV 4x4'),new Array(512, 'MX3'),new Array(511, 'MX6'),new Array(516, 'Miata'),new Array(515, 'Millenia'),new Array(510, 'Navajo'),new Array(509, 'Navajo 4x4'),new Array(508, 'Protege'),new Array(507, 'Protege Turbo'),new Array(506, 'R5'),new Array(505, 'RX-7'),new Array(504, 'RX-8'),new Array(503, 'Tribute'),new Array(502, 'Tribute 4x4'),new Array(501, 'Tribute Hybrid')) ));
	makes.push( new Array(25, 'Mercedes',
													new Array(new Array(558, 'ALL OTHERS'),new Array(531, 'E300 Diesel'),new Array(532, 'E320'),new Array(533, 'E320 AWD'),new Array(534, 'E350'),new Array(535, 'E350 AWD'),new Array(536, 'E420'),new Array(537, 'E430'),new Array(538, 'E430 AWD'),new Array(539, 'E500'),new Array(540, 'G500'),new Array(541, 'ML320 4x4'),new Array(542, 'ML350 4x4'),new Array(543, 'ML430 4x4'),new Array(544, 'ML500 4x4'),new Array(545, 'R350'),new Array(546, 'R500'),new Array(547, 'S320'),new Array(548, 'S350 Turbodiesel'),new Array(549, 'S420'),new Array(550, 'S430'),new Array(551, 'S500'),new Array(552, 'SL320'),new Array(553, 'SL500'),new Array(554, 'SLK230'),new Array(555, 'SLK280'),new Array(556, 'SLK320'),new Array(557, 'SLK350')) ));
	makes.push( new Array(26, 'Mercury',
													new Array(new Array(559, 'Capri'),new Array(560, 'Capri Turbo'),new Array(561, 'Cougar'),new Array(562, 'Grand Marquis'),new Array(563, 'Marauder'),new Array(564, 'Mariner 4WD'),new Array(565, 'Milan'),new Array(566, 'Milan Hybrid'),new Array(567, 'Montego AWD'),new Array(568, 'Monterey'),new Array(569, 'Mountaineer'),new Array(570, 'Mountaineer AWD'),new Array(571, 'Mystique'),new Array(572, 'Sable'),new Array(573, 'Topaz'),new Array(574, 'Tracer'),new Array(575, 'Villager')) ));
	makes.push( new Array(27, 'Mini',
													new Array(new Array(576, 'Cooper')) ));
	makes.push( new Array(28, 'Mitsubishi',
													new Array(new Array(577, '3000 GT'),new Array(578, '3000 GT AWD'),new Array(579, '3000 GT TURBO'),new Array(580, 'Diamante'),new Array(581, 'Eclipse'),new Array(582, 'Eclipse Turbo'),new Array(583, 'Eclipse Turbo AWD'),new Array(584, 'Endeavor'),new Array(585, 'Endeavor 4x4'),new Array(586, 'Expo'),new Array(587, 'Expo AWD'),new Array(588, 'Galant'),new Array(589, 'Lancer'),new Array(590, 'Lancer Evolution Turbo AWD'),new Array(598, 'Mighty Max Pickup'),new Array(599, 'Mighty Max Pickup 4x4'),new Array(591, 'Mirage'),new Array(592, 'Montero'),new Array(593, 'Montero 4x4'),new Array(594, 'Montero Sport'),new Array(595, 'Montero Sport 4x4'),new Array(596, 'Outlander'),new Array(597, 'Outlander 4x4'),new Array(600, 'Precis'),new Array(605, 'Raider'),new Array(601, 'Raider'),new Array(606, 'Raider 4x4'),new Array(602, 'Raider 4x4'),new Array(603, 'Spyder'),new Array(604, 'Starion')) ));
	makes.push( new Array(29, 'Nissan',
													new Array(new Array(607, '200SX'),new Array(608, '240SX'),new Array(609, '300ZX'),new Array(610, '300ZX Turbo'),new Array(611, '350Z'),new Array(612, '350ZX'),new Array(613, '350ZX Turbo'),new Array(614, 'Altima'),new Array(615, 'Armada'),new Array(616, 'Armada 4x4'),new Array(617, 'Frontier'),new Array(618, 'Frontier 4x4'),new Array(619, 'King Cab'),new Array(620, 'King Cab 4x4'),new Array(621, 'Maxima'),new Array(622, 'Murano'),new Array(623, 'Murano 4x4'),new Array(624, 'Pathfinder'),new Array(625, 'Pathfinder 4x4'),new Array(626, 'Pathfinder Armada'),new Array(627, 'Pathfinder Armada 4x4'),new Array(628, 'Quest'),new Array(629, 'Sentra'),new Array(630, 'Titan'),new Array(631, 'Titan 4x4'),new Array(632, 'Versa'),new Array(633, 'Xterra'),new Array(634, 'Xterra 4x4')) ));
	makes.push( new Array(30, 'Oldsmobile',
													new Array(new Array(635, '88'),new Array(636, '98'),new Array(637, 'Achieva'),new Array(638, 'Alero'),new Array(639, 'Aurora (4/50 MFG Thru 00)00)'),new Array(640, 'Bravada'),new Array(641, 'Bravada AWD'),new Array(642, 'Ciera'),new Array(643, 'Cutlass'),new Array(644, 'Intrigue'),new Array(645, 'LSS'),new Array(646, 'Regency'),new Array(647, 'Silhouette'),new Array(648, 'Silhouette AWD')) ));
	makes.push( new Array(31, 'Plymouth',
													new Array(new Array(649, 'Acclaim'),new Array(650, 'Breeze'),new Array(651, 'Colt'),new Array(652, 'Colt AWD'),new Array(653, 'Grand Voyager'),new Array(654, 'Grand Voyager AWD'),new Array(655, 'Laser'),new Array(656, 'Laser Turbo'),new Array(657, 'Laser Turbo AWD'),new Array(658, 'Neon'),new Array(659, 'Sundance'),new Array(660, 'Voyager'),new Array(661, 'Voyager AWD')) ));
	makes.push( new Array(32, 'Pontiac',
													new Array(new Array(662, 'Aztek'),new Array(663, 'Aztek AWD'),new Array(664, 'Bonneville'),new Array(665, 'Bonneville SSEi'),new Array(666, 'Firebird'),new Array(667, 'Firebird Formula'),new Array(668, 'Firebird Trans AM'),new Array(669, 'G5'),new Array(670, 'G6'),new Array(673, 'GTO'),new Array(671, 'Grand Am'),new Array(672, 'Grand Prix'),new Array(674, 'Montana'),new Array(675, 'Montana AWD'),new Array(676, 'Solstice'),new Array(677, 'Sunbird'),new Array(678, 'Sunfire'),new Array(679, 'Torrent'),new Array(680, 'Torrent 4x4'),new Array(681, 'Trans Am'),new Array(682, 'Trans Sport'),new Array(683, 'Vibe'),new Array(684, 'Vibe AWD')) ));
	makes.push( new Array(33, 'Porsche',
													new Array(new Array(685, '928'),new Array(686, '968'),new Array(687, 'Boxster')) ));
	makes.push( new Array(34, 'Saab',
													new Array(new Array(688, '9-2x'),new Array(689, '9-3 Turbo'),new Array(690, '9-5 Turbo'),new Array(691, '9-7x AWD'),new Array(692, '900'),new Array(693, '900 Turbo'),new Array(694, '9000'),new Array(695, '9000 Turbo')) ));
	makes.push( new Array(35, 'Saturn',
													new Array(new Array(696, 'Aura'),new Array(697, 'Ion'),new Array(698, 'L100'),new Array(699, 'L200'),new Array(700, 'L300'),new Array(701, 'LS'),new Array(702, 'LW'),new Array(703, 'Outlook'),new Array(704, 'Relay'),new Array(705, 'Relay AWD'),new Array(706, 'SC'),new Array(707, 'SL'),new Array(708, 'SW'),new Array(709, 'Sky'),new Array(711, 'VUE AWD'),new Array(710, 'Vue')) ));
	makes.push( new Array(36, 'Scion',
													new Array(new Array(712, 'tC'),new Array(713, 'xA'),new Array(714, 'xB')) ));
	makes.push( new Array(37, 'Subaru',
													new Array(new Array(715, 'B9 Tribeca AWD'),new Array(716, 'Baja AWD'),new Array(717, 'Forester AWD'),new Array(718, 'Impreza AWD'),new Array(719, 'Impreza Turbo AWD'),new Array(720, 'Justy 4WD'),new Array(721, 'Legacy AWD'),new Array(722, 'Loyale AWD'),new Array(723, 'Outback AWD'),new Array(724, 'SVX'),new Array(725, 'SVX AWD')) ));
	makes.push( new Array(38, 'Suzuki',
													new Array(new Array(726, 'Aerio'),new Array(727, 'Aerio AWD'),new Array(728, 'Esteem'),new Array(729, 'Forenza'),new Array(730, 'Grand Vitara'),new Array(731, 'Grand Vitara 4x4'),new Array(732, 'Reno'),new Array(737, 'SX4'),new Array(733, 'Samurai 4x4'),new Array(734, 'Sidekick'),new Array(735, 'Sidekick 4x4'),new Array(736, 'Swift'),new Array(738, 'Verona'),new Array(739, 'Vitara'),new Array(740, 'Vitara 4x4'),new Array(741, 'X90'),new Array(742, 'X90 4x4'),new Array(743, 'XL7'),new Array(744, 'XL7 4x4')) ));
	makes.push( new Array(39, 'Toyota',
													new Array(new Array(745, '4Runner'),new Array(746, '4Runner 4x4'),new Array(747, 'ANY HYBRIDS'),new Array(748, 'Avalon'),new Array(749, 'Camry'),new Array(750, 'Celica'),new Array(751, 'Celica AWD'),new Array(752, 'Corolla'),new Array(753, 'Echo'),new Array(754, 'FJ Cruiser'),new Array(755, 'FJ Cruiser 4x4'),new Array(756, 'Highlander'),new Array(757, 'Highlander 4x4'),new Array(758, 'Highlander Hybrid'),new Array(759, 'Land Cruiser 4WD'),new Array(762, 'MR2'),new Array(763, 'MR2 Turbo'),new Array(760, 'Matrix'),new Array(761, 'Matrix AWD'),new Array(764, 'Paseo'),new Array(765, 'Pickup'),new Array(766, 'Pickup 4x4'),new Array(767, 'Previa'),new Array(768, 'Previa AWD'),new Array(769, 'Prius'),new Array(770, 'RAV4'),new Array(771, 'RAV4 4x4'),new Array(772, 'Sequoia'),new Array(773, 'Sequoia 4x4'),new Array(774, 'Sienna'),new Array(775, 'Sienna AWD'),new Array(776, 'Solara'),new Array(777, 'T100'),new Array(778, 'T100 4x4'),new Array(779, 'Tacoma'),new Array(780, 'Tacoma 4x4'),new Array(781, 'Tercel'),new Array(782, 'Tundra'),new Array(783, 'Tundra 4x4'),new Array(784, 'Yaris')) ));
	makes.push( new Array(40, 'Volkswagen',
													new Array(new Array(785, 'Beetle'),new Array(786, 'Beetle Turbo'),new Array(787, 'Beetle Turbodiesel'),new Array(788, 'Cabrio'),new Array(789, 'Cabriolet'),new Array(790, 'Eurovan'),new Array(793, 'GTI'),new Array(794, 'GTI Turbo'),new Array(791, 'Golf'),new Array(792, 'Golf Turbodiesel'),new Array(795, 'Jetta'),new Array(796, 'Jetta Turbo'),new Array(797, 'Jetta Turbodiesel'),new Array(798, 'Passat'),new Array(799, 'Passat AWD'),new Array(800, 'Passat Turbo'),new Array(801, 'Passat Turbodiesel'),new Array(803, 'Phaeton (12 Cyl)'),new Array(802, 'Phaeton (8 Cyl)'),new Array(804, 'Rabbit'),new Array(805, 'Touareg AWD'),new Array(806, 'Touareg AWD Diesel')) ));
	makes.push( new Array(41, 'Volvo',
													new Array(new Array(807, '850'),new Array(808, '850 Turbo'),new Array(809, '940'),new Array(810, '940 Turbo'),new Array(811, '960'),new Array(812, 'C30'),new Array(813, 'C70 Turbo'),new Array(814, 'S40'),new Array(815, 'S40 Turbo'),new Array(816, 'S40 Turbo AWD'),new Array(817, 'S60'),new Array(818, 'S60 Turbo'),new Array(819, 'S60 Turbo AWD'),new Array(820, 'S70'),new Array(821, 'S70 Turbo'),new Array(822, 'S70 Turbo AWD'),new Array(823, 'S80'),new Array(824, 'S80 Turbo'),new Array(825, 'S90'),new Array(826, 'V40'),new Array(827, 'V40 AWD'),new Array(828, 'V40 Turbo'),new Array(829, 'V50'),new Array(830, 'V50 Turbo'),new Array(831, 'V50 Turbo AWD'),new Array(832, 'V70'),new Array(833, 'V70 Turbo'),new Array(834, 'V70 Turbo AWD'),new Array(835, 'V90'),new Array(836, 'XC Turbo AWD'),new Array(837, 'XC70 Turbo AWD'),new Array(838, 'XC90 Turbo'),new Array(839, 'XC90 Turbo AWD')) ));

// String id's of the related vehicle fields
var ddVehicleYear = "_Year";
var ddVehicleModelId = "_Model";
var ddVehicleMakeId = "_Make";


/** -------------------------------------------------------------------
* INITIALIZER-MAIN-ENTRY
* The central function that assigns make/model data
* @dependencies: dynamic_makes.js must be loaded first
* ------------------------------------------------------------------- */

document.observe("dom:loaded", function() {
	if ($(ddVehicleModelId) && $(ddVehicleMakeId).length > 0) {
		sideWidgetResetMakeModels();
		sideWidgetAssignManufacturers();
		setVehicleParameters( getParameter('vehicle_year'), getParameter('vehicle_make_id'), getParameter('vehicle_id'));
		$(ddVehicleMakeId).observe('change', function(event) {
			var dropDownList = event.target;
			onSideWidgetMakeSelected(dropDownList);
		});
	}		
});

/** -------------------------------------------------------------------
* VEHICLE-ACTION-METHODS
* Used for actual population of form elements
* @dependencies: dynamic_makes.js must be loaded first
* ------------------------------------------------------------------- */

// Resets all side widget drop down lists
function sideWidgetResetMakeModels() {
	var sideLists = new Array(ddVehicleMakeId, ddVehicleModelId);
	for (var i=0; i < sideLists.length; i++)
		setDropListEmpty(sideLists[i]);
}

function sideWidgetAssignManufacturers() {
	var manufacturers = getVehicleManufacturers();
	var manufacturerOptions = convertArrayToOptions( manufacturers);
	var manufacturerList = new Array( getSelectPromptOption()).concat(manufacturerOptions);
	setDropList(ddVehicleMakeId, manufacturerList);
}

function onSideWidgetMakeSelected(vehicleMakeList) {
	if (vehicleMakeList.selectedIndex == 0) {
		setDropListEmpty(ddVehicleModelId);
		return;
	}
	var vehicleMakeId = makes[vehicleMakeList.selectedIndex - 1][0];
	var vehicleModels = getModelsFromMakeId(vehicleMakeId);
	var vehicleModelOptions = convertArrayToOptions( vehicleModels);
	vehicleModels = new Array( getSelectPromptOption()).concat(vehicleModelOptions);
	setDropList( ddVehicleModelId, vehicleModels);
	$(ddVehicleModelId).focus();
}

/**
 * Sets the search page drop downs to the GET values passed in query string
*/
function setVehicleParameters(vehicleYear, makeId, modelId) {
	var ddlYear = $(ddVehicleYear);
	var ddlMake = $(ddVehicleMakeId);
	var ddlModel = $(ddVehicleModelId);
	
	if (!ddlYear || !ddlMake || !ddlModel) 
		return;
	
	var numYear = parseInt(vehicleYear);
	var numMakeId = parseInt(makeId);
	var numModelId = parseInt(modelId);
	var vehicleYearOption = ddlYear.select('option[value='+numYear+']');
	var vehicleMakeOption = ddlMake.select('option[value='+numMakeId+']');
	
	if (numYear > 0 && vehicleYearOption.length > 0) {
		ddlYear.selectedIndex = vehicleYearOption[0].previousSiblings().size();
	}
	
	if (numMakeId > 0 && vehicleMakeOption.length > 0) {
		ddlMake.selectedIndex = vehicleMakeOption[0].previousSiblings().size();
		var vehicleMakeId = makes[ddlMake.selectedIndex - 1][0];
		var modelsForMake = getModelsFromMakeId(vehicleMakeId);
		var modelDropOptions = new Array( getSelectPromptOption()).concat( convertArrayToOptions(modelsForMake));
		setDropList(ddVehicleModelId, modelDropOptions);
		
		var vehicleModelOption = ddlModel.select('option[value='+numModelId+']');
		if (numModelId > 0 && vehicleModelOption.length > 0) 
			ddlModel.selectedIndex = vehicleModelOption[0].previousSiblings().size();
	}
}

/** -------------------------------------------------------------------
* VEHICLE-HELPERS
* GeneralHelper methods for working with dynamic drop down lists
* @dependencies: dynamic_makes.js must be loaded first
* ------------------------------------------------------------------- */

	// Converts a js array into a new array of option pairs
	function convertArrayToOptions(originalArray) {
		var optionsArray = new Array();
		for( var i =0; i < originalArray.length; i++)
			optionsArray.push( createOptionTag( originalArray[i][1], originalArray[i][0]));
		return optionsArray;
	}

	// Returns a JS array of all vehicle manufacturers
	function getVehicleManufacturers() {
		var manufactureres = new Array();
		for (var i = 0; i < makes.length; i++) {
			var make = new Array( makes[i][0], makes[i][1]);
			manufactureres.push(make);
		}
		return manufactureres;
	}

	/**
	 * Returns an <option /> element
	 * @param	value 	the value attribute of the tag
	 * @param	text		the text value of the option
	 */
	function createOptionTag(text, value) {
		return '<option value="' + value + '">' + text + "</option>";
	}
	
	// Returns generic <option> tag with a 'Select' prompt
	function getSelectPromptOption() {
		return createOptionTag("Please select", 0);
	}

	// Returns models defined in makes variable
	function getModelsFromMakeId(makeId) {
		return makes[makeId - 1][2];
	}

	// Sets the drop down list to its default page load state
	function setDropListEmpty(dropDownList) {
		clearDropList(dropDownList);
		setDropList( dropDownList, new Array(getSelectPromptOption()));
	}

	/**
	 * Populates a drop down list with specified options
	 * @param dropDownList		the id of the drop down list to fill
	 * @param optionsArray		an array of <option> tags
	 */
	function setDropList(dropDownList, optionsArray) {
		var opts = "";
		var ddl = $(dropDownList);
		for (var i = 0; i < optionsArray.length; i++)
			opts += optionsArray[i];
		ddl.update(opts);
	}
	
	// Removes decendants of a drop down list
	function clearDropList(dropDownList) {
		$(dropDownList).update();
	}

	/**
	 * Assigns variables present in a get string into the window's parameter list
	 */
	function setupParameters() {
	    var parameters = new Object();
	    if(window.location.search) {
	        var paramArray = window.location.search.substr(1).split('&');
	        var length = paramArray.length;
	        for (var index = 0;index <length; index++ ) {
	            var param = paramArray[index].split('=');
	            var name = param[0];
	            var value =
	                typeof param[1] == "string"
	                ? decodeURIComponent(param[1].replace(/\+/g, ' '))
	                : null;
	            parameters[name] = value;
	        }
	    }
	    window.location.parameters = parameters;
	}
	
	/**
	 * Returns a GET parameter value from a url string
	 * @params name		the variable name
	 * @returns value		a string value of the variable
	 */
	function getParameter(name) {
	    if(typeof window.location.parameters == "undefined")
	        setupParameters();
	    return window.location.parameters[name];
	}
	// GetParams
