(function($,undefined){var _TMS=window._TMS=$.fn._TMS=function(_){_=_||{}
_.holder=this;(_=$.extend(clone(_TMS),_TMS.presets[_.preset],_)).init()
_.holder.data({opt:_})
return _.holder},timer
$.extend(_TMS,{show:false,nameMask:false,preload:false,pagination:false,pagNums:false,nextBu:false,prevBu:false,playBu:false,slideShow:false,reverseWay:false,progressBar:false,banners:false,progCSS:{width:'100%',height:'4px',background:'#f00',position:'absolute',top:0,opacity:.7,zIndex:999},duration:400,interval:40,easing:'',overflow:'hidden',pagCl:'pagination',pic:'pic',pagCurrCl:'current',pauseCl:'paused',bannerCl:'banner',pagEv:'click',prevNextEv:'click',bl:false,bannerMeth:'fade',bannerDurr:400,bannerEasing:'',way:'lines',anim:'fade',preset:'simpleFade',blocksX:1,blocksY:1,picCSS:{position:'relative',overflow:'hidden',zIndex:1},maskCSS:{position:'absolute',zIndex:0,left:0,top:0,width:'100%',height:'100%'},beforeAnimation:function(){},afterAnimation:function(){},bannersFu:function(){var _=this,banners=_.banners=[]
$('li',_.holder).each(function(){banners.push($('.'+_.bannerCl,this))})},bannerShowFu:function(n){var _=this
if(_.bannerMeth=='custom')
_.banner=_.banners[n].appendTo(_.holder)
if(_.bannerMeth=='fade'&&_.banners.length)
_.banners[n].appendTo(_.holder).hide().fadeIn()
if(_.bannerMeth=='slide'){var b=_.banners[n],to,from,tmp
b.appendTo(_.holder)
to=((tmp=b.data('to'))?tmp:(b.data({to:(tmp={left:b.attr('offsetLeft'),top:b.attr('offsetTop')})})),tmp)
b.addClass('from')
from=((tmp=b.data('from'))?tmp:(b.data({from:(tmp={left:b.attr('offsetLeft'),top:b.attr('offsetTop')})})),tmp)
b.removeClass('from')
b.css(from).stop().animate(to,{duration:+_.bannerDurr,easing:_.bannerEasing})}},afterShow:function(){var _=this
if(_.playBlock)
_.bl=false
_.pic.css({backgroundImage:'url('+_.next+')'})
_.maskC.hide()
if(_.banners)
_.bannerShowFu(_.current)
_.afterAnimation(_.banner=($(_.banners).detach(),_.banners[_.current]))},progFu:function(fu){var _=this,w=fu?_.progressBar.width():'0px',wi=_.progressBar.data('w'),time=fu?(wi-w)/wi*_.slideShow:_.slideShow
_.progressBar.width(w).stop().animate({width:wi},time,'linear',function(){_.progressBar.width(0)
if(fu)setTimeout(fu,1)})},preFu:function(){var _=this,img
if(_.show!==false&&_.itms)
img=($.browser.msie&&$.browser.version<9)?$('<img src="'+_.itms[_.show]+'" />').appendTo(_.pic):$('<img>').attr('src',_.itms[_.show]).appendTo(_.pic),_.pags.eq(_.show).addClass(_.pagCurrCl),_.banners?_.bannerShowFu(_.show):void(0)
_.holder.css({overflow:_.overflow})
img.load(function(){if(_.holder.css('position')=='static')
_.holder.css({position:'relative',zIndex:1})
if(_.progressBar===true)
_.progressBar=$('<div>').css(_.progCSS).appendTo(_.holder)
else
_.progressBar=$(_.progressBar)
_.progressBar.data({w:_.progressBar.width()})
if(_.slideShow)
_.progFu(),timer=setInterval(function(){_.nextFu()},_.slideShow)
_.pic.css(_.picCSS)
_.pic.css({width:img.width(),height:img.height(),background:'url('+img.attr('src')+') 0 0 no-repeat'})
img.remove()
_.current=_.buff=_.show
_.mask.css(_.maskCSS).appendTo(_.pic)})},nextFu:function(){var _=this
if(++_.current<_.itms.length)
_.changeFu(_.current)
else
_.buff=-1,_.changeFu(0)},prevFu:function(){var _=this
if(--_.current>=0)
_.changeFu(_.current)
else
_.buff=_.itms.length,_.changeFu(_.itms.length-1)},sliceFu:function(w,h){var _=this,eW=parseInt(_.pic.width()/w),eH=parseInt(_.pic.height()/h),etal=$('<div>'),fW=_.pic.width()-eW*w,fH=_.pic.height()-eH*h,x,y,matrix=_.matrix=[]
_.mask.empty()
for(y=0;y<h;y++)
for(x=0;x<w;x++)
matrix[y]=matrix[y]?matrix[y]:[],matrix[y][x]=etal.clone().appendTo(_.mask).css({left:x*eW,top:y*eH,position:'absolute',width:x==w-1?eW+fW:eW,height:y==h-1?eH+fH:eH,backgroundPosition:'-'+x*eW+'px -'+y*eH+'px',display:'none'})
_.maskC=_.mask.find('>div')},showFu:function(){var _=this,way,tmp,fu=function(){way=_.ways[_.way].call(_)
if(_.reverseWay)
way.reverse()
if(_.int)
clearInterval(_.int)
_.int=setInterval(function(){if(way.length)
_.anims[_.anim].apply(_,[way.shift(),!way.length])
else
clearInterval(_.int)},_.interval)}
if(_.bannerMeth!='custom')
$(_.banners).each(function(){$(this).detach()})
_.beforeAnimation(_.banner)
if(_.banner.length)
tmp=_.banner.css('opacity'),_.banner.animate({opacity:tmp},1,fu)
else
fu()},changeFu:function(n){var _=this
if(_.preset_!=_.preset)
$.extend(_,_TMS.presets[_.preset]),_.preset_=_.preset
if(_.maskC)
_.pic.css({backgroundImage:'url('+_.next+')'}),_.maskC.stop()
_.next=_.itms[n]
_.direction=n-_.buff
_.current=_.buff=n
_.pagChangeFu(n)
_.sliceFu(_.blocksX,_.blocksY)
_.maskC.css({backgroundImage:'url('+_.next+')'})
if(_.playBlock)
_.bl=true
_.showFu()
clearInterval(timer)
if(_.slideShow&&!_.paused)
_.progFu(),timer=setInterval(function(){_.nextFu()},_.slideShow)},pagChangeFu:function(n){var _=this
_.pags.removeClass(_.pagCurrCl)
_.pags.eq(n).addClass(_.pagCurrCl)},pagFu:function(){var _=this,pags=_.pags=(_.pagination===true)?(function(){var ret=$('<ul>').addClass(_.pagCl)
$(_.itms).each(function(i){ret.append('<li><a href="#">'+(_.pagNums?i+1:'')+'</a></li>')})
ret.appendTo(_.holder)
return $('>li',ret)})():$(_.pagination)
pags.each(function(i){$(this).data({num:i})}).parent().delegate('li>a',_.pagEv,function(){var th=$(this),n=th.parent().data('num')
if(n==_.current||_.bl)
return false
_.changeFu(n)
return false})},preloadFu:function(){var _=this
$(_.itms).each(function(){var i=new Image()
i.src=this})},nameMaskFu:function(){var _=this,tmp,i,ret=[]
if(_.nameMask.indexOf(','))
tmp=_.nameMask.split(',')
if(tmp[1].indexOf('-'))
tmp[2]=tmp[1].split('-'),tmp[1]=tmp[2].shift()
for(i=tmp[1];i<=tmp[2];i++)
ret.push(tmp[0].replace('*',i))
_.itms=ret
$(_.items,_.holder).hide()},parseImgFu:function(){var _=this,items=$(_.items+' img',_.holder).hide(),itms=_.itms=[]
items.each(function(){itms.push($(this).attr('src'))})},init:function(){var _=this,pic=_.pic=$('<div>').addClass(_.pic).appendTo(_.holder),mask=_.mask=$('<div>')
if(_.nameMask)
_.nameMaskFu()
else
_.parseImgFu()
if(_.preload)
_.preloadFu()
if(_.pagination)
_.pagFu()
if(_.banners)
_.bannersFu()
_.preFu()
if(_.prevBu)
$(_.prevBu).bind(_.prevNextEv,function(){if(_.bl)
return false
else
_.prevFu()
return false})
if(_.nextBu)
$(_.nextBu).bind(_.prevNextEv,function(){if(_.bl)
return false
else
_.nextFu()
return false})
if(_.playBu)
$(_.playBu).bind('click',function(){_.paused=_.paused?false:true
if(!_.paused)
$(this).removeClass(_.pauseCl),_.progFu(function(){_.nextFu()})
else
$(this).addClass(_.pauseCl),clearInterval(timer),_.progressBar.stop()
return false})
if(_.playBlock)
_.bl=false
_.preset_=_.preset}})})(jQuery)
function clone(obj){if(!obj||typeof obj!=typeof{})
return obj
if(obj instanceof Array)
return[].concat(obj)
var tmp=new obj.constructor(),i
for(i in obj)
if(obj.hasOwnProperty(i))
tmp[i]=clone(obj[i])
return tmp}
jQuery.noConflict();
