//文字数取得関数
function getLength(moji)
{
	var i_cnt,cnt = 0;
	for(i_cnt=0; i_cnt<moji.length; i_cnt++) if (escape(moji.charAt(i_cnt)).length >= 4 ) cnt+=2; else cnt++;
		return cnt;
	}
/*
  関数	：文字数チェック関数
  引数	：オブジェクト,名称,文字数,ケース(1：!=半角,2：>半角,3：!=全角,4：>全角,5：<半角,6：<全角,）
		  全角の場合は、全角n文字、半角n文字をアラートで知らせる
  戻り値：T(チェックOK),F(NO)
*/
function CheckLength(mobj,mname,mlen,mcase){
	var mobj_value;
	mobj_value = trim(mobj.value);
	switch(mcase){
		case "1":
			if (getLength(mobj_value) != mlen){
				alert("\n" + mname + "は、半角"+mlen+"桁固定で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
		case "2":
			if (getLength(mobj_value) > mlen){
				alert("\n" + mname + "は、半角"+mlen+"桁以下で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
		case "3":
			if (getLength(mobj_value) != mlen){
				alert("\n" + mname + "は、全角"+mlen/2+"桁(半角"+mlen+"桁)固定で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
		case "4":
			if (getLength(mobj_value) > mlen){
				alert("\n" + mname + "は、全角"+mlen/2+"桁(半角"+mlen+"桁)以下で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
		case "5":
			if (getLength(mobj_value) < mlen){
				alert("\n" + mname + "は、半角"+mlen+"桁以上で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
		case "6":
			if (getLength(mobj_value) < mlen){
				alert("\n" + mname + "は、全角"+mlen/2+"桁(半角"+mlen+"桁)以上で入力して下さい。");
				mobj.focus();
				return "F";
			}
			break;
	}
}
//検索時チェック関数
function ValueCheck(obj,objname)
{
	if (obj.indexOf("'",0) != "-1"){
//		alert("\n" + objname + "に半角のシングルクォーテーションが含まれています。\n入力する際は全角のシングルクォーテーションで入力して下さい。");
//		alert("\n" + objname + "に半角のシングルクォーテーションは入力できません。");
		alert("\n" + objname + "にご利用できない文字が含まれています。");
		return "F";
	}
	if (obj.indexOf("\"",0) != "-1"){
//		alert("\n" + objname + "に半角のダブルクォーテーションは入力できません。");
		alert("\n" + objname + "にご利用できない文字が含まれています。");
		return "F";
	}
//	if (obj.indexOf(",",0) != "-1"){
//		alert("\n半角カンマ( , )での入力はできません。");
//		return "F";
//	}
	if (obj.indexOf("<",0) != "-1" || obj.indexOf(">",0) != "-1" ){
//		alert("\n記号( > )、記号( < )での入力はできません。");
		alert("\n" + objname + "にご利用できない文字が含まれています。");
		return "F";
	}
}
//検索時チェック関数（" チェック）
function ValueCheck1(obj,objname)
{
	if (obj.indexOf("\"",0) != "-1"){
		alert("\n" + objname + "に半角のダブルクォーテーションは入力できません。");
		return "F";
	}
	if (obj.indexOf("<",0) != "-1" || obj.indexOf(">",0) != "-1" ){
		alert("\n記号( > )、記号( < )での入力はできません。");
		return "F";
	}
}
//検索時チェック関数（半角チェックなし）
function ValueCheck2(obj,objname)
{
	if (obj.indexOf("<",0) != "-1" || obj.indexOf(">",0) != "-1" ){
		alert("\n記号( > )、記号( < )での入力はできません。");
		return "F";
	}
}
//文字列置換("'"→"''")
function ReplaceAll(obj,str,exp)
{
	obj = obj.split(str);
	obj = obj.join(exp);
	return obj;
}
//数値チェック関数
//( T：OK F：NG )
function NumCheck(formname,inputname){
	var objfrm = document.forms[formname].elements[inputname];
	if(isNaN(objfrm.value)){
		return "F";
	}else{
		return "T";
	}
}
function NumCheck2(FormValue,Min,Max){
	//T:最小値以上最大値以下の数値
	//F:最小値以下または最大値以上の数値あるいは数値以外
	//FormValue: チェックするデータ（空のときはT）
	//Min: 最小値
	//Max: 最大値
	var flg = "T";
	if(isNaN(FormValue)){
		flg = "F";
	}else{
		if(eval(FormValue - Min) < 0){
			flg = "F";
		}
		if(eval(FormValue - Max) > 0){
			flg = "F";
		}
	}
	if(FormValue == ""){
		flg = "T";
	}
	return flg;
}
function NumCheck_bk(formname,inputname){
	var objfrm = document.forms[formname].elements[inputname];
	if(isNaN(objfrm.value)){
		return "F";
	}else{
		return "T";
	}
}
function numeric_check(p_val)
{
        var parm1 = p_val;
        for(i_val=0; i_val<parm1.length; i_val++){
	        if (parm1.substring(i_val, i_val+1)<"0" || parm1.substring(i_val, i_val+1)>"9")
		{
        	        return false;
                }
        }
        return true;
}
//半角英数字チェック（T:半角英数字のみ F:半角英数字以外を含む）
function KanaCheck(val){
	var flug = "T";
	var str = trim(val);
	if (str.match(/[^0-9a-zA-Z]/g)) {
		flug = "F"
	}else{
		flug = "T";
	}
	return flug;
}
//メールアドレス用：半角英数字&記号(#._-)チェック（T:半角英数字のみ F:半角英数字以外を含む）
function KanaCheck2(val){
	var flug = "T";
	var str = trim(val);
	if (str.match(/[^0-9a-zA-Z\#\.\_\-\@]/g)) {
		flug = "F"
	}else{
		flug = "T";
	}
	if (str.indexOf("@")!=str.lastIndexOf("@")){
		flug = "F";
	}
	if (!(str.match(/.+\@.+\..+/))) {
		flug = "F";
	}
	return flug;
}


//空白削除
function trim(strTemp)
{
	var strRet, strFinal;
		//LTRIM
		strRet = Ltrim(strTemp);
		//RTRIM
		strFinal = Rtrim(strRet);
	return strFinal;
}
function Rtrim(strTemp)
{
	var nLoop = 0;
	var strReturn = strTemp;
	while (nLoop < strTemp.length)
	{
		if ((strReturn.substring(strReturn.length - 1, strReturn.length) == " ") || (strReturn.substring(strReturn.length - 1, strReturn.length) == "　"))
		{
			strReturn = strTemp.substring(0, strTemp.length - (nLoop + 1));
		}
		else
		{
			break;
		}
		nLoop++;
	}
	return strReturn;
}
function Ltrim(strTemp)
{
	var nLoop = 0;
	var strReturn = strTemp;
	while (nLoop < strTemp.length)
	{
		if ((strReturn.substring(0, 1) == " ") || (strReturn.substring(0, 1) == "　"))
		{
			strReturn = strTemp.substring(nLoop + 1, strTemp.length);
		}
		else
		{
			break;
		}
		nLoop++;
	}
	return strReturn;
}
//--ウインドウ有無確認関数
function win_closed(winVar) {
	var ua = navigator.userAgent
	if( !!winVar )
		if( ( ua.indexOf('Gecko')!=-1 || ua.indexOf('MSIE 4')!=-1 )
               && ua.indexOf('Win')!=-1 ) 
               return winVar.closed
		else return typeof winVar.document  != 'object'
	else return true
    }
//日付チェック（8桁）
// ====== 	Function:	check date
//		Parm:		p_val		Check value (YYYYMMDD)
//		Return value:	valid date--> True,  invalid date --> False
//
function checkDate(p_val,coment_string){
	var v_yyyy;
	var v_mm;
	var v_dd;
	v_yyyy = parseInt(p_val.substring(0, 4),10);
	if (v_yyyy < 1900){
		alert("\n" + coment_string + "の年が正しくありません！");
		return "F";}		// invalid Year
	v_mm = parseInt(p_val.substring(4, 6),10);
	v_dd = parseInt(p_val.substring(6, 8),10);
	if ((v_mm < 1) || (v_mm > 12)){
		alert("\n" + coment_string + "の月が正しくありません！");
		return "F";}		// invalid month
	if ((v_mm == 1) || (v_mm == 3) || (v_mm == 5) || (v_mm == 7) || (v_mm == 8) || (v_mm == 10) || (v_mm == 12)){
		if ((v_dd < 1) || (v_dd > 31)){
		alert("\n" + coment_string + "の日が正しくありません！");
		return "F";}	// invalid date
	} else {
		if ((v_dd < 1) || (v_dd > 30)){
		alert("\n" + coment_string + "の日が正しくありません！");
		return "F";}	// invalid date
	}
	if (v_mm == 2){						// check leap year
		if ((v_yyyy % 400 == 0) || ((v_yyyy % 4 == 0) && (v_yyyy % 100 != 0))){
			if (v_dd > 29){
			alert("\n" + coment_string + "の日が正しくありません！");
			return "F";}		// invalid date, leap year
		} else {
			if (v_dd > 28){
			alert("\n" + coment_string + "の日が正しくありません！");
			return "F";}		// invalid date, not leap year
		}
	}	
	return "T";
}
//メールアドレス 形式チェック ( T：OK F：NG )
function EmailCheck(formname,inputname){
	var objfrm = document.forms[formname].elements[inputname];
//	var objfrm = document.formname.inputname;
	var str = objfrm.value;
	var flug = "F";
	if (str.match(/.+\@.+\..+/)) {
		flug = "T";
	}else{
		if(str == ""){
			flug = "T";
		}
	}
	return flug;
}
//ラジオボタンチェック
function RadioCheck(formName,rdoName) {
    var i;
    var objfrm = document.forms[formName].elements[rdoName];
    var flg = "F";
    if (objfrm.length) {
        for (i = 0; i < objfrm.length; i++) {
            if (objfrm[i].checked) {
		flg = "T";
            }
        }
    } else {
        if (objfrm.checked) {
		flg = "T";
        }
    }
	return flg;
}
//ウィンドウサイズ調整
function fncWinReize(){
	if (navigator.appName == 'Netscape') {
	 resizeTo(800,600)
	}
	else
	if (navigator.appName == 'Microsoft Internet Explorer') {
	 resizeTo(800,600)
	}
	else {
	  resizeTo(800,600)
	}
}
//半角カナ→全角カナ変換
//すべてのsearchStrをreplaceStrに置き換える
function replaceString_all(mainStr,searchStr,replaceStr){
	var bufStr=""
	var startIndex=0
	var foundIndex=0
	while((foundIndex=mainStr.indexOf(searchStr,startIndex))>-1){
		bufStr+=mainStr.substring(startIndex,foundIndex)+replaceStr
		startIndex=foundIndex+searchStr.length
	}
	bufStr+=mainStr.substring(startIndex,mainStr.length)
	return bufStr
}

//全角カナを半角カナに置換
function replaceKana(mainStr){
	var tmpStr=mainStr

	var kana="｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟ"
	var kanaUnit=("ｱ").length  //内部コードがEUCの場合、半角カタカナは2バイト
	var KANA="。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソ\タチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛°"
	var KANAUnit=("ア").length

	var kanaChr=""
	var KANAChr=""
	for(var i=0;i<kana.length;i++){
		kanaChr=kana.substring(i*kanaUnit,i+kanaUnit)
		KANAChr=KANA.substring(i*KANAUnit,i+KANAUnit)
		//tmpStr=replaceString_all(tmpStr,kanaChr,KANAChr)
		tmpStr=replaceString_all(tmpStr,KANAChr,kanaChr)
	}
	return tmpStr
}

//半角カナを全角カナに置換
function replaceKana2(mainStr){
	var tmpStr=mainStr

	var kana="｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟ"
	var kanaUnit=("ｱ").length  //内部コードがEUCの場合、半角カタカナは2バイト
	var KANA="。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソ\タチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛°"
	var KANAUnit=("ア").length

	var kanaChr=""
	var KANAChr=""
	for(var i=0;i<kana.length;i++){
		kanaChr=kana.substring(i*kanaUnit,i+kanaUnit)
		KANAChr=KANA.substring(i*KANAUnit,i+KANAUnit)
		tmpStr=replaceString_all(tmpStr,kanaChr,KANAChr)
		//tmpStr=replaceString_all(tmpStr,KANAChr,kanaChr)
	}
	return tmpStr
}



