var ent = false; // true || false

function EnterKeyChk() {
	if(event.keyCode == 13){
		if(event.srcElement.id == "wysiwyg_remarks" || event.srcElement.tagName=="TEXTAREA" || ent == true){
			return true;
		} else {
			return false;
		}
	} else {
		return true;
	}
}



function SetFocus() {
	if ( document.getElementById("wrap") ) {
	//HTML内の基準となるID
		var baseId = new Array("wrap");
		var subname = "ctrl";
		var subname2 = "long_game";
		var subname3 = "chk_bs_bt";
		var subname4 = "chk_ps_bt";
		for ( index = 0; index < baseId.length; index++ ) {
			var dom = document.getElementById(baseId[index]);
			var obj = dom.getElementsByTagName("a");
			var fobj = dom.getElementsByTagName("input");
		
			//すべてのa要素に[onfocus][onblur]の属性を追加
			for ( i = 0; i < obj.length; i++ ) {
					obj[i].onfocus = function() {
					ent = true;
				}
					obj[i].onblur = function() {
					ent = false;
				}
			}
			//特定の名前(CLASS)を持ったフォーム部品に[onfocus][onblur]の属性を追加
			for ( n = 0; n < fobj.length; n++ ) {
				if ( fobj[n].name == subname || fobj[n].name == subname2 || fobj[n].name.substring(4,13) == subname3 || fobj[n].name.substring(4,13) == subname4 ) {
					fobj[n].onfocus = function() {
						ent = true;
					}
					fobj[n].onblur = function() {
						ent = false;
					}
					//fobj[n].onsubmit = function() {
					//	this.disabled = true;
					//}
				}
			}
		}
	}
}

//正規表現関数
function reg_exp(exp,str) {
	var exp = new RegExp(exp);
	var res = str.match(exp);
	return res;
}


function get_bts(target_id,ins_id,team_id,usr_input,elem_len) {
	if ( !document.getElementById(target_id) || !document.getElementById(ins_id) ) {
		return false;
	}
	//正規表現オブジェクト生成
	var res = reg_exp(/^[0-9]+$/,usr_input);
	
	if ( !res && usr_input != "" ) {
		alert("入力された値が不正です。");
		return false;
	}
	
	//var pcs_obj = team_id + "_ps_data";
		//バッタースコア初期化
		bts1 = null;
		bts2 = null;
		bts3 = null;
		bts4 = null;
		bts5 = null;
		bts6 = null;
		bts7 = null;
		//ピッチャースコア初期化
		pcs1 = null;
		pcs2 = null;
		pcs3 = null;
		pcs4 = null;
		pcs5 = null;
		pcs6 = null;
		pcs7 = null;
		var bts = document.getElementById(target_id);
		var bts_inp = bts.getElementsByTagName("input");
		for ( index = 0; index < bts_inp.length; index++ ) {
			if ( bts_inp[index].type == "text" && bts_inp[index].className == "ime_off" ) {
				bts1 += new Number(bts_inp[index].value);
				bts2 += new Number(bts_inp[index + 1].value);
				bts3 += new Number(bts_inp[index + 2].value);
				bts4 += new Number(bts_inp[index + 3].value);
				bts5 += new Number(bts_inp[index + 4].value);
				bts6 += new Number(bts_inp[index + 5].value);
				bts7 += new Number(bts_inp[index + 6].value);
				index += 6;
				continue;
			}
		}
		var pcs = document.getElementById(ins_id);
		var pcs_inp = pcs.getElementsByTagName("input");
		//alert(elem_len);
		var inp_cnt = (elem_len / 7) - 1;
		var val_cnt = 0;
		for ( index = 0; index < pcs_inp.length; index++ ) {
			if ( pcs_inp[index].type == "text" && pcs_inp[index].className == "ime_off" ) {
				if ( inp_cnt == val_cnt ) {
					break;
				}
				pcs1 += new Number(pcs_inp[index].value);
				pcs2 += new Number(pcs_inp[index + 1].value);
				pcs3 += new Number(pcs_inp[index + 2].value);
				pcs4 += new Number(pcs_inp[index + 3].value);
				pcs5 += new Number(pcs_inp[index + 4].value);
				pcs6 += new Number(pcs_inp[index + 5].value);
				pcs7 += new Number(pcs_inp[index + 6].value);
				index += 6;
				val_cnt++;
				continue;
			}
		}
		//各値の累積を算出
		//var tmp_bts1 = new Number(document.forms.elements[tmp_data1].value);
		//var tmp_bts2 = new Number(document.forms.elements[tmp_data2].value);
		//var tmp_bts3 = new Number(document.forms.elements[tmp_data3].value);
		//var tmp_bts4 = new Number(document.forms.elements[tmp_data4].value);

		//各値の代入先オブジェクト名取得
		var elem = team_id + "_ps" + inp_cnt +"[]"; //document.forms.elements[pcs_obj].value;
		
		//ヒット、四死登録用
		var elem2 = target_id.substr(0,3) + "_he_cnt[]";
		//alert(elem + "=" + inp_cnt);
		
		//累計から現在の投手の成績を算出
		if ( inp_cnt == 0 ) {
			tmp_pcs1 = bts1 //+ tmp_total1;
			tmp_pcs2 = bts3 //+ tmp_total2;
			tmp_pcs3 = bts5 //+ tmp_total3;
			tmp_pcs4 = bts7 //+ tmp_total4;
		} else {
			//alert(bts1 + "=" + pcs2);
			tmp_pcs1 = bts1 - pcs3;
			tmp_pcs2 = bts3 - pcs4;
			tmp_pcs3 = bts5 - pcs5;
			tmp_pcs4 = bts7 - pcs6;
		}

		
		//代入先のオブジェクトのそれぞれの入力フォームに値を代入
		document.forms.elements[elem][3].value = tmp_pcs1;
		document.forms.elements[elem][4].value = tmp_pcs2;
		document.forms.elements[elem][5].value = tmp_pcs3;
		document.forms.elements[elem][6].value = tmp_pcs4;
		
		//
		document.forms.elements[elem2][0].value = bts3;
		document.forms.elements[elem2][2].value = bts5;
}

