﻿//Muestra una barra de notificaciones fija en la parte superior de la página

//Desarrolladores: Federico Rodriguez

(function ($) {

    var settings = {
        id: "notificationBar",
        message: "",
        title: "",
        action: "info",
        delay: 5000
    };

    var methods = {
        init: function (options) {

            if (options) {
                $.extend(settings, options);
            }
            var notBar = $("#" + settings.id);
            notBar.addClass("hide");
            notBar.removeClass("success");
            notBar.removeClass("info");
            notBar.removeClass("error");
            notBar.removeClass("alert");
            if (!notBar.hasClass(settings.action)) {
                $("#notification_title").html(settings.title);
                $("#notification_message").html(settings.message);
                if (settings.delay != 0) {
                    notBar.addClass(settings.action).fadeIn().delay(settings.delay).fadeOut(function () { notBar.removeClass(settings.action); });
                } else {
                    notBar.addClass(settings.action).fadeIn();
                    $(".notify_close", notBar).click(function () {
                        notBar.fadeOut(function(){notBar.removeClass(settings.action);});
                        
                    });
                    notBar.click(function () {
                        notBar.fadeOut(function(){notBar.removeClass(settings.action);});
                        
                    });
                }
            }
        }
    };

    $.notificationBar = function(method) {
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.notificationBar');
        }
    };
})(jQuery);