﻿
(function($) {

    $.fn.showStatesFooter = function(tableClassString) {
        return this.each(function() {
            var id = this.id;
            var div = $("<div class='statePager'></div>");
            div.append($("<a href='javascript:;'>Alabama - Florida</a>").click(function() { $("#" + id).showStatesPage(0); }));
            div.append($("<a href='javascript:;'>Georgia - Louisiana</a>").click(function() { $("#" + id).showStatesPage(1); }));
            div.append($("<a href='javascript:;'>Maine - Montana</a>").click(function() { $("#" + id).showStatesPage(2); }));
            div.append($("<a href='javascript:;'>Nebraska - North Dakota</a>").click(function() { $("#" + id).showStatesPage(3); }));
            div.append($("<a href='javascript:;'>Ohio - South Dakota</a>").click(function() { $("#" + id).showStatesPage(4); }));
            div.append($("<a href='javascript:;'>Tennessee - Wyoming</a>").click(function() { $("#" + id).showStatesPage(5); }));
            div.append($("<a href='javascript:;'>Show All</a>").click(function() { $("#" + id).showStatesPage(6); }));
            $(this).after(div)

            $(this).find("th").each(function() {
                $(this).css("width", $(this).width());
            });

            var anchor = jQuery.url.attr("anchor");
            if (anchor == null || anchor.length <= 0)
                $(this).showStatesPage(0);
            else
                $(this).showStatesPage("All");
        });
    };

    $.fn.showStatesPage = function(index) {
        return this.each(function() {

            if (index == "All")
                index = 6;

            var elements = $(this);
            elements.find("tr[data-stateabbreviation]:visible").hide();
            //"slow", function() {
            //var elements = $(this).closest("table");
            switch (index) {
                case 0:
                    elements.find("tr[data-stateabbreviation='AL'],tr[data-stateabbreviation='AK'],tr[data-stateabbreviation='AZ'],tr[data-stateabbreviation='AR'],tr[data-stateabbreviation='CA'],tr[data-stateabbreviation='CO'],tr[data-stateabbreviation='CT'],tr[data-stateabbreviation='DE'],tr[data-stateabbreviation='DC'], tr[data-stateabbreviation='FL']").show();
                    break;
                case 1:
                    elements.find("tr[data-stateabbreviation='GA'],tr[data-stateabbreviation='HI'],tr[data-stateabbreviation='ID'],tr[data-stateabbreviation='IL'],tr[data-stateabbreviation='IN'],tr[data-stateabbreviation='IA'],tr[data-stateabbreviation='KS'],tr[data-stateabbreviation='KY'],tr[data-stateabbreviation='LA']").show();
                    break;
                case 2:
                    elements.find("tr[data-stateabbreviation='ME'],tr[data-stateabbreviation='MD'],tr[data-stateabbreviation='MA'],tr[data-stateabbreviation='MI'],tr[data-stateabbreviation='MN'],tr[data-stateabbreviation='MS'],tr[data-stateabbreviation='MO'],tr[data-stateabbreviation='MT']").show();
                    break;
                case 3:
                    elements.find("tr[data-stateabbreviation='NE'],tr[data-stateabbreviation='NV'],tr[data-stateabbreviation='NH'],tr[data-stateabbreviation='NJ'],tr[data-stateabbreviation='NM'],tr[data-stateabbreviation='NY'],tr[data-stateabbreviation='NC'],tr[data-stateabbreviation='ND']").show();
                    break;
                case 4:
                    elements.find("tr[data-stateabbreviation='OH'],tr[data-stateabbreviation='OK'],tr[data-stateabbreviation='OR'],tr[data-stateabbreviation='PA'],tr[data-stateabbreviation='RI'],tr[data-stateabbreviation='SC'],tr[data-stateabbreviation='SD']").show();
                    break;
                case 5:
                    elements.find("tr[data-stateabbreviation='TN'],tr[data-stateabbreviation='TX'],tr[data-stateabbreviation='UT'],tr[data-stateabbreviation='VT'],tr[data-stateabbreviation='VA'],tr[data-stateabbreviation='WA'],tr[data-stateabbreviation='WV'],tr[data-stateabbreviation='WI'],tr[data-stateabbreviation='WY']").show();
                    break;
                case 6:
                    elements.find("tr[data-stateabbreviation]").show();
                    break;
            }
        })
    };
    //});
    //});
})(jQuery);