(function(a){var k="div.jGrowl-closer",j="div.jGrowl-notification:parent",i="jGrowl.beforeClose",e="jGrowl.pause",g="div.jGrowl-notification",b="jGrowl",f=true,d=false,h=null,c="jGrowl.instance";a.jGrowl=function(b,c){a("#jGrowl").size()==0&&a('<div id="jGrowl"></div>').addClass(a.jGrowl.defaults.position).appendTo("body");a("#jGrowl").jGrowl(b,c)};a.fn.jGrowl=function(b,e){if(a.isFunction(this.each)){var d=arguments;return this.each(function(){var f=this,g=f;if(a(f).data(c)==undefined){a(f).data(c,a.extend(new a.fn.jGrowl,{notifications:[],element:h,interval:h}));a(f).data(c).startup(f)}if(a.isFunction(a(f).data(c)[b]))a(f).data(c)[b].apply(a(f).data(c),a.makeArray(d).slice(1));else a(f).data(c).create(b,e)})}};a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:d,position:"bottom-right",glue:"after",theme:"default",corners:"15px",check:250,life:5e3,speed:"normal",easing:"swing",closer:f,closeTemplate:"&times;",closerTemplate:"<div>chiudi tutte le notifiche</div>",log:function(){},beforeOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:h,interval:h,create:function(d,c){var b=this,c=a.extend({},b.defaults,c);b.notifications.push({message:d,options:c});c.log.apply(b.element,[b.element,d,c])},render:function(h){var r="jGrowl.open",s="jGrowl.beforeOpen",m="jGrowl.close",n="click.jGrowl",q="div.close",o=this,l=o,p=h.message,c=h.options,h=a('<div class="jGrowl-notification ui-state-highlight ui-corner-all'+(c.group!=undefined&&c.group!=""?" "+c.group:"")+'"><div class="close">'+c.closeTemplate+'</div><div class="header">'+c.header+'</div><div class="message">'+p+"</div></div>").data(b,c).addClass(c.theme).children(q).bind(n,function(){a(this).parent().trigger(m)}).parent();a(h).bind("mouseover.jGrowl",function(){a(g,l.element).data(e,f)}).bind("mouseout.jGrowl",function(){a(g,l.element).data(e,d)}).bind(s,function(){c.beforeOpen.apply(h,[h,p,c,l.element])!=d&&a(this).trigger(r)}).bind(r,function(){if(c.open.apply(h,[h,p,c,l.element])!=d){if(c.glue=="after")a("div.jGrowl-notification:last",l.element).after(h);else a("div.jGrowl-notification:first",l.element).before(h);a(this).animate(c.animateOpen,c.speed,c.easing,function(){var c=this;a.browser.msie&&(parseInt(a(c).css("opacity"),10)===1||parseInt(a(c).css("opacity"),10)===0)&&c.style.removeAttribute("filter");a(c).data(b).created=new Date})}}).bind(i,function(){c.beforeClose.apply(h,[h,p,c,l.element])!=d&&a(this).trigger(m)}).bind(m,function(){a(this).data(e,f);a(this).animate(c.animateClose,c.speed,c.easing,function(){a(this).remove();var b=c.close.apply(h,[h,p,c,l.element]);a.isFunction(b)&&b.apply(h,[h,p,c,l.element])})}).trigger(s);a.fn.corner!=undefined&&a(h).corner(c.corners);a(j,l.element).size()>1&&a(k,l.element).size()==0&&o.defaults.closer!=d&&a(o.defaults.closerTemplate).addClass("jGrowl-closer ui-state-highlight ui-corner-all").addClass(o.defaults.theme).appendTo(l.element).animate(o.defaults.animateOpen,o.defaults.speed,o.defaults.easing).bind(n,function(){a(this).siblings().children(q).trigger(n);a.isFunction(l.defaults.closer)&&l.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){var c=this;a(c.element).find(j).each(function(){var c=this;a(c).data(b)!=undefined&&a(c).data(b).created!=undefined&&a(c).data(b).created.getTime()+a(c).data(b).life<(new Date).getTime()&&a(c).data(b).sticky!=f&&(a(c).data(e)==undefined||a(c).data(e)!=f)&&a(c).trigger(i)});c.notifications.length>0&&(c.defaults.pool==0||a(c.element).find(j).size()<c.defaults.pool)&&c.render(c.notifications.shift());a(c.element).find(j).size()<2&&a(c.element).find(k).animate(c.defaults.animateClose,c.defaults.speed,c.defaults.easing,function(){a(this).remove()})},startup:function(e){var d=this;d.element=a(e).addClass(b).append('<div class="jGrowl-notification"></div>');d.interval=setInterval(function(){a(e).data(c).update()},d.defaults.check);a.browser.msie&&parseInt(a.browser.version)<7&&!window["XMLHttpRequest"]&&a(d.element).addClass("ie6")},shutdown:function(){a(this.element).removeClass(b).find(g).remove();clearInterval(this.interval)},close:function(){a(this.element).find(g).each(function(){a(this).trigger(i)})}});a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults})(jQuery)
