$(document).ready(function() {
    var baseURL = '';
    var chartURL = '';
    
    baseURL = $("#dropdown").attr("href");
     if($("#dropdown").hasClass("single")) {
         chartURL = baseURL + '/json';
     }
     else if($("#dropdown").hasClass("multiple")) {
         chartURL = baseURL + '&json=1';
     }

    $("#dropdown").click(function() {
        $("#dropdownMenu").toggle();
            return false;
    });
    
    $("#dropdown2").click(function() {
        $("#dropdownMenu2").toggle();
            return false;
    });
    
    $(".compMetric").click(function() {
        var compMetric = $(this).attr("href").slice(1);
        var compMetricName = $(this).html();
        var metricName = $("#dropdown").html();

        if(metricName == compMetricName) {
            YCharts.deleteCompData("bigChart");
            YCharts.chart("bigChart");
            $("#dropdown2").html("Second Metric");
            $("#dropdown2").addClass("greyed");
            $(".csvLink").queryParamEdit("href", "comp", "");
            $("#dropdownMenu2").toggle();
            return false;
        }
        $.ajax({
            url : chartURL + '?comp=' + compMetric,
            dataType: "json",
            success: function(data, textStatus) {
                rechartData(data);
                $("#dropdown2").html(truncateString(compMetricName, 16));
                $("#dropdown2").removeClass("greyed");
                $(".csvLink").queryParamEdit("href", "comp", compMetric);
                return false;
            },
            error : function() {
                return false;
            }
        })

        $("#dropdownMenu2").toggle();
        return false;
    });
    
    $(".zoom").click(function() {
        $(".zoom").removeClass("selected");
        $(this).addClass("selected");

        var daysBack = 0;
        var zoomVal = $(".zoom.selected").find("a").html();
        if(zoomVal == "3 Year") {
            daysBack = 365 * 3;
        }
        else if(zoomVal == "5 Year") {
            daysBack = 365 * 5;
        }
        else {
            daysParam = 0;
        }

        $(".csvLink").queryParamEdit("href", "days", daysBack);
        YCharts.addChartOption("bigChart", "daysBack", daysBack)
        YCharts.chart("bigChart");
        return false;
    });
    
    $(".format").click(function() {
        $(".format").removeClass("selected");
        $(this).addClass("selected");        
        var formatVal = $(".format.selected").find("a").html();
        if(formatVal == "Real") {
            $(".csvLink").queryParamEdit("href", "format", "real");
            YCharts.addChartOption("bigChart", "format", "real")
            YCharts.chart("bigChart");
        }
        else if(formatVal == "Indexed") {
            $(".csvLink").queryParamEdit("href", "format", "indexed");
            YCharts.addChartOption("bigChart", "format", "indexed")
            YCharts.chart("bigChart");
        }
        return false;
    });

    $("#streamType").change(function() {
        var selectedType = $("#streamType").val();
        $(".streamMsg").hide();
        if(selectedType == "all") {
            $(".streamMsg").show();
        }
        else if(selectedType == "tweets") {
            $(".streamMsg.tweet").show();
        }
        else if(selectedType == "news") {
            $(".streamMsg.news").show();
        }
        else if(selectedType == "videos") {
            $(".streamMsg.video").show();
        }
        $("#streamScroller").get(0).scrollTop = 0;
    });
    
    function rechartData(data) {
        YCharts.deleteData("bigChart");
        YCharts.deleteCompData("bigChart");
        for(i in data.main_data) {
            YCharts.addData("bigChart", data.main_data[i]);
        }
        for(i in data.comp_data) {
            YCharts.addCompData("bigChart", data.comp_data[i]);
        }
        YCharts.chart("bigChart");
    }
    
    function streamLoad() {
        var symbol = $("#streamSymbol").html();
        if(symbol == null) {
            return;
        }
        $("#streamScrollerHed div.loading").show();
        $.ajax({
            url : '/companies/' + symbol + '/stream',
            dataType: "html",
            success : function(data, textStatus) {
                $("#streamScroller").html(data);
                $("#streamType").change();
                $("#streamScrollerHed div.loading").hide();
                return false;
            },
            error : function() {
                $("#streamScrollerHed div.loading").hide();
                return false;
            }
        })
    }

    function truncateString(str, length) {
        if(str.length > length) {
            str = str.slice(0, length) + '...';
        }
        return str;
    }

    //streamLoad();
});