if (jQuery) (function() {
    $.extend($.fn, {

        rightClick: function(handler) {
            $(this).each(function() {
                $(this).mousedown(function(e) {
                    var evt = e;
                    $(this).mouseup(function() {
                        $(this).unbind('mouseup');
                        if (evt.button == 2) {
                            handler.call($(this), evt);
                            return false;
                        } else {
                            return true;
                        }
                    });
                });
                $(this)[0].oncontextmenu = function() {
                    return false;
                }
            });
            return $(this);
        },

        rightMouseDown: function(handler) {
            $(this).each(function() {
                $(this).mousedown(function(e) {
                    if (e.button == 2) {
                        handler.call($(this), e);
                        return false;
                    } else {
                        return true;
                    }
                });
                $(this)[0].oncontextmenu = function() {
                    return false;
                }
            });
            return $(this);
        },

        rightMouseUp: function(handler) {
            $(this).each(function() {
                $(this).mouseup(function(e) {
                    if (e.button == 2) {
                        handler.call($(this), e);
                        return false;
                    } else {
                        return true;
                    }
                });
                $(this)[0].oncontextmenu = function() {
                    return false;
                }
            });
            return $(this);
        },

        noContext: function() {
            $(this).each(function() {
                $(this)[0].oncontextmenu = function() {
                    return false;
                }
            });
            return $(this);
        }

    });

})(jQuery);	

