
 /*-------------------------------------------------------------
 # Default Script file
 
 Filename:		script.js
 Site:			Birdseye.com
 Version:		1.0
 Last change:	12/28/2010
 Author:		Anthony Bailey
 Description:	Main js file that handles all page interaction.

----------------------------------------------------------------*/

$(function(){

	/**
	 * Handles all events, and functionality for main page.
	 * Returns void.
	 */
	function main() {
		processTopNav();
		processBottomNav();
	};
	
	
	
	function processTopNav() {
		var $topNav 	= $(".top_nav"),
			$menuItems	= $topNav.find(".level1 li"),
			$links		= $menuItems.find("a");
			
		//Stop event from bubbling
		$links
			.bind("click", function(e) {
				var $this = $(this);
				
				if ($this.attr("href") == "#")
				{
					e.preventDefault();
				}
				e.stopPropagation();
			});
			
		//Pass off all interaction to the child anchor element	
		$menuItems
			.bind("click", function() {
				$(this).find("a").click();
			});
		
		//Process the click event
		$links
			.bind("click", function() {
				$menuItems
					.filter(".selected")
					.removeClass("selected");
					
				$(this)
					.parent()
					.addClass("selected");
			});
			
	} //end processTopNav
	
	
	function processBottomNav() {
		var $bottomNav		= $(".bottom_nav"),
			$links 			= $bottomNav.find("a"),
			
			$footerMenus	= $(".footer_menu"),
			$offerMenu		= $("#offersMenu"),
			$facebookMenu	= $("#facebookMenu"),
			$quickEatsMenu	= $("#quickEatsMenu"),
						
			showHide = function( elem, action ) {
		
				var $this			= $(elem),
					menuName		= String ( elem.parentNode.id ).toLowerCase() || "",
					
					closeOpenMenu = function() {
						$offerMenu
							.add( $facebookMenu )
							.add( $quickEatsMenu )
							.filter(".open:not(.stay_open)")
							.animate(
								{"top": 0}, 
								"fast",  
								"easeOutCirc", 
								function() {
									$(this).removeClass("open");
								}
							);
						if ( !$footerMenus.filter(".stay_open").length )
						{
							$(".bottom_nav .selected").removeClass("selected");
						}						
					}, //end closeOpenMenu
										
					openMenu = function( name ) {
						switch( name )
						{
							case "navbtnoffers":
								$offerMenu.animate(
									{'top': '-164px'}, 
									400, 
									"easeOutCirc",
									function() {
										$(this).addClass("open")
									}
								);
								break;
								
							case "navbtnfacebook":
								$facebookMenu.animate(
									{'top': '-103px'},
									400,
									"easeOutCirc",
									function() {
										$(this).addClass("open")
									}
								);
								break;
								
							case "navbtnquickeats":
								$quickEatsMenu.animate(
									{'top': '-104px'},
									400, 
									"easeOutCirc",
									function() {
										$(this).addClass("open")
									}
								);
								break;
							} //end switch
					}; //end var
					
					if ( action == "show" )
					{
						openMenu( menuName );
					}
					else
					{
						closeOpenMenu( menuName );
					}
					
			}; //endFunc showHide
		
		$links.hoverIntent(
		  function () {
			showHide( this, 'show' );
			$(this)
				.parent()
				.addClass("selected");
		  }, 
		  function () {
			showHide( this, 'hide' );
			$(this)
				.parent()
				.removeClass("selected");
		  }
		);
		
		/*
		$links.bind("mouseenter", function(e) {
				showHide( this, 'show' );
				$(this)
					.parent()
					.addClass("selected");
			})
	
		$links.bind("mouseleave", function(e) {
			var elm = this;
			window.setTimeout( 
				function() {
					showHide( elm, 'hide' );
					$(this)
						.parent()
						.removeClass("selected");
				},
				500
			);
		});
		*/
		
		$footerMenus.bind("mouseenter", function(e) {
			$(this).addClass("stay_open")
		});

		$footerMenus.bind("mouseleave", function(e) {
			var temp = 1;
			$(this).removeClass("stay_open")
					.animate(
						{"top": 0}, 
						"fast", 
						"easeOutCirc", 
						function() {
							$(this).removeClass("open");
						}
					);		
			/*
			var $openMenu = $bottomNav.find("li.selected");
			
			if ( $openMenu.length )
			{
				$footerMenus
					.find(".stay_open")
					.removeClass("stay_open");
				showHide( $openMenu[0], 'hide' );
			}
			*/
		});
			
			
	} //end processBottomNav
	
	
	//Run on DOM ready
	main();
	
}); //end jQuery document.ready






















