 /* file: js/jquery.achtung.js, ratio: 47.8% */ 
(function($){$.fn.achtung=function(options)
{var isMethodCall=(typeof options==='string'),args=Array.prototype.slice.call(arguments,0),name='achtung';return this.each(function(){var instance=$.data(this,name);if(isMethodCall&&options.substring(0,1)==='_'){return this;}
(!instance&&!isMethodCall&&$.data(this,name,new $.achtung(this))._init(args));(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args.slice(1)));});};$.achtung=function(element)
{var args=Array.prototype.slice.call(arguments,0),$el;if(!element||!element.nodeType){$el=$('<div />');return $el.achtung.apply($el,args);}
this.$container=$(element);};$.extend($.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}});$.extend($.achtung.prototype,{$container:false,closeTimer:false,options:{},_init:function(args)
{var o,self=this;args=$.isArray(args)?args:[];args.unshift($.achtung.defaults);args.unshift({});o=this.options=$.extend.apply($,args);if(!$.achtung.$overlay){$.achtung.$overlay=$('<div id="achtung-overlay"></div>').appendTo(document.body);}
if(!o.disableClose){$('<span class="achtung-close-button ui-icon ui-icon-close" />').click(function(){self.close();}).hover(function(){$(this).addClass('achtung-close-button-hover');},function(){$(this).removeClass('achtung-close-button-hover');}).prependTo(this.$container);}
this.changeIcon(o.icon,true);if(o.message){this.$container.append($('<span class="achtung-message">'+o.message+'</span>'));}
(o.className&&this.$container.addClass(o.className));(o.css&&this.$container.css(o.css));this.$container.addClass('achtung').appendTo($.achtung.$overlay);if(o.showEffects){this.$container.animate(o.showEffects,o.showEffectDuration);}else{this.$container.show();}
if(o.timeout>0){this.timeout(o.timeout);}},timeout:function(timeout)
{var self=this;if(this.closeTimer){clearTimeout(this.closeTimer);}
this.closeTimer=setTimeout(function(){self.close();},timeout*1000);this.options.timeout=timeout;},changeClass:function(newClass)
{var self=this;if(this.options.className===newClass){return;}
this.$container.queue(function(){if(!self.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!$.isFunction($.fn.switchClass)){self.$container.removeClass(self.options.className);self.$container.addClass(newClass);}else{self.$container.switchClass(self.options.className,newClass,500);}
self.options.className=newClass;self.$container.dequeue();});},changeIcon:function(newIcon,force)
{var self=this;if((force!==true||newIcon===false)&&this.options.icon===newIcon){return;}
if(force||this.options.icon===false){this.$container.prepend($('<span class="achtung-message-icon ui-icon '+newIcon+'" />'));this.options.icon=newIcon;return;}else if(newIcon===false){this.$container.find('.achtung-message-icon').remove();this.options.icon=false;return;}
this.$container.queue(function(){var $span=$('.achtung-message-icon',self.$container);if(!self.options.animateClassSwitch||/webkit/.test(navigator.userAgent.toLowerCase())||!$.isFunction($.fn.switchClass)){$span.removeClass(self.options.icon);$span.addClass(newIcon);}else{$span.switchClass(self.options.icon,newIcon,500);}
self.options.icon=newIcon;self.$container.dequeue();});},changeMessage:function(newMessage)
{this.$container.queue(function(){$('.achtung-message',$(this)).html(newMessage);$(this).dequeue();});},update:function(options)
{(options.className&&this.changeClass(options.className));(options.css&&this.$container.css(options.css));(typeof(options.icon)!=='undefined'&&this.changeIcon(options.icon));(options.message&&this.changeMessage(options.message));(options.timeout&&this.timeout(options.timeout));},close:function()
{var o=this.options,$container=this.$container;if(o.hideEffects){this.$container.animate(o.hideEffects,o.hideEffectDuration);}else{this.$container.hide();}
$container.queue(function(){$container.removeData('achtung');$container.remove();if($.achtung.$overlay&&$.achtung.$overlay.is(':empty')){$.achtung.$overlay.remove();$.achtung.$overlay=false;}
$container.dequeue();});}});})(jQuery);