// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
$(document).ready(function () {

  $('.js_resize').autoresize({corners:'corners5'});
  $('.input_clear').looptInputClear();
  $('._autocomplete').searchComplete();
  // $('#right_col').lockMap();

  $('#query_text, #query_location').keydown(function(e){
    if (e.keyCode==13) {
      e.preventDefault();
      if ($('.ac_results').css('display')!='block') {
        runSearch(); 
      }
    }
  })

  $('#search_bar .header_search_icon').click(function(e){
    e.preventDefault();
    runSearch();
  });

});

function trim(str, chars) {
  chars = chars || "\\s";
  str = str.replace(new RegExp("[" + chars + "]+$", "g"), "");  
  return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function linkify(string) {
  var string = string.toString();
  if (string != '') {
    var clean = /[\<\>!@#\$%^&\*(),]/gi;
    var dasherize = /\s+/g;
    string = string.replace(clean, ' ');
    string = trim(string, ' ');
    string = string.replace(dasherize, '-');
    return string.toLowerCase();
  } else {
    return '';
  }
}

function runSearch() {

  var q = $('#query_text').val();
  var l = $('#query_location').val();
  if (q=='' || l=='') {
    alert("You must include a location and query to search");
  } else {
    var link = '/search/' + linkify(l) + '/' + q.replace(/[^a-zA-Z0-9]/g, ' ').replace(/\s+/g, ' ');
    window.location = link;
  }
  return false;
}
