From 62b66d12d697e62039fa04525c33328a7d31f31c Mon Sep 17 00:00:00 2001
From: Craig Andrews <candrews@integralblue.com>
Date: Thu, 19 Nov 2009 15:17:18 -0500
Subject: [PATCH] Use the browser's geolocation API to set the location on the
 notice form

---
 js/util.js | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/js/util.js b/js/util.js
index c59c639103..9c79f837ff 100644
--- a/js/util.js
+++ b/js/util.js
@@ -46,7 +46,11 @@ var SN = { // StatusNet
             NoticeInReplyTo: 'notice_in-reply-to',
             NoticeDataAttach: 'notice_data-attach',
             NoticeDataAttachSelected: 'notice_data-attach_selected',
-            NoticeActionSubmit: 'notice_action-submit'
+            NoticeActionSubmit: 'notice_action-submit',
+            NoticeLat: 'notice_data-lat',
+            NoticeLon: 'notice_data-lon',
+            NoticeLocationId: 'notice_data-location_id',
+            NoticeLocationNs: 'notice_data-location_ns'
         }
     },
 
@@ -351,6 +355,13 @@ var SN = { // StatusNet
             });
         },
 
+        NoticeLocationAttach: function() {
+            if(navigator.geolocation) navigator.geolocation.watchPosition(function(position) {
+                $('#'+SN.C.S.NoticeLat).val(position.coords.latitude);
+                $('#'+SN.C.S.NoticeLon).val(position.coords.longitude);
+            });
+        },
+
         NewDirectMessage: function() {
             NDM = $('.entity_send-a-message a');
             NDM.attr({'href':NDM.attr('href')+'&ajax=1'});
@@ -387,6 +398,7 @@ var SN = { // StatusNet
                 });
 
                 SN.U.NoticeDataAttach();
+                SN.U.NoticeLocationAttach();
             }
         },
 
-- 
2.39.5