/*! * jQuery Cycle Plugin Transition Definitions * This script is a plugin for the jQuery Cycle Plugin * Examples and documentation at: http://malsup.com/jquery/cycle/ * Copyright (c) 2007-2008 M. Alsup * Version:	 2.52 * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */(function($) {//// These functions define one-time slide initialization for the named// transitions. To save file size feel free to remove any of these that you // don't need.//// scrollUp/Down/Left/Right$.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, 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, 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, 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, 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) {		$.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) {		$.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 };};// slideX/slideY$.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, top: 0, 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, top: 0, height: 0 };	opts.animIn	 = { height: 'show' };	opts.animOut = { height: 0 };};// shuffle$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {	var 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);	});	opts.speed = opts.speed / 2; // shuffle has 2 transitions		 	opts.random = 0;	opts.shuffle = opts.shuffle || {left:-w, top:15};	opts.els = [];	for (var i=0; i < $slides.length; i++)		opts.els.push($slides[i]);	for (var i=0; i < opts.currSlide; i++)		opts.els.push(opts.els.shift());	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)	opts.fxFn = function(curr, next, opts, cb, 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)+1+count);			}			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {				$(fwd ? this : curr).hide();				if (cb) cb();			});		});	};	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };};// turnUp/Down/Left/Right$.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.cssFirst  = { top: 0 };	opts.cssBefore = { left: 0, 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, top: 0, 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, 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;	});	opts.cssBefore = { top: 0, left: 0, width: 0 };	opts.animIn	   = { left: 0 };	opts.animOut   = { width: 0 };};// zoom$.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;		opts.animIn	   = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };		opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };	});	   	opts.cssFirst = { top:0, left: 0 };	opts.cssBefore = { width: 0, height: 0 };};// fadeZoom$.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;		opts.animIn	= { top: 0, left: 0, width: next.cycleW, height: next.cycleH };	});	   	opts.cssBefore = { width: 0, height: 0 };	opts.animOut  = { opacity: 0 };};// blindX$.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, top: 0 };	opts.animIn = { left: 0 };	opts.animOut  = { left: w };};// blindY$.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, left: 0 };	opts.animIn = { top: 0 };	opts.animOut  = { top: h };};// blindZ$.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, left: w };	opts.animIn = { top: 0, left: 0 };	opts.animOut  = { top: h, left: w };};// growX - grow horizontally from centered 0 width$.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, width: this.cycleW };		opts.animOut = { left: 0 };	});	   	opts.cssBefore = { width: 0, top: 0 };};// growY - grow vertically from centered 0 height$.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, height: this.cycleH };		opts.animOut = { top: 0 };	});	   	opts.cssBefore = { height: 0, left: 0 };};// curtainX - squeeze in both edges horizontally$.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, width: this.cycleW };		opts.animOut = { left: curr.cycleW/2, width: 0 };	});	   	opts.cssBefore = { top: 0, width: 0 };};// curtainY - squeeze in both edges vertically$.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, height: next.cycleH };		opts.animOut = { top: curr.cycleH/2, height: 0 };	});	   	opts.cssBefore = { left: 0, height: 0 };};// cover - curr slide covered by next slide$.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, top: 0};	opts.animOut = { opacity: 1 };	opts.cssBefore = { top: 0, left: 0 };};// uncover - curr slide moves off next slide$.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, top: 0 };	opts.animOut = { opacity: 1 };	opts.cssBefore = { top: 0, left: 0 };};// toss - move top slide and fade away$.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);		// provide default toss settings if animOut not provided		if (!opts.animOut.left && !opts.animOut.top)			opts.animOut = { left: w*2, top: -h/2, opacity: 0 };		else			opts.animOut.opacity = 0;	});	   	opts.cssBefore = { left: 0, top: 0 };	opts.animIn = { left: 0 };};// wipe - clip animation$.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 t = parseInt(h/2);			var l = parseInt(w/2);			clip = 'rect('+t+'px '+l+'px '+t+'px '+l+'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]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);		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)) - 1;		(function f() {			var tt = t ? t - parseInt(step * (t/count)) : 0;			var ll = l ? l - parseInt(step * (l/count)) : 0;			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');		})();	});	   	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };	opts.animIn	   = { left: 0 };	opts.animOut   = { left: 0 };};})(jQuery);
