(function($j){
	$j.pixHeader = function(){
		
		// global vars
		var main_nav = $j("#main-nav");
		var main_nav_offset = {
			left: main_nav.offset().left,
			right: main_nav.width() + main_nav.offset().left,
			top: main_nav.offset().top
		};
		
		if (!$j.pixHeaderContent){return false;}
		
		// each "hover nav"
		$j.each($j.pixHeaderContent, function(key, val){
			
			// current tab
			var nav_tab = $j("#" + key);
			
			// next iteration if the id doesn't exist
			if(nav_tab.length!=1){return false;}
			
			// "hover-nav" (<div>) init
			var hover_nav_elt = $j('<div class="hover-nav" id="' + key + '-hover"></div>');
			
			// current tab link
			var nav_tab_link = nav_tab.find("a");
			
			// first class
			var group_class = ' class="first"';
			
			// each "group"
			$j.each(this, function(key, val){
				
				// init <dl>
				var hover_nav_dl = $j('<dl' + group_class + '><dt><a href="' + val[0] + '">' + key + '</a></dt></dl>');
				
				// each link (<dd>)
				$j.each(val[1], function(key, val){
					if (key!="see_all"){
						hover_nav_dl.append('<dd><a href="' + val + '">' + key + '</a></dd>');
					}
					else {
						hover_nav_dl.append('<dd class="see-all"><a href="' + val[1] + '">' + val[0] + '</a></dd>');
					}
				});
				
				// append group (<dl>) to "hover nav" (<div>)
				hover_nav_elt.append(hover_nav_dl);
				
				// clear first class
				group_class = "";
			});
			
			// Insert and position
			hover_nav_elt.insertAfter(nav_tab_link);
			
			var left_position = nav_tab_link.offset().left - main_nav_offset.left;
			
			if ( (nav_tab_link.offset().left + hover_nav_elt.width() > main_nav_offset.right) ){
				var left_correction = nav_tab.width() - hover_nav_elt.width() + 1;
			}
			else {
				var left_correction = -1;
			}
			
			hover_nav_elt.css({
				left: (left_position + left_correction) + "px",
				top: (nav_tab_link.offset().top - main_nav_offset.top + nav_tab_link.height()) + "px"
			})
			.setWindowed().unsetWindowed(); //IE6
			
			// Hover event
			nav_tab_link.parent().hover(
				function(){
					hover_nav_elt.show()
					.setWindowed(); //IE6
					nav_tab_link.addClass("hover");
					if ($j.browser.mozilla){$j("#search-box-rounded input").hide();} // Firefox <input> bug
				},
				function(){
					hover_nav_elt.hide()
					.unsetWindowed(); //IE6
					nav_tab_link.removeClass("hover");
					if ($j.browser.mozilla){$j("#search-box-rounded input").show();} // Firefox <input> bug
				}
			);
			
			// Focus event
			nav_tab_link.focus(function(){
				main_nav.find("div.hover-nav").hide().unsetWindowed().prev().removeClass("hover");
				$j(this).addClass("hover").next().show().setWindowed();
			});
			
		});
	};
})(jQuery);