$(document).ready(function(){
	$.allowedCheck = function(){
		$('.results .title:data(allowed=true)').fadeTo(300, 1.0).css('cursor', 'pointer');
	    $('.results .title:data(allowed=false)').fadeTo(300, 0.5).css('cursor', 'default').removeData('value');
	};
	
	$.updateLines=function(){
		$('.results .output').each(function(){
			$(this).find('p:odd').css('background-color','#ffde7a');
		});
	};
	
	$.urlUpdate=function(){
									
		var stock = ($('#stock').val() != undefined) ? $('#stock').val() : '';
		var cond = $('#condition').data('value');
		if(cond == 'New')
			var condition = 'N';
		else
			var condition = 'U';
		var make_id = '';
		if ($('#make').data('toSearch')) {
			make_id = $('#make').data('toSearch');
		}
		var model_id = '';
		if ($('#model').data('toSearch')) {
			model_id = $('#model').data('toSearch');
		}
		var low_year = '';
		if ($('#minYear').data('toSearch')) {
			low_year = $('#minYear').data('toSearch');
		}
		var high_year = '';
		if ($('#maxYear').data('toSearch')) {
			high_year = $('#maxYear').data('toSearch');
		}
		var low_price = '';
		if ($('#minPrice').data('toSearch')) {
			low_price = $('#minPrice').data('toSearch');
		}
		var high_price = '';
		if ($('#maxPrice').data('toSearch')) {
			high_price = $('#maxPrice').data('toSearch');
		}
		var mileage = '';
		if ($('#miles').data('toSearch')) {
			mileage = $('#miles').data('toSearch');
		}
		
	
		$('#newSearch').attr('href','inventory.php?thisPage=1&t=' + condition + '&stock=' + stock + '&makeID=' + make_id + '&modelID=' + model_id + '&minYear=' + low_year + '&maxYear=' + high_year + '&minPrice=' + low_price + '&maxPrice=' + high_price + '&maxMileage=' + mileage);
	
	};
	
	$('#stock').bind('keyup',function(){
		$.urlUpdate();
	});
	
	$.updateReminder = function(){
	    $('.summary').html('');
	    $('#newSearch').attr('href', 'inventory.php?');
	    var reminder = new Object();
	    reminder.selections = {
	        'condition': $('#condition').data('value'),
	        'make': $('#make').data('value'),
	        'model': $('#model').data('value'),
	        'low year': $('#year').data('valueLow'),
			'high year': $('#year').data('valueHigh'),
			'low price': $('#price').data('valueLow'),
			'high price': $('#price').data('valueHigh'),
			'max mileage': $('#miles').data('value')
	    };
	    	
	    $.each(reminder.selections, function(key, value){
			if (value) {
	            var append = $('.summary').html()+'<P>'+key+': <span style="color:#0164cc;">'+value+'</span></p>';
	            $('.summary').html(append);
	        }
	    });
		
		$('.results .title').each(function(){
			if( $(this).data('value') || $(this).data('valueLow') || $(this).data('valueHigh') ){
				$(this).find('.check').show();
			}
			else{
				$(this).find('.check').hide();
			}
		});
		$.urlUpdate();
	
	};
	
	$.updateLines();
	
	$(document).ajaxComplete(function(){
	    $.updateLines();
	});
	
	
	$.fetchMakes = function(condition,clicking){
	    $('#make, #model, #year').removeData('value');
		$.updateReminder();
	    $.ajax({
	        url: "ajax/return_makes.php?condition="+condition,
	        success: function(returned){
	            $('#makes').html(returned);
	        },
	        complete: function(){
	            if (clicking == true) {
					$('#make').click();
				}
	        }
	    });
		$('#price').data('allowed', 'true');
	
	};
	
	$.fetchModels = function(condition, makeId){
	    $('#model, #year').removeData('value');
		$.updateReminder();
	    $.ajax({
	        url: "ajax/return_models.php?condition=" + condition + "&make=" + makeId,
	        success: function(returned){
	            $('#models').html(returned);
	        },
	        complete: function(){
	            $('#model').click();
	        }
	    });
	};
	
	
	
	$.fn.highlite = function(){
	    $(this).parent('p').parent('.output').find('.selected').removeClass('selected');
	    $(this).parent('p').addClass('selected');
	    $.allowedCheck();
	};
	
	
	$('#makes a').live('click', function(){
	    var sum = $(this).attr('val');
	    $(this).parent('p').parent('.output').prev('.title').data('value', sum);
		$('#make').data('toSearch', $(this).attr('makeid'));
	    $('#model').data('allowed', 'true');
	    $(this).highlite();
	    $.fetchModels(initCond, sum);
	
	    return false;
	});
	
	$('#models a').live('click', function(){
	    var sum = $(this).attr('val');
		var make = $('#make').data('value');
		var cond = $('#condition').data('value');
	    $(this).parent('p').parent('.output').prev('.title').data('value', sum);
		$('#model').data('toSearch', $(this).attr('modelid'));
	    
		if ($('#condition').data('value') == 'Used') {
			$('#year').data('allowed', 'true');
		}else{
			$('#year').data('allowed', 'false');
		}
	    
		$(this).highlite();
		$.updateReminder();
	
		if ($('#condition').data('value') == 'Used') {
			$('#year').click();
		}
		else{
			$('#price').click();
		}
	
		return false;
	});
	
	
	
	$('#years select').bind('change', function(){
	    var low = $('#minYear').val();
		var high = $('#maxYear').val();
		$('#minYear').data('toSearch', low);
		$('#maxYear').data('toSearch', high);
		
		$('#year').data('valueLow',low).data('valueHigh',high);
	    $.updateReminder();
		$(this).data('changed','true');
		
		if(($('#years select:eq(0)').data('changed') && $('#years select:eq(1)').data('changed')) == 'true'){
			$('#price').click();
			$('#years select:eq(0), #years select:eq(1)').removeData('changed');
		}
	
	});
	
	$('#prices select').bind('change', function(){
	    var low = $('#minPrice').val();
		var high = $('#maxPrice').val();
		$('#minPrice').data('toSearch', low);
		$('#maxPrice').data('toSearch', high);
	
		$('#price').data('valueLow',low).data('valueHigh',high);
	    $.updateReminder();
		$(this).data('changed','true');
		
		if(($('#prices select:eq(0)').data('changed') && $('#prices select:eq(1)').data('changed')) == 'true'){
			$('#miles').click();
			$('#prices select:eq(0), #prices select:eq(1)').removeData('changed');
		}
	
	});
	
	$('#mileage select').bind('change', function(){
	    var sum = $('#maxMileage').val();
		$('#miles').data('value',sum);
		$('#miles').data('toSearch', sum);
	    $.updateReminder();
	
	});
	
	$('.results .title').data('allowed', 'false');
	$('#condition,#make').data('allowed', 'true');
	
	$.allowedCheck();
	
	$('.new .results .title:not(#make,#model)').data('active', 'true');
	
	$('.new .results .title:data(allowed=true)').live('click', function(){
	    $('.new .output').slideUp(600);
	    $(this).next().slideDown(600);
		$('.new .results .title').css({
			'border-bottom': '1px solid #9eb7bd',
			'color':'#000000',
			'background':'white url("img/borderless/plugin_search_titleInactive.jpg") bottom left repeat-x'
		});
		$(this).css({
			'border-bottom': 'none',
			'color':'#000000',
			'background':'#e4f3ff url("img/borderless/plugin_search_titleActive.jpg") bottom left repeat-x'
		});
	});
	
	$('.results .title').hover(function(){
	    if ($(this).data('allowed') == 'true') {
	        $(this).css('background-color', '#ffe7b3');
	    }
	}, function(){
	    if ($(this).data('allowed') == 'true') {
	        $(this).css('background-color', 'transparent');
	    }
	});
	
	$('#clearSearch').bind('click',function(){
		$('.results .title').removeData('value');
		$.updateReminder();
		$('.results .output p').removeClass('selected');
		$.fetchMakes(initCond);
		return false;
	});
	
	var initCond = 'New';
	
	$('#condition').data('value', initCond);
	$('#make, #price').data('allowed', 'true');
	$.fetchMakes(initCond,false);
	
	$('.plugSearch .tabs,.main_inv .tabs').toggle(function(){
	
		$(this).find('div:eq(1)').show();
		$(this).find('div:eq(0)').hide();
		
		initCond = 'Used';
	    $('#condition').data('value', initCond);
	    $('#year, #miles').data('allowed', 'true');
		$.allowedCheck();
		$.fetchMakes(initCond,true);
		$('#allSearch').attr('href','inventory.php?t=U');
		$('.plugSearch .results').scrollTop(0);
	},function(){
	
		$(this).find('div:eq(1)').hide();
		$(this).find('div:eq(0)').show();
		
		initCond = 'New';
	    $('#condition').data('value', initCond);
	    $('#year, #miles').data('allowed', 'false');
		$.allowedCheck();
		$.fetchMakes(initCond,true);
		$('#allSearch').attr('href','inventory.php?t=N');
		$('.plugSearch .results,.main_inv .tabs').scrollTop(0);
	});
});