text: (function () {
    var ns = $.namespace('pskl.controller.dialogs');
  
    ns.BrowseLocalController = function (piskelController) {
    };
  
    pskl.utils.inherit(ns.BrowseLocalController, ns.AbstractDialogController);
  
    ns.BrowseLocalController.prototype.init = function () {
      this.superclass.init.call(this);
  
      this.localStorageItemTemplate_ = pskl.utils.Template.get('local-storage-item-template');
  
      this.service_ = pskl.app.localStorageService;
      this.piskelList = $('.local-piskel-list');
      this.prevSessionContainer = $('.previous-session');
  
      this.fillLocalPiskelsList_();
  
      this.piskelList.click(this.onPiskelsListClick_.bind(this));
    };
  
    ns.BrowseLocalController.prototype.onPiskelsListClick_ = function (evt) {
      var action = evt.target.getAttribute('data-action');
      var name = evt.target.getAttribute('data-name');
      if (action === 'load') {
        if (window.confirm('This will erase your current piskel. Continue ?')) {
          this.service_.load(name);
          this.closeDialog();
        }
      } else if (action === 'delete') {
        if (window.confirm('This will permanently DELETE this piskel from your computer. Continue ?')) {
          this.service_.remove(name);
          this.fillLocalPiskelsList_();
        }
      }
    };
  
    ns.BrowseLocalController.prototype.fillLocalPiskelsList_ = function () {
      var html = '';
      var keys = this.service_.getKeys();
  
      keys.sort(function (k1, k2) {
        if (k1.date < k2.date) {return 1;}
        if (k1.date > k2.date) {return -1;}
        return 0;
      });
  
      keys.forEach((function (key) {
        var date = pskl.utils.DateUtils.format(key.date, '{{Y}}/{{M}}/{{D}} {{H}}:{{m}}');
        html += pskl.utils.Template.replace(this.localStorageItemTemplate_, {name : key.name, date : date});
      }).bind(this));
  
      var tableBody_ = this.piskelList.get(0).tBodies[0];
      tableBody_.innerHTML = html;
    };
  })();
  