//グローバル変数の定義
var a , b , c ,d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z; //繰り返し命令用の変数
var sanka23, goka23, kyuuka23, sanka32, goka32, kyuuka32, goka3nibai, kanagawa; // 内申値保存用の変数
var schoolList; //ＸＭＬデータオブジェクト
var onoff; //オン・オフ切り替え用変数
selectGrade = new Array();	//内申値保存用の配列変数
delSchoolId = new Array();	//配列変数を用意
delNaishinId = new Array();
delAreaId = new Array();
delEnsenId = new Array();
delKateiId = new Array();
delKubunId = new Array();
var schoolArea, schoolEnsen, schoolKatei, schoolSeiseki, schoolKubun;
var schoolNumbers;
var vArea = new Array(9), vEnsen = new Array(22), vKatei = new Array(12);
var vKubun = new Array(3) , kubunName = ["\u5171\u5b66", "\u7537\u5b50\u6821", "\u5973\u5b50\u6821"], vSeiseki = new Array(16);
var ensenName = ["\uff2a\uff32\u6771\u6d77\u9053\u7dda", "\uff2a\uff32\u5c71\u624b\u7dda", "\uff2a\uff32\u4e2d\u592e\u7dda\u30fb\u7dcf\u6b66\u7dda", "\uff2a\uff32\u5357\u6b66\u7dda", "\uff2a\uff32\u4eac\u6d5c\u6771\u5317\u7dda\u30fb\u6a2a\u9808\u8cc0\u7dda", "\uff2a\uff32\u6a2a\u6d5c\u7dda\u30fb\u6839\u5cb8\u7dda", "\uff2a\uff32\u76f8\u6a21\u7dda", "\u4eac\u738b\u76f8\u6a21\u539f\u7dda", "\u4eac\u738b\u672c\u7dda\u30fb\u9ad8\u5c3e\u7dda", "\u4eac\u738b\u4e95\u306e\u982d\u7dda", "\u6771\u6025\u6771\u6a2a\u7dda", "\u6771\u6025\u7530\u5712\u90fd\u5e02\u7dda", "\u6771\u6025", "\u4eac\u6025\u7dda", "\u897f\u6b66\u65b0\u5bbf\u30fb\u6c60\u888b\u7dda", "\u897f\u6b66", "\u5c0f\u7530\u6025\u7dda", "\u76f8\u9244\u7dda", "\u6771\u6b66\u6771\u4e0a\u7dda", "\u6a2a\u6d5c\u5e02\u55b6\u5730\u4e0b\u9244", "\u90fd\u5185\u5730\u4e0b\u9244", "\u305d\u306e\u4ed6"];
var geocoder = null　;
var currentPageId = 0 , nextPageId ;
var listPages ;
var detailWindow ;
var topDIf , leftDif ;
var resultNumbers ;
var address ;
var name ;
var access = new Array(4);
var geocoder = null , address ;
var googleAddress ;
var map;

//ＩＥ以外のブラウザに対して警告を出す
function browserWindow(){
	var str = navigator.appName.toUpperCase();
	if (str.indexOf("EXPLORER") < 0 ){
		alert("大変申し訳ありませんが、こちらの検索ページはインターネットエクスプローラーでご覧ください。");
		location.href = "www.to-rin.com/seminar/index.htm";
	}
}

//「学校名検索」のメニューバーを開く
function openNameSearch() {
	document.getElementById("menuebar3").style.display = "none";
	document.getElementById("menuebar2").style.display = "block";
}

//「いろいろ検索」のメニューバーを開く
function openVariousSearch() {
	document.getElementById("menuebar2").style.display = "none";
	document.getElementById("menuebar3").style.display = "block";
}

//ボタンを押すと検索パネルが開く
function openPanel(e) {
	var btnSrc = getTargetNode(e).className;
	var btnSrcId = "input" + btnSrc;
	var elemPanel = document.getElementById("flexWindow");
	shrinkWindow(elemPanel, 80, 0, 320, 485, 320, 485, 10, btnSrcId);
}

//簡単成績入力プルダウンメニュー 
function easyseiseki(e) {
	var select = getTargetNode(e).id;
	var grade;
	if (select == "select1") {
		j = 0;
		grade = 1;
	} else {
		j = 9;
		grade = 2;
	}
	for (i = 0 + j; i <= 8 + j; i = i + 1) {
		sg = "selectGrade" + i;
		si = "select" + grade;
		document.getElementById(sg).selectedIndex = document.getElementById(si).value;
	}
	displayNaishin();
	computeNaishin();
}

//内申パネルのコピーボタンの機能
function seisekiCopy() {
	var sg, si;
	for (i = 0; i <= 8; i = i + 1) {
		sg = "selectGrade" + i;
		si = "selectGrade" + (i + 9);
		document.getElementById(si).selectedIndex = document.getElementById(sg).value - 1;
	}
	computeNaishin();
	displayNaishin();
}