function get_pts(target_id,ins_id,team_id,usr_input,elem_len) {
	if ( !document.getElementById(target_id) || !document.getElementById(ins_id) ) {
		return false;
	}
	//正規表現オブジェクト生成
	var res = reg_exp(/^[0-9]+$/,usr_input);
	
	if ( !res && usr_input != "" ) {
		alert("入力された値が不正です。");
		return false;
	}
	
	//var pcs_obj = team_id + "_ps_data";
		//バッタースコア初期化
		bts1 = null;
		bts2 = null;
		bts3 = null;
		bts4 = null;
		bts5 = null;
		bts6 = null;
		bts7 = null;
		//ピッチャースコア初期化
		pcs1 = null;
		pcs2 = null;
		pcs3 = null;
		pcs4 = null;
		pcs5 = null;
		pcs6 = null;
		pcs7 = null;
		var pcs1t = null;
		var pcs2t = null;
		var pcs3t = null;
		var pcs4t = null;
		var pcs5t = null;
		var pcs6t = null;
		var pcs7t = null;

		var bts = document.getElementById(target_id);
		var bts_inp = bts.getElementsByTagName("input");
		for ( index = 0; index < bts_inp.length; index++ ) {
			if ( bts_inp[index].type == "text" && bts_inp[index].className == "ime_off" ) {
				bts1 += new Number(bts_inp[index].value);
				bts2 += new Number(bts_inp[index + 1].value);
				bts3 += new Number(bts_inp[index + 2].value);
				bts4 += new Number(bts_inp[index + 3].value);
				bts5 += new Number(bts_inp[index + 4].value);
				bts6 += new Number(bts_inp[index + 5].value);
				bts7 += new Number(bts_inp[index + 6].value);
				index += 6;
				continue;
			}
		}
		var pcs = document.getElementById(ins_id);
		var pcs_inp = pcs.getElementsByTagName("input");
		//alert(elem_len);
		var inp_cnt = (elem_len / 7);
		//alert(inp_cnt);
		var val_cnt = 1;
		for ( index = 0; index < pcs_inp.length; index++ ) {
			if ( pcs_inp[index].type == "text" && pcs_inp[index].className == "ime_off" ) {
				if ( inp_cnt >= 2 && inp_cnt == val_cnt ) {
					pcs1 = new Number(pcs_inp[index].value);
					pcs2 = new Number(pcs_inp[index + 1].value);
					pcs3 = new Number(pcs_inp[index + 2].value);
					pcs4 = new Number(pcs_inp[index + 3].value);
					pcs5 = new Number(pcs_inp[index + 4].value);
					pcs6 = new Number(pcs_inp[index + 5].value);
					pcs7 = new Number(pcs_inp[index + 6].value);
					//alert(pcs3);
				}
				if ( inp_cnt >= 3 && ( inp_cnt - 1 ) == val_cnt ) {
					var prev_pcs1 = new Number(pcs_inp[index].value);
					var prev_pcs2 = new Number(pcs_inp[index + 1].value);
					var prev_pcs3 = new Number(pcs_inp[index + 2].value);
					var prev_pcs4 = new Number(pcs_inp[index + 3].value);
					var prev_pcs5 = new Number(pcs_inp[index + 4].value);
					var prev_pcs6 = new Number(pcs_inp[index + 5].value);
					var prev_pcs7 = new Number(pcs_inp[index + 6].value);
					//alert(pcs3);
				}
				pcs1t += new Number(pcs_inp[index].value);
				pcs2t += new Number(pcs_inp[index + 1].value);
				pcs3t += new Number(pcs_inp[index + 2].value);
				pcs4t += new Number(pcs_inp[index + 3].value);
				pcs5t += new Number(pcs_inp[index + 4].value);
				pcs6t += new Number(pcs_inp[index + 5].value);
				pcs7t += new Number(pcs_inp[index + 6].value);
				index += 6;
				val_cnt++;
				continue;
			}
		}
		//各値の累積を算出
		//var tmp_bts1 = new Number(document.forms.elements[tmp_data1].value);
		//var tmp_bts2 = new Number(document.forms.elements[tmp_data2].value);
		//var tmp_bts3 = new Number(document.forms.elements[tmp_data3].value);
		//var tmp_bts4 = new Number(document.forms.elements[tmp_data4].value);

		//各値の代入先オブジェクト名取得
		var elem1 = team_id + "_ps" + (inp_cnt-2) +"[]"; //document.forms.elements[pcs_obj].value;
		var elem3 = team_id + "_ps" + (inp_cnt-1) +"[]"; //document.forms.elements[pcs_obj].value;
		
		//ヒット、四死登録用
		var elem2 = target_id.substr(0,3) + "_he_cnt[]";
		//alert(elem + "=" + inp_cnt);
		var err = 0;
		var err_mes = "";
		if ( pcs3 > bts1 ) {
			err_mes += "! 打者成績の「打席総数（" + bts1 + "）」と投手成績の「打者総数（" + pcs3t + "）」の値に食い違いがあります。　　\n\n";
			err++;
		}
		if ( pcs4 > bts3 ) {
			err_mes += "! 打者成績の「安打総数（" + bts3 + "）」と投手成績の「安打総数（" + pcs4t + "）」の値に食い違いがあります。　　\n\n";
			err++;
		}
		if ( pcs5 > bts5 ) {
			err_mes += "! 打者成績の「四死総数（" + bts5 + "）」と投手成績の「四死総数（" + pcs5t + "）」の値に食い違いがあります。　　\n\n";
			err++;
		}
		if ( pcs6 > bts6 ) {
			err_mes += "! 打者成績の「三振総数（" + bts6 + "）」と投手成績の「三振総数（" + pcs6t + "）」の値に食い違いがあります。　　\n\n";
			err++;
		}
		if ( err >= 1 ) {
			err_mes += "それぞれの入力内容をご確認ください。";
			alert(err_mes);
			return false;
		}
		//累計から現在の投手の成績を算出
		if ( inp_cnt == 1 ) {
			tmp_pcs1 = bts1 //+ tmp_total1;
			tmp_pcs2 = bts3 //+ tmp_total2;
			tmp_pcs3 = bts5 //+ tmp_total3;
			tmp_pcs4 = bts6 //+ tmp_total4;
		} else if ( inp_cnt >= 3 ) {
			if ( prev_pcs3 > 0 ) {
				tmp_pcs1 = prev_pcs3 + pcs3;
			} else {
				tmp_pcs1 = 0;
			}
			if ( prev_pcs4 > 0 ) {
				tmp_pcs2 = prev_pcs4 + pcs4;
			} else {
				tmp_pcs2 = 0;
			}
			if ( prev_pcs5 > 0 ) {
				tmp_pcs3 = prev_pcs5 + pcs5;
			} else {
				tmp_pcs3 = 0;
			}
			if ( prev_pcs6 > 0 ) {
				tmp_pcs4 = prev_pcs6 + pcs6;
			} else {
				tmp_pcs4 = 0;
			}

		} else {
			//alert(bts1 + "=" + pcs2);
			if ( bts1 > 0 ) {
				tmp_pcs1 = bts1 - pcs3;
			} else {
				tmp_pcs1 = 0;
			}
			if ( bts3 > 0 ) {
				tmp_pcs2 = bts3 - pcs4;
			} else {
				tmp_pcs2 = 0;
			}
			if ( bts5 > 0 ) {
				tmp_pcs3 = bts5 - pcs5;
			} else {
				tmp_pcs3 = 0;
			}
			if ( bts6 > 0 ) {
				tmp_pcs4 = bts6 - pcs6;
			} else {
				tmp_pcs4 = 0;
			}
		}

		
		//代入先のオブジェクトのそれぞれの入力フォームに値を代入
		document.forms.elements[elem1][3].value = tmp_pcs1;
		document.forms.elements[elem1][4].value = tmp_pcs2;
		document.forms.elements[elem1][5].value = tmp_pcs3;
		document.forms.elements[elem1][6].value = tmp_pcs4;
		//document.forms.elements[elem2][3].value = pcs3;
		//document.forms.elements[elem2][4].value = pcs4;
		//document.forms.elements[elem2][5].value = pcs5;
		//document.forms.elements[elem2][6].value = pcs6;
		
		//
		document.forms.elements[elem2][0].value = bts3;
		document.forms.elements[elem2][2].value = bts5;
}


