/*

 * 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.22

 * Dual licensed under the MIT and GPL licenses:

 * http://www.opensource.org/licenses/mit-license.php

 * http://www.gnu.org/licenses/gpl.html

 */

(function($) {

// scrollUp/Down/Left/Right

$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {

    $cont.css('overflow','hidden');

    opts.before.push(function(curr, next, opts) {

        $(this).show();

        opts.cssBefore.top = next.offsetHeight;

        opts.animOut.top = 0-curr.offsetHeight;

    });

    opts.cssFirst = { top: 0 };

    opts.animIn   = { top: 0 };

    opts.cssAfter = { display: 'none' };

};

$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {

    $cont.css('overflow','hidden');

    opts.before.push(function(curr, next, opts) {

        $(this).show();

        opts.cssBefore.top = 0-next.offsetHeight;

        opts.animOut.top = curr.offsetHeight;

    });

    opts.cssFirst = { top: 0 };

    opts.animIn   = { top: 0 };

    opts.cssAfter = { display: 'none' };

};

$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {

    $cont.css('overflow','hidden');

    opts.before.push(function(curr, next, opts) {

        $(this).show();

        opts.cssBefore.left = next.offsetWidth;

        opts.animOut.left = 0-curr.offsetWidth;

    });

    opts.cssFirst = { left: 0 };

    opts.animIn   = { left: 0 };

};

$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {

    $cont.css('overflow','hidden');

    opts.before.push(function(curr, next, opts) {

        $(this).show();

        opts.cssBefore.left = 0-next.offsetWidth;

        opts.animOut.left = curr.offsetWidth;

    });

    opts.cssFirst = { left: 0 };

    opts.animIn   = { left: 0 };

};

$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {

    $cont.css('overflow','hidden').width();

//    $slides.show();

    opts.before.push(function(curr, next, opts, fwd) {

        $(this).show();

        var currW = curr.offsetWidth, nextW = next.offsetWidth;

        opts.cssBefore = fwd ? { left: nextW } : { left: -nextW };

        opts.animIn.left = 0;

        opts.animOut.left = fwd ? -currW : currW;

        $slides.not(curr).css(opts.cssBefore);

    });

    opts.cssFirst = { left: 0 };

    opts.cssAfter = { display: 'none' }

};

$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {

    $cont.css('overflow','hidden');

//    $slides.show();

    opts.before.push(function(curr, next, opts, fwd) {

        $(this).show();

        var currH = curr.offsetHeight, nextH = next.offsetHeight;

        opts.cssBefore = fwd ? { top: -nextH } : { top: nextH };

        opts.animIn.top = 0;

        opts.animOut.top = fwd ? currH : -currH;

        $slides.not(curr).css(opts.cssBefore);

    });

    opts.cssFirst = { top: 0 };

    opts.cssAfter = { display: 'none' }

};



})(jQuery);