//内申パネルの各数値の取得
function computeNaishin() {
	var sh;
	for (k = 0; k <= 17; k = k + 1) {
		sh = "selectGrade" + k;
		selectGrade[k] = document.getElementById(sh).value;
	}
	//３科３年２学期
	selectGrade[18] = selectGrade[9] - -selectGrade[10] - -selectGrade[11];
	//５科３年２学期
	selectGrade[19] = selectGrade[18] - -selectGrade[12] - -selectGrade[13];
	//９科３年２学期
	selectGrade[20] = selectGrade[19] - -selectGrade[14] - -selectGrade[15] - -selectGrade[16] - -selectGrade[17];
	//神奈川方式
	selectGrade[21] = selectGrade[0] - -selectGrade[1] - -selectGrade[2] - -selectGrade[3] - -selectGrade[4] - -selectGrade[5] - -selectGrade[6] - -selectGrade[7] - -selectGrade[8] - -(selectGrade[9] - -selectGrade[10] - -selectGrade[11] - -selectGrade[12] - -selectGrade[13] - -selectGrade[14] - -selectGrade[15] - -selectGrade[16] - -selectGrade[17]) * 2;
	//３科２，３年
	selectGrade[22] = selectGrade[0] - -selectGrade[1] - -selectGrade[2] - -selectGrade[9] - -selectGrade[10] - -selectGrade[11];
	//５科２，３年
	selectGrade[23] = selectGrade[22] - -selectGrade[3] - -selectGrade[4] - -selectGrade[12] - -selectGrade[13];
	//５科３年２倍
	selectGrade[24] = selectGrade[0] - -selectGrade[1] - -selectGrade[2] - -selectGrade[3] - -selectGrade[4] - -selectGrade[19] * 2;
	//９科２，３年
	selectGrade[25] = selectGrade[23] - -selectGrade[5] - -selectGrade[6] - -selectGrade[7] - -selectGrade[8] - -selectGrade[14] - -selectGrade[15] - -selectGrade[16] - -selectGrade[17];
	//９科２年
	selectGrade[26] = selectGrade[0] - -selectGrade[1] - -selectGrade[2] - -selectGrade[3] - -selectGrade[4] - -selectGrade[5] - -selectGrade[6] - -selectGrade[7] - -selectGrade[8];
	//９科３年
	selectGrade[27] = selectGrade[20];
	
	//内申評価用の変数に代入
	sanka23 = selectGrade[22];
	goka23 = selectGrade[23];
	kyuuka23 = selectGrade[25];
	sanka32 = selectGrade[18];
	goka32 = selectGrade[19];
	kyuuka32 = selectGrade[20];
	goka3nibai = selectGrade[24];
	kanagawa = selectGrade[21];
	displayNaishin();
}
						
//内申パネルの各数値の表示
function displayNaishin() {
	var sn, sm;
	for (l = 0; l <= 9; l = l + 1) {
		sn = "displayNaishin" + l;
		sm = l + 18;
		document.getElementById(sn).value = selectGrade[sm];
	}
}

//地域パネルの簡易入力ボタン（全てにチェックをいれる・はずす）
function areaReset(e) {
	onoff = getTargetNode(e).className;
	for (m = 1; m <= 9; m = m + 1) {
		var cbAreaId = "cbArea" + m;
		if (onoff == "true") {
			document.getElementById(cbAreaId).checked = true;
		} else {
			document.getElementById(cbAreaId).checked = false;
		}
	}
}

//沿線パネルの簡易入力ボタン（全てにチェックをいれる・はずす）
function ensenReset(e) {
	onoff = getTargetNode(e).className;
	for (p = 1; p <= 22; p = p + 1) {
		var cbEnsenId = "cbEnsen" + p;
		if (onoff == "true") {
			document.getElementById(cbEnsenId).checked = true;
		} else {
			document.getElementById(cbEnsenId).checked = false;
		}
	}
}

//課程パネルの簡易入力ボタン（全てにチェックをいれる・はずす）
function kateiReset(e) {
	onoff = getTargetNode(e).className;
	for (p = 1; p <= 12; p = p + 1) {
		var cbKateiId = "cbKatei" + p;
		if (onoff == "true") {
			document.getElementById(cbKateiId).checked = true;
		} else {
			document.getElementById(cbKateiId).checked = false;
		}
	}
}

//区分パネルの簡易入力ボタン（全てにチェックをいれる・はずす）
function kubunReset(e) {
	onoff = getTargetNode(e).className;
	for (p = 1; p <= 3; p = p + 1) {
		var cbKubunId = "cbKubun" + p;
		if (onoff == "true") {
			document.getElementById(cbKubunId).checked = true;
		} else {
			document.getElementById(cbKubunId).checked = false;
		}
	}
}



//検索パネルの一部無効化
function panelDisabled(e) {
	var elemOfRadio = getTargetNode(e).className;
	var tableId = elemOfRadio + "Table";
	document.getElementById(tableId).disabled = true;
}

//検索パネルの一部有効化
function panelAbled(e) {
	var elemOfRadio = getTargetNode(e).className;
	var tableId = elemOfRadio + "Table";
	document.getElementById(tableId).disabled = false;
}

