// 10.11.25 Update
var addListTargetCtrl = "";
var chkAddrText = "";
var chkZipCode = "";

// 指定した種類のキー以外は不可能とする
function funcAllowKeyCheck(checkType, event, srcElement){
	if (!event) { event = window.event; }
	var reg = new RegExp("[\\" + checkType + "]", "i");
	// キーイベントを取得
	var keyCode = event.keyCode;
	if (event.keyCode == 0) {
		// FireFoxの場合
		keyCode = event.charCode;
	}
	// BSとTABは許可
	if (8 <= keyCode && keyCode <= 9) { return true; }
	// DELは許可
	if (keyCode == 46) { return true; }
	// 上下左右は許可
	if (37 <= keyCode && keyCode <= 40) { return true; }

	if (String.fromCharCode(keyCode).match(reg) != null){
		// 指定した書式で入力されている場合
		return true;
	} else {
		// 指定した書式以外のキーが押下されている場合
		if (!srcElement || !srcElement.tagName) {
			srcElement = event.srcElement;
		}
		var divError = funcCreateDivMessage(srcElement, MessageSet[checkType]);
		srcElement.className = srcElement.className.replace(" Err", "");
		divError.style.zIndex = 20;
		// エラー表示が取得できた場合
		if (divError) {
			clearTimeout(divError["timeoutId"]);
			// 2秒後に非表示にする
			divError["timeoutId"] = setTimeout(function() {
							divError.style.display = "none";
							divError.parentNode.removeChild(divError);
							}, 2500);
		}
		return false;
	}
}

// Ajaxのリクエストを実行する
function RequestAjaxResponse(argAction, argSendData, argExecuteFuncName, argExecuteFuncArg){
	var req = createHttpRequest();
	if (req == null) { return; 	}
	req.open("GET", "./scripts/AjaxResponse.asp?action=" + argAction + "&" + argSendData, true);
	req.onreadystatechange = function()
	    {
	      	//readyStateが4:完了 且つ ステータスが200:正常
			if (req.readyState == 4 && req.status == 200)
			{
				// 引数の処理を実行
				if (argExecuteFuncArg) {
					eval(argExecuteFuncName + "(decodeURI(req.responseText), '" + argExecuteFuncArg + "');" );
				} else {
					eval(argExecuteFuncName + "(decodeURI(req.responseText));" );
				}
	      	}
		}
	// ヘッダをつけないと駄目なブラウザがあるらしい
	req.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
	req.send("");
}

//10.11.27 R.Fujii 追加
// POST用Ajaxのリクエストを実行する
function RequestAjaxResponsePost(argAction, argPostStr, argExecuteFuncName, argExecuteFuncArg){
	var sendPostData;
	var req = createHttpRequest();
	var rtnStr;
	if (req == null) { return; 	}
	req.open("POST", "./scripts/AjaxResponse.asp", true);
	req.onreadystatechange = function() {
      	//readyStateが4:完了 且つ ステータスが200:正常
		if (req.readyState == 4 && req.status == 200) {
			// 引数の処理を実行
			if (argExecuteFuncArg) {
				eval(argExecuteFuncName + "(decodeURI(req.responseText), '" + argExecuteFuncArg + "');" );
			} else {
				eval(argExecuteFuncName + "(decodeURI(req.responseText));" );
			}
		}
	}
	// ヘッダをつけないと駄目なブラウザがあるらしい
	req.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
	sendPostData = "action=" + argAction + "&" + argPostStr;
	req.send(sendPostData);
}

// 非同期クライアントを生成する
function createHttpRequest(){

    //Win ie用
	if(window.ActiveXObject){
		try {
			//MSXML2以降用
			return new ActiveXObject("Msxml2.XMLHTTP"); //[1]'
		} catch (e) {
			try {
				//旧MSXML用
				return new ActiveXObject("Microsoft.XMLHTTP"); //[1]'
			} catch (e2) {
				return null;
			}
		}
	} else if(window.XMLHttpRequest){
		//Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
		return new XMLHttpRequest(); //[1]'
	} else {
		return null;
	}
}

// 郵便番号に入力がある場合、
function funcViewAddListFromZipCode(event, usrZip2){
	if (!usrZip2 || !usrZip2.tagName) {
		usrZip2 = event.srcElement;
	}
	var nameHead = usrZip2.name.replace("_Zip4", "");
	var usrZip1 = document.getElementsByName(nameHead + "_Zip3")[0];
	// お取り寄せ画面対応
	if (nameHead == "sUserZipNo_re") {
		usrZip1 = document.getElementsByName("sUserZipNo_fr")[0];
	}
	if (usrZip1.value.length != 3) { return; }
	if (usrZip1.value + usrZip2.value == chkZipCode) { return; }
	chkZipCode = usrZip1.value + usrZip2.value;
	if (chkZipCode == "") { return; }

	if (!event) { event = window.event; }
	var keyCode = event.keyCode;
	if (event.keyCode == 0) {
		keyCode = event.charCode;
	}
	if (37 <= keyCode && keyCode <= 40) { return; }
	if (keyCode == 16) { return; }

	addListTargetDiv = "divAddrListFromZip";
	funcAttachEvent(usrZip2, "blur", function() { setTimeout("funcHideAddListTimer('divAddrListFromZip')", 500);  });

	RequestAjaxResponse("GetAddrListFromZip", "ZipCode=" + chkZipCode, "loadAddrList", nameHead);
}

// 住所1に入力がされたときに、住所一覧を取得する
function funcViewAddListFromAddr(event, usrAdd1){
	if (!usrAdd1 || !usrAdd1.tagName) {
		usrAdd1 = event.srcElement;
	}
	if (usrAdd1.value == chkAddrText) { return; }
	chkAddrText = usrAdd1.value;
	if (chkAddrText == "" || chkAddrText.length == 1) { return; }

	if (!event) { event = window.event; }
	var nameHead = usrAdd1.name.replace("_Add1", "");
	var keyCode = event.keyCode;
	if (event.keyCode == 0) {
		keyCode = event.charCode;
	}
	if (37 <= keyCode && keyCode <= 40) { return; }
	if (keyCode == 16) { return;	}
	if (navigator && navigator.appName == "Microsoft Internet Explorer"){
		if (keyCode != 13 && keyCode != 32) { return; }
	} else {
		if (keyCode != 13) { return;	}
	}

	addListTargetDiv = "divAddrListFromAddr";
	funcAttachEvent(usrAdd1, "blur", function() { setTimeout("funcHideAddListTimer('divAddrListFromAddr')", 500); });

	RequestAjaxResponse("GetAddrListFromAddr", "Address=" + chkAddrText, "loadAddrList", nameHead);
	return false;
}

