﻿function setTableColor(table) {
    var element;

    if (table == null) {
        element = $("table");
    }
    else {
        element = $(table);
    }

    $(element).each(
    function () {
        var i = -1;
        $(this).find("tr").each(
        function () {
            if ($(this).css("display") == "none") {
                return;
            }
            $(this).removeClass("oddColor");
            $(this).removeClass("evenColor");
            if (i < 0) {
            }
            else if (i % 2 == 1) {
                $(this).addClass("oddColor");
            }
            else if (i % 2 == 0) {
                $(this).addClass("evenColor");
            }
            i++;
        });
    });
}

function setJsTreeTableColor(table) {
    var element;

    if (table == null) {
        element = $("table");
    }
    else {
        element = $(table);
    }

    $(element).each(
    function () {
        var i = -1;
        $(this).find("tr").each(
        function () {
            if (i < 0) {
            }
            else if (i % 4 == 0) {
                $(this).addClass("evenColor");
                $(this).css(
                {
                    "border-bottom": "none"
                });
            }
            else if (i % 4 == 1) {
                $(this).addClass("evenColor");
                $(this).css(
                {
                    "border-top": "none"
                });
            }
            else if (i % 4 == 2) {
                $(this).addClass("oddColor");
                $(this).css(
                {
                    "border-bottom": "none"
                });
            }
            else if (i % 4 == 3) {
                $(this).addClass("oddColor");
                $(this).css(
                {
                    "border-top": "none"
                });
            }
            i++;
        });
    });
}

function setHoverEven(table) {
    var element;

    if (table == null) {
        element = $("table");
    }
    else {
        element = $(table);
    }

    $(element).find("td").each(
    function () {
        $(this).unbind("hover");
        $(this).hover(
        function () {
            $(this).parents("tr").addClass("overColor");
        },
        function () {
            $(this).parents("tr").removeClass("overColor");
        });
    });
}

function setJsTreeTableHoverEven(table) {
    var element;

    if (table == null) {
        element = $("table");
    }
    else {
        element = $(table);
    }

    $(element).find("td").each(
    function () {
        var id;
        var i = parseInt($(this).parents("tr").attr("id").split('_')[1]);
        if (i % 2 == 1) {
            id = "tr_" + (i + 1);
        }
        else {
            id = "tr_" + (i - 1);
        }

        $(this).unbind("hover");
        $(this).hover(
        function () {
            $(this).parents("tr").addClass("overColor1");
            $(this).parents("tr").parents("tbody").children("#" + id).addClass("overColor1");
        },
        function () {
            $(this).parents("tr").removeClass("overColor1");
            $(this).parents("tr").parents("tbody").children("#" + id).removeClass("overColor1");
        });
    });
}

function setLevelTableColor() {

    $('.headTd').css('border-top', 'none');

	/*$('.headTd, .lastTd').each(
    function () {
        $(this).css('backgroundColor', $(this).parent('tr').css('backgroundColor'));
    });*/

    $(".level_1_btn").click(
	function () {
	    var e = $(this).parents("tr").next("tr");
	    var hasNextLevel = false;
	    while (!$(e).hasClass("level_1") && !$(e).hasClass("level_1_bottom")) {
	        $(e).toggleClass("level_2_hide");
	        e = $(e).next("tr");
	        hasNextLevel = true;
	    }

	    var id = $(this).attr('id').split('_')[1];
	    if ($(e).hasClass("level_1_bottom")) {
	        if ($(this).find("img").length == 0)
	            return;
	        if (!$(e).prev("tr").hasClass("level_2_hide") && hasNextLevel) {
	            $(e).css(
                {
                    "height": "25px"
                });
	            $(this).html('<img src="../../Content/images/Campaign/Form-02.png" />')
	            $('#borderTd_' + id).css('border-top', 'solid 1px #7E7E7E');
	        }
	        else {
	            $(e).css(
                {
                    "height": "0px"
                });
                $(this).html('<img src="../../Content/images/Campaign/Form-01.png" />')
                $('#borderTd_' + id).css('border-top', 'none');
	        }
	    }
	});

	$(".level_2_btn").click(
	function () {
	    var e = $(this).parents("tr").next("tr");
	    var hasNextLevel = false;
	    while (!$(e).hasClass("level_2") && !$(e).hasClass("level_1_bottom")) {
	        $(e).toggleClass("level_3_hide");
	        e = $(e).next("tr");
	        hasNextLevel = true;
	    }
	    if ($(this).find("img").length > 0) {
	        if (!$(e).prev("tr").hasClass("level_3_hide") && hasNextLevel) {
	            $(this).html('<img src="../../Content/images/Campaign/Form-02.png" />')
	        }
	        else {
	            $(this).html('<img src="../../Content/images/Campaign/Form-01.png" />')
	        }
	    }
	    e = $(this).prev(".level_2_left");
	    while ($(e).html() != null) {
	        $(e).toggleClass("level_2_borderBottom");
	        e = $(e).next("td");
	    }

	});

    $(".level_2").each(
    function () {
        if ($(this).next("tr").hasClass("level_1_bottom")) {
            var e = $(this).children(".level_2_left");
            while ($(e).html() != null) {
                $(e).css(
                {
                    "border-bottom": "solid 1px #666666"
                });
                e = $(e).next("td");
            }
        }
    });

    $(".lastTd").css(
    {
        "border-top": "none",
        "border-bottom": "none"
    });
}

