/****************************************************************************
*
*	共通JavaScript関数(入力文字チェック)
*
*****************************************************************************/
<!--
	/*******************************************************************
	*
	* スペース(半角スペース、全角スペース、タブ)のみの入力かチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkSpace(obj){
		var str = obj.value;
		var i;
		
		if(str == "" || str == null || str == "	"){
			return "必須入力です。";
		}
	            
		for(i = 0; i < str.length; i++){
			if(str.substr(i,1) != " " && str.substr(i,1) != "　" && str.substr(i,1) != "	"){
				return "";
			}
		}
		return "必須入力です。";
	}


	/*******************************************************************
	*
	* 文字数をチェックする
	*
	* @param	オブジェクト
	* @param	チェック文字数
	* @param	基準バイト数(全角文字を何バイトとしてカウントするか)
	* @param	mode:半角のみチェック→0、全角もチェック→1
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkStrLen(obj, num, bt, mode){
		var len;
		var msg = "";
		amari = new Number(0);
		shou = new Number(0);
		var ret;

		len = getLength(obj.value, bt, mode);
		if(len > num){
			if(mode == 1){
				amari = num % bt;
				shou = (num - amari) / bt;
				msg += "全角最大" + shou + "文字以内で記入してください。\n";

			}else{
				msg += "半角" + num + "文字以内で記入してください。\n";
			}
		}
	            
		return msg;
	}


	/*******************************************************************
	*
	* 文字列のバイト数を返す
	* (IEは半角カタカナが2バイトになるので、FF71からFF9Fまでは1バイトとしてカウントする)
	*
	* @param	文字列
	* @param	基準バイト数(全角文字を何バイトとしてカウントするか)
	* @param	mode:半角のみチェック→0、全角もチェック→1
	* @retrun	バイト数
	*
	********************************************************************/
	function getLength(str, bt, mode){
		var i,cnt = 0;
		var temp;
		var first;
		var second;
		var head;
		var ret1;
		var ret2;
                
		for(i = 0; i < str.length; i++){
			if(mode == 1){
				temp = escape(str.charAt(i));
				if(temp.length >= 4){
					head = temp.substr(temp.length-4,2);
					first = temp.substr(temp.length-2,1);
					second = temp.substr(temp.length-1,1);
					ret1 = first.match(/[7-9]/gi);
					ret2 = second.match(/[1-9A-F]/gi);
					if(head == "FF" && ret1 != null && ret2 != null){
						cnt++;
					}else{
						cnt += bt;
					}
				}else{
					cnt++
				}
			}else{
				cnt++;
			}
		}
		return cnt;
	}
        
        
	/*******************************************************************
	*
	* 数値かどうかチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkNumber(obj){
		var txt = obj.value;

		var data = txt.match(/[^0-9]/g);
		if (data) {
			return "半角数字で入力してください。";
		}

		return "";
	}


	/*******************************************************************
	*
	* 電話番号の形式をチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkPhoneNumber(obj){
		var txt = obj.value;

		// 普通の電話番号形式
		var data1 = txt.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
		var data2 = txt.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
		// 携帯の電話番号形式
		var data3 = txt.match(/^\d{3}-\d{4}-\d{4}$|^\d{11}$/);

		if(!data1 && !data2 && !data3){
			return "電話番号の形式が正しくありません。";
		}

		return "";
	}


	/*******************************************************************
	*
	* FAX番号の形式をチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkFaxNumber(obj){
		var txt = obj.value;

		// FAX番号形式
		var data1 = txt.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
		var data2 = txt.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);

		if(!data1 && !data2){
			return "FAX番号の形式が正しくありません。";
		}

		return "";
	}


	/*******************************************************************
	*
	* メールアドレスの形式をチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkMailAddress(obj){
		var txt = obj.value;

		data = txt.match(/^\S+@\S+\.\S+$/);
		if (!data){
			return "メールアドレスの形式が正しくありません";
		}

		return "";
	}


	/*******************************************************************
	*
	* 有効文字かどうかチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkErrorChar(obj){

		// 機種依存文字
		var strKishu = "";

		strKishu += "@ABCDEFGH";
		strKishu += "IJKLMNOPQR";
		strKishu += "STUVWXYZ[\";
		strKishu += "]_`abcdef";
		strKishu += "ghijklmnop";
		strKishu += "qrstu";
		strKishu += "~∞ｇョх";
		strKishu += "援括窮欠合紫";
		strKishu += "≒≡∫島煤縺ﾛ∠";
		strKishu += "∵∩∪";
		strKishu += "\]^_`abcd";
		strKishu += "efghijklmn";
		strKishu += "opqrstuvwx";
		strKishu += "yz{|}~";
		strKishu += "淫戒期釧厚";
		strKishu += "囚嘱穿凧諦日琵放愈";
		strKishu += "傅哄奧廈戌曉檄滯｡";
		strKishu += "｢｣､･ｦｧｨｩｪｫ";
		strKishu += "ｬｭｮｯｰｱｲｳｴｵ";
		strKishu += "ｶｷｸｹｺ";
		strKishu += "ｻｼｽｾｿﾀﾁﾂﾃ";
		strKishu += "ﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍ";
		strKishu += "ﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗ";
		strKishu += "ﾘﾙﾚﾛﾜﾝﾞﾟ瓏";
		strKishu += "糶脣蕣褝踰鋺顫鴾";
		strKishu += "";
		strKishu += "@AB";
		strKishu += "CDEFGHIJKL";
		strKishu += "MNOPQRSTUV";
		strKishu += "WXYZ[";
		strKishu += "\]^_`abcd";
		strKishu += "efghijklmn";
		strKishu += "opqrstuvwx";
		strKishu += "yz{|}~";
		strKishu += "胤拐棋屑口";
		strKishu += "収埴箭蛸蹄乳眉方油";
		strKishu += "傴哈奬廐戔暾檢漲｡";
		strKishu += "｢｣､･ｦｧｨｩｪｫ";
		strKishu += "ｬｭｮｯｰｱｲｳｴｵ";
		strKishu += "ｶｷｸｹｺ";
		strKishu += "ｻｼｽｾｿﾀﾁﾂﾃ";
		strKishu += "ﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍ";
		strKishu += "ﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗ";
		strKishu += "ﾘﾙﾚﾛﾜﾝﾞﾟ瓔";
		strKishu += "糺脯蕘襠踴鍄顯鵆";
		strKishu += "";
		strKishu += "@AB";
		strKishu += "CDEFGHIJK";
		strKishu += "@ABCDEFGH";
		strKishu += "I¬UVW";
		strKishu += "@ABCDEFGH";
		strKishu += "ITUVWXYZ[\";
		strKishu += "]¬UVW括ｇп踰\";
		strKishu += "]^_`abcdef";
		strKishu += "ghijklmnop";
		strKishu += "qrstuvwxyz";
		strKishu += "{|}~";
		strKishu += "淫戒期釧厚匙囚";
		strKishu += "穿凧諦日琵放愈簾傅";
		strKishu += "奧廈戌曉";
		strKishu += "滯｡｢｣､･ｦｧ";
		strKishu += "ｨｩｪｫｬｭｮｯｰｱ";
		strKishu += "ｲｳｴｵｶｷｸｹｺｻ";
		strKishu += "ｼｽｾｿﾀﾁﾂﾃﾄﾅ";
		strKishu += "ﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏ";
		strKishu += "ﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙ";
		strKishu += "ﾚﾛﾜﾝﾞﾟ瓏磅糶";
		strKishu += "蕣褝踰鋺顫鴾";
		strKishu += "";
		strKishu += "";
		strKishu += "@ABCDEFGH";
		strKishu += "IJKLMNOPQR";
		strKishu += "STUVWXYZ[\";
		strKishu += "]^_`abcdef";
		strKishu += "ghijklmnop";
		strKishu += "qrstuvwxyz";
		strKishu += "{|}~";
		strKishu += "胤拐棋屑口冊収";
		strKishu += "箭蛸蹄乳眉方油練傴";
		strKishu += "奬廐戔暾";
		strKishu += "漲｡｢｣､･ｦｧ";
		strKishu += "ｨｩｪｫｬｭｮｯｰｱ";
		strKishu += "ｲｳｴｵｶｷｸｹｺｻ";
		strKishu += "ｼｽｾｿﾀﾁﾂﾃﾄﾅ";
		strKishu += "ﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏ";
		strKishu += "ﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙ";
		strKishu += "ﾚﾛﾜﾝﾞﾟ瓔磊糺";
		strKishu += "蕘襠踴鍄顯鵆";
		strKishu += "";
		strKishu += "";
		strKishu += "@ABCDEFGH";
		strKishu += "IJK";

		var i,transTarget;
		var strTarget = obj.value;
		var flag = true;
		var err_str = "";
		var temp_char = "";
		var msg = "使用できない文字が含まれています。";

		transTarget=strTarget.replace(/ /g,"");

		if(flag != false){
			for(i=0;i<transTarget.length;i++){
				temp_char = "";
				temp_char = transTarget.charAt(i);
				if(strKishu.indexOf(temp_char,0) != -1){
					flag = false;
					err_str += temp_char;
				}
			}
		}

		if(flag == false){
		// チェックに引っかかった場合
			if(document.all){
			// IEでは無効文字を表示する
				msg += ":";
				msg += err_str;
			}
			return msg;
		}

		return "";
	}


	/*******************************************************************
	*
	* 全角であるかをチェックをチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkIsZenkaku(obj) {
		var txt = obj.value;
		var c;

		for (var i = 0; i < txt.length; ++i) {
			c = txt.charCodeAt(i);
			//  半角カタカナは不許可
			if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
				return "全角で入力してください。";
			}
		}

		return "";
	}


	/*******************************************************************
	*
	* 全角カナであるかをチェックをする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkIsZenkakuKatakana(obj){
		var txt = obj.value;

		if(txt.match(/^[ァ-ヶ゛゜ー 　]+$/) != txt){
			return "全角のカタカナで入力してください。";
		}

		return "";
	}


	/*******************************************************************
	*
	* ASCIIチェックする
	*
	* @param	オブジェクト
	* @retrun	正常時：ブランク	異常時：メッセージ
	*
	********************************************************************/
	function checkIsASCII(obj){
		var txt = obj.value;
		var ch;

		for (i = 0; i < txt.length; i++) {
			ch = txt.substring(i, i + 1);
			if ((ch >= " " && ch <= "~") || ch == "\r" || ch == "\n") {
			}else{
				return "半角で入力してください。";
			}
		}

		return "";
	}

//-->