var SnepoMenu = SnepoMenu? SnepoMenu : function(){
	var retrieving = false;
	var loadingLayer = false;
	var lastUrl = "";
	
	function getTagTiles(){
		var link = $(this);
		
		if(retrieving || lastUrl == link.attr('href')){
			return false;
		}
		
		$(".snepo-menu li").removeClass('active-tag');
		var parentLi = link.parent();
		if(!parentLi.hasClass('root-tag')){
			parentLi.addClass('active-tag');
		}
		retrieving = true;
		//Loading();
		parentLi.addClass('snepo-tiles-loading');
		$.get(link.attr('href'),{},function(data){
			$('#snepo_tiles').replaceWith(data);
			retrieving = false;
			parentLi.removeClass('snepo-tiles-loading');
			lastUrl = link.attr('href');
			//Loading(false);
		},'html');
		return false;
	}
	
	function Loading(show){
		//allready showing the loading layer
		if(typeof(show) != 'boolean'){
			show = true;
		}
		if($('#snepo_tiles #snepo-menu-loading').length && show){
			return false;
		}
		
		if(!loadingLayer){
			loadingLayer = $("<div id=\"snepo-menu-loading\">Loading<\/div>");
		}
		
		if(show){
			$('#snepo_tiles').prepend(loadingLayer);
		}else{
			loadingLayer.remove();
		}
		return false;
	}
	
	return{
		Init : function(withajax){
			if(typeof(withajax) != 'boolean'){
				withajax = true;
			}
			if(withajax){
				$(".snepo-menu .root-tag a.menu-slider-link").bind('click',function(){
					$('ul',$(this).parent()).slideToggle();
					return false;
				});
                $(".snepo-menu a").bind('click',getTagTiles);
			}
			
			//expand menus which have active-tags
			var opened = false;
			$(".snepo-menu .active-tag").parent().parent('.root-tag').each(function(index){
				$('ul',this).slideDown();
				opened = true;
			});
			
			if(!opened){
				$(".snepo-menu .root-tag.active-tag ul").each(function(index){
					$(this).slideDown();
					
				});
			}
		}
	}
}();
