jQuery(document).ready(function(){
	var saleToYears = { 'yearling': {}, 'mixed': {}};
	var runningSaleResultsAjax = false;
	jQuery('#sire-search #searchbox').autocomplete('/sales_reports.js.php', {extraParams: { ajax: 'sireAutocomplete' }});
	jQuery('#dam-search #searchbox').autocomplete('/sales_reports.js.php', {extraParams: { ajax: 'damAutocomplete' }});
	jQuery('#single-search #searchbox').autocomplete('/sales_reports.js.php', {extraParams: { ajax: 'singleAutocomplete' }});
	jQuery('#recap-search .calendar').datepicker({ buttonImageOnly: true, dateFormat: 'mm/dd/yy', showOn: 'both', buttonImage: 'http://www.harnessracing.com/images/calendar.png', changeMonth:true, changeYear:true });
	
	jQuery('#yearlingYear, #mixedYear').each(
		function()
		{
			//set up intial array
			var current_id = jQuery(this).attr('id');
			var key = 'yearling';
			if(current_id == 'mixedYear')
			{
				key = 'mixed';
			}
			var current_sale_key = jQuery('#'+(key == 'yearling' ? 'yearlingSale' : 'mixedSale')).attr('value');
			if(!current_sale_key)
			{
				current_sale_key = 'blank';
			}
			saleToYears[key][current_sale_key] = new Array();
			var loop = 0;
			jQuery(this).children('option').each(
				function()
				{
					if(jQuery(this).attr('value'))
					{
						saleToYears[key][current_sale_key][loop] = jQuery(this).attr('value');
						loop++;
					}
				}
			);
		}
	);

	jQuery('#yearlingSale, #mixedSale').change(
		function()
		{
			if(runningSaleResultsAjax) return false;	//do not allow user to change dropdown if ajax is running
			
			var current_id = jQuery(this).attr('id');
			var current_value = jQuery(this).attr('value');
			var current_year = '';
			var do_ajax = false;
			var ajax_opts = {ajax: '', sale: ''};
			var yearDropdown = '';
			var typeKey = '';
			var saleKey = (!current_value ? 'blank' : current_value);
			if(current_value)
			{
				ajax_opts.sale = current_value;
			}
			if(current_id == 'yearlingSale')
			{
				yearDropdown = jQuery('#yearlingYear');
				current_year = yearDropdown.attr('value');
				typeKey = 'yearling';
				ajax_opts.ajax = 'getYearlingYears';
			}
			else
			{
				yearDropdown = jQuery('#mixedYear');
				current_year = yearDropdown.attr('value');
				typeKey = 'mixed';
				ajax_opts.ajax = 'getMixedYears';
			}
			
			if(!saleToYears[typeKey][saleKey])
			{
				yearDropdown[0].options.length = 0;
				yearDropdown[0].options[0] = new Option('Please wait...', '');
				runningSaleResultsAjax = true;
				jQuery.ajax({
					type:'GET',
					url: '/sales_reports.js.php',
					dataType:'json',
					data: ajax_opts,
					success: function(json)
					{
						saleToYears[typeKey][saleKey] = json.years;
						yearDropdown[0].options.length = 0;
						var numYears = saleToYears[typeKey][saleKey].length;
						var canSetYear = false;
						yearDropdown[0].options[0] = new Option('[ -- ]', '');
						for(var i = 0; i < numYears; i++)
						{
							if(saleToYears[typeKey][saleKey][i] == current_year)
							{
								canSetYear = true;
							}
							yearDropdown[0].options[i+1] = new Option(saleToYears[typeKey][saleKey][i], saleToYears[typeKey][saleKey][i]);
						}
						if(canSetYear)
						{
							yearDropdown.attr('value', current_year);
						}
						runningSaleResultsAjax = false;
					},
					error:function()
					{
						yearDropdown[0].options.length = 0;
						yearDropdown[0].options[0] = new Option('An error has occurred.  Please try again.', '');
						runningSaleResultsAjax = false;
					}
				});
			}
			else
			{
				yearDropdown[0].options.length = 0;
				var numYears = saleToYears[typeKey][saleKey].length;
				yearDropdown[0].options[0] = new Option('[ -- ]', '');
				for(var i = 0; i < numYears; i++)
				{
					yearDropdown[0].options[i+1] = new Option(saleToYears[typeKey][saleKey][i], saleToYears[typeKey][saleKey][i]);
				}
			}
			return true;
			
		}
	);
	
	jQuery('#salesResultsForm').submit(
		function()
		{
			jQuery('#results-error:visible').hide();
			var info = {
								yearling: { sale: jQuery('#yearlingSale').attr('value'), year: jQuery('#yearlingYear').attr('value'), text: jQuery('#yearlingSale option:selected').text() },
								mixed: { sale: jQuery('#mixedSale').attr('value'), year: jQuery('#mixedYear').attr('value'), text: jQuery('#mixedSale option:selected').text() }
							}
			if(!info.yearling.sale && !info.mixed.sale)
			{
				jQuery('#results-error').html('Please select either a yearling sale or mixed sale').show();
				return false;
			}
			else if(!info.mixed.year && !info.yearling.year)
			{
				jQuery('#results-error').html('Please select a year for the sale you have selected').show();
				return false;
			}
			else if(info.yearling.sale && !info.yearling.year && !info.mixed.sale && !info.mixed.year)
			{
				jQuery('#results-error').html('If you would like to view information on a yearling sale, please select a year for that sale.').show();
				return false;
			}
			else if(info.mixed.sale && !info.mixed.year && !info.yearling.sale && !info.yearling.year)
			{
				jQuery('#results-error').html('If you would like to view information on a mixed sale, please select a year for that sale.').show();
				return false;
			}
			else if(info.mixed.sale && info.mixed.year && info.yearling.sale && info.yearling.year)
			{
				var theHtml = 'Please limit your search to only 1 type of sale.  Which sale do you wish to search?';
				theHtml += '<ul><li><a href="http://www.harnessracing.com/sales_reports.php?cat=results&action=search&yearling_sale='+info.yearling.sale+'&yearling_year='+info.yearling.year+'&type=yearling">'+info.yearling.year+' '+info.yearling.text+'</a></li>';
				theHtml += '<li><a href="http://www.harnessracing.com/sales_reports.php?cat=results&action=search&mixed_sale='+info.mixed.sale+'&mixed_year='+info.mixed.year+'&type=mixed">'+info.mixed.year+' '+info.mixed.text+'</a></li></ul>';
				jQuery('#results-error').html(theHtml).show();
				return false;
			}
		}
	);
});
