- if ($('#notice_data-location_enabled').length > 0) {
- if (navigator.geolocation) {
- $('#notice_data-location_enabled').change(function() {
- $.cookie(SN.C.S.NoticeLocationCookieName, $('#notice_data-location_enabled').attr('checked'));
- if($('#notice_data-location_enabled').attr('checked')) {
- $('#'+SN.C.S.NoticeLocationName).show();
- $('#'+SN.C.S.NoticeLocationName).addClass('processing');
- navigator.geolocation.getCurrentPosition(function(position) {
- $('#'+SN.C.S.NoticeLat).val(position.coords.latitude);
- $('#'+SN.C.S.NoticeLon).val(position.coords.longitude);
- var data = {'lat': position.coords.latitude,'lon': position.coords.longitude, 'token': $('#token').val()};
- $.getJSON($('#notice_data-location_enabled_container').attr('data-geocode-url'), data,function(location) {
- $('#'+SN.C.S.NoticeLocationName).removeClass('processing');
- if(typeof(location.location_ns)!="undefined") $('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
- if(typeof(location.location_id)!="undefined") $('#'+SN.C.S.NoticeLocationId).val(location.location_id);
- if(typeof(location.name)=="undefined") {
- $('#'+SN.C.S.NoticeLocationName).text(position.coords.latitude + ' ' + position.coords.longitude);
- } else {
- $('#'+SN.C.S.NoticeLocationName).text(location.name);
- $('#'+SN.C.S.NoticeLocationName).attr('href',location.url);
+ var NLat = $('#'+SN.C.S.NoticeLat).val();
+ var NLon = $('#'+SN.C.S.NoticeLon).val();
+ var NLNS = $('#'+SN.C.S.NoticeLocationNs).val();
+ var NLID = $('#'+SN.C.S.NoticeLocationId).val();
+ var NLN = $('#'+SN.C.S.NoticeGeoName).text();
+ var NDGe = $('#'+SN.C.S.NoticeDataGeo);
+
+ function removeNoticeDataGeo() {
+ $('label[for='+SN.C.S.NoticeDataGeo+']')
+ .attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()))
+ .removeClass('checked');
+
+ $('#'+SN.C.S.NoticeLat).val('');
+ $('#'+SN.C.S.NoticeLon).val('');
+ $('#'+SN.C.S.NoticeLocationNs).val('');
+ $('#'+SN.C.S.NoticeLocationId).val('');
+ $('#'+SN.C.S.NoticeDataGeo).attr('checked', false);
+
+ $.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled', { path: '/', expires: SN.U.GetFullYear(2029, 0, 1) });
+ }
+
+ function getJSONgeocodeURL(geocodeURL, data) {
+ $.getJSON(geocodeURL, data, function(location) {
+ var lns, lid;
+
+ if (typeof(location.location_ns) != 'undefined') {
+ $('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
+ lns = location.location_ns;
+ }
+
+ if (typeof(location.location_id) != 'undefined') {
+ $('#'+SN.C.S.NoticeLocationId).val(location.location_id);
+ lid = location.location_id;
+ }
+
+ if (typeof(location.name) == 'undefined') {
+ NLN_text = data.lat + ';' + data.lon;
+ }
+ else {
+ NLN_text = location.name;
+ }
+
+ $('label[for='+SN.C.S.NoticeDataGeo+']')
+ .attr('title', NoticeDataGeo_text.ShareDisable + ' (' + NLN_text + ')');
+
+ $('#'+SN.C.S.NoticeLat).val(data.lat);
+ $('#'+SN.C.S.NoticeLon).val(data.lon);
+ $('#'+SN.C.S.NoticeLocationNs).val(lns);
+ $('#'+SN.C.S.NoticeLocationId).val(lid);
+ $('#'+SN.C.S.NoticeDataGeo).attr('checked', true);
+
+ var cookieValue = {
+ NLat: data.lat,
+ NLon: data.lon,
+ NLNS: lns,
+ NLID: lid,
+ NLN: NLN_text,
+ NLNU: location.url,
+ NDG: true
+ };
+
+ $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue), { path: '/', expires: SN.U.GetFullYear(2029, 0, 1) });
+ });
+ }
+
+ if (NDGe.length > 0) {
+ if ($.cookie(SN.C.S.NoticeDataGeoCookie) == 'disabled') {
+ NDGe.attr('checked', false);
+ }
+ else {
+ NDGe.attr('checked', true);
+ }
+
+ var NGW = $('#notice_data-geo_wrap');
+ var geocodeURL = NGW.attr('title');
+ NGW.removeAttr('title');
+
+ $('label[for='+SN.C.S.NoticeDataGeo+']')
+ .attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()));
+
+ NDGe.change(function() {
+ if ($('#'+SN.C.S.NoticeDataGeo).attr('checked') === true || $.cookie(SN.C.S.NoticeDataGeoCookie) === null) {
+ $('label[for='+SN.C.S.NoticeDataGeo+']')
+ .attr('title', NoticeDataGeo_text.ShareDisable)
+ .addClass('checked');
+
+ if ($.cookie(SN.C.S.NoticeDataGeoCookie) === null || $.cookie(SN.C.S.NoticeDataGeoCookie) == 'disabled') {
+ if (navigator.geolocation) {
+ navigator.geolocation.getCurrentPosition(
+ function(position) {
+ $('#'+SN.C.S.NoticeLat).val(position.coords.latitude);
+ $('#'+SN.C.S.NoticeLon).val(position.coords.longitude);
+
+ var data = {
+ lat: position.coords.latitude,
+ lon: position.coords.longitude,
+ token: $('#token').val()
+ };
+
+ getJSONgeocodeURL(geocodeURL, data);
+ },
+
+ function(error) {
+ switch(error.code) {
+ case error.PERMISSION_DENIED:
+ removeNoticeDataGeo();
+ break;
+ case error.TIMEOUT:
+ $('#'+SN.C.S.NoticeDataGeo).attr('checked', false);
+ break;
+ }
+ },
+
+ {
+ timeout: 10000