function chkusrinput(idName,usr_input,objName) {
	if ( !document.getElementById(idName) ) {
		return false;
	}
	var res1 = reg_exp(/^[0-9]+$/,usr_input);
	var res2 = reg_exp(/\*+$/,usr_input);
	
	if ( !res1 && !res2 && usr_input != "" ) {
		alert("入力された値が不正です。");
		return false;
	}
	var sb = document.getElementById(idName);
	var sb_obj = sb.getElementsByTagName("input");
	
	var score = null;
	var sb_total = sb_obj.length / 2;
	for ( index = 0; index < sb_obj.length; index++ ) {
		if ( sb_obj[index].name == objName ) {
			for ( i = 0; i < sb_total; i++ ) {
				var tmp_num = document.forms.elements[objName][i].value;
				var res3 = reg_exp(/\*+$/,tmp_num);
				if ( res3 ) {
					tmp_num = tmp_num.replace("*","");
				}
				var tmp_s = new Number(tmp_num);
				score += tmp_s;
			}
			break;
		}
	}
	var tmp_tmid = objName.substr(0,3) + "_ttl";
	var elem = document.getElementById(tmp_tmid);
	elem.lastChild.nodeValue = score;
	
	/*
	// 入力のあったフォームのnameを取得し特定文字列を切り出す
	
	if ( document.getElementById(tmp_tmid) ) {
		// 対象オブジェクトの指定と取得
		
		// 指定オブジェクト内の値を数値変換し取得
		var ttl = new Number(elem.lastChild.nodeValue);
		//ユーザ入力値を数値変換し取得
		var uip = parseInt(usrinp);
		//alert(ttl);
		// 取得変換した値を加工(加算)
		var tmttl = ttl + uip;
		
		if ( isNaN(uip) == false ) {
			// 加工した値を再度指定オブジェクト
			elem.lastChild.nodeValue = tmttl;
			//alert(tmttl);
		}
	}
	*/
}


