///////////////////////dropdowns/////////////////////////////////////////////////////

	$(document).ready(
		 
		function(){
			
			// LOADING ANIMATION //
		
			 $(".lookup_loading").hide();				   
			 $(".lookup_loading").bind("ajaxStart", function(){
			   $(this).show();
			 }).bind("ajaxComplete", function(){
			   $(this).hide();
			 });

			var getValues = function(el) 
							 { 
								var value = ($(el).val());
								
								dropchange = $(el).attr('id');
								
								switch(dropchange)
								{
								case 'year':
								  var selection = 'make';
								  break;
								case 'make':
								  var selection = 'model';
								  break;
								case 'model':
								  var selection = 'engine';
								  break;
								default:
								  var selection = 'make';
								}
								
								var lookup_locale = $('input[id=lookup_locale]').val();
								var catalog_sent = $('input[id=catalog]').val();
								var year_sent = $('select[id=year]').val();
								var make_sent = $('select[id=make]').val();
								var model_sent = $('select[id=model]').val();

								if(value == '' || value == 'Select ' || $(el).attr('disabled'))
								{
									return [];
								}
								
								var string = 'selectedCatalogId=' + catalog_sent + '&selectedYear=' + year_sent + '&selectedMakeId=' + make_sent + '&selectedModelId=' + model_sent + '&selection=' + selection;
								
								$.ajax({
								  type: "GET",
								  url: 'http://catalog.monroe.com/catalog/catalogOptions.do',
								  dataType: "jsonp",
								  data: string,
								  jsonp: 'jsonp_callback',
								  async: false,
								  cache: false,
								  success: function(data) {
										
										$.each(data, function(){
											
											$('.' + selection).append(
												$('<option></option>').val(this.value).html(this.label).attr('title', this.label)
											);
											
										});
										
										$('.' + selection).attr('disabled', false);

									}
								  
								});
								
							};

			$('.make').dependent({ 
										dependency : 'year',
										values : getValues
									});
									 
			$('.model').dependent({ 
										dependency : 'make',
										values : getValues
									});

			$('.engine').dependent({ 
										dependency : 'model',
										values : getValues
									});

		}
	);

	
	(function($) 
	{

		$.fn.dependent = function(options) 
		{
			// build main options before element iteration
			var opts = $.extend({}, $.fn.dependent.defaults, options);
			var addOption = function(el, value, text)
			{
				el.append('<option title="' + text + '" value="' + value + '">'+ text + '</option>');
			};
   			
			return this.each(
				function() 
				{
					var $this = $(this);

					if(!opts.dependency || !opts.values )
						return;

					$(this).attr('disabled', true);

					var $originalDropDown = $this;
					
					$('.' + opts.dependency).change(
						function()
						{
							var targetValues = opts.values(this);

							$originalDropDown.find('option').remove();
							
							var lookup_locale = $('input[id=lookup_locale]').val();
							
							if(lookup_locale == "en"){
								
								switch(dropchange)
								{
								case 'year':
								  var drop_text = 'Select Make';
								  break;
								case 'make':
								  var drop_text = 'Select Model';
								  break;
								case 'model':
								  var drop_text = 'Select Engine Base';
								  break;
								default:
								  var drop_text = 'Select Make';
								}
							
							//SPANISH//
								
							}else if(lookup_locale == "es"){
								
								switch(dropchange)
								{
								case 'year':
								  var drop_text = 'Seleccione la marca';
								  break;
								case 'make':
								  var drop_text = 'Seleccione el modelo';
								  break;
								case 'model':
								  var drop_text = 'Seleccione la base del motor';
								  break;
								default:
								  var drop_text = 'Seleccione la marca';
								}
							
							//FRENCH//
								
							}else{
							
								switch(dropchange)
								{
								case 'year':
								  var drop_text = 'Sélectionner la marque';
								  break;
								case 'make':
								  var drop_text = 'Sélectionner le modèle';
								  break;
								case 'model':
								  var drop_text = 'Sélectionner la base du moteur';
								  break;
								default:
								  var drop_text = 'Sélectionner la marque';
								}
								
							}
							
							targetValues = 0;
							
							if(targetValues == 0)
							{
								$originalDropDown.attr('disabled', true);
								addOption($originalDropDown, '', drop_text);
								$originalDropDown.change();
								return;
							}

						}
					);

				}
			);
		};
   
	   // default options - these are used if no others are specified
		$.fn.dependent.defaults = 
		{
			dependency : null,
			values : null
		};
  
	})(jQuery);
