/** もくじ **/
/*
1.文字数チェック（Submit時使用）
2.機種依存文字チェック（Submit時使用）
3.文字数チェック（文字数カウントボタン用）
4.機種依存文字チェック（機種依存文字チェックボタン用）
5.ラジオボタンが選択されているかどうかをチェックする
6.各確認ﾒｯｾｰｼﾞ文言設定 
7.半角英数字項目のﾁｪｯｸを行います。
8.半角数値項目のﾁｪｯｸを行います。
9.全半角項目のﾁｪｯｸを行います。
10.郵便番号のﾁｪｯｸを行います。                  ●
11.キー押下時のイベントキャンセル用。
12.パスワードのチェックを行う。
13.禁則文字が存在する場合ｴﾗｰｱﾗｰﾄを出力する。
14.文字列中の半角,全角の空白を除去する。
15.空白を除いた値が、""の場合ｴﾗｰｱﾗｰﾄを出力する。●
16.空白を除いた値が、""の場合ｴﾗｰｱﾗｰﾄを出力する。(Hidden項目用)
17.電話番号の形式であるかチェックを行う。      ●
18.メールアドレスの形式であるかチェックを行う。●
19.メールアドレスの形式であるかチェックを行う。
20.整数かどうかﾁｪｯｸする。
21.日付の形式であるかﾁｪｯｸを行う。
22.日付の形式であるかﾁｪｯｸを行う。
23.日付の形式であるかﾁｪｯｸを行う。
24.日付の形式であるかﾁｪｯｸを行う。
25.文字列が半角かチェックする。
26.文字列が指定バイト数内かチェックする。
27.指定したバイト数であるかチェックを行う
28.文字列の長さを返す(IE＆NN＆OPERA対応関数)
29.日付（YYYY/M/D）をYYYY/MM/DD形式で出力する
30.ウィンドウを閉じる
31.フレーム下からウィンドウを閉じる
32.ラジオボタンのチェックがない場合ｴﾗｰｱﾗｰﾄを出力する。
33.文字列が半角数字かチェックする。            ●
34.文字列が半角かチェックする。
35.文字列が全半角カナかチェックする            ●
36.文字列のバイト数を返す関数
37.文字数のチェック(onKeyUp時)                 ●
*/

/**
 * 1.文字数チェック（Submit時使用）
 */
function mojiCtSubmit(elmName, name, count, isSubmit) {

	var txtElm = document.getElementsByName(elmName);
	var text = txtElm[0].value;
	
	//ENTERを削除
	text = text.replace(/[\n\r]/g,"");
	
	c = 0;
	for (p = 0; p < text.length; p++) {
		n = escape(text.charAt(p));
		if (n.length < 4) c++; else c +=1;
		//if (n.length < 4) c++; else c += 2;
	}
	
	
	if (count < c) {
		if (isSubmit == "1") {
			alert(name + "は" + count + "文字)以内で入力して下さい。");
		}
		return false;
	}
	
	return true;
}

/**
 * 2.機種依存文字チェック（Submit時使用）
 */
function NGwordSubmit(elmName, name){
	var txtElm = document.getElementsByName(elmName);
	var text = txtElm[0].value;

	if (text.replace(/[｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟ?????????????????????????≡∫??√⊥∠??∵∩∪?????????????????????????????????????????????]/g, "×") != text) {
		alert(name + "に機種依存文字が含まれています");
		return false;
	}
	
	return true;
}

/**
 * 3.文字数チェック（文字数カウントボタン用）
 */
function mojiCt(elmName, name, count) {
	mojiCtSubmit(elmName, name, count, '0');
	var outputElm = document.getElementsByName(elmName + 'x');
	outputElm[0].value = c;
	return false;
}

/**
 * 4.機種依存文字チェック（機種依存文字チェックボタン用）
 */
function NGword(elmName, name){
	if (NGwordSubmit(elmName, name)) {
		alert('OK');
	}
}

/**
 * 5.ラジオボタンが選択されているかどうかをチェックする
 * true:選択されている false:未選択
 */
function radioSelectCheck(elmName) {

	var radioElm = document.getElementsByName(elmName);

	var isSelect = false;
	for(var i = 0; i < radioElm.length; i++) {
		if(radioElm[i].checked) { 
			isSelect = true;
		}
	}
	
	return isSelect;
}


/*************************************************
 * 6.各確認ﾒｯｾｰｼﾞ文言設定 
 *************************************************
 */
// 追加時
var INFO_INSERT = "追加してもよろしいですか？";
// 更新時
var INFO_UPDATE = "更新してもよろしいですか？";
// 削除時
var INFO_DELETE = "削除してもよろしいですか？";
// 送信時
var INFO_SUBMIT = "送信してもよろしいですか？";