document.onkeydown = function() {
	return EnterKeyChk();
}

window.onload = function() {
	var loc = location.href;
	if (loc.indexOf('score_book/index.php') >= 1 || loc.indexOf('result/index.php') >= 1) {

		var body_input_element = document.getElementsByTagName('select');
		for ( i = 0; i < body_input_element.length; i++ ) {
			//if ( body_input_element[i].type == 'select' ) {
				body_input_element[i].style.visibility = 'hidden';
			//}
		}
			
		var body_elem = document.getElementsByTagName('body');
		var parent_elem = document.getElementById('wrap');
		var parent_elem_height = parent_elem.offsetHeight;
		var child_elem = document.createElement('div');
		child_elem.id = 'scrn_saver';
		child_elem.style.position = 'absolute';
		child_elem.style.left = '0px';
		child_elem.style.top = '0px';
		child_elem.style.backgroundColor = '#000';
		child_elem.style.filter = 'alpha(opacity="70")';
		child_elem.style.mozOpacity = 0.7;
		child_elem.style.opacity = 0.7;
		child_elem.style.height = parent_elem_height + body_elem[0].offsetHeight + 'px';
		child_elem.style.width = getWinWidth() + 'px';
		child_elem.style.zIndex = 1000000;
				
		body_elem[0].appendChild(child_elem);
		
		var hgt = 0;
		if (document.forms.target_obj) {
			var trg_obj1 = document.forms.target_obj.value;
			var elem_sb1 = document.getElementById(trg_obj1);
			hgt = elem_sb1.offsetTop;
		}
		
		var staus_view = document.createElement('div');
		staus_view.id = 'status_window';
		staus_view.style.position = 'absolute';
		staus_view.style.zIndex = 1000001;
		staus_view.style.backgroundColor = '#fff';
		staus_view.style.fontSize = '14px';
		staus_view.style.padding = '15px';
		staus_view.style.width = '600px';
		staus_view.style.height = '200px';
		staus_view.style.left = Math.floor(getWinWidth() / 2) - Math.floor(600 / 2) + 'px';
			
		if (document.body.scrollTop) {
			staus_view.style.top = document.body.scrollTop + hgt + 200 + 'px';
		} else {
			staus_view.style.top = document.documentElement.scrollTop + hgt + 200 + 'px';
		}
			
		staus_view.style.textAlign = 'left';
		staus_view.style.lineHeight = '20px';
		staus_view.innerHTML = '<b>現在、サーバと通信を行いデータを処理しています。</b><br><br>';
		staus_view.innerHTML += 'この処理には、少し時間がかかる場合があります。<br>';
		staus_view.innerHTML += '処理完了後、自動的にページが切り替わりますので、しばらくお待ちください。<br>';
		staus_view.innerHTML += '<small>※処理が完了するまで、ブラウザの「更新ボタン」「戻るボタン」などをクリックしないでください。</small>';
		staus_view.innerHTML += '<br><br>長時間、この状態が続いてしまっている場合は、<a href="./index.php">こちら</a>をクリックしてください。<br>';
		staus_view.innerHTML += '上記操作により、入力したデータが消えてしまうことがありますが、ご了承ください。';
		body_elem[0].appendChild(staus_view);
	}
	

	SetFocus();

	if ( document.getElementById("score_bord") ) {
		var score_bord = document.getElementById("score_bord");
		if ( score_bord.getElementsByTagName("input").length == 0 ) {
			return false;
		}
		var inpf = score_bord.getElementsByTagName("input");
		var inpft = inpf.length;
		for ( i = 1; i <= 2; i++ ) {
			var tmp_name = "tm" + i;
			for ( index = 0; index < inpft; index++ ) {
				var tmp_id = tmp_name + "_sbord" + index;
				if ( inpf[index].idName = tmp_id ) {
					inpf[index].onkeyup = function() { chkusrinput("score_bord",this.value,this.name); }
				}
			}
		}
	}
	
	if ( document.getElementById("tm1_bts") ) {
		var elem_len2 = 0;
		var bts = document.getElementById("tm1_bts");
		var pcs = document.getElementById("tm2_pcs");
		if ( bts.getElementsByTagName("input").length == 0 && pcs.getElementsByTagName("input").length == 0 ) {
			return false;
		}
		var btsobj = bts.getElementsByTagName("input");
		var pcsobj = pcs.getElementsByTagName("input");
		//処理対象となるフォームエレメントの総数を算出
		for ( index = 0; index < pcsobj.length; index++ ) {
			if ( pcsobj[index].type == "text" && pcsobj[index].className == "ime_off" ) {
				elem_len2++;
				//if ( elem_len2 > 7 ) {
					//pcsobj[index].onkeyup = function() {
					//	get_pts("tm1_bts","tm2_pcs","tm2",this.value,elem_len2);
					//}
				//}
			}
		}
		var txt_era_cnt = 1;
		var targ_cnt = 2;
		for ( index = 0; index < btsobj.length; index++ ) {
			if ( btsobj[index].type == "text" && btsobj[index].className == "ime_off" ) {
				btsobj[index].onkeyup = function() {
					get_bts("tm1_bts","tm2_pcs","tm2",this.value,elem_len2);
				}
			}
		}
		get_bts("tm1_bts","tm2_pcs","tm2","0",elem_len2);
	}
	if ( document.getElementById("tm2_bts") ) {
		var elem_len1 = 0;
		var bts = document.getElementById("tm2_bts");
		var pcs = document.getElementById("tm1_pcs");
		if ( bts.getElementsByTagName("input").length == 0 && pcs.getElementsByTagName("input").length == 0 ) {
			return false;
		}
		var btsobj = bts.getElementsByTagName("input");
		var pcsobj = pcs.getElementsByTagName("input");
		//処理対象となるフォームエレメントの総数を算出
		for ( index = 0; index < pcsobj.length; index++ ) {
			if ( pcsobj[index].type == "text" && pcsobj[index].className == "ime_off" ) {
				elem_len1++;
				//if ( elem_len1 > 7 ) {
					//pcsobj[index].onkeyup = function() {
					//	get_pts("tm2_bts","tm1_pcs","tm1",this.value,elem_len1);
					//}
				//}
			}
		}
		for ( index = 0; index < btsobj.length; index++ ) {
			if ( btsobj[index].type == "text" && btsobj[index].className == "ime_off" ) {
				btsobj[index].onkeyup = function() {
					get_bts("tm2_bts","tm1_pcs","tm1",this.value,elem_len1);
				}
			}
		}
		get_bts("tm2_bts","tm1_pcs","tm1","0",elem_len1);
	}
	
	//指定位置まで画面をスクロール
	if ( document.forms.target_obj ) {
		var sbp = new Object();
		var trg_obj = document.forms.target_obj.value;
		var elem_sb = document.getElementById(trg_obj);
		//alert(elem_sb.offsetTop);
		scrollBy(0,elem_sb.offsetTop);
	}

	// 入力フォーム入力補助機能
	// 選択した値を入力フォームにコピー
	/*
	if ( document.forms.game_cate1 && document.forms.game_cate ) {
		document.forms["game_cate1"].onchange = function() {
			inp_support("game_cate1","game_cate");
		}
	}
	if ( document.forms.sele_location && document.forms["location"] ) {
		document.forms["sele_location"].onchange = function() {
			inp_support("sele_location","location");
		}
	}
	if ( document.forms.sele_team1 && document.forms.tm1_name ) {
		document.forms["sele_team1"].onchange = function() {
			inp_support("sele_team1","tm1_name");
		}
	}
	if ( document.forms.sele_team1 && document.forms.tm1_name ) {
		document.forms["sele_team2"].onchange = function() {
			inp_support("sele_team2","tm2_name");
			//alert(selectedText());
		}
	}
	*/
	if (document.getElementById('game_time_caluc')) {
		if (document.getElementById('game_time_caluc').checked) {
			document.getElementById('game_time_h').disabled = true;
			document.getElementById('game_time_m').disabled = true;
		}
	}

	if (document.getElementById('tm1_catcher_input')) {
		if (document.getElementById('tm1_catcher_input').checked) {
			document.getElementById('tm1_catcher').disabled = true;
		}
	}
	
	if (document.getElementById('tm2_catcher_input')) {
		if (document.getElementById('tm2_catcher_input').checked) {
			document.getElementById('tm2_catcher').disabled = true;
		}
	}
	
}


