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);
};