/* 
 *	環境依存文字のチェック
 *		update: 2008/01/24  
 */
function CharCheck(formObj){
	var badChr = '';
	
	for(var i = 0; i < formObj.elements.length; i++) {
		if ((formObj.elements[i].tagName == "INPUT" && formObj.elements[i].type == "text") ||
			formObj.elements[i].tagName == "TEXTAREA")
		{
			/* 半角カタカナを全角カタカナへ */
			formObj.elements[i].value = hankaku2zenkaku2(formObj.elements[i].value);
			var ObjValue = formObj.elements[i].value;
			
			for (var j=0; j<ObjValue.length; j++){
				var Chr = ObjValue.charAt(j);
		  	var c = ObjValue.charCodeAt(j);
		  	if (c < 128) {
		  		// 半角英数字 - nothing to do.
		  		;
		  	} else if (65376 < c && c < 65440) {
		  		// 半角カタカナ
		  		window.alert("ERROR:半角カタカナを検出！[ "　+　Chr　+　" ]");
		  		return false;
		  	} else if (JISX0208.indexOf(Chr) == -1){
					if (badChr != '') badChr += ', ';
					badChr += Chr;
		    } 
		  }
	  }
  }
  
  if (badChr != '') {
  	window.alert("\" "　+　badChr　+　" \"は環境依存文字の為、使用できません。");
		if (typeof window.submitted != 'undefined') {
			window.submitted = false;
 		}
    return false;
  } else {
  	return true;
  }
}

/* 
 * 半角カタカナを全角カタカナへ変換
 */ 
function hankaku2zenkaku2(str){
	// 半角カナ
	var Kana1 = new Array("ｳﾞ","｡","｢","｣","､","･",
		"ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ",
		"ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ",
		"ｦ",
		"ｧ",	"ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ",	"ｺ",
		"ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ","ﾌ","ﾍ","ﾎ",
		"ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ",
		"ﾞ","ﾟ");
	// 全角カナ
	var Kana2 = new Array("ヴ","。","「","」","、","・",
		"ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ",
		"ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ",
		"ヲ",
		"ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ",
		"サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ",
		"マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン",
		"゛","゜");
		
	for(var i = 0; i < Kana1.length; i++){
		var strObj = new String(str);
		var Kana1Reg = new RegExp(Kana1[i]);
		while (strObj.match(Kana1Reg)) { 
			str = str.replace(Kana1[i], Kana2[i]);
			strObj = new String(str);
		}
	}
	
	return str;
}
