﻿//--------------------------------------------------------------------------------------------------//
//																									//
//	Functions																						//
//	copyright(C)2010 lcc inc. all rights reserved													//
//--------------------------------------------------------------------------------------------------//

var xmlRetry		= new Array(99);	//xml RetryCount
var xmlRetryLimt	= 3;				//xml Retry Limit
var xmlRetryTimeout	= 8000;				//xml Retry Timeout
var xmlModule	= "_xml.asp";
var root		= "/";
var ry			= 0;
var nry			= 0;
var vCP			= 0;
var vRP			= 0;
var vTP			= 2;
var LoginID		= 0;
var images	= root + "images/";
var Rep		= "/ImgDat/Rep/";
var Inf		= "/ImgDat/inf/";
var Art		= "/ImgDat/Art/";
var Links	= "/ImgDat/Links/";
var xmlYer	= null;
var xmlSES	= null;
var toTopID	= "#header";
var toTopstr= "";
//var toTopstr= "<p class='toTop'><a href='#menu'>▲ページTopへ</a></p>";
var uploader	="/jQuery171_132/upload/uploadify.swf";
var script		="/jQuery171_132/upload/uploadify.asp";
var cancelImg	="/jQuery171_132/upload/cancel.png";
var upMax		=6;
var pdfTitle	=encodeURI("月刊ファイブナイン");
var Author		=encodeURI("草野　利一");
var Creator		=encodeURI("LogicalConputerCenter");
var yearPay		=4200		//年間購読料
var bknumPay	=350;		//バックナンバーの価格

xmlRetry["get_ses"]				=0;
xmlRetry["get_mant"]			=0;
xmlRetry["get_readenable"]		=0;
xmlRetry["send_subscription"]	=0;
xmlRetry["get_User"]			=0;
xmlRetry["get_List_User"]		=0;
xmlRetry["edit_User"]			=0;
xmlRetry["get_rsvmail_user"]	=0;
xmlRetry["get_mailprv"]			=0;
xmlRetry["get_mailedit"]		=0;
xmlRetry["reg_mailedit"]		=0;
xmlRetry["reg_mailrsv"]			=0;
xmlRetry["del_mailrsv"]			=0;
xmlRetry["loginChk"]			=0;
xmlRetry["reqPass"]				=0;
xmlRetry["allClear"]			=0;
xmlRetry["chkCookie"]			=0;
xmlRetry["logout"]				=0;
xmlRetry["_getZip2Add"]			=0;
xmlRetry["reg_subscription"]	=0;
xmlRetry["edit_pay"]			=0;
xmlRetry["del_Pay"]				=0;
xmlRetry["get_baknum"]			=0;


//================================================================================================== ready
$(document).ready(function() {
	//------------------------------------------------------------ ry を取得
	get_ses();

	$("#login").click(function () { 											//Login
		if(xmlNull_chk(xmlSES[0], "mID", "")==""){
			creat_login_dlog() ;
		}else{
			logout() ;
		}
	});

	if ($("#backnumber").length || $("#news").length || $("#top").length) { get_mant(); }	//読むボタンを有効化
	if ($("#subscription").length) {
		$("#badd").click(function () {									//購読申込メール送信
			if ($("#badd").data("flg") ==0 || $("#badd").data("flg") ==undefined) {
				chk_subscription(1);
			}
		});
		$("#bclear").click(function () {								//クリア
			$("#subscription tr td input, #subscription tr td select").val("");
		});
		$("#ZipAdd_Sub").click(function () {							//郵便番号住所検索
			jb_Zip2AddSrc($("#fzip1").val()+"-"+$("#fzip2").val(),"#faddres1",0,1) ;
		});
	}

});