//画面上で選択されたテキストを取得
function selectedText() {
	try {
		// ie4 over
		return document.selection.createRange().text;
	} catch(e) {
		try {
			// firefox
			return window.getSelecttion();
		} catch(e2) {
			try {
				// safari
				return window.selection.createRange().text;
			} catch(e3) {
				try {
					// netscape4 over
					return document.getSelection();
				} catch(e4) {
					return null;
				}
			}
		}
	}
}

javascript:(function(){
	//alert(selectedText());
})();

function inp_support(inp,otp) {
	document.forms[otp].value = document.forms[inp].value;
}


//document.onclick = function() {
	//alert(selectedText());
//}

var flash_element = function(path,width,height) {
	this.flash_obj = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '" id="watch" align="middle">';
	this.flash_obj += '<param name="allowScriptAccess" value="sameDomain" />';
	this.flash_obj += '<param name="movie" value="' + path + '" />';
	this.flash_obj += '<param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />';
	this.flash_obj += '<embed src="' + path + '" quality="high" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="watch" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	this.flash_obj += '</object>';
	return this;
}

SetEventListner(document,'click',EvnetControl,false);


function EvnetControl(e) {

	var ie = navigator.appName.indexOf('Microsoft Internet Explorer') >= 0?1:0;
	var ff = navigator.userAgent.indexOf('Gecko') >= 0?1:0;

	var targ = null;
	if ( !ie ) {
		targ = e.target;
	} else {
		targ = event.srcElement;
	}

	switch ( targ.type ) {
		case 'checkbox' :
			switch(targ.id) {
				case 'game_time_caluc' :
					if(targ.checked) {
						document.getElementById('game_time_h').disabled = true;
						document.getElementById('game_time_m').disabled = true;
					} else {
						document.getElementById('game_time_h').disabled = false;
						document.getElementById('game_time_m').disabled = false;
					}
				break;
				case 'tm1_catcher_input' :
					if(targ.checked) {
						document.getElementById('tm1_catcher').disabled = true;
					} else {
						document.getElementById('tm1_catcher').disabled = false;
					}
				break;
				case 'tm2_catcher_input' :
					if(targ.checked) {
						document.getElementById('tm2_catcher').disabled = true;
					} else {
						document.getElementById('tm2_catcher').disabled = false;
					}
				break;
				default :
				break;
			}
		break;
		case 'submit' :
			if (targ.id) {
				var btn = document.getElementById(targ.id);
				if (btn && btn.disabled) {
					return false;
				}
			}
			
			var body_elem = document.getElementsByTagName('body');
			var parent_elem = document.getElementById('wrap');
			var parent_elem_height = parent_elem.offsetHeight;
			var child_elem = document.createElement('div');
			child_elem.style.position = 'absolute';
			child_elem.style.left = '0px';
			child_elem.style.top = '0px';
			child_elem.style.backgroundColor = '#000';
			child_elem.style.filter = 'alpha(opacity="70")';
			child_elem.style.mozOpacity = 0.7;
			child_elem.style.opacity = 0.7;
			child_elem.style.height = parent_elem_height + body_elem[0].offsetHeight + 'px';
			child_elem.style.width = getWinWidth() + 'px';
			child_elem.style.zIndex = 1000000;
			
			body_elem[0].appendChild(child_elem);

			var staus_view = document.createElement('div');
			staus_view.id = 'status_window';
			staus_view.style.position = 'absolute';
			staus_view.style.zIndex = 1000001;
			staus_view.style.backgroundColor = '#fff';
			staus_view.style.fontSize = '14px';
			staus_view.style.padding = '15px';
			staus_view.style.width = '600px';
			staus_view.style.height = '200px';
			staus_view.style.left = Math.floor(getWinWidth() / 2) - Math.floor(600 / 2) + 'px';
			
			if (document.body.scrollTop) {
				staus_view.style.top = document.body.scrollTop + 200 + 'px';
			} else {
				staus_view.style.top = document.documentElement.scrollTop + 200 + 'px';
			}
			
			staus_view.style.textAlign = 'left';
			staus_view.style.lineHeight = '20px';
			staus_view.innerHTML = '<b>現在、サーバと通信を行いデータを処理しています。</b><br><br>';
			staus_view.innerHTML += 'この処理には、少し時間がかかる場合があります。<br>';
			staus_view.innerHTML += '処理完了後、自動的にページが切り替わりますので、しばらくお待ちください。<br>';
			staus_view.innerHTML += '<small>※処理が完了するまで、ブラウザの「更新ボタン」「戻るボタン」などをクリックしないでください。</small>';
			staus_view.innerHTML += '<br><br>長時間、この状態が続いてしまっている場合は、<a href="./index.php">こちら</a>をクリックしてください。<br>';
			staus_view.innerHTML += '上記操作により、入力したデータが消えてしまうことがありますが、ご了承ください。';
			
			body_elem[0].appendChild(staus_view);
			
			var body_input_element = document.getElementsByTagName('select');
			for ( i = 0; i < body_input_element.length; i++ ) {
				//if ( body_input_element[i].type == 'select' ) {
					body_input_element[i].style.visibility = 'hidden';
				//}
			}
		break;
		default:
		break;
	}
}


