function toggle_hidden_info(link) {
	$('.hidden_info').toggle();
	$(link).toggleClass('active');
	if ($(link).html() == "Show Course Info &amp; Descriptions") {
		$(link).html("Hide Course Info &amp; Descriptions");
	} else {
		$(link).html("Show Course Info &amp; Descriptions");
	}
}
function createFilterGroup(container, filters) {
	for (var i = 0; i < filters.length; i++) {
		var filter = filters[i];
		
		container.append('<input type="checkbox" name="filter_' + filter['name'] + '" id="filter_' + filter['name'] + '"' + ((filter['checked'] == true) ? (' checked="true"') : ("")) + ' /><label for="filter_' + filter['name'] + '">' + filter['label'] + '</label>');
		if ('onchange' in filter) {
			if (filter['onchange'] == "default") {
				$("#filter_" + filter['name']).bind('change click', {filter: filter, filters: filters}, function(e) {
					var selector = ".filter_" + e.data.filter['name'];
					if ('complement' in e.data.filter) {
						var complement_filter = "";
						for (var j = 0; j < e.data.filter['complement'].length; j++) {
							var c = e.data.filters[e.data.filter['complement'][j]];
							if ($("#filter_" + c['name']).attr("checked") == false && e.target.checked == false) {
								complement_filter += ", .filterable.filter_" + c['name'] + " ";
							} else if ($("#filter_" + c['name']).attr("checked") == false && e.target.checked == true) {
								selector = ".filter_" + e.data.filter['name'] + ":not(.filter_" + c['name'] + ")";
								//complement_filter += ", .filter_" + e.data.filter['name'] + ":not(.filter_" + c['name'] + ") ";
							}
						}
					}
					if (e.target.checked == false)
						$(selector + complement_filter).fadeOut("fast");
					else
						$(selector + complement_filter).fadeIn("fast");
				});
			} else {
				$("#filter_" + filter['name']).bind('change', filter['onchange']);
			}
		}
		
		if ('opposite' in filter) {
			$("#filter_" + filter['name']).bind("click", {filter: filter, filters: filters}, function(e) {
				if ($(e.target).attr("checked") == false) {
					var opposite = $(e.data.filter['opposite']);
					if (opposite.attr('checked') != true) {
						// either or must be checked
						opposite.attr('checked', 'true');
						opposite.trigger('change');
					}
				}
			});
		}
	}
}
function toggleCourses(checkbox, selector_base, course) {
	if (checkbox.checked == false)
		$(selector_base + course).fadeOut("fast");
	else
		$(selector_base + course).fadeIn("fast");
}
