function Action(strAction,strLink) {
	// フォームの取得
	var frmForm = document.form_detail;

	// 処理分岐

	switch (strAction) {

	// -------------------------------------
	// 画面遷移
	// -------------------------------------
	case 'sort':
		if (!!frmForm.c) {
			frmForm.c.value = '1';		// １ページ目へ移動
		}
		frmForm.submit();
		return true;
	case 'go':
		frmForm.action = strLink;
		frmForm.submit();

		return true;
	case 'Auto_go':
		Input_go(frmForm);
		frmForm.action = strLink;
		frmForm.submit();

		return true;	
	// -------------------------------------
	// 入力チェック後画面遷移
	// -------------------------------------
	case 'check':
		// 入力チェック
		if(!Input_Check(frmForm)) { return false; }

		frmForm.action = strLink;
		frmForm.submit();

		return true;
	case 'Auto_check':

		// 入力チェック
		if(!Input_Check_Auto(frmForm)) { return false; }

		frmForm.action = strLink;
		frmForm.submit();

		return true;
	}
}

function Input_go(frmForm) {
	if (!!frmForm.text) {
		if (frmForm.text.length > 0) {
	    for(i=0; i < frmForm.text.length; i++) {
				spldt = frmForm.text[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.text[i].value;
			}
		} else {
			spldt = frmForm.text.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.text.value;
		}
	}
	if (!!frmForm.mail) {
		if (frmForm.mail.length > 0) {
	    for(i=0; i < frmForm.mail.length; i++) {
				spldt = frmForm.mail[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.mail[i].value;
			}
		} else {
			spldt = frmForm.mail.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.mail.value;
		}
	}
	if (!!frmForm.num) {
		if (frmForm.num.length > 0) {
	    for(i=0; i < frmForm.num.length; i++) {
				spldt = frmForm.num[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.num[i].value;
			}
		} else {
			spldt = frmForm.num.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.num.value;
		}
	}
}

// -----------------------------------------------------------------------------
// 入力チェック
// -----------------------------------------------------------------------------
function elecheck(node) {
	try{
		ret = true;
		node.focus();
		return ret;
	}
	catch(e){
		ret = false;
	}
}

function Input_Check(frmForm) {
	var err_msg = "";
	if (!!frmForm.CheckInput) {
		checkdt = frmForm.CheckInput.value.split("/");
		for (i = 0; i < checkdt.length; i++) {
			spldt = checkdt[i].split("|");
			//if (spldt[0] == 'cbo' || spldt[0] == 'sel' || spldt[0] == 'tsel' || elecheck(document.getElementById(spldt[4]))) {
				switch(spldt[0]) {
				case 'mail':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsMailaddress(document.getElementById(spldt[4]),spldt[1]);
					}
					break;
				case 'text':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsLength(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
					}
					break;
				case 'cbo':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput_Cbo(document.getElementById(spldt[4]),spldt[1]);
					}
					break;
				case 'num':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsNumber(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1],0);
					}
					break;
				case 'sel':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsNumber(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1],1);
					}
					break;
				case 'tsel':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsLength(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
					}
					break;
				}
			//}
			if (err_msg != '') {
				break;
			}
		}
	} else {
		for (i = 0; i < CheckInput.length; i++) {
			spldt = CheckInput[i].split("|");
			if (spldt[0] == 'sel' || elecheck(document.getElementById(spldt[4]))) {
				switch(spldt[0]) {
				case 'mail':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsMailaddress(document.getElementById(spldt[4]),spldt[1]);
					}
					break;
				case 'text':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsLength(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
					}
					break;
				case 'num':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsNumber(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1],0);
					}
					break;
				case 'cbo':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput_Cbo(document.getElementById(spldt[4]),spldt[1]);
					}
					break;
				case 'sel':
					if (spldt[6] == 1) {
						err_msg = Check_IsInput(document.getElementById(spldt[4]),spldt[1]);
					}
					if (err_msg == '') {
						err_msg = Check_IsNumber(document.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1],1);
					}
					break;
				}
			}
			if (err_msg != '') {
				break;
			}
		}
	}
	if (err_msg == '') {
		return true;
	} else {
		alert(err_msg);
		return false;
	}
}
function Input_Check_Auto(frmForm) {

	var flag =  new Array();
	var Element = new Array();
	
	cnt  =  0;
	// 条件−選択
	if (!!frmForm.text) {
		if (frmForm.text.length > 0) {
		    for(i=0; i < frmForm.text.length; i++) {
				spldt = frmForm.text[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.text[i].value;
				flag[spldt[4]] = Check_IsInput(frmForm.text[i],spldt[0]);
				Element[spldt[4]] = frmForm.text[i];
				cnt++;
				if (flag[spldt[4]] == '') {
					flag[spldt[4]] = Check_IsLength(frmForm.text[i],spldt[1],spldt[2],spldt[0]);
					Element[spldt[4]] = frmForm.text[i];
				}
			}
		} else {
			spldt = frmForm.text.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.text.value;
			flag[spldt[4]] = Check_IsInput(frmForm.text,spldt[0]);
			Element[spldt[4]] = frmForm.text;
			cnt++;
			if (flag[spldt[4]] == '') {
				flag[spldt[4]] = Check_IsLength(frmForm.text,spldt[1],spldt[2],spldt[0]);
				Element[spldt[4]] = frmForm.text;
			}
		}
	}
	if (!!frmForm.mail) {
		if (frmForm.mail.length > 0) {
			for(i=0; i < frmForm.mail.length; i++) {
				spldt = frmForm.mail[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.mail[i].value;
				flag[spldt[4]] = Check_IsInput(frmForm.mail[i],spldt[0]);
				Element[spldt[4]] = frmForm.mail[i];
				cnt++;
				if (flag[spldt[4]] == '') {
					flag[spldt[4]] = Check_IsMailaddress(frmForm.mail[i],spldt[0]);
					Element[spldt[4]] = frmForm.mail[i];
				}
			}
		} else {
			spldt = frmForm.mail.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.mail.value;
			flag[spldt[4]] = Check_IsInput(frmForm.mail,spldt[0]);
			Element[spldt[4]] = frmForm.mail;
			cnt++;
			if (flag[spldt[4]] == '') {
				flag[spldt[4]] = Check_IsMailaddress(frmForm.mail,spldt[0]);
				Element[spldt[4]] = frmForm.mail;
			}
		}
	}
	if (!!frmForm.num) {
		if (frmForm.num.length > 0) {
			for(i=0; i < frmForm.num.length; i++) {
				spldt = frmForm.num[i].id.split("|");
				document.getElementById(spldt[3]).value = frmForm.num[i].value;
				flag[spldt[4]] = Check_IsInput(frmForm.num[i],spldt[0]);
				Element[spldt[4]] = frmForm.num[i];
				cnt++;
				if (flag[spldt[4]] == '') {
					flag[spldt[4]] = Check_IsNumber(frmForm.num[i],spldt[1],spldt[2],spldt[0],0);
					Element[spldt[4]] = frmForm.num[i];
				}
			}
		} else {
			spldt = frmForm.num.id.split("|");
			document.getElementById(spldt[3]).value = frmForm.num.value;
			flag[spldt[4]] = Check_IsInput(frmForm.num,spldt[0]);
			Element[spldt[4]] = frmForm.num;
			cnt++;
			if (flag[spldt[4]] == '') {
				flag[spldt[4]] = Check_IsNumber(frmForm.num,spldt[1],spldt[2],spldt[0],0);
				Element[spldt[4]] = frmForm.num;
			}
		}
	}
	err = '';
	no  = 0;
	for (i = 0; i < cnt; i++) {
		if (flag[i] != '') {
			err = flag[i];
			no = i;
			break;
		}
	}
	if (err == '') {
		if (!!frmForm.text) {
			if (frmForm.text.length > 0) {
		    for(i=0; i < frmForm.text.length; i++) {
					frmForm.text[i].value = '';
				}
			} else {
				frmForm.text.value = '';
			}
		}			
		if (!!frmForm.mail) {
			if (frmForm.mail.length > 0) {
		    for(i=0; i < frmForm.mail.length; i++) {
					frmForm.mail[i].value = '';
				}
			} else {
				frmForm.mail.value = '';
			}
		}			
		if (!!frmForm.num) {
			if (frmForm.num.length > 0) {
		    for(i=0; i < frmForm.num.length; i++) {
					frmForm.num[i].value = '';
				}
			} else {
				frmForm.num.value = '';
			}
		}			
		return true;
	} else {
		alert(err);
		Check_SetFocus(Element[no]);
		return false;
	}
}
// -----------------------------------------------------------------------------
// 必須入力チェック
// -----------------------------------------------------------------------------

// 未入力であるかどうかをチェックする
function Check_IsInput(ctlElement, strItemName) {

	mes = '';
	// 未入力チェック
	if(!ctlElement.value) {

		if(strItemName) {
			mes = strItemName + 'が未入力です。入力して下さい。\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}

	return mes;
}

// -----------------------------------------------------------------------------
// 必須選択チェック
// -----------------------------------------------------------------------------

// 未選択(コンボボックス)であるかどうかをチェックする
function Check_IsInput_Cbo(ctlElement, strItemName) {

	mes = '';
	// チェック
	for(icnt=0; icnt <= ctlElement.length-1; icnt++) {
		if(ctlElement(icnt).checked != false) { return mes; }
	}
	if(strItemName) {
		mes =strItemName + 'が未選択です。選択して下さい。\n';
	}
	return mes;
}

// 未選択(オプションボタン)であるかどうかをチェックする
function Check_IsInput_Opt(ctlElement, strItemName) {

  var icnt;
	var flgErr;
	
	mes = '';
	// チェック
	for(icnt=0; icnt <= ctlElement.length-1; icnt++) {
		if(ctlElement(icnt).checked) { return mes; }
	}
		
	flgErr = false;
	
	if(!flgErr){

		if(strItemName) {
			mes = strItemName + 'が未選択です。選択して下さい。\n';
			Check_SetFocus(ctlElement(0));
		}
		return mes;
	}
	return mes;
}


// 未選択(チェックボックス)であるかどうかをチェックする
function Check_IsInput_Chk(ctlElement, strItemName) {

  var icnt;
	var flgErr;

	mes = '';
	// チェック
	for(icnt=0; icnt <= ctlElement.length-1; icnt++) {
		if(ctlElement(icnt).checked) { return mes; }
	}
		
	flgErr = false;
	
	if(!flgErr){

		if(strItemName) {
			mes = strItemName + 'が未選択です。選択して下さい。\n';
			Check_SetFocus(ctlElement(0));
		}
		return mes;
	}
	return mes;
}


// -----------------------------------------------------------------------------
// 数値入力チェック
// -----------------------------------------------------------------------------

// 数値であるかどうかをチェックする
function Check_IsNumber(ctlElement, intMin, intMax, strItemName) {

	var strValue = ctlElement.value;

	mes = '';
	// 未入力の場合なにもしない
	if(!ctlElement.value) { return mes; }

	// 半角チェック
	if(!strValue.match(/[0-9.+-]/g)){
		if(strItemName) {
			mes =strItemName + 'は半角数字で入力して下さい。\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}

	// 数値チェック
	if(isNaN(ctlElement.value)) {

		if(strItemName) {
			mes = strItemName + 'に数値以外の値が入力されています。数値を入力して下さい。\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}

	// 入力可能値であるかどうかをチェック
	if(parseInt(ctlElement.value) < parseInt(intMin) || parseInt(ctlElement.value) > parseInt(intMax)) {

		if(strItemName) {
			mes = strItemName + 'に範囲外の数値が入力されています。範囲(' + intMin + '〜' + intMax + ')\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}

	return mes;
}

// -----------------------------------------------------------------------------
// 文字列入力チェック
// -----------------------------------------------------------------------------

// 入力可能桁数であるかどうかをチェックする
function Check_IsLength(ctlElement, intMin, intMax, strItemName) {

	mes = '';
	// 未入力の場合なにもしない
	if(!ctlElement.value) { return mes; }
	if(intMax == 0 && intMax == 0) { return mes; }
	// 入力可能桁数チェック
	var nChar = Check_StrLen(ctlElement.value);
	if(parseInt(nChar) < parseInt(intMin) || parseInt(nChar) > parseInt(intMax)) {

		kintMin = Math.ceil(intMin / 2);
		kintMax = Math.ceil(intMax / 2);
		if(strItemName) {
			mes = strItemName + 'に範囲外の文字数が入力されています。' + intMin + '文字以上 ' + intMax + '文字以下で入力してください。\n';
			mes = mes + '（漢字' + kintMin + '文字以上 ' + kintMax + '文字以下で入力してください。）\n';
//			mes = strItemName + 'に範囲外の桁数で入力されています。範囲内の桁数で入力して下さい。\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}

	return mes;
}

// -----------------------------------------------------------------------------
// メールアドレス入力チェック
// -----------------------------------------------------------------------------

// メールアドレスであるかどうかをチェックする
function Check_IsMailaddress(ctlElement, strItemName) {

	var strValue = ctlElement.value;

	mes = '';
	// 未入力の場合なにもしない
	if(!ctlElement.value) { return mes; }

	// チェック
	if(!strValue.match(/[0-9A-Za-z_\x2D.]+@[0-9A-Za-z_\x2D.]+\.[0-9A-Za-z_\x2D]+/)){

		if(strItemName) {
			mes = strItemName + 'を正しく入力して下さい。\n';
			Check_SetFocus(ctlElement);
		}
		return mes;
	}
	return mes;
}

// -----------------------------------------------------------------------------
// 内部メソッド
// -----------------------------------------------------------------------------

// フォーカスを移動する（同時に入力フィールド内の文字列を選択状態）
function Check_SetFocus(ctlElement)
{

	// 入力フィールド内の文字列を選択状態
	if(ctlElement.type == 'text') {
		ctlElement.select();
	}

	// フォーカス移動
	if(ctlElement.type != 'hidden') {
		ctlElement.focus();
	}
}

// 文字列の長さのチェックを行う
function Check_StrLen(strValue)
{
    var icnt;
    var intSize = 0;

    for(icnt = 0; icnt < strValue.length; icnt++) {
        var strChar = strValue.charCodeAt(icnt);
        if(strChar >= 128){
            intSize++;
        }
        intSize++;
    }
    return intSize;
}

//チェックボックスを全てチェック
function setCheckboxes(the_form, elts)
{
	if (elts == undefined) {
		elts	 = (typeof(document.forms[the_form].elements['selected_db[]']) != 'undefined')
				  ? document.forms[the_form].elements['selected_db[]']
				  : (typeof(document.forms[the_form].elements['selected_tbl[]']) != 'undefined')
		 ? document.forms[the_form].elements['selected_tbl[]']
		 : document.forms[the_form].elements['selected_fld[]'];
	}else if(typeof(elts) == 'string'){
		elts	= document.forms[the_form].elements[elts];
	}
	var elts_cnt  = (typeof(elts.length) != 'undefined')
				  ? elts.length
				  : 0;
				  
	var allon = true;
	if (elts_cnt) {
		for (var i = 0; i < elts_cnt; i++) {
			if (elts[i].checked == false) {
				allon = false;
			}
		} // end for
		if (allon) {
			 for (var i = 0; i < elts_cnt; i++) {
				 elts[i].checked = false;
			 }
		} else {
			 for (var i = 0; i < elts_cnt; i++) {
				 elts[i].checked = true;
			 }
		}
	} else {
			if (elts.checked) {
			elts.checked		= false;
			} else {
			elts.checked		= true;
			}
	} // end if... else

	return true;
}

//チェックボックスが選択されているか?
function checkCheckboxes(the_form, elts)
{
	if (elts == undefined) {
		elts	  = (typeof(document.forms[the_form].elements['selected_db[]']) != 'undefined')
				  ? document.forms[the_form].elements['selected_db[]']
				  : (typeof(document.forms[the_form].elements['selected_tbl[]']) != 'undefined')
			  ? document.forms[the_form].elements['selected_tbl[]']
			  : document.forms[the_form].elements['selected_fld[]'];
	}else if(typeof(elts) == 'string'){
		elts	= document.forms[the_form].elements[elts];
	}
	var elts_cnt  = (typeof(elts.length) != 'undefined')
				  ? elts.length
				  : 0;
				  
	var alloff = true;

	if (elts_cnt) {
		for (var i = 0; i < elts_cnt; i++) {
			if (elts[i].checked == true) {
				alloff = false;
			}
		}
	} else {
			if (elts.checked == false) {
			alloff = true;
			} else {
			alloff = false;
			}
	}
		if (alloff == true) {
		alert("チェックボックスが選択されていません。");
		return false;
		} else {
		return true;
	}
}
function setimg(tgt, name) {
	document.images[tgt].src = name;

}

function matujitsu_yy(intYY,name) {
var end 		= new Array();
var intMM = document.all(name+"_mm").value;

	end[1] = 31;
	end[3] = 31;
	end[4] = 30;
	end[5] = 31;
	end[6] = 30;
	end[7] = 31;
	end[8] = 31;
	end[9] = 30;
	end[10] = 31;
	end[11] = 30;
	end[12] = 31;
	if (((intYY % 4) == 0 && (intYY % 100) != 0) || ((intYY % 400) == 0)) {
		end[2] = 29;
	} else {
		end[2] = 28;
	}
	var frmForm = document.form_detail;
	ctlElement = document.forms['form_detail'].elements[name+"_dd"];
	var intDD = ctlElement.value;
	ctlElement.length = 0;
	ctlElement[0] = new Option(1, 1);
	intItemNo = 1;
	for (var i = 2; i <= end[intMM]; i++) {
		if (intDD == i) {
			ctlElement[intItemNo] = new Option(i, i,1,intDD);
		} else {
			ctlElement[intItemNo] = new Option(i, i);
		}
		intItemNo++;
	}
}

function matujitsu_mm(value,name) {
var end 		= new Array();
var intYY = document.all(name+"_yy").value;

	end[1] = 31;
	end[3] = 31;
	end[4] = 30;
	end[5] = 31;
	end[6] = 30;
	end[7] = 31;
	end[8] = 31;
	end[9] = 30;
	end[10] = 31;
	end[11] = 30;
	end[12] = 31;
	if (((intYY % 4) == 0 && (intYY % 100) != 0) || ((intYY % 400) == 0)) {
		end[2] = 29;
	} else {
		end[2] = 28;
	}
	var frmForm = document.form_detail;
	ctlElement = document.forms['form_detail'].elements[name+"_dd"];
	var intDD = ctlElement.value;
	ctlElement.length = 0;
	ctlElement[0] = new Option(1, 1);
	intItemNo = 1;
	for (var i = 2; i <= end[value]; i++) {
		if (intDD == i) {
			ctlElement[intItemNo] = new Option(i, i,1,intDD);
		} else {
			ctlElement[intItemNo] = new Option(i, i);
		}
		intItemNo++;
	}
}
