// JavaScript Document

    var alphaListView = false;
    var mapView = true;
    var selectedState = "";
    var displayNumber = "DietPhysicalMentalSocial";
    var alphaData = {
        info: []
    };
    var initLoad = false;
    var statesJson = {};
    var allToggle = true;
    var dietToggle = false;
    var physicalToggle = false;
    var mentalToggle = false;
    var socialToggle = false;

    $(document).ready(function () {

        $.fn.preload = function () {
            this.each(function () {
                $('<img/>')[0].src = this;
            });
        }

        $(['/images/brainindex/arrow_red.png', '/images/brainindex/arrow_green.png', '/images/brainindex/bg_rank_container.png', '/images/brainindex/bullet_green.png', '/images/brainindex/bullet_red.png', '/images/brainindex/bg_roizen_flag.png', '/images/brainindex/key_grph_rght.png', '/images/brainindex/key_grph_lft.png', '/images/brainIndex/icon_physical.png', '/images/brainIndex/icon_mental.png', '/images/brainIndex/icon_social.png', '/images/brainIndex/icon_diet.png', '/images/brainIndex/icon_physical_dark.png', '/images/brainIndex/icon_mental_dark.png', '/images/brainIndex/icon_social_dark.png', '/images/brainIndex/icon_diet_dark.png']).preload();

        $('.btn_list_view').click(listViewClick);

        $('.btn_map_view').click(function () {
            return false;
        });

        $('.btn_rank_sort').live('click', function () {
            return false;
        });

        $('.btn_alpha_sort').live('click', alphaSortClick);

        $('.detail_tab').live('click', detailTabClick);

        $('.close_tab').live('click', closeTabClick);

        OrderList(displayNumber);

        //Top Navigation click functionality
        $("ul#topNav li").click(topNavClick);

        $(".state_list_view tr").live('click', function (event) {
            $('.state_list_view tr#' + selectedState + ' td').removeClass('white');
            $("#swfObject").get(0).javascriptUpdateState($(this).attr("id"));
            $(this).find('td').addClass('white');
            updateStateDisplay($(this).attr("id"))
        });

    });

    var sort_by = function (field, reverse, primer) {

        reverse = (reverse) ? -1 : 1;

        return function (a, b) {

            a = a[field];
            b = b[field];

            if (typeof (primer) != 'undefined') {
                a = primer(a);
                b = primer(b);
            }

            if (a < b) return reverse * -1;
            if (a > b) return reverse * 1;
            return 0;

        }
    }


    function unBindTopNavItems() {
        $('.btn_list_view').unbind("click");
        $("ul#topNav li").unbind("click");
        $('.btn_map_view').unbind("click");

        $('.btn_list_view').click(function () {
            return false;
        });
        $('ul#topNav li').click(function () {
            return false;
        });
        $('.btn_map_view').click(function () {
            return false;
        });
    }

    function reBindTopNavItems() {
        $('.btn_list_view').unbind("click");
        $("ul#topNav li").unbind("click");
        $('.btn_map_view').unbind("click");

        if (mapView) {
            $('.btn_list_view').click(listViewClick);
            $('.btn_map_view').click(function () {
                return false;
            });
        } else {
            $('.btn_map_view').click(mapViewClick);
            $('.btn_list_view').click(function () {
                return false;
            });
        }

        $("ul#topNav li").click(topNavClick);
    }

    var listViewClick = function () {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:List']);
        $('.btn_list_view').unbind("click");
        $('.btn_map_view').unbind("click");
        $('.btn_list_view').click(function () {
            return false;
        });
        $('.btn_map_view').click(mapViewClick);
        $('.map').css("visibility", "hidden");
        $('.state_list_view').fadeIn(200);
        $('.btn_map_view').removeClass('active');
        $(this).addClass('active');
        mapView = false;

        updateStateListView(statesJson);

        return false;
    }

    var mapViewClick = function () {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:Map']);
        $('.btn_map_view').unbind("click");
        $('.btn_list_view').unbind("click");
        $('.btn_map_view').click(function () {
            return false;
        });
        $('.btn_list_view').click(listViewClick);
        $('.state_list_view').css("display", "none");
        $('.map').css("visibility", "visible");
        $('.btn_list_view').removeClass('active');
        $(this).addClass('active');
        alphaListView = false;
        mapView = true;
        OrderList(displayNumber);

        return false;
    }

    var rankSortClick = function () {
        $('.btn_rank_sort').die('click');
        $('.btn_alpha_sort').die('click');
        $('.btn_rank_sort').live('click', function () {
            return false;
        });
        $('.btn_alpha_sort').live('click', alphaSortClick);
        $('.btn_alpha_sort').removeClass('active');
        $(this).addClass('active');
        alphaListView = false;
        OrderList(displayNumber);
        return false;
    }

    var alphaSortClick = function () {
        $('.btn_alpha_sort').die('click');
        $('.btn_rank_sort').die('click');
        $('.btn_alpha_sort').live('click', function () {
            return false;
        });
        $('.btn_rank_sort').live('click', rankSortClick);
        $('.btn_rank_sort').removeClass('active');
        $(this).addClass('active');
        alphaListView = true;
        OrderList(displayNumber);
        return false;
    }

    var detailTabClick = function () {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:View_Details:' + selectedState]);
        unBindTopNavItems();
        $('.state_list_view').css("display", "none");
        $('.map').css("visibility", "hidden");

        $('.state_detail_table').css("display", "block");

        $('.detail_tab').css("display", "none");
        $('.key').css("display", "none");
        $(this).css("display", "none");

        return false;
    }

    var closeTabClick = function () {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:Close_Details:' + selectedState]);
        reBindTopNavItems();
        if (mapView) {
            $('.state_list_view').css("display", "none");
            $('.map').css("visibility", "visible");
        } else {
            $('.state_list_view').css("display", "block");
            //$('.state_list_view').fadeIn(250);
        }

        $('.state_detail_table').css("display", "none");

        $('.detail_tab').css("display", "block");
        $('.key').css("display", "block");

        return false;
    }

    var topNavClick = function () {
        var navID = $(this).attr("id");
        switch (navID) {
            case "topNavAll":
                allToggle = true;
                dietToggle = false;
                physicalToggle = false;
                mentalToggle = false;
                socialToggle = false;
                topNavTracking("All");
                $('ul#topNav #topNavAll').addClass('active');
                $('.icon.diet').removeClass("dark");
                $('.icon.physical').removeClass("dark");
                $('.icon.mental').removeClass("dark");
                $('.icon.social').removeClass("dark");
                break;
            case "topNavDiet":
                allToggle = false;
                topNavTracking("Diet");
                $('ul#topNav #topNavAll').removeClass('active');
                dietToggle = !dietToggle;
                checkTopNavToggles();
                break;
            case "topNavPhysical":
                allToggle = false;
                topNavTracking("Physical_Health");
                $('ul#topNav #topNavAll').removeClass('active');
                physicalToggle = !physicalToggle;
                checkTopNavToggles();
                break;
            case "topNavMental":
                allToggle = false;
                topNavTracking("Mental_Health");
                $('ul#topNav #topNavAll').removeClass('active');
                mentalToggle = !mentalToggle;
                checkTopNavToggles();
                break;
            case "topNavSocial":
                allToggle = false;
                topNavTracking("Social_Well_Being");
                $('ul#topNav #topNavAll').removeClass('active');
                socialToggle = !socialToggle;
                checkTopNavToggles();
                break;
        }
        buildSortString();
    }

    function topNavTracking(topString) {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:' + topString]);
    }

    function checkTopNavToggles() {
        if ((!dietToggle && !physicalToggle && !mentalToggle && !socialToggle) || (dietToggle && physicalToggle && mentalToggle && socialToggle)) {
            $('ul#topNav #topNavAll').addClass('active');
            $('.icon.diet').removeClass("dark");
            $('.icon.physical').removeClass("dark");
            $('.icon.mental').removeClass("dark");
            $('.icon.social').removeClass("dark");
        } else {
            dietToggle ? $('.icon.diet').removeClass("dark") : $('.icon.diet').addClass("dark");
            physicalToggle ? $('.icon.physical').removeClass("dark") : $('.icon.physical').addClass("dark");
            mentalToggle ? $('.icon.mental').removeClass("dark") : $('.icon.mental').addClass("dark");
            socialToggle ? $('.icon.social').removeClass("dark") : $('.icon.social').addClass("dark");
        }
    }

    function buildSortString() {
        var boolCount = 0;
        var sortString = "";
        if (dietToggle) {
            sortString += "Diet";
            boolCount++;
        }
        if (physicalToggle) {
            sortString += "Physical";
            boolCount++;
        }
        if (mentalToggle) {
            sortString += "Mental";
            boolCount++;
        }
        if (socialToggle) {
            sortString += "Social";
            boolCount++;
        }

        if (allToggle) sortString = "DietPhysicalMentalSocial";

        if (sortString == "") sortString = "DietPhysicalMentalSocial";

        if (boolCount == 1) sortString += "Score2011";

        ListChange(sortString);
    }

    function ListChange(selectValue){
        //$('#stateContainer').empty();
        displayNumber = selectValue;
        OrderList(selectValue);
    }

    function OrderList(fieldName) {
        if (initLoad) {
            if (alphaListView) {
                statesJson.sort(sort_by(fieldName, false, parseInt));
                assignListClassValues(statesJson);
                OrderListAlpha();
            } else {
                if (displayNumber == "DietPhysicalMentalSocial") {
                    statesJson.sort(sort_by('StateName', true, function (a) { return a.toUpperCase() }));
                    statesJson.sort(sort_by('StateRank2011', true, parseInt));
                } else {
                    statesJson.sort(sort_by(fieldName, false, parseInt));
                }
                assignListClassValues(statesJson);
                displayStates(statesJson);
                updateStateListView(statesJson);
            }
        } else {
            initLoad = true;

            var url = '/ws/Service.asmx/SortByField';
            var type = 'POST';

            var params = { field: fieldName}

            ajax(true, url, type, params, function (result) {

            var json = $.parseJSON(result);
                if (alphaListView) {
                    assignListClassValues(json);
                    OrderListAlpha();
                } else {
                    if (displayNumber == "DietPhysicalMentalSocial") {
                        json.sort(sort_by('StateName', true, function (a) { return a.toUpperCase() }));
                        json.sort(sort_by('StateRank2011', true, parseInt));
                    }
                    statesJson = json;
                    assignListClassValues(json);
                    displayStates(json);
                    updateStateListView(json);
                }

             });
        }
    }

    function OrderListAlpha() {
//        var url = '/ws/Service.asmx/SortByField';
//        var type = 'POST';

//        var params = { field: "StateName"}

//        ajax(true, url, type, params, function (result) {

//            var json = $.parseJSON(result);
        statesJson.sort(sort_by('StateName', false, function (a) { return a.toUpperCase() }));
        updateStateListViewAlpha(statesJson);
        //});
    }

    function updateStateDisplay(stateAbbrev) {
        _gaq.push(['_trackEvent', 'Americas_Brain_Health_Index', 'Click', 'Americas_Brain_Health_Index:'+stateAbbrev]);
        selectedState = stateAbbrev;
        for (var i = 0; i < statesJson.length; i++) {
            if (statesJson[i].StateAbbrev == stateAbbrev) detailBuilder(i);
        }
    }

    function detailBuilder(id) {
        if(statesJson[id].StateRank2011 > statesJson[id].StateRank2009) {
           var rankArrow = 'down';
        } else if(statesJson[id].StateRank2011 < statesJson[id].StateRank2009){
           var rankArrow = 'up';
        } else {
           var rankArrow = 'equal';
        }
        var htmlString = "";
        htmlString += "<div class='header'><h1>" + statesJson[id].StateName + "</h1><div class='detail_tab'><span>View Details</span></div></div>";
        htmlString += "<div class='content'>";
        htmlString += "<div class='col_1'><div class='rank_container'><h2 class='rank'>" + statesJson[id].StateRank2011 + "</h2></div>" +
		"<div class='prev_rank " + rankArrow + "'><p>2009 Rank: <span>" + statesJson[id].StateRank2009 + "</span></p></div>" +
		"<div class='title'><a href='/PressRoom/BioRoizen.aspx'><h3>Dr. Roizen <span>says</span></h3></a></div><!-- roizen says -->"+
		"<div class='roizen'><div class='content'>"+
		"<p>"+statesJson[id].RoizenText+"</p>"+
		"</div></div></div>";
        htmlString += "<div class='col_2'><hr/><p class='intro'>"+statesJson[id].SummaryTitle+"</p>"+
		"<hr/><!-- DETAIL STATISTICS --><div class='stats'><ul><li><h3>Diet</h3><p>"+statesJson[id].DietScore2011+"</p></li>"+
        "<li><h3>Physical</h3><p>"+statesJson[id].PhysicalScore2011+"</p></li>"+
        "<li><h3>Mental</h3><p>"+statesJson[id].MentalScore2011+"</p></li>"+
		"<li><h3>Social</h3><p>" + statesJson[id].SocialScore2011 + "</p></li></ul></div><!-- LINE GRAPH IMAGE -->" +
        "<div class='line_graph'><div class='lft'>&nbsp;</div><div class='graph'>"+
        "<img src='/images/brainindex/stateGraphs/" + statesJson[id].StateAbbrev.toLowerCase() + ".png' width='500' height='66' alt=''></div><div class='rght' style=''>&nbsp;</div><div class='clear'>&nbsp;</div></div>" +
		"<hr/><!-- STRENGTH & CHALLENGES --><div class='col_wrap'><div class='strength_col'>"+
		"<h3><img src='/images/brainindex/arrow_green.png' width='12' height='10' alt='Arrow Green'>Strengths</h3><ul class='strength_list'>" +
		"<li><p>" + statesJson[id].SummaryStrength1 + "</p></li>";
        if(statesJson[id].SummaryStrength2 != null){
            htmlString += "<li><p>"+statesJson[id].SummaryStrength2+"</p></li>";
        }
        if(statesJson[id].SummaryStrength3 != null){
            htmlString += "<li><p>" + statesJson[id].SummaryStrength3 + "</p></li>";
        }
        htmlString += "</ul></div><div class='challenge_col'><h3><img src='/images/brainindex/arrow_red.png' width='12' height='10' alt='Arrow Red'>Challenges</h3><ul class='challenge_list'>" +
		"<li><p>" + statesJson[id].SummaryChallenge1 + "</p></li>";
        if (statesJson[id].SummaryChallenge2 != null) {
            htmlString += "<li><p>" + statesJson[id].SummaryChallenge2 + "</p></li>";
        }
        if (statesJson[id].SummaryChallenge3 != null) {
            htmlString += "<li><p>" + statesJson[id].SummaryChallenge3 + "</p></li>";
        }
        htmlString += "</ul></div></div></div><div class='clear'>&nbsp;</div>";
        htmlString += "</div>";
        $('div.detail_view').html(htmlString);

        createDetailTable(id);
    }

    function createDetailTable(id) {
        htmlString = "";
        htmlString += '<div class="close_tab"><a href="#">Close</a></div>' +
        '<!-- HEADER TABLE --><table class="hdr_table"><tr><td class="title">Metric</td><td class="padit">'+
		'<table><tr><td colspan="2" class="year"><span>2011</span></td></tr><tr><td>Index</td><td>Rank</td>'+
		'</tr></table></td><td><table><tr><td colspan="2" class="year"><span>2009</span></td></tr><tr>'+
		'<td>Index</td><td>Rank</td></tr></table></td></tr></table><!-- // END HEADER TABLE -->' +
		'<!-- HEADER TABLE --><table class="hdr_table"><tr><td class="title">Metric</td><td><table>' +
		'<tr><td colspan="2" class="year"><span>2011</span></td></tr><tr><td>Index</td><td>Rank</td>' +
		'</tr></table></td><td><table><tr><td colspan="2" class="year"><span>2009</span></td></tr>'+
		'<tr><td>Index</td><td>Rank</td></tr></table></td></tr></table><!-- // END HEADER TABLE -->'+
		'<div class="col1"><!-- DIET TABLE --><table cellpadding="0" cellspacing="0"><tr>' +
		'<td class="hdr lbl">Diet</td><td class="hdr">'+statesJson[id].DietScore2011+'</td>' +
		'<td class="hdr">'+statesJson[id].DietScore2011Rank+'</td><td class="hdr">'+statesJson[id].DietScore2009+'</td>'+
		'<td class="hdr">'+statesJson[id].DietScore2009Rank+'</td></tr><tr>'+
		'<td class="metric">DHA-Fortified Food, Supplement Sales</td><td>'+statesJson[id].DietSupplement2011+'</td>' +
		'<td>'+statesJson[id].DietSupplement2011Rank+'</td><td>'+statesJson[id].DietSupplement2009+'</td><td>'+statesJson[id].DietSupplement2009Rank+'</td></tr><tr>' +
        '<td class="metric">Breast-feeding</td><td>'+statesJson[id].DietBreastfeeding2011+'</td>' +
		'<td>'+statesJson[id].DietBreastfeeding2011Rank+'</td><td>'+statesJson[id].DietBreastfeeding2009+'</td><td>'+statesJson[id].DietBreastfeeding2009Rank+'</td></tr><tr>' +
		'<td class="metric">Fish Sales</td><td>' + statesJson[id].DietFish2011 + '</td><td>' + statesJson[id].DietFish2011Rank + '</td>' +
		'<td>' + statesJson[id].DietFish2009 + '</td><td>' + statesJson[id].DietFish2009Rank + '</td></tr><tr>' +
		'<td class="metric">Fruit/Vegetable Consumption</td><td>'+statesJson[id].DietVeggies2011+'</td>' +
        '<td>' + statesJson[id].DietVeggies2011Rank + '</td><td>' + statesJson[id].DietVeggies2009 + '</td><td>' + statesJson[id].DietVeggies2009Rank + '</td></tr></table><!-- // END DIET TABLE-->' +
		'<!-- PHYSICAL HEALTH TABLE --><table cellpadding="0" cellspacing="0"><tr><td class="hdr lbl">Physical Health</td> '+
		'<td class="hdr">'+statesJson[id].PhysicalScore2011+'</td><td class="hdr">'+statesJson[id].PhysicalScore2011Rank+'</td>'+
		'<td class="hdr">'+statesJson[id].PhysicalScore2009+'</td><td class="hdr">'+statesJson[id].PhysicalScore2009Rank+'</td></tr><tr>'+
		'<td class="metric">Physical Activity</td><td>'+statesJson[id].PhysicalActivity2011+'</td>'+
		'<td>'+statesJson[id].PhysicalActivity2011Rank+'</td><td>'+statesJson[id].PhysicalActivity2009+'</td><td>'+statesJson[id].PhysicalActivity2009Rank+'</td></tr><tr>'+
		'<td class="metric">Sleeping</td><td>'+statesJson[id].PhysicalSleep2011+'</td><td>'+statesJson[id].PhysicalSleep2011Rank+'</td>'+
		'<td>'+statesJson[id].PhysicalSleep2009+'</td><td>'+statesJson[id].PhysicalSleep2009Rank+'</td></tr><tr>'+
		'<td class="metric">Overweight/Obese</td><td>'+statesJson[id].PhysicalObese2011+'</td>'+
		'<td>'+statesJson[id].PhysicalObese2011Rank+'</td><td>'+statesJson[id].PhysicalObese2009+'</td><td>'+statesJson[id].PhysicalObese2009Rank+'</td></tr><tr>'+
		'<td class="metric">Cardiovascular Disease Deaths</td><td>'+statesJson[id].PhysicalCardio2011+'</td>'+
		'<td>'+statesJson[id].PhysicalCardio2011Rank+'</td><td>'+statesJson[id].PhysicalCardio2009+'</td><td>'+statesJson[id].PhysicalCardio2009Rank+'</td></tr><tr>'+
		'<td class="metric">Non-smokers</td><td>'+statesJson[id].PhysicalSmoke2011+'</td><td>'+statesJson[id].PhysicalSmoke2011Rank+'</td>' +
		'<td>'+statesJson[id].PhysicalSmoke2009+'</td><td>'+statesJson[id].PhysicalSmoke2009Rank+'</td></tr><tr>'+
		'<td class="metric">Health Insurance</td><td>'+statesJson[id].PhysicalInsurance2011+'</td>'+
		'<td>'+statesJson[id].PhysicalInsurance2011Rank+'</td><td>'+statesJson[id].PhysicalInsurance2009+'</td><td>'+statesJson[id].PhysicalInsurance2009Rank+'</td></tr><tr>'+
		'<td class="metric">Diabetes/Gestational Diabetes</td><td>'+statesJson[id].PhysicalDiabetes2011+'</td>'+
		'<td>'+statesJson[id].PhysicalDiabetes2011Rank+'</td><td>'+statesJson[id].PhysicalDiabetes2009+'</td>'+
		'<td>'+statesJson[id].PhysicalDiabetes2009Rank+'</td></tr></table><!-- // END PHYSICAL HEALTH TABLE --></div>'+
        '<div class="col2"><!-- MENTAL HEALTH TABLE --><table cellpadding="0" cellspacing="0"><tr>' +
        '<td class="hdr lbl">Mental Health</td><td class="hdr">' + statesJson[id].MentalScore2011 + '</td>' +
		'<td class="hdr">' + statesJson[id].MentalScore2011Rank + '</td><td class="hdr">' + statesJson[id].MentalScore2009 + '</td><td class="hdr">' + statesJson[id].MentalScore2009Rank + '</td></tr><tr>' +
		'<td class="metric">Alzheimer\'s Deaths</td><td>' + statesJson[id].MentalAlzDeaths2011 + '</td>' +
		'<td>' + statesJson[id].MentalAlzDeaths2011Rank + '</td><td>' + statesJson[id].MentalAlzDeaths2009 + '</td><td>' + statesJson[id].MentalAlzDeaths2009Rank + '</td></tr><tr>' +
		'<td class="metric">Alzheimer\'s Prevalence</td><td>' + statesJson[id].MentalAlzPrevelance2011 + '</td>' +
		'<td>' + statesJson[id].MentalAlzPrevelance2011Rank + '</td><td>' + statesJson[id].MentalAlzPrevelance2009 + '</td><td>' + statesJson[id].MentalAlzPrevelance2009Rank + '</td></tr><tr>' +
		'<td class="metric">Education</td><td>' + statesJson[id].MentalEducation2011 + '</td><td>' + statesJson[id].MentalEducation2011Rank + '</td>' +
		'<td>' + statesJson[id].MentalEducation2009 + '</td><td>' + statesJson[id].MentalEducation2009Rank + '</td></tr><tr>' +
		'<td class="metric">Playing Games</td><td>' + statesJson[id].MentalGames2011 + '</td><td>' + statesJson[id].MentalGames2011Rank + '</td>' +
		'<td>' + statesJson[id].MentalGames2009 + '</td><td>' + statesJson[id].MentalGames2009Rank + '</td></tr><tr>' +
		'<td class="metric">Reading for Personal Interest</td><td>' + statesJson[id].MentalReading2011 + '</td><td>' + statesJson[id].MentalReading2011Rank + '</td>' +
		'<td>' + statesJson[id].MentalReading2009 + '</td><td>' + statesJson[id].MentalReading2009Rank + '</td></tr><tr>' +
		'<td class="metric">Poor Mental Health Days</td><td>' + statesJson[id].MentalPoorDays2011 + '</td><td>' + statesJson[id].MentalPoorDays2011Rank + '</td>' +
		'<td>' + statesJson[id].MentalPoorDays2009 + '</td><td>' + statesJson[id].MentalPoorDays2009Rank + '</td></tr><tr>' +
		'<td class="metric">Serious Psychological Distress</td><td>' + statesJson[id].MentalPsychological2011 + '</td>' +
		'<td>' + statesJson[id].MentalPsychological2011Rank + '</td><td>' + statesJson[id].MentalPsychological2009 + '</td>' +
		'<td>' + statesJson[id].MentalPsychological2009Rank + '</td></tr></table><!-- // END MENTAL HEALTH TABLE -->' +
		'<!-- SOCIAL-WELL-BEING TABLE --><table cellpadding="0" cellspacing="0"><tr>' +
        '<td class="hdr lbl">Social Well-being</td><td class="hdr">' + statesJson[id].SocialScore2011 + '</td>' +
		'<td class="hdr">' + statesJson[id].SocialScore2011Rank + '</td><td class="hdr">' + statesJson[id].SocialScore2009 + '</td><td class="hdr">' + statesJson[id].SocialScore2009Rank + '</td></tr><tr>' +
		'<td class="metric">Community Participation</td><td>' + statesJson[id].SocialCivic2011 + '</td>' +
		'<td>' + statesJson[id].SocialCivic2011Rank + '</td><td>' + statesJson[id].SocialCivic2009 + '</td><td>' + statesJson[id].SocialCivic2009Rank + '</td></tr><tr>' +
		'<td class="metric">Religious/Spiritual Activities</td><td>' + statesJson[id].SocialReligious2011 + '</td>' +
		'<td>' + statesJson[id].SocialReligious2011Rank + '</td><td>' + statesJson[id].SocialReligious2009 + '</td>' +
		'<td>' + statesJson[id].SocialReligious2009Rank + '</td></tr><tr>' +
		'<td class="metric">Social and Emotional Support</td><td>' + statesJson[id].SocialSupport2011 + '</td>' +
		'<td>' + statesJson[id].SocialSupport2011Rank + '</td><td>' + statesJson[id].SocialSupport2009 + '</td>' +
		'<td>' + statesJson[id].SocialSupport2009Rank + '</td></tr></table><!-- // END SOCIAL-WELL-BEING TABLE --></div>';

        $('div.state_detail_table').html(htmlString);

    }

    function updateStateListView(jsonObject) {
        var htmlString = "";
        htmlString += "<div class='sort_toggle'><span>Sort</span><ul><li class='btn_rank_sort active'><a href='#'>#</a></li>" +
		"<li class='btn_alpha_sort'><a href='#'>A-Z</a></li></ul></div><div class='col_1'><table id=''>";

        for (var i = 50; i > 37; i--) {
            if (jsonObject[i].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[i].StateAbbrev + "'><td class='" + getClassName(jsonObject[i].StateAbbrev) + " white'>" + (51 - i) + ". " + jsonObject[i].StateName + "</td></tr>";
            }  else {
                htmlString += "<tr id='" + jsonObject[i].StateAbbrev + "'><td class='" + getClassName(jsonObject[i].StateAbbrev) + "'>" + (51 - i) + ". " + jsonObject[i].StateName + "</td></tr>";
            }
        }
        htmlString += "</table></div><div class='col_2'><table id=''>";

        for (var j = 37; j > 24; j--) {
            if (jsonObject[j].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[j].StateAbbrev + "'><td class='" + getClassName(jsonObject[j].StateAbbrev) + " white'>" + (51 - j) + ". " + jsonObject[j].StateName + "</td></tr>";
            } else {
                htmlString += "<tr id='" + jsonObject[j].StateAbbrev + "'><td class='" + getClassName(jsonObject[j].StateAbbrev) + "'>" + (51 - j) + ". " + jsonObject[j].StateName + "</td></tr>";
            }
		}
		htmlString += "</table></div><div class='col_3'><table id=''>";

		for (var k = 24; k > 11; k--) {
		    if (jsonObject[k].StateAbbrev == selectedState) {
		        htmlString += "<tr id='" + jsonObject[k].StateAbbrev + "'><td class='" + getClassName(jsonObject[k].StateAbbrev) + " white'>" + (51 - k) + ". " + jsonObject[k].StateName + "</td></tr>";
		    } else {
		        htmlString += "<tr id='" + jsonObject[k].StateAbbrev + "'><td class='" + getClassName(jsonObject[k].StateAbbrev) + "'>" + (51 - k) + ". " + jsonObject[k].StateName + "</td></tr>";
		    }
		}
		htmlString += "</table></div><div class='col_4'><table id=''>";

		for (var m = 11; m >= 0; m--) {
		    if (jsonObject[m].StateAbbrev == selectedState) {
		        htmlString += "<tr id='" + jsonObject[m].StateAbbrev + "'><td class='" + getClassName(jsonObject[m].StateAbbrev) + " white'>" + (51 - m) + ". " + jsonObject[m].StateName + "</td></tr>";
		    } else {
		        htmlString += "<tr id='" + jsonObject[m].StateAbbrev + "'><td class='" + getClassName(jsonObject[m].StateAbbrev) + "'>" + (51 - m) + ". " + jsonObject[m].StateName + "</td></tr>";
		    }
		}
		htmlString += "</table></div>";

		$('div.state_list_view').html(htmlString);

    }

    function updateStateListViewAlpha(jsonObject) {
        var htmlString = "";
        htmlString += "<div class='sort_toggle'><span>Sort</span><ul><li class='btn_rank_sort'><a href='#'>#</a></li>" +
		"<li class='btn_alpha_sort active'><a href='#'>A-Z</a></li></ul></div><div class='col_1'><table id=''>";

        for (var i = 0; i < 13; i++) {
            if (jsonObject[i].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[i].StateAbbrev + "'><td class='" + getClassName(jsonObject[i].StateAbbrev) + " white'>" + (i + 1) + ". " + jsonObject[i].StateName + "</td></tr>";
            } else {
                htmlString += "<tr id='" + jsonObject[i].StateAbbrev + "'><td class='" + getClassName(jsonObject[i].StateAbbrev) + "'>" + (i + 1) + ". " + jsonObject[i].StateName + "</td></tr>";
            }
        }
        htmlString += "</table></div><div class='col_2'><table id=''>";

        for (var j = 13; j < 26; j++) {
            if (jsonObject[j].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[j].StateAbbrev + "'><td class='" + getClassName(jsonObject[j].StateAbbrev) + " white'>" + (j + 1) + ". " + jsonObject[j].StateName + "</td></tr>";
            } else {
                htmlString += "<tr id='" + jsonObject[j].StateAbbrev + "'><td class='" + getClassName(jsonObject[j].StateAbbrev) + "'>" + (j + 1) + ". " + jsonObject[j].StateName + "</td></tr>";
            }
        }
        htmlString += "</table></div><div class='col_3'><table id=''>";

        for (var k = 26; k < 39; k++) {
            if (jsonObject[k].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[k].StateAbbrev + "'><td class='" + getClassName(jsonObject[k].StateAbbrev) + " white'>" + (k + 1) + ". " + jsonObject[k].StateName + "</td></tr>";
            } else {
                htmlString += "<tr id='" + jsonObject[k].StateAbbrev + "'><td class='" + getClassName(jsonObject[k].StateAbbrev) + "'>" + (k + 1) + ". " + jsonObject[k].StateName + "</td></tr>";
            }
        }
        htmlString += "</table></div><div class='col_4'><table id=''>";

        for (var m = 39; m < 51; m++) {
            if (jsonObject[m].StateAbbrev == selectedState) {
                htmlString += "<tr id='" + jsonObject[m].StateAbbrev + "'><td class='" + getClassName(jsonObject[m].StateAbbrev) + " white'>" + (m + 1) + ". " + jsonObject[m].StateName + "</td></tr>";
            } else {
                htmlString += "<tr id='" + jsonObject[m].StateAbbrev + "'><td class='" + getClassName(jsonObject[m].StateAbbrev) + "'>" + (m + 1) + ". " + jsonObject[m].StateName + "</td></tr>";
            }
		}
        htmlString += "</table></div>";

        $('div.state_list_view').html(htmlString);

    }

    function displayStates(jsonObject){
        var jsonString = JSON.stringify(jsonObject,null,2);
        $("#swfObject").get(0).search(jsonString);
    }

    function getClassName(stateAbb) {
        for (var i = 0; i < alphaData.info.length; i++) {
            if (alphaData.info[i].stateName == stateAbb) return alphaData.info[i].className
        }
    }

    function assignListClassValues(jsonObject){
        alphaData.info = [];
        for(var i=0; i<jsonObject.length; i++){
            if (i < 10) {
                alphaData.info.push({
                    "stateName": jsonObject[i].StateAbbrev,
                    "className": "below"
                });
            } else if (i > 40) {
                alphaData.info.push({
                    "stateName": jsonObject[i].StateAbbrev,
                    "className": "above"
                });
            } else {
                alphaData.info.push({
                    "stateName": jsonObject[i].StateAbbrev,
                    "className": ""
                });
            }
        }
    }
