jQuery(document).ready(function() {
	if(jQuery('#search-links').length) {
		jQuery("body").find(".search-divs").each(function() {
			jQuery(this).hide();
		});
	}
	else {
		jQuery("body").find(".search-link").each(function() {
			jQuery(this).toggleClass("active-search-link");
		});
	}

	var search = 0;
	jQuery("body").find(".search-link").each(function() {

		// show checkboxes for the category that was clicked

		jQuery(this).click(function() {
			var link_id = jQuery(this).attr('id');
			var frags = link_id.split("-search-link");
			link_id = "search-"+frags[0];
			jQuery("#"+link_id).toggle("normal");
			jQuery(this).toggleClass("active-search-link");
			return false;
		});

		// show checkboxes that are in the get string

		var link_id = jQuery(this).attr('id');
                var frags = link_id.split("-search-link");
                link_id = "search-"+frags[0];
		if(gup(frags[0]+'%5B%5D') || gup(frags[0]+'[]')) {
			search = 1;
                        jQuery("#"+link_id).slideDown("fast");
			jQuery(this).toggleClass("active-search-link");
		}

		// if there's been a search, only show the checkboxes that were searched

		if(search) {
			jQuery("body").find(".search-divs").each(function() {
				var xlink_id = jQuery(this).attr('id');
               			var frags = xlink_id.split("search-");
				if(link_id != xlink_id) {
					if(!gup(frags[1]+'%5B%5D') && !gup(frags[1]+'[]')) {
                                        	jQuery(this).slideUp("fast");
                                	}
				}
                        });
		}
	});

	jQuery('#showallrelatedprograms').click(function() {
		if(jQuery(this).html() == 'show more') {
			jQuery(this).html('hide');
		}
		else {
			jQuery(this).html('show more');
		}
		jQuery("body").find(".hiderelatedprogram").each(function() {
			jQuery(this).toggle();
		});
		return false;
	});

});

function gup(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if(results == null)
		return "";
	else
		return results[1];
}
