$(document).ready(function(){
	// Create a global namespace API
	var OBS = function(){
		return{
			init: function(){
				// Select a stat menu
				var store_locator = $('#locator_img');
				var locator_image = $(store_locator.children()[0]);
				store_locator.hover(
					function(){
						locator_image.addClass('hidden');
					},
					function(){
						locator_image.removeClass('hidden');
					}
				);
				var select_state = $('#select_state');
				var state_image_off = $(select_state.children()[0]);
				var state_image_over = $(select_state.children()[1]);
				var state_submenu = $('#state_submenu');
				select_state.click(
					function(){
						state_submenu.toggle();
						state_image_off.toggle();
					}
				);
				select_state.hover(
					function(){},
					function(){
						state_submenu.hide();
						state_image_off.show();
					}
				);
				/* Nav Menu */
				var navigation_menu = $('#navigation_menu');
				var menu_tab_blocks = $('.menu_tab_blocks');
				var sub_menu_tab_blocks = $('.sub_menu_tab_block');
				navigation_menu.children().each(function(){
					var this_li = $(this);
					var menu_tab_image_a = $($(this_li.children()[0]).children()[0]);
					this_li.hover(
						function(){
							menu_tab_image_a.addClass('hidden');
							if(this_li.children()[1] && this_li.children()[1].tagName === 'UL'){
								var this_ul = $(this_li.children()[1]);
								this_ul.show('fast');
							}
							sub_menu_tab_blocks.each(function(){
								var this_block = $(this);
								var target = $($(this_block.children()[0]).children()[0]);
								this_block.hover(
									function(){
										target.addClass('hidden');
										menu_tab_image_a.removeClass('hidden');
									},
									function(){
										target.removeClass('hidden');
									}
								);
							});
						},
						function(){
							menu_tab_image_a.removeClass('hidden');
							if(this_li.children()[1] && this_li.children()[1].tagName === 'UL'){
								var this_ul = $(this_li.children()[1]);
								this_ul.hide('fast');
							}
						}
					);
				});
			}
		}
	}();
	// Call init()
	OBS.init();
});