function getWinWidth() {
	if ( document.documentElement.clientWidth ) {
		return document.documentElement.clientWidth;
	} else if ( document.body.clientWidth ) {
		return document.body.clientWidth;
	} else if ( window.innerWidth ) {
		return window.innerWidth;
	} else {
		return "0";
	}
}

function getWinHeight() {
	if ( document.documentElement.clientHeight ) {
		return document.documentElement.clientHeight;
	} else if ( document.body.clientHeight ) {
		return document.body.clientHeight;
	} else if ( window.innerHeight ) {
		return window.innerHeight;
	} else {
		return "0";
	}
}


//SetEventListner(window,'load',startUpFunc,false);

// イベントリスナーセット用汎用関数
function SetEventListner(element,eventtype,functions,cap) {
	try {
		// W3C DOM LEVEL3 準拠ブラウザ用
		element.addEventListener(eventtype,functions,cap);
	} catch(e) {
		// 非準拠ブラウザ用(主に「IE」)
		element.attachEvent('on' + eventtype,functions,cap);
	} finally {
		// いずれにも該当しない場合
		//alert('お使いのブラウザではご利用になれません');
	}
}

//イベントリスナーリセット用汎用関数
function ResetEventListner(element,eventtype,functions,capture) {
	try {
		// W3C DOM LEVEL3 準拠ブラウザ用
		element.rmoveEventListener(eventtype,functions,capture);
	} catch(e) {
		// 非準拠ブラウザ用(主に「IE」)
		element.detachEvent('on' + eventtype,functions,capture);
	} finally {
		// いずれにも該当しない場合
		//alert('お使いのブラウザではご利用になれません');
	}
}

