﻿(function ($) {
    $.fn.customFadeIn = function (speed, callback) {
        $(this).fadeIn(speed, function () {
            if (jQuery.browser.msie) $(this).get(0).style.removeAttribute('filter');
            if (callback != undefined) callback();
        });
    };
    $.fn.customFadeOut = function (speed, callback) {
        $(this).fadeOut(speed, function () {
            if (jQuery.browser.msie) $(this).get(0).style.removeAttribute('filter');
            if (callback != undefined) callback();
        });
    };
})(jQuery);
fader = function (id, _in) { if (_in) $('#' + id).customFadeIn('fast'); if (!_in) $('#' + id).customFadeOut('fast'); };





jQuery.fn.tabs = function (t, i) {

    var formArea = $(this[0]);

    if (t == 'select') {

        var p = 0;
        // i is the index we want to show

        formArea.find('li').each(function () { $(this).removeClass('active'); });

        formArea.find('li').each(function () {
            var li = $(this);
            var a = $($(this).find('a')[0]);
            if (i == p) {
                li.addClass('active');
                $(a.attr('href')).css('display', 'block');
            } else {
                li.removeClass('active');
                $(a.attr('href')).css('display', 'none');
            }
            p += 1;
        });

        var g = {};
        g.index = i;

        formArea.trigger('tabsselect', g);
        return;
    }




    formArea.find('ul').addClass('safeTabs');
    formArea.find('.simplePagerNav').removeClass('safeTabs');

    $($(formArea.find('ul')[0]).find('li')[0]).addClass('active');

    formArea.find('li').each(function () {

        var a = $($(this).find('a')[0]);
        var di = $(a.attr('href'));
        if (document.location.href.indexOf('iframe') == -1) {
            di.css('width', '450px');
        } else {
            di.css('width', '420px');
        }
        di.css('position', 'relative');
        if (!$(this).hasClass('active')) {
            $(a.attr('href')).css('display', 'none');

        }

        a.click(function () {
            var p = $(this).parent().parent(); p.find('li').removeClass('active'); $(this).parent().addClass('active');

            p.find('li').each(function () {

                var a = $($(this).find('a')[0]);

                if (!$(this).hasClass('active')) {
                    $(a.attr('href')).css('display', 'none');
                } else { $(a.attr('href')).css('display', 'block'); }


            });

            var i = 0;
            p.find('li').each(function () {
                var li = $(this);
                if (li.hasClass('active')) {
                    var g = {};
                    g.index = i;

                    formArea.trigger('tabsselect', g);
                    
                }
                i += 1;
            });

            return false;
        });

    });

}



$.fn.cycle.transitions.scrollBothWays = function ($cont, $slides, opts) {

    $cont.css('overflow', 'hidden');

    opts.before.push($.fn.cycle.commonReset);



    // custom transition fn (trying to get it to scroll forward and backward)

    opts.fxFn = function (curr, next, opts, cb, fwd) {



        var w = $cont.width();

        opts.cssFirst = { left: 0 };

        opts.animIn = { left: 0 };



        if (fwd) {

            opts.cssBefore = { left: w, top: 0 };

            opts.animOut = { left: 0 - w };

        } else {

            opts.cssBefore = { left: -w, top: 0 };

            opts.animOut = { left: w };

        };



        var $l = $(curr), $n = $(next);

        var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut, animOut = opts.animOut, animIn = opts.animIn;

        $n.css(opts.cssBefore);

        var fn = function () { $n.show(); $n.animate(animIn, speedIn, easeIn, cb); };

        $l.animate(animOut, speedOut, easeOut, function () {

            if (opts.cssAfter) $l.css(opts.cssAfter);

            if (!opts.sync) fn();

        });

        if (opts.sync) fn();

    };

};
