(function($){
var ver='2.9994'
if($.support==undefined){
$.support={
opacity: !($.browser.msie)}}
function debug(s){
$.fn.cycle.debug&&log(s)}
function log(){
window.console&&console.log&&console.log('[cycle] '+Array.prototype.join.call(arguments,' '))}
$.expr[':'].paused=function(el){
return el.cyclePause}
$.fn.cycle=function(options,arg2){
var o={s: this.selector,c: this.context}
if(this.length===0&&options !='stop'){
if(!$.isReady&&o.s){
log('DOM not ready, queuing slideshow')
$(function(){
$(o.s,o.c).cycle(options,arg2)
})
return this}
log('terminating; zero elements found by selector'+($.isReady ? '' : ' (DOM not ready)'))
return this}
return this.each(function(){
var opts=handleArguments(this,options,arg2)
if(opts===false)
return
opts.updateActivePagerLink=opts.updateActivePagerLink || $.fn.cycle.updateActivePagerLink
if(this.cycleTimeout)
clearTimeout(this.cycleTimeout)
this.cycleTimeout=this.cyclePause=0
var $cont=$(this)
var $slides=opts.slideExpr ? $(opts.slideExpr,this): $cont.children()
var els=$slides.get()
var opts2=buildOptions($cont,$slides,els,opts,o)
if(opts2===false)
return
if(els.length<2){
log('terminating; too few slides: '+els.length)
return}
var startTime=opts2.continuous ? 10 : getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.backwards)
if(startTime){
startTime+=(opts2.delay || 0)
if(startTime<10)
startTime=10
debug('first timeout: '+startTime)
this.cycleTimeout=setTimeout(function(){go(els,opts2,0,!opts.backwards)},startTime)}
})}
function triggerPause(cont,byHover,onPager){
var opts=$(cont).data('cycle.opts')
var paused=!!cont.cyclePause
if(paused&&opts.paused)
opts.paused(cont,opts,byHover,onPager)
else if(!paused&&opts.resumed)
opts.resumed(cont,opts,byHover,onPager)}
function handleArguments(cont,options,arg2){
if(cont.cycleStop==undefined)
cont.cycleStop=0
if(options===undefined || options===null)
options={}
if(options.constructor==String){
switch(options){
case 'destroy':
case 'stop':
var opts=$(cont).data('cycle.opts')
if(!opts)
return false
cont.cycleStop++
if(cont.cycleTimeout)
clearTimeout(cont.cycleTimeout)
cont.cycleTimeout=0
opts.elements&&$(opts.elements).stop()
$(cont).removeData('cycle.opts')
if(options=='destroy')
destroy(opts)
return false
case 'toggle':
cont.cyclePause=(cont.cyclePause===1)? 0 : 1
checkInstantResume(cont.cyclePause,arg2,cont)
triggerPause(cont)
return false
case 'pause':
cont.cyclePause=1
triggerPause(cont)
return false
case 'resume':
cont.cyclePause=0
checkInstantResume(false,arg2,cont)
triggerPause(cont)
return false
case 'prev':
case 'next':
var opts=$(cont).data('cycle.opts')
if(!opts){
log('options not found, "prev/next" ignored')
return false}
$.fn.cycle[options](opts)
return false
default:
options={fx: options}}
return options}
else if(options.constructor==Number){
var num=options
options=$(cont).data('cycle.opts')
if(!options){
log('options not found, can not advance slide')
return false}
if(num<0 || num>=options.elements.length){
log('invalid slide index: '+num)
return false}
options.nextSlide=num
if(cont.cycleTimeout){
clearTimeout(cont.cycleTimeout)
cont.cycleTimeout=0}
if(typeof arg2=='string')
options.oneTimeFx=arg2
go(options.elements,options,1,num>=options.currSlide)
return false}
return options
function checkInstantResume(isPaused,arg2,cont){
if(!isPaused&&arg2===true){
var options=$(cont).data('cycle.opts')
if(!options){
log('options not found, can not resume')
return false}
if(cont.cycleTimeout){
clearTimeout(cont.cycleTimeout)
cont.cycleTimeout=0}
go(options.elements,options,1,!options.backwards)}}}
function removeFilter(el,opts){
if(!$.support.opacity&&opts.cleartype&&el.style.filter){
try{el.style.removeAttribute('filter');}
catch(smother){}}}
function destroy(opts){
if(opts.next)
$(opts.next).unbind(opts.prevNextEvent)
if(opts.prev)
$(opts.prev).unbind(opts.prevNextEvent)
if(opts.pager || opts.pagerAnchorBuilder)
$.each(opts.pagerAnchors || [],function(){
this.unbind().remove()
})
opts.pagerAnchors=null
if(opts.destroy)
opts.destroy(opts)}
function buildOptions($cont,$slides,els,options,o){
var opts=$.extend({},$.fn.cycle.defaults,options ||{},$.metadata ? $cont.metadata(): $.meta ? $cont.data():{})
var meta=$.isFunction($cont.data)? $cont.data(opts.metaAttr): null
if(meta)
opts=$.extend(opts,meta)
if(opts.autostop)
opts.countdown=opts.autostopCount || els.length
var cont=$cont[0]
$cont.data('cycle.opts',opts)
opts.$cont=$cont
opts.stopCount=cont.cycleStop
opts.elements=els
opts.before=opts.before ? [opts.before] : []
opts.after=opts.after ? [opts.after] : []
if(!$.support.opacity&&opts.cleartype)
opts.after.push(function(){removeFilter(this,opts);})
if(opts.continuous)
opts.after.push(function(){go(els,opts,0,!opts.backwards);})
saveOriginalOpts(opts)
if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)
clearTypeFix($slides)
if($cont.css('position')=='static')
$cont.css('position','relative')
if(opts.width)
$cont.width(opts.width)
if(opts.height&&opts.height !='auto')
$cont.height(opts.height)
if(opts.startingSlide)
opts.startingSlide=parseInt(opts.startingSlide,10)
else if(opts.backwards)
opts.startingSlide=els.length-1
if(opts.random){
opts.randomMap=[]
for(var i=0;i<els.length;i++)
opts.randomMap.push(i)
opts.randomMap.sort(function(a,b){return Math.random()-0.5;})
opts.randomIndex=1
opts.startingSlide=opts.randomMap[1]}
else if(opts.startingSlide>=els.length)
opts.startingSlide=0
opts.currSlide=opts.startingSlide || 0
var first=opts.startingSlide
$slides.css({position: 'absolute',top:0,left:0}).hide().each(function(i){
var z
if(opts.backwards)
z=first ? i<=first ? els.length+(i-first): first-i : els.length-i
else
z=first ? i>=first ? els.length-(i-first): first-i : els.length-i
$(this).css('z-index',z)
})
$(els[first]).css('opacity',1).show()
removeFilter(els[first],opts)
if(opts.fit){
if(!opts.aspect){
if(opts.width)
$slides.width(opts.width)
if(opts.height&&opts.height !='auto')
$slides.height(opts.height)
}else{
$slides.each(function(){
var $slide=$(this)
var ratio=(opts.aspect===true)? $slide.width()/$slide.height(): opts.aspect
if(opts.width&&$slide.width()!=opts.width){
$slide.width(opts.width)
$slide.height(opts.width/ratio)}
if(opts.height&&$slide.height()<opts.height){
$slide.height(opts.height)
$slide.width(opts.height*ratio)}
})}}
if(opts.center&&((!opts.fit)|| opts.aspect)){
$slides.each(function(){
var $slide=$(this)
$slide.css({
"margin-left": opts.width ?
((opts.width-$slide.width())/2)+"px" :
0,
"margin-top": opts.height ?
((opts.height-$slide.height())/2)+"px" :
0
})
})}
if(opts.center&&!opts.fit&&!opts.slideResize){
$slides.each(function(){
var $slide=$(this)
$slide.css({
"margin-left": opts.width ?((opts.width-$slide.width())/2)+"px" : 0,
"margin-top": opts.height ?((opts.height-$slide.height())/2)+"px" : 0
})
})}
var reshape=opts.containerResize&&!$cont.innerHeight()
if(reshape){
var maxw=0,maxh=0
for(var j=0;j<els.length;j++){
var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight()
if(!w)w=e.offsetWidth || e.width || $e.attr('width')
if(!h)h=e.offsetHeight || e.height || $e.attr('height')
maxw=w>maxw ? w : maxw
maxh=h>maxh ? h : maxh}
if(maxw>0&&maxh>0)
$cont.css({width:maxw+'px',height:maxh+'px'})}
var pauseFlag=false
if(opts.pause)
$cont.hover(
function(){
pauseFlag=true
this.cyclePause++
triggerPause(cont,true)
},
function(){
pauseFlag&&this.cyclePause--
triggerPause(cont,true)}
)
if(supportMultiTransitions(opts)===false)
return false
var requeue=false
options.requeueAttempts=options.requeueAttempts || 0
$slides.each(function(){
var $el=$(this)
this.cycleH=(opts.fit&&opts.height)? opts.height :($el.height()|| this.offsetHeight || this.height || $el.attr('height')|| 0)
this.cycleW=(opts.fit&&opts.width)? opts.width :($el.width()|| this.offsetWidth || this.width || $el.attr('width')|| 0)
if($el.is('img')){
var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete)
var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete)
var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete)
var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete)
if(loadingIE || loadingFF || loadingOp || loadingOther){
if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){
log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ',this.src,this.cycleW,this.cycleH)
setTimeout(function(){$(o.s,o.c).cycle(options)},opts.requeueTimeout)
requeue=true
return false}
else{
log('could not determine size of image: '+this.src,this.cycleW,this.cycleH)}}}
return true
})
if(requeue)
return false
opts.cssBefore=opts.cssBefore ||{}
opts.cssAfter=opts.cssAfter ||{}
opts.cssFirst=opts.cssFirst ||{}
opts.animIn=opts.animIn ||{}
opts.animOut=opts.animOut ||{}
$slides.not(':eq('+first+')').css(opts.cssBefore)
$($slides[first]).css(opts.cssFirst)
if(opts.timeout){
opts.timeout=parseInt(opts.timeout,10)
if(opts.speed.constructor==String)
opts.speed=$.fx.speeds[opts.speed] || parseInt(opts.speed,10)
if(!opts.sync)
opts.speed=opts.speed/2
var buffer=opts.fx=='none' ? 0 : opts.fx=='shuffle' ? 500 : 250
while((opts.timeout-opts.speed)<buffer)
opts.timeout+=opts.speed}
if(opts.easing)
opts.easeIn=opts.easeOut=opts.easing
if(!opts.speedIn)
opts.speedIn=opts.speed
if(!opts.speedOut)
opts.speedOut=opts.speed
opts.slideCount=els.length
opts.currSlide=opts.lastSlide=first
if(opts.random){
if(++opts.randomIndex==els.length)
opts.randomIndex=0
opts.nextSlide=opts.randomMap[opts.randomIndex]}
else if(opts.backwards)
opts.nextSlide=opts.startingSlide==0 ?(els.length-1): opts.startingSlide-1
else
opts.nextSlide=opts.startingSlide>=(els.length-1)? 0 : opts.startingSlide+1
if(!opts.multiFx){
var init=$.fn.cycle.transitions[opts.fx]
if($.isFunction(init))
init($cont,$slides,opts)
else if(opts.fx !='custom'&&!opts.multiFx){
log('unknown transition: '+opts.fx,'; slideshow terminating')
return false}}
var e0=$slides[first]
if(!opts.skipInitializationCallbacks){
if(opts.before.length)
opts.before[0].apply(e0,[e0,e0,opts,true])
if(opts.after.length)
opts.after[0].apply(e0,[e0,e0,opts,true])}
if(opts.next)
$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,1)})
if(opts.prev)
$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,0)})
if(opts.pager || opts.pagerAnchorBuilder)
buildPager(els,opts)
exposeAddSlide(opts,els)
return opts}
function saveOriginalOpts(opts){
opts.original={before: [],after: []}
opts.original.cssBefore=$.extend({},opts.cssBefore)
opts.original.cssAfter=$.extend({},opts.cssAfter)
opts.original.animIn=$.extend({},opts.animIn)
opts.original.animOut=$.extend({},opts.animOut)
$.each(opts.before,function(){opts.original.before.push(this);})
$.each(opts.after,function(){opts.original.after.push(this);})}
function supportMultiTransitions(opts){
var i,tx,txs=$.fn.cycle.transitions
if(opts.fx.indexOf(',')>0){
opts.multiFx=true
opts.fxs=opts.fx.replace(/\s*/g,'').split(',')
for(i=0;i<opts.fxs.length;i++){
var fx=opts.fxs[i]
tx=txs[fx]
if(!tx || !txs.hasOwnProperty(fx)|| !$.isFunction(tx)){
log('discarding unknown transition: ',fx)
opts.fxs.splice(i,1)
i--}}
if(!opts.fxs.length){
log('No valid transitions named; slideshow terminating.')
return false}}
else if(opts.fx=='all'){
opts.multiFx=true
opts.fxs=[]
for(p in txs){
tx=txs[p]
if(txs.hasOwnProperty(p)&&$.isFunction(tx))
opts.fxs.push(p)}}
if(opts.multiFx&&opts.randomizeEffects){
var r1=Math.floor(Math.random()*20)+30
for(i=0;i<r1;i++){
var r2=Math.floor(Math.random()*opts.fxs.length)
opts.fxs.push(opts.fxs.splice(r2,1)[0])}
debug('randomized fx sequence: ',opts.fxs)}
return true}
function exposeAddSlide(opts,els){
opts.addSlide=function(newSlide,prepend){
var $s=$(newSlide),s=$s[0]
if(!opts.autostopCount)
opts.countdown++
els[prepend?'unshift':'push'](s)
if(opts.els)
opts.els[prepend?'unshift':'push'](s)
opts.slideCount=els.length
$s.css('position','absolute')
$s[prepend?'prependTo':'appendTo'](opts.$cont)
if(prepend){
opts.currSlide++
opts.nextSlide++}
if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg)
clearTypeFix($s)
if(opts.fit&&opts.width)
$s.width(opts.width)
if(opts.fit&&opts.height&&opts.height !='auto')
$s.height(opts.height)
s.cycleH=(opts.fit&&opts.height)? opts.height : $s.height()
s.cycleW=(opts.fit&&opts.width)? opts.width : $s.width()
$s.css(opts.cssBefore)
if(opts.pager || opts.pagerAnchorBuilder)
$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts)
if($.isFunction(opts.onAddSlide))
opts.onAddSlide($s)
else
$s.hide()}}
$.fn.cycle.resetState=function(opts,fx){
fx=fx || opts.fx
opts.before=[];opts.after=[]
opts.cssBefore=$.extend({},opts.original.cssBefore)
opts.cssAfter=$.extend({},opts.original.cssAfter)
opts.animIn=$.extend({},opts.original.animIn)
opts.animOut=$.extend({},opts.original.animOut)
opts.fxFn=null
$.each(opts.original.before,function(){opts.before.push(this);})
$.each(opts.original.after,function(){opts.after.push(this);})
var init=$.fn.cycle.transitions[fx]
if($.isFunction(init))
init(opts.$cont,$(opts.elements),opts)}
function go(els,opts,manual,fwd){
if(manual&&opts.busy&&opts.manualTrump){
debug('manualTrump in go(), stopping active transition')
$(els).stop(true,true)
opts.busy=0}
if(opts.busy){
debug('transition active, ignoring new tx request')
return}
var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide]
if(p.cycleStop !=opts.stopCount || p.cycleTimeout===0&&!manual)
return
if(!manual&&!p.cyclePause&&!opts.bounce&&
((opts.autostop&&(--opts.countdown<=0))||
(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){
if(opts.end)
opts.end(opts)
return}
var changed=false
if((manual || !p.cyclePause)&&(opts.nextSlide !=opts.currSlide)){
changed=true
var fx=opts.fx
curr.cycleH=curr.cycleH || $(curr).height()
curr.cycleW=curr.cycleW || $(curr).width()
next.cycleH=next.cycleH || $(next).height()
next.cycleW=next.cycleW || $(next).width()
if(opts.multiFx){
if(fwd&&(opts.lastFx==undefined ||++opts.lastFx>=opts.fxs.length))
opts.lastFx=0
else if(!fwd&&(opts.lastFx==undefined ||--opts.lastFx<0))
opts.lastFx=opts.fxs.length-1
fx=opts.fxs[opts.lastFx]}
if(opts.oneTimeFx){
fx=opts.oneTimeFx
opts.oneTimeFx=null}
$.fn.cycle.resetState(opts,fx)
if(opts.before.length)
$.each(opts.before,function(i,o){
if(p.cycleStop !=opts.stopCount)return
o.apply(next,[curr,next,opts,fwd])
})
var after=function(){
opts.busy=0
$.each(opts.after,function(i,o){
if(p.cycleStop !=opts.stopCount)return
o.apply(next,[curr,next,opts,fwd])
})}
debug('tx firing('+fx+'); currSlide: '+opts.currSlide+'; nextSlide: '+opts.nextSlide)
opts.busy=1
if(opts.fxFn)
opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent)
else if($.isFunction($.fn.cycle[opts.fx]))
$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent)
else
$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent)}
if(changed || opts.nextSlide==opts.currSlide){
opts.lastSlide=opts.currSlide
if(opts.random){
opts.currSlide=opts.nextSlide
if(++opts.randomIndex==els.length)
opts.randomIndex=0
opts.nextSlide=opts.randomMap[opts.randomIndex]
if(opts.nextSlide==opts.currSlide)
opts.nextSlide=(opts.currSlide==opts.slideCount-1)? 0 : opts.currSlide+1}
else if(opts.backwards){
var roll=(opts.nextSlide-1)<0
if(roll&&opts.bounce){
opts.backwards=!opts.backwards
opts.nextSlide=1
opts.currSlide=0}
else{
opts.nextSlide=roll ?(els.length-1): opts.nextSlide-1
opts.currSlide=roll ? 0 : opts.nextSlide+1}}
else{
var roll=(opts.nextSlide+1)==els.length
if(roll&&opts.bounce){
opts.backwards=!opts.backwards
opts.nextSlide=els.length-2
opts.currSlide=els.length-1}
else{
opts.nextSlide=roll ? 0 : opts.nextSlide+1
opts.currSlide=roll ? els.length-1 : opts.nextSlide-1}}}
if(changed&&opts.pager)
opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass)
var ms=0
if(opts.timeout&&!opts.continuous)
ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd)
else if(opts.continuous&&p.cyclePause)
ms=10
if(ms>0)
p.cycleTimeout=setTimeout(function(){go(els,opts,0,!opts.backwards)},ms)}
$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){
$(pager).each(function(){
$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName)
})}
function getTimeout(curr,next,opts,fwd){
if(opts.timeoutFn){
var t=opts.timeoutFn.call(curr,curr,next,opts,fwd)
while(opts.fx !='none'&&(t-opts.speed)<250)
t+=opts.speed
debug('calculated timeout: '+t+'; speed: '+opts.speed)
if(t !==false)
return t}
return opts.timeout}
$.fn.cycle.next=function(opts){advance(opts,1);}
$.fn.cycle.prev=function(opts){advance(opts,0);}
function advance(opts,moveForward){
var val=moveForward ? 1 :-1
var els=opts.elements
var p=opts.$cont[0],timeout=p.cycleTimeout
if(timeout){
clearTimeout(timeout)
p.cycleTimeout=0}
if(opts.random&&val<0){
opts.randomIndex--
if(--opts.randomIndex==-2)
opts.randomIndex=els.length-2
else if(opts.randomIndex==-1)
opts.randomIndex=els.length-1
opts.nextSlide=opts.randomMap[opts.randomIndex]}
else if(opts.random){
opts.nextSlide=opts.randomMap[opts.randomIndex]}
else{
opts.nextSlide=opts.currSlide+val
if(opts.nextSlide<0){
if(opts.nowrap)return false
opts.nextSlide=els.length-1}
else if(opts.nextSlide>=els.length){
if(opts.nowrap)return false
opts.nextSlide=0}}
var cb=opts.onPrevNextEvent || opts.prevNextClick
if($.isFunction(cb))
cb(val>0,opts.nextSlide,els[opts.nextSlide])
go(els,opts,1,moveForward)
return false}
function buildPager(els,opts){
var $p=$(opts.pager)
$.each(els,function(i,o){
$.fn.cycle.createPagerAnchor(i,o,$p,els,opts)
})
opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass)}
$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){
var a
if($.isFunction(opts.pagerAnchorBuilder)){
a=opts.pagerAnchorBuilder(i,el)
debug('pagerAnchorBuilder('+i+', el) returned: '+a)}
else
a='<a href="#">'+(i+1)+'</a>'
if(!a)
return
var $a=$(a)
if($a.parents('body').length===0){
var arr=[]
if($p.length>1){
$p.each(function(){
var $clone=$a.clone(true)
$(this).append($clone)
arr.push($clone[0])
})
$a=$(arr)}
else{
$a.appendTo($p)}}
opts.pagerAnchors=opts.pagerAnchors || []
opts.pagerAnchors.push($a)
$a.bind(opts.pagerEvent,function(e){
e.preventDefault()
opts.nextSlide=i
var p=opts.$cont[0],timeout=p.cycleTimeout
if(timeout){
clearTimeout(timeout)
p.cycleTimeout=0}
var cb=opts.onPagerEvent || opts.pagerClick
if($.isFunction(cb))
cb(opts.nextSlide,els[opts.nextSlide])
go(els,opts,1,opts.currSlide<i)
})
if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble)
$a.bind('click.cycle',function(){return false;})
var cont=opts.$cont[0]
var pauseFlag=false
if(opts.pauseOnPagerHover){
$a.hover(
function(){
pauseFlag=true
cont.cyclePause++
triggerPause(cont,true,true)
},function(){
pauseFlag&&cont.cyclePause--
triggerPause(cont,true,true)}
)}}
$.fn.cycle.hopsFromLast=function(opts,fwd){
var hops,l=opts.lastSlide,c=opts.currSlide
if(fwd)
hops=c>l ? c-l : opts.slideCount-l
else
hops=c<l ? l-c : l+opts.slideCount-c
return hops}
function clearTypeFix($slides){
debug('applying clearType background-color hack')
function hex(s){
s=parseInt(s,10).toString(16)
return s.length<2 ? '0'+s : s}
function getBg(e){
for(;e&&e.nodeName.toLowerCase()!='html';e=e.parentNode){
var v=$.css(e,'background-color')
if(v&&v.indexOf('rgb')>=0){
var rgb=v.match(/\d+/g)
return '#'+hex(rgb[0])+hex(rgb[1])+hex(rgb[2])}
if(v&&v !='transparent')
return v}
return '#ffffff'}
$slides.each(function(){$(this).css('background-color',getBg(this));})}
$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){
$(opts.elements).not(curr).hide()
if(typeof opts.cssBefore.opacity=='undefined')
opts.cssBefore.opacity=1
opts.cssBefore.display='block'
if(opts.slideResize&&w !==false&&next.cycleW>0)
opts.cssBefore.width=next.cycleW
if(opts.slideResize&&h !==false&&next.cycleH>0)
opts.cssBefore.height=next.cycleH
opts.cssAfter=opts.cssAfter ||{}
opts.cssAfter.display='none'
$(curr).css('zIndex',opts.slideCount+(rev===true ? 1 : 0))
$(next).css('zIndex',opts.slideCount+(rev===true ? 0 : 1))}
$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){
var $l=$(curr),$n=$(next)
var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut
$n.css(opts.cssBefore)
if(speedOverride){
if(typeof speedOverride=='number')
speedIn=speedOut=speedOverride
else
speedIn=speedOut=1
easeIn=easeOut=null}
var fn=function(){
$n.animate(opts.animIn,speedIn,easeIn,function(){
cb()
})}
$l.animate(opts.animOut,speedOut,easeOut,function(){
$l.css(opts.cssAfter)
if(!opts.sync)
fn()
})
if(opts.sync)fn()}
$.fn.cycle.transitions={
fade: function($cont,$slides,opts){
$slides.not(':eq('+opts.currSlide+')').css('opacity',0)
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts)
opts.cssBefore.opacity=0
})
opts.animIn={opacity: 1}
opts.animOut={opacity: 0}
opts.cssBefore={top: 0,left: 0}}}
$.fn.cycle.ver=function(){return ver;}
$.fn.cycle.defaults={
activePagerClass: 'activeSlide',
after: null,
allowPagerClickBubble: false,
animIn: null,
animOut: null,
aspect: false,
autostop: 0,
autostopCount: 0,
backwards: false,
before: null,
center: null,
cleartype: !$.support.opacity,
cleartypeNoBg: false,
containerResize: 1,
continuous: 0,
cssAfter: null,
cssBefore: null,
delay: 0,
easeIn: null,
easeOut: null,
easing: null,
end: null,
fastOnEvent: 0,
fit: 0,
fx: 'fade',
fxFn: null,
height: 'auto',
manualTrump: true,
metaAttr: 'cycle',
next: null,
nowrap: 0,
onPagerEvent: null,
onPrevNextEvent: null,
pager: null,
pagerAnchorBuilder: null,
pagerEvent: 'click.cycle',
pause: 0,
pauseOnPagerHover: 0,
prev: null,
prevNextEvent:'click.cycle',
random: 0,
randomizeEffects: 1,
requeueOnImageNotLoaded: true,
requeueTimeout: 250,
rev: 0,
shuffle: null,
skipInitializationCallbacks: false,
slideExpr: null,
slideResize: 1,
speed: 1000,
speedIn: null,
speedOut: null,
startingSlide: 0,
sync: 1,
timeout: 4000,
timeoutFn: null,
updateActivePagerLink: null,
width: null}
})(jQuery)
(function($){
$.fn.cycle.transitions.none=function($cont,$slides,opts){
opts.fxFn=function(curr,next,opts,after){
$(next).show()
$(curr).hide()
after()}}
$.fn.cycle.transitions.fadeout=function($cont,$slides,opts){
$slides.not(':eq('+opts.currSlide+')').css({display: 'block','opacity': 1})
opts.before.push(function(curr,next,opts,w,h,rev){
$(curr).css('zIndex',opts.slideCount+(!rev===true ? 1 : 0))
$(next).css('zIndex',opts.slideCount+(!rev===true ? 0 : 1))
})
opts.animIn.opacity=1
opts.animOut.opacity=0
opts.cssBefore.opacity=1
opts.cssBefore.display='block'
opts.cssAfter.zIndex=0}
$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){
$cont.css('overflow','hidden')
opts.before.push($.fn.cycle.commonReset)
var h=$cont.height()
opts.cssBefore.top=h
opts.cssBefore.left=0
opts.cssFirst.top=0
opts.animIn.top=0
opts.animOut.top=-h}
$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){
$cont.css('overflow','hidden')
opts.before.push($.fn.cycle.commonReset)
var h=$cont.height()
opts.cssFirst.top=0
opts.cssBefore.top=-h
opts.cssBefore.left=0
opts.animIn.top=0
opts.animOut.top=h}
$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){
$cont.css('overflow','hidden')
opts.before.push($.fn.cycle.commonReset)
var w=$cont.width()
opts.cssFirst.left=0
opts.cssBefore.left=w
opts.cssBefore.top=0
opts.animIn.left=0
opts.animOut.left=0-w}
$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){
$cont.css('overflow','hidden')
opts.before.push($.fn.cycle.commonReset)
var w=$cont.width()
opts.cssFirst.left=0
opts.cssBefore.left=-w
opts.cssBefore.top=0
opts.animIn.left=0
opts.animOut.left=w}
$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){
$cont.css('overflow','hidden').width()
opts.before.push(function(curr,next,opts,fwd){
if(opts.rev)
fwd=!fwd
$.fn.cycle.commonReset(curr,next,opts)
opts.cssBefore.left=fwd ?(next.cycleW-1):(1-next.cycleW)
opts.animOut.left=fwd ?-curr.cycleW : curr.cycleW
})
opts.cssFirst.left=0
opts.cssBefore.top=0
opts.animIn.left=0
opts.animOut.top=0}
$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){
$cont.css('overflow','hidden')
opts.before.push(function(curr,next,opts,fwd){
if(opts.rev)
fwd=!fwd
$.fn.cycle.commonReset(curr,next,opts)
opts.cssBefore.top=fwd ?(1-next.cycleH):(next.cycleH-1)
opts.animOut.top=fwd ? curr.cycleH :-curr.cycleH
})
opts.cssFirst.top=0
opts.cssBefore.left=0
opts.animIn.top=0
opts.animOut.left=0}
$.fn.cycle.transitions.slideX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$(opts.elements).not(curr).hide()
$.fn.cycle.commonReset(curr,next,opts,false,true)
opts.animIn.width=next.cycleW
})
opts.cssBefore.left=0
opts.cssBefore.top=0
opts.cssBefore.width=0
opts.animIn.width='show'
opts.animOut.width=0}
$.fn.cycle.transitions.slideY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$(opts.elements).not(curr).hide()
$.fn.cycle.commonReset(curr,next,opts,true,false)
opts.animIn.height=next.cycleH
})
opts.cssBefore.left=0
opts.cssBefore.top=0
opts.cssBefore.height=0
opts.animIn.height='show'
opts.animOut.height=0}
$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){
var i,w=$cont.css('overflow','visible').width()
$slides.css({left: 0,top: 0})
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true)
})
if(!opts.speedAdjusted){
opts.speed=opts.speed/2
opts.speedAdjusted=true}
opts.random=0
opts.shuffle=opts.shuffle ||{left:-w,top:15}
opts.els=[]
for(i=0;i<$slides.length;i++)
opts.els.push($slides[i])
for(i=0;i<opts.currSlide;i++)
opts.els.push(opts.els.shift())
opts.fxFn=function(curr,next,opts,cb,fwd){
if(opts.rev)
fwd=!fwd
var $el=fwd ? $(curr): $(next)
$(next).css(opts.cssBefore)
var count=opts.slideCount
$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){
var hops=$.fn.cycle.hopsFromLast(opts,fwd)
for(var k=0;k<hops;k++)
fwd ? opts.els.push(opts.els.shift()): opts.els.unshift(opts.els.pop())
if(fwd){
for(var i=0,len=opts.els.length;i<len;i++)
$(opts.els[i]).css('z-index',len-i+count)}
else{
var z=$(curr).css('z-index')
$el.css('z-index',parseInt(z,10)+1+count)}
$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){
$(fwd ? this : curr).hide()
if(cb)cb()
})
})}
$.extend(opts.cssBefore,{display: 'block',opacity: 1,top: 0,left: 0})}
$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false)
opts.cssBefore.top=next.cycleH
opts.animIn.height=next.cycleH
opts.animOut.width=next.cycleW
})
opts.cssFirst.top=0
opts.cssBefore.left=0
opts.cssBefore.height=0
opts.animIn.top=0
opts.animOut.height=0}
$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false)
opts.animIn.height=next.cycleH
opts.animOut.top=curr.cycleH
})
opts.cssFirst.top=0
opts.cssBefore.left=0
opts.cssBefore.top=0
opts.cssBefore.height=0
opts.animOut.height=0}
$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true)
opts.cssBefore.left=next.cycleW
opts.animIn.width=next.cycleW
})
opts.cssBefore.top=0
opts.cssBefore.width=0
opts.animIn.left=0
opts.animOut.width=0}
$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true)
opts.animIn.width=next.cycleW
opts.animOut.left=curr.cycleW
})
$.extend(opts.cssBefore,{top: 0,left: 0,width: 0})
opts.animIn.left=0
opts.animOut.width=0}
$.fn.cycle.transitions.zoom=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,false,true)
opts.cssBefore.top=next.cycleH/2
opts.cssBefore.left=next.cycleW/2
$.extend(opts.animIn,{top: 0,left: 0,width: next.cycleW,height: next.cycleH})
$.extend(opts.animOut,{width: 0,height: 0,top: curr.cycleH/2,left: curr.cycleW/2})
})
opts.cssFirst.top=0
opts.cssFirst.left=0
opts.cssBefore.width=0
opts.cssBefore.height=0}
$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,false)
opts.cssBefore.left=next.cycleW/2
opts.cssBefore.top=next.cycleH/2
$.extend(opts.animIn,{top: 0,left: 0,width: next.cycleW,height: next.cycleH})
})
opts.cssBefore.width=0
opts.cssBefore.height=0
opts.animOut.opacity=0}
$.fn.cycle.transitions.blindX=function($cont,$slides,opts){
var w=$cont.css('overflow','hidden').width()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts)
opts.animIn.width=next.cycleW
opts.animOut.left=curr.cycleW
})
opts.cssBefore.left=w
opts.cssBefore.top=0
opts.animIn.left=0
opts.animOut.left=w}
$.fn.cycle.transitions.blindY=function($cont,$slides,opts){
var h=$cont.css('overflow','hidden').height()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts)
opts.animIn.height=next.cycleH
opts.animOut.top=curr.cycleH
})
opts.cssBefore.top=h
opts.cssBefore.left=0
opts.animIn.top=0
opts.animOut.top=h}
$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){
var h=$cont.css('overflow','hidden').height()
var w=$cont.width()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts)
opts.animIn.height=next.cycleH
opts.animOut.top=curr.cycleH
})
opts.cssBefore.top=h
opts.cssBefore.left=w
opts.animIn.top=0
opts.animIn.left=0
opts.animOut.top=h
opts.animOut.left=w}
$.fn.cycle.transitions.growX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true)
opts.cssBefore.left=this.cycleW/2
opts.animIn.left=0
opts.animIn.width=this.cycleW
opts.animOut.left=0
})
opts.cssBefore.top=0
opts.cssBefore.width=0}
$.fn.cycle.transitions.growY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false)
opts.cssBefore.top=this.cycleH/2
opts.animIn.top=0
opts.animIn.height=this.cycleH
opts.animOut.top=0
})
opts.cssBefore.height=0
opts.cssBefore.left=0}
$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,false,true,true)
opts.cssBefore.left=next.cycleW/2
opts.animIn.left=0
opts.animIn.width=this.cycleW
opts.animOut.left=curr.cycleW/2
opts.animOut.width=0
})
opts.cssBefore.top=0
opts.cssBefore.width=0}
$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,false,true)
opts.cssBefore.top=next.cycleH/2
opts.animIn.top=0
opts.animIn.height=next.cycleH
opts.animOut.top=curr.cycleH/2
opts.animOut.height=0
})
opts.cssBefore.height=0
opts.cssBefore.left=0}
$.fn.cycle.transitions.cover=function($cont,$slides,opts){
var d=opts.direction || 'left'
var w=$cont.css('overflow','hidden').width()
var h=$cont.height()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts)
if(d=='right')
opts.cssBefore.left=-w
else if(d=='up')
opts.cssBefore.top=h
else if(d=='down')
opts.cssBefore.top=-h
else
opts.cssBefore.left=w
})
opts.animIn.left=0
opts.animIn.top=0
opts.cssBefore.top=0
opts.cssBefore.left=0}
$.fn.cycle.transitions.uncover=function($cont,$slides,opts){
var d=opts.direction || 'left'
var w=$cont.css('overflow','hidden').width()
var h=$cont.height()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true)
if(d=='right')
opts.animOut.left=w
else if(d=='up')
opts.animOut.top=-h
else if(d=='down')
opts.animOut.top=h
else
opts.animOut.left=-w
})
opts.animIn.left=0
opts.animIn.top=0
opts.cssBefore.top=0
opts.cssBefore.left=0}
$.fn.cycle.transitions.toss=function($cont,$slides,opts){
var w=$cont.css('overflow','visible').width()
var h=$cont.height()
opts.before.push(function(curr,next,opts){
$.fn.cycle.commonReset(curr,next,opts,true,true,true)
if(!opts.animOut.left&&!opts.animOut.top)
$.extend(opts.animOut,{left: w*2,top:-h/2,opacity: 0})
else
opts.animOut.opacity=0
})
opts.cssBefore.left=0
opts.cssBefore.top=0
opts.animIn.left=0}
$.fn.cycle.transitions.wipe=function($cont,$slides,opts){
var w=$cont.css('overflow','hidden').width()
var h=$cont.height()
opts.cssBefore=opts.cssBefore ||{}
var clip
if(opts.clip){
if(/l2r/.test(opts.clip))
clip='rect(0px 0px '+h+'px 0px)'
else if(/r2l/.test(opts.clip))
clip='rect(0px '+w+'px '+h+'px '+w+'px)'
else if(/t2b/.test(opts.clip))
clip='rect(0px '+w+'px 0px 0px)'
else if(/b2t/.test(opts.clip))
clip='rect('+h+'px '+w+'px '+h+'px 0px)'
else if(/zoom/.test(opts.clip)){
var top=parseInt(h/2,10)
var left=parseInt(w/2,10)
clip='rect('+top+'px '+left+'px '+top+'px '+left+'px)'}}
opts.cssBefore.clip=opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)'
var d=opts.cssBefore.clip.match(/(\d+)/g)
var t=parseInt(d[0],10),r=parseInt(d[1],10),b=parseInt(d[2],10),l=parseInt(d[3],10)
opts.before.push(function(curr,next,opts){
if(curr==next)return
var $curr=$(curr),$next=$(next)
$.fn.cycle.commonReset(curr,next,opts,true,true,false)
opts.cssAfter.display='block'
var step=1,count=parseInt((opts.speedIn/13),10)-1
(function f(){
var tt=t ? t-parseInt(step*(t/count),10): 0
var ll=l ? l-parseInt(step*(l/count),10): 0
var bb=b<h ? b+parseInt(step*((h-b)/count || 1),10): h
var rr=r<w ? r+parseInt(step*((w-r)/count || 1),10): w
$next.css({clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)'})
(step++<=count)? setTimeout(f,13): $curr.css('display','none')
})()
})
$.extend(opts.cssBefore,{display: 'block',opacity: 1,top: 0,left: 0})
opts.animIn={left: 0}
opts.animOut={left: 0}}
})(jQuery)