// 表示しているDIVを非表示にする
function funcHideAddListTimer(strDiv){
	document.getElementById(strDiv).style.display = "none";
}

// DIVに取得した情報を取得する
function loadAddrList(strData, nameHead){
	var divList = document.getElementById(addListTargetDiv);
	if (!divList) {
		divList = document.createElement("DIV");
		divList.name = addListTargetDiv;
		divList.id = addListTargetDiv;
		var baseCtrl;
		var parent = document.getElementsByTagName("BODY")[0];
		parent.appendChild(divList);
	}
	if (addListTargetDiv.match(/Zip/)){
		if (nameHead == "sUserZipNo_re") {
			baseCtrl = document.getElementsByName("sUserZipNo_re")[0];
		} else {
			baseCtrl = document.getElementsByName(nameHead + "_Zip4")[0];
		}
	} else if(addListTargetDiv.match(/Addr/)) {
		if (nameHead == "sUserCity") {
			baseCtrl = document.getElementsByName("sUserCity")[0];
		} else {
			baseCtrl = document.getElementsByName(nameHead + "_Add1")[0];
		}
	}
	var parent = baseCtrl.parentNode;
	divList.style.left = funcGetOffsetLeftPosition(parent) + baseCtrl.offsetLeft + baseCtrl.offsetWidth + 200;
	divList.style.top = funcGetOffsetTopPosition(baseCtrl);
	divList.innerHTML = "";
	divList.style.display = "none";

	// addListを名前に持つコントロールがあった場合、全て削除する
	var cnt = 0;
	var addList = document.getElementsByName('addList');
	if (addList){
		var parentNodeCtrl;
		for (cnt = 0;cnt < addList.length; cnt ++){
			parentNodeCtrl = addList[cnt].parentNode;
			parentNodeCtrl.removeChild(addList[cnt]);
		}
	}

	if (strData != "Nothing" && strData != "Over 20!!"){
		var arrList = strData.split("vbCrlf");
		var iCnt = 0;
		funcSetPosition(divList, addListTargetCtrl);
		for (iCnt = 0; iCnt < arrList.length - 1; iCnt++){
			var tmpStr = arrList[iCnt].split(",");
			divList.innerHTML += "<a class='addList' id='addrList" + iCnt + "' name='addList' onclick='Javascript: funcSetAddr(this, \"" + nameHead + "\");' onmouseout='this.className=\"\";' onmouseover='this.className=\"addListHover\";'>" + tmpStr[0] + " - " + tmpStr[1] + "</a><br />";
		}
		if (arrList.length == 2){
			funcSetAddr(document.getElementById("addrList0"), nameHead);
		}
	}else{
		divList.style.display = "none";
	}
}

// DIVの情報をセットする
function funcSetPosition(ctrl){
	ctrl.style.position = "absolute";
	ctrl.style.width = "320px";
	ctrl.style.display = "inline";
	ctrl.style.backgroundColor = "Gray";
	ctrl.style.border = "2px solid brown";
	ctrl.style.paddingLeft = "5px";
	ctrl.style.lineHeight = "20px";
	ctrl.style.color = "White";
	ctrl.style.zIndex = 100;
	ctrl.style.textAlign = "left";
	ctrl.style.fontSize = "12pt";
}

// 左からの位置を取得する
function funcGetOffsetLeftPosition(ctrl){
	var pos = ctrl.offsetLeft;
	// タグがFORMの場合には、位置を取得しない
	if (ctrl.tagName == "FORM" || ctrl.tagName == "TD") { pos = 0; }
	// ブラウザがIE以外の場合、ヘッダ部分の位置を取得しない
	if (navigator.appName != "Microsoft Internet Explorer") {
		if (ctrl.className == "order_center") { pos = 0; }
	}
	if (ctrl.tagName != "BODY" && ctrl.parentNode){
		pos += funcGetOffsetLeftPosition(ctrl.parentNode);
	}
	return pos;
}

// 上からの位置を取得する
function funcGetOffsetTopPosition(ctrl, refPos){
	var pos = ctrl.offsetTop;
	// タグがFORMまたはCENTERの場合には、位置を取得しない
	if (ctrl.tagName == "FORM" || ctrl.tagName == "CENTER") { pos = 0; }
	// ブラウザがIE以外の場合、ヘッダ部分の位置を取得しない
	if (navigator.appName != "Microsoft Internet Explorer") {
		if (ctrl.className == "order_center") { pos = 0; }
	}
	// 前回の位置情報と同じ場合には、位置情報を加算しない
	if (pos == refPos) { pos = 0; }
	if (ctrl.tagName != "BODY" && ctrl.parentNode){
		pos += funcGetOffsetTopPosition(ctrl.parentNode, ctrl.offsetTop);
	}
	return pos;
}

// 選択された住所を反映する
function funcSetAddr(ctrl, nameHead){
	var arrData = ctrl.innerHTML.split(" - ");
	var usrZip1 = document.getElementsByName(nameHead + "_Zip3")[0];
	var usrZip2 = document.getElementsByName(nameHead + "_Zip4")[0];
	var usrAdd1 = document.getElementsByName(nameHead + "_Add1")[0];
	var usrAdd2 = document.getElementsByName(nameHead + "_Add2")[0];
	var divList = document.getElementById(addListTargetDiv);
	// お取り寄せ画面の場合
	if (!usrZip1){
		usrZip1 = document.getElementsByName("sUserZipNo_fr")[0];
		usrZip2 = document.getElementsByName("sUserZipNo_re")[0];
		usrAdd1 = document.getElementsByName("sUserCity")[0];
		usrAdd2 = document.getElementsByName("sUserTown")[0];
	}

	divList.style.display = "none";
	if (usrZip1) {
		usrZip1.value = arrData[0].substr(0, 3);
		funcRemoveErrorStyle(usrZip1);
	}
	if (usrZip2) {
		usrZip2.value = arrData[0].substr(3, 4);
		funcRemoveErrorStyle(usrZip2);
	}
	if (usrAdd1){
		var focusCtrl = usrAdd2;
		if (usrAdd1.value.indexOf("以下に掲載がない場合") >= 0){
			focusCtrl = usrAdd1;
		}
		usrAdd1.value = arrData[1].replace("以下に掲載がない場合", "");
// 10.11.25(木) I.Teranishi 追加 固定文字の削除を追加
		usrAdd1.value = usrAdd1.value.replace("（その他）", "");
		usrAdd1.value = usrAdd1.value.replace("（丁目）", "");
// 10.11.25(木) I.Teranishi 追加 丁目番地を下の欄に移動
		funcSetAdd2AndDeleteAdd1(usrAdd1, usrAdd2);
		var cityName = "City_c1";
		if (!document.getElementsByName(cityName).length || document.getElementsByName(cityName)[0].tagName == "INPUT"){
			cityName = "City_c2";
		}
		// お取り寄せの場合は、別の名前
		if (!document.getElementsByName(cityName).length){
			cityName = "sUserPlace";
		}
		funcRemoveErrorStyle(usrAdd1);
		funcRemoveErrorStyle(document.getElementsByName(cityName)[0]);
		funcCheckCityNa(usrAdd1, cityName);
		var tmp = usrAdd1.value;
		focusCtrl.focus();
		usrAdd1.value = tmp;
	}
}