//リセットボタンの機能
function btnReset(){
	//区分パネルのリセット
	for (u = 1; u <= 3; u = u + 1) {
		var cbKubunId = "cbKubun" + u;
		document.getElementById(cbKubunId).checked = true;
	}	
	//課程パネルのリセット
	for (p = 1; p <= 12; p = p + 1) {
		var cbKateiId = "cbKatei" + p;
		document.getElementById(cbKateiId).checked = false;
	}
	//沿線パネルのリセット
	for (p = 1; p <= 22; p = p + 1) {
		var cbEnsenId = "cbEnsen" + p;
		document.getElementById(cbEnsenId).checked = false;
	}
	//地域パネルのリセット
	for (m = 1; m <= 9; m = m + 1) {
		var cbAreaId = "cbArea" + m;
		document.getElementById(cbAreaId).checked = false;
	}
	//成績パネルのリセット
	for (i = 0; i <= 17; i = i + 1) {
		var re = "selectGrade" + i;
		document.getElementById(re).selectedIndex = 0;
	}
	for ( j = 1 ; j <= 2 ; j = j + 1){
		var re = "select" + j ;
		document.getElementById(re).selectedIndex = 0 ;
	}
	for (l = 0; l <= 9; l = l + 1) {
		var sn = "displayNaishin" + l;
		var sm = l + 18;
		document.getElementById(sn).value = '';
	}
	//チェックボタンのリセット
	for (e = 1; e <= 7; e = e + 2) {
		document.getElementById("rb" + e).checked = true;
	}
	//パネルの無効化
	document.getElementById("rbSeisekiTable").disabled = true;
	document.getElementById("rbAreaTable").disabled = true;
	document.getElementById("rbEnsenTable").disabled = true;
	document.getElementById("rbKateiTable").disabled = true;
	//基準表示パネルのリセット
	document.getElementById("sanka_suisen").value = '' ;
	document.getElementById("sanka_heigan").value = '' ;
	document.getElementById("goka_suisen").value = '' ;
	document.getElementById("goka_heigan").value = '' ;
	document.getElementById("kyuuka_suisen").value = '';
	document.getElementById("kyuuka_heigan").value = '';
	document.getElementById("kanagawa_suisen").value = '';
	document.getElementById("kanagawa_heigan").value = '';
	document.getElementById("sanka23_suisen").value = '';
	document.getElementById("sanka23_heigan").value = '';
	document.getElementById("goka23_suisen").value = '';
	document.getElementById("goka23_heigan").value = '';
	document.getElementById("kyuuka23_suisen").value = '';
	document.getElementById("kyuuka23_heigan").value = '';
	document.getElementById("goka3nibai_suisen").value = '';
	document.getElementById("goka3nibai_heigan").value = '';
	document.getElementById("sName").value = '';
}

//HTTP通信でXMLデータを取得  取得したスクールデータは schoolList に格納
function getSchool() {

	httpObj = getHttpObject();
	httpObj.open("GET", "SchoolData.xml", false);
	httpObj.onreadystatechange = function () {
		if (httpObj.readyState == 4) {
			document.getElementById("listTitle").innerHTML = '検索中です' ;
			clearInterval(timerId);
			if (httpObj.status == 200) {
				schoolList = httpObj.responseXML;
				schoolNumbers = schoolList.getElementsByTagName("schoolID").length;
				naishinSearch();
				areaSearch();
				ensenSearch();
				kateiSearch();
				kubunSearch();
			}
		}
	};
	httpObj.send(null);
}

//入力された条件から消去するＩＤを配列変数に格納
//地域検索の関数
function areaSearch() {
	//ラジオボタンのチェック
	if (document.getElementById("rb3").checked == true) {
		for (z = 0; z <= schoolNumbers - 1; z = z + 1) {
			delAreaId[z] = "ok";
		}
	} else {
	//検索パネルのチェックを変数vArea[]に代入
		for (t = 0; t <= 8; t = t + 1) {
			u = t + 1;
			var cbAreaId = "cbArea" + u;
			if (document.getElementById(cbAreaId).checked == true) {
				vArea[t] = u;
			} else {
				vArea[t] = 0;
			}
		}
	//ＩＤ消去用の変数delAreaId[]に代入
		schoolArea = schoolList.getElementsByTagName("schoolareacode");
		for (i = 0; i <= schoolArea.length - 1; i = i + 1) {
			for (p = 0; p <= 8; p++) {
				if (schoolArea[i].firstChild.nodeValue == vArea[p]) {
					delAreaId[i] = "ok";
					break;
				} else {
					delAreaId[i] = i;
				}
			}
		}
	}
}
//沿線検索の関数
function ensenSearch() {
	//ラジオボタンのチェック
	if (document.getElementById("rb5").checked == true) {
		for (z = 0; z <= schoolNumbers - 1; z = z + 1) {
			delEnsenId[z] = "ok";
		}
	} else {
	//検索パネルのチェックを変数vEnsen[]に代入
		for (v = 0; v <= 21; v = v + 1) {
			w = v + 1;
			var cbEnsenId = "cbEnsen" + w;
			if (document.getElementById(cbEnsenId).checked == true) {
				vEnsen[v] = ensenName[v];
			} else {
				vEnsen[v] = 0;
			}
		}
		for (var k = 0; k <= schoolNumbers - 1; k = k + 1) {
			schoolEnsen = schoolList.documentElement.childNodes[k].getElementsByTagName("ensen");
			for (var l = 0; l < schoolEnsen.length; l = l + 1) {
				for (var q = 0; q <= 21; q = q + 1) {
					if (schoolEnsen[l].firstChild.nodeValue == vEnsen[q]) {
						delEnsenId[k] = "ok";
						break;
					} else {
						delEnsenId[k] = k;
					}
				}
				if (delEnsenId[k] == "ok") {
					break;
				}
			}
		}
	}
}

