(function(b){b.fn.achtung=function(f){var a=(typeof f==="string"),g=Array.prototype.slice.call(arguments,0),h="achtung";return this.each(function(){var c=b.data(this,h);if(a&&f.substring(0,1)==="_"){return this}(!c&&!a&&b.data(this,h,new b.achtung(this))._init(g));(c&&a&&b.isFunction(c[f])&&c[f].apply(c,g.slice(1)))})};b.achtung=function(e){var a=Array.prototype.slice.call(arguments,0),f;if(!e||!e.nodeType){f=b("<div />");return f.achtung.apply(f,a)}this.$container=b(e)};b.extend(b.achtung,{version:"0.3.0",$overlay:false,defaults:{timeout:10,disableClose:false,icon:false,className:"",animateClassSwitch:false,showEffects:{opacity:"toggle",height:"toggle"},hideEffects:{opacity:"toggle",height:"toggle"},showEffectDuration:500,hideEffectDuration:700}});b.extend(b.achtung.prototype,{$container:false,closeTimer:false,options:{},_init:function(f){var e,a=this;f=typeof(f)=="object"?f:[];f.unshift(b.achtung.defaults);f.unshift({});e=this.options=b.extend.apply(b,f);if(!b.achtung.$overlay){b.achtung.$overlay=b('<div id="achtung-overlay"></div>').appendTo(document.body)}if(!e.disableClose){b('<span class="achtung-close-button ui-icon ui-icon-close" />').click(function(){a.close()}).hover(function(){b(this).addClass("achtung-close-button-hover")},function(){b(this).removeClass("achtung-close-button-hover")}).prependTo(this.$container)}this.changeIcon(e.icon,true);if(e.message){this.$container.append(b('<span class="achtung-message">'+e.message+"</span>"))}(e.className&&this.$container.addClass(e.className));(e.css&&this.$container.css(e.css));this.$container.addClass("achtung").appendTo(b.achtung.$overlay);if(e.showEffects){this.$container.animate(e.showEffects,e.showEffectDuration)}else{this.$container.show()}if(e.timeout>0){this.timeout(e.timeout)}},timeout:function(d){var a=this;if(this.closeTimer){clearTimeout(this.closeTimer)}this.closeTimer=setTimeout(function(){a.close()},d*1000);this.options.timeout=d},changeClass:function(d){var a=this;if(this.options.className===d){return}this.$container.queue(function(){if(!a.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!b.isFunction(b.fn.switchClass)){a.$container.removeClass(a.options.className);a.$container.addClass(d)}else{a.$container.switchClass(a.options.className,d,500)}a.options.className=d;a.$container.dequeue()})},changeIcon:function(f,e){var a=this;if((e!==true||f===false)&&this.options.icon===f){return}if(e||this.options.icon===false){this.$container.prepend(b('<span class="achtung-message-icon ui-icon '+f+'" />'));this.options.icon=f;return}else{if(f===false){this.$container.find(".achtung-message-icon").remove();this.options.icon=false;return}}this.$container.queue(function(){var c=b(".achtung-message-icon",a.$container);if(!a.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!b.isFunction(b.fn.switchClass)){c.removeClass(a.options.icon);c.addClass(f)}else{c.switchClass(a.options.icon,f,500)}a.options.icon=f;a.$container.dequeue()})},changeMessage:function(a){this.$container.queue(function(){b(".achtung-message",b(this)).html(a);b(this).dequeue()})},update:function(a){(a.className&&this.changeClass(a.className));(a.css&&this.$container.css(a.css));(typeof(a.icon)!=="undefined"&&this.changeIcon(a.icon));(a.message&&this.changeMessage(a.message));(a.timeout&&this.timeout(a.timeout))},close:function(){var d=this.options,a=this.$container;if(d.hideEffects){this.$container.animate(d.hideEffects,d.hideEffectDuration)}else{this.$container.hide()}a.queue(function(){a.removeData("achtung");a.remove();if(b.achtung.$overlay&&b.achtung.$overlay.is(":empty")){b.achtung.$overlay.remove();b.achtung.$overlay=false}a.dequeue()})}})})(jQuery);