	function ADLPartSearch(entryPoint) {
		this.entryPoint = entryPoint;
		this.proxy = new LEJSONRPCProxy();
	} 

	ADLPartSearch.prototype.getModelsForMake = function(make){
		//try {
			var ret = this.proxy.invokeOnEndpointWithParameters(
				'getAllModelsForMakeWithName',
				this.entryPoint,
				[ make ]
			);
			return ret;
		//} catch (error) {
		//	return error;
		//}
	}



	Event.observe(window, 'load', function() {
			
			$('make').observe('change', function (e){
				e.stop();
				var models = partSearch.getModelsForMake($F('make'));

				$('model').enable('true');
				var opts = $('model').childElements();
				
				opts.each(
					function(name, index) {
						name.remove();
					}
				);
				var opt = new Element('option', {"selected": "selected", "value": "" } ).update("-- please select --");
				$('model').appendChild(opt);
				
				for(c=models.length,i=0; i < c; i++){
					var m = models[i].model;
					if(m != "ZZDELETE" && m != "DELETE"){
						var opt = new Element('option', { 'value': m }).update(m);
					}
					$('model').appendChild(opt);
				}
				//if we are on the listing page.. do we dynamically update or not?? ponders 

			});
			
			
			$('model').observe('change', function (e)  {
				e.stop();
				$('vehicleSelector').submit();// 
			});
			
			$('accessory').observe('change', function (e){
				e.stop();
				var accessoryUrl = ($F('accessory'));
				if (null != accessoryUrl){
					window.location = accessoryUrl;
				}
			});
			
		}
		
	);
	
	
	
	//