//区分検索の関数
function kubunSearch() {
	//検索パネルのチェックを変数vKubun[]に代入
	for (h = 0; h <= 2; h = h + 1) {
		g = h + 1;
		var cbKubunId = "cbKubun" + g;
		if (document.getElementById(cbKubunId).checked == true) {
			vKubun[h] = kubunName[h];
		} else {
			vKubun[h] = 0;
		}
	}
	//ＩＤ消去用の変数delKubunId[]に代入
	schoolKubun = schoolList.getElementsByTagName("educationname");
	for (m = 0; m <= schoolNumbers - 1; m = m + 1) {
		for (r = 0; r <= 2; r = r + 1) {
			if (schoolKubun[m].firstChild.nodeValue == vKubun[r]) {
				delKubunId[m] = "ok";
				break;
			} else {
				delKubunId[m] = m;
			}
		}
	}
}
						
//課程検索の関数
function kateiSearch() {
	//ラジオボタンのチェック
	if (document.getElementById("rb7").checked == true) {
		for (z = 0; z <= schoolNumbers - 1; z = z + 1) {
			delKateiId[z] = "ok";
		}
	} else {
	//検索パネルのチェックを変数vKatei[]に代入
		for (r = 0; r <= 11; r = r + 1) {
			h = r + 1;
			var cbKateiId = "cbKatei" + h;
			if (document.getElementById(cbKateiId).checked == true) {
				vKatei[r] = h;
			} else {
				vKatei[r] = 0;
			}
		}
	//ＩＤ消去用の変数delKateiId[]に代入
		schoolKatei = schoolList.getElementsByTagName("coursegroup");
		for (s = 0; s <= schoolNumbers - 1; s = s + 1) {
			for (p = 0; p <= 11; p = p + 1) {
				if (schoolKatei[s].firstChild.nodeValue == vKatei[p]) {
					delKateiId[s] = "ok";
					break;
				} else {
					delKateiId[s] = s;
				}
			}
		}
	}
}

//成績検索 の関数  
function naishinSearch() {
	schoolSeiseki = schoolList.getElementsByTagName("school_info");
	var flag;
			//ラジオボタンのチェック
	if (document.getElementById("rb1").checked == true) {
		for (z = 0; z <= schoolNumbers - 1; z = z + 1) {
			delNaishinId[z] = "ok";
		}
	} else {
		for (f = 0; f <= schoolNumbers - 1; f = f + 1) {
			flag = "no";
			if (schoolSeiseki[f].getElementsByTagName("sanka_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("sanka_suisen")[0].firstChild.text) <= parseInt(sanka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("sanka_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("sanka_heigan")[0].firstChild.text) <= parseInt(sanka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka_suisen")[0].childNodes[0].text) <= parseInt(goka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka_heigan")[0].childNodes[0].text) <= parseInt(goka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kyuuka_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kyuuka_suisen")[0].childNodes[0].text) <= parseInt(kyuuka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kyuuka_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kyuuka_heigan")[0].childNodes[0].text) <= parseInt(kyuuka32)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kanagawa_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kanagawa_suisen")[0].childNodes[0].text) <= parseInt(kanagawa)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kanagawa_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kanagawa_heigan")[0].childNodes[0].text) <= parseInt(kanagawa)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("sanka23_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("sanka23_suisen")[0].childNodes[0].text) <= parseInt(sanka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("sanka23_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("sanka23_heigan")[0].childNodes[0].text) <= parseInt(sanka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka23_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka23_suisen")[0].childNodes[0].text) <= parseInt(goka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka23_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka23_heigan")[0].childNodes[0].text) <= parseInt(goka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kyuuka23_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kyuuka23_suisen")[0].childNodes[0].text) <= parseInt(kyuuka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("kyuuka23_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("kyuuka23_heigan")[0].childNodes[0].text) <= parseInt(kyuuka23)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka3twice_suisen").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka3twice_suisen")[0].childNodes[0].text) <= parseInt(goka3nibai)) {
					flag = "ok";
				}
			}
			if (schoolSeiseki[f].getElementsByTagName("goka3twice_heigan").length != 0) {
				if (parseInt(schoolSeiseki[f].getElementsByTagName("goka3twice_heigan")[0].childNodes[0].text) <= parseInt(goka3nibai)) {
					flag = "ok";
				}
			}
			if (flag == "ok") {
				delNaishinId[f] = "ok";
			} else {
				delNaishinId[f] = f;
			}
		}
	}
}

