- 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+']').removeClass('checked').attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()));
+ $('#'+SN.C.S.NoticeDataGeoSelected).hide();
+
+ $('#'+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');
+ }
+
+ 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 = position.coords.latitude + ';' + position.coords.longitude;
+ }
+ else {
+ NLN_text = location.name;
+ }
+
+ $('#'+SN.C.S.NoticeGeoName)
+ .replaceWith('<a id="notice_data-geo_name"/>');
+
+ $('#'+SN.C.S.NoticeGeoName)
+ .attr('href', location.url)
+ .text(NLN_text)
+ .click(function() {
+ window.open(location.url);
+
+ return false;
+ });
+
+ $('#'+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,
+ 'NDGSM': false
+ };
+ $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue));
+ });
+ }
+
+ 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() {
+ var NLN = $('#'+SN.C.S.NoticeGeoName);
+ if (NLN.length > 0) {
+ NLN.remove();
+ }
+
+ if ($('#'+SN.C.S.NoticeDataGeo).attr('checked') === true || $.cookie(SN.C.S.NoticeDataGeoCookie) === null) {
+ $('label[for='+SN.C.S.NoticeDataGeo+']').addClass('checked').attr('title', NoticeDataGeo_text.ShareDisable);
+
+ var S = '<div id="'+SN.C.S.NoticeDataGeoSelected+'" class="'+SN.C.S.Success+'"/>';
+ var NDGS = $('#'+SN.C.S.NoticeDataGeoSelected);
+
+ if (NDGS.length > 0) {
+ NDGS.replaceWith(S);
+ }
+ else {
+ $('#'+SN.C.S.FormNotice).append(S);
+ }
+
+ NDGS = $('#'+SN.C.S.NoticeDataGeoSelected);
+ NDGS.prepend('<span id="'+SN.C.S.NoticeGeoName+'">Geo</span> <button class="minimize" title="'+NoticeDataGeo_text.InfoMinimize+'">_</button> <button class="close" title="'+NoticeDataGeo_text.ShareDisable+'">×</button>');
+
+ var NLN = $('#'+SN.C.S.NoticeGeoName);
+ NLN.addClass('processing');
+
+ $('#'+SN.C.S.NoticeDataGeoSelected+' button.close').click(function(){
+ removeNoticeDataGeo();
+
+ $('#'+SN.C.S.NoticeDataGeoSelected).remove();
+
+ $('#'+SN.C.S.NoticeDataText).focus();
+
+ return false;
+ });
+
+ $('#'+SN.C.S.NoticeDataGeoSelected+' button.minimize').click(function(){
+ $('#'+SN.C.S.NoticeDataGeoSelected).hide();
+
+ var cookieValue = {
+ 'NLat': $('#'+SN.C.S.NoticeLat).val(),
+ 'NLon': $('#'+SN.C.S.NoticeLat).val(),
+ 'NLNS': $('#'+SN.C.S.NoticeLocationNs).val(),
+ 'NLID': $('#'+SN.C.S.NoticeLocationId).val(),
+ 'NLN': $('#'+SN.C.S.NoticeGeoName).text(),
+ 'NLNU': $('#'+SN.C.S.NoticeGeoName).attr('href'),
+ 'NDG': true,
+ 'NDGSM': true
+ };
+ $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue));
+
+ $('#'+SN.C.S.NoticeDataText).focus();
+
+ return false;
+ });
+
+ 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.NoticeGeoName).text(NoticeDataGeo_text.ErrorTimeout).removeClass('processing');
+ break;
+ }
+ },
+
+ {
+ timeout: 10000