(function ($) {
    $.easy = {
        navigation: function (options) {
            var defaults = {
                selector: '#nav li',
                className: 'over'
            };
            if (typeof options == 'string') defaults.selector = options;
            var options = $.extend(defaults, options);
            return $(options.selector).each(function () {
                $(this).hover(function () {
                    
                    $('a:first', this).addClass(options.className)
                }, function () {
                    
                    $('a', this).removeClass(options.className)
                })
            })
        },
        tooltip: function (options) {
            var defaults = {
                selector: '.tooltip',
                xOffset: 10,
                yOffset: 25,
                clickRemove: false,
                id: 'easy_tooltip',
                content: '',
                useElement: ''
            };
            if (typeof options == 'string') defaults.selector = options;
            var options = $.extend(defaults, options);
            var content;
            return $(options.selector).each(function () {
                var title = $(this).attr('title');
                $(this).hover(function (e) {
                    content = (options.content != '') ? options.content : title;
                    content = (options.useElement != '') ? $('#' + options.useElement).html() : content;
                    $(this).attr('title', '');
                    if (content != '' && content != undefined) {
                        $('body').append('<div id="' + options.id + '">' + content + '</div>');
                        $('#' + options.id).css({
                            'position': 'absolute',
                            'display': 'none'
                        }).css('top', (e.pageY - options.yOffset) + 'px').css('left', (e.pageX + options.xOffset) + 'px').fadeIn('fast')
                    }
                }, function () {
                    $('#' + options.id).remove();
                    $(this).attr('title', title)
                });
                $(this).mousemove(function (e) {
                    var x = ((e.pageX + options.xOffset + $(this).width()) < $(window).width()) ? (e.pageX + options.xOffset) : (e.pageX - options.xOffset - $(this).width() - 16);
                    $('#' + options.id).css('top', (e.pageY - options.yOffset) + 'px').css('left', (x + 'px'))
                });
                if (options.clickRemove) {
                    $(this).mousedown(function (e) {
                        $('#' + options.id).remove();
                        $(this).attr('title', title)
                    })
                }
            })
        }
            }
})(jQuery);