﻿$(function () {

    function sortBy_BOARDID_SECID(params, record) {
        return params.indexOf([record['BOARDID'], record['SECID']].join(':'));
    }

    function sortBy_SECTYPE(params, record) {
        return params.indexOf(record['SECTYPE']);
    }


    mx.widgets.ticker('#ticker', [
            'stock:index:SNDX:MICEXINDEXCF',
            'stock:index:RTSI:RTSI',
            'stock:shares:EQBR:SBER',
            'stock:shares:EQNE:GAZP',
            'stock:shares:EQBR:LKOH',
            'stock:shares:EQNL:VTBR',
            'stock:shares:EQNL:ROSN',
            'stock:shares:EQBS:GMKN',
            'stock:shares:EQNL:CHMF',
            'stock:shares:EQNL:TRNFP',
            'stock:shares:EQBR:URKA',
            'stock:shares:EQBR:SBERP',
            'stock:shares:EQNL:RASP',
            'stock:shares:EQBR:HYDR',
            'stock:shares:EQNL:NLMK',
            'stock:shares:EQNL:SNGS',
            'stock:shares:EQBR:RTKM',
            'futures:forts:RFUD:GZH2',
            'futures:forts:RFUD:MXH2',
            'futures:forts:RFUD:RIH2',
            'futures:forts:RFUD:SRH2',
            'futures:forts:RFUD:VXH2',
            'futures:forts:RFUD:CUH2',
            'futures:forts:RFUD:GDH2',
            'futures:forts:RFUD:SAH2',
            'futures:forts:RFUD:SVH2',
            'futures:forts:RFUD:EDH2',
            'futures:forts:RFUD:EuH2',
            'futures:forts:RFUD:O2H2',
            'futures:forts:RFUD:O4H2',
            'futures:forts:RFUD:SiH2',
            'currency:selt:CETS:USD000UTSTOM',
            'currency:selt:CETS:EUR_RUB__TOM'
        ], {
            speed: 25,
            toggleable: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });


    mx.widgets.table('#index_1', 'stock', 'index', [
            'SNDX:MICEXINDEXCF',
            'RTSI:RTSI',
            'SNDX:MICEXCBITR',
            'SNDX:MICEXMBITR',
            'RTSI:RTSVX',
            'SNDX:MICEXINNOV'//,
    //'state:index:GNDX:RGBI'
        ], {
            chart: 0,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink('null', 'index', board, security);
            }
        });

    mx.widgets.table('#index_2', 'stock', 'index', [
            'SNDE:MICEXINDEXCF',
            'RTSE:RTSI',
            //'SNDE:MICEXCBITR',
            //'SNDE:MICEXMBITR',
            'RTSE:RTSVX',
            //'SNDE:MICEXINNOV'//,
    //'state:index:GNDX:RGBI'
        ], {
            chart: 0,
            cache: true,
            url: function (engine, market, board, security) {
                //return GetTickerLink(engine, market, board, security);
                return GetTickerLink('null', 'index', board, security);
            }
        });



    mx.widgets.table('#currency_1', 'currency', 'selt', [
            'CETS:USD000UTSTOM',
            'CETS:EUR_RUB__TOM',
            'CETS:EURUSD000TOM',
            'currency:basket:BKT:USDEUR_BKT'

        ], {
            sortBy: sortBy_BOARDID_SECID,
            chart: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });



    ///////// stock /////////
    mx.widgets.table('#stock_1', 'stock', 'shares', [
            'EQBR:SBER',
            'EQNE:GAZP',
            'EQBR:LKOH',
            'EQBS:GMNK',
            'EQNL:VTBR'
        ], {
            chart: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#stock_2_1', 'stock', 'standard', [
            'STMR:SBER',
            'STMR:GAZP',
            'STMR:LKOH',
            'STMR:GMNK',
            'STMR:VTBR'
        ], {
            chart: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#stock_2_2', 'stock', 'standard', [
            'SDMR:SBER',
            'SDMR:GAZP',
            'SDMR:LKOH',
            'SDMR:GMNK',
            'SDMR:VTBR'
        ], {
            chart: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#stock_3', 'stock', 'classica', [
            'CLMR:SBER',
            'CLMR:GAZP',
            'CLMR:LKOH',
            'CLMR:GMNK',
            'CLMR:VTBR'
        ], {
            chart: true,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });


    ///////// futures RFUD /////////
    mx.widgets.table('#futures_1_1', 'futures', 'forts', [
            'RFUD:RI',
            'RFUD:MX',
            'RFUD:VX',
            'RFUD:SR',
            'RFUD:GZ'
        ], {
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#futures_2_1', 'futures', 'forts', [
            'RFUD:GD',
            'RFUD:BR',
            'RFUD:SV',
            'RFUD:CU',
            'RFUD:SA'
        ], {
            //sortBy: sortBy_SECTYPE,
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#futures_3_1', 'futures', 'forts', [
            'RFUD:Si',
            'RFUD:ED',
            'RFUD:Eu',
            'RFUD:O4',
            'RFUD:O2'
        ], {
            //sortBy: sortBy_SECTYPE,
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });


    ///////// futures RFUE /////////
    mx.widgets.table('#futures_1_2', 'futures', 'forts', [
            'RFUE:RI',
            'RFUE:MX',
            'RFUE:VX',
            'RFUE:SR',
            'RFUE:GZ'
        ], {
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#futures_2_2', 'futures', 'forts', [
            'RFUE:GD',
            'RFUE:BR',
            'RFUE:SV',
            'RFUE:CU',
            'RFUE:SA'
        ], {
            //sortBy: sortBy_SECTYPE,
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });
    mx.widgets.table('#futures_3_2', 'futures', 'forts', [
            'RFUE:Si',
            'RFUE:ED',
            'RFUE:Eu',
            'RFUE:O4',
            'RFUE:O2'
        ], {
            //sortBy: sortBy_SECTYPE,
            params_name: 'sectypes',
            nearest: 1,
            cache: true,
            url: function (engine, market, board, security) {
                return GetTickerLink(engine, market, board, security);
            }
        });




    mx.widgets.turnovers('#turnovers', {
        afterRefresh: function (time) {
            //alert(time);
            $('#turnovers_time').html(render_date(time));
        }
    });

/*
    mx.widgets.turnovers('#turnovers_2', {
        afterRefresh: function (time) {
            //alert('test');
            is_tonight_session: true;
            $('#turnovers_time2').html(render_date(time));
        }
    });
*/




    var amounts = {
        3: 'Тыс',
        6: 'Млн',
        9: 'Млрд',
        12: 'Трлн'
    };

    mx.iss.capitalization().then(function (value) {
        var digits = Math.ceil(Math.log(value) / Math.LN10);
        var max_amount = 0;

        for (amount in amounts) {
            amount = parseInt(amount)
            if (max_amount < amount && amount <= digits) {
                max_amount = amount;
            }
        }

        value = value / Math.pow(10, max_amount)

        $("#capitalization").html(mx.utils.render(value, { type: 'number', precision: 2 }) + ' <span style="color:#8f8f8f;">' + amounts[max_amount].toUpperCase() + ' РУБ</span>');
    });

});


    render_date = function (value) {
        var f;
        if (!(value instanceof Date)) {
            return (value instanceof Date);
        }
        f = function (n) {
            if (n < 10) {
                return '0' + n;
            } else {
                return '' + n;
            }
        };
        return "" + (f(value.getDate())) + "." + (f(value.getMonth() + 1)) + "." + (value.getFullYear());
    };
    

