var treeNodes = new Array();
var clubId;


function loadMenu(cId)
{
	clubId = cId;
	var service = new rpc.ServiceProxy('/club/service/readMenu', 
			{                
				asynchronous: true,                  
				protocol: 'JSON-RPC',                
				sanitize: false,                   
				methods: ['readMenu'],                
				callbackParamName: 'callback'
			});

			service.readMenu(
					{
						params:[clubId],
						onSuccess:function(result)
						{
							rootNode = result;
							showMenu(rootNode);
						},
						onException:function(errorObj)
						{
							alert('error'+errorObj.getMessage());
						},
						onComplete:function(responseObj){}
					});
}

function showMenu(parentNode)
{
	treeNodes[parentNode.ID] = parentNode;
	parentNode.open = true;
	parentNode.name = "";

	var output = '<table border=\'0\' cellspacing=\'0\'>\n';
	output += createNode(parentNode);
	output += '</table>';
	output += '<div style=\'position:absolute; height:1px; width:1px\'>';
	output += '<form name=\'menuform\' id=\'menuform\' target=\'content\'>';
	output += '<input type=\'hidden\' name=\'id\' value=\''+clubId+'\' />';
	output += '</form></div>';

	document.getElementById("menu").innerHTML = output;

}



function openLink(link,param)
{
	//alert("document.forms['menuform'].action = 'http://localhost/club?id=1&page="+link+"'");
	eval("document.forms['menuform'].action = '/club'");

	if(link.indexOf("javascript") == 0)
	{
		eval(link);
	}
	else if(link.indexOf("http") == 0)
	{
	    eval("content.location=" + link);
	}
	else
	{

		if(param != null)
		{
			var paramParts = param.split ('=');
			document.getElementById("menuform").innerHTML += "<input type='hidden' name='page' value='"+link+"' />";
		}

		document.menuform.submit();
	}
}

function createNode(node)
{
	var output = "";

	treeNodes[node.ID] = node;

	if(node.name != "")
	{
		output += "<tr><td>&nbsp;&nbsp;</td><td id='"+node.ID+"' style='cursor:pointer;' onClick='toggle(\""+node.ID+"\")'><font color='#ffffff'><b><a target='content' onClick='openLink(\""+node.link+"\",\""+node.linkparam+"\")'>"+node.name+"</a></b></font></td></tr>";
	}

	if(node.children != null &&node.children.length>0 && node.open)
	{
		output += "<tr><td>&nbsp;</td><td><table border='0' cellspacing='0'>";

		for(var i=0; i<node.children.length; i++)
		{
			var childNode = node.children[i];
			output += createNode(childNode);
		} 

		output += "</table></td></tr>";
	}

	return output;
}

function toggle(nodeId)
{

	var content = document.getElementById("content");

	var node = treeNodes[nodeId];

	if(node.open == true)
	{
		node.open = false;
		document.getElementById("headline").innerHTML=node.name;
	}
	else
	{
		node.open = true;
		document.getElementById("headline").innerHTML=node.name;
	}

	showMenu(rootNode);
}

