

	function addComma(val)
	{
		str = ""+val;
		cnt = 0;
		n = "";
		for (i=str.length-1; i>=0; i--){
			n = str.charAt(i) + n;
			cnt++;
			if (((cnt % 3) == 0) && (i != 0)) n = ","+n;
		}
		return n;
	}


	// フォームの入力チェック
	// id   = チェックするフォームのID
	// mode = 1:数字のみ　2:数字とカンマ　3:メールアドレス
	// len  = 入力可能な文字数

	function onKeyDownCheck(id,mode,len){

		if( mode == 1 ){

			if( !((event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46) ||
				(((48 <= event.keyCode && event.keyCode <= 57) || (96 <= event.keyCode && event.keyCode <= 105) || event.keyCode == 189 || event.keyCode == 109 || event.keyCode == 37 || event.keyCode == 39) && $F(id).length < len)) ){

				Event.stop(event);
			}
		}
		else if( mode == 2 ){
			if( !((event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46) ||
				(((48 <= event.keyCode && event.keyCode <= 57) || (96 <= event.keyCode && event.keyCode <= 105) || event.keyCode == 188 || event.keyCode == 189 || event.keyCode == 109 || event.keyCode == 37 || event.keyCode == 39) && $F(id).length < len)) ){

				Event.stop(event);
			}
		}
		else if( mode == 3 ){

			if( !((event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46) ||
				  (event.shiftKey == false && event.keyCode == 190) || 
				  (event.shiftKey == false && event.keyCode == 192) || 
				  (event.keyCode == 109) || 
				  (event.shiftKey == true && event.keyCode == 226) || 
				  (event.shiftKey == false && event.keyCode == 189) ||
				  (65 <= event.keyCode && event.keyCode <= 90) ||
				  ( event.keyCode == 37 || event.keyCode == 39) ||
				(((48 <= event.keyCode && event.keyCode <= 57) || (96 <= event.keyCode && event.keyCode <= 105) || event.keyCode == 188 ) )) ){

				Event.stop(event);
			}
		}
	}


	var cur_select = 0;

	function onSuggestionOpen(idx){

		if(suggestion_flag && (event.keyCode == 38 || event.keyCode == 40)){

			if( $("suggestionRow"+cur_select) != undefined ){
				$("suggestionRow"+cur_select).style.backgroundColor='#FFF'
			}

			if(event.keyCode == 38 && cur_select > 1){ cur_select--; }
			else if(event.keyCode == 40 && cur_select < suggestion_count ){ cur_select++; }

			if( $("suggestionRow"+cur_select) != undefined ){
				$("suggestionRow"+cur_select).style.backgroundColor='#DDE6F0'
			}
		}
		else if( suggestion_flag && event.keyCode == 13 ){		// Enterが押された場合

			if( suggestion_idx == 1 ){
				selectBank(cur_select);
			}
			else if( suggestion_idx == 2 ){
				selectBranch(cur_select);
			}
		}
		else{
			suggestion_idx = idx;

			var para = "";
			var para1 = "";
			var para2 = "";
			var url = "";
			switch(idx){
				case 1:
						if( $F("bank_name") == "" ){ break; }

						para = encodeURIComponent($F("bank_name"));
						url = "getBank.php?mode=3&bank_kana=" + para;
						new Ajax.Request(url,{method:"get",onComplete: onGetBankListName});
						break;
				case 2:
						if( $F("bank_code") == "" ){ break; }
						if( $F("branch_name") == "" ){ break; }

						para1 = encodeURIComponent($F("bank_code"));
						para2 = encodeURIComponent($F("branch_name"));
						url = "getBank.php?mode=4&bank_code="+ para1 + "&branch_kana=" + para2;
						new Ajax.Request(url,{method:"get",onComplete: onGetBranchListName});
						break;
			}
		}

	}

	function closeSuggest(){

		if( cur_select && suggestion_flag ){		// Tabが押された場合

			if( suggestion_idx == 1 ){
				selectBank(cur_select);
			}
			else if( suggestion_idx == 2 ){
				selectBranch(cur_select);
			}


			$("listBankBLK").style.display = "none";
			$("listBranchBLK").style.display = "none";

			suggestion_flag = 0;

		}

//		if( cur_select ){ return; }

//		$("listBankBLK").style.display = "none";
//		$("listBranchBLK").style.display = "none";
//		suggestion_flag = 0;
	}

	function getAddressFromZip(){

		if( $F("zip_code1") != "" && $F("zip_code1").length == 3 &&
			$F("zip_code2") != "" && $F("zip_code2").length == 4 ){

			var date = new Date();
			var time = date.getTime();

			var zip1 = encodeURIComponent($F("zip_code1"));
			var zip2 = encodeURIComponent($F("zip_code2"));
			var url = "getZip.php?t=" + time + "&zip_code=" + zip1 + zip2;

			new Ajax.Request(url,{method:"get",onComplete: onGetAddress});
		}
		else{
			alert("正しい郵便番号を入力してください。");
		}
	}

	function onGetAddress(obj){
		var result = obj.responseText;
		if( result == "" ){
			alert("住所が検索出来ませんでした。");
			return;
		}

		var data = result.split("\t");
		$("address1").value = data[0];
		$("address1_furigana").value = data[1];
	}

	function setBankName(){

		if( $F("bank_code").length == 4 ){

			var date = new Date();
			var time = date.getTime();

			$("bank_name").value = "";
			suggestion_idx = 1;
			tab_flag = 1;

			var para = encodeURIComponent($F("bank_code"));
			var url = "getBank.php?t=" + time + "&mode=1&bank_code=" + para;

			new Ajax.Request(url,{method:"get",onComplete: onGetBankListName});
		}
		else{
			$("bank_name").value = "";
		}
	}

	function onGetBankListName(obj){

		var result = obj.responseText;
		if( result == "" ){
			$("listBankBLK").style.display = "none";
			$("listBankBLK").innerHTML = "";
			return;
		}

		lineData = result.split("\r");
		suggestion_count = lineData.length;

		var str = "";
		for(var i=1;i<=suggestion_count;i++){
			colData = lineData[i-1].split("\t");

	        str += "<div class='dataRow' id='suggestionRow" + i + "' onClick=\"selectBank(" + i + ");\" onMouseOver=\"this.style.backgroundColor='#DDE6F0';cur_select=" + i + ";\" onMouseOut=\"this.style.backgroundColor='#FFF';cur_select=0;\">";
			str += "<div class='col1'>" + colData[1] + " " + colData[0] + "</div>";
			str += "</div>";
		}

		$("listBankBLK").innerHTML = str;
		$("listBankBLK").style.display = "block";
		$("suggestionRow1").style.backgroundColor='#DDE6F0'
		cur_select = 1;
		suggestion_flag = 1;
	}

	function selectBank(idx){
		colData = lineData[idx-1].split("\t");

		$("bank_name").value = colData[0];
		$("bank_code").value = colData[1];

		$("branch_name").value = "";
		$("branch_code").value = "";

		$("listBankBLK").style.display = "none";
		$("listBankBLK").innerHTML = "";

		suggestion_flag = 0;
	}

	function setBranchName(){

		if( $F("bank_code").length == 4 && $F("branch_code").length == 3 ){

			var date = new Date();
			var time = date.getTime();

			$("branch_name").value = "";
			suggestion_idx = 2;
			var para1 = encodeURIComponent($F("bank_code"));
			var para2 = encodeURIComponent($F("branch_code"));
			var url = "getBank.php?t=" + time + "&mode=2&bank_code=" + para1 + "&branch_code=" + para2;
			new Ajax.Request(url,{method:"get",onComplete: onGetBranchListName});
		}
	}

	function onGetBranchListName(obj){

		var result = obj.responseText;
		if( result == "" ){
			$("listBranchBLK").style.display = "none";
			$("listBranchBLK").innerHTML = "";
			return;
		}

		lineData = result.split("\r");
		suggestion_count = lineData.length;

		var str = "";
		for(var i=1;i<=suggestion_count;i++){
			colData = lineData[i-1].split("\t");

	        str += "<div class='dataRow' id='suggestionRow" + i + "' onClick=\"selectBranch(" + i + ");\" onMouseOver=\"this.style.backgroundColor='#DDE6F0';cur_select=" + i + ";\" onMouseOut=\"this.style.backgroundColor='#FFF';cur_select=0;\">";
			str += "<div class='col1'>" + colData[1] + " " + colData[0] + "</div>";
			str += "</div>";
		}

		$("listBranchBLK").innerHTML = str;
		$("listBranchBLK").style.display = "block";
		$("suggestionRow1").style.backgroundColor='#DDE6F0'
		cur_select = 1;
		suggestion_flag = 1;
	}

	function selectBranch(idx){
		colData = lineData[idx-1].split("\t");

		$("branch_name").value = colData[0];
		$("branch_code").value = colData[1];

		$("listBranchBLK").style.display = "none";
		$("listBranchBLK").innerHTML = "";

		suggestion_flag = 0;
	}






	function checkMailAddress(id) {
		if($F(id) && !$F(id).match(/.+@.+\..+/)) {
			alert("メールアドレスが不正です");
			$(id).value = "";
		}
	}


