//--------------------------------------------------------------------------------------------------//
//																									//
//	Functions																						//
//	copyright(C)2009 lcc inc. all rights reserved													//
//--------------------------------------------------------------------------------------------------//
var map		= null;
var icon	= null;

var xmlModule_2	= "./_xml_read.asp";

var jmpURL	= "/edit/pClub.asp";

xmlRetry["get_MF_Details"]		=0;
xmlRetry["get_Club_Intro"]		=0;
xmlRetry["edit_club_intro"]		=0;
xmlRetry["get_club_member"]		=0;
xmlRetry["reload_club_img"]		=0;
xmlRetry["reg_club_intro"]		=0;
xmlRetry["prv_club_intro"]		=0;
xmlRetry["del_imgstock"]		=0;
xmlRetry["get_Club_Intro_Img"]	=0;
xmlRetry["get_Club_editData"]	=0;
xmlRetry["get_MPList"]			=0;
xmlRetry["get_club_member"]		=0;
xmlRetry["reg_club_editdata"]	=0;
xmlRetry["get_AP"]				=0;
xmlRetry["get_AP_past"]			=0;

var uploader	="_js/upload/uploadify.swf";
var script		="_js/upload/uploadify_club.asp";
var cancelImg	="_js/upload/cancel.png";
var upMax		=6;
//================================================================================================== ready
$().ready(function() {
	//------------------------------------------------------------ 一覧リストのhover
	listHover("#clubList");								//listHover

	//------------------------------------------------------------ tooltip
	$(".Ls_TDC").tooltip();

	//------------------------------------------------------------ APの取得
	if ($("#cMenu").length) get_AP();
});


//================================================================================================== 共通
	function createDialog(html) {						//ダイアログの作成
		var dialog = "";
		dialog = dialog + '<div id="clubIntroDialog" title="" style="display: none;">';
		//dialog = dialog + '	<div id="dlogCont">' + html + '</div>';
		dialog = dialog + '	' + html;
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);
	}
	function createInputDialog(html) {					//編集用ダイアログの作成
		var inputDlog = "";
		//inputDlog = inputDlog + '<div id="inputDlog" title="" style="display: none;">';
		inputDlog = inputDlog + '<div id="inputDialog" title="" style="display: none;">';
		inputDlog = inputDlog + '	<div id="inputDlogCont">' + html + '</div>';
		inputDlog = inputDlog + '</div>';
		$("#clubListArea").append(inputDlog);
	}
	function createMapDialog(html) {					//地図用ダイアログの作成
		var mapDlog = "";
		mapDlog = mapDlog + '<div id="mapDialog" title="" style="display: none;">';
		mapDlog = mapDlog + '	<div id="mapDlogCont">' + html + '</div>';
		mapDlog = mapDlog + '</div>';
		$("#clubListArea").append(mapDlog);
	}

	function listHover(tgt) {							//listHover
		$(tgt+" tr").hover(
			function () {
				$(this).addClass("listBackColor");
			},
			function () {
				$(this).removeClass("listBackColor");
			}
		);
	}


