function attachListEvents() {
	var o = $(this);
	var time = o.html();
	o.parent().prev().children().html(time);
}

$(document).ready(function() {
	$('.checkbox').click(function() {
		if ($(this).hasClass('selected')) {
			$(this).removeClass('selected');
		} else {
			$(this).addClass('selected');
		}
	});
	$('.fancyselect ul').hide();
	$('.fancyselect ul li').click(attachListEvents);


	$('#date_selector_image').click(function() { $('#date_selector').focus(); });
	$('#date_selector_image_2').click(function() { $('#date_selector_2').focus(); });

	$('span.button').click(function() {
		var num = $(this).siblings('#quote_item_number').val();
		var quantity = $(this).siblings('#quantity').val();
		if (quantity == 0) {
			removeCookie(num);
		} else {
			setCookie('quote_item_quantity_'+num, quantity, 180);
		}
		$(this).parent().submit();
	});
	$('#make_appointment, .make_appointment, #make_appointment_small').click(function() {
		if ($('#first_name').val().length == 0) { 
			$('label[for=first_name]').addClass('red'); 
		} else {
			$('label[for=first_name]').removeClass('red'); 
		}

		if ($('#last_name').val().length == 0) { 
			$('label[for=last_name]').addClass('red'); 
		} else {
			$('label[for=last_name]').removeClass('red'); 
		}


		if ($('#address1').val().length == 0) { 
			$('label[for=address1]').addClass('red'); 
		} else {
			$('label[for=address1]').removeClass('red'); 
		}

		if ($('#address2').val().length == 0) { 
			$('label[for=address2]').addClass('red'); 
		} else {
			$('label[for=address2]').removeClass('red'); 
		}

		if ($('#city').val().length == 0) { 
			$('label[for=city]').addClass('red'); 
		} else {
			$('label[for=city]').removeClass('red'); 
		}

		if ($('#zip').val().length == 0) { 
			$('label[for=zip]').addClass('red'); 
		} else {
			$('label[for=zip]').removeClass('red'); 
		}

		phone_number_1 = $('#phone_number_1').val();
		phone_number_2 = $('#phone_number_2').val();
		phone_number_3 = $('#phone_number_3').val();
		if (phone_number_1.length < 3 || phone_number_2.length < 3 || phone_number_3.length < 4) { 
			$('label[for=phone_number_1]').addClass('red'); 
		} else {
			$('label[for=phone_number_1]').removeClass('red'); 
			$('#phone_number').val(phone_number_1 + '-' + phone_number_2 + '-' + phone_number_3);
		}
		if ($('#date_selector').val().length == 0) { 
			$('label[for=date_selector]').addClass('red'); 
		} else {
			$('label[for=date_selector]').removeClass('red'); 
		}
		if ($('#date_selector_2').val().length == 0) { 
			$('label[for=date_selector_2]').addClass('red'); 
		} else {
			$('label[for=date_selector_2]').removeClass('red'); 
		}


		if ($('#confirm_email').val().length == 0) { 
			$('label[for=confirm_email]').addClass('red'); 
		} else {
			$('label[for=confirm_email]').removeClass('red'); 
		}
		if ($('#email').val().length == 0) { 
			$('label[for=email]').addClass('red'); 
		} else {
			$('label[for=email]').removeClass('red'); 
		}

		$('input#services').val('');
		$('.checkbox.selected').each(function(i,o) {
			var id = $(this).children('.service_id').html();
			var val = $('input#services').val();
			if (val.length > 0) {
				$('input#services').val(val+','+id);
			} else {
				$('input#services').val(id);
			}
		});

		var vehicle_error = false;
		if ($('#year').length == 1) {
			var year = $('#year').children().html();
			var make = $('#make').children().html();
			var model = $('#model').children().html();
			var submodel = $('#submodel').children().html();
			if (year != 'Year' && make != 'Make' && model  != 'Model' && submodel  != 'Submodel') { 
				$('#year_hidden').val(year);	
				$('#make_hidden').val(cleanSpace(make));	
				$('#model_hidden').val(cleanSpace(model));
				$('#submodel_hidden').val(cleanSpace(submodel));	
					$('.search_error').fadeOut(function() { 
					$('.error').removeClass('error');
					wheelsTracker.trackEvent('ButtonClicks','Make an appointment');
					$('#search_by_vehicle').submit();
				});
			} 
			if (year == 'Year') { $('#year').addClass('error'); $('.search_error').fadeIn(); vehicle_error = true;}
			if (make == 'Make') { $('#make').addClass('error'); $('.search_error').fadeIn(); vehicle_error = true;}
			if (model == 'Model') { $('#model').addClass('error'); $('.search_error').fadeIn(); vehicle_error = true;}
			if (submodel == 'Submodel') { $('#submodel').addClass('error'); $('.search_error').fadeIn(); vehicle_error = true;}
		}
		var already_alerted = false;

		if ($('#my_wheel_works_location').length == 0) {
			alert('Please find your nearest Wheel Works location.');
			already_alerted = true;
		}

		if ($('#email').val() != $('#confirm_email').val()) { 
			if (!already_alerted) {
				alert('Your email addresses do not match.'); 
				already_alerted = true;
			}
			$('label[for=email]').addClass('red'); 
			$('label[for=confirm_email]').addClass('red'); 
		} else if (!isValidEmail($('#email').val())) {
			if (!already_alerted) {
				alert('Your email address is not valid.');
				already_alerted = true;
			}
		} else if (vehicle_error) {
			if (!already_alerted) {
				alert('Please select your vehicle.');
				already_alerted = true;
			}
		} else {
			$('label[for=email]').removeClass('red'); 
			$('label[for=confirm_email]').removeClass('red'); 
		}

		if (	$('#first_name').val().length != 0 && $('#last_name').val().length != 0  && $('#email').val().length != 0  && $('#confirm_email').val().length != 0 &&
			$('#phone_number').val().length != 0 && $('#date_selector').val().length != 0 && $('#date_selector_2').val().length != 0 && 
			$('#email').val() == $('#confirm_email').val() && $('#my_wheel_works_location').length != 0 && !vehicle_error &&
			$('#address1').val().length != 0 && $('#address2').length != 0 && $('#city').length != 0 && $('#zip').length != 0) {

			$('#time_hidden').val($('#time span').html());
			$('#time_hidden_2').val($('#time_2 span').html());
			$('#time_hidden_3').val($('#time_3 span').html());

			$('#state_hidden').val($('#state span').html());
			wheelsTracker.trackEvent('ButtonClicks','Make an appointment');
			$('#appointment_form').submit();
		} else {
			if (!already_alerted) {
				alert('You are missing required text field(s).');	
				already_alerted = true;
			}
			$('#requiredfieldsmessage').effect('shake', { times: 3, distance: 10 });
		} 


		if (already_alerted) {
			return false;
		}
	});

	$('#confirm_email').blur(function() {
		if ($('#email').val() != $('#confirm_email').val()) { 
			alert('Your email addresses do not match.'); 
			$('label[for=email]').addClass('red'); 
			$('label[for=confirm_email]').addClass('red'); 
		} else {
			$('label[for=email]').removeClass('red'); 
			$('label[for=confirm_email]').removeClass('red'); 
		}
	});

	$('#first_name').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=first_name]').removeClass('red');
	} });
	$('#last_name').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=last_name]').removeClass('red');
	} });
	$('#address1').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=address1]').removeClass('red');
	} });
	$('#address2').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=address2]').removeClass('red');
	} });
	$('#city').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=city]').removeClass('red');
	} });
	$('#zip').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=zip]').removeClass('red');
	} });
	$('#email').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=email]').removeClass('red');
	} });
	$('#confirm_email').blur(function() { if ($(this).val().length != 0 ){
			$('label[for=confirm_email]').removeClass('red');
	} });

	$('#phone_number_3').blur(function() { if ($(this).val().length != 0 && $('#phone_number_2').val().length != 0 && $('#phone_number_1').val().length != 0) {
			$('label[for=phone_number_1]').removeClass('red');
	} });

	$('#phone_number_1').keyup(function() { if ($(this).val().length == 3) { $('#phone_number_2').focus(); } });
	$('#phone_number_2').keyup(function() { if ($(this).val().length == 3) { $('#phone_number_3').focus(); } });
	$('#phone_number_3').keyup(function() { if ($(this).val().length == 4) { $('#date_selector').focus(); } });

	$('#show_third_date').click(function() {
		$(this).hide();
		$('#third_date_time').show();
	});
	
	if ($('#date_selector_3').val().length > 0) {
		$('#show_third_date').click();
	}


	$('.remove').click(function() {
		$(this).siblings('#quantity').val(0).parent().submit();
	});

	$('#make_appointment_zipcode').blur(function() {
		var val = $(this).val();
		if (val.length == 5) {
			$(this).parent().parent().submit();
		} else {
			alert('Please enter a 5-digit zip code.');
		}
	});
});
