$(function () {
    $("body").removeClass("coda-slider-no-js");
    $(".coda-slider-1").children(".panel").hide().end().prepend('<p class="loading">Loading...<br /><img src="images/ajax-loader.gif" alt="loading..." /></p>')
});
var sliderCount = 1;
$.fn.codaSlider = function (a) {
    a = $.extend({
        autoHeight: true,
        autoHeightEaseDuration: 1e3,
        autoHeightEaseFunction: "easeInOutExpo",
        autoSlide: false,
        autoSlideInterval: 7e3,
        autoSlideStopWhenClicked: false,
        crossLinking: true,
        dynamicArrows: false,
        dynamicArrowLeftText: "&#171; left",
        dynamicArrowRightText: "right &#187;",
        dynamicTabs: true,
        dynamicTabsAlign: "center",
        dynamicTabsPosition: "bottom",
        externalTriggerSelector: "a.xtrig",
        firstPanelToLoad: 1,
        panelTitleSelector: "h2.title",
        slideEaseDuration: 1e3,
        slideEaseFunction: "easeInOutExpo"
    }, a);
    return this.each(function () {
        function k() {
            if (f == 0 || !a.autoSlideStopWhenClicked) {
                if (g == d) {
                    var e = 0;
                    g = 1
                } else {
                    var e = -(c * g);
                    g += 1
                }
                j(g - 1);
                b.siblings(".coda-nav").find("a").removeClass("current").parents("ul").find("li:eq(" + (g - 1) + ") a").addClass("current");
                $(".panel-container", b).animate({
                    marginLeft: e
                }, a.slideEaseDuration, a.slideEaseFunction);
                setTimeout(k, a.autoSlideInterval)
            }
        }
        function j(c) {
            if (a.autoHeight) {
                panelHeight = $(".panel:eq(" + c + ")", b).height();
                b.animate({
                    height: panelHeight
                }, a.autoHeightEaseDuration, a.autoHeightEaseFunction)
            }
        }
        var b = $(this);
        if (a.dynamicArrows) {
            b.parent().addClass("arrows");
            b.before('<div class="coda-nav-left" id="coda-nav-left-' + sliderCount + '"><a href="#">' + a.dynamicArrowLeftText + "</a></div>");
            b.after('<div class="coda-nav-right" id="coda-nav-right-' + sliderCount + '"><a href="#">' + a.dynamicArrowRightText + "</a></div>")
        }
        var c = b.find(".panel").width();
        var d = b.find(".panel").size();
        var e = c * d;
        var f = 0;
        $(".panel", b).wrapAll('<div class="panel-container"></div>');
        $(".panel-container", b).css({
            width: e
        });
        if (a.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= d) {
            var g = parseInt(location.hash.slice(1));
            var h = -(c * (g - 1));
            $(".panel-container", b).css({
                marginLeft: h
            })
        } else if (a.firstPanelToLoad != 1 && a.firstPanelToLoad <= d) {
            var g = a.firstPanelToLoad;
            var h = -(c * (g - 1));
            $(".panel-container", b).css({
                marginLeft: h
            })
        } else {
            var g = 1
        }
        $("#coda-nav-left-" + sliderCount + " a").click(function () {
            f++;
            if (g == 1) {
                h = -(c * (d - 1));
                j(d - 1);
                g = d;
                b.siblings(".coda-nav").find("a.current").removeClass("current").parents("ul").find("li:last a").addClass("current")
            } else {
                g -= 1;
                j(g - 1);
                h = -(c * (g - 1));
                b.siblings(".coda-nav").find("a.current").removeClass("current").parent().prev().find("a").addClass("current")
            }
            $(".panel-container", b).animate({
                marginLeft: h
            }, a.slideEaseDuration, a.slideEaseFunction);
            if (a.crossLinking) {
                location.hash = g
            }
            return false
        });
        $("#coda-nav-right-" + sliderCount + " a").click(function () {
            f++;
            if (g == d) {
                h = 0;
                g = 1;
                j(0);
                b.siblings(".coda-nav").find("a.current").removeClass("current").parents("ul").find("a:eq(0)").addClass("current")
            } else {
                h = -(c * g);
                j(g);
                g += 1;
                b.siblings(".coda-nav").find("a.current").removeClass("current").parent().next().find("a").addClass("current")
            }
            $(".panel-container", b).animate({
                marginLeft: h
            }, a.slideEaseDuration, a.slideEaseFunction);
            if (a.crossLinking) {
                location.hash = g
            }
            return false
        });
        if (a.dynamicTabs) {
            var i = '<div class="coda-nav" id="coda-nav-' + sliderCount + '"><ul></ul></div>';
            switch (a.dynamicTabsPosition) {
            case "bottom":
                b.parent().append(i);
                break;
            default:
                b.parent().prepend(i);
                break
            }
            ul = $("#coda-nav-" + sliderCount + " ul");
            $(".panel", b).each(function (b) {
                ul.append('<li class="tab' + (b + 1) + '" style="width:25px;height:18px"><a href="#' + (b + 1) + '"></a></li>')
            });
            navContainerWidth = b.width() + b.siblings(".coda-nav-left").width() + b.siblings(".coda-nav-right").width();
            ul.parent().css({
                width: '64px'
            });
            switch (a.dynamicTabsAlign) {
            case "center":
                ul.css({
                    width: ($("li", ul).width() + 2) * d
                });
                break;
            case "right":
                ul.css({
                    "float": "right"
                });
                break
            }
        }
        $("#coda-nav-" + sliderCount + " a").each(function (d) {
            $(this).bind("click", function () {
                f++;
                $(this).addClass("current").parents("ul").find("a").not($(this)).removeClass("current");
                h = -(c * d);
                j(d);
                g = d + 1;
                $(".panel-container", b).animate({
                    marginLeft: h
                }, a.slideEaseDuration, a.slideEaseFunction);
                if (!a.crossLinking) {
                    return false
                }
            })
        });
        $(a.externalTriggerSelector).each(function () {
            if (sliderCount == parseInt($(this).attr("rel").slice(12))) {
                $(this).bind("click", function () {
                    f++;
                    targetPanel = parseInt($(this).attr("href").slice(1));
                    h = -(c * (targetPanel - 1));
                    j(targetPanel - 1);
                    g = targetPanel;
                    b.siblings(".coda-nav").find("a").removeClass("current").parents("ul").find("li:eq(" + (targetPanel - 1) + ") a").addClass("current");
                    $(".panel-container", b).animate({
                        marginLeft: h
                    }, a.slideEaseDuration, a.slideEaseFunction);
                    if (!a.crossLinking) {
                        return false
                    }
                })
            }
        });
        if (a.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= d) {
            $("#coda-nav-" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current")
        } else if (a.firstPanelToLoad != 1 && a.firstPanelToLoad <= d) {
            $("#coda-nav-" + sliderCount + " a:eq(" + (a.firstPanelToLoad - 1) + ")").addClass("current")
        } else {
            $("#coda-nav-" + sliderCount + " a:eq(0)").addClass("current")
        }
        if (a.autoHeight) {
            panelHeight = $(".panel:eq(" + (g - 1) + ")", b).height();
            b.css({
                height: panelHeight
            })
        }
        if (a.autoSlide) {
            b.ready(function () {
                setTimeout(k, a.autoSlideInterval)
            })
        }
        $(".panel", b).show().end().find("p.loading").remove();
        b.removeClass("preload");
        sliderCount++
    })
}
