// JavaScript Document
var maxHeight =200;
var loopID;

var extendState = "closed";

function displayMenu(menu)
{
	setTimeout("new Effect.Appear('foodMenu')",500);
}

function hideMenu(menu)
{
	Element.hide(menu);
}


function toggle(elementID,urlMenu, height) {
	
	maxHeight = height;

	if (extendState == "closed") {
		getContent(elementID, urlMenu, 'foodMenu');
	}
	else if (extendState == "opened") {
		resize(elementID, 0, "up");
		hideMenu('foodMenu');
		//alert(extendState);
	}
}

function again(elementID,urlMenu, height)
{
	maxHeight = height;
	resize(elementID, 0, "up");
	if (extendState == "opened") {
		getContent(elementID, urlMenu, 'foodMenu');
	}
}

function resize(elementID, value, direction) {
	var obj = $(elementID);
	var cHeight = obj.offsetHeight;
	
	if (direction == "down") {
		if(Math.abs(value)<=1) {
			clearInterval(loopID);
			extendState = "opened";
		}
		else {
			obj.style.height = cHeight + value/2 + "px";
			clearInterval(loopID);
			loopID = setInterval("resize('"+elementID+"',"+(value/2)+",'"+direction+"')", 100);
		}
	}
	else if (direction == "up") {
		if(Math.abs(cHeight<=20)) {
			clearInterval(loopID);
			extendState = "closed";
		}
		else {
			obj.style.height = cHeight - cHeight/2 + "px";
			clearInterval(loopID);
			loopID = setInterval("resize('"+elementID+"',0 ,'"+direction+"')", 100);
		}
	}
}

function getContent(elementID, url, destination) {
	var getContentHandler = {
		onComplete: function() {
			displayMenu(destination);
			Ajax.Responders.unregister(this);
		}
	};
	
	Ajax.Responders.register(getContentHandler);
	
	var contentBox = new Ajax.Request(
									  	url,
										{
											method: "post",
											parameters: "",
											onSuccess: function(response) {
												if ($(elementID).offsetHeight < maxHeight) {
													resize(elementID, (maxHeight), "down");
												}
												$(destination).innerHTML = response.responseText;
											}
										}
									  );
}