﻿var loader;

function search(address, apiKey) {

    if (checkLength($('#search')) == false) {
        updateError($('.validateTips'), "Location value is required! (City Name or ZipCode)");
        $('#searchmsg').fadeIn();
        return true;
    };

    pageTracker._trackEvent('Search', 'Submit', address, 1);

    $('#loader').fadeIn();
    //Reset error msg.
    $('.msg').hide();
    $('#searchmsg > .error').html('');

    $.getJSON("http://maps.google.com/maps/geo?q=" + address + "&key=" + apiKey + "&sensor=false&output=json&callback=?",
      function (data, textStatus) {
          if (parseInt(data.Status.code) == 602) {
              $('.msg').show();
              $('#loader').fadeOut();
              $('#searchmsg').fadeIn();
              updateError($('.validateTips'), 'Unable to locate: "' + address + '"');
          }
          else {
              park_count(data, textStatus);
          }
      });
}

function park_count(data) {

    var lon = data.Placemark[0].Point.coordinates[0];
    var lat = data.Placemark[0].Point.coordinates[1];
    var address = data.Placemark[0].address;

    $.getJSON('/search/parkcount/' + lon + '/' + lat,
        function (data) {
            if (parseInt(data) > 0) {
                document.location = '/search/index/' + lon + '/' + lat;
            } else {
                $('#loader').fadeOut();
                $('.msg').show();
                $('#searchmsg').fadeIn();
                updateError($('.validateTips'), 'We didn\'t find any parks near: "' + address  + '"');
            };
        })
}