/*
 http://www.opensource.org/licenses/mit-license.php
 @author Josh Varner <josh@voxwerk.com>
*/
(function(b){b.fn.achtung=function(a){var c=typeof a==="string",d=Array.prototype.slice.call(arguments,0);return this.each(function(){var e=b.data(this,"achtung");if(c&&a.substring(0,1)==="_")return this;!e&&!c&&b.data(this,"achtung",new b.achtung(this))._init(d);e&&c&&b.isFunction(e[a])&&e[a].apply(e,d.slice(1))})};b.achtung=function(a){var c=Array.prototype.slice.call(arguments,0),d;if(!a||!a.nodeType){d=b("<div />");return d.achtung.apply(d,c)}this.$container=b(a)};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(a){var c=this;a=b.isArray(a)?a:[];a.unshift(b.achtung.defaults);a.unshift({});a=this.options=b.extend.apply(b,a);if(!b.achtung.$overlay)b.achtung.$overlay=b('<div id="achtung-overlay"></div>').appendTo(document.body);
a.disableClose||b('<span class="achtung-close-button ui-icon ui-icon-close" />').click(function(){c.close()}).hover(function(){b(this).addClass("achtung-close-button-hover")},function(){b(this).removeClass("achtung-close-button-hover")}).prependTo(this.$container);this.changeIcon(a.icon,true);a.message&&this.$container.append(b('<span class="achtung-message">'+a.message+"</span>"));a.className&&this.$container.addClass(a.className);a.css&&this.$container.css(a.css);this.$container.addClass("achtung").appendTo(b.achtung.$overlay);
a.showEffects?this.$container.animate(a.showEffects,a.showEffectDuration):this.$container.show();a.timeout>0&&this.timeout(a.timeout)},timeout:function(a){var c=this;this.closeTimer&&clearTimeout(this.closeTimer);this.closeTimer=setTimeout(function(){c.close()},a*1E3);this.options.timeout=a},changeClass:function(a){var c=this;this.options.className!==a&&this.$container.queue(function(){if(!c.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!b.isFunction(b.fn.switchClass)){c.$container.removeClass(c.options.className);
c.$container.addClass(a)}else c.$container.switchClass(c.options.className,a,500);c.options.className=a;c.$container.dequeue()})},changeIcon:function(a,c){var d=this;if(!((c!==true||a===false)&&this.options.icon===a))if(c||this.options.icon===false){this.$container.prepend(b('<span class="achtung-message-icon ui-icon '+a+'" />'));this.options.icon=a}else if(a===false){this.$container.find(".achtung-message-icon").remove();this.options.icon=false}else this.$container.queue(function(){var e=b(".achtung-message-icon",
d.$container);if(!d.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!b.isFunction(b.fn.switchClass)){e.removeClass(d.options.icon);e.addClass(a)}else e.switchClass(d.options.icon,a,500);d.options.icon=a;d.$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 a=this.options,c=this.$container;a.hideEffects?this.$container.animate(a.hideEffects,a.hideEffectDuration):this.$container.hide();c.queue(function(){c.removeData("achtung");c.remove();if(b.achtung.$overlay&&b.achtung.$overlay.is(":empty")){b.achtung.$overlay.remove();b.achtung.$overlay=false}c.dequeue()})}})})(jQuery);