// 検索を行い結果を表示する関数
function deleteSchoolId() {
	//連続ボタン禁止
	if (document.getElementById('outareaOfList').style.height != '440px' ){
	return false ;
	}
	//http通信を行いxmlデータを取得
	getSchool();
	//xmlデータから検索にもれた学校を消去
	for (x = schoolNumbers - 1; x >= 0; x = x - 1) {
		if (delAreaId[x] == x || delNaishinId[x] == x || delEnsenId[x] == x || delKateiId[x] == x || delKubunId[x] == x) {
			schoolList.getElementsByTagName("dataroot")[0].removeChild(schoolList.getElementsByTagName("dataroot")[0].childNodes[x]);
		}
	}
	//検索後の学校数
	resultNumbers = schoolList.getElementsByTagName("school_info").length;
	
	//ウィンドウの大きさ設定
	showResultOfList()
}
	
// リスト表示の関数
function completeList(){
	//リストを表示するために必要なページ数
	listPages = Math.floor(resultNumbers/20) + 1 ;
	//それぞれのページに２０件ずつ校名と課程名を載せる。
	var out1 = "";
	for (c = 0 ; c <= listPages - 1 ; c = c + 1 ){
		out1 += "<table id='schoolListTable" + c + "' class='schoolListTable' ><tr><th>学校名</th><th>課程</th></tr>";
		for (d = 0 + 20*c ; d <= 19 + 20*c; d = d + 1) {
			if(schoolList.getElementsByTagName("school_info")[d]){
				//学校名・課程名を格納する変数の初期化
				var schoolNames = "";
				var schoolCourses = "";
				//検索済みxmlデータから情報を取得
				schoolNames = schoolList.getElementsByTagName("name_kanji")[d].firstChild.nodeValue;
				schoolCourses = schoolList.getElementsByTagName("coursename")[d].firstChild.nodeValue;
				//高校を表示するテーブルタグを作る
				out1 += "<tr id='" + d + "'><td nowrap='nowrap'>" + schoolNames + "</td><td nowrap='nowrap'>" + schoolCourses + "</td></tr>";
			}
		}
		out1 += "</table>";
	}
	document.getElementById("displayList").innerHTML = out1;
	//余分なテーブルを非表示にする
	if(listPages >= 2){
		for ( b = 1 ; b <= listPages - 1 ; b = b + 1 ){
		document.getElementById('schoolListTable' + b).style.display = 'none' ;
		}
	}
	//ページ数を表示する
	currentPageId = 0 ;
	document.getElementById('displayPage').innerHTML = currentPageId + 1 + " / " + listPages + "  ページ " ;
	//矢印ボタンの無効を解除
	document.getElementById("btnLeft").disabled = false ;
	document.getElementById("btnRight").disabled = false ;
	//検索のヒット数を表示
	if (schoolList.getElementsByTagName("schoolID").length > 0) {
		var message = schoolList.getElementsByTagName("schoolID").length + "\u6821\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002";
	} else {
		message = "見つかりませんでした。";
	}
	document.getElementById('listTitle').innerHTML = message ;
	
	//ハイライト関数・マップ表示関数をイベントリスナーにセット
	for (a = 0 ; a <= resultNumbers - 1 ; a = a + 1) {
		var elem = document.getElementById('' + a);
		addListener(elem , 'mouseover' , highlightList , false);
		addListener(elem , 'mouseout' , lowlightList , false);
		addListener(elem , 'mouseover' , displayStandard , false );
		addListener(elem , 'click' , openMapPanel , false );
	}
	
	//基準を格納する変数を作成 
	sankaSuisen = new Array(resultNumbers);
	sankaHeigan = new Array(resultNumbers); 
	gokaSuisen = new Array(resultNumbers); 
	gokaHeigan = new Array(resultNumbers); 
	kyuukaSuisen = new Array(resultNumbers); 
	kyuukaHeigan = new Array(resultNumbers);
	kanagawaSuisen = new Array(resultNumbers); 
	kanagawaHeigan = new Array(resultNumbers); 
	sanka23Suisen = new Array(resultNumbers); 
	sanka23Heigan = new Array(resultNumbers); 
	goka23Suisen = new Array(resultNumbers);;
	goka23Heigan = new Array(resultNumbers); 
	kyuuka23Suisen = new Array(resultNumbers); 
	kyuuka23Heigan = new Array(resultNumbers); 
	goka3nibaiSuisen = new Array(resultNumbers); 
	goka3nibaiHeigan = new Array(resultNumbers);
	displayScName = new Array(resultNumbers);
	
	//基準を変数に格納
	for ( w = 0 ; w <= resultNumbers - 1 ; w = w + 1 ){
		var elemSeiseki = schoolList.getElementsByTagName("school_info");
		if (elemSeiseki[w].getElementsByTagName("sanka_suisen").length != 0) {
			sankaSuisen[w] = elemSeiseki[w].getElementsByTagName("sanka_suisen")[0].firstChild.text ;
		} else {
			sankaSuisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("sanka_heigan").length != 0) {
			sankaHeigan[w] = elemSeiseki[w].getElementsByTagName("sanka_heigan")[0].firstChild.text ;
		} else {
			sankaHeigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka_suisen").length != 0) {
			gokaSuisen[w] = elemSeiseki[w].getElementsByTagName("goka_suisen")[0].firstChild.text ;
		} else {
			gokaSuisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka_heigan").length != 0) {
			gokaHeigan[w] = elemSeiseki[w].getElementsByTagName("goka_heigan")[0].firstChild.text ;
		} else {
			gokaHeigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kyuuka_suisen").length != 0) {
			kyuukaSuisen[w] = elemSeiseki[w].getElementsByTagName("kyuuka_suisen")[0].firstChild.text ;
		} else {
			kyuukaSuisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kyuuka_heigan").length != 0) {
			kyuukaHeigan[w] = elemSeiseki[w].getElementsByTagName("kyuuka_heigan")[0].firstChild.text ;
		} else {
			kyuukaHeigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kanagawa_suisen").length != 0) {
			kanagawaSuisen[w] = elemSeiseki[w].getElementsByTagName("kanagawa_suisen")[0].firstChild.text ;
		} else {
			kanagawaSuisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kanagawa_heigan").length != 0) {
			kanagawaHeigan[w] = elemSeiseki[w].getElementsByTagName("kanagawa_heigan")[0].firstChild.text ;
		} else {
			kanagawaHeigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("sanka23_suisen").length != 0) {
			sanka23Suisen[w] = elemSeiseki[w].getElementsByTagName("sanka23_suisen")[0].firstChild.text ;
		} else {
			sanka23Suisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("sanka23_heigan").length != 0) {
			sanka23Heigan[w] = elemSeiseki[w].getElementsByTagName("sanka23_heigan")[0].firstChild.text ;
		} else {
			sanka23Heigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka23_suisen").length != 0) {
			goka23Suisen[w] = elemSeiseki[w].getElementsByTagName("goka23_suisen")[0].firstChild.text ;
		} else {
			goka23Suisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka23_heigan").length != 0) {
			goka23Heigan[w] = elemSeiseki[w].getElementsByTagName("goka23_heigan")[0].firstChild.text ;
		} else {
			goka23Heigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kyuuka23_suisen").length != 0) {
			kyuuka23Suisen[w] = elemSeiseki[w].getElementsByTagName("kyuuka23_suisen")[0].firstChild.text ;
		} else {
			kyuuka23Suisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("kyuuka23_heigan").length != 0) {
			kyuuka23Heigan[w] = elemSeiseki[w].getElementsByTagName("kyuuka23_heigan")[0].firstChild.text ;
		} else {
			kyuuka23Heigan[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka3twice_suisen").length != 0) {
			goka3nibaiSuisen[w] = elemSeiseki[w].getElementsByTagName("goka3twice_suisen")[0].firstChild.text ;
		} else {
			goka3nibaiSuisen[w] = '' ;
		}
		if (elemSeiseki[w].getElementsByTagName("goka3twice_heigan").length != 0) {
			goka3nibaiHeigan[w] = elemSeiseki[w].getElementsByTagName("goka3twice_heigan")[0].firstChild.text ;
		} else {
			goka3nibaiHeigan[w] = '' ;
		}
		displayScName[w] = elemSeiseki[w].getElementsByTagName("name_kanji")[0].firstChild.text + " (" +
		elemSeiseki[w].getElementsByTagName("coursename")[0].firstChild.text + ")" ;
	}
	
	
	
}	

//リスト表示ページの移動関数
//ページを移動する関数
function movePage(e){
	if (document.getElementById('outareaOfList').style.height != '440px' ){
	return false ;
	}
	var targetNodeId = getTargetNode(e).id;
	//ウィンドウの大きさ設定
	var heightOfList = 440 ;
	var addList = 30 ;
	var funcListWin = function(){
			heightOfList = heightOfList - addList
			if(heightOfList >= 440){
				clearInterval(list_timer);
			}
			document.getElementById('outareaOfList').style.height = heightOfList + 'px';
			//ウィンドウの最小値（データの変わり目）
			if ( heightOfList <= 80 ){
				document.getElementById('schoolListTable' + currentPageId).style.display = 'none' ;
				if ( targetNodeId == 'btnLeft' ){
					if (0 == currentPageId ){
						currentPageId = listPages;
					}
					currentPageId = currentPageId - 1 ;
			
				} else if ( targetNodeId == 'btnRight' ){
					if (listPages  == currentPageId + 1 ){
						currentPageId = -1
					}
					currentPageId = currentPageId + 1 ;
				}
				document.getElementById('schoolListTable' + currentPageId).style.display = 'block' ;
				document.getElementById('displayPage').innerHTML = currentPageId + 1 + " / " + listPages + " ページ " ;
				addList = -addList ;
			}
	};
	list_timer = setInterval(funcListWin, 20);
}

//リストのハイライトとダウンライト
//ハイライト関数
function highlightList(e){
	var target_node = getTargetNode(e).parentNode;
	target_node.style.backgroundColor = '#00ffff' ;
	target_node.style.color = '#0000ff' ;
	document.getElementById('console').value = 'リスト上の高校名にマウスをあてると、その高校の基準が表示されます。 また、クリックすると地図上にその位置とアクセス方法が表示されます。' ;
}
//ダウンライト関数
function lowlightList(e){
	var target_node = getTargetNode(e).parentNode;
	target_node.style.backgroundColor = '#ffffff' ;
	target_node.style.color = '#000000' ;
	document.getElementById('console').value = '' ;
}

//各高校の内申の基準値を表に表示
function displayStandard(e){
	var targetNodeId = getTargetNode(e).parentNode.id;	
	document.getElementById("sanka_suisen").value = sankaSuisen[targetNodeId] ;
	document.getElementById("sanka_heigan").value = sankaHeigan[targetNodeId] ;
	document.getElementById("goka_suisen").value = gokaSuisen[targetNodeId] ;
	document.getElementById("goka_heigan").value = gokaHeigan[targetNodeId] ;
	document.getElementById("kyuuka_suisen").value = kyuukaSuisen[targetNodeId];
	document.getElementById("kyuuka_heigan").value = kyuukaHeigan[targetNodeId];
	document.getElementById("kanagawa_suisen").value = kanagawaSuisen[targetNodeId];
	document.getElementById("kanagawa_heigan").value = kanagawaHeigan[targetNodeId];
	document.getElementById("sanka23_suisen").value = sanka23Suisen[targetNodeId];
	document.getElementById("sanka23_heigan").value = sanka23Heigan[targetNodeId];
	document.getElementById("goka23_suisen").value = goka23Suisen[targetNodeId];
	document.getElementById("goka23_heigan").value = goka23Heigan[targetNodeId];
	document.getElementById("kyuuka23_suisen").value = kyuuka23Suisen[targetNodeId];
	document.getElementById("kyuuka23_heigan").value = kyuuka23Heigan[targetNodeId];
	document.getElementById("goka3nibai_suisen").value = goka3nibaiSuisen[targetNodeId];
	document.getElementById("goka3nibai_heigan").value = goka3nibaiHeigan[targetNodeId];
	document.getElementById("sName").value = displayScName[targetNodeId] ;
}

// 五十音検索の機能
function searchByAlphabet(e){
	btnDisabled();
	//http通信を行いxmlデータを取得
	getSchool();
	var targetNodeValue = getTargetNode(e).firstChild.nodeValue ;
	var firstWord = schoolList.getElementsByTagName("name_kana");
	for (r = schoolNumbers - 1; r >= 0; r = r - 1) {
		var str = firstWord[r].firstChild.nodeValue ;
		if (str.charAt(0) != targetNodeValue ) {
			schoolList.getElementsByTagName("dataroot")[0].removeChild(schoolList.getElementsByTagName("dataroot")[0].childNodes[r]);
		}
	}
	resultNumbers = schoolList.getElementsByTagName("school_info").length;
	//リスト作成
	showResultOfList();
}
//五十音検索のカナの背景を変える関数
function changeBackground(e){
	var targetKana = getTargetNode(e);
	targetKana.style.background = 'white' ;
	targetKana.style.cursor = 'pointer' ;
}
function offBackground(e){
	var targetKana = getTargetNode(e);
	targetKana.style.background = 'aqua' ;
}

// 高校名検索の機能
function searchByName(){
	btnDisabled();
	getSchool();
	var targetSchoolName = document.getElementById('inputName').value;
	var schoolNames = schoolList.getElementsByTagName("name_kanji");
	for (s = schoolNumbers - 1; s >= 0; s = s - 1) {
		var str = schoolNames[s].firstChild.nodeValue ;
		if (str.indexOf(targetSchoolName,0) == -1 ) {
			schoolList.getElementsByTagName("dataroot")[0].removeChild(schoolList.getElementsByTagName("dataroot")[0].childNodes[s]);
		}
	}
	resultNumbers = schoolList.getElementsByTagName("school_info").length;
	//リスト作成
	showResultOfList();
	
}

//検索結果表示時にリストのウィンドウを変化させる関数
function showResultOfList(){
	var heightOfList = 440 ;
	var addList = 20 ;
	var funcListWin = function(){
			heightOfList = heightOfList - addList
			if(heightOfList >= 440){
				btnAbled();
				clearInterval(list_timer);
			}
			document.getElementById('outareaOfList').style.height = heightOfList + 'px';
			//ウィンドウの最小値（データの変わり目）
			if ( heightOfList <= 20 ){
				//リスト作成
				completeList();
				addList = -addList ;
			}
	};
	list_timer = setInterval(funcListWin, 15);
}

//コメントテキストエリアに文章を表示する関数
function writeComent(e){
	var targetNodeId = getTargetNode(e).id;	
	var target_url = 'text/' + targetNodeId + '.txt';
	var httpObj2 = getHttpObject();
	httpObj2.open("GET", target_url , true);
	httpObj2.onreadystatechange = function(){
		if(httpObj2.readyState == 4){
			if(httpObj2.status == 200){
				document.getElementById("console").value = httpObj2.responseText;
			}
		}
	}
	httpObj2.send(null);
}
	//コメントテキストエリアの文章を消去する
	function delComent(e){
		document.getElementById("console").value ="";
	}

//地図パネルを開いてグーグルマップ上に学校を表示・詳細ウィンドウを表示
function openMapPanel(e) {
	var selectedListId = parseInt(getTargetNode(e).parentNode.id);	
	var elemPanel = document.getElementById("flexWindow");
	shrinkWindow(elemPanel, 0, 120, 320, 485, 320, 485, 10, 'map');
	//地図表示に必要な住所を変数に格納
	var schoolAddress1 = schoolList.getElementsByTagName("schooladdress1");
	var schoolAddress2 = schoolList.getElementsByTagName("schooladdress2");
	var courseName = schoolList.getElementsByTagName("coursename");
	var schoolHP  = schoolList.getElementsByTagName("school_hp");
	var educationName = schoolList.getElementsByTagName("educationname");
	var schoolNames = schoolList.getElementsByTagName("name_kanji");
	var schoolInfo = schoolList.getElementsByTagName("school_info"); 
	var ensen =schoolList.getElementsByTagName("ensen");
	var station = schoolList.getElementsByTagName("station")
	googleAddress = schoolAddress1[selectedListId].firstChild.nodeValue + 
		schoolAddress2[selectedListId].firstChild.nodeValue;
	hpAddress =schoolHP[selectedListId].firstChild.nodeValue ;
	name = schoolNames[selectedListId].firstChild.nodeValue + 
	      	" (" + courseName[selectedListId].firstChild.nodeValue + ")" + 
	      	" ・" + educationName[selectedListId].firstChild.nodeValue ;
	for ( i = 0 ; i <=3 ; i = i + 1){
		if(schoolInfo[selectedListId].getElementsByTagName("ensen")[i]){
			access[i] = schoolInfo[selectedListId].getElementsByTagName("ensen")[i].firstChild.nodeValue + "  " +
						schoolInfo[selectedListId].getElementsByTagName("station")[i].firstChild.nodeValue ;
		} else {
			access[i]="" ;
		}
	}
	//住所をグーグルに渡す
	showAddress(googleAddress , name , hpAddress , access[0] ,access[1],access[2],access[3] );
	//詳細ウィンドウを開く
//	openDetailWindow(e);
}

//詳細ウィンドウを開く関数
function openDetailWindow(e) {
	var detailWindow = document.getElementById("detailWindow") ;
	var detailWindowX = document.getElementById('container').offsetLeft + 318 ;
	var detailWindowY = document.getElementById('container').offsetTop + 470 ;
	detailWindow.style.left = detailWindowX + 'px' ;
	detailWindow.style.top = detailWindowY + 'px' ;
	document.getElementById('detailWindow1').innerText = name ;
	document.getElementById('detailWindow2').innerText = address ;
	document.getElementById('detailWindow3').innerText = access[0] ;
	document.getElementById('detailWindow4').innerText = access[1] ;
	document.getElementById('detailWindow5').innerText = access[2] ;
	document.getElementById('detailWindow6').innerText = access[3] ;
	detailWindow.style.visibility = 'visible' ;
}
//詳細ウィンドウを閉じる関数
function closeDetailWindow() {
	var detailWindow = document.getElementById("detailWindow") ;
	detailWindow.style.visibility = 'hidden' ;
}
//詳細ウィンドウを動かす関数
function dragStart(e){
	//子ウィンドウとマウスポインターの位置の差分を求める
	var detailWindow = document.getElementById("detailWindow") ; 
	leftDif = e.clientX - parseInt(detailWindow.style.left);
	topDif =  e.clientY - parseInt(detailWindow.style.top);
	//イベントリスナーをbarにセット
	var bar = document.getElementById('bar');
	addListener(bar , 'mousemove' , moveDetailWindow , false );
	addListener(bar , 'mouseup' , dragEnd , false );
	addListener(bar , 'mouseout' , dragEnd , false );
}
function dragEnd(e){
	//barにセットされたイベントリスナーを解除
	var bar = document.getElementById('bar');
	removeListener(bar , 'mousemove' , moveDetailWindow , false );
	removeListener(bar , 'mouseup' , dragEnd , false );
	removeListener(bar , 'mouseout' , dragEnd , false );
}
function moveDetailWindow(e){
	var detailWindow = document.getElementById("detailWindow") ; 
	detailWindow.style.left = (e.clientX - leftDif ) + 'px' ;
	detailWindow.style.top = (e.clientY - topDif ) + 'px' ;
}

// 初期設定
function defaultAction() {
	btnReset();
	document.getElementById("displayList").innerHTML = '';
	document.getElementById("btnLeft").disabled = true ;
	document.getElementById("btnRight").disabled = true ;
	document.getElementById('outareaOfList').style.height = '440px' ;
}