//バブリングとデフォルトイベントアクションの抑止
function EventControl(e) {
	// バブリング抑止
	try {
		// W3C DOM3 準拠ブラウザ用
		e.stopPropagation();
	} catch(e) {
		// 非準拠ブラウザ用(主にIE)
		window.event.cancelBubble = true;
	} finally {
		// いずれにも該当しない場合
	}
	
	// デフォルトイベントアクションの抑止
	try {
		// W3C DOM3 準拠ブラウザ用
		e.preventDefault();
	} catch(e) {
		// 非準拠ブラウザ用(主にIE)
		window.event.returnValue = false;
	} finally {
		// いずれにも該当しない場合
	}
}




/**
 * ブラウザとユーザーエージェントを取得して変数に代入
 *
 */
var ie = navigator.appName.indexOf('Microsoft Internet Explorer') >= 0?1:0;
var ff = navigator.userAgent.indexOf('Gecko') >= 0?1:0;
var opera = navigator.userAgent.indexOf('Opera') >= 0?1:0;
var safari = navigator.userAgent.indexOf('Safari') >= 0?1:0;
var win = navigator.platform.indexOf('Win32') >= 0?1:0;
var mac = navigator.platform.indexOf('MacPPC') >= 0?1:0;
var mac_intel = navigator.platform.indexOf('MacIntel') >= 0?1:0;