/**
 * 7.半角英数字項目のﾁｪｯｸを行います。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 *         hissukbn		:必須入力区分 0:必須でない　1:必須項目
 *         byte				:指定バイト数 0はチェックしない。
 * 戻　値：true        :ｴﾗｰなし
 *         false       :ｴﾗｰあり
 */
function fncCheckHankakuEisuCheck(obj,msg,hissukbn,byte){

		//必須チェック
		if(hissukbn == 1){
				if(!fncHissuCheck(obj,msg)){
						return false;
				}
		}
		
		//禁則文字チェク
//		if(!fncCheckKinsokuPrmVal(obj.value,obj,msg)){
//				return false;
//		}
		
		//半角チェック
		if(!fncHanEiSuuChk(obj,msg)){
				return false;
		}
	
		//桁数チェック
		if(byte > 0){
				if(!fncByteCheck(obj,msg,byte)){
						return false;
				}
		}
		return true;
}

/**
 * 8.半角数値項目のﾁｪｯｸを行います。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 *         hissukbn		:必須入力区分 0:必須でない　1:必須項目
 *         byte				:指定バイト数 0はチェックしない。
 * 戻　値：true        :ｴﾗｰなし
 *         false       :ｴﾗｰあり
 */
function fncCheckHankakuIntCheck(obj,msg,hissukbn,byte){

		//必須チェック
		if(hissukbn == 1){
				if(!fncHissuCheck(obj,msg)){
						return false;
				}
		}
		
//		//禁則文字チェク
//		if(!fncCheckKinsokuPrmVal(obj.value,obj,msg)){
//				return false;
//		}		
		
		//半角チェック
		if(!fncHanSuuChk(obj,msg)){
				return false;
		}
	
		//桁数チェック
		if(byte > 0){
				if(!fncByteCheck(obj,msg,byte)){
						return false;
				}
		}
		
		
		//最大数値チェック	
		var objvalue;
		objvalue = obj.value - 0;
		if(objvalue >= 2147483648){
			
            obj.focus();
            //ｴﾗｰｱﾗｰﾄ出力
            alert(msg);		
			return false;
		}
				
		return true;
}

/**
 * 9.全半角項目のﾁｪｯｸを行います。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 *         hissukbn		:必須入力区分 0:必須でない　1:必須項目
 *         byte				:指定バイト数 0はチェックしない。
 * 戻　値：true        :ｴﾗｰなし
 *         false       :ｴﾗｰあり
 */
function fncCheckZenkakuCheck(obj,msg,hissukbn,byte){

		//必須チェック
		if(hissukbn == 1){
				if(!fncHissuCheck(obj,msg)){
						return false;
				}
		}
		
//		//禁則文字チェク
//		if(!fncCheckKinsokuPrmVal(obj.value,obj,msg)){
//				return false;
//		}		
		
		//桁数チェック
		if(byte > 0){
				if(!fncByteCheck(obj,msg,byte)){
						return false;
				}
		}
		return true;
}

/**
 * 10.郵便番号のﾁｪｯｸを行います。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰなし
 *         false       :ｴﾗｰあり
 */
function fncCheckZipCodeCheck(obj,msg){
	if (obj.value == ""){
        return true;
    }
    var i,strtxt,str;
    str = obj.value;
    var checkStr = new String   ("0123456789-\(\)");
    strtxt = str.replace(/ /g,"");
    for(i=0;i<strtxt.length;i++){
        if(checkStr.indexOf(strtxt.charAt(i),0) == -1){
            obj.focus();
            //ｴﾗｰｱﾗｰﾄ出力
            alert(msg);
            return false;
        }
    }
    return true;

}







/**
 * 11.キー押下時のイベントキャンセル用。
 * 引　数：
 * 戻　値：
 */
function keyBreak(){
		if(window.event.keyCode=="13"){
				event.returnValue = false;
		}
}

/**
 * 12.パスワードのチェックを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncPassWdCheck(obj,msg){

    if(obj.value.length < 6){
        obj.focus();
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 13.禁則文字が存在する場合ｴﾗｰｱﾗｰﾄを出力する。
 * 　　　　引数にvalueを渡すﾀｲﾌﾟです。
 * 引　数：val					:検索対象文字列
 *         obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :禁則文字無し
 *         false       :禁則文字あり
 */
