// Toast (function($, window, Toast, undefined) { var closeTime; var toastWrap; var title; var fizzfont; var message; var link; var close; var timePromise; var that; $.extend(Toast, { init: function(type) { that = this; if(!toastWrap) { toastWrap = $("#ff-message"); title = toastWrap.find(".title"); fizzfont = toastWrap.find(".fizzfont").filter(":not(.close)"); close = toastWrap.find(".fizzfont.close"); message = toastWrap.find(".message"); } toastWrap.removeClass("succes notice warning error").toggleClass(type); fizzfont.removeClass("circle-check circle-alert-error alert-warning alert-notice"); var successMessage = toastWrap.data("success-message"); var errorMessage = toastWrap.data("error-message"); var warningMessage = toastWrap.data("warning-message"); var noticeMessage = toastWrap.data("notice-message"); switch(type) { case "success": fizzfont.toggleClass("circle-check"); title.text(successMessage); break; case "error": fizzfont.toggleClass("circle-alert-error"); title.text(errorMessage); break; case "warning": fizzfont.toggleClass("alert-warning"); title.text(warningMessage); break; case "notice": fizzfont.toggleClass("alert-notice"); title.text(noticeMessage); break; } close.click(that.close); toastWrap.hover(that.cancelTimeOut, that.setTimeOut); }, close: function() { toastWrap.removeClass("active"); toastWrap.slideUp(300); }, show: function() { toastWrap.addClass("active"); toastWrap.css("display", "flex").hide().slideDown(400); }, setTitle: function(value) { title.html(value); }, setMessage: function(value) { message.html(value); }, setLink: function(caption, url, target) { if(!target) { target = "_self"; } link = $("#ff-message").find(".message-link"); link.html(caption); link.attr("href", url); link.attr("target", target); }, setTimeOut: function() { if(closeTime) { that.cancelTimeOut(); timePromise = setInterval(that.close, closeTime); } else { timePromise = null; } }, cancelTimeOut: function() { if(timePromise) { clearInterval(timePromise); } timePromise = null; }, setCloseTime: function(value) { closeTime = value; that.setTimeOut(); }, setClass: function(className) { toastWrap.addClass(className); } }); })(jQuery, window, window.Toast = window.Toast || {});