﻿
(function ($) {
    $.fn.VerticalTabify = function () {
        var parent = $(this);
        parent.prepend("<div style='clear:left;'></div>");
        parent.prepend("<div class='vtab-body-display'><div></div></div>");

        parent.append("<div class='vactive-arrow'></div>");
        parent.append("<div class='vtab-container-bottom'><a href=''><span style='vertical-align: top;'>MORE </span> <img src='/Images/more-arrow.png' style='padding-left: 5px;'/></a></div>");

        // find which tab will be active
        var foundActive = false;
        parent.children(".vtab").each(function () {
            if ((!foundActive) && !$(this).hasClass("no-body")) {
                $(this).addClass("active");
                foundActive = true;
            }
        });

        parent.children(".vtab").find(".vtab-body").css("display", "none");

        // add tab formatting
        parent.children(".vtab").each(function () {
            $(this).click(function () {
                $(this).siblings().removeClass("active");

                $(".vtab-body-display div").stop(true);
                $(".vtab-body-display").stop(true);
                parent.stop(true);

                var newContent = $(this).addClass("active").find(".vtab-body").html();
                var titleBox = $(this).find(".vtab-title");

                $(this).parent().find(".vtab-container-bottom span").html($(this).find(".vtab-body").attr("rel"));
                $(this).parent().find(".vtab-container-bottom a").attr("href", $(this).find(".vtab-body").attr("title"));

                $(".vtab-body-display div").animate({ opacity: 0 }, 500, "linear", function () {
                    $(".vtab-body-display div").html(newContent);

                    $(".vtab-body-display").animate({ height: DetermineHeight($(".vtab-body-display div:first")) }, 700);
                    $(".vtab-body-display div").animate({ opacity: 1 }, 300);
                });

                $(this).parent().find(".vactive-arrow").animate({ top: titleBox.attr("rel") }, 600);
            });
        });

        foundActive = false;
        parent.children(".vtab").each(function () {
            if ((!foundActive) && !$(this).hasClass("no-body")) {
                $(this).click();
                foundActive = true;
            }
        });

        if ($.browser.msie && $.browser.version < 8) {
            $(".hactive-arrow").css("display", "none");
            $(".htab-body-display").css("padding-top", 10);
        }
    };
})(jQuery);

(function ($) {
    $.fn.HorizontalTabify = function () {
        var parent = $(this);

        parent.find(".htab-body").css("display", "none");
        parent.find(".htab-title").css("float", "left");

        parent.append("<div class='hactive-arrow'></div>");
        parent.append("<div class='htab-body-display'><div></div></div>");
        
        parent.find(".htab:first").addClass("active");

        parent.find(".htab").each(function() {
            $(this).click(function() {
                $(this).addClass("active").siblings().removeClass("active");

                $(this).parent().find(".hactive-arrow").animate({"left": $(this).children(".htab-title").attr("rel")}, 600);

                var newContent = $(this).find(".htab-body").html();

                parent.find(".htab-body-display div").html(newContent);
            });
        });

        parent.find(".htab:first").click();
    };
})(jQuery);

$(document).ready(function () {
    $(".sf_searchSubmit").attr("value", "");

    if ($.browser.msie) {
        $(".sf_searchText").css("padding-top", 7);
    }

    $(".autohover").each(function () {
        if (!$(this).is(".autoselect")) {
            $(this).mouseenter(function () {
                $(this).attr("src", $(this).attr("src").replace(".", "-hover."));
            }).mouseleave(function () {
                $(this).attr("src", $(this).attr("src").replace("-hover.", "."));
            });
        }
    });

    $(".autoselect").each(function () {
        $(this).attr("src", $(this).attr("src").replace(".", "-active."));
    });

    $(".box-contents").each(function () {
        BuildTheBox($(this));
    });
});

function BuildTheBox(contentElement) {
    var parent = contentElement.after("<div/>").next();
    parent.addClass("box");

    var header = parent.append("<div/>").children(":last");
    header.addClass("box-header");
    header.append("<div class='left'></div>");
    header.append("<div class='center'><img src='../AWG/Scripts/" + contentElement.attr("title") + "'/></div>");
    header.append("<div class='right'></div>");

    contentElement.removeAttr("title");
    contentElement.removeClass("box-contents");

    var body = parent.append("<div/>").children(":last");
    body.addClass("box-body");
    body.append(contentElement);
    body.append("<div style='clear:right;'></div>");

    var footer = parent.append("<div/>").children(":last");
    footer.addClass("box-bottom");
    footer.append("<div class='left'></div>");
    footer.append("<div class='center'></div>");
    footer.append("<div class='right'></div>");

    parent.append("<div style='clear:left;'></div>");
}

function DetermineWidth(element) {
    var total = element.width();

    var pad = parseInt(element.css("padding-left"), 10) + parseInt(element.css("padding-right"), 10);
    var mar = parseInt(element.css("margin-left"), 10) + parseInt(element.css("margin-right"), 10);
    var bor = parseInt(element.css("borderLeftWidth"), 10) + parseInt(element.css("borderRightWidth"), 10);

    if (!isNaN(pad))
        total += pad;

    if (!isNaN(mar))
        total += mar;

    if (!isNaN(bor))
        total += bor;

    return total;
}

function DetermineHeight(element) {
    var total = element.outerHeight();

    var pad = parseInt(element.css("padding-top"), 10) + parseInt(element.css("padding-bottom"), 10);
    var mar = parseInt(element.css("margin-top"), 10) + parseInt(element.css("margin-bottom"), 10);
    var bor = parseInt(element.css("borderTopWidth"), 10) + parseInt(element.css("borderBottomWidth"), 10);

    if (!isNaN(pad))
        total += pad;

    if (!isNaN(mar))
        total += mar;

    if (!isNaN(bor))
        total += bor;

    return total;
}

