| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- // geo-location shim
 
- // Source: https://gist.github.com/366184
 
- // currentely only serves lat/long
 
- // depends on jQuery
 
- ;(function(geolocation, $){
 
-   if (geolocation) return;
 
-   
 
-   var cache;
 
-   
 
-   geolocation = window.navigator.geolocation = {};
 
-   geolocation.getCurrentPosition = function(callback){
 
-     
 
-     if (cache) callback(cache);
 
-     
 
-     $.getScript('//www.google.com/jsapi',function(){
 
-       
 
-       cache = {
 
-         coords : {
 
-           "latitude": google.loader.ClientLocation.latitude, 
 
-           "longitude": google.loader.ClientLocation.longitude
 
-         }
 
-       };
 
-       
 
-       callback(cache);
 
-     });
 
-     
 
-   };
 
-   
 
-   geolocation.watchPosition = geolocation.getCurrentPosition;
 
- })(navigator.geolocation, jQuery);
 
- ;(function ($) {
 
-   Drupal.behaviors.geofieldGeolocation = {
 
-     attach: function (context, settings) {
 
-       // callback for getCurrentPosition
 
-       function updateLocation(position) {
 
-         // @TODO: calculate bounding box from accuracy value (accuracy is in meters)
 
-         $fields.find('.geofield_lat').val(position.coords.latitude);
 
-         $fields.find('.geofield_lon').val(position.coords.longitude);
 
-       }
 
-       
 
-       // don't do anything if we're on field configuration
 
-       if (!$(context).find("#edit-instance").length) {
 
-         var $fields = $(context).find('.field-widget-geofield-geolocation');
 
-         // check that we have something to fill up
 
-         // on muti values check only that the first one is empty
 
-         if ($fields.find('.geofield_lat').val() == '' && $fields.find('.geofield_lon').val() == '') {
 
-           // very simple geolocation, no fallback support
 
-           if (navigator.geolocation) {        
 
- 	          navigator.geolocation.getCurrentPosition(updateLocation);
 
-           }
 
-         }
 
-       }
 
-       
 
-     }
 
-   };
 
- })(jQuery);
 
 
  |