$(document).ready(function(){
    
	$("#quote").unbind();
	
	var quotes = new Array();
	quotes[0] = "#rt";
	quotes[1] = "#gt";
	quotes[2] = "#mt";
	quotes[3] = "#ft";
	quotes[4] = "#wt";
	quotes[5] = "#pt";
	quotes[6] = "#pl";

	$.each(quotes,function(i,v) {
		if($(v + "_check").is(":checked")) {$(v).show();}else{$(v).hide();}
		$(v + "_check").click(function() {
			if ($(v).is(":hidden")) {
				$(v + "_check").attr('checked',true);
				$(v).show();
				if ($("#all_check").is(":checked")) {$("#all_check").attr('checked',false);}
			} else {
				$(v + "_check").attr('checked',false);
				$(v).hide();
				if ($("#all_check").is(":checked")) {$("#all_check").attr('checked',false);}
			}
		});
	});

	$("#all_check").click(function() {
		$.each(quotes,function(i,v) {
			if ($("#all_check").is(":checked")) {
				if ($(v + "_check").not(":checked")) {
					$(v + "_check").attr('checked',true);
					$(v).show();
				} 
			} else {
				if ($(v + "_check").is(":checked")) {
					$(v + "_check").attr('checked',false);
					$(v).hide();
				} 
			}
		});
	});

	$("#quote").validate({
		rules: {
			rt_wk: {required: "#rt_check:checked"},
			gt_wk: {required: "#gt_check:checked"},
			gt_cs: {required: "#gt_check:checked"},
			mt_wk: {required: "#mt_check:checked"},
			gt_wk: {required: "#gt_check:checked"},
			ft_wk: {required: "#ft_check:checked"},
			pt_wk: {required: "#pt_check:checked"},
			email_address: {required:true,email:true},
			postal_code: {required:true,digits:true},
			phone: {required:true,digits:true}
		},
		invalidHandler: function(form, validator) {
			$.each(quotes,function(i,v) {
				$(v).show();
			});
		},
		submitHandler: function(form) {
			form.submit();
			return false;
		}
	});
});
