dojo.require("dojo.fx");
dojo.require("dojox.NodeList.delegate");
dojo.ready(function(){
	var sidebar = dojo.byId("aboutClientsSidebar");

	if(!sidebar){
		return;
	}

	function handleMenuEvent(event){
		var list       = this.nextSibling;

		event.type === "click" && this.blur && this.blur();
		if((event.type === "keypress" && event.which !== dojo.keys.SPACE) || !list){
			return;
		}

		if(dojo.hasClass(list, "animating")){
			return;
		}

		var parentNode = list.parentNode,
			isClosed = dojo.hasClass(parentNode, "closed");

		isClosed && dojo.removeClass(parentNode, "closed");

		dojo.fx[isClosed ? "wipeIn" : "wipeOut"]({
			node: list,
			onPlay: function(){
				dojo.addClass(list, "animating");
			},
			onEnd: function(){
				dojo.removeClass(list, "animating");
				!isClosed && dojo.addClass(parentNode, "closed");
			}
		}).play();
	}

	dojo.addClass(sidebar, "enabled");
	dojo.NodeList(sidebar)
		.delegate("h4", "click", handleMenuEvent)
		.delegate("h4", "keypress", handleMenuEvent);

	dojo.query("> div", sidebar).forEach(function(node){
		dojo.addClass(node, "closed");
		node.children[0].tabIndex = 0;
	});
});
