(function(c){var a=c.loading=function(d,e){return c(a.pageSelect).loading(d,e,true)};c.fn.loading=function(d,e,f){e=b(d,e,f);return this.each(function(){a.toggle.call(c(this),c.extend({},e))})};function b(d,f,e){if(f===undefined){f=(typeof d=="boolean")?{show:d}:d}else{f.show=d}if(f&&f.img&&!f.pulse){f.pulse=false}return c.extend(true,{},a,(e?a.pageOptions:null),f)}c.extend(a,{version:"1.1",html:"<div></div>",css:{position:"absolute","white-space":"nowrap"},classname:"loading",withImg:"img",text:"Loading...",img:null,align:"top-left",pulse:"working",pageSelect:"body",pageOptions:{align:"top-center"},working:{time:10000,text:"Still Working...",run:function(f){var d=f.working,e=this;f.timeout=setTimeout(function(){e.text(d.text);f.place.call(f.element,f)},d.time)}},fade:{time:700,speed:"slow",run:function(f){var e=f.fade.speed,d=this;f.interval=setInterval(function(){d.fadeOut(e).fadeIn(e)},f.fade.time)}},ellipsis:{time:300,run:function(h){this.css("width",c.boxModel?this.width():this.innerWidth());var g=h.text,d=g.indexOf("."),f=d<0?g.length:d,e=this;h.interval=setInterval(function(){var i=e.text();e.text((i.length-f)<3?i+".":g.substring(0,f))},h.ellipsis.time)}},type:{time:100,run:function(f){this.css("width",c.boxModel?this.width():this.innerWidth());var e=f.text,d=this;f.interval=setInterval(function(){var h=d.text(),g=h.length;d.text(g==e.length?e.charAt(0):e.substring(0,g+1))},f.type.time)}},toggle:function(f){var d=this.data("loading");if(d){if(f.show!==true){var e=this;if(typeof(d.element.delay)!="undefined"){d.element.delay(5000).fadeOut("slow",function(){d.off.call(e,d,f)})}else{d.element.fadeOut(10000,function(){d.off.call(e,d,f)})}}else{d.off.call(this,d,f);f.on.call(this,f)}}else{if(f.show!==false){f.on.call(this,f)}}},on:function(d){d.parent=this;d.element=d.create.call(this,d);if(d.img){d.initImg.call(this,d)}else{d.init.call(this,d)}},initImg:function(e){var d=this;e.element.addClass(e.withImg);e.img.bind("load",function(){e.init.call(d,e)})},init:function(d){d.place.call(d.element,d);this.data("loading",d);if(d.pulse){d[d.pulse].run.call(d.element,d)}if(d.pageSelect=="body"){c(window).scroll(function(){d.place.call(d.element,d)})}},create:function(e){var d=c(e.html).addClass(e.classname).css(e.css).appendTo(this);if(e.img){e.img=c('<img src="'+e.img+'"/>').appendTo(d)}else{if(e.text){d.text(e.text)}}return d},place:function(g){var i=g.align;if(typeof i!="object"){var d="top",f="left",e;if(i!="top-left"){e=i.split("-");if(e.length==1){d=f=e[0]}else{d=e[0];f=e[1]}}if(!this.hasClass(d)){this.addClass(d)}if(!this.hasClass(f)){this.addClass(f)}i=g.calc.call(this,d,f,g)}this.css(i)},calc:function(e,f,g){var i=g.parent,k=i.offset();if(e!="top"){var j=i.outerHeight()-this.innerHeight();if(e=="center"){j/=2}else{if(e!="bottom"){j=0}}k.top+=j}else{k.top+=c(window).scrollTop()}if(f!="left"){var j=i.outerWidth()-this.innerWidth();if(f=="center"){j/=2}else{if(f!="right"){j=0}}k.left+=j}return k},off:function(d,e){this.data("loading",null);if(d.pulse&&d[d.pulse].end){d[d.pulse].end.call(this,d,e)}if(d.interval){clearInterval(d.interval)}if(d.timeout){clearTimeout(d.timeout)}d.element.remove()}})})(jQuery);