/* Gene Messer Auto Group Panels JS by Josh Lizarraga */
/* Copyright 2009 Autofusion.com */

(function(){

var initPanels = function(){
	
	var oContainer = document.getElementById('g1-sidebar-panels');
	var oButtons = YAHOO.util.Dom.getElementsByClassName('g1-sidebar-panel-button', 'a', oContainer);
	
	for(var i=0; i<oButtons.length; i++){
		oButtons[i].busy = false;
		oButtons[i].state = false;
		YAHOO.util.Event.addListener(oButtons[i], 'click', function(e){
			YAHOO.util.Event.preventDefault(e);
			YAHOO.util.Event.stopPropagation(e);
			var oTarget = YAHOO.util.Event.getTarget(e);
			if(oTarget.busy === false){
				oTarget.busy = true;
				var oPanel = YAHOO.util.Dom.getNextSibling(oTarget);
				var oBody = YAHOO.util.Dom.getElementsByClassName('g1-panel-body', 'div', oPanel)[0];
				if(oTarget.state){
					var oExpand = new YAHOO.util.Anim(oPanel, {
							height: { to: 0 }
						}, 0.25, YAHOO.util.Easing.easeOut);
				} else {
					var oExpand = new YAHOO.util.Anim(oPanel, {
							height: { to: oBody.offsetHeight }
						}, 0.25, YAHOO.util.Easing.easeOut);
				}
				var oBodies = YAHOO.util.Dom.getElementsBy(function(pNode){
					if(pNode.className === 'g1-panel' && YAHOO.util.Dom.getPreviousSibling(pNode).id !== oTarget.id){
						return true;
					} else {
						return false;
					}
				}, 'div', oContainer, function(pNode){
					var oCollapse = new YAHOO.util.Anim(pNode, {
							height: { to: 0 }
						}, 0.25, YAHOO.util.Easing.easeOut);
					oCollapse.animate();
					oCollapse.onComplete.subscribe(function(){
						var oLink = YAHOO.util.Dom.getPreviousSibling(pNode);
						oLink.state = false;
						oLink.busy = false;
					});
				});
				oExpand.animate();
				oExpand.onComplete.subscribe(function(){
					oTarget.state = !oTarget.state;
					oTarget.busy = false;
				});
			}
		});
	}
	
};

if(YAHOO.util.Dom.inDocument('g1-sidebar-panels')){ initPanels(); }

})();