//================================================================================================== クラブ詳細表示
	function get_MF_Details(rcID) {						//クラブ詳細取得
		if ($("#MFD_dv"+rcID).length) {
			$("#MFD_dv"+rcID).slideUp(function(){ $("#"+rcID).empty(); });	//同じIDのdivが表示されていたら、empty
		} else {
			var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
					"&_fn=get_mf_details" + 
					"&_rcID=" + rcID + 
					"&cache=" + (new Date()).getTime();
			$.ajax({
				url: xml,
				type: 'POST',
				dataType: 'xml',
				timeout: xmlRetryTimeout,
				error: function(){
					xmlRetry["get_MF_Details"]++ ;
					if(xmlRetry["get_MF_Details"]>(xmlRetryLimt-1))
						alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_MF_Details");
					else {
						alert("情報の取得に失敗しました get_MF_Details");
						get_MF_Details(rcID);
					}
				},success: function(httpObj){
					xmlRetry["get_MF_Details"]=0;
					var editIcon ="", clubMem ="", btnTb ="", OFMail ="", row;
					var DImg ="http://www.d2780.rotary.bz/ImgDat/District/";
					var mfd = '<table class="MFD_tb" border="0" cellspacing="2" cellpadding="1" width="95%">';
					var xmlRcS = httpObj.getElementsByTagName("record");
					var ClubName= xmlNull_chk(xmlRcS[0], "Name", "");	//ClubName
					var URL		= xmlNull_chk(xmlRcS[0], "URL", "");	//URL
					var cp		= xmlNull_chk(xmlRcS[0], "cp", "");		//会長
					var cs		= xmlNull_chk(xmlRcS[0], "cs", "");		//幹事
					var MPad	= xmlNull_chk(xmlRcS[0], "MPad", "");	//例会場住所
					var MPzp	= xmlNull_chk(xmlRcS[0], "MPzp", "");	//例会場zip
					var MPfx	= xmlNull_chk(xmlRcS[0], "MPfx", "");	//例会場FAX
					var MPtm	= xmlNull_chk(xmlRcS[0], "MPtm", "");	//例会場時間
					var OFad	= xmlNull_chk(xmlRcS[0], "OFad", "");	//事務局住所
					var OFzp	= xmlNull_chk(xmlRcS[0], "OFzp", "");	//事務局zip
					var OFph	= xmlNull_chk(xmlRcS[0], "OFph", "");	//事務局TEL
					var OFfx	= xmlNull_chk(xmlRcS[0], "OFfx", "");	//事務局FAX
					var OFml	= xmlNull_chk(xmlRcS[0], "OFml", "");	//事務局mail
					var cnd		= xmlNull_chk(xmlRcS[0], "cnd", "");	//設立
					var Mlat	= xmlNull_chk(xmlRcS[0], "Mlat", 0);	//例会場lat
					var Mlon	= xmlNull_chk(xmlRcS[0], "Mlon", 0);	//例会場lon
					var mCom	= xmlNull_chk(xmlRcS[0], "mCom", "");	//地図上マーカーのコメント
					var se		= xmlNull_chk(xmlRcS[0], "se", 0);		//ログイン権限で処理を切り分ける

					//編集権限があればクラブ情報の編集ボタン・メンバー一覧表示
					row=2;
					if (se !=0) {
						if (se ==1) {
							editIcon='<a href="javascript:void(0);" id="editLink"><img src="'+DImg+'Club_edit.png" alt="クラブ情報の編集" title="クラブ情報の編集" /></a>';
							clubMem	='<a href="javascript:void(0);" id="clubMem"><img src="'+DImg+'Club_mem.png" alt="メンバー一覧" title="メンバー一覧" /></a>';
							//btnTb	='<table align="right"><tr><td>'+ editIcon +'</td><td>'+ clubMem +'</td></tr></table>';
							btnTb	=editIcon + clubMem;
						}
						//ログインしていれば事務局Mail表示
						if (OFml !="") {
							OFMail	='<tr><th>事務局 Mail：</th><td colspan="3"><a href="mailto:'+ OFml +'">' + OFml + '</a></td></tr>';
							row=3;
						}
					}

					mfd = mfd + '<tr><td rowspan="'+row+'" class="MPicon">'+ btnTb +'</td><th>事務局 所在地：</th><td colspan="3">' + OFad + '</td></tr>';
					mfd = mfd + '<tr><th>事務局 TEL：</th><td>' + OFph + '</td><th>事務局 FAX：</th><td>' + OFfx + '</td></tr>';
					mfd = mfd + OFMail;
					mfd = mfd + '<tr><td colspan="5"><hr /></td></tr>';
					mfd = mfd + '<tr><td rowspan="4" class="MPicon"><a href="javascript:void(0);" id="IntroLink"><img src="'+DImg+'MP_intro.png" align="right" alt="クラブ・例会場の紹介" title="クラブ・例会場の紹介" /></a><br /><a href="javascript:void(0);" id="clubMap"><img src="'+DImg+'MP_map.png" align="right" alt="例会場の地図を表示" title="例会場の地図を表示します" /></a></td><th>例会場 住所：</th><td colspan="3">' + MPad + '</td></tr>';
					mfd = mfd + '<tr><th>例会場 FAX：</th><td>' + MPfx + '</td><th>時間：</th><td>' + MPtm + '</td></tr>';
					mfd = mfd + '<tr><th>会長：</th><td>' + cp + '</td><th>幹事：</th><td>' + cs + '</td></tr>';
					mfd = mfd + '<tr><th>設立：</th><td colspan="3">' + cnd + '</td></tr>';
					if (URL !="") {
						mfd = mfd + '<tr><th colspan="2">クラブWebサイト：</th><td colspan="3"><a href="' + URL + '" rel="shadowbox;height='+($(window).height()*0.8)+';width='+($(window).width()*0.8)+'" title="'+ClubName+'ロータリークラブ">' + URL + '</a></td></tr>';
					}
					mfd = mfd + '<tr><th colspan="5"><div id="mc' + rcID + '" class="mcArea" style="width: 0;height: 0;"></div></th></tr>';			//地図表示エリア
					mfd = mfd + '</table>';

					mdf = '<td colspan="5"><div id="MFD_dv'+rcID+'" style="display: none;background-color: #e9ecf4;border: 1px solid #8eaada;width:100%;">' + mfd + '</div></td>';
					$("#"+rcID).html(mdf);
					$("#MFD_dv"+rcID+" #editLink").click(function () { get_Club_editData(rcID); });						//クラブ情報の編集
					$("#MFD_dv"+rcID+" #clubMem").click(function () { club_Member_dlog(rcID, ClubName); });				//メンバー一覧
					$("#MFD_dv"+rcID+" #IntroLink").click(function () { get_Club_Intro(rcID); });						//クラブ・例会場の紹介
					$("#MFD_dv"+rcID+" #clubMap").click(function () { MapCreate(rcID, ClubName, Mlat, Mlon, mCom); });	//地図の生成
					Shadowbox.setup();				//Shadowbox
					$("#MFD_dv"+rcID).slideDown();	//slideDownして表示
				}
			});
		}
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function MapCreate(rcID, ClubName, lat, lon, mCom) {	//地図の生成
		if ($("#mc"+rcID+" div").length) {			//地図が表示されていたら非表示
			$("#mc"+rcID).empty();
			$("#mc"+rcID).css({ width:"0", height:"0", border:"none" });
		} else {									//地図が非表示なら表示する
			$("#mc"+rcID).css({ width:"100%", height:"400px", border:"1px solid #8eaada" });
			if (GBrowserIsCompatible()) {
				map = new GMap2(document.getElementById("mc"+rcID));
				map.setCenter(new GLatLng(lat,lon), 17);
				//map.setMapType(G_SATELLITE_MAP);	//map.setMapType(G_PHYSICAL_MAP);
				// Custom Icon
				icon = new GIcon();
				icon.image = "http://www.d2780.rotary.bz/ImgDat/District/MP.png";
				icon.iconSize = new GSize(201, 106);
				icon.iconAnchor = new GPoint(56, 102);
				icon.infoWindowAnchor = new GPoint(53, 0);
				icon.infoShadowAnchor = new GPoint(18, 25);
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				var point = new GLatLng(lat, lon);
				var marker = new GMarker(point,icon);
				map.addOverlay(marker);
				var msg_html = '<div style="font-size:12pt;text-align: center;"><b>' + ClubName + 'クラブ例会場</b></div><div>' + mCom.replace(/\n/gi, "<br />") + '</div>';
				GEvent.addListener(marker, 'click', function() {
					marker.openInfoWindowHtml(msg_html);
				});
				//marker.openInfoWindowHtml(msg_html);
			}
		}
	}

	function club_Member_dlog(rcID,ClubName) {				//メンバー一覧
		var mem ="";
		mem=mem+'  <table cellspacing="1" class="tablesorter" id="memTb">';
		mem=mem+'    <thead>';
		mem=mem+'      <tr class="Freezing">';
		mem=mem+'        <th>会員<br />番号</th>';
		mem=mem+'        <th>A</th>';
		mem=mem+'        <th>氏名</th>';
		//mem=mem+'        <th>所在地</th>';
		mem=mem+'        <th>連絡先</th>';
		mem=mem+'      </tr>';
		mem=mem+'    </thead>';
		mem=mem+'    <tbody id="memList"></tbody>';
		mem=mem+'  </table>';
		mem=mem+'  <div id="memLoader"></div>';
		createDialog(mem);
		$("#memTb").tablesorter();			//tablesorter

		$("#clubIntroDialog").dialog({
			autoOpen	: true,
			modal		: true,
			width		: 'auto',
			height		: 'auto',
			title		: ClubName + "ロータリークラブ メンバー一覧",
			open		: function(evt, ui) {
				get_Club_Member(rcID);		//メンバー一覧を取得
			},
			resizeStop	: function(evt, ui) {
				var e = $(this).parent();	//resize時にタイトルバーがはみ出た際、画面内に戻す
				var offset = e.offset();
				var position = e.position();
				if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
			},
			buttons:	{
				"閉じる": function() {
					$(this).remove();
				}
			},
			close:	function() {
				$(this).remove();
			}
		});
	}

	function get_Club_Member(rcID) {						//メンバー一覧を取得
		var elm =$("#memList"), elm2 =$("#memLoader");
		elm.empty();
		elm2.css({ height: "100px", background: "url(/images/ajax-loader_l.gif) no-repeat center" });
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_club_member" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_club_member"]++ ;
				if(xmlRetry["get_club_member"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_club_member");
				else {
					get_Club_Member(rcID);
				}
			},success: function(httpObj){
				xmlRetry["get_club_member"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var dloght, mID, aNAME, NAME, CorpAdd, mail, tel;
				var mem ="";
				for (var i=0; i<xmlRcS.length; i++) {
					mID		=xmlNull_chk(xmlRcS[i], "mID", "");
					aNAME	=xmlNull_chk(xmlRcS[i], "aNAME", "");
					NAME	=xmlNull_chk(xmlRcS[i], "NAME", "");
					CorpAdd	=xmlNull_chk(xmlRcS[i], "CorpAdd", "");
					mail	=xmlNull_chk(xmlRcS[i], "Mail", "");
					tel		=xmlNull_chk(xmlRcS[i], "Tel", "");
					if (mail !="") { mail='<br />Mail： <a href="mailto:'+mail+'">'+ mail +'</a>'; }
					if (tel !="")  { tel ='<br />Tel： '+ tel; }
					//if (mail !="" && tel !="") { tel ='<br />'+ tel; }

					mem=mem+'      <tr id="mListLine'+ mID +'">';
					mem=mem+'        <td>'+ mID +'</td>';
					mem=mem+'        <td class="aNAME">'+ aNAME +'</td>';
					mem=mem+'        <td>'+ NAME +'</td>';
					//mem=mem+'        <td>'+ CorpAdd +'</td>';
					mem=mem+'        <td class="contact">'+ CorpAdd + mail + tel +'</td>';
					mem=mem+'      </tr>';
				}
				elm.append(mem);
				elm2.css({ height: "0", background: "none" });
				if (i >0) $("#memTb").trigger("update").trigger("sorton",[[]]);

				//ダイアログの高さがウィンドウ以上ならダイアログの高さを固定
				if ($("#clubIntroDialog").height() >$(window).height()*0.8) {
					dloght = $(window).height()*0.8;
				} else {
					dloght = $("#clubIntroDialog").height();
				}
				$("#clubIntroDialog").css({ width: $("#clubIntroDialog").width()+18, height: dloght });
				$("#clubIntroDialog").dialog("option", "position", "center");

			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


//================================================================================================== 例会場紹介
	function get_Club_Intro(rcID) {						//クラブ・例会場紹介取得
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_club_intro" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_Club_Intro"]++ ;
				if(xmlRetry["get_Club_Intro"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_Club_Intro");
				else {
					get_Club_Intro(rcID);
				}
			},success: function(httpObj){
				xmlRetry["get_Club_Intro"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var cPhoto = new Array(), wt = new Array(), ht = new Array();
				var Intro = "";
				var dialog = "";
				var dloght, i = 0;
				var ClubName= xmlNull_chk(xmlRcS[0], "Name", "");	//ClubName
				var cp		= xmlNull_chk(xmlRcS[0], "cp", "");		//クラブ会長
				var cs		= xmlNull_chk(xmlRcS[0], "cs", "");		//クラブ幹事
				var mCnt	= xmlNull_chk(xmlRcS[0], "mCnt", "");	//会員数
				var Msg		= xmlNull_chk(xmlRcS[0], "Msg", "");	//紹介
				var Date	= xmlNull_chk(xmlRcS[0], "Date", "");	//現在
				var MPnm	= xmlNull_chk(xmlRcS[0], "MPnm", "");	//例会場
				var MPad	= xmlNull_chk(xmlRcS[0], "MPad", "");	//例会場住所
				//var MPzp	= xmlNull_chk(xmlRcS[0], "MPzp", "");	//例会場zip
				var MPph	= xmlNull_chk(xmlRcS[0], "MPph", "");	//例会場TEL
				var MPfx	= xmlNull_chk(xmlRcS[0], "MPfx", "");	//例会場FAX
				var MPtm	= xmlNull_chk(xmlRcS[0], "MPtm", "");	//例会場時間
				var OFad	= xmlNull_chk(xmlRcS[0], "OFad", "");	//事務局住所
				//var OFzp	= xmlNull_chk(xmlRcS[0], "OFzp", "");	//事務局zip
				var OFph	= xmlNull_chk(xmlRcS[0], "OFph", "");	//事務局TEL
				var OFfx	= xmlNull_chk(xmlRcS[0], "OFfx", "");	//事務局FAX
				var OFml	= xmlNull_chk(xmlRcS[0], "OFml", "");	//事務局Mail
				var URL		= xmlNull_chk(xmlRcS[0], "URL", "");	//URL
				var se		= xmlNull_chk(xmlRcS[0], "se", 0)		//ログイン権限で処理を切り分ける
				Intro = Intro + Msg;

				//クラブ情報タグの置換
				Intro = Intro.replace(/\[cp\].*\[\/cp\]/gi, cp);			//[cp].*[/cp] クラブ会長
				Intro = Intro.replace(/\[cs\].*\[\/cs\]/gi, cs);			//[cs].*[/cs] クラブ幹事
				Intro = Intro.replace(/\[mc\].*\[\/mc\]/gi, mCnt+"人");		//[mc].*[/mc] 会員数
				Intro = Intro.replace(/\[dt\].*\[\/dt\]/gi, Date+" 現在");	//[dt].*[/dt] 日付
				Intro = Intro.replace(/\[mn\].*\[\/mn\]/gi, MPnm);			//[mn].*[/mn] 例会場
				Intro = Intro.replace(/\[ma\].*\[\/ma\]/gi, MPad);			//[ma].*[/ma] 例会場住所
				Intro = Intro.replace(/\[mp\].*\[\/mp\]/gi, MPph);			//[mp].*[/mp] 例会場TEL
				Intro = Intro.replace(/\[mf\].*\[\/mf\]/gi, MPfx);			//[mf].*[/mf] 例会場FAX
				Intro = Intro.replace(/\[mt\].*\[\/mt\]/gi, MPtm);			//[mt].*[/mt] 例会時間
				Intro = Intro.replace(/\[oa\].*\[\/oa\]/gi, OFad);			//[oa].*[/oa] 事務局住所
				Intro = Intro.replace(/\[op\].*\[\/op\]/gi, OFph);			//[op].*[/op] 事務局TEL
				Intro = Intro.replace(/\[of\].*\[\/of\]/gi, OFfx);			//[of].*[/of] 事務局FAX
				if (OFml !="") OFml ='<a href="mailto:' +OFml+ '">' +OFml+ '</a>';
				Intro = Intro.replace(/\[om\].*\[\/om\]/gi, OFml);			//[om].*[/om] 事務局Mail
				if (URL !="") URL ="<a href='" +URL+ "' target='_blank'>" +URL+ "</a>";
				Intro = Intro.replace(/\[url\].*\[\/url\]/gi, URL);			//[url].*[/url] クラブWebサイト

				createDialog(Intro);
				//ダイアログの高さがウィンドウ以上ならダイアログの高さを固定
				if ($("#clubIntroDialog").height() >$(window).height()*0.8) {
					dloght = $(window).height()*0.8;
				} else {
					dloght = 'auto';
				}
				$("#clubIntroDialog").dialog({
					autoOpen	: true,
					modal		: true,
					width		: 650,
					minWidth	: 650,
					height		: dloght,
					minHeight	: 100,
					title		: ClubName + "ロータリークラブ",
					resizeStop	: function(evt, ui) {
						var e = $(this).parent();	//resize時にタイトルバーがはみ出た際、画面内に戻す
						var offset = e.offset();
						var position = e.position();
						if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
					},
					buttons:	{
						"閉じる": function() {
							$(this).remove();
						}
					},
					close:	function() {
						$(this).remove();
					}
				});

				if (se !=0) {	//権限有
					$("#clubIntroDialog").dialog("option", "buttons", {
						"閉じる": function() {
							$(this).remove();
						},
						"例会場紹介を編集": function() {
							edit_Club_Intro(rcID);	//クラブ・例会場紹介編集
						}
					});
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function edit_Club_Intro(rcID) {					//クラブ・例会場紹介編集
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=edit_club_intro" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["edit_club_intro"]++ ;
				if(xmlRetry["edit_club_intro"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed edit_club_intro");
				else {
					alert("情報の取得に失敗しました edit_club_intro");
					edit_Club_Intro(rcID);
				}
			},success: function(httpObj){
				xmlRetry["edit_club_intro"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var cPhoto = new Array(), wt = new Array(), ht = new Array();
				var Intro = "";
				var dialog = "";
				var dloght, i = 0;
				var se		= xmlNull_chk(xmlRcS[0], "se", 0);		//ログイン ログイン権限で処理を切り分ける
				if (se==0) { location.href="p_mLogOut.asp?ru="+jmpURL; return 0; }	//権限がない場合はログアウト画面へ
				var ClubName= xmlNull_chk(xmlRcS[0], "Name", "");	//ClubName
				var Msg		= xmlNull_chk(xmlRcS[0], "Msg", "");	//紹介

				Intro = Intro + '<div id="toolArea">';
				Intro = Intro + '	<div id="rMsg"></div>';
				Intro = Intro + '	<div id="imgStockArea"><p>・画像一覧<span class="notes">(ドラッグアンドドロップで紹介文へ追加できます) </span><input type="button" value="画像の追加" id="addImg" />';
				//クラブ情報の挿入
				Intro = Intro + '	　・クラブ情報の挿入';
				Intro = Intro + '		<select id="insertData">';
				Intro = Intro + '			<option value="[cp]現在のクラブ会長[/cp]">クラブ会長</option>';
				Intro = Intro + '			<option value="[cs]現在のクラブ幹事[/cs]">クラブ幹事</option>';
				Intro = Intro + '			<option value="[mc]現在の会員数[/mc]">会員数</option>';
				Intro = Intro + '			<option value="[dt]会員数を集計した日付[/dt]">会員数集計日</option>';
				Intro = Intro + '			<option value="[mn]例会場の名称[/mn]">例会場</option>';
				Intro = Intro + '			<option value="[ma]例会場の住所[/ma]">例会場住所</option>';
				Intro = Intro + '			<option value="[mp]例会場のTEL[/mp]">例会場TEL</option>';
				Intro = Intro + '			<option value="[mf]例会場のFAX[/mf]">例会場FAX</option>';
				Intro = Intro + '			<option value="[mt]例会時間[/mt]">例会時間</option>';
				Intro = Intro + '			<option value="[oa]事務局の住所[/oa]">事務局住所</option>';
				Intro = Intro + '			<option value="[op]事務局のTEL[/op]">事務局TEL</option>';
				Intro = Intro + '			<option value="[of]事務局のFAX[/of]">事務局FAX</option>';
				Intro = Intro + '			<option value="[om]事務局のMail[/om]">事務局Mail</option>';
				Intro = Intro + '			<option value="[url]クラブWebサイトへのリンク[/url]">クラブWebサイト</option>';
				Intro = Intro + '		</select>';
				Intro = Intro + '		<input type="button" value="挿入" id="insertBtn" />';
				Intro = Intro + '	<div class="clear"></div>';
				//画像のストック
				Intro = Intro + '			<ul id="imgStock" class="ui-helper-reset ui-helper-clearfix">';
				if (xmlRcS[0].getElementsByTagName("ph")[0].firstChild != null) {
					var xmlRcS2	= xmlRcS[0].getElementsByTagName("ph")[0].getElementsByTagName("phSet");
					var photoLen= xmlRcS2.length;
					var fName, fNum =0, fNN;
					for (var i=0; i<photoLen; i++) {
						fName	= xmlRcS2[i].getElementsByTagName("cPhoto")[0].firstChild.nodeValue;
						fNN		= parseInt(fName.split("_")[1]);
						if (fNum < fNN) fNum = fNN;
						Intro = Intro + '				<li class="ui-corner-tr">';
						Intro = Intro + '					<img src="' +fName+ '" /><a href="javascript:void(0);" id="img'+rcID+"_"+fNN+'" title="この画像を削除する" class="ui-icon ui-icon-trash">この画像を削除する</a>';
						//wt[i] = xmlRcS2[i].getElementsByTagName("wt")[0].firstChild.nodeValue;
						//ht[i] = xmlRcS2[i].getElementsByTagName("ht")[0].firstChild.nodeValue;
						Intro = Intro + '				</li>';
					}
				}
				Intro = Intro + '			</ul>';
				Intro = Intro + '			<div class="clear"></div>';
				Intro = Intro + '	</div>';
				Intro = Intro + '</div>';
				Intro = Intro + '<textarea id="editor" style="width: 100%;"></textarea>';

				$("#clubIntroDialog").remove();
				createDialog(Intro);
				//ckeditor
				$("#editor").val(Msg);
				$.data($("#imgStock").get(0), "photoLen", photoLen);	//現在の画像の枚数を保持
				$.data($("#imgStock").get(0), "fNum", fNum);			//現在の画像の最大通し番号を保持
				$("#imgStock [id^='img']").each(function(idx, elm) {	//画像一覧内の画像削除アイコンにイベント追加
					$(elm).click(function () {
						sc_del_imgStock(rcID,$(elm));
					});
				});
				//画像の追加ボタン
				$("#addImg").click(function () {
					if ($.data($("#imgStock").get(0), "photoLen") >= upMax) {	//追加可能枚数を超えていたら確認ダイアログ表示
						chk_dlog(0);
					} else {
						creat_Img_dlog(rcID);									//画像関連ダイアログを作成
					}
				});
				//クラブ情報の挿入ボタンにイベント追加
				$("#insertBtn").click(function () {
					$("#editor").ckeditorGet().insertHtml($("#insertData").val());
				});

				$("#clubIntroDialog").dialog({
					autoOpen	: true,
					modal		: true,
					width		: 706,
					minWidth	: 706,
					height		: $(window).height()*0.8,
					minHeight	: 100,
					title		: ClubName + "ロータリークラブ 例会場情報編集",
					open: function() {
						createCkeditor();		//ckeditor作成
					},
					resize: function() {
						$("iframe",this).width($("#clubIntroDialog").width()-22);
						$("iframe, #cke_contents_editor",this).height($("#clubIntroDialog").height()-$("#toolArea").height()-90);
					},
					buttons:	{
						"閉じる": function() {
							$(this).dialog("close");
						},
						"例会場紹介を修正": function() {
							$("#rMsg").text("");
							reg_Club_Intro(rcID);
						},
						"プレビュー": function() {
							prv_Club_Intro(rcID);
						}
					},
					close:	function() {
						$("#editor").ckeditorGet().destroy();
						$(this).remove();
					}
				});
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function createCkeditor() {						//ckeditor作成
		$("#editor").ckeditor(function() {
			//リンクを挿入ボタンイベント
			$(".cke_button_link").removeAttr("onclick").click(function () {
				var tcn ="editor";
				var tgt = CKEDITOR.instances.editor;
				if (tgt.getSelection()) {
					if (CKEDITOR.env.ie) {			//選択した範囲のテキストを取得
					   var selTxt = tgt.getSelection().document.$.selection.createRange().text;
					} else {
					   var selTxt = tgt.getSelection().getNative();
					}
					creat_link_dlog(selTxt,tcn);
				}
			});
			/*$(".cke_button_image").click(function () {
			});*/
		},
		{
			toolbar: [
				//['Source','-','Preview','-','Templates'],
				['Undo','Redo'],
				['FontSize'],
				['Bold','Italic','Underline','TextColor','BGColor'],
				//['Cut','Copy','Paste'],
				['Link','Unlink'],
				['Image','HorizontalRule'],
				['NumberedList','BulletedList'],
				['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock']
			],
			height: ($("#clubIntroDialog").height()-$("#toolArea").height()-90)+"px",
			enterMode: CKEDITOR.ENTER_BR	//改行 <br />
		});
	}

	function prv_Club_Intro(rcID) {						//クラブ・例会場紹介プレビュー
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=prv_club_intro" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["prv_club_intro"]++ ;
				if(xmlRetry["prv_club_intro"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed prv_club_intro");
				else {
					alert("情報の取得に失敗しました prv_club_intro");
					prv_Club_Intro(rcID);
				}
			},success: function(httpObj){
				xmlRetry["prv_club_intro"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var Intro = "";
				var dloght, i = 0;
				var ClubName= xmlNull_chk(xmlRcS[0], "Name", "");	//ClubName
				var cp		= xmlNull_chk(xmlRcS[0], "cp", "");		//クラブ会長
				var cs		= xmlNull_chk(xmlRcS[0], "cs", "");		//クラブ幹事
				var mCnt	= xmlNull_chk(xmlRcS[0], "mCnt", "");	//会員数
				var Date	= xmlNull_chk(xmlRcS[0], "Date", "");	//現在
				var MPnm	= xmlNull_chk(xmlRcS[0], "MPnm", "");	//例会場
				var MPad	= xmlNull_chk(xmlRcS[0], "MPad", "");	//例会場住所
				var MPph	= xmlNull_chk(xmlRcS[0], "MPph", "");	//例会場TEL
				var MPfx	= xmlNull_chk(xmlRcS[0], "MPfx", "");	//例会場FAX
				var MPtm	= xmlNull_chk(xmlRcS[0], "MPtm", "");	//例会場時間
				var OFad	= xmlNull_chk(xmlRcS[0], "OFad", "");	//事務局住所
				var OFph	= xmlNull_chk(xmlRcS[0], "OFph", "");	//事務局TEL
				var OFfx	= xmlNull_chk(xmlRcS[0], "OFfx", "");	//事務局FAX
				var OFml	= xmlNull_chk(xmlRcS[0], "OFml", "");	//事務局Mail
				var URL		= xmlNull_chk(xmlRcS[0], "URL", "");	//URL
				Intro = Intro + $("#editor").val();

				//クラブ情報タグの置換
				Intro = Intro.replace(/\[cp\].*\[\/cp\]/gi, cp);			//[cp].*[/cp] クラブ会長
				Intro = Intro.replace(/\[cs\].*\[\/cs\]/gi, cs);			//[cs].*[/cs] クラブ幹事
				Intro = Intro.replace(/\[mc\].*\[\/mc\]/gi, mCnt+"人");		//[mc].*[/mc] 会員数
				Intro = Intro.replace(/\[dt\].*\[\/dt\]/gi, Date+" 現在");	//[dt].*[/dt] 日付
				Intro = Intro.replace(/\[mn\].*\[\/mn\]/gi, MPnm);			//[mn].*[/mn] 例会場
				Intro = Intro.replace(/\[ma\].*\[\/ma\]/gi, MPad);			//[ma].*[/ma] 例会場住所
				Intro = Intro.replace(/\[mp\].*\[\/mp\]/gi, MPph);			//[mp].*[/mp] 例会場TEL
				Intro = Intro.replace(/\[mf\].*\[\/mf\]/gi, MPfx);			//[mf].*[/mf] 例会場FAX
				Intro = Intro.replace(/\[mt\].*\[\/mt\]/gi, MPtm);			//[mt].*[/mt] 例会時間
				Intro = Intro.replace(/\[oa\].*\[\/oa\]/gi, OFad);			//[oa].*[/oa] 事務局住所
				Intro = Intro.replace(/\[op\].*\[\/op\]/gi, OFph);			//[op].*[/op] 事務局TEL
				Intro = Intro.replace(/\[of\].*\[\/of\]/gi, OFfx);			//[of].*[/of] 事務局FAX
				if (OFml !="") OFml ='<a href="mailto:' +OFml+ '">' +OFml+ '</a>';
				Intro = Intro.replace(/\[om\].*\[\/om\]/gi, OFml);			//[om].*[/om] 事務局Mail
				if (URL !="") URL ='<a href="' +URL+ '" target="_blank">' +URL+ '</a>';
				Intro = Intro.replace(/\[url\].*\[\/url\]/gi, URL);			//[url].*[/url] クラブWebサイト

				createDialog(Intro);
				if ($("#clubIntroDialog").height() >$(window).height()*0.8) {
					dloght = $(window).height()*0.8;
				} else {
					dloght = 'auto';
				}

				var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
				var dlogZidx	=dlogObj.css("z-index");
				dlogObj.css({ zIndex: "50" });

				$("#clubIntroDialog").dialog({
					autoOpen:	true,
					modal:		false,
					width:		650,
					height:		dloght,
					minWidth:	650,
					minHeight:	100,
					title:		ClubName + "ロータリークラブ",
					resizeStop:	function(evt, ui) {
						var e = $(this).parent();	//resize時にタイトルバーがはみ出た際、画面内に戻す
						var offset = e.offset();
						var position = e.position();
						if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
					},
					buttons:	{
						閉じる: function() {
							$(this).dialog("close");
						}
					},
					close:	function() {
						dlogObj.css({ zIndex: dlogZidx });
						$(this).remove();
					}
				});
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function creat_link_dlog(txt, tcn) {				//リンク挿入ダイアログを作成
		var dialog		= '<div id="link_dlog" title="" style="display: none;">';
		dialog = dialog + '  <p>リンク先を入力してください： </p>';
		dialog = dialog + '  <input type="text" id="linkText" /><input type="button" id="linkChk" value="確認" />';
		dialog = dialog + '  <p>リンク先の種類を選択してください： </p>';
		dialog = dialog + '  <select id="linkTyp">';
		dialog = dialog + '    <option value="1">外部へのリンク</option>';
		dialog = dialog + '    <option value="0">地区ページ内へのリンク</option>';
		dialog = dialog + '  </select>';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);
		// リンク確認
		$("#linkChk").click(function () {
			chkUrl($("#linkText").val());
		});

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#link_dlog").dialog({				//ダイアログイベント追加
			bgiframe	: true,
			resizable	: true,
			autoOpen	: true,
			modal		: false,
			width		: '350px',
			height		: 'auto',
			title		: "リンクを作成",
			buttons: {
				'閉じる': function() {
					$(this).dialog("close");
				},
				'リンクを作成': function() {
					add_link(txt,tcn);
					$(this).dialog("close");
				}
			},
			close: function() {
				$(this).remove();
				dlogObj.css({ zIndex: dlogZidx });
			}
		});
	}

	function add_link(txt, tcn) {						//リンクを挿入
		var blank	= "";
		//リンクの作成
		if ($("#linkTyp").val() ==1) { blank =" target='_blank'"; }
		$("#"+tcn).ckeditorGet().insertHtml('<a href="'+ $("#linkText").val() +'"'+ blank +'>'+ txt +'</a>');
	}

	function creat_Img_dlog(rcID) {						//画像関連ダイアログを作成
		var PLen	=$.data($("#imgStock").get(0), "photoLen");
		var fc		=$.data($("#imgStock").get(0), "fNum");
		var dialog	='<div id="img_dlog" style="display: none;">';
		dialog = dialog + '  <p style="margin-bottom: 2px;">追加する画像を選択してください (' + (upMax-PLen) + '枚まで)： </p>';
		dialog = dialog + '  <div id="fileQ"></div>';
		dialog = dialog + '  <input type="file" id="upBtn" value="" />';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#img_dlog").dialog({				//ダイアログイベント追加
			resizable	: false,
			autoOpen	: true,
			modal		: false,
			width		: '360px',
			height		: 'auto',
			title		: "画像 アップロード",
			buttons: {
				'閉じる': function() {
					$(this).dialog("close");
				},
				'選択したファイルを追加': function() {
					$("#upBtn").uploadifyUpload();
				}
			},
			close: function() {
				$(this).remove();
				dlogObj.css({ zIndex: dlogZidx });
			}
		});
		//アップロードイベント追加
		var fileSizelimit = 100000;				//ファイルサイズMax
		$("#upBtn").uploadify({
			'uploader'			: uploader,
			'script'			: script,
			'cancelImg'			: cancelImg,
			'folder'			: '',
			'queueID'			: 'fileQ',
			'queueSizeLimit'	: upMax-PLen,
			'sizeLimit'			: fileSizelimit,
			'auto'				: false,
			'multi'				: true,
			'scriptData'		: { 'sq': rcID, 'fc': ++fc },
			'fileDesc'			: '画像を選択してください',
			'fileExt'			: '*.jpg;*.png;*.gif',
			onError: function (evt, queueID, fileObj, errorObj) {
				//alert("onError:\n"+queueID+" \n"+fileObj.name+" /"+fileObj.size+" /"+fileObj.type+" \n"+errorObj.type+" /"+errorObj.info);
				if (fileObj.size > fileSizelimit) {
					alert(fileObj.name+" アップロードエラー:\nファイルサイズが "+fileSizelimit+"バイトを超えています。");
				}
			},
			onComplete: function (evt, queueID, fileObj, response, data) {
				//if (response =="OFF") location.reload();		//未ログイン時はリロード
				//alert("onComplete: "+fileObj.name+" /"+response);
				$("#upBtn").uploadifySettings("scriptData", { "fc": ++fc });	//連番処理
			},
			onAllComplete: function (evt, data) {
				//alert("onAllComplete: "+data.filesUploaded+" /"+data.errors+" /"+data.allBytesLoaded+" /"+data.speed);
				if (data.errors ==0) {
					reload_Club_Img(rcID);	//アップ成功
				} else {
					up_err(rcID);			//アップエラー
				}
			}
		});
	}

	function reload_Club_Img(rcID) {	//画像一覧をリロード
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=reload_club_img" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reload_club_img"]++ ;
				if(xmlRetry["reload_club_img"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reload_club_img");
				else {
					alert("情報の取得に失敗しました reload_club_img");
					reload_Club_Img(rcID);
				}
			},success: function(httpObj){
				xmlRetry["reload_club_img"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var Img = "";
				//画像のストックに追加
				if (xmlRcS[0].getElementsByTagName("ph")[0].firstChild != null) {
					var xmlRcS2	= xmlRcS[0].getElementsByTagName("ph")[0].getElementsByTagName("phSet");
					var photoLen= xmlRcS2.length;
					var fName, fNum =0, fNN;
					for (var i=0; i<photoLen; i++) {
						fName	= xmlRcS2[i].getElementsByTagName("cPhoto")[0].firstChild.nodeValue;
						fNN		= parseInt(fName.split("_")[1]);
						if (fNum < fNN) fNum = fNN;
						Img = Img + '			<li class="ui-corner-tr">';
						Img = Img + '				<img src="' +fName+ '" /><a href="javascript:void(0);" id="img'+rcID+"_"+fNN+'" title="この画像を削除する" class="ui-icon ui-icon-trash">この画像を削除する</a>';
						Img = Img + '			</li>';
					}
				}
				$("#imgStock").html(Img);
				$.data($("#imgStock").get(0), "photoLen", photoLen);
				$.data($("#imgStock").get(0), "fNum", fNum);
				$("#imgStock [id^='img']").each(function(idx, elm) {
					$(elm).click(function() { sc_del_imgStock(rcID,$(elm)); })
				});
				$("#img_dlog").dialog("close");
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function reg_Club_Intro(rcID) {						//クラブ・例会場紹介保存
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=reg_club_intro" + 
				"&_rcID=" + rcID + 
				"&_intro=" + encodeURIComponent($("#editor").val().replace(/&nbsp;/gi, "")) + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reg_club_intro"]++ ;
				if(xmlRetry["reg_club_intro"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reg_club_intro");
				else {
					alert("情報の取得に失敗しました reg_club_intro");
					reg_Club_Intro(rcID);
				}
			},success: function(httpObj){
				xmlRetry["reg_club_intro"]=0;
				var xmlRcS = httpObj.getElementsByTagName("record");
				var se		= xmlNull_chk(xmlRcS[0], "se", 0);
				if (se ==0) {						//未ログイン
					location.href="p_mLogOut.asp?ru="+jmpURL;
				} else {							//ログイン
					$("#rMsg").text(xmlNull_chk(xmlRcS[0], "msg", 0));
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function chk_dlog(typ) {							//確認ダイアログ
		var dialog = '<div id="chk_dlog" style="display: none;">';
		dialog = dialog + '  <div id="alertMsg">';
		dialog = dialog + '    <span class="ui-icon ui-icon-alert"></span>';
		if (typ ==0) { dialog = dialog + '    <p>'+ upMax + '枚以上は画像の追加をできません。<br />いずれかの画像を削除してから追加を行ってください。</p>'; }
		if (typ ==1) { dialog = dialog + '    <p>この画像は現在使用されています。<br />画像の使用を確認してから削除を行ってください。</p>'; }
		dialog = dialog + '  </div>';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#chk_dlog").dialog({
			resizable: false,
			modal: false,
			title: '画像の確認',
			width: 'auto',
			minHeight: 80,
			buttons: {
				'閉じる': function() {
					$(this).dialog("close");
				}
			},
			close: function() {
				dlogObj.css({ zIndex: dlogZidx });
				$(this).remove();
			}
		});
	}

	function up_err(rcID) {								//アップ時のエラーダイアログ
		var dialog = '<div id="up_err_dlog" style="display: none;">';
		dialog = dialog + '  <div id="alertMsg">';
		dialog = dialog + '    <span class="ui-icon ui-icon-alert"></span>';
		dialog = dialog + '    <p>画像のアップロードに失敗しました<br />ファイルを追加しなおしてください</p>';
		dialog = dialog + '  </div>';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#up_err_dlog").dialog({
			resizable: false,
			modal: false,
			title: '画像のアップロードに失敗しました',
			width: 'auto',
			minHeight: 80,
			buttons: {
				'閉じる': function() {
					$(this).dialog("close");
				}
			},
			close: function() {
				dlogObj.css({ zIndex: dlogZidx });
				$(this).remove();
				reload_Club_Img(rcID);
			}
		});
	}

	function sc_del_imgStock(rcID,Obj) {				//画像一覧の画像を削除
		var tgt =Obj.prev().attr("src");
		if ($("#editor").val().indexOf(tgt) >-1) {	//使用中
			chk_dlog(1);
		} else {									//未使用
			chk_del_imgStock(rcID,tgt);
		}
	}

	function chk_del_imgStock(rcID,tgt) {				//画像一覧の画像削除を確認
		var dialog = '<div id="chk_del_imgStock" style="display: none;">';
		dialog = dialog + '  <div id="alertMsg"><span class="ui-icon ui-icon-alert"></span><p>選択した画像を削除しますか？</p></div>';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#chk_del_imgStock").dialog({
			resizable: false,
			title: '画像の削除',
			modal: false,
			width: 'auto',
			minHeight: 80,
			buttons: {
				'キャンセル': function() {
					$(this).dialog("close");
				},
				'削除する': function() {
					del_imgStock(rcID,tgt);	//画像を削除
					$(this).dialog("close");
				}
			},
			close: function() {
				$(this).remove();
				dlogObj.css({ zIndex: dlogZidx });
			}
		});
	}

	function del_imgStock(rcID,tgt) {					//画像を削除
		var fl =tgt.split("/");		//ファイル名のみ取得
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=del_imgstock" + 
				"&_rcID="+ rcID + 
				"&_fl="+ encodeURI(fl[fl.length-1]) + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["del_imgstock"]++ ;
				if(xmlRetry["del_imgstock"]>(xmlRetryLimt-1)) {
					alert("情報の削除に失敗しました。\n最新の情報に更新してください。\nxml failed del_imgstock");
				} else {
					del_imgStock(rcID,tgt);
				}
			},success: function(httpObj){
				xmlRetry["del_imgstock"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var se		= xmlNull_chk(xmlRcS[0], "se", 0);
				if (se ==0) {						//未ログイン
					location.href="p_mLogOut.asp?ru="+jmpURL;
				} else {							//ログイン
					reload_Club_Img(rcID);			//再読込み
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


//================================================================================================== 編集ダイアログ
	function get_Club_editData(rcID) {					//クラブ編集情報を取得
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_club_editdata" + 
				"&_rcID=" + rcID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_Club_editData"]++ ;
				if(xmlRetry["get_Club_editData"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_Club_editData");
				else {
					get_Club_editData(rcID);
				}
			},success: function(httpObj){
				xmlRetry["get_Club_editData"]=0;
				editTab(rcID, httpObj.getElementsByTagName("record"));
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function editTab(rcID, xmlRcS) {					//編集tab作成
		var tab, w, selected;
		var MPst= new Array(), MPed = new Array(), wd = new Array(), wk = new Array(), adr = new Array(), adr2 = new Array();
		var cpID=0, csID =0, icoID =0, cpeID =0, cseID =0, icoeID =0;
		var se	= xmlNull_chk(xmlRcS[0], "se", 0);							//ログイン ログイン権限で処理を切り分ける
		if (se==0) { location.href="p_mLogOut.asp?ru="+jmpURL; return 0; }	//権限がない場合はログアウト画面へ
		var ry		= xmlNull_chk(xmlRcS[0], "ry", 0);		//ry
		var ClubName= xmlNull_chk(xmlRcS[0], "Name", "");	//ClubName
		var MPnm	= xmlNull_chk(xmlRcS[0], "MPnm", "");	//例会場
		var MPad	= xmlNull_chk(xmlRcS[0], "MPad", "");	//例会場住所
		var MPzp	= xmlNull_chk(xmlRcS[0], "MPzp", "");	//例会場zip
		var MPph	= xmlNull_chk(xmlRcS[0], "MPph", "");	//例会場TEL
		var MPfx	= xmlNull_chk(xmlRcS[0], "MPfx", "");	//例会場FAX
		//var MPtm	= xmlNull_chk(xmlRcS[0], "MPtm", "");	//例会場時間
		//var MPwd	= xmlNull_chk(xmlRcS[0], "MPwd", "");	//例会場曜日
		var Mlat	= xmlNull_chk(xmlRcS[0], "Mlat", "");	//例会場lat
		var Mlon	= xmlNull_chk(xmlRcS[0], "Mlon", "");	//例会場lon
		var MPml	= xmlNull_chk(xmlRcS[0], "MPml", "");	//例会場mail
		var MPurl	= xmlNull_chk(xmlRcS[0], "MPurl", "");	//例会場URL
		var OFad	= xmlNull_chk(xmlRcS[0], "OFad", "");	//事務局住所
		var OFzp	= xmlNull_chk(xmlRcS[0], "OFzp", "");	//事務局zip
		var OFph	= xmlNull_chk(xmlRcS[0], "OFph", "");	//事務局TEL
		var OFfx	= xmlNull_chk(xmlRcS[0], "OFfx", "");	//事務局FAX
		var OFml	= xmlNull_chk(xmlRcS[0], "OFml", "");	//事務局mail
		var Cml		= xmlNull_chk(xmlRcS[0], "Cml", "");	//クラブmail
		var Curl	= xmlNull_chk(xmlRcS[0], "Curl", "");	//クラブURL
		var mCom	= xmlNull_chk(xmlRcS[0], "mCom", "");	//地図上マーカーのコメント
		//時間・曜日
		for (var i=0; i<5; i++) { MPst[i] = "";		MPed[i] = "";		wd[i] = 1;		wk[i] = 1; }
		if (xmlRcS[0].getElementsByTagName("timetable")[0].firstChild != null) {
			var xmlRcS2 = xmlRcS[0].getElementsByTagName("timetable")[0].getElementsByTagName("ttSet");
			for (var i=0; i<xmlRcS2.length; i++) {
				MPst[i]	= xmlNull_chk(xmlRcS2[i], "MPst", "");
				MPed[i]	= xmlNull_chk(xmlRcS2[i], "MPed", "");
				wd[i]	= xmlNull_chk(xmlRcS2[i], "wd", "");
				wk[i]	= xmlNull_chk(xmlRcS2[i], "wk", "");
			}
		}
		//メンバー一覧を作成
		if (xmlRcS[0].getElementsByTagName("memlist")[0].firstChild != null) {
			var xmlRcS3 = xmlRcS[0].getElementsByTagName("memlist")[0].getElementsByTagName("mem");
			var opt = '<option value="">　</option>';
			for (var i=0; i <xmlRcS3.length; i++) {
				opt = opt + '<option value="' + xmlNull_chk(xmlRcS3[i], "mID", 0) + '">' + xmlNull_chk(xmlRcS3[i], "name", "") + '</option>';
			}
		}
		//役員
		if (xmlRcS[0].getElementsByTagName("committee")[0].firstChild != null) {
			var xmlCSet = xmlRcS[0].getElementsByTagName("committee")[0].getElementsByTagName("comSet");
			for (var i=0; i<xmlCSet.length; i++) {
				if (xmlCSet[i].getElementsByTagName("cry")[0].firstChild.nodeValue ==ry) {
					var cpID 	= xmlNull_chk(xmlCSet[i], "cpID", 0);	//会長のID
					var csID 	= xmlNull_chk(xmlCSet[i], "csID", 0);	//幹事のID
					var icoID 	= xmlNull_chk(xmlCSet[i], "icoID", 0);	//管理者のID
				} else {
					var cpeID 	= xmlNull_chk(xmlCSet[i], "cpID", 0);	//会長エレクトのID
					var cseID 	= xmlNull_chk(xmlCSet[i], "csID", 0);	//幹事エレクトのID
					var icoeID 	= xmlNull_chk(xmlCSet[i], "icoID", 0);	//管理者エレクトのID
				}
			}
		}
		//alert(ry+"\n"+cpID+"/ "+csID+"/ "+icoID+"\n"+cpeID+"/ "+cseID+"/ "+icoeID);

		tab =       '<div id="dvTab">';
		tab = tab + '	<div id="rMsg"></div>';
		tab = tab + '	<div id="editClubTabs">';
		tab = tab + '		<ul>';
		tab = tab + '			<li><a href="#editClubTabs-1">クラブ</a></li>';
		tab = tab + '			<li><a href="#editClubTabs-2">例会場</a></li>';
		tab = tab + '		</ul>';

		tab = tab + '		<div id="editClubTabs-1">';
		tab = tab + '			<fieldset><legend>会長・幹事・管理者</legend>';
		tab = tab + '			<table border="0" cellspacing="0" cellpadding="2" width="100%">';
		tab = tab + '				<tr><th style="width: 130px;"></th>						<td style="text-align: right;padding-bottom: 5px;">メンバー一覧のソート <select id="sort">';
		tab = tab + '														<option value="0">入会日順</option>';
		tab = tab + '														<option value="1">氏名順</option>';
		tab = tab + '													</select></td></tr>';
		tab = tab + '				<tr><th>会長</th>					<td><select id="cp">' + opt + '</select></td></tr>';
		tab = tab + '				<tr><th>幹事</th>					<td><select id="cs">' + opt + '</select></td></tr>';
		tab = tab + '				<tr><th>クラブ管理者</th>			<td><select id="ico">' + opt + '</select></td></tr>';
		tab = tab + '				<tr><th>会長エレクト</th>			<td><select id="cpe">' + opt + '</select></td></tr>';
		tab = tab + '				<tr><th>幹事エレクト</th>			<td><select id="cse">' + opt + '</select></td></tr>';
		tab = tab + '				<tr><th>クラブ管理者エレクト</th>	<td><select id="icoe">' + opt + '</select></td></tr>';
		tab = tab + '			</table>';
		tab = tab + '			</fieldset>';
		tab = tab + '			<fieldset><legend>事務局</legend>';
		tab = tab + '			<table border="0" cellspacing="0" cellpadding="2" width="100%">';
		tab = tab + '				<tr><th>郵便番号</th>				<td><input type="text" id="OFzip" size="16" style="ime-mode: inactive;" value="' + OFzp + '" /><input type="button" id="OFzipSrc" value="住所検索" /><input type="button" id="OFadSrc" value="〒検索" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		adr2 = adrSplit(OFad);
		tab = tab + '				<tr><th valign="top">所在地</th>	<td><input type="text" id="OFadr" size="50" style="ime-mode: active;width: 99%;" value="' + adr2[0] + '" /><br /><input type="text" id="OFadr2" size="30" style="ime-mode: active;margin-top: 3pt;width: 70%;" value="' + adr2[1] + '" /></td></tr>';
		tab = tab + '				<tr><th>TEL</th>					<td><input type="text" id="OFtel" size="16" style="ime-mode: inactive;" value="' + OFph + '" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		tab = tab + '				<tr><th>FAX</th>					<td><input type="text" id="OFfax" size="16" style="ime-mode: inactive;" value="' + OFfx + '" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		//tab = tab + '				<tr><th>Webサイト</th>				<td><input type="text" id="OFurl" size="45" style="ime-mode: inactive;" value="http://" /><input type="button" id="OFurlChk" value="表示を確認" onclick="chkUrl($(\'#OFurl\').val());" /></td></tr>';
		tab = tab + '				<tr><th>メールアドレス<img src="./Images/btn_help.gif" class="helpTipB" alt="事務局のアドレス" title="事務局のアドレス" /></th>			<td><input type="text" id="OFmail" size="45" style="ime-mode: inactive;width: 99%;" value="' + OFml + '" /></td></tr>';
		tab = tab + '			</table>';
		tab = tab + '			</fieldset>';
		tab = tab + '			<fieldset><legend>クラブ</legend>';
		tab = tab + '			<table border="0" cellspacing="0" cellpadding="2" width="100%">';
		if (Curl !="") { w=Curl; } else { w="http://"; }
		tab = tab + '				<tr><th>Webサイト</th>				<td><input type="text" id="clubUrl" size="45" style="ime-mode: inactive;width: 70%;" value="' + w + '" /><input type="button" id="ClubUrlChk" value="表示を確認" onclick="chkUrl($(\'#clubUrl\').val());" /></td></tr>';
		tab = tab + '				<tr><th>メールアドレス<img src="./Images/btn_help.gif" class="helpTipB" alt="クラブへの問合せアドレス" title="クラブへの問合せアドレス" /></th>			<td><input type="text" id="clubMail" size="45" style="ime-mode: inactive;width: 99%;" value="' + Cml + '" /></td></tr>';
		tab = tab + '			</table>';
		tab = tab + '			</fieldset>';
		tab = tab + '		</div>';

		tab = tab + '		<div id="editClubTabs-2">';
		tab = tab + '			<table border="0" cellspacing="0" cellpadding="2" width="100%">';
		tab = tab + '				<tr><th>例会場名</th>				<td><input type="text" id="MPname" size="50" style="ime-mode: active;width: 99%;" value="' + MPnm + '" /></td></tr>';
		tab = tab + '				<tr><th>郵便番号</th>				<td><input type="text" id="MPzip" size="16" style="ime-mode: inactive;" value="' + MPzp + '" /><input type="button" id="MPzipSrc" value="住所検索" /><input type="button" id="MPadSrc" value="〒検索" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		adr = adrSplit(MPad);	//所在地・建物名を分割
		tab = tab + '				<tr><th valign="top">所在地</th>	<td><input type="text" id="MPadr" size="50" style="ime-mode: active;width: 99%;" value="' + adr[0] + '" /><br /><input type="text" id="MPadr2" size="30" style="ime-mode: active;margin-top: 3pt;width: 60%;" value="' + adr[1] + '" /><input type="button" id="getAdr" value="所在地の座標を取得" title="所在地を入力してからボタンを押下してください" /></td></tr>';
		tab = tab + '				<tr><th>TEL</th>					<td><input type="text" id="MPtel" size="16" style="ime-mode: inactive;" value="' + MPph + '" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		tab = tab + '				<tr><th>FAX</th>					<td><input type="text" id="MPfax" size="16" style="ime-mode: inactive;" value="' + MPfx + '" /><span class="notes"> ※ハイフンを含む</span></td></tr>';
		tab = tab + '				<tr><th valign="top">曜日・時間</th><td><select id="MPtmType" onchange="chg_MPtmType($(this))"><option value="0">毎週</option><option value="1">週別</option></select><br />';
		tab = tab + '														<div id="MPtype1" style="display: none;">';
		tab = tab + '															<input type="text" id="MPtmSt0" size="8" style="ime-mode: inactive;margin-top: 3pt;" value="'+ MPst[0] +'" />～<input type="text" id="MPtmEd0" size="8" style="ime-mode: inactive;margin-top: 3pt;" value="'+ MPed[0] +'" />';
		tab = tab + '															<select id="MPwd0"><option value="1">月</option><option value="2">火</option><option value="3">水</option><option value="4">木</option><option value="5">金</option><option value="6">土</option></select><br />';
		tab = tab + '														</div>';
		tab = tab + '														<div id="MPtype2" style="display: none;">';
		for (var i=0; i<5; i++) {
			tab = tab + '															第'+ (i+1) +'週 <input type="text" id="MPtmSt'+ (i+1) +'" size="8" style="ime-mode: inactive;margin-top: 3pt;" value="'+ MPst[i] +'" />～<input type="text" id="MPtmEd'+ (i+1) +'" size="8" style="ime-mode: inactive;margin-top: 3pt;" value="'+ MPed[i] +'" />';
			tab = tab + '															<select id="MPwd'+ (i+1) +'"><option value="1">月</option><option value="2">火</option><option value="3">水</option><option value="4">木</option><option value="5">金</option><option value="6">土</option></select><br />';
		}
		tab = tab + '														</div>';
		tab = tab + '				</td></tr>';
		if (MPurl !="") { w=MPurl; } else { w="http://"; }
		tab = tab + '				<tr><th>Webサイト</th>				<td><input type="text" id="MPurl" size="45" style="ime-mode: inactive;width: 75%;" value="' + w + '" /><input type="button" id="MPurlChk" value="表示を確認" onclick="chkUrl($(\'#MPurl\').val());" /></td></tr>';
		tab = tab + '				<tr><th>メールアドレス</th>			<td><input type="text" id="MPmail" size="45" style="ime-mode: inactive;width: 99%;" value="' + MPml + '" /></td></tr>';
		tab = tab + '				<tr><th valign="top">地図上の<br />マーカー</th><td><textarea id="mCom" rows="6" style="ime-mode: active;width: 99%;">' + mCom +'</textarea></td></tr>';
		tab = tab + '				<tr><th valign="top">地図上の位置</th>	<td>　lat： <span id="MP_lat">'+ Mlat +'</span>　lon： <span id="MP_lon">'+ Mlon +'</span><div style="margin: 5px 0 0 5px;"><input type="button" value="位置を微調整" id="mapAdjust" /></div></td></tr>';
		tab = tab + '			</table>';
		tab = tab + '		</div>';
		tab = tab + '	</div>';
		tab = tab + '</div>';
		createInputDialog(tab);					//ダイアログをappend
		$("#editClubTabs").tabs();				//tab表示

		//所在地から座標を取得
		$("#getAdr").click( function (){
			getAddress($("#MPadr").val(),"MP");
		});
		//timeEntryイベント追加
		$("input[id^='MPtmSt'],input[id^='MPtmEd']").each(function(idx, elm) {
			$(elm).timeEntry({show24Hours: true, timeSteps: [1, 10, 0], spinnerImage: '', beforeShow: customRange});
			$(elm).blur( function (){ blankSetTime($(elm)); });	//開始時間入力後、終了時間が空欄時のみ
		});
		//地図上の位置を微調整
		$("#mapAdjust").click( function (){
			if ($("#mCom").val() !="" && !mComChk($("#mCom").val())) {
				alert("地図上のマーカーでは <、> の記号は使用できません");
			} else {
				openMapDlog(ClubName);
			}
		});
		//事務局住所検索
		$("#OFzipSrc").click( function (){ wrkWin=ZipCDwin('ZipCD','width=400,height=400,resizable=yes,scrollbars=yes','OFzip','&zcr=OFzip&adr=OFadr'); wrkWin.focus(); });
		//事務局〒検索
		$("#OFadSrc").click( function (){ wrkWin=AdrCDwin('ZipCD','width=400,height=400,resizable=yes,scrollbars=yes','OFadr','&zcr=OFzip&adr=OFadr'); wrkWin.focus(); });
		//例会場住所検索
		$("#MPzipSrc").click( function (){ wrkWin=ZipCDwin('ZipCD','width=400,height=400,resizable=yes,scrollbars=yes','MPzip','&zcr=MPzip&adr=MPadr'); wrkWin.focus(); });
		//例会場〒検索
		$("#MPadSrc").click( function (){ wrkWin=AdrCDwin('ZipCD','width=400,height=400,resizable=yes,scrollbars=yes','MPadr','&zcr=MPzip&adr=MPadr'); wrkWin.focus(); });
		//メンバー一覧のソート
		$("#sort").change( function (){ clubMemSort(rcID); });

		if (xmlRcS[0].getElementsByTagName("timetable")[0].firstChild != null && xmlRcS2.length >1) {
			$("#MPtmType").val(1);	//毎週・週別の選択
			//曜日を設定
			for (i=0; i<5; i++) { $("#MPwd"+(i+1)).val(wd[i]); }
			$("#MPwd").val(wd[0]);
		} else {
			$("#MPtmType").val(0);
			$("#MPwd0").val(wd[0]);
			$("#MPwd1").val(wd[0]);
		}
		chg_MPtmType($("#MPtmType"));	//毎週・週別表示切替え
		$("#cp").val(cpID);				//登録されている会長を選択
		$("#cs").val(csID);				//登録されている幹事を選択
		$("#ico").val(icoID);			//登録されている管理者を選択
		$("#cpe").val(cpeID);			//登録されている会長エレクトを選択
		$("#cse").val(cseID);			//登録されている幹事エレクトを選択
		$("#icoe").val(icoeID);			//登録されている管理者エレクトを選択

		$("#inputDialog").dialog({		//ダイアログイベント追加
			bgiframe	: true,
			autoOpen	: true,
			modal		: true,
			width		: '550px',
			height		: 'auto',
			minWidth	: 550,
			title		: ClubName + "ロータリークラブ 情報編集",
			resizeStop	: function(evt, ui) {
				var e = $(this).parent();	//resize時にタイトルバーがはみ出た際、画面内に戻す
				var offset = e.offset();
				var position = e.position();
				if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
			},
			buttons:	{
				"閉じる": function() {
					$(this).remove();
				},
				"設定": function() {
					$("#rMsg").text("");
					inputChk(rcID);
				}
			},
			close: function() {
				$(this).remove();
			}
		});
	}

	function openMapDlog(ClubName) {					//地図上の位置調整用ダイアログ表示
		var html;
		html =        '<p style="font-size: 10pt;margin: 6px 0;">地図上をクリックし、微調整を行ってください。</p>';
		html = html + '<div id="mcAdjust"></div>';

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		createMapDialog(html);				//地図用ダイアログ表示
		$("#mapDialog").dialog({
			autoOpen	: true,
			modal		: false,
			width		: 450,
			height		: 485,
			minWidth	: 350,
			minHeight	: 380,
			title		: ClubName + "ロータリークラブ 例会場位置微調整",
			open:  function() { $("#mcAdjust").css("height", ($(this).height()-33)+"px"); },
			resize: function() { $("#mcAdjust").css("height", ($(this).height()-33)+"px"); },
			resizeStop: function() {
				map.checkResize();			//地図のサイズをフィット
				var e = $(this).parent();	//resize時にタイトルバーがはみ出た際、画面内に戻す
				var offset = e.offset();
				var position = e.position();
				if (offset.top <0) e.css("top",(position.top-offset.top)+"px");
			},
			buttons:	{
				"閉じる": function() {
					dlogObj.css({ zIndex: dlogZidx });
					$(this).remove();
				},
				"設定": function() {
					setMPlatlon();
				}
			},
			close: function() {
				dlogObj.css({ zIndex: dlogZidx });
				$(this).remove();
			}
		});
		adjustMap($("#MP_lat").text(), $("#MP_lon").text(), ClubName);	//調整用地図を作成・表示
	}

	function adjustMap(lat, lon, ClubName) {			//地図作成・地図上の位置を微調整
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("mcAdjust"));
			map.setCenter(new GLatLng(lat,lon), 17);
			// Custom Icon
			icon = new GIcon();
			icon.image = "http://www.d2780.rotary.bz/ImgDat/District/MP.png";
			icon.iconSize = new GSize(201, 106);
			icon.iconAnchor = new GPoint(56, 102);
			icon.infoWindowAnchor = new GPoint(53, 0);
			icon.infoShadowAnchor = new GPoint(18, 25);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			var point = new GLatLng(lat, lon);
			var marker = new GMarker(point,icon);
			map.addOverlay(marker);
			var msg_html = '<div style="font-size:12pt;text-align: center;"><b>' + ClubName + 'クラブ例会場</b></div><div>' + $("#mCom").val().replace(/\n/gi, "<br />") + '</div>';
			GEvent.addListener(marker, 'click', function() {
				marker.openInfoWindowHtml(msg_html);
			});
			//クリックして位置の微調整
			GEvent.addListener(map, 'click', function(overlay, point) {
				if (point) {
					$.data($("#mcAdjust").get(0), "MPlat", point.y);
					$.data($("#mcAdjust").get(0), "MPlon", point.x);
					map.clearOverlays();						//表示されているアイコンをクリア
					point = new GLatLng(point.y,point.x);
					map.addOverlay(new GMarker(point,icon));	//クリックした位置に再表示
				}
			});
		}
	}

	function setMPlatlon() {							//微調整したlat,lonを編集ダイアログへセット
		$("#MP_lat").text($.data($("#mcAdjust").get(0), "MPlat"));
		$("#MP_lon").text($.data($("#mcAdjust").get(0), "MPlon"));
		$("#mapDialog").dialog("close");
	}


	function clubMemSort(rcID) {						//メンバー一覧のソート
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_club_member" + 
				"&_rcID=" + rcID + 
				"&_sort=" + $("#sort").val() + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_club_member"]++ ;
				if(xmlRetry["get_club_member"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_club_member");
				else {
					alert("情報の取得に失敗しました get_club_member");
					clubMemSort(rcID);
				}
			},success: function(httpObj){
				xmlRetry["get_club_member"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				if (xmlRcS[0].firstChild != null) {
					var xmlRcS2	= xmlRcS[0].getElementsByTagName("mem");			//メンバー一覧を作成
					var opt		= '<option value="">　</option>';
					for (var i=0; i <xmlRcS2.length; i++) {
						opt = opt + '<option value="' + xmlNull_chk(xmlRcS2[i], "mID", 0) + '">' + xmlNull_chk(xmlRcS2[i], "name", 0) + '</option>';
					}
					var cpID	= $("#cp").val();
					var csID	= $("#cs").val();
					var icoID	= $("#ico").val();
					var cpeID	= $("#cpe").val();
					var cseID	= $("#cse").val();
					var icoeID	= $("#icoe").val();
					$("#cp").html(opt).val(cpID);
					$("#cs").html(opt).val(csID);
					$("#ico").html(opt).val(icoID);
					$("#cpe").html(opt).val(cpeID);
					$("#cse").html(opt).val(cseID);
					$("#icoe").html(opt).val(icoeID);
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function creatSetTime(tm,num) {						//曜日・時間 挿入する時間を作成
		if (tm !=null) tm.setMinutes(tm.getMinutes()+num);		//開始時間+num
		return tm;
	}

	function customRange(input) {						//曜日・時間 timeEntryイベントのtimerange
		if (input.id == $("[id^='MPtmSt']")) {
			var num = input.id.split("MPtmSt")[1];
		} else {
			var num = input.id.split("MPtmEd")[1];
		}
		return {
			minTime: (input.id == "MPtmEd"+num ? creatSetTime($("#MPtmSt"+num).timeEntry("getTime"), 30) : null),
			maxTime: (input.id == "MPtmSt"+num ? $("#MPtmEd"+num).timeEntry("getTime") : null)
		};
	}

	function blankSetTime(elm) {						//曜日・時間 開始時間入力後、終了時間が空欄時のみ
		var tgt = elm.attr("ID");
		if (elm.val() !="" && tgt.indexOf("MPtmSt") >-1) {
			var num = tgt.split("MPtmSt")[1];
			var ed = $("#MPtmEd"+num);
			if (ed.val() =="") {						//終了時間が空欄時のみ
				var tm = $("#MPtmSt"+num).timeEntry("getTime");
				ed.timeEntry("setTime", creatSetTime(tm,60));
			}
		}
	}

	function creatSetTime(tm,num) {						//曜日・時間 挿入する時間を作成
		if (tm !=null) tm.setMinutes(tm.getMinutes()+num);		//開始時間+num
		return tm;
	}

	function inputChk(rcID) {							//入力項目の確認
		var err ="";
		//例会場
		if ($("#MPname").val() =="")	err = err + "・例会場名が未入力です<br />";																//例会場名
		if ($("#MPzip").val() !="" && !zipChk($("#MPzip").val()))		err = err + "・例会場の郵便番号を確認してください<br />";				//例会場 郵便番号
		if ($("#MPadr").val() =="")		err = err + "・例会場の所在地が未入力です<br />";														//例会場 所在地
		if (!telFaxChk($("#MPtel").val()))	err = err + "・例会場のTELを確認してください<br />";												//例会場 TEL
		if ($("#MPfax").val() !="" && !telFaxChk($("#MPfax").val()))	err = err + "・例会場のFAXを確認してください<br />";					//例会場 FAX
		if ($("#MPtmType").val() ==0) {																											//曜日・時間
			if (!timeCmp($("#MPtmSt0").val(),$("#MPtmEd0").val())) err = err + "・例会開始・終了時間を確認してください<br />";
		} else {
			for (var i=1;i<6;i++) {
				if (!timeCmp($("#MPtmSt"+i).val(),$("#MPtmEd"+i).val())) err = err + "・第"+i+"週の例会開始・終了時間を確認してください<br />";
			}
		}
		if ($("#MPmail").val() !="" && !mailChk($("#MPmail").val()))	err = err + "・例会場のメールアドレスを確認してください<br />";			//例会場 メールアドレス
		if ($("#mCom").val() !="" && !mComChk($("#mCom").val()))		err = err + "・地図上のマーカーでは <、> の記号は使用できません<br />";	//地図上のマーカー
		if ($("#MP_lat").text() =="" || $("#MP_lon").text() =="")		err = err + "・地図上の位置を確認してください<br />";					//地図上の位置
		//事務局
		if ($("#OFzip").val() !="" && !zipChk($("#OFzip").val()))		err = err + "・事務局の郵便番号を確認してください<br />";				//事務局 郵便番号
		if ($("#OFadr").val() =="")		err = err + "・事務局の所在地が未入力です<br />";														//事務局 所在地
		if (!telFaxChk($("#OFtel").val()))	err = err + "・事務局のTELを確認してください<br />";												//事務局 TEL
		if ($("#OFfax").val() !="" && !telFaxChk($("#OFfax").val()))	err = err + "・事務局のFAXを確認してください<br />";					//事務局 FAX
		if ($("#OFmail").val() !="" && !mailChk($("#OFmail").val()))	err = err + "・事務局のメールアドレスを確認してください<br />";			//事務局 メールアドレス
		//クラブ
		if ($("#clubMail").val() !="" && !mailChk($("#clubMail").val()))	err = err + "・クラブのメールアドレスを確認してください<br />";		//クラブ メールアドレス
		if ($("#cp").val() =="")		err = err + "・クラブ会長を選択してください<br />";		//クラブ会長
		if ($("#cs").val() =="")		err = err + "・クラブ幹事を選択してください<br />";		//クラブ幹事
		if (err !="") {
			inputChk_err(err);			//エラーダイアログ
		} else {
			reg_Club_editData(rcID);	//クラブ編集情報を保存
		}
	}

	function telFaxChk(tel) {							//TEL・FAX形式の確認
		if(tel =="")	return false;	//未入力
		if (!tel.match(/^\d{2,5}-\d{1,4}-\d{4}$/)) {
			/*tgt = $("#"+tgt).parent().prev();
			err = err + tgt.text()+"　";
			tgt.css({ fontWeight:"bold", color:"#f00" });*/
			return false;
		} else {
			return true;
		}
	}

	function zipChk(zip) {								//郵便番号形式の確認
		if(zip =="")	return false;	//未入力
		if (!zip.match(/^\d{3}-\d{4}$/)) {
			return false;
		} else {
			return true;
		}
	}

	function mailChk(mail) {							//メールアドレス形式の確認
		if(mail =="")	return false;	//未入力
		if (!mail.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)) {
			return false;
		} else {
			return true;
		}
	}

	function mComChk(mCom) {							//<,>の確認
		if(mCom =="")	return false;	//未入力
		if (mCom.match(/<|>/)) {
			return false;
		} else {
			return true;
		}
	}

	function timeCmp(st,ed) {							//開始・終了時間の比較
		if (timeChk(st)) {
			var sta	= st.split(":");
			var stn	= sta[0]+sta[1];
		} else {
			return false;
		}
		if (timeChk(ed)) {
			var eda	= ed.split(":");
			var edn	= eda[0]+eda[1];
		} else {
			return false;
		}
		if (stn < edn) {
			return true;
		} else {
			return false;
		}
	}

	function timeChk(tm) {								//時間形式の確認
		if(!tm.match(/^\d{2}:\d{2}$/))	return false;	//hh:mm 形式でない
		var o = tm.substr(0, 2);
		var m = tm.substr(3, 2);
		if (o <=23 && m <= 50) {
			return true;
		} else {
			return false;
		}
	}

	function adrSplit(str) {							//所在地 建物名の切り分け
		var adr;
		if (str.indexOf("　") >0) {
			adr = str.split("　");
			if (adr) return adr;
		} else {
			adr = str.split(" ");
			if (str.indexOf(" ") <1) adr[1] ="";
			if (adr) return adr;
		}
	}

	function chg_MPtmType(tgt) {						//例会場時間 毎週・週別切替え
		if (tgt.val() ==0) { $("#MPtype1").show(); $("#MPtype2").hide(); }
		if (tgt.val() ==1) { $("#MPtype2").show(); $("#MPtype1").hide(); }
	}

	function inputChk_err(err) {						//入力項目の確認時のエラーダイアログ
		var dialog = '<div id="inputChk_err_dlog" style="display: none;">';
		dialog = dialog + '  <div id="alertMsg">';
		dialog = dialog + '    <span class="ui-icon ui-icon-alert"></span>';
		dialog = dialog + '    <p>' + err + '</p>';
		dialog = dialog + '  </div>';
		dialog = dialog + '</div>';
		$("#clubListArea").append(dialog);

		var dlogObj		=$("div[aria-labelledby^='ui-dialog-title']");
		var dlogZidx	=dlogObj.css("z-index");
		dlogObj.css({ zIndex: "50" });

		$("#inputChk_err_dlog").dialog({
			resizable: false,
			modal: false,
			title: '入力項目を確認してください',
			width: 'auto',
			minHeight: 80,
			buttons: {
				'閉じる': function() {
					dlogObj.css({ zIndex: dlogZidx });
					$(this).remove();
				}
			},
			close: function() {
				dlogObj.css({ zIndex: dlogZidx });
				$(this).remove();
			}
		});
	}

	function reg_Club_editData(rcID) {					//クラブ編集情報を保存
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=reg_club_editdata" + 
				"&_rcID="	+ rcID + 
				"&_MPnm="	+ encodeURI($("#MPname").val()) +	//例会場
				"&_MPzp="	+ $("#MPzip").val() + 				//例会場zip
				"&_MPph="	+ $("#MPtel").val() + 				//例会場TEL
				"&_MPfx="	+ $("#MPfax").val() + 				//例会場FAX
				"&_MPml="	+ $("#MPmail").val() + 				//例会場mail
				"&_mCom="	+ encodeURI($("#mCom").val()) + 	//地図上マーカーのコメント
				"&_Mlat="	+ $("#MP_lat").text() + 			//例会場lat
				"&_Mlon="	+ $("#MP_lon").text() + 			//例会場lon
				"&_OFzp="	+ $("#OFzip").val() + 				//事務局zip
				"&_OFph="	+ $("#OFtel").val() + 				//事務局TEL
				"&_OFfx="	+ $("#OFfax").val() + 				//事務局FAX
				"&_OFml="	+ $("#OFmail").val() + 				//事務局mail
				"&_Cml="	+ $("#clubMail").val() + 			//クラブmail
				"&_cpID="	+ $("#cp").val() + 					//会長
				"&_csID="	+ $("#cs").val() + 					//幹事
				"&_icoID="	+ $("#ico").val() + 				//管理者
				"&_cpeID="	+ $("#cpe").val() + 				//会長エレクト
				"&_cseID="	+ $("#cse").val() + 				//幹事エレクト
				"&_icoeID="	+ $("#icoe").val() + 				//管理者エレクト
				"&cache="	+ (new Date()).getTime();

		if ($("#MPurl").val().length >7) {		//例会場URL
			xml = xml + "&_MPurl="	+ $("#MPurl").val();
		} else {
			xml = xml + "&_MPurl=";
		}
		if ($("#clubUrl").val().length >7) {	//クラブURL
			xml = xml + "&_Curl="	+ $("#clubUrl").val();
		} else {
			xml = xml + "&_Curl=";
		}
		if ($("#MPadr2").val() !="") {			//例会場住所
			xml = xml + "&_MPad="	+ encodeURI($("#MPadr").val()+'　'+$("#MPadr2").val());
		} else {
			xml = xml + "&_MPad="	+ encodeURI($("#MPadr").val());
		}
		if ($("#OFadr2").val() !="") {			//事務局住所
			xml = xml + "&_OFad="	+ encodeURI($("#OFadr").val()+'　'+$("#OFadr2").val());
		} else {
			xml = xml + "&_OFad="	+ encodeURI($("#OFadr").val());
		}
		//曜日・時間
		if ($("#MPtmType").val() ==0) {
			xml = xml + "&_MPst0=" + $("#MPtmSt0").val();
			xml = xml + "&_MPed0=" + $("#MPtmEd0").val();
			xml = xml + "&_MPwd0=" + $("#MPwd0").val();
			xml = xml + "&_MPcnt=1";
		} else {
			for(var i=0;i<=4;i++) {
				xml = xml + "&_MPst"+(i+1)+"=" + $("#MPtmSt"+(i+1)).val();
				xml = xml + "&_MPed"+(i+1)+"=" + $("#MPtmEd"+(i+1)).val();
				xml = xml + "&_MPwd"+(i+1)+"=" + $("#MPwd"+(i+1)).val();
			}
			xml = xml + "&_MPcnt="+i;
		}
		//alert(xml);
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reg_club_editdata"]++ ;
				if(xmlRetry["reg_club_editdata"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reg_club_editdata");
				else {
					alert("情報の取得に失敗しました reg_club_editdata");
					reg_club_editdata(rcID);
				}
			},success: function(httpObj){
				xmlRetry["reg_club_editdata"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var se		= xmlNull_chk(xmlRcS[0], "se", 0);
				if (se ==0) {						//未ログイン
					location.href="p_mLogOut.asp?ru="+jmpURL;
				} else {							//ログイン
					$("#rMsg").text(xmlNull_chk(xmlRcS[0], "msg", 0));
					location.reload();
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


//================================================================================================== Webサイトのurlを確認
	function chkUrl(url) {
		if (url.length >7) {
			window.open(url,"chkURL",'directories=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes,resizable=yes');
		}
	}

//================================================================================================== 所在地からlat、lonの取得
	function getAddress(address,tgt) {
		var geocoder = new GClientGeocoder();
		if (geocoder && address.length >0) {
			geocoder.getLatLng(address,
			function(point) {
				if (!point) {
					alert(address + " の座標は見つかりませんでした。\n1. 所在地が正しい\n2. 建物名が\"含まれていない\"\n以上を確認してください。");
				} else {
					$("#"+tgt+"_lat").text(point.y);
					$("#"+tgt+"_lon").text(point.x);
				}
			});
		}
	}



//================================================================================================== APの取得
	function get_AP() {
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_AP" + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_AP"]++ ;
				if(xmlRetry["get_AP"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_AP");
				else {
					get_AP();
				}
			},success: function(httpObj){
				xmlRetry["get_AP"]=0;
				var cID, cnt, apYr, menu;
				if (httpObj.getElementsByTagName("record")[0].firstChild != null) {
					var xmlRcS = httpObj.getElementsByTagName("record");
					var ry = httpObj.getElementsByTagName("ry")[0].firstChild.nodeValue;	//ry
					var flg;
					for (var i=0; i <xmlRcS.length; i++) {
						cID		= xmlNull_chk(xmlRcS[i], "cID", "");	//cID
						cnt		= xmlNull_chk(xmlRcS[i], "cnt", "");	//cnt
						apYr	= xmlNull_chk(xmlRcS[i], "apYr", "");	//apYr
						if (cnt ==1) {
							flg=0;		//1ファイルのみ
							if (ry !=apYr) flg=3;
						}
						if (cnt >1) {
							flg=1;		//複数ファイルあり 過去分も表示
							if (ry !=apYr) flg=2;
						}
						//アイコンとIDを追加
						if (cnt >0) {
							$.data($("#cID_"+cID).get(0), "apYr", apYr);		//$.dataに最新の年度を保存
							if (flg==0 || flg==1) {
								$("#cID_"+cID).html('<a href="javascript:void(0);"><img src="images/btn_book.gif" id="apBt_'+flg+'_'+cID+'" style="display: inline;" alt="活動計画書" title="活動計画書" /></a>');
							} else {
								$("#cID_"+cID).html('<a href="javascript:void(0);"><img src="images/btn_book2.gif" id="apBt_'+flg+'_'+cID+'" style="display: inline;" alt="活動計画書" title="活動計画書" /></a>');
							}
							$("#apBt_"+flg+"_"+cID).click(function() {			//クリックイベント追加
								var cID =$(this).attr('id').split("_")[2];
								openAp(cID);
							});
						}
					}

					//contextMenu
					menu =        '<ul id="myMenu1" class="contextMenu">';
					menu = menu + 	'<li class="curr"><a href="#curr">現年度の閲覧</a></li>';
					menu = menu + 	'<li class="past separator"><a href="#past">過去年度分を閲覧</a></li>';
					menu = menu + '</ul>';
					menu = menu + '<ul id="myMenu0" class="contextMenu">';
					menu = menu + 	'<li class="curr"><a href="#curr">現年度の閲覧</a></li>';
					menu = menu + '</ul>';
					menu = menu + '<ul id="myMenu2" class="contextMenu">';
					menu = menu + 	'<li class="curr"><a href="#curr">前年度の閲覧</a></li>';
					menu = menu + 	'<li class="past separator"><a href="#past">過去年度分を閲覧</a></li>';
					menu = menu + '</ul>';
					menu = menu + '<ul id="myMenu3" class="contextMenu">';
					menu = menu + 	'<li class="curr"><a href="#curr">前年度の閲覧</a></li>';
					menu = menu + '</ul>';
					$("#cMenu").html(menu);

					$("img[id^='apBt_1_']").contextMenu({
						menu: 'myMenu1',
						button: 2
					},
						function(action, el, pos) {
							var cID =$(el).attr('id').split("_")[2];
							if (action =="curr") { openAp(cID); }			//最新年度分
							if (action =="past") { get_AP_past(cID); }		//過去年度分
					});
					$("img[id^='apBt_2_']").contextMenu({
						menu: 'myMenu2',
						button: 2
					},
						function(action, el, pos) {
							var cID =$(el).attr('id').split("_")[2];
							if (action =="curr") { openAp(cID); }			//前年度分
							if (action =="past") { get_AP_past(cID); }		//過去年度分
					});

					$("img[id^='apBt_0_']").contextMenu({
						menu: 'myMenu0',
						button: 2
					},
						function(action, el, pos) {
							var cID =$(el).attr('id').split("_")[2];
							if (action =="curr") { openAp(cID); }			//最新年度分
					});
					$("img[id^='apBt_3_']").contextMenu({
						menu: 'myMenu3',
						button: 2
					},
						function(action, el, pos) {
							var cID =$(el).attr('id').split("_")[2];
							if (action =="curr") { openAp(cID); }			//前年度分
					});

				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


	function get_AP_past(cID) {							//過去分取得
		var xml=xmlModule_2+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=get_AP_past" + 
				"&_cID=" + cID + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_AP_past"]++ ;
				if(xmlRetry["get_AP_past"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_AP_past");
				else {
					get_AP_past(cID);
				}
			},success: function(httpObj){
				xmlRetry["get_AP_past"]=0;
				var SID		= xmlNull_chk(httpObj, "SID", "");			//SID
				if (SID=="") location.reload();							//ログイン状態でなければreload
				if (httpObj.getElementsByTagName("record")[0].firstChild != null) {
					past_dlg(cID,httpObj);
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function past_dlg(cID, httpObj) {						//過去分を選択ダイアログ
		var apYr;
		var xmlRcS = httpObj.getElementsByTagName("record");

		var dialog = '<div id="past_dlg" style="display: none;">';
		dialog = dialog + '  <div style="margin: 8px;">';
		dialog = dialog + '    <select id="pList">';
		for (var i=0; i <xmlRcS.length; i++) {
			apYr	= parseInt(xmlNull_chk(xmlRcS[i], "apYr", ""));		//apYr
			dialog	= dialog + '      <option value="' + apYr + '">' + apYr + "-" + (apYr+1) + " 年度" + '</option>';
		}
		dialog = dialog + '    </select> 活動計画書';
		dialog = dialog + '  </div>';

		dialog = dialog + '</div>';
		$("#cMenu").append(dialog);

		$("#past_dlg").dialog({
			resizable: false,
			modal: true,
			title: '過去年度を選択してください',
			width: 'auto',
			minHeight: 80,
			buttons: {
				'閉じる': function() {
					$(this).remove();
				},
				'選択': function() {
					window.open('AP_PDF.asp?ID='+$("#pList").val()+'_'+cID+'.pdf','viewPDF','width=800,height=900,resizable=yes');
				}
			},
			close: function() {
				$(this).remove();
			}
		});
	}

	function openAp(cID) {								//APを開く
		window.open('AP_PDF.asp?ID='+$.data($("#cID_"+cID).get(0), "apYr")+'_'+cID+'.pdf','viewPDF','width=800,height=900,resizable=yes');
	}