//================================================================================================== 取得
	function get_ses() {													//ry を取得
		var xml=xmlModule+'?'+"_fn=get_ses"+
				"&cache=" + (new Date()).getTime() +
				"&_xsid="+ encodeURIComponent(document.URL) ; 
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_ses"]++ ;
				if(xmlRetry["get_ses"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_ses");
				else {
					get_ses();
				}
			},success: function(httpObj){
				ry =parseInt(xmlNull_chk(httpObj, "ry", 0));
				xmlSES	= httpObj.getElementsByTagName("Session");
				if ($("#root").length) {
					location.href = root + ry +"/index.html";	//rootのindex.htmlの場合は各年度フォルダに振る
				} else {
					if(xmlNull_chk(xmlSES[0], "mID", "") !="") {
						$("#login").html("<img src='images/btn_Logout.gif' alt='ログアウト' />");	//ボタンの変更
						if(xmlNull_chk(xmlSES[0], "ADM", "") !="") {
							$("#edit").text("購読設定");
							$("#send").text("メール送信予約");
							$("#send").click(function () { creat_rsvMail_dlog(); });						//メール送信予約
						} else {
							if(xmlNull_chk(xmlSES[0], "FN", "") =="") {
								$("#edit").text("登録情報編集");
							}
						}
						$("#edit").click(function () { creat_edit_dlog(); });						//購読設定・登録情報編集
					}
					else $("#login").html("<img src='images/btn_Login.gif' alt='ログイン' />");
					//chk_partsDiv();								//どのパーツDivが存在しているか確認
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function get_mant() {												//top 最新号を取得
		if ($("#top").length) {
			var xml=xmlModule+'?'+"_fn=get_mant"+
					"&cache=" + (new Date()).getTime() +
					"&_xsid="+ encodeURIComponent(document.URL) ; 
			$.ajax({
				url: xml,
				type: 'POST',
				dataType: 'xml',
				timeout: xmlRetryTimeout,
				error: function(){
					xmlRetry["get_mant"]++ ;
					if(xmlRetry["get_mant"]>(xmlRetryLimt-1))
						alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_mant");
					else {
						get_mant();
					}
				},success: function(httpObj){
					xmlRetry["get_mant"]=0;
					var html="";
					var xmlRcS	= httpObj.getElementsByTagName("record");
					var Years =xmlNull_chk(xmlRcS[0], "Years", "");

					html += '<table class="ta1" id="'+ Years +'">';
					html += '<tr>';
					html += '<td width="121"><a href="pContents.asp?yc='+ Years +'" class="waku"><img src="image/'+ Years +'.jpg" alt=" width="121" height="164" /></a></td>';
					html += '<td>';
					html += '<h3>'+ xmlNull_chk(xmlRcS[0], "Caption", "") +'</h3>';
					html += '<p>'+ xmlNull_chk(xmlRcS[0], "Contents", "") +'<br />';
					html += '<a href="pContents.asp?yc='+ Years +'"><img src="images/btn_Contents.gif" alt="もっと詳しくみる" /></a><br />';
					if (xmlNull_chk(xmlRcS[0], "srd", "") =="") {
						html += '<a href="javascript:void(0);" onclick="Openwin(\'sDocBrows.asp?_bID='+ Years +'\',\'viewPDF\',\'width=800,height=900,resizable=yes\');" class="bt_srd"><img src="images/btn_Browse.gif" alt="立ち読み" /><br /></a>';
					}
					if (xmlNull_chk(xmlRcS[0], "rd", "") =="") {
						html += '<span class="bt_rd"></span>';
					}
					html += '</p>';
					html += '</td>';
					html += '</tr>';
					html += '</table>';
					$("#top_mant").html(html);
					get_readEnable();
				}
			});
		} else {
			get_readEnable();
		}
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function get_readEnable() {												//有効年月 を取得
		var xml=xmlModule+'?'+"_fn=get_readenable"+
				"&cache=" + (new Date()).getTime() +
				"&_xsid="+ encodeURIComponent(document.URL) ; 
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_readenable"]++ ;
				if(xmlRetry["get_readenable"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_readenable");
				else {
					get_readEnable();
				}
			},success: function(httpObj){
				xmlRetry["get_readenable"]=0;
				xmlSES	= httpObj.getElementsByTagName("Session");
				var SD=0, PD=0, YR=0;
				var bookID="", Subject="", Keyword="";
				if(xmlNull_chk(xmlSES[0], "mID", "") !="") {
					var xmlRcS	= httpObj.getElementsByTagName("record");
					var PassWD	= httpObj.getElementsByTagName("PassW")[0].firstChild.nodeValue;
					var distID	= httpObj.getElementsByTagName("distID")[0].firstChild.nodeValue;
					for (var i=0; i<xmlRcS.length; i++) {
						SD =parseInt(xmlNull_chk(xmlRcS[i], "StartDate", ""));
						PD =parseInt(xmlNull_chk(xmlRcS[i], "PriorDate", ""));
						$(".ta1").each(function(idx,el){
							YR =parseInt($(el).attr("id"));
							if (YR >=SD && YR <=PD) {					//購読範囲内ならば
								if ($(el).find(".bt_rd").length) { $(el).find(".bt_srd").remove(); }
								$(el).find(".bt_rd")
									.html('<a href="javascript:void(0);"><img src="images/btn_Read.gif" alt="読む" title="新しくウィンドウが表示され、閲覧できるようになります" /></a>')
									.click(function() {
										bookID	=$(el).attr("id")+".pdf";
										Subject	=encodeURI($(el).find("h3").text());
										Keyword	=encodeURI($.trim($(el).find("p:first").text()));
										Openwin('getPDFbook.aspx?bookID='+bookID+'&Title='+pdfTitle+'&Subject='+Subject+'&Author='+Author+'&Creator='+Creator+'&Keyword='+Keyword+'&UserID='+distID+'&PassWD='+PassWD,'viewPDF','width=800,height=900,resizable=yes');
									});
							}
						});
					}
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

//================================================================================================== メール送信
	function chk_subscription(typ) {								//購読申込フォームの入力確認
		$("#res").empty();
		if (typ ==2) if ($("#toInquiry").val() =="") { alert("問い合わせ先を選択してください。"); return; }
		if ($("#fname").val() =="")														{ alert("名前が入力されていません。"); return; }
		if ($("#ffurigana").val() =="")													{ alert("ふりがなが入力されていません。"); return; }
		if ($("#fzip1").val() =="" || $("#fzip2").val() =="")							{ alert("郵便番号が入力されていません。"); return; }
		if ($("#fken").val() =="")														{ alert("県名が入力されていません。"); return; }
		if ($("#faddres1").val() =="")													{ alert("住所が入力されていません。"); return; }
		if ($("#ftel1").val() =="" || $("#ftel2").val() =="" || $("#ftel3").val() =="")	{ alert("電話番号が入力されていません。"); return; }
		if ($("#fcall").val() =="")														{ alert("コールサインが入力されていません。"); return; }
		if ($("#MAILFROM").val() =="")													{ alert("メールアドレスが入力されていません。"); return; }
		if ($("#St_sub").val() =="")													{ alert("購読開始号を選択してください。"); return; }
		if ($("#period").val() =="")													{ alert("購読期間を選択してください。"); return; }
		//if ($("#bkyear1").val() =="" || $("#bkmonth1").val() =="")						{ alert("ご希望のバックナンバー1を選択してください。"); return; }
		//if ($("#bkyear2").val() =="" || $("#bkmonth2").val() =="")						{ alert("ご希望のバックナンバー2を選択してください。"); return; }
//		if (!$("#MAILFROM").val().match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)) {			//email
//		if (!$("#MAILFROM").val().match(/^[\w_-]+@[\w\.-]+\.\w{2,}$/)) {			//email
//		if (!$("#MAILFROM").val().match(/[!#-9A-~]+@[a-z0-9]+\.+[a-z0-9]+/i)) {			//email
		if (!$("#MAILFROM").val().match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i)) {			//email
			alert("E-mailアドレスを確認してください。");
			return ;
		}
		$("#badd").data("flg",1);
		send_subscription(typ);
	}

	function send_subscription(typ) {							//購読申込メール送信
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=send_subscription" + 
				"&_ry="+ ry + 
				"&_typ="+ typ + 
				"&_name="+ encodeURI($("#fname").val()) + 
				"&_furigana="+ encodeURI($("#ffurigana").val()) + 
				"&_email="+ $("#MAILFROM").val() + 
				"&_call="+ encodeURI($("#fcall").val()) + 
				"&_zip="+ $("#fzip1").val()+"-"+$("#fzip2").val() + 
				"&_ken="+ encodeURI($("#fken").val()) + 
				"&_address1="+ encodeURI($("#faddres1").val()) + 
				"&_address2="+ encodeURI($("#faddres2").val()) + 
				"&_tel="+ $("#ftel1").val()+"-"+$("#ftel2").val()+"-"+$("#ftel3").val() + 
				"&_subTxt="+ encodeURI($("#St_sub option:selected").text()) + 
				"&_sub="+ encodeURI($("#St_sub").val()) + 
				"&_period="+ $("#period").val() + 
				//"&_bkn1="+ encodeURI($("#bkyear1").val()+"年度"+$("#bkmonth1").val()+"月号") + 
				//"&_bkn2="+ encodeURI($("#bkyear2").val()+"年度"+$("#bkmonth2").val()+"月号") + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				//xmlRetry["send_subscription"]++ ;
				//if(xmlRetry["send_subscription"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed send_subscription");
					$("#badd").data("flg",0);
				//else {
				//	send_subscription(typ);
				//}
			},success: function(httpObj){
				xmlRetry["send_subscription"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var res		= xmlNull_chk(xmlRcS[0], "res", "");	//res
				$("#res").text(res);
				alert(res);
				$("#badd").data("flg",0);
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

//================================================================================================== 購読設定・登録情報編集ダイアログ
	function creat_edit_dlog() {					//ダイアログ作成
		if(xmlNull_chk(xmlSES[0], "ADM", "") !="") {//管理者ならば購読者リスト表示
			var dialog = '<div id="edit_dlog" style="display: none;">';
			dialog += '購読者検索：<select id="searchTyp"><option value="0">名前</option><option value="1">コールサイン</option><option value="2">未入金者</option></select><input type="text" value="" size="18" id="searchTxt" />';
			dialog += '<div id="pager" class="pager">';
			dialog += '  <form>';
			dialog += '    <img src="/jQuery171_132/addons/pager/icons/first.png" class="first"/>';
			dialog += '    <img src="/jQuery171_132/addons/pager/icons/prev.png" class="prev"/>';
			dialog += '    <span class="pagedisplay">0/0</span>';
			dialog += '    <img src="/jQuery171_132/addons/pager/icons/next.png" class="next"/>';
			dialog += '    <img src="/jQuery171_132/addons/pager/icons/last.png" class="last"/>';
			dialog += '    <select class="pagesize">';
			dialog += '      <option selected="selected"  value="10">10</option>';
			dialog += '      <option value="20">20</option>';
			dialog += '    </select>';
			dialog += '  </form>';
			dialog += '</div>';
			dialog += '<div id="userListDiv" style="overflow: auto;">';
			dialog += '<div>';
			dialog += '</div>';
			$("#footer").append(dialog);

			var tid =null;
			$("#searchTyp").change(function () {	//検索対象
				clearTimeout(tid);
				tid=setTimeout("get_List_User()",1000);
			});
			$("#searchTxt").keyup(function () {		//検索
				clearTimeout(tid);
				tid=setTimeout("get_List_User()",1000);
			});

			$("#edit_dlog").dialog({					//ダイアログイベント追加
				bgiframe: true,
				autoOpen: true,
				position: ["center",100],
				modal: true,
				width: 370,
				height: 'auto',
				title: "購読設定",
				buttons:	{
					"閉じる": function() { $(this).dialog("close"); },
					"新規登録": function() { creat_user_dlog(0,""); }
				},
				open: function() {
					//$(this).find("div:first").css({ height: $(window).height()*0.6, background: "url("+ images +"ajax-loader.gif) no-repeat center" });
				},
				close: function() { $(this).remove(); }
			});
		} else {									//ユーザならば登録編集ダイアログ表示
			creat_user_dlog(0,"");
		}
	}

	function creat_user_dlog(id,msg) {				//登録情報編集ダイアログ作成
		if(xmlNull_chk(xmlSES[0], "SID", "") !="") {
			var sendidpass="", chk="chk" ;
			//if (id >0) {
			if (xmlNull_chk(xmlSES[0], "ADM", "") =="ADM") {
				sendidpass='　　<button id="sendidpass" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only cst_button" role="button" aria-disabled="false"><span class="ui-button-text">ID・pass送信</span></button>' ;
				if (id ==0) { chk ="nochk"; }
			}
			var dialog = '<div id="user_dlog" style="display: none;">';
			dialog += '<p id="ErrMsg">'+ msg +'</p>';
			dialog += '<table border="0" cellpadding="2" cellspacing="0" id="userEdit">';
			dialog += '  <tr><th nowrap>名前：</th><td><input type="text" size="15" id="name" value="" style="ime-mode: active;"></td></tr>';
			dialog += '  <tr><th nowrap>ふりがな：</th><td><input type="text" size="15" id="rubi" value="" style="ime-mode: active;"></td></tr>';
			dialog += '  <tr><th nowrap>郵便番号：</th><td><input type="text" size="15" id="zip" value="" style="ime-mode: inactive;"> <button id="ZipAdd" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">住所検索</span></button></td></tr>';
			dialog += '  <tr><th nowrap>住所１：</th><td><input type="text" size="30" id="add1" value="" style="ime-mode: active;"></td></tr>';
			dialog += '  <tr><th nowrap>住所２：</th><td><input type="text" size="30" id="add2" value="" style="ime-mode: active;"></td></tr>';
			dialog += '  <tr><th nowrap>電話番号：</th><td><input type="text" size="15" id="tel" value="" style="ime-mode: inactive;"></td></tr>';
			dialog += '  <tr><th nowrap>コールサイン：</th><td><input type="text" size="10" id="callSign" value="" style="ime-mode: inactive;">'+sendidpass+'</td></tr>';
			dialog += '  <tr><th nowrap>メールアドレス：</th><td><input type="text" size="30" id="mail" value="" style="ime-mode: inactive;"></td></tr>';
			//dialog += '  <tr><th nowrap>パスワード：</th><td><input type="text" size="10" id="pass" class="'+ chk +'" value="" style="ime-mode: inactive;"></td></tr>';
			dialog += '  <tr><th nowrap>パスワード：</th><td><input type="text" size="10" id="pass" class="'+ chk +'" value="" style="ime-mode: inactive;">　　　　　<button id="Subscription" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only cst_button" role="button" aria-disabled="false"><span class="ui-button-text">購読申込</span></button></td></tr>';
//			dialog += '  <tr><th nowrap>購読申込：</th><td>指定：<select id="rstart" name="rstart"><option value="1">継続</option><option value="2">最新号から</option><option value="3">来月号から</option></select>　期間<select id="period" name="period"><option value="1">1年間 ￥4,200.-</option></select></td></tr>';
			dialog += '  <tr><td colspan="2" id="pay">';
			dialog += '    <table border="0" cellpadding="2" cellspacing="0" id="payData">';
			dialog += '      <thead><tr><th nowrap>購読期間</th><th nowrap>入金額</td></tr></thead>';
			dialog += '    <tbody></tbody>';
			dialog += '    </table>';
			dialog += '  </td></tr>';
			//if (id >0) {
			if (xmlNull_chk(xmlSES[0], "ADM", "") =="ADM") {
				dialog += '  <tr><th colspan="2"><button id="addPay" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">購読期間を追加</span></button></th></tr>';
			}
			dialog += '</table>';
			dialog += '</div>';
			$("#footer").append(dialog);

			$("#ZipAdd").click(function () {			//郵便番号住所検索
				jb_Zip2AddSrc("#zip","#add1",0) ;
			});

			$("#Subscription").click(function () {		//購読申込
				if ((xmlNull_chk(xmlSES[0], "ADM", "") =="ADM" && id >0) || (xmlNull_chk(xmlSES[0], "ADM", "") =="" && id ==0)) { creat_Subscription_dlog(id) ; }
			});

			$("#sendidpass").click(function () {		//ID・Pass送信
				$("#ErrMsg").text("");
//				if (!$("#mail").val().match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)) {
//				if (!$("#mail").val().match(/^[\w_-]+@[\w\.-]+\.\w{2,}$/)) {			//email
//				if (!$("#mail").val().match(/[!#-9A-~]+@[a-z0-9]+\.+[a-z0-9]+/i)) {			//email
				if (!$("#mail").val().match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i)) {			//email
					$("#ErrMsg").text("メールアドレスを確認してください");
				} else {
					reqPass($("#mail").val(),2) ;
				}
			});

			$("#addPay").click(function () {			//購読期間を追加
				$("#payData tbody").prepend('    <tr class="adPay"><td><input type="text" size="10" class="SD" value="" style="ime-mode: inactive;">～<input type="text" size="10" class="PD" value="" style="ime-mode: inactive;"></td><td>　￥<input type="text" size="6" class="Cst" value="" style="ime-mode: inactive;"></td></tr>');
				$(".SD").datepicker({ dateFormat: 'yy/mm/dd' });
				$(".PD").datepicker({ dateFormat: 'yy/mm/dd' });
			});

			$("#user_dlog").dialog({					//ダイアログイベント追加
				bgiframe: true,
				autoOpen: true,
				modal: true,
				position: ["center",100],
				width: 'auto',
				height: 'auto',
				title: "購読設定",
				buttons:	{
					"閉じる": function() { $(this).dialog("close"); },
					"設定": function() { if (edit_chk_User() ==true) { edit_User(id); } }	//購読者情報の設定
				},
				open: function() {
					get_User(id);	//登録情報編集を取得
				},
				close: function() { $(this).remove(); }
			});
		}
	}

	function creat_Subscription_dlog(id) {				//購読申込編集ダイアログ作成
		if(xmlNull_chk(xmlSES[0], "SID", "") !="") {
			var dialog = '<div id="Subscription_dlog" style="display: none;">';
			dialog += '<p id="ErrMsg"></p>';
			dialog += '<table border="0" cellpadding="2" cellspacing="0" id="userEdit">';
			dialog += '  <tr><th nowrap>購読申込：</th><td>指定<select id="rstart" name="rstart"><option value="0"></option><option value="1">継続</option><option value="2">最新号から</option><option value="3">来月号から</option></select>　期間<select id="sub_period" name="sub_period"><option value="0"></option><option value="1">1年間 ￥4,200.-</option></select></td></tr>';
			dialog += '  <tr><th nowrap>バックナンバー：</th><td><select id="backnum" name="backnum" multiple="multiple">';
			//dialog += '    <option value="201107">2011年07月号</option>';
			dialog += '  </select></td></tr>';
			dialog += '</table>';
			dialog += '</div>';
			$("#footer").append(dialog);

			get_baknum();

			$("#rstart").change(function () {
				if ($(this).val() >0) { $("#sub_period").val(1); }
			});

			$("#Subscription_dlog").dialog({					//ダイアログイベント追加
				bgiframe: true,
				autoOpen: true,
				modal: true,
				position: ["center",100],
				width: '450px',
				height: 'auto',
				title: "購読申込",
				buttons:	{
					"閉じる": function() { $(this).dialog("close"); },
					"購読申込": function() {	//購読申込確認
						if (chk_Subscription()) {
							if ($("#footer").data("flg") ==0 || $("#footer").data("flg") ==undefined) {
								chk_Subscription_dlog(id);
							}
						}
					}
				},
				close: function() { $(this).remove(); }
			});
		}
	}

	function get_baknum() {						//バックナンバー取得
		set_loader($("#Subscription_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_baknum" + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_baknum"]++ ;
				if(xmlRetry["get_baknum"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_baknum");
				} else {
					get_baknum();
				}
			},  
			success: function(httpObj){
				xmlRetry["get_baknum"]=0;
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var html ="";
				for (var i=0; i<xmlRcS.length; i++) {
					html += '<option value="'+xmlNull_chk(xmlRcS[i], "year", "")+'">'+ xmlNull_chk(xmlRcS[i], "caption", "") +'</option>';
				}
				$("#backnum").html(html).dropdownchecklist({ width: 250,
					onComplete: function(selector) {									//Add Text Data Items
					}
				});
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function chk_Subscription() {				//購読申込の入力確認
		$("#Subscription_dlog #ErrMsg").text("");
		if ($("#backnum").val() ==null) {
			if ($("#rstart").val() ==0)		{ $("#Subscription_dlog #ErrMsg").text("指定を選択してください"); return false; }
			if ($("#sub_period").val() ==0)	{ $("#Subscription_dlog #ErrMsg").text("期間を設定してください"); return false; }
		} else {
			return true;
		}
		return true;
	}

	function chk_Subscription_dlog(id) {		//購読申込確認
		var str ="", bak ="", bkPay =0, sum =0;
		if ($("#rstart").val() !=0) {
			str =$("#rstart option:selected").text() +"："+ $("#sub_period option:selected").text() +'<br />';
			sum =yearPay;
		}
		$("#backnum option:selected").each(function (e,i) { bak += "　"+ $(this).text() +'<br />'; bkPay++; });
		bkPay =(bkPay*bknumPay);
		if (bak !="") { bak = 'バックナンバー： ￥'+ bkPay +'<br />'+bak; }
		sum =(sum+bkPay);

		confirm_dlog(1, "すでに購読済みのものを再注文し<br />ご入金をいただいた場合、<br />返金は致しかねますのでご注意ください。", "購読申込時のご注意", "購読申込をする", "キャンセル", function(res){
			if (res) return;

			confirm_dlog(1, str + bak + "<br />合計：￥"+sum, "購読申込確認", "購読申込", "キャンセル", function(res){
				if (res) return;
				$("#footer").data("flg",1);
				reg_Subscription(id,sum,bkPay);		//購読申込
			});
		});

	}

	function reg_Subscription(id,sum,bkPay) {				//購読申込
		var bak ="", bakTxt ="";
		if ($("#backnum").val() !=null) {
			$("#backnum option:selected").each(function (e,i) {
				bak += $(this).val() +",";
				bakTxt += "　"+ $(this).text() +",";
			});
		}
		set_loader($("#Subscription_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=reg_subscription" + 
				"&_ID=" + id +
				"&_email=" + $("#mail").val() +
				"&_name=" + encodeURI($("#name").val()) +
				"&_cs=" + $("#callSign").val() +
				"&_rstart=" + $("#rstart").val() +
				"&_rstartTxt=" + encodeURI($("#rstart option:selected").text()) +
				"&_period=" + $("#sub_period").val() +
				"&_periodTxt=" + encodeURI($("#sub_period option:selected").text()) +
				"&_sum=" + sum +
				"&_bkPay=" + bkPay +
				"&_backnum=" + bak +
				"&_backTxt=" + encodeURI(bakTxt) +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				alert("サーバーとの通信に失敗しました。\n時間を置いてから設定してください。\nxml failed reg_subscription");
				$("#footer").data("flg",0);
			},  
			success: function(httpObj){
				xmlRetry["reg_subscription"]=0;
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				var xmlRcS	= httpObj.getElementsByTagName("record");
				$("#Subscription_dlog #ErrMsg").text(xmlNull_chk(xmlRcS[0], "msg", ""));
				get_User(id);
				$("#footer").data("flg",0);
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function get_User(id) {						//登録情報編集を取得
		set_loader($("#user_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_user" + 
				"&_id=" + id + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_User"]++ ;
				if(xmlRetry["get_User"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_User");
				} else {
					get_User(id);
				}
			},  
			success: function(httpObj){
				xmlRetry["get_User"]=0;
				xmlSES	= httpObj.getElementsByTagName("Session");
				if (xmlNull_chk(xmlSES[0], "SID", 0) ==0) { location.reload(); }
				if(xmlNull_chk(xmlSES[0], "mID", "") !="") {
					var xmlUdt	= httpObj.getElementsByTagName("uData");
					$("#name").val(xmlNull_chk(xmlUdt[0], "Name", ""));
					$("#rubi").val(xmlNull_chk(xmlUdt[0], "rubi", ""));
					$("#zip").val(xmlNull_chk(xmlUdt[0], "zip", ""));
					$("#add1").val(xmlNull_chk(xmlUdt[0], "add1", ""));
					$("#add2").val(xmlNull_chk(xmlUdt[0], "add2", ""));
					$("#tel").val(xmlNull_chk(xmlUdt[0], "Phone", ""));
					$("#callSign").val(xmlNull_chk(xmlUdt[0], "callSign", ""));
					$("#mail").val(xmlNull_chk(xmlUdt[0], "mail", ""));
					$("#pass").val(xmlNull_chk(xmlUdt[0], "pass", ""));

					var xmlPdt	= httpObj.getElementsByTagName("pData");
					var uID, Cost, cls, btn, dis, html ="";
					for (var i=0; i<xmlPdt.length; i++) {
						uID	= xmlNull_chk(xmlPdt[i], "ID", "");
						Cost= xmlNull_chk(xmlPdt[i], "Cost", 0);
						if (id >0) {
							cls="Cst"; btn ="", dis ="";
							if (Cost <0) {
								cls +=" minus"; Cost =(Cost*-1);
								dis ='readonly="readonly"';
								btn ='<button id="pay_'+uID+'" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only cst_button" role="button" aria-disabled="false" title="入金を確認"><span class="ui-button-text">確認</span></button>';
								btn +='<button id="del_'+uID+'" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only cst_button" role="button" aria-disabled="false" title="購読の削除"><span class="ui-button-text">削除</span></button>';
							}
							html += '    <tr id="pID_'+uID+'"><td><input type="text" size="10" class="SD" value="'+xmlNull_chk(xmlPdt[i], "StartDate", "")+'" style="ime-mode: inactive;">～<input type="text" size="10" class="PD" value="'+xmlNull_chk(xmlPdt[i], "PriorDate", "")+'" style="ime-mode: inactive;"></td><td>　￥<input type="text" size="6" class="'+ cls +'" value="'+ Cost +'" style="ime-mode: inactive;" '+ dis +'>'+ btn +'</td></tr>';
						} else {
							cls=""; btn =""; if (Cost <0) {
								cls +="minus"; Cost =(Cost*-1);
								btn ='<button id="del_'+uID+'" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only cst_button" role="button" aria-disabled="false" title="購読の削除"><span class="ui-button-text">削除</span></button>';
							}
							html += '    <tr><td>'+xmlNull_chk(xmlPdt[i], "StartDate", "")+' ～ '+xmlNull_chk(xmlPdt[i], "PriorDate", "")+'　</td><td class="'+ cls +'">　￥'+ Cost +''+ btn +'</td></tr>';
						}
					}
				}
				$("#payData tbody").html(html);
				$(".SD").datepicker({ dateFormat: 'yy/mm/dd' });	//datepicker
				$(".PD").datepicker({ dateFormat: 'yy/mm/dd' });

				$("#payData button[id^='pay_']").each(function(idx, elm) {
					var ml =0;
					$(elm).click(function () {
						confirm_dlog(1, "入金確認メールを送信しますか？", "入金確認メール送信確認", "送信する", "送信しない", function(res){
							if (res) {
								edit_Pay(id,$(elm).attr("id").split("_")[1],$(elm).parent().find("input").val(),0);
							} else {
								edit_Pay(id,$(elm).attr("id").split("_")[1],$(elm).parent().find("input").val(),1);
							}
							//$("#footer").data("flg",1);
						});
					});
				});

				$("#payData button[id^='del_']").each(function(idx, elm) {
					var ml =0;
					$(elm).click(function () {
						confirm_dlog(1, "この購読を削除しますか？", "購読削除確認", "削除する", "キャンセル", function(res){
							if (res) { return; }
							del_Pay(id,$(elm).attr("id").split("_")[1]);
						});
					});
				});

				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function get_List_User() {						//購読者一覧を取得
		if ($("#searchTyp").val() !=2) {
			if ($("#searchTxt").val().length <1) return;
		}
		set_loader($("#edit_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_list_user" + 
				"&_sTyp=" + $("#searchTyp").val() +
				"&_sTxt=" + encodeURI($("#searchTxt").val()) +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_List_User"]++ ;
				if(xmlRetry["get_List_User"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_List_User");
				} else {
					get_List_User();
				}
			},  
			success: function(httpObj){
				xmlRetry["get_List_User"]=0;
				xmlSES	= httpObj.getElementsByTagName("Session");
				if (xmlNull_chk(xmlSES[0], "SID", 0) ==0) { location.reload(); }
				var html="";
				if(xmlNull_chk(xmlSES[0], "mID", "") !="") {
					var xmlRcS	= httpObj.getElementsByTagName("record");
					html += '  <table border="0" cellspacing="1" cellpadding="0" class="tablesorter" id="userList">';
					html += '    <thead>';
					html += '      <tr><th nowrap>callSign</th><th nowrap>名前</th><th nowrap>購読開始日</th><th nowrap>購読終了日</th></tr>';
					html += '    </thead>';
					html += '    <tbody>';
					for (var i=0; i<xmlRcS.length; i++) {
						html += '<tr id="ul_'+xmlNull_chk(xmlRcS[i], "ID", "")+'"><td>'+ xmlNull_chk(xmlRcS[i], "callSign", "") +'</td><td>';
						html += 	xmlNull_chk(xmlRcS[i], "Name", "") +'</td><td>'+ xmlNull_chk(xmlRcS[i], "StartDate", "") +'</td><td>'+ xmlNull_chk(xmlRcS[i], "PriorDate", "") +'</td></tr>';
					}
					html += '    </tbody>';
					html += '  </table>';
					$("#userListDiv").html(html);
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					$(".pagesize").val(10);
					$("#userList").tablesorter().tablesorterPager({container: $("#pager"), positionFixed: false});	//tablesorter
					evt_click();							//クリックイベント
					$(".header, .first, .prev, .next, .last").click(function () { evt_click(); });					//ソート,ページングボタン
					$(".pagesize").change(function () { evt_click(); });											//表示件数切替
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function evt_click() {							//クリックイベント
		$("#userList tbody").find("tr").unbind().click(function () { creat_user_dlog($(this).attr("id").split("_")[1],""); })	//登録情報編集ダイアログ作成
		.hover(
			function () { $(this).find("td").css({ backgroundColor: "#eaf4fd", cursor: "pointer" }); },
			function () { $(this).find("td").css({ backgroundColor: "" });
		});
	}

	function edit_chk_User() {						//購読者情報の入力確認
		var pSD, pPD, pCst, msg ="";
		$("#ErrMsg").text("");
		if ($("#name").val() =="") { $("#ErrMsg").text("名前を入力してください"); return false; }
		if ($("#rubi").val() =="") { $("#ErrMsg").text("ふりがなを入力してください"); return false; }
		//if ($("#zip").val() =="") { $("#ErrMsg").text("郵便番号を入力してください"); return false; }
		if ($("#add1").val() =="") { $("#ErrMsg").text("住所1を入力してください"); return false; }
		if ($("#tel").val() =="") { $("#ErrMsg").text("電話番号を入力してください"); return false; }
		if ($("#callSign").val() =="") { $("#ErrMsg").text("コールサインを入力してください"); return false; }
		if ($("#mail").val() =="") {
			$("#ErrMsg").text("メールアドレスを入力してください"); return false;
		} else {
//			if (!$("#mail").val().match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)) {			//email
//			if (!$("#mail").val().match(/^[\w_-]+@[\w\.-]+\.\w{2,}$/)) {			//email
//			if (!$("#mail").val().match(/[!#-9A-~]+@[a-z0-9]+\.+[a-z0-9]+/i)) {			//email
			if (!$("#mail").val().match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i)) {			//email
				$("#ErrMsg").text("メールアドレスを確認してください"); return false;
			}
		}
		if ($("#pass.chk").val() =="") {
			$("#ErrMsg").text("パスワードを入力してください"); return false;
		} else {
			if (checkAlphabetOrNumberOnly($("#pass"),0,"") !="" || $("#pass").val().length <6) {
				if ($("#pass").val() !="") {
					$("#ErrMsg").text("パスワードは6文字以上の半角英数字を入力してください"); return false;
				}
			}
		}
		$("#payData tr[id^='pID_'], #payData tr[class^='adPay']").each(function(idx, elm) {
			pSD =$(elm).find("td .SD").val();
			pPD =$(elm).find("td .PD").val();
			pCst=$(elm).find("td .Cst").val();
			if (msg =="") {
				if (pSD !="" && pPD !="" && pCst !="") {
					if (!chkYMD(pSD,0) || !chkYMD(pPD,0) || !isFinite(pCst)) {
						msg ="購読期間・購入金額を確認してください";
					} else {
						if (pSD.split("/").join("") > pPD.split("/").join("")) { msg ="購読期間・購入金額を確認してください"; }
					}
				} else {
					if ($(elm).attr("id") !="") {
						msg ="購読期間・購入金額を確認してください";
					} else {
						if (pSD !="" || pPD !="" || pCst !="") {
							msg ="購読期間・購入金額を確認してください";
						}
					}
				}
			}
		});
		if (msg !="") {
			$("#ErrMsg").text(msg);
			return false;
		} else {
			return true;
		}
	}

	function edit_User(id) {						//購読者情報の修正
		set_loader($("#user_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var pay ="", adPay ="", pSD, pPD, pCst, pass;
		if ($("#pass").val() =="") { pass=""; } else { pass=$("#pass").val(); }
		$("#payData tr[id^='pID_'], #payData tr[class^='adPay']").each(function(idx, elm) {
			pSD =$(elm).find("td .SD").val();
			pPD =$(elm).find("td .PD").val();
			pCst=$(elm).find("td .Cst").val();
			if ($(elm).find("td .Cst.minus").length) { pCst =(-1*pCst); }
			if ($(elm).attr("id") !="") {
				if (pSD !="" && pPD !="" && pCst !="") { pay += $(elm).attr("id").split("pID_")[1]+"|"+pSD+"|"+pPD+"|"+pCst+","; }	//購読期間修正
			} else {
				if (pSD !="" && pPD !="" && pCst !="") { adPay += pSD+"|"+pPD+"|"+pCst+","; }										//購読期間追加
			}
		});
		//alert(pay); alert(adPay); return;

		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=edit_user" + 
				"&_ID=" + id +
				"&_name=" + encodeURI($("#name").val()) +
				"&_rubi=" + encodeURI($("#rubi").val()) +
				"&_zip=" + $("#zip").val() +
				"&_add1=" + encodeURI($("#add1").val()) +
				"&_add2=" + encodeURI($("#add2").val()) +
				"&_tel=" + $("#tel").val() +
				"&_cs=" + encodeURI($("#callSign").val()) +
				"&_email=" + encodeURI($("#mail").val()) +
				"&_pass=" + pass +
				"&_pay=" + pay +
				"&_adPay=" + adPay +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["edit_User"]++ ;
				if(xmlRetry["edit_User"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed edit_User");
				} else {
					edit_User(id);
				}
			},  
			success: function(httpObj){
				xmlRetry["edit_User"]=0;
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var xmlRID	= httpObj.getElementsByTagName("id");
				var num		= xmlNull_chk(xmlRID[0], "num", 0);
				if (num ==-1) {
					$("#ErrMsg").text(xmlNull_chk(xmlRcS[0], "msg", ""));
				} else {
					if (num !=0) {
						$("#user_dlog").remove();
						creat_user_dlog(xmlNull_chk(xmlRID[0], "num", 0),xmlNull_chk(xmlRcS[0], "msg", ""));
					} else {
						get_User(id);
						$("#ErrMsg").text(xmlNull_chk(xmlRcS[0], "msg", ""));
					}
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function edit_Pay(id,cid,cost,ml) {					//購読者の入金修正
		if (cost =="")  { $("#ErrMsg").text("入金額を入力してください"); return; }
		set_loader($("#user_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		//alert(cid+" /"+cost); return;

		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=edit_pay" + 
				"&_ID=" + cid +
				"&_cost=" + cost +
				"&_email=" + $("#mail").val() +
				"&_name=" + encodeURI($("#name").val()) +
				"&_cs=" + $("#callSign").val() +
				"&_ml=" + ml +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["edit_pay"]++ ;
				if(xmlRetry["edit_pay"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed edit_pay");
				} else {
					edit_Pay(id,cid,cost,ml);
				}
			},  
			success: function(httpObj){
				xmlRetry["edit_pay"]=0;
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				var xmlRcS	= httpObj.getElementsByTagName("record");
				get_User(id);
				$("#ErrMsg").text(xmlNull_chk(xmlRcS[0], "msg", ""));
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function del_Pay(id,cid) {							//購読削除
		set_loader($("#user_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		//alert(id+" /"+cid); return;

		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=del_Pay" + 
				"&_ID=" + cid +
				"&_email=" + $("#mail").val() +
				"&_name=" + encodeURI($("#name").val()) +
				"&_cs=" + $("#callSign").val() +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["del_Pay"]++ ;
				if(xmlRetry["del_Pay"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed del_Pay");
				} else {
					del_Pay(id,cid);
				}
			},  
			success: function(httpObj){
				xmlRetry["del_Pay"]=0;
				$(".ui-dialog-titlebar img").remove();	//loadImg end
				var xmlRcS	= httpObj.getElementsByTagName("record");
				get_User(id);
				$("#ErrMsg").text(xmlNull_chk(xmlRcS[0], "msg", ""));
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


//================================================================================================== メール送信予約
	function creat_rsvMail_dlog() {					//ダイアログ作成
		var dialog = '<div id="send_list_dlog" style="display: none;text-align: left;">';
		dialog += '<p id="ErrMsg"></p>';
		dialog += '<table border="0" cellspacing="1" cellpadding="0" id="mailRsv">';
		dialog += '  <tr><th>送信日：</th><td><input type="text" size="10" id="sendDate" value="" style="ime-mode: inactive;"></td></tr>';
		dialog += '  <tr><th>送信先：</th><td><select id="sendTyp"></select></td></tr>';
		dialog += '  <tr><th>種別：</th><td><select id="form1"></select></td></tr>';
		dialog += '  <tr><th>件名：</th><td><select id="form2"></select></td></tr>';
		dialog += '</table>';
		dialog += '<p style="font-weight: bold;margin-top: 10px;">予約一覧<p>';
		dialog += '<div id="sendRsv_ListDiv" style="overflow: auto;"><div>';
		dialog += '</div>';
		$("#footer").append(dialog);
		$("#sendDate").datepicker({ dateFormat: 'yy/mm/dd' }).datepicker('disable');	//datepicker

		$("#send_list_dlog").dialog({					//ダイアログイベント追加
			bgiframe: true,
			autoOpen: true,
			position: ["center",100],
			modal: true,
			width: 580,
			height: 'auto',
			title: "メール予約送信",
			buttons:	{
				"閉じる": function() { $(this).dialog("close"); },
				"送信予約設定": function() {
					if (chk_rsvMail()) { reg_mailRsv(); }
				},
				"メールプレビュー": function() {
					if (chk_rsvMail()) { creat_mailPrv_dlog(); }
				},
				"送信メール編集": function() {
					creat_mailEdit_dlog();
				}
			},
			open: function() {
				$("#sendTyp").blur();
				$("#sendDate").datepicker('enable');		//datepicker enable
				get_rsvMail_User();
			},
			close: function() { $(this).remove(); }
		});
	}

	function chk_rsvMail() {							//選択確認
		$("#ErrMsg").text("");
		if ($("#sendTyp").val() !="" && $("#form1").val() !="" && $("#form1").val() !="" && chkYMD($("#sendDate").val(),0)) {
			if ($("#sendDate").val().split("/").join("") <=crtToday().split("/").join("")) {
				$("#ErrMsg").text("本日以降の送信日を選択してください");
				return false;
			} else {
				return true;
			}
		}
		$("#ErrMsg").text("送信日・送信先・種別・件名を選択/確認してください");
		return false;
	}

	function get_rsvMail_User() {						//メール送信selectメニュー・送信予約一覧を取得
		set_loader($("#send_list_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_rsvmail_user,get_mailrsv,get_gnrelist" + 
				"&_sTyp=" + $("#searchTyp").val() +
				"&_sTxt=" + encodeURI($("#searchTxt").val()) +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_rsvmail_user"]++ ;
				if(xmlRetry["get_rsvmail_user"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_rsvmail_user");
				} else {
					get_rsvMail_User();
				}
			},  
			success: function(httpObj){
				xmlRetry["get_rsvmail_user"]=0;
				xmlSES	= httpObj.getElementsByTagName("Session");
				var html="";
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var xmlRsV	= httpObj.getElementsByTagName("Rsv");
				//送信先
				html += '<option value=""></option><option value="0">次月購読者 ('+ xmlNull_chk(xmlRcS[0], "cnt0", "") +'人)</option>';
				html += '<option value="1">購読期限終了一ヶ月以内 ('+ xmlNull_chk(xmlRcS[0], "cnt1", "") +'人)</option>';
				html += '<option value="3">購読期限終了二ヶ月以内 ('+ xmlNull_chk(xmlRcS[0], "cnt3", "") +'人)</option>';
				html += '<option value="2">メールアドレス登録者 ('+ xmlNull_chk(xmlRcS[0], "cnt2", "") +'人)</option>';
				$("#sendTyp").html(html);
				//種別
				var xmlFrm	=httpObj.getElementsByTagName("frm");
				html = '<option value=""></option>';
				for (var i=0; i<xmlFrm.length; i++) {
					html += '<option value="'+ xmlNull_chk(xmlFrm[i], "ID", "") +'">'+ xmlNull_chk(xmlFrm[i], "Genre", "") +'</option>';
				}
				$("#form1").html(html);
				//件名
				html = '<option value=""></option>';
				for (var i=0; i<xmlFrm.length; i++) {
					html += '<option value="'+ xmlNull_chk(xmlFrm[i], "ID", "") +'">'+ xmlNull_chk(xmlFrm[i], "Subj", "") +'</option>';
				}
				$("#form2").html(html);
				$("#form1").change(function () { $("#form2").val($(this).val()); });
				$("#form2").change(function () { $("#form1").val($(this).val()); });
				//送信予約一覧
				set_mailRsv(xmlRsV);
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function creat_mailPrv_dlog() {					//メールプレビューダイアログ作成
		var dialog = '<div id="send_mailPrv_dlog" style="display: none;text-align: left;">';
		dialog += '<table border="0" cellspacing="1" cellpadding="0" id="mailRsv">';
		dialog += '  <tr><td nowrap><b>宛先</b></td></tr>';
		dialog += '  <tr><td id="send_to"></td></tr>';
		dialog += '  <tr><td nowrap><b>差出人</b></td></tr>';
		dialog += '  <tr><td id="send_from"></td></tr>';
		dialog += '  <tr><td nowrap><b>件名</b></td></tr>';
		dialog += '  <tr><td id="send_title"></td></tr>';
		dialog += '  <tr><td nowrap><b>本文</b></td></tr>';
		dialog += '  <tr><td id="send_rds"></td></tr>';
		dialog += '</table>';
		dialog += '</div>';
		$("#footer").append(dialog);

		$("#send_mailPrv_dlog").dialog({					//ダイアログイベント追加
			bgiframe: true,
			autoOpen: true,
			modal: true,
			width: 580,
			height: $(window).height()*0.8,
			title: "メールプレビュー",
			buttons:	{
				"閉じる": function() { $(this).dialog("close"); }
			},
			open: function() {
				get_mailPrv();
			},
			close: function() { $(this).remove(); }
		});
	}

	function get_mailPrv() {						//メールプレビューを取得
		set_loader($("#send_list_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_mailprv" + 
				"&_genre=" + $("#form1").val() +
				"&_subj=" + $("#form2").val() +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_mailprv"]++ ;
				if(xmlRetry["get_mailprv"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_mailprv");
				} else {
					get_mailPrv();
				}
			},  
			success: function(httpObj){
				xmlRetry["get_mailprv"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				$("#send_to").html(xmlNull_chk(xmlRcS[0], "to", ""));		//宛先
				$("#send_from").html(xmlNull_chk(xmlRcS[0], "from", ""));	//差出人
				$("#send_title").html(xmlNull_chk(xmlRcS[0], "title", ""));	//件名
				$("#send_rds").html(xmlNull_chk(xmlRcS[0], "rds", "").replace(/\n/g, "<br />"));		//本文
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function creat_mailEdit_dlog() {					//メール編集ダイアログ作成
		var dialog = '<div id="send_mailEdit_dlog" style="display: none;text-align: left;">';
		dialog += '<p id="ErrMsg2"></p>';
		dialog += '<table border="0" cellspacing="1" cellpadding="0" id="mailEdit">';
		dialog += '  <tr><td nowrap><b>種別</b></td></tr>';
		dialog += '  <tr><td><input type="text" value="" id="genreTxt" />　<select id="genre"></select></td></tr>';
		dialog += '  <tr><td nowrap><b>件名</b></td></tr>';
		dialog += '  <tr><td><input type="text" value="" id="titleTxt" /></td></tr>';
		dialog += '  <tr><td nowrap><b>本文</b></td></tr>';
		dialog += '  <tr><td><textarea id="rdsTxt"></textarea></td></tr>';
		dialog += '</table>';
		dialog += '</div>';
		$("#footer").append(dialog);

		$("#send_mailEdit_dlog").dialog({					//ダイアログイベント追加
			bgiframe: true,
			autoOpen: true,
			modal: true,
			width: 580,
			height: $(window).height()*0.8,
			title: "送信メール編集",
			buttons:	{
				"閉じる": function() { $(this).dialog("close"); },
				"修正": function() {
					if (chk_mailEdit()) { reg_mailEdit(1); }
				},
				"新規登録": function() {
					if (chk_mailEdit()) { reg_mailEdit(0); }
				}
			},
			open: function() {
				$("#rdsTxt").height($("#send_mailEdit_dlog").height()-150);	//本文textareaの高さ調節
				get_mailEdit($("#form1").val(),0);
			},
			close: function() { $(this).remove(); }
		});
	}

	function chk_mailEdit() {							//入力確認
		$("#ErrMsg").text("");
		if ($("#genreTxt").val() !="" && $("#titleTxt").val() !="" && $("#rdsTxt").val() !="") { return true; }
		$("#ErrMsg").text("種別・件名・本文を入力してください");
		return false;
	}

	function get_mailEdit(num,typ) {						//既存メールフォームを取得
		set_loader($("#send_mailEdit_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=get_mailedit,get_gnrelist" + 
				"&_frm=" + num + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["get_mailedit"]++ ;
				if(xmlRetry["get_mailedit"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed get_mailedit");
				} else {
					get_mailEdit(num,typ);
				}
			},  
			success: function(httpObj){
				xmlRetry["get_mailedit"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var xmlRsV	= httpObj.getElementsByTagName("frm");
				var html ="";
				$("#genreTxt").val(xmlNull_chk(xmlRcS[0], "Genre", ""));	//種別
				$("#titleTxt").val(xmlNull_chk(xmlRcS[0], "Subj", ""));		//件名
				$("#rdsTxt").val(xmlNull_chk(xmlRcS[0], "Body", ""));		//本文
				if (typ ==0) {
					for (var i=0; i<xmlRsV.length; i++) {						//種別リスト
						html += '<option value="'+ xmlNull_chk(xmlRsV[i], "ID", "") +'">'+ xmlNull_chk(xmlRsV[i], "Genre", "") +'</option></td></tr>';
					}
					$("#genre").html(html).val(num).change(function () { get_mailEdit($(this).val(),1); });
				}
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function reg_mailEdit(typ) {						//メールフォームの登録・修正
		set_loader($("#send_mailEdit_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=reg_mailedit" + 
				"&_gentxt=" + encodeURI($("#genreTxt").val()) + 
				"&_gen=" + $("#genre").val() + 
				"&_title=" + encodeURI($("#titleTxt").val()) + 
				"&_rds=" + encodeURIComponent($("#rdsTxt").val()) + 
				"&_typ=" + typ + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reg_mailedit"]++ ;
				if(xmlRetry["reg_mailedit"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reg_mailedit");
				} else {
					reg_mailEdit(typ);
				}
			},  
			success: function(httpObj){
				xmlRetry["reg_mailedit"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				$("#ErrMsg2").text("");
				var msg =xmlNull_chk(xmlRcS[0], "msg", "");
				if (msg ==0) {
					$("#ErrMsg2").text("修正しました");
					get_mailEdit($("#genre").val(),1);
				} else {
					$("#ErrMsg2").text("新規登録しました");
					get_mailEdit(msg,0);
					get_rsvMail_User();
				}
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function set_mailRsv(xmlRsV) {						//送信予約一覧を表示
		html = '<table cellspacing="1" cellpadding="0">';
		var to, form;
		for (var i=0; i<xmlRsV.length; i++) {
			$("#sendTyp option").each(function(idx, elm) {	//送信先テキスト取得
				if ($(this).val() ==xmlNull_chk(xmlRsV[i], "to", "")) { to =$(this).text(); }
			});
			$("#form2 option").each(function(idx, elm) {	//件名テキスト取得
				if ($(this).val() ==xmlNull_chk(xmlRsV[i], "form", "")) { form =$(this).text(); }
			});
			html += '<tr><td class="rsv_date">'+ xmlNull_chk(xmlRsV[i], "SD", "") +'</td><td>'+ to +'</td><td><button id="mRsvBt_'+ xmlNull_chk(xmlRsV[i], "ID", "") +'" class="cst_button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text">削除</span></button></td></tr>';
			html += '<tr class="rsv_List_btm"><td></td><td colspan="2">'+ form +'</td></tr>';
		}
		html += '</table>';
		$("#sendRsv_ListDiv").html(html);
		$("button[id^='mRsvBt_']").each(function(idx, elm) {	//送信予約削除
			$(this).click(function () { del_mailRsv($(this)); });
		});
	}

	function reg_mailRsv() {						//送信予約設定
		set_loader($("#send_list_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=reg_mailrsv" + 
				"&_sendTyp=" + $("#sendTyp").val() +
				"&_form=" + $("#form1").val() +
				"&_sendDate=" + $("#sendDate").val() +
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reg_mailrsv"]++ ;
				if(xmlRetry["reg_mailrsv"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reg_mailrsv");
				} else {
					reg_mailRsv();
				}
			},  
			success: function(httpObj){
				xmlRetry["reg_mailrsv"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				var xmlRsV	= httpObj.getElementsByTagName("Rsv");
				if (xmlNull_chk(xmlRcS[0], "msg", "") ==1) {
					set_mailRsv(xmlRsV);	//送信予約一覧
				}
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function del_mailRsv(Obj) {						//送信予約削除
		set_loader($("#send_list_dlog").parent().find(".ui-dialog-titlebar"),images,1,"",1);
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=del_mailrsv,get_mailrsv" + 
				"&_id=" + Obj.attr("id").split("_")[1] + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["del_mailrsv"]++ ;
				if(xmlRetry["del_mailrsv"]>(xmlRetryLimt-1)) {
					$(".ui-dialog-titlebar img").remove();	//loadImg end
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed del_mailrsv");
				} else {
					del_mailRsv(Obj);
				}
			},  
			success: function(httpObj){
				xmlRetry["del_mailrsv"]=0;
				var xmlRcS	= httpObj.getElementsByTagName("record");
				if (xmlNull_chk(xmlRcS[0], "msg", "") ==1) {
					Obj.parent().parent().hide().next().hide();
				}
				$(".ui-dialog-titlebar img").remove();	//loadImg end
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

//================================================================================================== ログイン

	function creat_login_dlog() {					//ログインダイアログ作成
		var dialog = '<div id="login_dlog" style="display: none;">';
		dialog = dialog + '<p id="ErrMsg"></p>';
		dialog = dialog + '<table border="0" cellpadding="2" cellspacing="0">';
		dialog = dialog + '  <tr>';
		dialog = dialog + '    <th nowrap>ID：</th>';
		dialog = dialog + '    <td><input type="text" size="30" maxlength="80" id="ID" name="ID" value="" style="ime-mode: disabled;"><img src="'+ images +'btn_help.gif" alt="通知されたIDとパスワードを入力してください。" title="通知されたIDとパスワードを入力してください。" /></td>';
		dialog = dialog + '  </tr>';
		dialog = dialog + '  <tr>';
		dialog = dialog + '    <th nowrap>パスワード：</th>';
		dialog = dialog + '    <td><input type="password" size="30" maxlength="32" id="Password" name="Password" value="" style="ime-mode: disabled"></td>';
		dialog = dialog + '  </tr>';
		dialog = dialog + '  <tr>';
		dialog = dialog + '    <th nowrap>メールアドレス：</th>';
		dialog = dialog + '    <td><input type="text" size="30" maxlength="32" id="email" name="email" value="" style="ime-mode: disabled"><img src="'+ images +'btn_help.gif" alt="ID/パスワードを忘れた場合、登録済みメールアドレスを入力、下の問い合わせボタンを押してください。メールでお知らせします。" title="ID/パスワードを忘れた場合、登録済みメールアドレスを入力、下の問い合わせボタンを押してください。メールでお知らせします。" /></td>';
		dialog = dialog + '  </tr>';
		dialog = dialog + '  <tr>';
		dialog = dialog + '    <td nowrap></td><td><input type="checkbox" id="CSave" name="CSave" value="">ID・パスワードを保存する。';
		dialog = dialog + '    <img src="'+ images +'btn_help.gif" alt="保存する設定をしておくと次回からは省略できます。" title="保存する設定をしておくと次回からは省略できます。" /></td>';
		dialog = dialog + '  </tr>';
		dialog = dialog + '</table>';
		dialog = dialog + '</div>';
		$("#footer").append(dialog);
		$("#login_dlog").dialog({					//ダイアログイベント追加
			bgiframe: true,
			autoOpen: true,
			modal: true,
			width: '370px',
			height: 'auto',
			title: "ログイン",
			buttons:	{
				パスワード問合せ: function() {
					reqPass($("#email").val());
				},
				クリア: function() {
					allClear();
				},
				ログイン: function() {
					loginChk();
				}
			},
			open: function() {
//				$("#RC_flash").hide();								//TopのFlashを非表示
				chkCookie();	//Cookieの確認
			},
			close: function() {
//				$("#RC_flash").show();								//TopのFlashを表示
				$(this).remove();
			}
		});
	}

	function loginChk() {							//ログインユーザーチェック
		var sv;
		if ($("#CSave")[0].checked) sv="ON"; else sv="";
		var xml=xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=login_check" + 
				"&_mID="+encodeURI($("#ID").val()) + 
				"&_mPass="+encodeURI($("#Password").val()) + 
				"&_CSave="+encodeURI(sv) + 
				"&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["loginChk"]++ ;
				if(xmlRetry["loginChk"]>(xmlRetryLimt-1)) {
					 LoginID		= 0;
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed loginChk");
				} else {
					loginChk();
				}
			},  
			success: function(httpObj){
				xmlRetry["loginChk"]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var resVal = xmlRes[0].getElementsByTagName("res")[0].firstChild.nodeValue;
				if (resVal != 1) {
					$("#ErrMsg").html(resVal);
					 LoginID		= 0;
				} else {
					//$("#ErrMsg").html("ログイン");
					 LoginID		= $("#ID").val();
					location.reload();
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

	function reqPass(reqPass_email,typ) {							//リマインダ
		if (typ ==undefined) { typ=1; }
		var xml=xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				 "&_fn=req_Pass"+ 
				 "&_typ="+ typ + 
				 "&_email="+encodeURI(reqPass_email) + 
				 "&cache=" + (new Date()).getTime();
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["reqPass"]++ ;
				if(xmlRetry["reqPass"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed reqPass");
				else{
					reqPass();
				}
			},success: function(httpObj){
				xmlRetry["reqPass"]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var resVal = xmlRes[0].getElementsByTagName("res")[0].firstChild.nodeValue;
				$("#ErrMsg").html(resVal);
			}
		});
	}

	function allClear() {							//クリア
		var xml=xmlModule+'?'+"_xsid="+$("#_xsid").val() + 
				"&_fn=all_Clear";
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["allClear"]++ ;
				if(xmlRetry["allClear"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed all_Clear");
				else{
					allClear();
				}
			},success: function(httpObj){
				xmlRetry["allClear"]=0;
				$("#ID").val("");
				$("#Password").val("");
				$("#email").val("");
				$("#CSave").attr("checked",false);
				$("#CSave").val("");
			}
		});
	}

	function chkCookie() {							//Cookieの確認
		var xml=xmlModule+'?'+"_xsid="+ encodeURIComponent(document.URL) + 
				"&_fn=chk_cookie";
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["chkCookie"]++ ;
				if(xmlRetry["chkCookie"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed chkCookie");
				else{
					chkCookie();
				}
			},success: function(httpObj){
				xmlRetry["chkCookie"]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var mID	= xmlNull_chk(xmlRes[0], "mID", "");	//mID
				var pass= xmlNull_chk(xmlRes[0], "pass", "");	//pass
				var sv	= xmlNull_chk(xmlRes[0], "sv", "");		//sv
					//alert("情報の取得OK"+xmlNull_chk(xmlRes[0], "mID", ""));
				if (mID !="")	$("#ID").val(mID);			else	$("#ID").val("");
				if (pass !="")	$("#Password").val(pass);	else	$("#Password").val("");
				if (sv=="ON") {
					$("#CSave").attr("checked",true);
					$("#CSave").val("ON");
				} else {
					$("#CSave").attr("checked",false);
					$("#CSave").val("");
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}


//================================================================================================== ログアウト
	function logout() {								//ログアウト
		var xml=xmlModule+'?'+"_xsid="+encodeURIComponent(document.URL) + 
				"&_fn=logout";
		$.ajax({
			url: xml,
			type: 'POST',
			dataType: 'xml',
			timeout: xmlRetryTimeout,
			error: function(){
				xmlRetry["logout"]++ ;
				if(xmlRetry["logout"]>(xmlRetryLimt-1))
					alert("情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed logout");
				else{
					logout();
				}
			},success: function(httpObj){
				xmlRetry["logout"]=0;
				var xmlRes = httpObj.getElementsByTagName("result");
				var resVal = xmlRes[0].getElementsByTagName("res")[0].firstChild.nodeValue;
				if (resVal != 1) {
					alert(resVal);
				} else {
					location.reload();
				}
			}
		});
		//$("#show_xmlURI").html('<a href="'+xml+'">'+xml+'</a>');
	}

//================================================================================================== xml内のTagをnullチェック
	function xmlNull_chk(xmlRcS, tgt, def) {		//xmlNull_chk
		return (xmlRcS.getElementsByTagName(tgt)[0].firstChild != null) ? xmlRcS.getElementsByTagName(tgt)[0].firstChild.nodeValue : def ;
	}

//================================================================================================== WindowOpen
	function Openwin(theURL,winName,features) {		//Openwin
		return window.open(theURL,winName,features);
	}

//================================================================================================== 本日の日付を作成
	function crtToday() {												//create today
		var td = new Date();
		var mon = td.getMonth()+1;
		var dt = td.getDate();
		if (mon <10) mon = "0"+mon;
		if (dt <10)  dt  = "0"+dt;
		today = td.getFullYear()+"/"+mon+"/"+dt;
		return today;
	}

//================================================================================================== 日付の確認
	function chkYMD(datestr, ry) {					//chkYMD
		if(!datestr.match(/^\d{4}\/\d{2}\/\d{2}$/))	return false;	// yyyy/mm/dd 形式でない
		var vYear = datestr.substr(0, 4) - 0;
		var vMonth = datestr.substr(5, 2) - 1;
		var vDay = datestr.substr(8, 2) - 0;
		//月,日の妥当性チェック
		if(vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){
			var vDt = new Date(vYear, vMonth, vDay);
			if(isNaN(vDt)){
				return false;
			} else if(vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){
				/*var rSt = new Date(ry, 7-1, 1);
				var rEd = new Date((ry+1), 6-1, 30);
				if ((rSt.getTime() <=vDt.getTime()) && (rEd.getTime() >=vDt.getTime())) {
					return true;
				} else {
					return false;
				}*/
				return true;
			} else {
				return false;
			}
		} else {
			return false;
		}
	}

	//------------------------------------------------------------ 半角英数字の判定
	function checkAlphabetOrNumberOnly(formElement, mode, option) {		//checkAlphabetOrNumberOnly
		var str = formElement.val();
		var type = 0;
		if (mode ==-1) type =-1;
		var code, count;
		for (var i = 0; i < str.length; i++) {
			count = 0;
			code = str.charCodeAt(i);
			/* 半角数字 */
			if (code < 48 || code > 57) { count++; }
			/* 半角英字 */
			if (mode == 0 && (code < 65 || (code > 90 && code < 97) || code > 122)) { count++; }
			/* 半角英字（大文字） */
			if (mode == 1 && !(65<= code && code <=90)) { count++; }
			/* 半角英字（小文字） */
			if (mode == 2 && !(97 <= code && code <= 122)) { count++; }
			/* オプション文字 */
			if (!option == "" && option.indexOf(String.fromCharCode(code)) < 0) { count++; }
			if (option == "" && count == (2+type)) { return str.substring(i, i+1); }
			if (!option == "" && count == (3+type)) { return str.substring(i, i+1); }
		}
		return "";
	}

//================================================================================================== 郵便番号住所検索
	function jb_Zip2AddSrc(zCD,zAD,mode,typ)	{//---------------------------------//郵便番号住所検索Data取得
		if (typ ==1) { var zCDtmp =encodeURI(zCD); } else { var zCDtmp =encodeURI($(zCD).val()); }
		var hstr="" ;
		var hURL=	xmlModule+'?'+"_xsid="+encodeURIComponent(document.URL) + 
					"&_fn=_getZip2Add"+ 
					"&_zCD="+ zCDtmp  +
					"&_zAD="+ encodeURI($(zAD).val())  +
					"&_zMD="+ mode  +
					"&cache=" + (new Date()).getTime() ;
		//alert(hURL) ; return ;
		//$('#xml_debug').html(hURL) ;
		//$('#xml_debug').html('<a href="'+hURL+'" target="_blank">XML</a>') ;
		//SetLoader() ;
		new $.ajax({
			url: hURL ,   
			type: 'POST',   
			dataType: 'xml',   
			timeout: xmlRetryTimeout,   
			error: function(){   
				//status="xml failed _getZip2Add" ;   
				//ClrLoader() ;
				xmlRetry["_getZip2Add"]++ ;
				if(xmlRetry["_getZip2Add"]>(xmlRetryLimt-1)){
					alert("設定情報の取得に失敗しました。\n最新の情報に更新してください。\nxml failed _getZip2Add") 
					//$('#xml_debug').html('<a href="'+hURL+'" target="_blank">XML</a>') ;
				}else {
					jb_Zip2AddSrc(zCD,zAD,mode,typ) ;
				}
			},
			success: function(xml){
				xmlRetry["_getZip2Add"]=0 ;
				/*xmlRcS = xml.getElementsByTagName("_session");					//_session alive?
				sessionAlive=(xmlRcS[0].getElementsByTagName('stfID')[0].firstChild != null) ? xmlRcS[0].getElementsByTagName('stfID')[0].firstChild.nodeValue : 0 ;
				if(sessionAlive<=1){
					document.location.reload() ;
					return ;
				}
				ClrLoader() ;*/
				xmlRcS  = xml.getElementsByTagName("record");
				//alert(xmlRcS.length) ;
				if(xmlRcS.length>0)
					jb_Zip2AddSrc_dsp(zCD,zAD,mode,xmlRcS,typ) ;
				else
					alert((mode==0) ? $(zCD).val() : $(zAD).val()+'では検索できませんでした') ;
			}
		});
	}
	function jb_Zip2AddSrc_dsp(zCD,zAD,mode,xmlRcS,typ)	{//-------------------------//郵便番号住所検索
		if (typ ==1) { var zCDtmp =encodeURI(zCD); } else { var zCDtmp =encodeURI($(zCD).val()); }
		var w="" ;
		var hstr="" ;
		var cls="" ;
		var rid="" ;
		var fval=(mode==0) ? zAD : zCD ;										//格納先
		//var sval=(mode==0) ? $(zCD).val() : $(zAD).val() ;						//検索値
		var sval=(mode==0) ? zCDtmp : $(zAD).val() ;							//検索値
		hstr  = "<div id='Dlg_Zip2AddSrc' title='郵便番号住所検索 ["+sval+"]'> \n" ;
		hstr += "  <div id='Dlg_Zip2AddSrc_pager' class=''> \n" ;
		hstr += "    <form style='margin: 2px 0px'> \n" ;					//PageControl
		hstr += "      <img src='"+ images +"tspg_first.png' class='first'/> \n" ;
		hstr += "      <img src='"+ images +"tspg_prev.png' class='prev'/> \n" ;
		//hstr += "      <input type='text' class='pagedisplay' size='6'/> \n" ;
		hstr += "      <span class='pagedisplay'>0/0</span> \n" ;
		hstr += "      <img src='"+ images +"tspg_next.png' class='next'/> \n" ;
		hstr += "      <img src='"+ images +"tspg_last.png' class='last'/> \n" ;
		hstr += "      <select class='pagesize'> \n" ;
		hstr += "        <option value='10'>10</option> \n" ;
		hstr += "        <option selected='selected' value='20'>20</option> \n" ;
		hstr += "        <option value='40'>40</option> \n" ;
		hstr += "      </select>件 \n" ;
		hstr += "    </form> \n" ;
		hstr += "  </div> \n" ;
		hstr += "  <div id='Dlg_Zip2AddSrc_div'> \n" ;
		hstr += "    <table cellspacing='1' class='tablesorter' id='Dlg_Zip2AddSrc_tbl'>\n";
		hstr += "      <thead>\n";
		hstr += "        <tr>\n";
		hstr += "        <th>zipcode</th>\n";
		hstr += "        <th>Prefecture </th>\n";
		hstr += "        <th>Cities</th>\n";
		hstr += "        <th>Area</th>\n";
		hstr += "        </tr>\n";
		hstr += "      </thead>\n";
		hstr += "      <tbody>\n";
		for (i=0; i<xmlRcS.length; i++) {
			hstr = hstr + "        <tr id='Zip2AddSrcList_"+i+"' class='"+cls+"'>" ;
			hstr = (xmlRcS[i].getElementsByTagName('zc')[0].firstChild != null)   ? hstr + "<td>" + xmlRcS[i].getElementsByTagName('zc')[0].firstChild.nodeValue   + "</td>" : hstr + "<td>&nbsp</td>" ;
			hstr = (xmlRcS[i].getElementsByTagName('pref')[0].firstChild != null) ? hstr + "<td>" + xmlRcS[i].getElementsByTagName('pref')[0].firstChild.nodeValue + "</td>" : hstr + "<td>&nbsp</td>" ;
			hstr = (xmlRcS[i].getElementsByTagName('city')[0].firstChild != null) ? hstr + "<td>" + xmlRcS[i].getElementsByTagName('city')[0].firstChild.nodeValue + "</td>" : hstr + "<td>&nbsp</td>" ;
			hstr = (xmlRcS[i].getElementsByTagName('area')[0].firstChild != null) ? hstr + "<td>" + xmlRcS[i].getElementsByTagName('area')[0].firstChild.nodeValue + "</td>" : hstr + "<td>&nbsp</td>" ;
			hstr = hstr + "        </tr>\n" ;
		}                                                                               
		hstr += "      </tbody>\n" ;
		hstr += "    </table>\n" ;
		hstr += "  </div> \n" ;
		hstr += "</div> \n" ;
		//alert(hstr) ;
		$(hstr).appendTo(document.body) ;
		$("#Dlg_Zip2AddSrc").data("mode",mode) ;
		$("#Dlg_Zip2AddSrc").data("retfld",fval) ;
		for (i=0; i<xmlRcS.length; i++) {
			$("#Zip2AddSrcList_"+i).data('zip',(xmlRcS[i].getElementsByTagName('zc')[0].firstChild != null)   ? xmlRcS[i].getElementsByTagName('zc')[0].firstChild.nodeValue   : '' ) ;
			w="" ;
			w=(xmlRcS[i].getElementsByTagName('pref')[0].firstChild != null) ? w + xmlRcS[i].getElementsByTagName('pref')[0].firstChild.nodeValue : w  ;
			w=(xmlRcS[i].getElementsByTagName('city')[0].firstChild != null) ? w + xmlRcS[i].getElementsByTagName('city')[0].firstChild.nodeValue : w  ;
			w=(xmlRcS[i].getElementsByTagName('area')[0].firstChild != null) ? w + xmlRcS[i].getElementsByTagName('area')[0].firstChild.nodeValue : w  ;
			$("#Zip2AddSrcList_"+i).data("add",w) ;
		}
		var pager  = $('#Dlg_Zip2AddSrc_pager');
		var sorter = $('#Dlg_Zip2AddSrc_tbl')
			.tablesorter()
			.tablesorterPager({
				container: pager,
				size: 20, 
				positionFixed: false
			}); 
		if (typ ==1) { var mdl =true; } else { var mdl =false; }
		$("#Dlg_Zip2AddSrc")													//Dialog 郵便番号住所検索
			.dialog({
				bgiframe	: true,
				autoOpen	: false,
				width		: 450,
//				width		: 'auto',
				modal		: mdl,
				resizable	: false,
				close		: function(event, ui) {
					$('#Dlg_Zip2AddSrc').remove() ;
				}
		});
		$('#Dlg_Zip2AddSrc').dialog('open');
		$('.next, .prev, .first, .last', pager)
			.click(function() {
				jb_Dlg_Zip2AddSrc_Dsp_Row(fval) ;								//郵便番号住所検索 Row Functions
		});
		$('.pagesize', pager)
			.change(function() {
				jb_Dlg_Zip2AddSrc_Dsp_Row(fval) ;								//郵便番号住所検索 Row Functions
		});
		jb_Dlg_Zip2AddSrc_Dsp_Row(fval) ;										//郵便番号住所検索 Row Functions
		//$("div[id*='cnr_']").corner("5px");									//div corner
		return ;
	}
	function jb_Dlg_Zip2AddSrc_Dsp_Row(fld)	{//---------------------------------//郵便番号住所検索Data表示 Row Functions
		var retval;
		$("tr[id*='Zip2AddSrcList_']")
			.hover(																//Row hover
				function () {
					$(this).find('td').css("background-color", "#d5eeff");
				},
				function () {
					$(this).find('td').css("background-color", "#ffffff");
				}
			);
		$("tr[id*='Zip2AddSrcList_']")
			.dblclick(															//Row click
				function () {
					$(fld).val(($("#Dlg_Zip2AddSrc").data("mode")==0) ? $(this).data('add') : $(this).data('zip')) ;
					$('#Dlg_Zip2AddSrc').dialog('close',retval);
				}
			);
	}

//================================================================================================== 警告表示dialog
	function alert_dlog(title,content) {					//alert_dlog
		var dialog = '<div id="alert_dlog" style="display: none;">';
		dialog += '  <div id="alert"><span class="ui-icon ui-icon-alert"></span><p>'+ content +'</p></div>';
		dialog += '</div>';
		$("#footer").append(dialog);
		$(".ui-widget-overlay").hide();			//背面のoverlayをhide

		$("#alert_dlog").dialog({
			resizable: false,
			modal: true,
			width: 'auto',
			minHeight: 80,
			title: title,
			buttons: {
				'閉じる': function() { $(this).dialog("close"); }
			},
			close: function() {
				$(".ui-widget-overlay").show();	//背面のoverlayをshow
				$(this).remove();
			}
		});
	}

//================================================================================================== 確認dialog
	function confirm_dlog(typ, msg, title, okTxt, cancelTxt, res) {
		var _dlg	= $('<div id="confirm"><span class="ui-icon ui-icon-alert"></span><p>'+ msg +'</p></div>');
		var _buttons= {};
		if (!okTxt) okTxt="閉じる";
		switch (typ) {
			case 0	:
				_buttons[okTxt]		= function(){ $(this).dialog('close'); }; break;
			case 1	:
				_buttons[cancelTxt]	= function(){ $(this).dialog('close'); res(true); }
				_buttons[okTxt]		= function(){ $(this).dialog('close'); res(false); }
				break;
			default	: "";
		}
		//$(".ui-widget-overlay").hide();			//背面のoverlayをhide

		_dlg.dialog({
			resizable: false,
			modal: false,
			draggable: true,
			title: title,
			width: 'auto',
			minHeight: 80,
			buttons: _buttons,
			close: function() {
				//$(".ui-widget-overlay").show();	//背面のoverlayをshow
				$(this).remove();
			}
		});
	}

//================================================================================================== 画像関係プレビューdialog
	function thumViw_dlog(path,title) {
		var modal =true;
		var dialog	= '<div id="thumViw_dlog" style="display: none;text-align: center;margin: 0 auto;">';
		dialog += '  <img src="'+ path +'" />';
		dialog += '</div>';
		$("#footer").append(dialog);

		$("#thumViw_dlog img").load(function(){		//画像が読み込まれるまで待つ
			//画像の取得
			var img	= new Image();
			img.src	= path;
			var gH	= img.height;
			var gW	= img.width;
			if (gW >800) gW=800; else gW="auto";
			if (gH >600) gH=600; else gH="auto";

			if (title ==undefined) { var title ="プレビュー"; modal=false; }
			var dlogObj	=$("div[aria-labelledby^='ui-dialog-title']");
			var dlogZidx=dlogObj.css("z-index");
			dlogObj.css({ zIndex: "50" });

			$("#thumViw_dlog").dialog({				//ダイアログイベント追加
				autoOpen	: true,
				modal		: modal,
				width		: gW,
				height		: gH,
				minHeight	: 50,
				title		: title,
				buttons: {
					閉じる: function() { $(this).dialog("close"); }
				},
				close: function() {
					$(this).remove();
					dlogObj.css({ zIndex: dlogZidx });
				}
			});
		});
	}

//================================================================================================== ページ送り作成
	function pgCtrl(pgmax,mx,typ,opt) {						//pgCtrl
		var html ="", htmlp ="", htmlb ="", htmln ="";
		html += '<table border="0" width="100%" class="pgCtrl"><tr>';
		html += '<td>';
		//typ ==0 オプション挿入位置
		if (typ ==0) html += opt;
		html += '</td><td>';

		html += '<table border="0" width="100%"><tr>';
		cls="rep_Nop" ; if (vCP>0)	cls="rep_add-1" ;
		html += '<td class="'+cls+'">前のページ</td>';
		for (i=0; i<mx ; i++){
			if(parseInt(vCP / pgmax) > parseInt(i / pgmax))	htmlp = '<td class="rep_add-5">･･･&nbsp;</td>';
			if(parseInt(vCP / pgmax) == parseInt(i / pgmax)) {
				if (i==vCP)	htmlb += '<td class="rep_cpg">'      + (i + 1) + '&nbsp;</td>';
				else		htmlb += '<td class="rep_mov'+i+'">' + (i + 1) + '&nbsp;</td>';
			}
			if(parseInt(vCP / pgmax) < parseInt(i / pgmax))	htmln = '<td class="rep_add+5">･･･&nbsp;</td>';
		}
		html += htmlp + htmlb + htmln;
		cls="rep_Nop" ; if (vCP<mx-1)	cls="rep_add+1" ;
		html += '<td class="'+cls+'">次のページ</td>';
		html += '<td style="text-align: right;"><select class="rep_dMov">';
		for (i=0; i<mx ; i++) {
			html += '  <option value="'+ (i) +'"';
			if(i==vCP) html += ' selected';
			html += '>'+ (i+1) +'</option>';
		}
		html += '</select></td>';
		//typ ==1 オプション挿入位置
		if (typ ==1) html += opt;
		html += '</td></tr></table></td>';
		html += '</tr></table>';
		return html;
	}

//================================================================================================== loader表示
	function set_loader(obj,path,typ,opt,mode) {
		var ldr ="ajax-loader.gif", fl =$("#RC_flash");
		if (opt !="") opt =","+ opt;
		if (typ ==1) ldr ="ajax-loader_s.gif";
		//loader表示
		if (mode ==0) obj.empty().css({ background: "url("+ path + ldr +") no-repeat center" + opt });
		if (mode ==1) obj.append('<img src="'+ path + ldr +'" style="position: absolute;top: 0.3em;right: 30px;" />');
		//flashをhide
		if (fl.length) fl.hide();
	}

//================================================================================================== hideしているコンテンツをshow
	function showCont(tag,id,tgt) {
		$(tag+"[id^='"+id+"']").each(function(idx, elm) { $(elm).hide(); });
		$("#"+tgt).closest(tag+"[id^='"+id+"']").show();
		location.href ="#"+tgt;
	}

//================================================================================================== Webサイトのurlを確認
	function chkUrl(url) {							//chkUrl
		if (url.length >7) {
			window.open(url,"chkURL",'directories=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes,resizable=yes');
		}
	}

