//var bw = new lib_bwcheck();
//var mDebugging=1;
var oCMenu = new makeCoolMenu("oCMenu");

function configureMenu( config, uniqueCountFunction, positionFromTop, contextPath )
{
    oCMenu.fromtop = positionFromTop;
    initialiseMenu();
    addRows(config, uniqueCountFunction);

    function addRows( config, uniqueCount )
    {
        makeHomeMenu();
        //makeIndexAnalysisMenu();
        //makeETFMenu();
        makePretradeMenu();
        makePosttradeMenu();

//        if ( config.isAuthenticatedForAST )
//        {
//            makeASTMenu();
//        }

        makeECSMenu();
        makeAdminMenu();

        makeExecutionMonitorMenu();

        if ( config.isOptimaxEnabled )
        {
            makeOptimaxMenu();
        }

        if ( config.isTcaEnabled )
        {
            makeTcaMenu();
        }

        if ( config.isMisEnabled )
        {
            makeMisMenu();
        }
    }

    function makeHomeMenu()
    {
        oCMenu.makeMenu('menuItem1000', '', '&nbsp;Home', contextPath + 'splash_page.do');
    }

    function makeECSMenu()
    {
        if ( config.canSeePerseus == 'Y' )
        {
            oCMenu.makeMenu('menuItem1200', '', '&nbsp;ECS Monitor', contextPath + 'perseus.jsp');
        }
    }

    function makeAdminMenu()
    {
        if ( config.isAdminUser )
        {
            oCMenu.makeMenu('menuItem1300', '', '&nbsp;Admin Page', contextPath + 'ast_admin_display.do');
        }
    }

    //    function makeHomeMenu()
//    {
//        oCMenu.makeMenu('menuItem1000', '', '&nbsp;Home', contextPath + 'splash_page.do');
//    }

//    function makeIndexAnalysisMenu()
//    {
//        oCMenu.makeMenu('menuItem2000', '', '&nbsp;Index Analysis', contextPath + 'index_calendar.do');
//        oCMenu.makeMenu('menuItem2100', 'menuItem2000', '&nbsp;Index Calendar', contextPath + 'index_calendar.do')
//        oCMenu.makeMenu('menuItem2200', 'menuItem2000', '<img src="images/arrow-graybk.gif" border="0" align="right"/>&nbsp;Key Indices', '')
//    }

//    function makeETFMenu()
//    {
//        oCMenu.makeMenu('menuItem3000', '', '&nbsp;ETF', contextPath + 'etf_detail.do')
//        oCMenu.makeMenu('menuItem3100', 'menuItem3000', '&nbsp;ETF Detail', contextPath + 'etf_detail.do')
//    }

    function makePretradeMenu()
    {
        oCMenu.makeMenu('menuItem4000', '', '&nbsp;Pre Trade Analysis', contextPath + 'pretrade_detail.do' );
        oCMenu.makeMenu('menuItem4100', 'menuItem4000', '&nbsp;Block Trade Analysis', contextPath + 'bta_detail.do' );
        oCMenu.makeMenu('menuItem4200', 'menuItem4000', '&nbsp;Create/Upload Portfolio', contextPath + 'pretrade_upload.do' );
        oCMenu.makeMenu('menuItem4300', 'menuItem4000', '&nbsp;Basket Detail', contextPath + 'pretrade_detail.do' );
        oCMenu.makeMenu('menuItem4400', 'menuItem4000', '&nbsp;Excel Uploader Download', contextPath + 'client-tools/JPMorganOnsiteFileUploader_poc.xls' );
    }

    function makePosttradeMenu()
    {
        oCMenu.makeMenu('menuItem6000', '', '&nbsp;Post Trade Analysis', contextPath + 'posttrade_detail.do');
        oCMenu.makeMenu('menuItem6100', 'menuItem6000', '&nbsp;Create/Upload Portfolio', contextPath + 'posttrade_upload.do');
        oCMenu.makeMenu('menuItem6200', 'menuItem6000', '&nbsp;Basket Detail', contextPath + 'posttrade_detail.do');
        oCMenu.makeMenu('menuItem6300', 'menuItem6000', '&nbsp;Excel Uploader Download', contextPath + 'client-tools/JPMorganOnsiteFileUploader_poc.xls' );
        oCMenu.makeMenu('menuItem6400', 'menuItem6000', '&nbsp;Post Trade Beta', contextPath + 'posttradepoc_upload.do');
    }

    function makeASTMenu()
    {
        oCMenu.makeMenu('menuItem10000', '', '&nbsp;ATS', contextPath + 'ast_detail.do');

        if ( config.isAdminUser )
        {
            oCMenu.makeMenu('menuItem10100', 'menuItem10000', '&nbsp;Admin Page', contextPath + 'ast_admin_display.do');
        }
    }

    function makeExecutionMonitorMenu()
    {
        if ( !config.isExecutionMonitorEnabledNA && !config.isExecutionMonitorEnabledEMEA )
        {
            return;
        }
        if ( config.isExecutionMonitorEnabledNA && !config.isExecutionMonitorEnabledEMEA )
        {
            oCMenu.makeMenu('menuItem11000', '', '&nbsp;Execution Monitor', contextPath + 'executionmonitor_na.do');
            return;
        }
        if ( !config.isExecutionMonitorEnabledNA && config.isExecutionMonitorEnabledEMEA )
        {
            oCMenu.makeMenu('menuItem11000', '', '&nbsp;Execution Monitor', contextPath + 'executionmonitor_emea.do');
            return;
        }

        oCMenu.makeMenu('menuItem11000', '', '&nbsp;Execution Monitor');
        oCMenu.makeMenu('menuItem11100', 'menuItem11000', '&nbsp;EMEA', contextPath + 'executionmonitor_emea.do');
        oCMenu.makeMenu('menuItem11200', 'menuItem11000', '&nbsp;NA', contextPath + 'executionmonitor_na.do');
    }

    function makeOptimaxMenu()
    {
        oCMenu.makeMenu('menuItem12000', '', '&nbsp;TAO', contextPath + 'tao.do' );
    }

    function makeTcaMenu()
    {
        oCMenu.makeMenu('menuItem13000', '', '&nbsp;TCA', contextPath + 'tca_detail.do' );
    }

    function makeMisMenu()
    {
        oCMenu.makeMenu('menuItem14000', '', '&nbsp;MIS', '');
        if ( config.isGesMetricsEnabled )
        {
            oCMenu.makeMenu('menuItem14100', 'menuItem14000', '&nbsp;GES Metrics', contextPath +  'ges_metrics.do' );
        }
        if ( config.isPtMisReportEnabled )
        {
            oCMenu.makeMenu('menuItem14200', 'menuItem14000', '&nbsp;PT MIS', contextPath + 'pt_mis.do' );
        }
    }


    function initialiseMenu()
    {
        oCMenu.useframes = 0
        oCMenu.useclick = 0
        oCMenu.useNS4links = 1
        oCMenu.NS4padding = 2
        oCMenu.checkselect = 1
        oCMenu.offlineUrl = "file:///C|/Inetpub/wwwroot/dhtmlcentral/"
        oCMenu.onlineUrl = "http://www.dhtmlcentral.com/coolmenus/examples/withoutframes/"
        oCMenu.pagecheck = 1
        oCMenu.checkscroll = 0
        oCMenu.resizecheck = 1
        oCMenu.wait = 700

        //Background bar properties
        oCMenu.usebar = 1
        oCMenu.barcolor = "Black"
        oCMenu.barwidth = "menu"
        oCMenu.barheight = "menu"
        oCMenu.barx = "menu"
        oCMenu.bary = "menu"
        oCMenu.barinheritborder = 0

        //Placement properties
        oCMenu.rows = 1
        oCMenu.fromleft = 58;
        //20; //185  moved after adding execution monitor and optimax links.
        oCMenu.pxbetween = 2
        oCMenu.menuplacement = 0


        //TOP LEVEL PROPERTIES - ALL OF THESE MUST BE SPESIFIED FOR LEVEL[0]
        oCMenu.level[0] = new Array()
        oCMenu.level[0].width = 124
        oCMenu.level[0].height = 14
        oCMenu.level[0].bgcoloroff = "#F0F0F0"
        oCMenu.level[0].bgcoloron = "#003366"
        oCMenu.level[0].textcolor = "Black"
        oCMenu.level[0].hovercolor = "White"
        oCMenu.level[0].style =
        "padding:1px; font-family:tahoma,arial,helvetica; font-size:11px; font-weight:bold; text-align:left" //The style for all level[0] (top) items. - Value: "style_settings"
        oCMenu.level[0].border = 1
        oCMenu.level[0].bordercolor = "#F0F0F0"
        oCMenu.level[0].offsetX = 0
        oCMenu.level[0].offsetY = 2
        oCMenu.level[0].NS4font = "tahoma,arial,helvetica"
        oCMenu.level[0].NS4fontSize = "2"


        /*New: Added animation features that can be controlled on each level.*/
        oCMenu.level[0].clip = 0
        oCMenu.level[0].clippx = 0
        oCMenu.level[0].cliptim = 0
        oCMenu.level[0].filter = 0
        oCMenu.level[0].align = "bottom"

        //EXAMPLE SUB LEVEL[1] PROPERTIES - You have to spesify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this
        oCMenu.level[1] = new Array()
        oCMenu.level[1].width = 140
        oCMenu.level[1].height = 22
        oCMenu.level[1].bgcoloroff = "#F0F0F0"
        oCMenu.level[1].bgcoloron = "#003366"
        oCMenu.level[1].textcolor = "Black"

        oCMenu.level[1].style = "padding:2px; font-family:tahoma, arial,helvetica; font-size:10px; font-weight:bold"
        oCMenu.level[1].border = 1
        oCMenu.level[1].align = "bottom"
        oCMenu.level[1].bordercolor = "#999999"
        oCMenu.level[1].offsetX = -11
        oCMenu.level[1].offsetY = 2
        /*oCMenu.level[1].offsetX=-(oCMenu.level[0].width-2)/2+39*/
        oCMenu.level[1].NS4font = "tahoma,arial,helvetica"
        oCMenu.level[1].NS4fontSize = "1"


        //EXAMPLE SUB LEVEL[2] PROPERTIES - You have to spesify the properties you want different from LEVEL[1] OR LEVEL[0] - If you want all items to look the same just remove this
        oCMenu.level[2] = new Array()
        oCMenu.level[2].width = 140
        oCMenu.level[2].height = 22
        oCMenu.level[2].bgcoloroff = "#F0F0F0"
        oCMenu.level[2].bgcoloron = "#003366"
        oCMenu.level[2].textcolor = "Black"
        oCMenu.level[2].style = "padding:2px; font-family:tahoma,arial,helvetica; font-size:10px; font-weight:bold"
        oCMenu.level[2].align = "bottom"
        oCMenu.level[2].offsetX = -11
        oCMenu.level[2].offsetY = 2
        oCMenu.level[2].border = 1
        oCMenu.level[2].bordercolor = "#999999"
        oCMenu.level[2].NS4font = "tahoma,arial,helvetica"
        oCMenu.level[2].NS4fontSize = "1"

        //-------------------------------------------------------------------------------------------------------------------------------------------------
    }
}
