/*************************************************
* 【群馬土砂】公開Web
* トップ画面用JS
*
* 更新履歴
* [01] 2010.04.06 M.Kudo      新規作成
*************************************************/

//土砂災害警戒情報データファイル
var DOSYAFILE = "../info/DOSYA.txt";
//雨量警報データファイル
var KISYOFILE = "../info/KISYO_3.txt";
//危険度情報定義ファイル
var KIKENFILE = "../info/DOSYA00.txt";

var DOSYADATA;
var KISYODATA;
var KIKENDATA;

/**
 * 画面オンロード時の処理
 */
window.onload = function(){
	//グローバル変数を設定する
	setConst();

	//アクセスカウンター画像生成
	var cntIMG;

	//一般向けの場合
	if(gname == "i"){
		cntIMG = document.createElement("img");
		cntIMG.src = "../cgi-bin/cntI/analyzer.cgi?v=total";
	}
	//防災機関向けの場合
	else if(gname == "b"){
		cntIMG = document.createElement("img");
		cntIMG.src = "../cgi-bin/cntB/analyzer.cgi?v=total";
	}

	//指定位置にアクセスカウンター画像を挿入する
	if(cntIMG){
		$("counter").appendChild(cntIMG);
	}

	//ボタンにアクションを割り当てる
	$("detailLink1").onclick = function(){
		gamenLink('016040','01');
	}
	$("detailLink2").onclick = function(){
		gamenLink('116040','01');
	}
	$("aboutDosya1").onclick = function(){
		gamenLink('300000','01');
	}
	$("aboutDosya2").onclick = function(){
		gamenLink('310003','01');
	}
	$("happyo").onclick = function(){
		gamenLink('016040','01');
	}
	$("kikendo").onclick = function(){
		gamenLink('116040','01');
	}
	$("reload").onclick = function(){
		window.location.reload(true);
	}


	xxx();
}

/**
 * 画面リロード時の処理
 * @raturn {void}
 */
function xxx(){
	//キャッシュ対策
	var csDate = new Date();
	//気象情報差し替え
	$("kisyo").src = "../img/contents/happyo/happyoMini.png?cache="+csDate;
	//危険度差し替え
	$("mesh").src = "../img/contents/mesh/mini01_05_k00.png?cache="+csDate;

	//土砂災害警戒情報を取得する
	dataGet(DOSYAFILE,getDosyaData);
	//危険度情報を取得する
	dataGet(KIKENFILE,getKikenData);
}

/**
 * 土砂災害警戒情報を取得してグローバルに格納する
 * @param {String} rtnData データ取得成功：テキストデータ / 失敗：null
 * @raturn {void}
 */
function getDosyaData(rtnData){
	//取得したデータをグローバル変数に格納する
	DOSYADATA = rtnData;

	//気象情報を取得する
	dataGet(KISYOFILE,getKisyoData);
}

/**
 * 気象情報を取得してグローバルに格納する
 * @param {String} rtnData データ取得成功：テキストデータ / 失敗：null
 * @raturn {void}
 */
function getKisyoData(rtnData){
	//取得したデータをグローバル変数に格納する
	KISYODATA = rtnData;

	//発表状況を画面に表示する
	setBousaiKisyo();
}

/**
 * 発表状況を画面に表示する
 * @raturn {void}
 */
