$(document).ready(function() {
	InitMicrositeDropMenus();
});

function InitMicrositeDropMenus() {
        var menuItems = $("#microsite-top-menu li a");

        jQuery.get("/connection/microsite-drop-menus.xml", null, function(data, textStatus) {
            $("body").prepend(jQuery(data));

            menuItems.each(function(i) {
                var href = $(this).attr("href");
                var originalImageSrc = $(this).children("img")[0].src;
                var hoverImageSrc = originalImageSrc.split(".");
                if (hoverImageSrc.length > 1) {
                    hoverImageSrc[hoverImageSrc.length-2] += "-hover";
                    hoverImageSrc = hoverImageSrc.join(".");
                }
                $(this).attr("original", originalImageSrc);
                $(this).attr("hover", hoverImageSrc);
            });
            $(".microsite-drop").each(function(i) {
                $(this).mouseover(function() {
	            MicrositeDropMenuCancelHide();
	        }).mouseout(function() {
	            MicrositeDropMenuStartHide();
	        });
            })
	}, "html");

	menuItems.children("img").mouseover(
	    function() {
                MicrositeDropMenuHide();
            	var menu = $(this);
                showMenuTimeout = window.setTimeout(function() {
                    menu.addClass("microsite-drop-hover");
	            if (menu.attr("src").indexOf("-active.") == -1) menu.attr("src", menu.parent("a").attr("hover"));
                    var dropID = "#microsite-drop-menu-" + menu.parent("a").attr("class");
                    var pA = menu.parent("a");
                    var center = pA.offset().left;
                    
                    var center = pA.offset().left + (pA.width() / 2) - ($(dropID).width() / 2);
                    if (center + $(dropID).width() > $("#main").offset().left + $("#main").width())
                        center = $("#main").offset().left + $("#main").width() - $(dropID).width();
                    
	            $(dropID).css("left", center + "px").css("top", $("#main").offset().top + "px").fadeIn("fast");
                }, 250);        
	        
	    }
	).mouseout(
	    function() {
                if (showMenuTimeout) window.clearTimeout(showMenuTimeout);
	        MicrositeDropMenuStartHide();
	    }
	);
}

var showMenuTimeout = null;
var dropMenuTimeout = null;

function MicrositeDropMenuStartHide() {
    dropMenuTimeout = setTimeout("MicrositeDropMenuHide()", 250);
}

function MicrositeDropMenuHide() {
    MicrositeDropMenuCancelHide();
    $(".microsite-drop").hide();
    var activeItem = $(".microsite-drop-hover");
    activeItem.removeClass("microsite-drop-hover").attr("src", activeItem.parent("a").attr("original"));
}

function MicrositeDropMenuCancelHide() {
    if (dropMenuTimeout) clearTimeout(dropMenuTimeout);
}
