$(function() {
  $.extend({
    loader: {
      init: function() {
        var script = document.createElement("script");
        script.src = "http://www.google.com/jsapi?key=ABQIAAAAsf3EHIe2aoYnofSce1Ku7BQFDLtiGodwu5c9h9IwYOOuPL1QCxTO9lTlyEMqII970aiGCBrBhVSgYw&callback=apiLoaded";
        script.type = "text/javascript";
        document.getElementsByTagName("head")[0].appendChild(script);
      },
      load: function() {
        this._loadLocation();
        this._loadMap();
      },
      _loadMap: function() {
        if(typeof loadMap == 'function') {
          google.load("maps", "2", {"callback" : loadMap, "language" : "en"});
        }
      },
      _loadLocation: function() {
        $('form.traceable').each(function() {
          $(this).append('<input type="hidden" name="trace[latitude]"/>');
          $(this).append('<input type="hidden" name="trace[longitude]"/>');
          $(this).append('<input type="hidden" name="trace[city]"/>');
          $(this).append('<input type="hidden" name="trace[country]"/>');
          $(this).append('<input type="hidden" name="trace[country_code]"/>');
          $(this).append('<input type="hidden" name="trace[region]"/>');
        });

        if (google.loader.ClientLocation) {
          var client_location = google.loader.ClientLocation;
          var address = client_location.address;
          $('input[name="trace[latitude]"]').val(client_location.latitude);
          $('input[name="trace[longitude]"]').val(client_location.longitude);
          $('input[name="trace[city]"]').val(address.city);
          $('input[name="trace[country]"]').val(address.country);
          $('input[name="trace[country_code]"]').val(address.country_code);
          $('input[name="trace[region]"]').val(address.region);
        }
      }

    }
  });

  $.loader.init();
});

$(function(){
	$('.submitBtn').hover(
		// mouseover
		function(){ $(this).addClass('submitBtnHover'); },

		// mouseout
		function(){ $(this).removeClass('submitBtnHover'); }
	);
});


var apiLoaded = function() {
  $.loader.load();
};