function setBousaiKisyo(){
	//データ取得処理に失敗した場合
	if(KISYODATA == null){
		//エラーメッセージを表示して処理終了
		alert("土砂災害警戒情報の取得に失敗しました");
		return;
	}
	//ファイルの中身がないorファイルがない場合
	else if(KISYODATA.length == 0 || KISYODATA == "Error404"){
		//エラーメッセージを表示して処理終了
		alert("土砂災害警戒情報の取得に失敗しました\n少し時間をおいてから再度更画面を更新してください");
		return;
	}

	//土砂および気象の発令状況
	var dataCheck = false;

	//取得したデータを改行で分割する
	DOSYADATA = DOSYADATA.split("\n");

	//取得したデータの行数分ループする
	for(var i = 1; i < DOSYADATA.length-1; i++){
		//各行のデータをカンマで分割する
		DOSYADATA[i] = DOSYADATA[i].split(",");

		//各行のデータ数分ループする
		for(var j = 0; j < DOSYADATA[i].length; j++){
			//発令されている市町村があればフラグを立ててループから抜ける
			if(DOSYADATA[i][j] > 0){
				dataCheck = true;
				break;
			}
		}
	}

	//土砂で発令がなければ気象もチェックする
	if(!dataCheck){
		//取得したデータを改行で分割する
		KISYODATA = KISYODATA.split("\n");

		//取得したデータの行数分ループする
		for(var i = 1; i < KISYODATA.length-1; i++){
			//各行のデータをカンマで分割する
			KISYODATA[i] = KISYODATA[i].split(",");

			//各行のデータ数分ループする
			for(var j = 0; j < KISYODATA[i].length; j++){
				//発令されている市町村があればフラグを立ててループから抜ける
				if(KISYODATA[i][j] > 0){
					dataCheck = true;
					break;
				}
			}
		}
	}

	var url = "";
	//結果を画面に表示する
	if(dataCheck){
		url = "url(../img/top/red.png)";
		$("detailLink1").getElementsByTagName("span")[0].getElementsByTagName("span")[0].firstChild.nodeValue = "あり";
	}
	else{
		url = "url(../img/top/blue.png)";
		$("detailLink1").getElementsByTagName("span")[0].getElementsByTagName("span")[0].firstChild.nodeValue = "なし";
	}
	var css_list = document.styleSheets;
	if (css_list) for (var i = 0; i < css_list.length; i++) {
		var rule_list = (css_list[i].cssRules) ? css_list[i].cssRules : css_list[i].rules;
		for (var ii = 0; ii < rule_list.length; ii++){
			if (rule_list[ii].selectorText.toLowerCase() == 'div#detaillink1'){
				with (rule_list[ii].style) {
					//結果を画面に表示する
					rule_list[ii].style.backgroundImage = url;
				}
			}
		}
	}
}

/**
 * 危険度情報を取得して画面に表示する
 * @param {String} rtnData データ取得成功：テキストデータ / 失敗：null
 * @raturn {void}
 */
function getKikenData(rtnData){
	KIKENDATA = rtnData;

	//データ取得に失敗した場合
	if(KIKENDATA == null){
		//エラーメッセージを表示して処理終了
		alert("土砂災害警戒情報の取得に失敗しました");
	}
	//ファイルの中身がないorファイルがない場合
	else if(KIKENDATA.length == 0 || KIKENDATA == "Error404"){
		//エラーメッセージを表示して処理終了
		alert("土砂災害警戒情報の取得に失敗しました\n少し時間をおいてから再度更画面を更新してください");
	}
	//データ取得に成功した場合
	else{
		//取得したデータを改行で分割する
		KIKENDATA = KIKENDATA.split("\n");

		//CL超過状況
		var dataCheck = false;

		//取得したデータの行数分ループする
		for(var i = 1; i < KIKENDATA.length-1; i++){
			//各行のデータをカンマで分割する
			KIKENDATA[i] = KIKENDATA[i].split(",");

			//各行のデータ数分ループする
			for(var j = 0; j < KIKENDATA[i].length; j++){
				//CL超過しているメッシュがあればフラグを立ててループから抜ける
				if(KIKENDATA[i][j] > 0){
					dataCheck = true;
					break;
				}
			}
		}

		var url = "";
		//結果を画面に表示する
		if(dataCheck){
			url = "url(../img/top/red.png)";
			$("detailLink2").getElementsByTagName("span")[0].getElementsByTagName("span")[0].firstChild.nodeValue = "あり";
		}
		else{
			url = "url(../img/top/blue.png)";
			$("detailLink2").getElementsByTagName("span")[0].getElementsByTagName("span")[0].firstChild.nodeValue = "なし";
		}
		var css_list = document.styleSheets;
		if (css_list) for (var i = 0; i < css_list.length; i++) {
			var rule_list = (css_list[i].cssRules) ? css_list[i].cssRules : css_list[i].rules;
			for (var ii = 0; ii < rule_list.length; ii++){
				if (rule_list[ii].selectorText.toLowerCase() == 'div#detaillink2'){
					with (rule_list[ii].style) {
						//結果を画面に表示する
						rule_list[ii].style.backgroundImage = url;
					}
				}
			}
		}
	}
}

