if (typeof itsmo == 'undefined') { var itsmo = {}; } if (typeof itsmo.vars == 'undefined') { itsmo.vars = {}; } itsmo.myspot = {}; itsmo.vars.g_myspot_request = null; itsmo.vars.g_myspot_list = [];//リストの内容保持 itsmo.vars.g_myspot_folder_id = [];//フォルダID itsmo.vars.g_myspot_folder_name = [];//フォルダ名 itsmo.vars.g_myspot_folder_cnt = [];//フォルダ件数 itsmo.vars.g_myspot_folder_up = [];//更新日 itsmo.vars.g_myspot_folder_selected = null; itsmo.vars.g_myspot_group_selected = null; itsmo.vars.g_myspot_tipcnt_c = 0;//TIP itsmo.vars.g_myspot_tipid_c = []; itsmo.vars.g_myspot_tiphtml_c = ''; itsmo.vars.g_myspot_tipcnt_o = 0; itsmo.vars.g_myspot_tipid_o = []; itsmo.vars.g_myspot_tiphtml_o = ''; itsmo.vars.g_myspot_opentip = null; itsmo.vars.g_myspot_elem_listfolderselect = null;//フォルダ選択ボックス itsmo.vars.g_myspot_elem_addfolderselect = null; itsmo.vars.g_myspot_elem_addikkatufolderselect = null; itsmo.vars.g_myspot_elem_myspotlistdiv = null;//myスポット一覧 itsmo.vars.g_myspot_listpage = 0; itsmo.vars.g_myspot_allcnt = 0; itsmo.vars.g_myspot_disp = ''; itsmo.vars.g_myspot_del = ''; itsmo.vars.g_myspot_edit_spot = false; // 地点変更時フラグ itsmo.vars.g_myspot_group_list = []; // グループリスト保持用 itsmo.vars.opened_cond_window = null; // リストWindow itsmo.vars.g_myspot_snspostset = {}; // SNS投稿設定保持用 itsmo.vars.g_myspot_adddata = {}; // 登録用データ //------------------------------------------------ // 基本処理 //------------------------------------------------ // メニュートップ itsmo.myspot.myspot_leftmenutop = function() { itsmo.vars.g_myspot_folder_selected = null; itsmo.vars.g_myspot_group_selected = null; itsmo.range.range_tipclear(); itsmo.myspot.myspot_clear(); itsmo.myspot.myspot_listreflesh(); }; //------------------------------------------------ // レイヤー制御 //------------------------------------------------ itsmo.myspot.myspot_clear = function() { if(itsmo.vars.g_myspot_tipcnt_c == 0 && itsmo.vars.g_myspot_tipcnt_o == 0) return; for(var i = 0;i < itsmo.vars.g_myspot_tipcnt_c;i ++) { itsmo.vars.g_map_layer_clickable.removeById( itsmo.vars.g_myspot_tipid_c[i] ) itsmo.vars.g_myspot_tipid_c[i] = null; } itsmo.vars.g_myspot_tipcnt_c = 0; itsmo.vars.g_map_layer_clickable.removeById( itsmo.vars.g_myspot_opentip ) itsmo.vars.g_myspot_opentip = null; itsmo.vars.g_myspot_opentip_uid = null; if ($('#ajax_menu-my').hasClass('act')) itsmo.sub.map_tab_sethtml(''); }; //------------------------------------------------ // バルーン制御 //------------------------------------------------ itsmo.myspot.myspot_openballoon = function(idx) { var data = itsmo.vars.g_myspot_list[idx]; // 中吹き出し var html = itsmo.vars.g_myspot_tiphtml_o; html = html.replace(/__TITLE__/g, '' + data.title); html = html.replace(/__COMMENT__/g, '' + data.comment); html = html.replace(/__ID__/g, '' + idx); html = html.replace(/__LAT__/g, '' + data.lat); html = html.replace(/__LON__/g, '' + data.lon); var view_js = ''; if (data.ckbn != '' && data.poicd != '') { // 駅詳細 // 住所一覧 // 施設詳細 if (data.view_detail != '' && data.view_detail != undefined && data.view_detail != null) { view_js = '詳細 '; } } else if (data.url != '') { // CP_URLなど view_js = '詳細 '; } else { // 施設以外 } html = html.replace(/__VIEW_DETAIL__/g, '' + view_js); //ツールチップ作成 var div_id = itsmo.myspot.myspot_tipopen(html, data, idx); }; // ツールチップ削除 itsmo.myspot.myspot_clearballoon = function() { if(itsmo.vars.g_myspot_opentip == null) return; itsmo.vars.g_map_layer_clickable.removeById(itsmo.vars.g_myspot_opentip); itsmo.vars.g_myspot_opentip = null; itsmo.vars.g_myspot_opentip_uid = null; itsmo.vars.g_map_draged = 2; }; // ツールチップ全部clear itsmo.myspot.myspot_TipAllClear = function(flg) { itsmo.myspot.myspot_clearballoon(); if(itsmo.vars.g_myspot_list){ $.each(itsmo.vars.g_myspot_list, function(i,val) { itsmo.vars.g_map_layer_clickable.removeById(val.tip_id); }); } itsmo.vars.g_myspot_list = {}; }; // 小吹き出し作成 itsmo.myspot.set_tooltip_s = function(tipHtml, data, idx) { var clat = data.lat; var clon = data.lon; var uid = data.uid; var div_id = 'tip_c_' + uid; tipHtml = '
' + tipHtml + '
'; var i = itsmo.vars.g_map_search_location; if ( clat == '') { clat = i.lat; } if ( clon == '') { clon = i.lon; } var point = itsmo.lib.toLatLon(clat, clon); var tip = new ZDC.UserWidget(point, { html: tipHtml, size: itsmo.sub.getHtmlSize(tipHtml), offset: new ZDC.Pixel(-8, -10) }); tip.setZindex(itsmo.map.d_map_zIdx_myspot); id = itsmo.vars.g_map_layer_clickable.add( tip ); itsmo.vars.g_map_layer_clickable.showById( id ); itsmo.vars.g_myspot_tipid_c[idx] = id; data['tip_id'] = id; itsmo.vars.g_myspot_list[idx] = data; itsmo.map.addEventTooltip(tip, itsmo.map.d_map_zIdx_myspot ); if(itsmo.vars.g_config.mapinfo_minimize != 0){ $('#'+ div_id +' .fukidasi0').attr('class','f-supper0'); } return div_id; }; // 中吹き出し表示 itsmo.vars.g_myspot_opentip_uid = null; itsmo.myspot.myspot_tipopen = function(html, data, idx) { if (itsmo.vars.g_myspot_opentip_uid == data.uid) { return; } itsmo.myspot.myspot_clearballoon(); var div_id = 'tip_o_' + data.uid; html = '
' + html + '
'; // ツールチップを作成 var point = itsmo.lib.toLatLon(data.lat, data.lon); var tip = new ZDC.UserWidget(point, { html: html, //size: itsmo.sub.getHtmlSize(html), offset: new ZDC.Pixel(-8, -10) }); tip.setZindex(itsmo.map.d_map_zIdx_myspot + 10); itsmo.vars.g_myspot_opentip = itsmo.vars.g_map_layer_clickable.add(tip); itsmo.vars.g_myspot_opentip_uid = data.uidl itsmo.vars.g_map_layer_clickable.showById(itsmo.vars.g_myspot_opentip); // itsmo.vars.g_myspot_tipid_o[idx] = itsmo.vars.g_myspot_opentip; return div_id; }; //------------------------------------------------ // 登録 //------------------------------------------------ // 施設詳細(遷移) itsmo.myspot.detail_addmyspot = function(lat, lon, title, kn, addr, tel, poicd, gnrcd, ckbn) { itsmo.vars.g_myspot_disp = 'contDetail'; itsmo.myspot.other_addmyspot(lat, lon, title, kn, addr, tel, poicd, gnrcd, ckbn); }; // 施設・住所・不動産・アルバイト・ホテル・おすすめ情報の中吹き出し itsmo.myspot.other_addmyspot = function(lat, lon, title, kn, addr, tel, poicd, gnrcd, ckbn, comment, url, isAddress) { if(itsmo.lib.cookie_get('oUserInfoNavi')==''){ itsmo.lib.map_windowopen('regist_place_login_window'); return false; } setData = function(){}; setData.title = decodeURIComponent(title); setData.tel = tel; setData.lat = lat; setData.lon = lon; if (comment) { setData.comment = comment; } else { setData.comment = ''; } var fldid = '9999'; if (kn) fldid = itsmo.lib.initCheck(kn); setData.folder = fldid; setData.group = '0'; setData.regist_date = ''; setData.update_date = ''; setData.regist_client = ''; setData.update_client = ''; setData.poicd = poicd; setData.ckbn = ckbn; setData.gnrcd = gnrcd; if (url) { setData.url = url; } else { setData.url = ''; } if (addr || isAddress) { if(addr){ setData.addr = addr; } else { setData.addr = ''; } itsmo.vars.g_myspot_adddata = setData; // groupセレクトボックス if (itsmo.vars.g_myspot_group_list.length == 0 || typeof itsmo.vars.g_myspot_snspostset.con_fb === 'undefined') { itsmo.myspot.group_listget(); } else { itsmo.myspot.myspot_add(); } } else { var point = itsmo.lib.toLatLon(lat, lon); itsmo.sub.map_getaddr({ lat: lat, lon: lon}, function(result) { // itsmo.lib.map_wait2close(); if(result.status == 0) { var addr = result.items[0].address; } else { var addr = '住所なし'; } setData.addr = addr; itsmo.vars.g_myspot_adddata = setData; // groupセレクトボックス if (itsmo.vars.g_myspot_group_list.length == 0 || typeof itsmo.vars.g_myspot_snspostset.con_fb === 'undefined') { itsmo.myspot.group_listget(); } else { itsmo.myspot.myspot_add(); } }); } }; //------------------------------------------------ // myspot一覧取得 //------------------------------------------------ itsmo.myspot.myspot_listget = function(id) { if(itsmo.vars.g_myspot_folder_selected == null) itsmo.vars.g_myspot_folder_selected = ''; if(itsmo.vars.g_myspot_group_selected == null) itsmo.vars.g_myspot_group_selected = ''; var prm = 'mode=myspot_list'; prm += '&folder='+itsmo.vars.g_myspot_folder_selected+'&page='+itsmo.vars.g_myspot_listpage; prm += '&group='+itsmo.vars.g_myspot_group_selected; if(id) prm += '&id=' + id; if ($('#ajax_menu-my').hasClass('act')) { // 処理中画像表示 itsmo.lib.document_off('ajax_leftmenu'); itsmo.lib.document_on('ajax_leftmenu_wait'); } else { // 処理中ウィンドウオープン // itsmo.lib.map_wait2open('しばらくお待ちください。'); } if (itsmo.vars.g_myspot_request != null) itsmo.lib.XMLHttpRequest2_abort(itsmo.vars.g_myspot_request); itsmo.vars.g_myspot_request = itsmo.lib.XMLHttpRequest2_send('/map/ajax_myspot.php',itsmo.myspot.myspot_listget_result,'GET',prm); }; itsmo.myspot.myspot_listget_result = function(result) { // エラーチェック var err = parseInt($(result).find('err').text(), 10); if (err != 0) { if (err == 99) { itsmo.lib.aplErrorWindow('W', '0008', 'myspot'); } else { itsmo.lib.aplErrorWindow('W', '0003', 'myspot', '登録地点一覧'); if ($('#ajax_menu-my').hasClass('act')) { // 処理中画像非表示 itsmo.lib.document_on('ajax_leftmenu'); itsmo.lib.document_off('ajax_leftmenu_wait'); } return; } } if ($('#ajax_menu-my').hasClass('act')) { // 処理中画像非表示 itsmo.lib.document_on('ajax_leftmenu'); itsmo.lib.document_off('ajax_leftmenu_wait'); } // クリア itsmo.myspot.myspot_clear(); // IPリンクチップ最小化 itsmo.sub.map_maplink_tipclear(); // 小吹き出し var html_c = decodeURIComponent($(result).find('tiphtmlc').text()); itsmo.vars.g_myspot_tiphtml_c = html_c; // 中吹き出し var html_o = decodeURIComponent($(result).find('tiphtmlo').text()); itsmo.vars.g_myspot_tiphtml_o = html_o; // グループ一覧をリストに保持 var i = 0; $(result).find('group_list').each(function() { itsmo.vars.g_myspot_group_list[$(this).find('fldid').text()] = $(this).find('fldnm').text(); i++; }); // TIPS作成 i = 0; $(result).find('list').each(function() { // リスト保持 listData = function(){}; listData.uid = $(this).find('id').text(); listData.title = $(this).find('title').text(); listData.addr = $(this).find('addr').text(); listData.comment = $(this).find('comment').text(); listData.tel = $(this).find('tel').text(); listData.lat = $(this).find('lat').text(); listData.lon = $(this).find('lon').text(); listData.folder = $(this).find('folder').text(); listData.group = $(this).find('group').text(); listData.disp_imgurl = $(this).find('disp_imgurl').text(); listData.regist_date = $(this).find('regist_date').text(); listData.update_date = $(this).find('update_date').text(); listData.regist_client = $(this).find('regist_client').text(); listData.update_client = $(this).find('update_client').text(); listData.poicd = $(this).find('poicd').text(); listData.ckbn = $(this).find('ckbn').text(); listData.gnrcd = $(this).find('gnrcd').text(); listData.url = $(this).find('detail_url').text(); listData.view_detail = $(this).find('view_detail').text(); itsmo.vars.g_myspot_list[i] = listData; // 小吹き出し var html = itsmo.vars.g_myspot_tiphtml_c; html = html.replace(/__ID__/g, '' + i); html = html.replace(/__TITLE_S__/g, '' + $(this).find('title_s').text()); //ツールチップ作成 var div_id = itsmo.myspot.set_tooltip_s(html, itsmo.vars.g_myspot_list[i], i); itsmo.vars.g_myspot_tipcnt_c ++; i++; }); itsmo.vars.g_myspot_allcnt = $(result).find('allcnt').text(); if ($('#ajax_menu-my').hasClass('act')) { itsmo.sub.map_tab_sethtml($(result).find('listhtml').text()); itsmo.myspot.setSelectbox($('#init_'+itsmo.vars.g_myspot_folder_selected)); itsmo.myspot.setSelectbox($('#group_'+itsmo.vars.g_myspot_group_selected)); } else { // 左メニューリサイズ itsmo.map.setLeftContentSize(); } // 指定idを開く処理 var openid = $(result).find('openid').text(); if(openid != '') { itsmo.vars.g_map_obj.moveLatLon(itsmo.lib.toLatLon(itsmo.vars.g_myspot_list[openid].lat, itsmo.vars.g_myspot_list[openid].lon)); itsmo.myspot.myspot_openballoon(openid); } // 処理中非表示 itsmo.lib.map_waitclose(); }; // 読み込みなおし itsmo.myspot.myspot_listreflesh = function() { itsmo.vars.g_myspot_listpage = 0; // 地点変更のイベント初期化 itsmo.myspot.chengeClickMap(); itsmo.myspot.myspot_listget(); }; // ページ遷移 itsmo.myspot.myspot_listpage = function(p) { itsmo.vars.g_myspot_listpage = p; // 地点変更のイベント初期化 itsmo.myspot.chengeClickMap(); itsmo.myspot.myspot_listget(); }; // 地図以外から登録地点表示 itsmo.myspot.myspot_disp = function(p) { itsmo.vars.g_myspot_listpage = 0; // マイページタブ表示 itsmo.sub.map_tab_change('myspot', ['myspot', p]); }; //------------------------------------------------ // myspot表示 //------------------------------------------------ itsmo.vars.g_myspot_view_idx = -1; itsmo.myspot.myspot_view = function(idx) { itsmo.vars.g_map_obj.moveLatLon(itsmo.lib.toLatLon(itsmo.vars.g_myspot_list[idx].lat, itsmo.vars.g_myspot_list[idx].lon)); itsmo.myspot.myspot_openballoon(idx); // 地点変更のイベント初期化 itsmo.myspot.chengeClickMap(); // 文字整形 var comment = itsmo.vars.g_myspot_list[idx].comment.replace(/
/g,'\n'); var reg_cl = ''; if(itsmo.vars.g_myspot_list[idx].regist_client == 'P') reg_cl = '(PC)'; if(itsmo.vars.g_myspot_list[idx].regist_client == 'M') reg_cl = '(携帯)'; var upd_cl = ''; if(itsmo.vars.g_myspot_list[idx].update_client == 'P') upd_cl = '(PC)'; if(itsmo.vars.g_myspot_list[idx].update_client == 'M') upd_cl = '(携帯)'; // 値設定 itsmo.lib.document_setvalue('ajax_myspot_view_title',itsmo.vars.g_myspot_list[idx].title); itsmo.lib.document_setvalue('ajax_myspot_view_title2',itsmo.vars.g_myspot_list[idx].title); itsmo.lib.document_setvalue('ajax_myspot_view_imgurl',itsmo.vars.g_myspot_list[idx].disp_imgurl); itsmo.lib.document_setvalue('ajax_myspot_view_group',itsmo.vars.g_myspot_group_list[itsmo.vars.g_myspot_list[idx].group]); itsmo.lib.document_setvalue('ajax_myspot_view_folder',itsmo.myspot.myspot_foldername(itsmo.vars.g_myspot_list[idx].folder)); if (itsmo.vars.g_myspot_list[idx].group) { itsmo.lib.document_setvalue('ajax_myspot_view_group',itsmo.vars.g_myspot_group_list[itsmo.vars.g_myspot_list[idx].group]); } else { $('#ajax_myspot_view_group').parent().parent().css('display', 'none'); } itsmo.lib.document_setvalue('ajax_myspot_view_comment',itsmo.vars.g_myspot_list[idx].comment); itsmo.lib.document_setvalue('ajax_myspot_view_tel',itsmo.vars.g_myspot_list[idx].tel); itsmo.lib.document_setvalue('ajax_myspot_view_addr',itsmo.vars.g_myspot_list[idx].addr); itsmo.lib.document_setvalue('ajax_myspot_view_latlon','E'+itsmo.lib.map_dms2deg(itsmo.vars.g_myspot_list[idx].lon)+' N'+itsmo.lib.map_dms2deg(itsmo.vars.g_myspot_list[idx].lat)); itsmo.lib.document_setvalue('ajax_myspot_view_newdate',itsmo.vars.g_myspot_list[idx].regist_date + ' ' + reg_cl); itsmo.lib.document_setvalue('ajax_myspot_view_update',itsmo.vars.g_myspot_list[idx].update_date + ' ' + upd_cl); itsmo.vars.g_myspot_view_idx = idx; if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 $('#screen-wrap .screen').bgiframe(); } itsmo.lib.map_windowopen('ajax_myspot_view'); }; // 編集 itsmo.myspot.myspot_view_edit = function() { itsmo.lib.map_windowclose(); itsmo.myspot.myspot_addedit(itsmo.vars.g_myspot_view_idx); }; // ルート設定 itsmo.myspot.myspot_view_addstart = function() { itsmo.myroute.hereStart(itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].title, {lat:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lat,lon:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lon}); itsmo.lib.map_windowclose(); }; itsmo.myspot.myspot_view_addstop = function() { itsmo.myroute.hereByway(itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].title, {lat:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lat,lon:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lon}); itsmo.lib.map_windowclose(); }; itsmo.myspot.myspot_view_addgoal = function() { itsmo.myroute.hereGo(itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].title, {lat:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lat,lon:itsmo.vars.g_myspot_list[itsmo.vars.g_myspot_view_idx].lon}); itsmo.lib.map_windowclose(); }; //------------------------------------------------ // myspotいきなり表示 //------------------------------------------------ itsmo.myspot.myspot_open = function(id,fid,gid) { itsmo.sub.map_tab_change('myspot', ['myspot', id, fid, gid]); itsmo.lib.document_off('ajax_mypage_top'); itsmo.lib.document_on('ajax_mypage_myspot'); if(fid != null && fid != '') itsmo.vars.g_myspot_folder_selected = fid; if(gid != null && gid != '') itsmo.vars.g_myspot_group_selected = gid; itsmo.myspot.myspot_listget(id); return; } //------------------------------------------------ // myspot編集 //------------------------------------------------ // 新規保存(地図の中心/地図の右クリック) itsmo.myspot.myspot_addpoint = function(ckbn) { var loc = itsmo.lib.toMilliSec(itsmo.vars.g_map_obj.getLatLon()); // itsmo.lib.map_wait2open('しばらくお待ちください'); itsmo.vars.g_myspot_view_idx = -1; itsmo.sub.map_getaddr(loc,function(result) { // itsmo.lib.map_wait2close(); if(result.status == 0) { var addr = result.items[0].address; } else { var addr = '住所なし'; } itsmo.myspot.myspot_addpoint2(addr,loc.lat,loc.lon,ckbn); }); }; itsmo.myspot.myspot_addpoint2 = function(title,lat,lon,ckbn) { setData = function(){}; setData.title = title; setData.addr = title; setData.comment = ''; setData.tel = ''; setData.lat = lat; setData.lon = lon; setData.folder = '9999'; setData.group = '0'; setData.regist_date = ''; setData.update_date = ''; setData.regist_client = ''; setData.update_client = ''; setData.poicd = ''; setData.ckbn = (ckbn != '' && ckbn != undefined && ckbn != null)? ckbn : '' ; setData.gnrcd = ''; setData.url = ''; itsmo.vars.g_myspot_adddata = setData; // SNS投稿設定取得・設定 itsmo.myspot.grant_listget(); }; // 編集 itsmo.myspot.myspot_addedit = function(idx) { itsmo.vars.g_myspot_view_idx = idx; itsmo.vars.g_map_obj.moveLatLon(itsmo.lib.toLatLon(itsmo.vars.g_myspot_list[idx].lat, itsmo.vars.g_myspot_list[idx].lon)); itsmo.vars.g_myspot_adddata = itsmo.vars.g_myspot_list[idx]; itsmo.myspot.myspot_add(); }; // ウィンドウ開く itsmo.myspot.myspot_add = function() { // グループ一覧設定 var group_sb = $('#ajax_myspot_add_group'); if(group_sb.get(0).type == 'select-one') { group_sb = group_sb.get(0); i = 0; for (var key in itsmo.vars.g_myspot_group_list) { group_sb.length = i+1; group_sb.options[i].value = key; group_sb.options[i].text = itsmo.vars.g_myspot_group_list[key]; i++; } } // 地点変更のイベント初期化 if (itsmo.vars.g_myspot_disp != 'contDetail') itsmo.myspot.chengeClickMap(); addData = itsmo.vars.g_myspot_adddata; // 文字整形 comment = addData.comment.replace(/
/g,'\n'); var reg_cl = ''; if(addData.regist_client == 'P') reg_cl = '(PC)'; if(addData.regist_client == 'M') reg_cl = '(携帯)'; var upd_cl = ''; if(addData.update_client == 'P') upd_cl = '(PC)'; if(addData.update_client == 'M') upd_cl = '(携帯)'; // タイトルの変更 if(addData.uid) { //-- 編集の場合 // タイトル設定 var head = addData.title; // 地点変更欄非表示 $('#ajax_myspot_edit_spot').show(); $('#ajax_myspot_edit_spot').click(function() { itsmo.myspot.myspotEditSpot(itsmo.vars.g_myspot_view_idx); return false; }); // SNS投稿欄非表示 $('#snspostchk').parent().hide(); } else { //-- 新規の場合 // タイトル設定 var head = "新規登録"; // 地点変更欄表示 $('#ajax_myspot_edit_spot').hide(); // SNS投稿欄表示 $('#snspostchk').parent().show(); } // 値セット itsmo.lib.document_setvalue('ajax_myspot_add_head', head); itsmo.lib.document_setvalue('ajax_myspot_add_title', addData.title); itsmo.lib.document_setvalue('ajax_myspot_add_addr', addData.addr); // コメントに住所を表示する - 新規登録時のみ 090515a-yanagawa if(addData.uid) { itsmo.lib.document_setvalue('ajax_myspot_add_comment', comment); } else { if (addData.comment) { itsmo.lib.document_setvalue('ajax_myspot_add_comment', addData.addr + addData.comment); } else { itsmo.lib.document_setvalue('ajax_myspot_add_comment', addData.addr); } } itsmo.lib.document_setvalue('ajax_myspot_add_tel', addData.tel); itsmo.lib.document_setvalue('ajax_myspot_add_latlon', 'E'+itsmo.lib.map_dms2deg(addData.lon)+' N'+itsmo.lib.map_dms2deg(addData.lat)); if(addData.regist_client) { itsmo.lib.document_setvalue('ajax_myspot_add_newdate', addData.regist_date + ' ' + reg_cl); } else { itsmo.lib.document_setvalue('ajax_myspot_add_newdate', ''); } if(addData.update_client) { itsmo.lib.document_setvalue('ajax_myspot_add_update', addData.update_date + ' ' + upd_cl); } else { itsmo.lib.document_setvalue('ajax_myspot_add_update', ''); } itsmo.lib.document_setvalue('ajax_myspot_add_folder', addData.folder); if (addData.group) { itsmo.lib.document_setvalue('ajax_myspot_add_group', addData.group); } else { $('#ajax_myspot_add_group').parent().parent().css('display', 'none'); } itsmo.lib.document_setvalue('ajax_myspot_add_imgurl', addData.disp_imgurl); itsmo.lib.document_setvalue('ajax_myspot_add_id', addData.uid); itsmo.lib.document_setvalue('ajax_myspot_add_lat', addData.lat); itsmo.lib.document_setvalue('ajax_myspot_add_lon', addData.lon); itsmo.lib.document_setvalue('ajax_myspot_add_poicd', addData.poicd); itsmo.lib.document_setvalue('ajax_myspot_add_ckbn', addData.ckbn); itsmo.lib.document_setvalue('ajax_myspot_add_gnrcd', addData.gnrcd); itsmo.lib.document_setvalue('ajax_myspot_add_url', addData.url); // SNS投稿設定 var sns_obj = $('#snspostchk'); var sns_set = itsmo.vars.g_myspot_snspostset; if (sns_set.con_fb || sns_set.con_twt || sns_set.con_mixi) { sns_obj.find('#snscon_on').show(); sns_obj.find('#snscon_off').hide(); if (sns_set.con_fb) { if (sns_set.tar_fb) { sns_obj.find('#sns_chk_fb').attr('checked','checked'); } else { sns_obj.find('#sns_chk_fb').attr('checked', false); } sns_obj.find('#sns_chk_fb').parent().parent().show(); } if (sns_set.con_twt) { if (sns_set.tar_twt) { sns_obj.find('#sns_chk_tw').attr('checked','checked'); } else { sns_obj.find('#sns_chk_tw').attr('checked', false); } sns_obj.find('#sns_chk_tw').parent().parent().show(); } if (sns_set.con_mixi) { if (sns_set.tar_mixi) { sns_obj.find('#sns_chk_mixi').attr('checked','checked'); } else { sns_obj.find('#sns_chk_mixi').attr('checked', false); } sns_obj.find('#sns_chk_mixi').parent().parent().show(); } } else { sns_obj.find('#snscon_on').hide(); sns_obj.find('#snscon_off').show(); } if (itsmo.vars.g_myspot_disp != 'contDetail') { if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 $('#screen-wrap .screen').bgiframe(); } } itsmo.lib.map_windowopen('ajax_myspot_add'); }; // 保存 ------------------------------------------ itsmo.myspot.myspot_add_submit = function() { // 値を取得 var title = itsmo.lib.document_getvalue('ajax_myspot_add_title'); var addr = itsmo.lib.document_getvalue('ajax_myspot_add_addr'); var comment = itsmo.lib.document_getvalue('ajax_myspot_add_comment'); var tel = itsmo.lib.document_getvalue('ajax_myspot_add_tel'); var folder = itsmo.lib.document_getvalue('ajax_myspot_add_folder'); if ($('#ajax_myspot_add_group').parent().parent().css('display') == 'none') { var group = 0; } else { var group = itsmo.lib.document_getvalue('ajax_myspot_add_group'); } var id = itsmo.lib.document_getvalue('ajax_myspot_add_id'); var lat = itsmo.lib.document_getvalue('ajax_myspot_add_lat'); var lon = itsmo.lib.document_getvalue('ajax_myspot_add_lon'); var poicd = itsmo.lib.document_getvalue('ajax_myspot_add_poicd'); var ckbn = itsmo.lib.document_getvalue('ajax_myspot_add_ckbn'); var gnrcd = itsmo.lib.document_getvalue('ajax_myspot_add_gnrcd'); var url = itsmo.lib.document_getvalue('ajax_myspot_add_url'); var post_f = itsmo.lib.document_getvalue('sns_chk_fb'); var post_t = itsmo.lib.document_getvalue('sns_chk_tw'); var post_m = itsmo.lib.document_getvalue('sns_chk_mixi'); var posts = []; if (post_f) posts.push(post_f); if (post_t) posts.push(post_t); if (post_m) posts.push(post_m); // 入力チェック ------------------------------ // タイトル title = title.replace(/^[\s ]+|[\s ]+$/g, ""); if(title.length < 2 || title.length > 24) { alert("タイトルは2~24文字で入力して下さい"); return; } // コメント tmp = comment; tmp = tmp.replace(/^[\s ]+|[\s ]+$/g, ""); tmp = tmp.replace(/\n/g,''); tmp = tmp.replace(/\r/g,''); if(tmp.length > 60) { alert("コメントは60文字以内で入力して下さい"); return; } // 電話番号 if(tel.length > 15) { alert("電話番号は15文字以内で入力して下さい"); return; } if(tel.match(/[^0-9-]+/)) { alert("電話番号は半角数字とハイフンで入力して下さい"); return; } // 実行 var prm = 'mode=myspot_edit'; prm += '&title='+encodeURIComponent(title)+'&addr='+encodeURIComponent(addr)+'&comment='+encodeURIComponent(comment)+'&tel='+encodeURIComponent(tel)+'&folder='+encodeURIComponent(folder); prm += '&group='+encodeURIComponent(group)+'&id=' + id + '&lat=' + lat + '&lon=' + lon + '&poicd=' + poicd + '&ckbn=' + ckbn + '&gnrcd=' + gnrcd + '&url=' + encodeURIComponent(url); if (posts.length > 0) prm += '&target='+encodeURIComponent(posts.join(',')); var path = '/map/ajax_myspot.php'; if (itsmo.vars.g_myspot_disp == 'contDetail') path = 'https://' + itsmo.vars.d_host_www + '/map/ajax_myspot.php'; itsmo.lib.map_windowclose(); itsmo.lib.XMLHttpRequest2_send_wait(path,itsmo.myspot.myspot_add_submit_result,'GET',prm,'保存中'); }; itsmo.myspot.myspot_add_submit_result = function(result) { // エラーチェック var err = $(result).find('err').text(); if(err != 0) { if (err == 99) { itsmo.lib.aplErrorWindow('W', '0008', 'myspot'); } else { itsmo.lib.aplErrorWindow('W', '0004', 'myspot', '登録地点'); } return; } // 確認ウィンドウ itsmo.lib.aplErrorWindow('I', '0001', 'myspot', '登録地点', 'spotadd'); // 正常処理 if (itsmo.vars.g_myspot_disp != 'contDetail') itsmo.myspot.myspot_listreflesh();//一覧更新 }; // 削除 ------------------------------------------ itsmo.myspot.myspot_del = function(idx) { // 地点変更のイベント初期化 itsmo.myspot.chengeClickMap(); if (typeof idx === 'undefined') { // 一覧から削除 var cnt = itsmo.lib.getCheckNum('ajax_mayspot_list_del'); if (cnt == false) { itsmo.lib.aplErrorWindow('E', '0006', 'myspot', '登録地点'); return; } } else { // 登録地点中吹き出しから削除 itsmo.vars.g_myspot_del = itsmo.vars.g_myspot_list[idx].uid; } itsmo.lib.map_confirm('登録地点の削除','選択した登録地点を削除いたします。
よろしいですか?',itsmo.myspot.myspot_del_submit); }; itsmo.myspot.myspot_del_submit = function() { if(itsmo.vars.g_map_confirm_yes == 0) return; if (itsmo.vars.g_myspot_del == '') { var i = 0; var del = ''; while(1) { var flg = itsmo.lib.document_getvalue('ajax_mayspot_list_del'+i); if (flg == null) break; if (flg != '') { if (del) del = del + ','; del = del + itsmo.vars.g_myspot_list[i].uid; } i++; } itsmo.vars.g_myspot_del = del; } // 実行 var prm = 'mode=myspot_del'; prm += '&id=' + itsmo.vars.g_myspot_del; itsmo.lib.XMLHttpRequest2_send_wait('/map/ajax_myspot.php',itsmo.myspot.myspot_del_result,'GET',prm,'削除中'); }; itsmo.myspot.myspot_del_result = function(result) { // エラーチェック var err = parseInt($(result).find('err').text(), 10); if(err != 0) { if (err == 99) { itsmo.lib.aplErrorWindow('W', '0008', 'myspot'); } else { itsmo.lib.aplErrorWindow('W', '0005', 'myspot', '登録地点'); } return; } itsmo.vars.g_myspot_del = ''; // 確認ウィンドウ itsmo.lib.aplErrorWindow('I', '0002', 'myspot', '登録地点', 'spotdel'); // 正常処理 itsmo.myspot.myspot_clearballoon(); // ツールチップ削除 itsmo.myspot.myspot_listreflesh(); // 一覧更新 }; //-------------------------------------------------------------------------------------------------- // フォルダ一覧取得 //-------------------------------------------------------------------------------------------------- itsmo.myspot.myspot_folderlistget = function(func) { // 特にする事なし itsmo.vars.g_myspot_folder_selected = 0; }; // フォルダidをフォルダ名に変更 itsmo.myspot.myspot_foldername = function(id) { if(id == 1) return 'あ行'; if(id == 2) return 'か行'; if(id == 3) return 'さ行'; if(id == 4) return 'た行'; if(id == 5) return 'な行'; if(id == 6) return 'は行'; if(id == 7) return 'ま行'; if(id == 8) return 'や行'; if(id == 9) return 'ら行'; if(id == 10) return 'わ行'; return 'その他'; }; //-------------------------------------------------------------------------------------------------- // グループ一覧取得(SNS投稿設定も同時取得) //-------------------------------------------------------------------------------------------------- // フォルダidをフォルダ名に変更 itsmo.myspot.group_listget = function() { var prm = 'mode=group_list'; /* if ($('#ajax_menu-my').hasClass('act')) { // 処理中画像表示 itsmo.lib.document_off('ajax_myspot_add'); itsmo.lib.document_on('ajax_myspot_window_wait'); } */ itsmo.lib.XMLHttpRequest2_send('/map/ajax_myspot.php',itsmo.myspot.group_listget_result,'GET',prm); return ''; }; itsmo.myspot.group_listget_result = function(result) { // エラーチェック var err = parseInt($(result).find('err').text(), 10); if (err != 0) { if (err == 99) { itsmo.lib.aplErrorWindow('W', '0008', 'myspot_group'); } else { itsmo.lib.aplErrorWindow('W', '0003', 'myspot_group', '登録地点グループ'); } return; } // グループ一覧をリストに保持 var i = 0; var group_sb = $('#ajax_myspot_add_group'); if(group_sb.get(0).type == 'select-one') { group_sb = group_sb.get(0); $(result).find('group_list').each(function() { itsmo.vars.g_myspot_group_list[$(this).find('fldid').text()] = $(this).find('fldnm').text(); i++; group_sb.length = i; group_sb.options[$(this).find('fldid').text()].value = $(this).find('fldid').text(); group_sb.options[$(this).find('fldid').text()].text = $(this).find('fldnm').text(); }); } // SNS投稿設定を保持 var setdata = {}; setdata.con_fb = $(result).find('con_fb').text() setdata.con_twt = $(result).find('con_twt').text() setdata.con_mixi = $(result).find('con_mixi').text() setdata.tar_fb = $(result).find('tar_fb').text() setdata.tar_twt = $(result).find('tar_twt').text() setdata.tar_mixi = $(result).find('tar_mixi').text() itsmo.vars.g_myspot_snspostset = setdata; itsmo.myspot.myspot_add(); // other_addmyspot で登録用データ整形済み } //-------------------------------------------------------------------------------------------------- // SNS投稿設定取得 //-------------------------------------------------------------------------------------------------- itsmo.myspot.grant_listget = function() { var prm = 'mode=grant_list'; itsmo.lib.XMLHttpRequest2_send('/map/ajax_myspot.php',itsmo.myspot.grant_listget_result,'GET',prm); return ''; }; itsmo.myspot.grant_listget_result = function(result) { // エラーチェック var err = parseInt($(result).find('err').text(), 10); if (err != 0) { return; } // SNS投稿設定を保持 var setdata = {}; setdata.con_fb = $(result).find('con_fb').text() setdata.con_twt = $(result).find('con_twt').text() setdata.con_mixi = $(result).find('con_mixi').text() setdata.tar_fb = $(result).find('tar_fb').text() setdata.tar_twt = $(result).find('tar_twt').text() setdata.tar_mixi = $(result).find('tar_mixi').text() itsmo.vars.g_myspot_snspostset = setdata; itsmo.myspot.myspot_add(); } //------------------------------------------------ // 地点変更 //------------------------------------------------ //地点変更イベント itsmo.myspot.myspotEditSpot = function(idx) { itsmo.vars.g_myspot_edit_spot = true; itsmo.myspot.myspot_clearballoon(); itsmo.lib.map_windowclose(); if(idx != null){ itsmo.myspot.chengeClickMap(1, idx); }else{ alert("不正な操作がありました。"); } }; //地点変更画面表示 itsmo.myspot.showEditLocation = function(idx){ itsmo.lib.map_windowopen('ajax_myspot_editspot'); itsmo.myspot.setEditLocaData(idx); if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 // $('#poi_work #screen-wrap .screen').bgiframe(); } }; //地点変更画面にデータセット itsmo.myspot.setEditLocaData = function(idx){ var loc = itsmo.lib.toMilliSec(itsmo.vars.g_map_obj.getLatLon()); itsmo.vars.g_map_obj.moveLatLon(itsmo.vars.g_map_obj.getPointerPosition()); itsmo.lib.document_setvalue('ajax_myspot_editspot_title', itsmo.vars.g_myspot_list[idx].title); itsmo.lib.document_setvalue('ajax_myspot_editspot_title_sub','「' + itsmo.vars.g_myspot_list[idx].title + '」の地点をこの場所に変更します。'); itsmo.lib.document_setvalue('ajax_myspot_editspot_idx',idx); itsmo.sub.map_getaddr(loc, function(result) { if(result.status == 0) { addr = result.items[0].address; } else { addr = '住所なし'; } itsmo.lib.document_setvalue('ajax_myspot_editspot_addr', addr); }); }; //地点変更 itsmo.myspot.editLocation = function(idx, mode){ itsmo.vars.g_myspot_edit_spot = false; switch (mode) { case "cancel": itsmo.lib.map_windowclose(); itsmo.lib.map_windowopen('ajax_myspot_add'); if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 // $('#poi_work #screen-wrap .screen').bgiframe(); } itsmo.myspot.chengeClickMap(); break; default: var loc = itsmo.lib.toMilliSec(itsmo.vars.g_map_obj.getLatLon()); spot_lat = loc.lat; spot_lon = loc.lon; addr = itsmo.lib.document_getvalue('ajax_myspot_editspot_addr'); itsmo.lib.document_setvalue('ajax_myspot_add_addr',addr); itsmo.lib.document_setvalue('ajax_myspot_add_lat',spot_lat); itsmo.lib.document_setvalue('ajax_myspot_add_lon',spot_lon); itsmo.lib.document_setvalue('ajax_myspot_add_latlon', 'E'+itsmo.lib.map_dms2deg(spot_lon)+' N'+itsmo.lib.map_dms2deg(spot_lat)); // $('#ajax_myspot_editspot').remove(); itsmo.lib.map_windowclose(); //元に戻す itsmo.myspot.chengeClickMap(); itsmo.lib.map_windowopen('ajax_myspot_add'); /* if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 $('#poi_work #screen-wrap .screen').bgiframe(); } */ } }; //地点変更時マウスカーソル処理 itsmo.myspot.chengeClickMap = function(flg, idx) { if(flg){ itsmo.map.setMouseCursor("users","/design/cur/pencil.cur","/design/cur/pencil.cur"); ZDC.addListener(itsmo.vars.g_map_obj, ZDC.MAP_CLICK, function() { // マウスドラッグ時もクリックイベントが発生してしまうためドラッグ時は除外する if (!itsmo.vars.g_mouseDrag && !itsmo.vars.g_map_click_cancel) { itsmo.map.map_clickmap(); itsmo.myspot.showEditLocation(idx); } itsmo.map.setMouseCursor("users","/design/cur/pencil.cur","/design/cur/pencil.cur"); }); }else{ /* dcmpcfunc.OnClickFlg.flg = false; dcmpcfunc.OnClickFlg.method_name = null; if(itsmo.vars.g_myspot_edit_spot == true){ // 地点変更時にhideになっているウィンドウを削除 itsmo.vars.g_myspot_edit_spot = false; $('#poi_work #poi_detail').hide(); $('#poi_work #poi_detail_edit').hide(); } */ itsmo.map.setMouseCursor("hand"); ZDC.clearListeners(itsmo.vars.g_map_obj, ZDC.MAP_CLICK); if(itsmo.vars.premiumMap != null && typeof(itsmo.vars.premiumMap.reAddListener) == 'function'){ itsmo.vars.premiumMap.reAddListener(); } ZDC.addListener(itsmo.vars.g_map_obj, ZDC.MAP_CLICK, itsmo.map.map_clickmap); //ルート設定中 if(itsmo.myroute.isSettingFlg){ itsmo.vars.g_myroute_eventx = -1; itsmo.vars.g_myroute_event.push(ZDC.addListener(itsmo.vars.g_map_obj, ZDC.MAP_CLICK, function() { if(itsmo.vars.g_myroute_eventx < 5) { itsmo.myroute.myroute_panel_addmap(); itsmo.vars.g_myroute_eventx = 99; } })); } } }; // リストを開く itsmo.myspot.showListSelect = function(e, divid){ var id = $(e).attr('id') + '_cond'; if(itsmo.vars.opened_cond_window == id){ var bl = id }; itsmo.myspot.hideCondSelect(); if (bl) { return false; } itsmo.vars.opened_cond_window = id; $('#' + id).fadeIn('fast'); }; //リスト閉じる itsmo.myspot.hideCondSelect = function() { itsmo.vars.opened_cond_window = null; $("div[class^='sis-search-paka-waku-'] div.sis-search-paka-genre").hide(); }; // グループwindowオープン itsmo.myspot.grouplist_view = function(idx) { // selectbox閉じる itsmo.myspot.hideCondSelect(); var group_title_obj = null; var group_title_key_obj = null; var i = 0; for (var key in itsmo.vars.g_myspot_group_list) { if (i == 0) { i++;continue; } group_title_obj = $('#ajax_group_title'+i).get(0); group_title_key_obj = $('#ajax_group_title_key'+i).get(0); group_title_obj.value = itsmo.vars.g_myspot_group_list[key]; group_title_key_obj.value = key; i++; } if (!$.support.opacity && !$.support.style && (typeof document.documentElement.style.maxHeight == "undefined")) { // IE6 $('#screen-wrap .screen').bgiframe(); } itsmo.lib.map_windowopen('ajax_group_add'); }; itsmo.myspot.group_add_submit = function() { // 実行 var prm = 'mode=group_add'; var val_obj = null; for(var i = 1;i < 11;i++) { key_obj = $('#ajax_group_title_key'+i).get(0); val_obj = $('#ajax_group_title'+i).get(0); if (val_obj.value == '') { alert("グループ名を入力してください"); return; } if (val_obj.value.length > 10) { alert("グループ名は10桁以下で入力してください"); return; } prm += '&group_arr[' + key_obj.value + ']=' + val_obj.value; } itsmo.lib.map_windowclose(); itsmo.lib.XMLHttpRequest2_send_wait('/map/ajax_myspot.php',itsmo.myspot.group_add_submit_result,'GET',prm,'保存中'); }; itsmo.myspot.group_add_submit_result = function(result) { // エラーチェック var err = parseInt($(result).find('err').text(), 10); if(err != 0) { if (err == 99) { itsmo.lib.aplErrorWindow('W', '0008', 'myspot_group'); } else { itsmo.lib.aplErrorWindow('W', '0004', 'myspot_group', '登録地点グループ'); } return false; } // 確認ウィンドウ itsmo.lib.aplErrorWindow('I', '0001', 'myspot_group', '登録地点グループ', 'spotgroupadd'); itsmo.myspot.myspot_listreflesh(); // 一覧更新 }; //リストから選択 itsmo.myspot.setSearchCond = function(obj, key) { itsmo.myspot.hideCondSelect(); var obj_id = $(obj).attr("id"); if (obj_id.match(/^init/)) { itsmo.vars.g_myspot_folder_selected = key; } else if (obj_id.match(/^group/)) { itsmo.vars.g_myspot_group_selected = key; } itsmo.myspot.myspot_listreflesh(); // 一覧更新 }; itsmo.myspot.setSelectbox = function (obj) { e = $(obj); if ($(e).attr("id") == 'undefined') return; var txt = e.text(); var i, f = null; for (i = 0; i < 10; ++i) { e = e.parent(); f = e.find('span.box-s'); if (f.length >= 1) { break; } } if (null == f) { return false; } f.text(txt); };