(function($){
    $.fn.jPopup = function( settings ) {
        settings = $.extend({
            target: 'required',
            action: 'hover'
        }, settings );

        var target = $( settings.target );

        var start = function( e ) {
            target.closest( 'li' ).addClass( 'z-index-fix' );
            target.show();
        }

        var stop = function( e ) {
            target.closest( 'li' ).removeClass( 'z-index-fix' );
            target.hide();
        }

        var toggle = function( e ) {
            target.closest( 'li' ).toggleClass( 'z-index-fix' );
            target.toggle();
        }

        switch( settings.action )
        {
            case 'hover':
                return this.mouseover( start ).mouseout( stop );

            case 'click':
                return this.click( toggle );

            default:
                return this.mouseover( start ).mouseout( stop );
        }
    }
})(jQuery);
