(function ($) {
  $.extend({
    mainWindow: function () {
      var window = this;

      // Create dialog
      window.content = $("<div></div>").dialog({
        resizable: 'se',
        height: 450,
        width: 200,
        minHeight: 260,
        minWidth: 200,
        resize: function(event, ui) {
          resizeDialog();
        }
      });

      // Resize function
      function resizeDialog()
      {
        window.content.find(".list-bar").height(window.content.height() - window.content.padding);
      }

      // Init
      window.dialog = window.content.parent(".ui-dialog");
      window.title = window.dialog.find(".ui-dialog-titlebar");
      window.dialog.attr("id", "window-about");

      window.content
        .html("<table class='wrapper'></table>")
        .find("table")
          .append("<tr><td class='menu-bar'></td></tr>")
          .append("<tr><td class='avatar-bar'></td></tr>")
          .append("<tr><td class='search-bar'></td></tr>")
          .append("<tr><td class='list-bar'></td></tr>")
          .append("<tr><td class='ads-bar'></td></tr>")
        .end()
        .find(".menu-bar")
          .append("<a href='#'>Preferences</a>")
          .append("<a href='#'>About</a>")
        .end()
        .find(".search-bar")
          .append("<div><input /></div>")
        .end()
        .find(".avatar-bar")
          .append("<table class='wrapper'></table>")
            .find("table")
              .append("<tr><td class='avatar'></td><td class='status'></td></tr>")
                .find(".avatar")
                  .append("<img src='avatar.jpg' />")
                .end()
                .find(".status")
                  .append("<a href='#' id='status' class='invisible'>administrator</a>")
                  .append("<div><input value='share a status message...'/></div>")
                .end()
            .end()
        .end()

      window.content.padding = 0;
      window.content.find(".menu-bar, .avatar-bar, .search-bar, .ads-bar").each(function () {
        window.content.padding += $(this).outerHeight(true);
      })

      resizeDialog();

      // Methods


      return window;
    }
  })
})(jQueryFactory);