// 丁目、番地等の記載を移動または削除する
function funcSetAdd2AndDeleteAdd1(usrAdd1, usrAdd2){
	var pos = 0;
	var getString = "";
	// 括弧を半角から全角に置換する
	usrAdd1.value = usrAdd1.value.replace("(", "（");
	// 括弧から始まり、数字を含む位置を取得
	getString = usrAdd1.value.match(/（.*/i);
	if (getString != null) {
		var searchString = getString[0];
		// 範囲指定されている場合や、丁目等の場合は「（」以降を削除する
		if (searchString.search(/[号区線階]/i) == -1) {
			usrAdd1.value = usrAdd1.value.replace(searchString, "");
			// 「、〜」が含まれない場合、単一地名または丁目等である
			if ((searchString.search(/[、〜−‐ー]+/i) == -1)) {
				searchString = searchString.replace("（", "").replace("）", "");
				if (searchString.search(/[０-９]/i) >= 0) {
					// 数字が入っている場合、丁目等と判断する
					usrAdd2.value = searchString.replace("丁目", "-").replace("番地", "");
					usrAdd2.value = usrAdd2.value.replace("０", "0");
					usrAdd2.value = usrAdd2.value.replace("１", "1");
					usrAdd2.value = usrAdd2.value.replace("２", "2");
					usrAdd2.value = usrAdd2.value.replace("３", "3");
					usrAdd2.value = usrAdd2.value.replace("４", "4");
					usrAdd2.value = usrAdd2.value.replace("５", "5");
					usrAdd2.value = usrAdd2.value.replace("６", "6");
					usrAdd2.value = usrAdd2.value.replace("７", "7");
					usrAdd2.value = usrAdd2.value.replace("８", "8");
					usrAdd2.value = usrAdd2.value.replace("９", "9");
				} else {
					if (searchString.search(/除く/i) == -1){
						// 丁目以外が入っている場合、地名と判断して連結する
						usrAdd1.value += searchString;
					}
				}
			}
		} else {
			if (searchString.search(/[、〜−‐ー]+/i) >= 0) {
				// 上記に入るものでも、範囲指定等されているものの場合は削除する
				usrAdd1.value = usrAdd1.value.replace(searchString, "");
			} else {
				// 範囲指定されていない場合、「（）」を削除する
				usrAdd1.value =usrAdd1.value.replace("（", "").replace("）", "");
			}
		}
	}
}

// 郵便番号が全て入力されていたら、住所を検索する
function funcGetAddrFromZipCode(usrZip2){
	if (!usrZip2 || !usrZip2.tagName) {
		usrZip2 = event.srcElement;
	}
	var nameHead = usrZip2.name.replace("_Zip4");
	var usrZip1 = document.getElementsByName(nameHead + "_Zip3")[0];

	// 郵便番号欄が取得できなかった場合、処理を終了する
	if (!usrZip1 || !usrZip2) { return; }

	// 郵便番号が完全である場合のみ、検索を実行する
	if (usrZip1.value.length == 3 && usrZip2.value.length == 4){
		var cityName = "City_c1";
		if (document.getElementsByName(cityName)[0].tagName !== "INPUT"){
			cityName = "City_c2";
		}
		// お取り寄せの場合は、別の名前
		if (!document.getElementsByName(cityName).length){
			cityName = "sUserPlace";
		}
		RequestAjaxResponse("GetZip", "ZipCode=" + usrZip1.value + usrZip2.value, "loadAddrFromZip", nameHead + "','" + cityName);
	}
}

// 郵便番号から住所をセットする
function loadAddrFromZip(str, nameHead, cityName)
{
	// ある場合のみ、一番上をセットする
	if (str != "Nothing"){
		var cityC1 = document.getElementsByName(cityName)[0];
		var usrAdd1 = document.getElementsByName(nameHead + "_Add1")[0];
		var usrAdd2 = document.getElementsByName(nameHead + "_Add2")[0];
		// お取り寄せ画面の場合
		if (cityName == "sUserPlace"){
			usrAdd1 = document.getElementsByName("sUserCity")[0];
			usrAdd2 = document.getElementsByName("sUserTown")[0];
		}
		var addArray = str.split(',');
		cityC1.value = addArray[0];
		funcRemoveErrorStyle(cityC1);
		usrAdd1.value = addArray[1];
		funcRemoveErrorStyle(usrAdd1);
		funcCheckCityNa(usrAdd1, cityName);
		usrAdd2.focus();
	}
}

// 住所に都道府県がある場合、削除してドロップダウンリストに反映する
function funcCheckCityNa(usrAdd1, cityName){

	if (!usrAdd1 || !usrAdd1.tagName) {
		usrAdd1 = event.srcElement;
	}

	// 住所１に入力がない場合、終了
	if (!usrAdd1.value) {	return;	}

	var cityC1 = document.getElementsByName(cityName)[0];

	var city = new Array("北海道", "青森県", "岩手県", "宮城県", "秋田県", "山形県", "福島県", "茨城県", "栃木県",
						"群馬県", "埼玉県", "千葉県", "東京都", "神奈川県", "新潟県", "富山県", "石川県", "福井県",
						"山梨県", "長野県", "岐阜県", "静岡県", "愛知県", "三重県", "滋賀県", "京都府", "大阪府",
						"兵庫県", "奈良県", "和歌山県", "鳥取県", "島根県", "岡山県", "広島県", "山口県", "徳島県",
						"香川県", "愛媛県", "高知県", "福岡県", "佐賀県", "長崎県", "熊本県", "大分県", "宮崎県",
						"鹿児島県", "沖縄県");

	var iCnt = 0;
	var re;
	var spoint = 0;

	for (iCnt = 0; iCnt < 47; iCnt ++){
		re = new RegExp(city[iCnt], "i");
		// 都道府県名を検索
		spoint = usrAdd1.value.search(re);
		// 一番最初に見つかった場合、県名を除いた文字を返す
		if (spoint == 0){
			usrAdd1.value = usrAdd1.value.substring(spoint + city[iCnt].length);
			cityC1.selectedIndex = iCnt + 1;
			funcRemoveErrorStyle(cityC1);
			usrAdd1.focus();
			break;
		}
	}
	if (navigator.appName == "Opera") {
//		funcRemoveInterval("MeasuresOpea");
	}
}

