sol.define("sol.common.jc.BrowserView", {
  singleton: true,

  browsers: {},
  browserViews: {},

  show: function (viewName, url) {
    if (!viewName || !url) {
      return;
    }
    var me = this;
    if (!me.browsers[viewName]) {
      me.createBrowserView(viewName);
    }
    me.browsers[viewName].navigate(url);
    me.browserViews[viewName].show();
  },

  createBrowserView: function (viewName) {
    var me = this,
        controlPanel;
    me.browsers[viewName] = components.createBrowser();
    controlPanel = components.createToolbar(0);
    workspace.removeView(viewName);
    me.browserViews[viewName] = workspace.addView(viewName, true, me.browsers[viewName], controlPanel);
    me.browserViews[viewName].setHasPreview(false);
  }
});