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

	// 処理分岐

	switch (strAction) {

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

		return true;
	case 'page':
		frmForm.form_detail.action = strLink;
		frmForm.form_detail.act.value = '';
		frmForm.form_detail.submit();

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

		return true;	
	// -------------------------------------
	// 入力チェック後画面遷移
	// -------------------------------------
	case 'check':

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

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

		return true;
	}
}

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

// -----------------------------------------------------------------------------
// 入力チェック
// -----------------------------------------------------------------------------
function Input_Check(frmForm) {
	var err_msg = "";
	if (!!frmForm.form_detail.CheckInput) {
		checkdt = frmForm.form_detail.CheckInput.value.split("/");
		for (i = 0; i < checkdt.length; i++) {
			spldt = checkdt[i].split("|");
			switch(spldt[0]) {
			case 'mail':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsMailaddress(frmForm.getElementById(spldt[4]),spldt[1]);
				}
				break;
			case 'text':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsLength(frmForm.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
				}
				break;
			case 'num':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsNumber(frmForm.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
				}
				break;
			}
			if (err_msg != '') {
				break;
			}
		}
	} else {
		for (i = 0; i < frmForm.form_detail.CheckInput.length; i++) {
			spldt = frmForm.form_detail.CheckInput[i].split("|");
			switch(spldt[0]) {
			case 'mail':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsMailaddress(frmForm.getElementById(spldt[4]),spldt[1]);
				}
				break;
			case 'text':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsLength(frmForm.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
				}
				break;
			case 'num':
				err_msg = Check_IsInput(frmForm.getElementById(spldt[4]),spldt[1]);
				if (err_msg == '') {
					err_msg = Check_IsNumber(frmForm.getElementById(spldt[4]),spldt[2],spldt[3],spldt[1]);
				}
				break;
			}
			if (err_msg != '') {
				break;
			}
		}
	}
	if (err_msg == '') {
		return true;
	} else {
		alert(err_msg);
		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 = '';
	// チェック
	if(!ctlElement.value) {

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

	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)) {

		if(strItemName) {
			mes = strItemName + 'に範囲外の文字数が入力されています。' + intMin + '文字以上 ' + intMax + '文字以下で入力してください。\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.getElementById(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.getElementById(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++;
	}
}