function funcMeasuresOpera(){
	if (navigator.appName == "Opera") {
		funcAddInterval(1000, "funcViewAddListFromAddr(event)", "MeasuresOpera");
	}
}

// IntervalIdを保持する配列
var intervalId = new Array();
// タイマをセットする
function funcAddInterval(interval, setFunc, idName){
	if (interval == 0) {
		// 指定キーのIntervalをクリアする
		window.clearInterval(intervalId[idName]);
	} else {
		// IntervalIdを保持する
		intervalId[idName] = window.setInterval(setFunc, interval);
	}
}

// タイマを削除する
function funcRemoveInterval(idName){
	window.clearInterval(intervalId[idName]);
}

var changeCtrl = null;
// フォーカス取得時に、取得時クラスを適用する
function funcFocusStyle(ctrl){
	if (!ctrl.className){
		ctrl = document.activeElement;
	}
	// フォーカス取得時にエラースタイルを解除する
	funcRemoveErrorStyle(ctrl);
	// SELECTタグ以外は、フォーカススタイルを適用
	if (ctrl.tagName != "SELECT" && 
		(!ctrl.className || !ctrl.className.match(" onFocusBorder"))) {
		ctrl.className += " onFocusBorder";
	}
	changeCtrl = ctrl;
	// エラーメッセージを非表示にする
//	funcHiddenDivMessage("divError" + ctrl.name);
	// エラーメッセージを前面に出す
	funcDivzIndex("divError" + ctrl.name, 10);
}

// フォーカス喪失時に、取得時クラスを解除する
function funcNormalStyle(ctrl){
	if (!ctrl && event && event.srcElement) {
		ctrl = event.srcElement;
	}
	// コントロールが取得できている場合
	if (ctrl) {
		// スタイルがある場合、フォーカススタイルを解除する
		if (ctrl.className) {
			ctrl.className = ctrl.className.replace(" onFocusBorder", "");
		}
	} else {
		changeCtrl.className = changeCtrl.className.replace(" onFocusBorder", "");
	}
	// エラーメッセージを背面に移動する
	funcDivzIndex("divError" + ctrl.name, 0);
}

// エラースタイルを適用する
function funcErrorStyle(ctrl){
	ctrl.className = ctrl.className + " Err";
}

// エラースタイルを解除する
function funcRemoveErrorStyle(ctrl){
	if (ctrl.className){
		ctrl.className = ctrl.className.replace(" Err", "");
	}
}

// エンターキーを使用不可能にする
function funcDisableEnter(event){
	if (!event){
		event = window.event;
	}
	if (!event) { return true;	}

	var keyCode = event.keyCode;
	if (keyCode == 0){
		keyCode = event.charCode;
	}
	if (keyCode == 13) { return false;	}
	return true;
}

// 対象のコントロールにイベントを追加する
function funcAttachEvent(attachTarget, attachEventName, attachEvent){
	// イベントが存在する場合は、追加とする
	if (attachTarget["on" + attachEventName] || attachTarget == this){
		if (attachTarget.addEventListener) {		// W3C DOM
			attachTarget.addEventListener(attachEventName, attachEvent, false);
		} else if (attachTarget.attachEvent) {	// IE
			attachTarget.attachEvent("on" + attachEventName, attachEvent);
		} else {							// OTHER
			attachTarget["on" + attachEventName] = attachEvent;
		}
	} else {							// NOTHING
		attachTarget["on" + attachEventName] = attachEvent;
	}
}

