function clone(a){if(!a||typeof a!=typeof {})return a;if(a instanceof Array)return[].concat(a);var b=new a.constructor,c;for(c in a)if(a.hasOwnProperty(c))b[c]=clone(a[c]);return b}(function(a,b){var c=window._TMS=a.fn._TMS=function(b){b=b||{};b=a.extend(clone(c),c.presets[b.preset],b);b.init.call(b.me=b.holder=this,b);return b.me.data({opt:b})};a.extend(c,{etal:"<div></div>",items:".items>li",pic:"pic",mask:"mask",paginationCl:"pagination",currCl:"current",pauseCl:"paused",bannerCl:"banner",numStatusCl:"numStatus",pagNums:true,overflow:"hidden",show:0,changeEv:"click",blocksX:1,blocksY:1,preset:"simpleFade",duration:400,easing:"linear",way:"lines",anim:"fade",pagination:false,banners:false,waitBannerAnimation:true,slideshow:false,progressBar:false,pauseOnHover:false,nextBu:false,prevBu:false,playBu:false,preFu:function(){var b=this,c=a(new Image);b.pic=a(b.etal).addClass(b.pic).css({overflow:b.overflow}).appendTo(b.me);b.mask=a(b.etal).addClass(b.mask).appendTo(b.pic);if(b.me.css("position")=="static")b.me.css({position:"relative"});if(b.me.css("z-index")=="auto")b.me.css({zIndex:1});b.me.css({overflow:b.overflow});if(b.items)b.parseImgFu();c.appendTo(b.me).load(function(){b.pic.css({width:b.width=c.width(),height:b.height=c.height(),background:"url("+b.itms[b.show]+") 0 0 no-repeat"});c.remove();b.current=b.buff=b.show}).attr({src:b.itms[b.n=b.show]})},sliceFu:function(b,c){var d=this,b=d.blocksX,c=d.blocksY,e=parseInt(d.width/b),f=parseInt(d.height/c),g=a(d.etal),h=d.pic.width()-e*b,i=d.pic.height()-f*c,j,k,l=d.matrix=[];d.mask.css({position:"absolute",width:"100%",height:"100%",left:0,top:0,zIndex:1}).empty().appendTo(d.pic);for(k=0;k<c;k++)for(j=0;j<b;j++)l[k]=l[k]?l[k]:[],l[k][j]=a(d.etal).clone().appendTo(d.mask).css({left:j*e,top:k*f,position:"absolute",width:j==b-1?e+h:e,height:k==c-1?f+i:f,backgroundPosition:"-"+j*e+"px -"+k*f+"px",display:"none"});d.maskC=d.mask.children()},changeFu:function(b){var d=this;if(d.bl)return false;if(b==d.n)return false;d.n=b;d.next=d.itms[b];d.direction=b-d.buff;if(d.direction==d.itms.length-1)d.direction=-1;if(d.direction==-1*d.itms.length+1)d.direction=2;d.current=d.buff=b;if(d.numStatus)d.numStatusChFu();if(d.pagination)d.pags.removeClass(d.currCl).eq(b).addClass(d.currCl);if(d.banners!==false&&d.banner)d.bannerHide(d.banner);if(d.progressBar)clearInterval(d.slShTimer),d.progressBar.stop();if(d.slideshow&&!d.paused&&d.progressBar)d.progressBar.stop().width(0);var e=function(){if(d.banner)a.when(d.banner).then(function(){d.banner.detach()});if(d.preset_!=d.preset)d.du=d.duration,d.ea=d.easing,a.extend(d,c.presets[d.preset]),d.duration=d.du,d.easing=d.ea,d.preset_=d.preset;d.sliceFu();d.maskC.stop().css({backgroundImage:"url("+d.next+")"});d.beforeAnimation();d.showFu()};if(d.waitBannerAnimation)a.when(d.banner).then(e);else e()},nextFu:function(){var a=this,b=a.n;a.changeFu(++b<a.itms.length?b:0)},prevFu:function(){var a=this,b=a.n;a.changeFu(--b>=0?b:a.itms.length-1)},showFu:function(){var a=this,b,c;b=a.ways[a.way].call(a);if(a.reverseWay)b.reverse();if(a.dirMirror)b=a.dirMirrorFu(b);if(a.int)clearInterval(a.int);a.int=setInterval(function(){if(b.length)a.anims[a.anim].apply(a,[b.shift(),!b.length]);else clearInterval(a.int)},a.interval);a.bl=true},dirMirrorFu:function(a){var b=this;if(b.direction<0)void 0;return a},afterShow:function(){var a=this;a.pic.css({backgroundImage:"url("+a.next+")"});a.maskC.hide();if(a.slideshow&&!a.paused)a.startSlShFu(0);if(a.banners!==false)a.banner=a.banners[a.n];if(a.banner)a.banner.appendTo(a.me),a.bannerShow(a.banner);a.afterAnimation();a.bl=false},bannerShow:function(){},bannerHide:function(){},parseImgFu:function(){var b=this;b.itms=[];a(b.items+" img",b.me).each(function(c){b.itms[c]=a(this).attr("src")})},controlsFu:function(){var b=this;if(b.nextBu)a(b.nextBu).bind(b.changeEv,function(){b.nextFu();return false});if(b.prevBu)a(b.prevBu).bind(b.changeEv,function(){b.prevFu();return false})},paginationFu:function(){var b=this;if(b.pagination===false)return false;if(b.pagination===true)b.pags=a("<ul></ul>").addClass(b.paginationCl).appendTo(b.me),a(b.itms).each(function(c){var d=a("<li></li>"),e=a('<a href="#"></a>').text(b.pagNums?c+1:"").appendTo(d).bind(b.changeEv,function(){b.changeFu(c);return false});b.pags.append(d)}),b.pags=b.pags.find("li"),b.pags.eq(b.n).addClass(b.currCl);else b.pags=a(b.pagination)},startSlShFu:function(b){var c=this;c.paused=false;c.prog=b||0;clearInterval(c.slShTimer);c.slShTimer=setInterval(function(){if(c.prog<100)c.prog++;else c.prog=0,clearInterval(c.slShTimer),c.nextFu();if(c.progressBar)c.pbchFu()},c.slideshow/100);if(c.playBu)a(c.playBu).removeClass(c.pauseCl)},pauseSlShFu:function(){var b=this;b.paused=true;clearInterval(b.slShTimer);if(b.playBu)a(b.playBu).addClass(b.pauseCl)},slideshowFu:function(){var b=this;if(b.slideshow===false)return false;if(b.playBu)a(b.playBu).bind(b.changeEv,function(){if(!b.paused)b.pauseSlShFu();else b.startSlShFu(b.prog);return false});b.startSlShFu()},pbchFu:function(){var a=this;if(a.prog==0)a.progressBar.stop().width(0);else a.progressBar.stop().animate({width:a.prog+"%"},{easing:"linear",duration:a.slideshow/100})},progressBarFu:function(){var b=this;if(b.progressBar===false)return false;b.progressBar=a(b.progressBar);if(b.progressBar.parent().length==0)b.progressBar.appendTo(b.me)},pauseOnHoverFu:function(){var a=this;if(a.pauseOnHover)a.me.bind("mouseenter",function(){a.pauseSlShFu()}).bind("mouseleave",function(){a.startSlShFu(a.prog)})},bannersFu:function(){var b=this;if(b.banners===false)return false;b.banners=[];a(b.items,b.me).each(function(c){var d;b.banners[c]=(d=a("."+b.bannerCl,this)).length?d:false});b.bannerShow(b.banner=b.banners[b.show].appendTo(b.me))},numStatusChFu:function(){var b=this;b.numSt.html('<span class="curr"></span>/<span class="total"></span>');a(".curr",b.numSt).text(b.n+1);a(".total",b.numSt).text(b.itms.length)},numStatusFu:function(){var b=this;if(b.numStatus===false)return false;if(!b.numSt)if(b.numStatus===true)b.numSt=a(b.etal).addClass(b.numStatusCl);else b.numSt=a(b.numStatus).addClass(b.numStatusCl);if(!b.numSt.parent().length)b.numSt.appendTo(b.me).addClass(b.numStatusCl);b.numStatusChFu()},init:function(a){a.preFu();a.controlsFu();a.paginationFu();a.slideshowFu();a.progressBarFu();a.pauseOnHoverFu();a.bannersFu();a.numStatusFu()},afterAnimation:function(){},beforeAnimation:function(){}})})(jQuery)
