﻿function init() {
    // Fetch text boxes from db, display asynchronously
    //ob_post.post(null, "getContent", DisplayAnalysis, { pageID: 2 });
    //ob_post.post(null, "getContent", DisplayChanges, { pageID: 3 });
    //var html = ob_post.post(null, "getNotables");
    //$('#dNotables').html(html);

    graphIndex(1, 'WMJIndex');
    SetSelected('ctl00_lnkHome');

    $('#btnVote').click(function() {
        var ansID;
        ansID = $("input[name='poll']:checked").val();
        //alert(ans);
        ob_post.post(null, "recordAnswer", SayThanks(), { ansID: ansID });
    });

    function SayThanks() {
        confirm("Thanks for voting!");
    }

    $('input[name=rNotable]').click(function() {
        var v = ($('input[name=rNotable]:checked').val());
        $('#hNotableOption').val(v);
        Grid1.refresh();
    });

    initTypeAhead();
}

/* Search Box */
function doSearch(term) {
    document.location.href = "members/results.aspx?direct=1&term=" + term;
}
/* End Search Box */

function DisplayChanges(data) {
    $('#change_content').html(data);
}
function DisplayAnalysis(data) {
    $('#analysis_content').html(data);
}

// Create graph server-side, display asynchronously
function graphIndex(idx, retardo) {
    var pos = $('#innertab').offset();
    $('#ajaxoverlay').css({ visibility: 'visible' });
    $.getJSON(document.URL, { fn: 'GetIndex', nonce: (new Date()).getTime(), idx: retardo }, drawChart);
    ReinitTicker(idx);  // get new ticker
    FetchTop10(idx);
    var idxdetails = '#';
    switch (idx) {
        case 1:
            idxdetails = '#litWMJ';
            break;
        case 2:
            idxdetails = '#litBDX1';
            break;
        case 3:
            idxdetails = '#litBDX2';
            break;
        case 4:
            idxdetails = '#litDRC';
            break;
        case 5:
            idxdetails = '#litOporto';
            break;
        case 6:
            idxdetails = '#litTop500';
            break;
        case 7:
            idxdetails = '#litCACult';
            break;
        case 8:
            idxdetails = '#litRhone';
            break;
    }
    $('#idxdetails').attr('href', 'members/Indices.aspx' + idxdetails);
}

function drawChart(items) {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Year');
    data.addColumn('number', 'Price');
    for (var i = 0; i < items.length; i++) {
        data.addRow([{ v: '' + items[i].year, p: {tooltip: items[i].quarter} }, items[i].price]);
    }

    var chart = new google.visualization.AreaChart(document.getElementById('indexgraph'));
    chart.draw(data, { width: 400, height: 190, title: items[0].index, legend: 'none', chartArea: {width: 300} });
}

// Fetch ticker data server-side, display asynchronously
function ReinitTicker(idx) {
    $('#idxNav li').removeClass('idxCurrent');
    $('#index' + idx).addClass('idxCurrent');
    $.getJSON(document.URL, { fn: 'GetTickerItems', nonce: (new Date()).getTime(), idx: idx }, function(data) {
        var items = new Array();
        for (var i = 0; i < data.length; i++) {
            var item = data[i];
            items.push(item.vintage + ' ' + item.dn + ' ' + item.priceDelta + (item.direction == 'up' ? ' <img src="/images/up.gif" />' : ' <img src="/images/down.gif" />') + ' ' + item.pctDelta);
        }

        $('#ticker').ticker({ items: items });
    });
}

// Fetch top 10 server-side, display asynchronously
function FetchTop10(idx) {
    ob_post.post(null, 'FetchTop10', DisplayTop10, { idx: idx });
}

function DisplayTop10(data) {
    $('#index10 #ol1').html(data);
    $('#ajaxoverlay').css('visibility', 'hidden');
}

function hiliteRow(state, what) {
    if (state) {
        what.className = "hilite";
    } else {
        what.className = "nolite";
    }
}

function ShowPollResults() {
    win1.setUrl('PollDisplay.aspx');
    win1.screenCenter();
    win1.setTitle('Poll Results');
    win1.setSize(400, 300);
    win1.Open();
}