// コントロール全てにイベントを追加する
function funcAttachAllCtrl(){
	var iFrm = 0;
	var iCnt = 0;
	var iFrmEnd = document.forms.length;
	var iCntEnd = 0;

//11.01.12 R.Fujii 変更 anetセキュリティ診断
////10.12.20 R.Fujii 削除 anetセキュリティ診断 PW認証
//////10.11.27 R.Fujii 追加
////	var url = document.URL;
////	var page = url.substr(url.lastIndexOf("/") + 1);
	var url = document.URL;
	var page = url.substr(url.lastIndexOf("/") + 1);

	for (iFrm = 0; iFrm < iFrmEnd; iFrm ++){
		iCntEnd = document.forms[iFrm].elements.length;

//		funcAttachEvent(document.forms[iFrm], "submit", function(){ return funcSubmitCheck() });
		for (iCnt = 0; iCnt < iCntEnd; iCnt ++){
			var attach = document.forms[iFrm].elements[iCnt];
			switch (attach.tagName){
				case "INPUT":
					if (attach.type == "submit") {
						if (attach.name == "rewrite") {
							// 書き直しの場合、内容の削除を行う
							funcAttachEvent(attach, "click", function() { return funcResetInputData() });
						} else {
							// 送信ボタンの場合、入力チェックを実行
							funcAttachEvent(attach, "click", function() { return funcSubmitCheck(this) });
						}
					} else if (attach.type == "hidden") {
						// TODO
					} else if (attach.type == "radio") {
						// TODO
					} else if (attach.type == "checkbox") {
						// TODO
					} else if (attach.type == "button") {
						if (attach.name == "rewrite") {
							// 書き直しの場合、内容の削除を行う
							funcAttachEvent(attach, "click", function() { return funcResetInputData() });
						}
					} else if (attach.type == "reset") {
							funcAttachEvent(attach, "click", function() { return funcResetInputData() });
//11.01.12 R.fujii 変更 anetセキュリティ診断
////10.12.20 R.Fujii 削除 anetセキュリティ診断 PW認証
//////10.11.27 R.Fujii 追加
////					} else if (attach.type == "password") {
////							funcAttachEvent(attach, "keydown", function(event) { return funcDisableEnter(event); });
////							funcAttachEvent(attach, "focus", function() { funcFocusPassWord(this); funcFocusStyle(this); });
////							funcAttachEvent(attach, "blur", function() { funcFocusPassWord(this); funcNormalStyle(this); });
					} else if (attach.type == "password" && page == "UserMod.asp") {
							funcAttachEvent(attach, "keydown", function(event) { return funcDisableEnter(event); });
							funcAttachEvent(attach, "focus", function() { funcFocusPassWord(this); funcFocusStyle(this); });
							funcAttachEvent(attach, "blur", function() { funcFocusPassWord(this); funcNormalStyle(this); });
					} else {
						// 検索枠以外は、ENTERキーを使用不可能にする
						if (attach.name != "itkey"){
							funcAttachEvent(attach, "keydown", function(event) { return funcDisableEnter(event) });
							funcAttachEvent(attach, "focus", function() {	funcFocusStyle(this)	});
							funcAttachEvent(attach, "blur", function() {	funcNormalStyle(this)	});
						}
						// 住所、電話/FAX番号、カード番号、セキュリティコード、代表注文番号、定価
						if (attach.name.match(/Zip|Tel|Fax|Hpho|CardNo|security_code|UriNo|sUserPrice/i)){
							// 取り寄せ画面だけ、ハイフン入力可能

// 10.09.25 A.Takahashi 変更
//							if (attach.name == "sUserTelNo") {
//								funcAttachEvent(attach, "keypress", function (event) { return funcAllowKeyCheck('d\\-', event, this) });
							if (attach.name == "sUserTelNo" || attach.name == "sUserUriNo") {
								funcAttachEvent(attach, "keypress", function (event) { return funcAllowKeyCheck('d\\-', event, this) });

							} else {
								funcAttachEvent(attach, "keypress", function (event) { return funcAllowKeyCheck('d', event, this) });
							}
							attach.className = "NumberOnly";
						}
						// 郵便番号下4桁
						if (attach.name.match(/Zip4|sUserZipNo_re/i)){
							funcAttachEvent(attach, "blur", function() {	funcGetAddrFromZipCode(this)	});
							funcAttachEvent(attach, "keyup", function(event) { funcViewAddListFromZipCode(event, this) });
						}
						// 住所1
						if (attach.name.match(/Add1|sUserCity/i)){
							funcAttachEvent(attach, "keyup", function(event) { 		return funcViewAddListFromAddr(event, this) 	});
							funcAttachEvent(attach, "blur", function(event) { 		funcCheckCityNa(this) 	});
						}
						// メールアドレス
						if (attach.name.match(/Mail/i)){
//							funcAttachEvent(attach, "blur", function() { funcCheckMailAddress(this) });
						}
					}
					break;
				case "SELECT":
					funcAttachEvent(attach, "focus", function() {	funcFocusStyle(this)	});
					funcAttachEvent(attach, "blur", function() {	funcNormalStyle(this)	});
					break;
				case "TEXTAREA":
					funcAttachEvent(attach, "focus", function() {	funcFocusStyle(this)	});
					funcAttachEvent(attach, "blur", function() {	funcNormalStyle(this)	});
					break;
			}
		}
	}
//11.01.12 R.Fujii 変更 anetセキュリティ診断
////10.12.20 R.Fujii 削除 anetセキュリティ診断 PW認証
//////10.11.27 R.Fujii 追加
////	if (page == "UserMod.asp") {
////		document.getElementsByName("Usr_Ps2")[0].focus();
////	}
	if (page == "UserMod.asp") {
		document.getElementsByName("Usr_Ps2")[0].focus();
	}
}

// メールアドレスの有効性チェック
function funcCheckMailAddress(ctrl){
	// CSSが指定されている場合、エラーを排除する
	if (ctrl.className){
		ctrl.className = ctrl.className.replace(" Err", "");
	}
	if (ctrl.value){
		// メールアドレスとして有効かどうかをチェック
		if (!ctrl.value.match(/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+\.([\.a-zA-Z0-9_\-])+([a-zA-Z0-9_\-])+$/))
		{
			if (!ctrl.className || !ctrl.className.match(" Err")){
				ctrl.className = ctrl.className + " Err";
			}
			return false;
		}
	}
	return true;
}

// 書式チェック
function funcCheckType(ctrl, checkType){
	// 書式判定タイプを作成
	var reg = new RegExp("^[" + checkType + "]+$", "i");
	// 入力がない場合、trueで返す
	if (ctrl.value === "") { return true; }
	// 引数の書式種別とマッチするかどうかをチェックして返す
	return ctrl.value.match(reg);
}

// 全角文字のみが使用されているかどうかをチェック
function funcCheckWide(ctrl){
	// エラースタイルを解除
	funcRemoveErrorStyle(ctrl);
	var iCnt = 0;
	// 入力がない場合、trueで返す
	if (ctrl.value === "") { return true; }
	// 入力文字列を取得する
	var checkValue = escape(ctrl.value);
	for (iCnt = 0; iCnt < checkValue.length; iCnt ++) {
		// 対象の文字が半角以外の場合
		if (checkValue.charAt(iCnt) === "%") {
			// 次の1文字
			iCnt ++;
			// 次の文字が、uの場合(Unicode)
			if (checkValue.charAt(iCnt) === "u") {
				var chars = checkValue.substr(iCnt + 1, 4);
				var num10 = eval("0x" + chars + ".toString(10)");
				// 文字コードがFFまたは00から始まる場合は半角文字としてfalseを返す
				// FF61(65377) - FFFF(65535)は、半角記号文字。00xxは、ASCII文字
				if (num10 < 256 || num10 > 65376) {
					return false;
				}
			} else {
				// unicode文字以外の場合、半角なのでfalseを返す
				return false;
			}
			// コード部(4Byte)を通過する
			iCnt += 4;
		} else {
			// エンコードされていない場合、ASCII文字が使用されているので、falseを返す
			return false;
		}
	}
	// 最後まで来た場合、正常として結果を返す
	return true;
}

