$(function() {
	/** TJ: some bootstrapping */
	$("#ez-dl").before("<ul id='toggleAll'><li><a id='ez-open-all' href='#ez'><img alt='' src='http://assets.ez-css.org/img/clear.gif'>Open All</a></li><li><a id='ez-close-all' href='#ez'><img alt='' src='http://assets.ez-css.org/img/clear.gif'>Close All</a></li></ul>");
	$("#ez-dl > dt").attr('tabindex', "0");
	$("#ez-dl > dt").addClass("ez-dt-closed");
	$("#ez-dl > dd").addClass("ez-dd-hidden");
	$("#ez-dl > dd").prepend("<img class=\"answer\" alt=\"\" src=\"http://assets.ez-css.org/img/clear.gif\">");

	/** check for click or enter key */
	$("#ez-dl > dt").bind("click keypress", function(e) {
		$this = $(this);
		var code = e.keyCode || e.which;
		if (code == 13 || e.type == "click") {
			if ($this.hasClass("ez-dt-open")) {
				$this.removeClass("ez-dt-open").addClass("ez-dt-closed");
				$this.next(".ez-dd-shown").removeClass("ez-dd-shown").addClass("ez-dd-hidden");
			} else if ($this.hasClass("ez-dt-closed")) {
				$(this).removeClass("ez-dt-closed").addClass("ez-dt-open");
				$(this).next(".ez-dd-hidden").removeClass("ez-dd-hidden").addClass("ez-dd-shown");
			}
		}
	});

	$("#ez-open-all").bind("click", function() {
		$(".ez-dt-closed").removeClass("ez-dt-closed").addClass("ez-dt-open");
		$(".ez-dd-hidden").removeClass("ez-dd-hidden").addClass("ez-dd-shown");
	});

	$("#ez-close-all").bind("click", function() {
		$(".ez-dt-open").removeClass("ez-dt-open").addClass("ez-dt-closed");
		$(".ez-dd-shown").removeClass("ez-dd-shown").addClass("ez-dd-hidden");
	});
	/** TJK: checking for fragment identifier */
	if(top.location.hash) {
		$(top.location.hash).addClass("ez-dd-shown");
		$(top.location.hash).prev().removeClass("ez-dt-closed").addClass("ez-dt-open");
	}
});

