YAHOO.namespace('nestle.app');

YAHOO.nestle.app.ProdMenu = function() {
	
	var speed = 45; // from 0 to 100
	
	var loadHandler = function () {
		YAHOO.nestle.app.ProdMenu.init();
	}
	
	var itemClickHandler = function () {
		
		var box = YAHOO.util.Dom.getElementsByClassName('prod-menu-box', 'div', this.parentNode)[0];
		
		if (parseInt(YAHOO.util.Dom.getStyle(box, 'height')) == 0) {
			openItem(box);	
		} else {
			closeItem(box);
		}
		
	}
	
	
	var closeItem = function (box) {
		
		YAHOO.util.Dom.removeClass(box.parentNode, 'opened');
		
		this.anim = new YAHOO.util.Anim(box, {height: {to: 0}, opacity: {to: 0.3}}, speed/100, YAHOO.util.Easing.easeIn);
		this.anim.animate();
		
	}
	
	var openItem = function (box) {
		
		YAHOO.util.Dom.addClass(box.parentNode, 'opened');
		
		if (this.openedBox && this.openedBox != box) {
			closeItem(this.openedBox);
		}
		
		var cont = YAHOO.util.Dom.getElementsByClassName('prod-menu-box-cont', 'div', box.parentNode)[0];
		
		this.anim = new YAHOO.util.Anim(box, {height: {to: cont.offsetHeight}, opacity: {to: 1}}, speed/100, YAHOO.util.Easing.easeOut);
		this.anim.animate();
		
		this.openedBox = box;
		
	}
	
	
	YAHOO.util.Event.onDOMReady(loadHandler);
	
	/* public methods */
	return {
		
		// initialize product menu
		init : function() {
			
			var els = YAHOO.util.Dom.getElementsByClassName('prod-menu-link', 'a');
			if (els && els.length > 0) {
				for (key in els) {
					
					YAHOO.util.Event.on(els[key], 'click', itemClickHandler);
					
				}
			}
			
		}
		
	};
	
}();

