/*------------------------------------

	menu.js
	
	written by brandon curtis
	
	dependencies:
	    * jquery (written using 1.2.6)
------------------------------------*/

var Menu=(function(){var autohide_default=500;var sub_menus=[];var hide_sub_menus=function(){$.each(sub_menus,function(index,sub_menu){if(!sub_menu.dont_hide)sub_menu.hide();});}
var flag=function(menu){menu.dont_hide=true;if(menu.parent)flag(menu.parent);}
var unflag=function(menu){delete menu.dont_hide;if(menu.parent)unflag(menu.parent);}
var cnstr=function(data,autohide_delay,level){if(!level)level=0;var layout='vertical';if(level==0&&data.layout=='horizontal')layout='horizontal';if(isNaN(autohide_delay))autohide_delay=autohide_default;else if(autohide_delay<0)autohide_delay=0;var self=$("<div class='"+((level)?'menu level'+level:'root_menu')+"'></div>");if(level)sub_menus.push(self);$.each(data.children,function(index,item){var menu_item=$("<div class='menu_item'></div>").appendTo(self);menu_item.html(item.contents);var sub_menu;menu_item.click(function(e){unflag(sub_menu||self);hide_sub_menus();});if(item.children){sub_menu=new Menu(item,autohide_delay,level+1);sub_menu.parent=self;$(document.body).append(sub_menu);sub_menu.css('display','none');sub_menu.bind('mouseover',function(){flag(sub_menu);});sub_menu.bind('mouseout',function(){unflag(sub_menu);setTimeout(hide_sub_menus,autohide_delay);});menu_item.mouseover(function(){var top,left;if(layout=='horizontal'){top=menu_item.offset().top+menu_item.height();left=menu_item.offset().left;}
else{top=menu_item.offset().top;left=menu_item.offset().left+menu_item.width();}
if($.browser.msie){top-=2;left-=2;}
sub_menu.css('top',top);sub_menu.css('left',left);flag(sub_menu);hide_sub_menus();sub_menu.show();});menu_item.mouseout(function(){unflag(sub_menu);setTimeout(hide_sub_menus,autohide_delay);});}});return self;}
return cnstr;})();