﻿var gPanelBar = null;
var gTimeoutId;

function ExpandOnClick(panelbar, args) {
    if ((gPanelBar != null) && (panelbar == gPanelBar)) {
        clearTimeout(gTimeoutId);
    }
    if (args.get_item().get_level() == 1) {
        args.get_item().select();
        //always cancel expand
        args.set_cancel(true);
        //if proper url is there please goto url
        if (args.get_item().get_navigateUrl().indexOf("#") < 0) {
            window.location.href = args.get_item().get_navigateUrl();
        }
    }

}

function ExpandTimer(panelbar, args) {
    if( gPanelBar!=panelbar && args.get_item().get_level()==0 && args.get_item().get_items().get_count()>0)
    {
        gPanelBar=panelbar;
        gArgs=args;
        gTimeoutId=setTimeout( function(){ExpandItem(panelbar,args);}, 500);//set the needed delay in milliseconds
    }
}

function ClearExpandTimer(panelbar, args) {
    if ((gPanelBar != null) && (panelbar == gPanelBar) && (gTimeoutId != null)) {
        clearTimeout(gTimeoutId);
        gPanelBar = null;
        gTimeoutId = null;
    }
}

function ExpandItem(panelbar, args) {
    for (var i = 0; i < panelbar.get_allItems().length; i++) {
        if (panelbar.get_allItems()[i].get_level() == 0 && panelbar.get_allItems()[i].get_items().get_count() != 0) {
            if (panelbar.get_allItems()[i].get_expanded()) {
                panelbar.get_allItems()[i].set_expanded(false);
            }
        }
    }
    if (args.get_item().get_items().get_count() != 0 && args.get_item().get_expanded() == false) {
        if (args.get_item().get_level() == 0) {
            args.get_item().expand();
        }
    }
    gPanelBar = null;
    gTimeoutId = null;
}