Slipmat.Views.Header = Backbone.View.extend({

  tagName: "header",
  className: "header",
  template: JST["layouts/header/header"],

  initialize: function (options) {
    this.results = new Slipmat.Collections.SearchResults();
    this.resultTemplate = JST["layouts/header/_searchResult"];

    this.listenTo(Slipmat.currentUser, "sync", this.renderPanel);
    this.listenTo(Slipmat.currentUser, "signIn signOut", this.togglePanel);
    this.listenTo(this.results, "sync", this.renderSearchResults);
  },

  events: {
    "input input": "fetchSearchResults",
    "click .search-result": "redirect",
    "submit #search": "search",
    "click #signOut": "signOut",
    "click #register": "register"
  },

  render: function () {
    var content = this.template({ currentUser: Slipmat.currentUser });
    this.$el.html(content);
    this.togglePanel(Slipmat.currentUser);

    return this;
  },

  renderPanel: function () {
    if (!Slipmat.currentUser.isSignedIn()) { return; }

    var userPanel = JST["layouts/header/_signedInPanel"];
    this.$(".header-user-list").html(userPanel());
  },

  togglePanel: function () {
    var userPanel;

    if (Slipmat.currentUser.isSignedIn()) {
      userPanel = JST["layouts/header/_signedInPanel"];
    } else {
      userPanel = JST["layouts/header/_signedOutPanel"];
    }
    this.$(".header-user-list").html(userPanel());
  },

  fetchSearchResults: function (e) {
    e.preventDefault();

    var userInput = $(e.currentTarget).val();
    var query = {
      query: userInput,
      limit: 10
    };

    this.results.fetch({ data: query });
  },

  renderSearchResults: function () {
    var header = this;
    var $results = this.$(".search-results").empty();

    if (!this.results.length) {
      $results.hide();
    } else {
      $results.show();

      var results = this.results.slice(0, 10);
      results.forEach(function (result) {
        var $result = header.resultTemplate({ result: result });
        $results.append($result);
      });
    }
  },

  redirect: function (e) {
    e.preventDefault();
    this.$(".search-results").empty().hide();

    var fragment = $(e.currentTarget).data("fragment");
    Backbone.history.navigate(fragment, { trigger: true });
  },

  search: function (e) {
    e.preventDefault();
    this.$(".search-results").empty().hide();

    var query = $(e.currentTarget).find("input").val();
    var fragment = (query.length ? "/search?query=" + query : "");
    Backbone.history.navigate(fragment, { trigger: true });
  },

  register: function (e) {
    e.preventDefault();

    Backbone.history.navigate("/register", { trigger: true });
  },

  signOut: function (e) {
    e.preventDefault();

    Slipmat.currentUser.signOut();
  }

});

@@ -590,24 +590,66 @@
 %22redirect%22,%0A
+    %22blur .search%22: %22clearSearchResults%22,%0A
     %22submit 
@@ -2053,24 +2053,34 @@
   %7D,%0A%0A  
-redirect
+clearSearchResults
 : functi
@@ -2079,33 +2079,32 @@
 : function (
-e
 ) %7B%0A    
 e.preventDef
@@ -2095,70 +2095,232 @@
     
-e.preventDefault();%0A    this.$(%22.search-results%22).empty().hide
+window.setTimeout(this._clearSearchResults, 150);%0A  %7D,%0A%0A  _clearSearchResults: function () %7B%0A    this.$(%22.search-results%22).empty().hide();%0A  %7D,%0A%0A  redirect: function (e) %7B%0A    e.preventDefault();%0A    this._clearSearchResults
 ();%0A
@@ -2504,41 +2504,27 @@
 his.
-$(%22.s
+_clearS
 earch
--r
+R
 esults
-%22).empty().hide
 ();%0A

Remove search results on blur