//10.11.27 R.Fujii 追加
//不具合文字の指定
function funcCheckFailedCharacter(ctrl) {
	if (ctrl.value === "") {
		return true;
	}
//11.05.09 R.Fujii 変更
//	if(ctrl.value.match(/[,\"\\]/)) {
	if(ctrl.value.match(/[,\"\\\']/)) {   // "←エディタのカラーのため
		return false;
	}
	return true;
}

// イベント発生元コントロールを取得する
function getEventSource(srcElement){
	if (!srcElement || !srcElement.tagName) {
		srcElement = event.srcElement;
	}
	return srcElement;
}

// 指定したIDを持つDIVを非表示にする
function funcHiddenDivMessage(divId){
	var div = document.getElementById(divId);
	if (div){
		div.style.display = "none";
	}
}

// 指定したIDを持つDIVの表示順番を変更する
function funcDivzIndex(divId, zIndex){
	var div = document.getElementById(divId);
	if (div){
		div.style.zIndex = zIndex;
	}
}

// エラーメッセージを対象のコントロールの隣に配置する
function funcCreateDivMessage(targetCtrl, errMessage){
	// スタイルが指定されていないか、エラースタイルが適用されていない場合はエラースタイルを適用する
	if (!targetCtrl.className || targetCtrl.className.indexOf(" Err") == -1){
		targetCtrl.className = targetCtrl.className + " Err";
	}
	// エラー表示を作成する
	var divError = document.getElementById("divError" + targetCtrl.name);
	if (!divError){
		divError = document.createElement("DIV");
		divError.name = "divError";
		divError.id = "divError" + targetCtrl.name;
		divError.className = "Err_Box";
		var parent = document.getElementsByTagName("BODY")[0];
		parent.appendChild(divError);
	}
	divError.innerHTML = errMessage;
	divError.style.display = "inline";
	var parent = targetCtrl.parentNode;
	divError.style.left = funcGetOffsetLeftPosition(parent) + 400;
	divError.style.top = funcGetOffsetTopPosition(targetCtrl);
	// 対象コントロールを保持
	divError["targetCtrl"] = targetCtrl;
	// エラー内容をクリック時対象のコントロールにフォーカスを移動する
	funcAttachEvent(divError, "click", function() { document.getElementsByName(getEventSource(this).id.replace("divError", ""))[0].focus() });
	if (!window["moveErrorDiv"]){
		// まだエラー表示が追加されていない場合、位置調整をウィンドウサイズイベントに追加
		funcAttachEvent(window, "resize", funcMoveAllErrorDiv);
		// 1回追加すればよいので、windowオブジェクトに独自フラグを追加
		window["moveErrorDiv"] = true;
	}
	return divError;
}

// 指定したタグ内の指定した名前の一番最初のコントロールを返します
function funcGetElementByTagNameAndName(tagName, name){
	var tagCtrl = document.getElementsByTagName(tagName);
	var iCnt = 0;
	for (iCnt = 0; iCnt < tagCtrl.length; iCnt++){
		if (tagCtrl[iCnt].name == name) {
			return tagCtrl[iCnt];
		}
	}
	return null;
}

// 指定したタグ内の指定した名前の一番最初のコントロールを返します
function funcMoveAllErrorDiv(){
	var tagCtrl = document.getElementsByTagName("DIV");
	var iCnt = 0;
	for (iCnt = 0; iCnt < tagCtrl.length; iCnt++){
		var divError = tagCtrl[iCnt];
		if (divError["targetCtrl"]){
			// 対象コントロールの親を取得
			var parent = divError["targetCtrl"].parentNode;
			// 位置を設定
			divError.style.left = funcGetOffsetLeftPosition(parent) + 400;
			divError.style.top = funcGetOffsetTopPosition(divError["targetCtrl"]);
		}
	}
}

// フォームの入力内容の検証を実行する
function funcFormValidator(PageValidator){
	var isValidate = false;
	// ページ内のコントロールごとの設定を取得
	for (iName in PageValidator){
		var ctlSetting = PageValidator[iName];
		var ctrls = document.getElementsByName(iName);
		var iCnt = 0;
		// コントロールが取得できない場合は、存在しない画面なので次へ
		if (!ctrls || !ctrls.length) { continue; }
		for (iCnt = 0; iCnt < ctrls.length; iCnt ++) {
			var ctrl = ctrls[iCnt];
			// 隠し項目の場合は、チェック不要
			if (ctrl.type == "hidden") { continue; }
			// 入力がない場合
			if (!ctrl.value){
				if (ctlSetting["Require"] == true){
					// 必須の場合、入力がなければエラー
					isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "が入力されていません。");
					continue;
				} else {
					// 必須ではない場合、入力がなければそのほかのチェックは不要なので、次へ
					continue;
				}
			}
			// 書式チェック
			if (ctlSetting["Type"]){
				switch(ctlSetting["Type"]){
					// メールアドレスの形式チェック
					case "Mail":
						if (!funcCheckMailAddress(ctrl)){
							isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "がメールアドレスとして正しくありません。");
							continue;
						}
						break;
					// 数値書式チェック
					case "Number":
						if (funcCheckType(ctrl, "\\d") != ctrl.value){
							isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は半角数字で入力して下さい。");
							continue;
						}
						break;
					// 英数書式チェック
					case "Alphanumeric":
						if (funcCheckType(ctrl, "\\w") != ctrl.value){
							isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は半角英数字で入力して下さい。");
							continue;
						}
						break;
					// 英数書式チェック
					case "AlphanumericCode":
						if (funcCheckType(ctrl, "\\w\\-\\_.@") != ctrl.value){
							isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は半角英数字または「.-_@」で入力して下さい。");
							continue;
						}
						break;
					// 全角チェック
					case "Wide":
						if (!funcCheckWide(ctrl)) {
							isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は全角文字で入力して下さい。");
						}
						break;
				}
			}
			// 入力最小桁数チェック
			if (ctlSetting["Min"] > 0 && ctrl.value.length < ctlSetting["Min"]){
				isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "の桁数が足りません。");
				continue;
			}
			// 入力最大桁数チェック
			if (ctlSetting["Max"] > 0 && ctrl.value.length > ctlSetting["Max"]){
				isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は" + ctlSetting["Max"] + "桁以内にして下さい。");
				continue;
			}
			// 入力内容が同じかどうかの比較
			if (ctlSetting["Compare"]){
				var ctrlName = ctlSetting["Compare"];
				var compareCtrl = document.getElementsByName(ctrlName);
				if (compareCtrl && compareCtrl.length) { compareCtrl = compareCtrl[0];	}
				if (ctrl.value != compareCtrl.value) {
					isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "が" + PageValidator[ctrlName]["Name"] + "と違っています。");
				}
			}
//10.11.27 R.Fujii 追加
			// 新規ユーザ用パスワードチェック
			if (ctlSetting["PassWordNew"]){
				var ctrlName = ctlSetting["PassWordNew"];
				var compareCtrl = document.getElementsByName(ctrlName);
				// 書式チェック
				if (funcCheckType(ctrl, "\\w\\-\\_.@") != ctrl.value){
					isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は半角英数字または「.-_@」で入力して下さい。");
				}
				// 書式チェック 英字と数字を両方用いているか
				if (!funcCheckPw(ctrl)) {
					isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は英字と数字の両方を入力して下さい。");
				}
				// ユーザIDとの比較
				if (compareCtrl && compareCtrl.length) {
					compareCtrl = compareCtrl[0];
				}
				if (ctrl.value == compareCtrl.value) {
					isValidate = funcCreateDivMessage(ctrl, PageValidator[ctrlName]["Name"] + "と異なる" + ctlSetting["Name"] + "を設定して下さい。");
				}
			}
//10.11.27 R.Fujii 追加
			// 既存ユーザ用パスワードチェック
			if (ctlSetting["PassWordUserMod"]){
				// パスワードが変更された場合のみ判定
//10.12.20 R.Fujii 変更 anetセキュリティ診断 PW認証
//				var ctrlName = ctlSetting["PassWordUserMod"];
//				var compareCtrl = document.getElementsByName(ctrlName)[0];
//				if (ctrl.cmpExistingPw == "DIFFERENT") {
				var ctrlNames       = ctlSetting["PassWordUserMod"];
				var ctrlNameList   = ctrlNames.split(",")
//11.01.12 R.Fujii 変更 anetセキュリティ診断
//				var cmpExistPwCtrl = document.getElementsByName(ctrlNameList[0])[0];
//				var compareCtrl    = document.getElementsByName(ctrlNameList[1])[0];
				var compareCtrl    = document.getElementsByName(ctrlNameList[0])[0];
//11.01.12 R.Fujii 変更 anetセキュリティ診断
//				if (ctrl.value != cmpExistPwCtrl.value) {
				if (ctrl.cmpExistingPw == "DIFFERENT") {
					// 書式チェック
					if (funcCheckType(ctrl, "\\w\\-\\_.@") != ctrl.value){
						isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は半角英数字または「.-_@」で入力して下さい。");
					}
					// 書式チェック 英字と数字を両方用いているか
					if (!funcCheckPw(ctrl)) {
						isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "は英字と数字の両方を入力して下さい。");
					}
					// ユーザIDとの比較
					if (ctrl.value == compareCtrl.value) {
//11.01.12 R.Fujii 変更 anetセキュリティ診断
////10.12.20 R.Fujii 変更 anetセキュリティ診断 PW認証
////						isValidate = funcCreateDivMessage(ctrl, PageValidator[ctrlName]["Name"] + "と異なる" + ctlSetting["Name"] + "を設定して下さい。");
//						isValidate = funcCreateDivMessage(ctrl, PageValidator[ctrlNameList[1]]["Name"] + "と異なる" + ctlSetting["Name"] + "を設定して下さい。");
						isValidate = funcCreateDivMessage(ctrl, PageValidator[ctrlNameList[0]]["Name"] + "と異なる" + ctlSetting["Name"] + "を設定して下さい。");
					}
					// 入力最小桁数チェック
					if (ctlSetting["NewMin"] > 0 && ctrl.value.length < ctlSetting["NewMin"]){
						isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "の桁数が足りません。");
						continue;
					}
				}
			}
			// 不具合記号チェック
			if (ctlSetting["FailedCharacter"] && !funcCheckFailedCharacter(ctrl)) {
//11.05.09 R.Fujii 変更
//				isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "に「, \" \\」の記号は使用できません。");
				isValidate = funcCreateDivMessage(ctrl, ctlSetting["Name"] + "に「, \" \\ '」の記号は使用できません。");
				continue;
			}
		}
	}
	return isValidate;
}

