function popupMenu(menuID, parentID, childID)
{
    var menu = menuID;
    var parent = parentID;
    var child = childID;
    
    // Hide the popup menu
    $("#" + child).hide();
    
    $("#" + parent).mouseover(function(){
        var left = $("#" + parent).offset().left;
        var top = $("#" + menu).offset().top + $("#" + menu).outerHeight(true) - 12;
        $("#" + child).css('left', (left + 'px'));
        $("#" + child).css('top', (top + 'px'));
        $("#" + child).show();
    });
    
    $("#" + parent).mouseout(function(){
        //alert(parent + ' mouseout');
        $("#" + child).trigger('mouseleave');
    });
    
    $("#" + child + " div").each(function(){
        $(this).mouseover(function(event){
            $(this).addClass('popupItemActive');
        });
        $(this).mouseout(function(event){
            $(this).removeClass('popupItemActive');
        });
    });
    
    $("#" + child).mouseleave(function(event){
        var offset = $(this).offset();
        var width = $(this).outerWidth();
        var height = $(this).outerHeight();
        //event.preventDefault();
        //event.stopPropagation();
        var x = event.pageX;
        var y = event.pageY;
        //alert(x + ':' + y + ' ' + offset.left + ':' + offset.top);
        if( x < offset.left )
        {
            $("#" + child).hide();
        }
        else if( x > offset.left + width )
        {
            $("#" + child).hide();
        }
        else if( y < offset.top )
        {
            $("#" + child).hide();
        }
        else if( y > offset.top + height )
        {
            $("#" + child).hide();
        }
    });
}
