// homepage state scroller
// version 0.9.1
var statesArray = new Array();
var scrollerContext = "overall";
var scrollerCurrentIndex = 0;
// object definition for individual scroller objects
function stateScrollerObject(state, stateFullName, overall, obesity, obesityPercent, smoking, smokingPercent, diabetes, diabetesPercent) {
    this.state = state;
    this.stateFullName = stateFullName;
    this.overall = overall;
    this.obesity = obesity;
    this.obesityPercent = obesityPercent;
    this.smoking = smoking;
    this.smokingPercent = smokingPercent;
    this.diabetes = diabetes;
    this.diabetesPercent = diabetesPercent;
}
function buildScroller(data) {
    data = typeof (data) != 'undefined' ? data : null;
    // loop over your data
    if (data != null) {
        //**********************************************************************************************************
        // stateScrollerObject Arguments
        //state, stateFullName, overall, obesity, obesityPercent, smoking, smokingPercent, diabetes, diabetesPercent
        statesArray = data;
    }
    else {
        for (i = 0; i < 50; i = i + 5) {
            statesArray[i] = new stateScrollerObject("AR", "Arkansas", 43, 38, 13.1, 35, 14, 36, 9.2);
            statesArray[i + 1] = new stateScrollerObject("CA", "California", 28, 10, 7.1, 12, 11.1, 30, 9);
            statesArray[i + 2] = new stateScrollerObject("NY", "New York", 26, 5, 6.1, 13, 11.2, 32, 8.9);
            statesArray[i + 3] = new stateScrollerObject("OR", "Oregon", 13, 6, 4.9, 8, 6, 29, 8.9);
            statesArray[i + 4] = new stateScrollerObject("WI", "Wisconsin", 11, 11, 6.7, 6, 6.67, 16, 6.5);
        }
    }
    statesArray.sort(function (a, b) {
        return parseInt(a.overall, 10) - parseInt(b.overall, 10);

    });
    for (i = 0; i < statesArray.length; i++) {
        $("#scrollerItems").append("<img src=\"/images/StateImages/STATE_" + statesArray[i].state + ".png\" \ alt=\"State - " + statesArray[i].stateFullName + "\" />");
        //$("#scrollerItems").html($("#scrollerItems").html() + "<img src=\"images\\StateImages\\STATE_" + statesArray[i].state + ".png\" \ alt=\"State - " + statesArray[i].stateFullName + "\" />");
    }
    activateScroller();
}
function changeScrollerContext(scrollerName) {
    scrollerName = typeof (scrollerName) != 'undefined' ? scrollerName : "overall";
    scrollerContext = scrollerName;
    $("#scrollerValue").hide();
    $("#scrollerLabel").hide();
    $("#scrollerLabel2").hide();
    $("#scrollerLabel3").hide();
    $("#scrollerLabel4").hide();
    var fadeInLabel;
    scrollerCurrentIndex = 0;
    switch (scrollerName) {
        case "obesity":
            statesArray.sort(function (a, b) {
                return parseInt(a.obesity, 10) - parseInt(b.obesity, 10);

            });
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].obesityPercent + "%");
            fadeInLabel = $("#scrollerLabel2");
            $("#scrollerTitle").html("Obesity");
            break;
        case "smoking":
            statesArray.sort(function (a, b) {
                return parseInt(a.smoking, 10) - parseInt(b.smoking, 10);

            });
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].smokingPercent + "%");
            fadeInLabel = $("#scrollerLabel3");
            $("#scrollerTitle").html("Smoking");
            break;
        case "diabetes":
            statesArray.sort(function (a, b) {
                return parseInt(a.diabetes, 10) - parseInt(b.diabetes, 10);

            });
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].diabetesPercent + "%");
            fadeInLabel = $("#scrollerLabel4");
            $("#scrollerTitle").html("Diabetes");
            break;
        default:
            $("#scrollerTitle").html("Overall");
            statesArray.sort(function (a, b) {
                return parseInt(a.overall, 10) - parseInt(b.overall, 10);

            });
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].overall);
            fadeInLabel = $("#scrollerLabel");
    }
    //var api = $("#scrollArea").data("scrollable"); 
    $("#scrollArea").removeData("scrollable");
    $('.prev, .next').unbind("click");
    $("#scrollerItems").html("");

    for (i = 0; i < statesArray.length; i++) {
        //api.addItem("<img src=\"images/StateImages/STATE_" + statesArray[i].state + ".png\" \ alt=\"State - " + statesArray[i].stateFullName + "\" />");
        $("#scrollerItems").append("<img src=\"images/StateImages/STATE_" + statesArray[i].state + ".png\" \ alt=\"State - " + statesArray[i].stateFullName + "\" />");
    }
    $("#scrollArea").scrollable({ touch: true, next: '.next', prev: '.prev', circular: true });
    //$(".navi a[href=#0]").click();
    //$("#scrollArea").css("left", "0");
    $("#scrollerStateName").html(statesArray[scrollerCurrentIndex].stateFullName);
    $("#scrollerStateName").fadeIn(250, function () {
        $("#scrollerValue").fadeIn(250, function () {
            $(".scrollerLabelState").html(statesArray[scrollerCurrentIndex].state);
            $(fadeInLabel).fadeIn();
        });
    });
    activateScroller();

}
function activateScroller() {
    $("#scrollArea").scrollable({ touch: true, next: '.next', prev: '.prev', circular: true }); //.navigator();
    //set initial values
    switch (scrollerContext) {
        case "obesity":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].obesityPercent + "%");
            break;
        case "smoking":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].smokingPercent + "%");
            break;
        case "diabetes":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].diabetesPercent + "%");
            break;
        default:
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].overall);
    }

    $("#scrollerStateName").html(statesArray[scrollerCurrentIndex].stateFullName);
    $("#scrollerValue").fadeIn();
    $(".scrollable").bind("click", function () {
        $("#stateRankText").hide();
    });
    $(".scrollable").bind("onSeek", function () {
        $("#scrollerStateName").fadeIn(250, function () {
            $("#scrollerValue").fadeIn(250);
        });
    });
    $("#scrollerItems").css("left", "-209px");
    $(".next").bind("click", function () {
        nextState();
    });
    $(".prev").bind("click", function () {
        prevState();
    });
}
function nextState() {
    //Reset timer to switch contexts:
    clearTimeout(time);
    time = setTimeout('nextContext()', 14000);
    if (scrollerCurrentIndex < statesArray.length - 1) {
        scrollerCurrentIndex++;
    }
    else {
        scrollerCurrentIndex = 0;
    }
    $("#scrollerValue").hide();
    $("#scrollerStateName").hide();
    switch (scrollerContext) {
        case "obesity":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].obesityPercent + "%");
            break;
        case "smoking":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].smokingPercent + "%");
            break;
        case "diabetes":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].diabetesPercent + "%");
            break;
        default:
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].overall);
    }
    $(".scrollerLabelState").html(statesArray[scrollerCurrentIndex].state);
    $("#scrollerStateName").html(statesArray[scrollerCurrentIndex].stateFullName);
}
function prevState() {
    //Reset timer to switch contexts:
    clearTimeout(time);
    time = setTimeout('nextContext()', 14000);
    if (scrollerCurrentIndex > 0) {
        scrollerCurrentIndex--;
    }
    else {
        scrollerCurrentIndex = statesArray.length - 1;
    }
    $("#scrollerValue").hide();
    $("#scrollerStateName").hide();

    switch (scrollerContext) {
        case "obesity":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].obesityPercent + "%");
            break;
        case "smoking":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].smokingPercent + "%");
            break;
        case "diabetes":
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].diabetesPercent + "%");
            break;
        default:
            $("#scrollerValue").html(statesArray[scrollerCurrentIndex].overall);

            $(".scrollerLabelState").html(statesArray[scrollerCurrentIndex].state);
            $("#scrollerStateName").html(statesArray[scrollerCurrentIndex].stateFullName);
    }
}