function setLevelTableHoverEven() {
    $("tr").each(
    function () {
        $(this).hover(
        function () {
            var e = $(this);
            while (!$(e).hasClass("level_1") && $(e).html() != null) {
                e = $(e).prev("tr");
            }
            $(e).addClass("overColor1");
            e = $(e).next("tr");
            while (!$(e).hasClass("level_1_bottom") && $(e).html() != null) {
                $(e).children(".level_2_left").prev("td").addClass("overColor1");
                $(e).children(".level_3_left").prev("td").addClass("overColor1");
                e = $(e).next("tr");
            }
            $(e).addClass("overColor1");
        },
        function () {
            var e = $(this);
            while (!$(e).hasClass("level_1") && $(e).html() != null) {
                e = $(e).prev("tr");
            }
            $(e).removeClass("overColor1");
            e = $(e).next("tr");
            while (!$(e).hasClass("level_1_bottom") && $(e).html() != null) {
                $(e).children(".level_2_left").prev("td").removeClass("overColor1");
                $(e).children(".level_3_left").prev("td").removeClass("overColor1");
                e = $(e).next("tr");
            }
            $(e).removeClass("overColor1");
        });
    });
}

function setMultiLevelTable() {
    $(".level_1_table").each(
    function () {
        var i = 0;
        $(this).find(".tr_level_1_table").each(
        function () {
            var colorClass;
            if (i % 2 == 1) {
                colorClass = "oddColor";
            }
            else {
                colorClass = "evenColor";
            }
            $(this).addClass(colorClass);
            var e = $(this).next("tr");
            if (!$(e).hasClass("tr_level_1_table") && $(e).html() != null) {
                $(e).addClass(colorClass);
                $(e).find("table").css(
                {
                    "background": "#e9e9e9"
                });
            }
            i++;
        });

        $(".tr_level_2_table").each(
        function () {
            $(this).prev("tr").css(
            {
                "border-bottom": "none"
            });
        });

        $(".tr_level_3_table").each(
        function () {
            $(this).prev("tr").css(
            {
                "border-bottom": "none"
            });
        });

        $(".level_1_btn").click(
        function () {
            var e = $(this).parents("tr").next("tr");
            if ($(e).hasClass("tr_level_2_table")) {
                $(e).toggle('slow');
            }
        });

        $(".level_2_btn").click(
        function () {
            var e = $(this).parents("tr").next("tr");
            if ($(e).hasClass("tr_level_3_table")) {
                $(e).toggle('slow');
            }
        });
    });
}

function setTablePage(table, trNumPerPage, tableType) {
    var trNum = tableType == "levelTable" ? 0 : -1;
    var strTr = tableType == "levelTable" ? "tr.level_1" : "tr";
    $(table).find(strTr).each(
    function () {
        trNum++;
    });
    if (trNum < 1)
        return;
    var pageNum = Math.ceil(trNum / trNumPerPage);
    if (pageNum == 1)
        return;
    $(table).after("<div class='pager'></div>");
    $(table+" + .pager").append("<a class='WQTable_Prev'>&lt; Prev</a>");
    for (var i = 1; i <= pageNum; i++) {
        $(table+" + .pager").append("<a class='WQTable_page WQTable_page_" + i + "'>" + i + "</a>");
    }
    $(table + " + .pager").append("<a class='WQTable_Next'>Next &gt;</a>");
    $(table + " + .pager").children(".WQTable_page_1").addClass("WQTable_currentPage");
    var currentPage = 1;
    displayPage(currentPage);

    $(table + " + .pager").children(".WQTable_page").click(
    function () {
        currentPage = $(this).html();
        displayPage(currentPage);
    });

    $(table + " + .pager").children(".WQTable_Prev").click(
    function () {
        currentPage--;
        displayPage(currentPage);
    });

    $(table + " + .pager").children(".WQTable_Next").click(
    function () {
        currentPage++;
        displayPage(currentPage);
    });

    function displayPage(page) {
        var i = tableType == "levelTable" ? 0 : -1;
        var min = (page - 1) * trNumPerPage + 1;
        var max = page * trNumPerPage;
        $(table).find(strTr).each(
        function () {
            i++;
            var display = (i >= min && i <= max || i == 0) ? "inline" : "none";
            if (tableType == "levelTable") {
                var currentTr = $(this);
                while (!$(currentTr).hasClass("level_1_bottom") && $(currentTr).html() != null) {
                    (display == "inline") ? $(currentTr).removeClass("hide") : $(currentTr).addClass("hide");
                    currentTr = $(currentTr).next("tr");
                }
                (display == "inline") ? $(currentTr).removeClass("hide") : $(currentTr).addClass("hide");
            }
            else {
                (display == "inline") ? $(this).removeClass("hide") : $(this).addClass("hide");
            }
        });
        $(table + " + .pager").children("a").removeClass("WQTable_currentPage");
        $(table + " + .pager").children(".WQTable_Prev").removeClass("hide");
        $(table + " + .pager").children(".WQTable_Next").removeClass("hide");
        $(table + " + .pager").children(".WQTable_page_" + page).addClass("WQTable_currentPage");
        if (page == 1) {
            $(table + " + .pager").children(".WQTable_Prev").addClass("hide");
        }
        if (page == pageNum) {
            $(table + " + .pager").children(".WQTable_Next").addClass("hide");
        }
    }
}
