
  /*
  
  Postcode Search
  */

  window.postcode = {};

  postcode.normalize = function(str) {
    str = str.replace(/\s/g, "");
    return str.toLowerCase();
  };

  postcode.validate = function(str) {
    var result;
    result = this.normalize(str);
    return result;
  };

  postcode.render = function(q) {
    var query;
    query = postcode.validate(q);
    window.location = "#/postcode/" + query + " + london";
    postcode.setMapPosFromPostcode(query);
    return false;
  };

  postcode.setMapPosFromPostcode = function(_postcode) {
    return postcode.usePointFromPostcode(_postcode, function(p) {
      return Map.pos = {
        lat: p.lat(),
        long: p.lng()
      };
    });
  };

  postcode.usePointFromPostcode = function(_postcode, callbackFunction) {
    var localSearch;
    localSearch = new GlocalSearch();
    localSearch.setSearchCompleteCallback(null, function() {
      var point, resultLat, resultLng;
      if (localSearch.results[0]) {
        resultLat = localSearch.results[0].lat;
        resultLng = localSearch.results[0].lng;
        point = new google.maps.LatLng(resultLat, resultLng);
        return callbackFunction(point);
      } else {
        return alert("Postcode not found!");
      }
    });
    return localSearch.execute("" + _postcode + ", UK");
  };

