// JavaScript Document

$(function(){
	$('ul.main.menu > li:not(.mega)').each(function(){
		var min_width=0;
		$(this).find('li > a').each(function () {
			
			if ( $(this).outerWidth() > min_width ) {
				min_width=Math.ceil($(this).outerWidth());
			}
		});
		//console.log('largest = ' + min_width);
		
		var set_width = Math.floor($(this).parent().outerWidth()) - Math.ceil($(this).position()['left']) + 22;
		
		if(set_width < min_width) {
			$(this).find('ul').addClass('shift');
			$(this).find('ul').width(min_width);
			$(this).find('ul > li').width(min_width);
		} else {
			$(this).find('ul, ul > li').width(set_width);
		}
	
	});
	$('ul.main.menu > li > ul').each(function(){
		var parent_offset = Math.ceil($(this).parent().position()['left']);
		var menu_width = Math.floor($(this).closest('ul.main.menu').outerWidth());
		var sub_menu_width = Math.floor($(this).children('li').last().outerWidth());
		var offset = menu_width - (sub_menu_width + parent_offset - 17);
		if($(this).hasClass('shift')) $(this).css('left', offset);
		//console.log('position = ' + offset + ' / parent_offset - ' + parent_offset + ' / menu_width - ' + menu_width);
	});
	$('ul.main.menu > li:not(.mega) > ul > li').each(function(){
		$('<div class="animate"></div>').prependTo(this);
	});
	
	// Align Mega Menu
	$('ul.main.menu > li.mega > ul').each(function(){
		var position = Math.floor($(this).position()['left']);
		var parent_offset = Math.floor($(this).parent().position()['left']);
		var menu_width = Math.floor($(this).closest('ul.main.menu').outerWidth());
		var sub_menu_width = Math.floor($(this).outerWidth());
		var offset = menu_width - (sub_menu_width + parent_offset);
		$(this).css('left', offset);
		//console.log('position = ' + offset + ' / parent_offset - ' + parent_offset + ' / menu_width - ' + menu_width);
	});
	
	// Touch Triggers
	$("ul.main.menu > li").bind("touchend", function(){
		if($(this).hasClass("toggle")){
			$(this).removeClass("toggle");
			$(this).addClass("hide");
		} else {
			$(this).addClass("toggle");
			$(this).removeClass("hide");
			$(this).siblings("li.toggle").removeClass("toggle");
		}
		console.log('Toggle - ' + $(this).hasClass('hide') );
	});
});