/**
 * フラッシュプレイヤーのプラグインチェックとswf出力
 * フラッシュプレイヤーが無い場合は代替画像を出力
 *
 * @funcrion CreateFlashElement
 *
 * @param version		対象バージョン
 * @param disp_type		swfが再生できない環境への対応方式(1 = バージョンアップを促す表示／0 = 代替画像を表示)
 * @param swf_path		swfファイルのパス
 * @param swf_vars		swfファイルに送信するパラメータ
 * @param swf_width		swfファイルの幅(代替画像と共通)
 * @param swf_height	swfファイルの高さ(代替画像と共通)
 * @param swf_quality	swfの再生クオリティ
 * @param image_path	代替画像のパス
 * @param image_str		代替画像の文字列
 *
 * @output FlashMovie or Images
 *
 */

function CreateFlashElement(version, disp_type, swf_path, swf_vars, swf_width, swf_height, swf_quality, image_path, image_str) {
	var FlashVersion = 0;
	/**
	 * ブラウザ毎に処理を分岐
	 */
	if ( ie ) {
		/* Internet Explorer用の処理 */

		var VbScript = '<scr' + 'ipt type="text/VBScript">\n';
		VbScript += 'on error resume next \n';
		VbScript += 'Dim FlashPlayer \n';
		VbScript += 'Dim FlashVersion \n';
		VbScript += 'FlashVersion = 0 \n';
		VbScript += 'FlashPlayer = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash")) \n';
		VbScript += 'TmpFlashVersion=Left(Hex(Int(CreateObject("ShockwaveFlash.ShockwaveFlash").FlashVersion)),1)\n';
		VbScript += 'If Err.Number <> 0 Then \n';
		VbScript += 'TmpFlashVersion \n';
		VbScript += 'End If \n';
		VbScript += '</scr' + 'ipt>\n';

		document.writeln(VbScript);

		FlashVersion = TmpFlashVersion;
	} else {
		/* W3C標準仕様ブラウザ用の処理 */

		/**
		 * mimeTypes["application/x-shockwave-flash"]の
		 * 実装状況と使用可否をチェックして変数に代入
		 */
		var mmtyp = navigator.mimeTypes["application/x-shockwave-flash"] == null?0:1;
		var flp = mmtyp >= 1?navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin:0;

		/**
		 * mimeTypes["application/x-shockwave-flash"]の
		 * 実装・使用可否により処理を分岐
		 * 非実装・使用不可の場合は何も処理をしない
		 */
		if ( flp ) {
			var UsrPlugins = navigator.plugins;
			for ( i = 0; i < UsrPlugins.length; i++ ) {
				var PlugInStr = UsrPlugins[i].description;
				if ( PlugInStr.indexOf('Shockwave Flash') != -1 ) {
					FlashVersion = UsrPlugins[i].description.substr(16,1);
				}
			}
		} else {
			FlashVersion = 0;
		}
	}

	/**
	 * プラグインチェックの結果判定と画面出力データ生成
	 *
	 * FlashVersionに格納された値が1以上ならswf出力
	 * FlashVersionの1以下なら代替画像出力
	 *
	 */
	
	/* 出力データ格納用変数初期化 */
	var Element = '';
	
	/* 出力用データ生成 */
	if ( FlashVersion ) {
		/* make swf */
		Element = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + swf_width + '" height="' + swf_height + '" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">\n';
		Element += '<param name="movie" value="' + swf_path + '">\n';
		Element += '<param name="quality" value="' + swf_quality + '">\n';
		Element += '<param name="menu" value="false">\n';
		Element += '<param name="wmode" value="opaque">\n';
		Element += '<param name="FlashVars" value="' + swf_vars + '">\n';
		Element += '<embed src="' + swf_path + '" FlashVars="' + swf_vars + '" quality="' + swf_quality + '" width="' + swf_width + '" height="' + swf_height + '" menu="false" wmode="transparent" pluginspage="//www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>\n';
		Element += '</object>\n';
	} else {
		if ( disp_type === 0 ) {
			/* make images */
			Element = '<img src="' + image_path + '" alt="' + image_str + '" width="' + swf_width + '" height="' + swf_height + '" border="0" title="' + image_str + '">\n';
		} else if ( disp_type === 1 ) {
			Element = '\n';
		}
	}
	
	/* デバッグ */
	//alert(Element);

	/* 画面出力 */
	document.writeln(Element);
}