function fncCheckKinsokuPrmVal(val,obj,msg){
    if(val.match(/[ﾟ｡"&',<>]/)){
        obj.focus();
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 14.文字列中の半角,全角の空白を除去する。
 * 引　数：strData     :空白除去対象文字列
 * 戻　値：strData     :空白除去後文字列
 */
function fncSpaceCut(strData){
    var res_space = new RegExp('[　, ]','g');

    strData  = strData.replace(res_space,'');
    return strData;
}

/**
 * 15.空白を除いた値が、""の場合ｴﾗｰｱﾗｰﾄを出力する。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :入力済み
 *         false       :未入力
 */
function fncHissuCheck(obj,msg){
    //空白の除去
    var strData = fncSpaceCut(obj.value);
    if(strData == ''){
        obj.focus();
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 16.空白を除いた値が、""の場合ｴﾗｰｱﾗｰﾄを出力する。(Hidden項目用)
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :入力済み
 *         false       :未入力
 */
function fncHissuCheckHdn(obj,msg){
    //空白の除去
    var strData = fncSpaceCut(obj.value);
    if(strData == ''){
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}



/**
 * 17.電話番号の形式であるかチェックを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncTelFormCheck(obj,msg){
    if (obj.value == ""){
        return true;
    }
    var i,strtxt,str;
    str = obj.value;
    var checkStr = new String   ("0123456789-\(\)");
    strtxt = str.replace(/ /g,"");
    for(i=0;i<strtxt.length;i++){
        if(checkStr.indexOf(strtxt.charAt(i),0) == -1){
            obj.focus();
            //ｴﾗｰｱﾗｰﾄ出力
            alert(msg);
            return false;
        }
    }
    return true;
}

/**
 * 18.メールアドレスの形式であるかチェックを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncMailFormCheck(obj,msg){
    if (obj.value == ""){
        return true;
    }
    if(!obj.value.match(/[!#-9A-~]+@+[a-z0-9]+.+[!#-9A-~]/i)){
        obj.focus();
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 19.メールアドレスの形式であるかチェックを行う。
 * オブジェクトと値が異なる場合に使用
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         val 				:値
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncMailFormCheck2(obj,val,msg){
    if (val == ""){
        return true;
    }
    if(!val.match(/[!#-9A-~]+@+[a-z0-9]+.+[!#-9A-~]/i)){
        obj.focus();
        //ｴﾗｰｱﾗｰﾄ出力
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 20.整数かどうかﾁｪｯｸする。
 * 引　数：data        :検査対象ﾃﾞｰﾀ 
 * 戻　値：true        :整数
 *         false       :非整数
 */
function isNum(data)
{
    if (data == "") {
        return false;
    }
    else {
        if (isNaN(data) || data.indexOf(".") != -1 || data.indexOf("e") != -1 || data.indexOf("E") != -1) {
            return false;
        }
    }
    return true;
}

/**
 * 21.日付の形式であるかﾁｪｯｸを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncDateFormCheck(obj,msg) 
{
    if (obj.value == ""){
        return true;
    }
    var str = obj.value;
    
    // YYYY/M/DをYYYY/MM/DDに変換する。
	str = fncDateFormat(str);
    //日付文字列解析
    if ( str.length != 10 )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    if ( str.substring(4,5) != "/"  )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    if ( str.substring(7,8) != "/" )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    var y = str.substring(0,4);

    if (!isNum(y) || y.indexOf("+") != -1 || y.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    y = eval(y);
    var m = str.substring(5,7);

    if (!isNum(m) || m.indexOf("+") != -1 || m.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    m = eval(m);
    var d = str.substring(8,10);

    if (!isNum(d) || d.indexOf("+") != -1 || d.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    d = eval(d);
    //Dateオブジェクト生成
    var objDate = new Date(y, m-1, d);

    var yy = objDate.getFullYear();
    var mm = objDate.getMonth() +1;
    var dd = objDate.getDate();

    //入力値が日付としてが有効かチェック
    if (!((yy == y) && (mm == m) && (dd == d))){
        obj.focus();
        alert(nmsg);
        return false;
    }
    return true;
}

/**
 * 22.日付の形式であるかﾁｪｯｸを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncDateFormCheck2(obj,msg) 
{
    if (obj.value == ""){
        return true;
    }
    var str = obj.value;
    
    //日付文字列解析
    if ( str.length != 8 )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    var y = str.substring(0,4);

    if (!isNum(y) || y.indexOf("+") != -1 || y.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    y = eval(y);
    var m = str.substring(4,6);

    if (!isNum(m) || m.indexOf("+") != -1 || m.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    m = eval(m);
    var d = str.substring(6,8);

    if (!isNum(d) || d.indexOf("+") != -1 || d.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    d = eval(d);
    //Dateオブジェクト生成
    var objDate = new Date(y, m-1, d);

    var yy = objDate.getFullYear();
    var mm = objDate.getMonth() +1;
    var dd = objDate.getDate();

    //入力値が日付としてが有効かチェック
    if (!((yy == y) && (mm == m) && (dd == d))){
        obj.focus();
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 23.日付の形式であるかﾁｪｯｸを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *        	msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncTimeFormCheck(obj,msg) 
{
		
    if (obj.value == ""){
        return true;
    }
    var str = obj.value;
    
		str = str.split(':');
		str = str.join('');
		
    //時間文字列解析
    if ( !(str.length == 6) )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    //時の数値ﾁｪｯｸ
    var hh = str.substring(0,2);
    if (!isNum(hh) || hh.indexOf("+") != -1 || hh.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    hh = eval(hh);

    //分の数値ﾁｪｯｸ
    var mm = str.substring(2,4);
    if (!isNum(mm) || mm.indexOf("+") != -1 || mm.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    mm = eval(mm);

    //秒の数値ﾁｪｯｸ(秒の位がある場合)
    if (str.length == 6){
        var ss = str.substring(4,6);

        if (!isNum(ss) || ss.indexOf("+") != -1 || ss.indexOf("-") != -1)
        {
            obj.focus();
            alert(msg);
            return false;
        }
        ss = eval(ss);
    }else{
        ss = "10";
    }
    //Time オブジェクト生成
    var objDate = new Date("2004","01","01",hh, mm, ss);
    
    var sethh = objDate.getHours();
    var setmm = objDate.getMinutes();
    var setss = objDate.getSeconds();
    //入力値が時間としてが有効かチェック
    if (!((sethh == hh) && (setmm == mm) && (setss == ss))){
        obj.focus();
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 24.日付の形式であるかﾁｪｯｸを行う。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *        	msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncTimeFormCheck2(obj,msg) 
{
		
    if (obj.value == ""){
        return true;
    }
    var str = obj.value;
    
    //時間文字列解析
    if ( !(str.length == 6) )
    {
        obj.focus();
        alert(msg);
        return false;
    }

    //時の数値ﾁｪｯｸ
    var hh = str.substring(0,2);
    if (!isNum(hh) || hh.indexOf("+") != -1 || hh.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    hh = eval(hh);

    //分の数値ﾁｪｯｸ
    var mm = str.substring(2,4);
    if (!isNum(mm) || mm.indexOf("+") != -1 || mm.indexOf("-") != -1)
    {
        obj.focus();
        alert(msg);
        return false;
    }
    mm = eval(mm);

    //秒の数値ﾁｪｯｸ(秒の位がある場合)
    if (str.length == 6){
        var ss = str.substring(4,6);

        if (!isNum(ss) || ss.indexOf("+") != -1 || ss.indexOf("-") != -1)
        {
            obj.focus();
            alert(msg);
            return false;
        }
        ss = eval(ss);
    }else{
        ss = "10";
    }
    //Time オブジェクト生成
    var objDate = new Date("2004","01","01",hh, mm, ss);
    
    var sethh = objDate.getHours();
    var setmm = objDate.getMinutes();
    var setss = objDate.getSeconds();
    //入力値が時間としてが有効かチェック
    if (!((sethh == hh) && (setmm == mm) && (setss == ss))){
        obj.focus();
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 25.文字列が半角かチェックする。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncHankakuCheck(obj,msg){
    var str;
    var check=0;
    var data = obj.value;
    for(i=0;i<data.length;i++){
        str = escape(data.charAt(i));
        if(str.length==6 && str.indexOf("%uFF")!=-1 && '0x'+str.substring(2,str.length) > 0xFF66 && '0x'+str.substring(2,str.length) < 0xFFA0){
            check++;
        }   
        if(check > 0){
            obj.focus();
            alert(msg);
            return false;
        }
    }
    return true;
}

/**
 * 26.文字列が指定バイト数内かチェックする。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 *         byte        :指定バイト数
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncByteCheck(obj,msg,byte)
{

    var text = obj.value;
    var count = 0;
    
		count = getStringLength(obj.value);
    
    //ﾊﾞｲﾄ数ﾁｪｯｸ
    if ( count > byte ){
        obj.focus();
        alert(msg);
        return false;
    }
    return true;

}

/**
 * 27.指定したバイト数であるかチェックを行う
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 *         byte				:バイト数
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncJustByteCheck(obj,msg,byte){
		if (obj.value == ''){
				return true;
		}
    var text = obj.value;
    var count = 0;
    
		count = getStringLength(obj.value);
    
    //ﾊﾞｲﾄ数ﾁｪｯｸ
    if ( count != byte ){
        obj.focus();
        alert(msg);
        return false;
    }
    return true;
}

/**
 * 28.文字列の長さを返す(IE＆NN＆OPERA対応関数)
 * 引　数：value       :値
 * 戻　値：byte
 */
function getStringLength(value) {
	var strlen = 0, count = 0;
	var str_s = value;
	while ( isNaN(str_s.charCodeAt(count) ) == false ) {
		if ( str_s.charCodeAt(count) > 255 ){
			if ( str_s.charCodeAt(count) >= 0xff61 && str_s.charCodeAt(count) <= 0xff9F ){
				strlen++;
			} else {
				strlen +=2;
			}
		} else {
			strlen++;
		}
		count++;
	}
	return strlen;
}


/**
 * 29.日付（YYYY/M/D）をYYYY/MM/DD形式で出力する
 * 引　数：inDate     :入力日付（YYYY/M/D形式、YYYY/MM/DD形式）
 * 戻　値：outDate     :出力日付（YYYY/MM/DD形式）
 */
function fncDateFormat(inDate){

    // 年月日を分解する
    dateArray = inDate.split('/');
    if(dateArray.length == 3){
	    if(dateArray[1].length == 1){
	        dateArray[1] = "0" + dateArray[1];
	    }
	    if(dateArray[2].length == 1){
	        dateArray[2] = "0" + dateArray[2];
	    }
	    var outDate = dateArray[0] + "/" + dateArray[1] + "/" +dateArray[2];
	    return outDate;
    }
    return '';
}

/**
 * 30.ウィンドウを閉じる
 * 引　数：obj     : windowｵﾌﾞｼﾞｪｸﾄ
 * 戻　値：
 */
function fncWinClose(obj){
    obj.close();
}

/**
 * 31.フレーム下からウィンドウを閉じる
 * 引　数：obj     : windowｵﾌﾞｼﾞｪｸﾄ
 * 戻　値：
 */
function fncWinClose1(){
    top.window.close();
}

/**
 * 32.ラジオボタンのチェックがない場合ｴﾗｰｱﾗｰﾄを出力する。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :チェックあり
 *         false       :チェックなし
 */
function fncRadioBtnCheck(obj, msg){
	//チェック状態
	var isChecked = false;
	
	for (i = 0; i < obj.length; i++){
      if(obj[i].checked){
        isChecked = true;
        break;
      }
    }
    if (!isChecked){
      alert(msg);
      obj[0].focus();
      return false;
    }
    return true;
}

/**
 * 33.文字列が半角数字かチェックする。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncHanSuuChk(obj,msg){
	str = obj.value;

	if(str.match(/[^0-9]+/)){
		alert(msg);
		obj.focus();
    	return false;
	}
	return true;
}

/**
 * 34.文字列が半角かチェックする。
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncHanEiSuuChk(obj,msg){
	str = obj.value;
	err = 0;
	
	if(getByte(str) != 	str.length){
		alert(msg);
		obj.focus();
    	return false;
	}
	return true;
}

/**
 * 35.文字列が全半角カナかチェックする
 * 引　数：obj         :ｵﾌﾞｼﾞｪｸﾄ名 
 *         msg        	:エラーメッセージ
 * 戻　値：true        :ｴﾗｰ無し
 *         false       :ｴﾗｰ
 */
function fncKanaChk(obj,msg){
	
  if (obj.value == ""){
  	return true;
	}	
	
	if(!obj.value.match(/^[ア-ンァィゥェォャュョッｱ-ﾝｦｧｨｩｪｫｬｭｮｯﾞﾟ\-ー　 ]+$/)){
		alert(msg);
		obj.focus();
		return false;
	}	
	
	return true;
}

/**
 * 36.文字列のバイト数を返す関数
 */
function getByte(text)
{
	count = 0;
	for (i=0; i<text.length; i++)
	{
		n = escape(text.charAt(i));
		if (n.length < 4) count++; else count+=2;
	}
	return count;
}

/**
 * 37.文字数のチェック(onKeyUp時)
 */
function limitChars(target,maxlength) {
    if ( target.value.length > maxlength ) {
        alert("最大文字数は" + maxlength + "です。");
        target.value = target.value.substr(0,maxlength);
    }
    target.focus();
}

/**
 * 38.文字数の制御(textarea用)
 */
function char_count_control(obj, num) {
	if(obj.value.length > num) {
		obj.value = obj.value.slice(0, num);
		return false;
	}// end if
	return true;
}// end function