// フォームの送信チェック
function funcSubmitCheck(srcElement){
	// IEでフォームが複数あると、コントロールが取得できないのでイベント発生元を取得
	if (!srcElement || !srcElement.tagName) {
		srcElement = event.srcElement;
	}
	// イベント発生元が特定できない場合、以降の処理でエラーになってしまうので正常で返す（サーバー側チェックを実行）
	if (!srcElement && !srcElement.tagName) {
		return true;
	}
	// 戻るボタンか、書き直しボタンの場合には無条件で正常とする
	if (srcElement.value.match("戻る")
//	if (srcElement.value == "戻る" 
//		|| srcElement.value == "書き直し"
		){
		return true;
	}
	var url = document.URL;
	var page = url.substr(url.lastIndexOf("/") + 1);
	var isValidate = "";
	var iName = 0;
	var PageValidator;

	// エラーを全て解除
	funcErrorClear();

	// ジャンプタグを削除
	var sharpPos = page.indexOf("#");
	if (sharpPos >= 0){
		page = page.substring(0, sharpPos);
	}
	// 引数クエリを削除
	var sharpPos = page.indexOf("?");
	if (sharpPos >= 0){
		page = page.substring(0, sharpPos);
	}

	// 発注時のみ特別
	if (page == "Order.asp" || page == "Order01.asp" || page == "Order02.asp" || page == "Order03.asp"){
		if (srcElement.name == "haveID") {
			// IDあり側のボタン押下時は発注画面の最初でIDとパスのみ
			PageValidator = PageValidators["Order.asp#Usr"];
		} else if (srcElement.name == "inputParsonalData") {
			// IDなし側のボタン押下時は発注画面の最初で情報全部
			PageValidator = PageValidators["Order.asp#Info"];
		} else if (document.getElementsByName("gift") && document.getElementsByName("gift")[0].checked){
			// 配送先画面で、購入者と同じの場合は検証終了
			return true;
		} else {
			PageValidator = PageValidators[page];
		}
	} else {
		// ページで検証を実行
		PageValidator = PageValidators[page];
	}

	// 検証を実行
	isValidate = funcFormValidator(PageValidator);

	// エラー表示が行われている場合、一度非表示に設定する
	var divError = document.getElementById("divErrorPopup");
	if (divError){
		divError.style.display = "none";
	}
	// エラーメッセージが作成されている場合、エラー表示を行う
	if (isValidate){
		// エラー表示枠が存在しない場合、作成する
		if (!divError){
			divError = document.createElement("DIV");
			divError.id = "divErrorPopup";
			divError.style.padding = "3px";
			divError.style.position = "absolute";
			divError.style.backgroundColor = "Red";
			divError.style.color = "Yellow";
			divError.style.fontWeight = "bold";
			divError.style.textAlign = "center";
			divError.style.width = "200px";
			var parent = document.getElementsByTagName("BODY")[0];
			parent.appendChild(divError);
		}
		divError.style.display = "inline";
		divError.innerHTML = "入力エラーがあります。";
		var parent = divError.parentNode;
		if (srcElement.value == "確認画面に進む"){
			divError.style.left = funcGetOffsetLeftPosition(srcElement) - ((divError.offsetWidth - srcElement.offsetWidth) / 2) + srcElement.parentNode.offsetLeft;
		} else {
			divError.style.left = funcGetOffsetLeftPosition(srcElement) - ((divError.offsetWidth - srcElement.offsetWidth) / 2);
		}
		divError.style.top = funcGetOffsetTopPosition(srcElement) - divError.offsetHeight;
		window.setTimeout("document.getElementById('divErrorPopup').style.display = \"none\";", 1000);
	}
	return (!isValidate);
}

