$(document).ready(function(){
	var html = '<div id="jssubnavigation"><div class="top">';
	var dropDownXPos = dropDownYPos = 0;
	
	$(".blocklink .btm").mouseover(function(){
		$(this).addClass("hover");
	});
	$(".blocklink .btm").mouseout(function(){
		$(this).removeClass("hover");
		
	});
	$(".blocklink").click(function(){
		window.location = $(this).find("a").attr("href");
		return false;
	});
	
	html += processNavigation();
	
	html += '</div><div class="bottom"></div></div>';
	
	$("#navigation").after(html);
	// Initially slide up
	$("#jssubnavigation").slideUp();
	
	$("#nav").mouseover(function(){
		$("#jssubnavigation").slideDown("slow");
		dropDownXPos = $("#header").position().left;
		dropDownYPos = $("#jssubnavigation").position().top;
	});
	$(document).mousemove(function(e){
		var x = dropDownXPos;
		var y = 0;
		var height = $("#jssubnavigation").height();
		var width = $("#jssubnavigation").width();
		var mouseX = e.pageX;
		var mouseY = e.pageY;
		
		height = height < 300 ? 300 : height;
		
		if(mouseX < x || mouseX > x + width || mouseY < y || mouseY > y + height){
			$("#jssubnavigation").slideUp("slow");
		}
	});
});

/*
	Function processNavigation
	Existing list navigation is parsed in order to provide a global second level drop-down.
*/
function processNavigation(){
	var navigation = '';
	var candidate = 0;
	var primaryElements = document.getElementById("nav").childNodes;
	var secondaryElements = undefined;
	var countPrimaryElements = 0;
	
	for(var i = 0; i < primaryElements.length; i++){
		if(primaryElements[i].tagName == "LI"){
			candidate = primaryElements[i].getElementsByTagName("UL");
			
			if(candidate.length == 1){
				navigation += countPrimaryElements == 0 ? '<div class="jssubnav first">' : '<div class="jssubnav">';
				navigation += '<ul>'+candidate[0].innerHTML+'</ul>';
				primaryElements[i].removeChild(candidate[0]);
			}
			else
			{
				navigation += countPrimaryElements == 0 ? '<div class="jssubnav first">' : '<div class="jssubnav">';
			}
			
			navigation += '</div>';
			
			countPrimaryElements++;
		}
	}
	return navigation;
}