﻿var m_MarketOverviewImageRefreshInterval = 60000;
var m_QuoteServiceTimerInterval = 5000;
var m_MainIndexDS = "MainIndexDS";
var m_MarketOverviewDS = "MarketOverviewDS";
var m_MostActiveByTurnoverDS = "MostActiveByTurnoverDS";

function InitializeQuoteServiceTimer() {
    AddLibrary('MostActiveByTurnover')
    AddLibrary('MainIndexes')
    AddLibrary('MarketOverview');
    setTimeout("GetDataFromQuoteService()", m_QuoteServiceTimerInterval);
    setTimeout("InitializeMarketOverviewImage()", m_MarketOverviewImageRefreshInterval);
}

function InitializeMarketOverviewImage() {
    RefreshImage();
}

function GetDataFromQuoteService() {
    try {        
        var quoteService = new Marketmind.Web.Stocklink.Services.QuoteService();
        //Get data from service       
        var numberOfWinnersAndLosers = 10;
        quoteService.GetQuoteServiceResponse(numberOfWinnersAndLosers, OnQuoteServiceSucceededCallback, OnQuoteServiceFailedCallBack, null);
        //Call function again in m_QuoteServiceTimerInterval ms.
        setTimeout("GetDataFromQuoteService()", m_QuoteServiceTimerInterval);
    }
    catch (e) {
        //TODO
    }
}

function OnQuoteServiceFailedCallBack() {
    //TODO
}

function OnQuoteServiceSucceededCallback(e) {
    if (e.toString().length > 0) {
        var result = Sys.Serialization.JavaScriptSerializer.deserialize(e, true);

        var mainIndexes = result[m_MainIndexDS];
        if (mainIndexes != null) {
            OnMainIndexesSucceededCallback(mainIndexes);
        }

        var marketOverview = result[m_MarketOverviewDS];
        if (marketOverview != null) {
            OnMarketOverviewSucceededCallback(marketOverview);
        }

        var mostActiveByTurnover = result[m_MostActiveByTurnoverDS];
        if (mostActiveByTurnover != null) {
            OnMostActiveSucceededCallback(mostActiveByTurnover);
        }
    }
}

function AddLibrary(file) {
    var NewScript = document.createElement('script')
    NewScript.src = "scripts/" + file + ".js";
    NewScript.type = 'text/javascript';
    NewScript.defer = true;
    document.body.appendChild(NewScript);
}