// 画面上の入力項目の初期化処理を行う
function funcResetInputData(){
	// 現在のフォームを取得
	var currentForm = document.forms["order_from"];		// 注文情報
	if (!currentForm) {
		currentForm = document.forms["form"];			// お届け先
	}
	// どちらでもない場合は、1つ目のフォーム
	if (!currentForm) {
		currentForm = document.forms[0];
	}
	if (!currentForm) {
		return;
	}
	var iCnt = 0;
	for (iCnt = 0; iCnt < currentForm.elements.length; iCnt ++){
		// コントロールを取得
		var elm = currentForm.elements[iCnt];
		// 個数コントロール以外の場合、初期化処理を実行する
		if (elm.name.indexOf("piece") == -1){
			// 入力項目の場合
			if (elm.tagName == "INPUT") {
				switch (elm.type) {
					case "text":		// テキストボックス
						elm.value = "";
						break;
					case "checkbox":	// チェックボックス
						// 現在は対象がないので何もしない
						break;
					case "radio":
						elm.checked = false;
						document.getElementsByName(elm.name)[0].checked = true;
						break;
					case "password":
						elm.value = "";
						break;
				}
			} else if (elm.tagName == "SELECT") {
				elm.options[0].selected = true;
			}
			// 全てのコントロールにおいて、エラースタイルを削除する
			if (elm.className) { elm.className = elm.className.replace(" Err", ""); }
		}
	}
	funcErrorClear();
	// 戻りは常に不許可
	return false;
}

// 画面上の入力項目のエラースタイル解除処理を行う
function funcErrorClear(){
	// 現在のフォームを取得
	var currentForm = document.forms["order_from"];		// 注文情報
	if (!currentForm) {
		currentForm = document.forms["form"];			// お届け先
	}
	// どちらでもない場合は、1つ目のフォーム
	if (!currentForm) {
		currentForm = document.forms[0];
	}
	if (!currentForm) {
		return;
	}
	var iCnt = 0;
	for (iCnt = 0; iCnt < currentForm.elements.length; iCnt ++){
		// コントロールを取得
		var elm = currentForm.elements[iCnt];
		// 全てのコントロールにおいて、エラースタイルを削除する
		if (elm.className) { elm.className = elm.className.replace(" Err", ""); }
	}
	var errDiv = funcGetElementByTagNameAndName("DIV", "divError");
	while(errDiv){
		errDiv.parentNode.removeChild(errDiv);
		errDiv = funcGetElementByTagNameAndName("DIV", "divError");
	}
	// 戻りは常に不許可
	return false;
}

//10.11.27 R.Fujii 追加
// 英字・数字の両方が含まれているかチェック
function funcCheckPw(ctrl) {
	// 入力がない場合、trueで返す
	if (ctrl.value === "") {
		return true;
	}
	// 英字有無チェック
	if (!ctrl.value.match(/[a-zA-Z]/)) {
		return false;
	}
	// 数字有無チェック
	if (!ctrl.value.match(/[0-9]/)) {
		return false;
	}
	return true;
}

//11.01.12 R.Fujii 変更
//10.12.20 R.Fujii 削除 anetセキュリティ診断 PW認証
////10.11.27 R.Fujii 追加
function funcFocusPassWord(ctrl){
	var url = document.URL;
	var page = url.substr(url.lastIndexOf("/") + 1);
	// UserMod.asp用 パスワードフォーカス時にSUBMITボタン使用不可
	if (page == "UserMod.asp") {
		var ctlSetting = PageValidators[page][ctrl.name];
		var OptionList = ctlSetting["Option"];
		var Options = OptionList.split(","); 
		var ctrl_user = document.getElementsByName(Options[0])[0];
		var ctrl_Button01 = document.getElementsByName(Options[1])[0];
		var ctrl_Button02 = document.getElementsByName(Options[2])[0];
		var strData;
		// 確認ボタン 送信ボタンの使用不可
		if (ctrl_Button01) {
			ctrl_Button01.disabled = true;
		}
		if (ctrl_Button02) {
			ctrl_Button02.disabled = true;
		}
		strData="user=" + ctrl_user.value + "&inputpw=" + ctrl.value;
		RequestAjaxResponsePost("CheckPwUserMod", strData, "funcAddCheckPwUserMod", ctrl.name);
	}
}

//11.01.12 R.Fujii 変更
//10.12.20 R.Fujii 削除 anetセキュリティ診断 PW認証
////10.11.27 R.Fujii 追加
//// UserMod.asp用 Usr_Psに旧パスワードの要素を追加
function funcAddCheckPwUserMod(strData, ctrlname){
	var url = document.URL;
	var page = url.substr(url.lastIndexOf("/") + 1);
	var ctlSetting = PageValidators[page][ctrlname];
	var OptionList = ctlSetting["Option"];
	var Options = OptionList.split(","); 
	var ctrl_userpw = document.getElementsByName(ctrlname)[0];
	var ctrl_Button01 = document.getElementsByName(Options[1])[0];
	var ctrl_Button02 = document.getElementsByName(Options[2])[0];
	// 比較結果を格納
	ctrl_userpw["cmpExistingPw"] = strData;
	// 確認ボタン 送信ボタンの使用可
	if (ctrl_Button01) {
		ctrl_Button01.disabled = false;
	}
	if (ctrl_Button02) {
		ctrl_Button02.disabled = false;
	}
}


funcAttachEvent(window, "load", funcAttachAllCtrl);
