// JavaScript Document
// ************************************************************

// ************************************************************
// 	Data section
// ************************************************************

var date = "";
var datename = "";

var serverUrl = "http://fuji.kougyoku.jp/";

/* PHP script URL */
var phpFol = serverUrl + "script/scraping/";
var TemplFile = "kion.php";
var WethrFile1 = "tenki1.php";
var WethrFile2 = "tenki2.php";

/* MSG */
var errmesg = "Data Load Error.";
var lodmesg = "loading...";

/* Weather icon */
var iconFol = serverUrl + "icons/weather";
var erricon = "_nodata.gif";
var lodicon = "_loading.gif";
var iconsiz = 'width="60" height="40"';

/* Temperature icon */
var temp_erricon = serverUrl + "icons/temp_error.gif";
var temp_lodicon = serverUrl + "icons/temp_loading.gif";
var temp_iconsiz = 'width="26" height="26"';

/* Link URL */

var link_timeTtl = "富士山 山頂付近の日出入時刻";
var link_timeUrl = "http://fuji.kougyoku.jp/suntimes.html";

var link_tempTtl = "気象庁 富士山 毎正時の観測データ";
var link_tempUrl = "http://www.jma.go.jp/jp/amedas_h/today-50066.html?groupCode=35&areaCode=000";

var link_wethTtl1 = "富士吉田市の天気［日本気象協会］";
var link_wethUrl1 = "http://tenki.jp/forecast/point-893.html";

var link_wethTtl2 = "富士宮市の天気［日本気象協会］";
var link_wethUrl2 = "http://tenki.jp/forecast/point-1058.html";


// ************************************************************
// 	function actions
// ************************************************************

jQuery(document).ready(function(){
								
	/* *** 日出入時刻 ******************** */
	// today
	var currentDate = new Date();
	var yyyy = currentDate.getFullYear();
	var mm = ("0" + (currentDate.getMonth() + 1)).slice(-2);
	var dd = ("0" + (currentDate.getDate())).slice(-2);
	var todyDate = new Date(yyyy,mm,dd);

	date = yyyy+"/"+mm+"/"+dd;
	datename = yyyy+"年"+mm+"月"+dd+"日";
	
	// 日出入時刻計算
	lookupTime(date); 
	jQuery("#sundate").text(datename);
	
	
	/* *** 気温 *********************** */
	
	getTempl();
	
	/* *** 天気 *********************** */
	
	getWeather(WethrFile1,"#weather1","#weather2","#release1");
	getWeather(WethrFile2,"#weather3","#weather4","#release2");
	
	
	/* *** LINK & CLICK *************** */
	
	jQuery('#suntime').attr("title",link_timeTtl);
	jQuery('#suntime').click(function(){
		document.location = link_timeUrl;
	});
	
	jQuery('#temperature').attr("title",link_tempTtl);
	jQuery('#temperature').click(function(){
		window.open(link_tempUrl, 'newwin');
	});
	
	jQuery('#weather1,#weather2').attr("title",link_wethTtl1);
	jQuery('#weather1,#weather2').click(function(){
		window.open(link_wethUrl1, 'newwin');
	});

	jQuery('#weather3,#weather4').attr("title",link_wethTtl2);
	jQuery('#weather3,#weather4').click(function(){
		window.open(link_wethUrl2, 'newwin');
	});

});


// ************************************************************
// 	気温
// ************************************************************

function getTempl(){
	var req = null;
	
	var newObsrvDate = "";
	var newObsrvTime = "";
	var newObsrvTmpl = "";
		
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	var requestUrl = phpFol + TemplFile;
	req.open("GET", requestUrl);
	req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) {
			var datas = req.responseText;
			var data  = datas.split(",");
			jQuery.each(data,function(i) {
				if(this.indexOf(".") > 0){
					newObsrvTmpl = '<span>'+ this +'</span>℃';
					newObsrvTime = i;
				}
			});
			newObsrvDate = data[0];
			if(newObsrvTime == ""){
				jQuery('#tempdate').html(newObsrvDate+'<br />--時現在の気温');
				jQuery('#tempnum').html('未観測');
			} else {
				jQuery('#tempdate').html(newObsrvDate+'<br />'+newObsrvTime+'時現在の気温');
				jQuery('#tempnum').html(newObsrvTmpl);
			}
		} else
		if (req.readyState == 1) {
			// loading now
			jQuery('#tempdate').html(lodmesg);
			jQuery('#tempnum').html('<img src="'+temp_lodicon+'" title="'+lodmesg+'" alt="'+lodmesg+'" '+temp_iconsiz+' />');
		} else {
			// load error
			jQuery('#tempdate').text(errmesg);
			jQuery('#tempnum').html('<img src="'+temp_erricon+'" title="'+errmesg+'" alt="'+errmesg+'" '+temp_iconsiz+' />');
		}
		//
	}
	req.send(null);
}

// ************************************************************
// 	天気
// ************************************************************

function getWeather(WethrFile,wtID1,wtID2,release){
	var req = null;
		
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	var requestUrl = phpFol + WethrFile;
	req.open("GET", requestUrl);
	req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) {
			var datas = req.responseText;
			var data  = datas.split(":::");
			var head_day = data[0];
			var head_time = data[1];
			var tenkdata1 = data[2];
			var tenkdata2 = data[3];
			
			var time_str1 = head_time.split("時");
			var time_str2 = time_str1[1].split("分");
			var time_mm = time_str2[0];
			if(time_mm == "0"){
				head_time = time_str1[0]+"時00分"+time_str2[1];
			}
			
			tenki(tenkdata1,wtID1);
			tenki(tenkdata2,wtID2);
		} else
		if (req.readyState == 1) {
			jQuery(wtID1).find(".icon").html('<img src="'+iconFol+lodicon+'" title="'+lodmesg+'" alt="'+lodmesg+'" '+iconsiz+' />');
			jQuery(wtID2).find(".icon").html('<img src="'+iconFol+lodicon+'" title="'+lodmesg+'" alt="'+lodmesg+'" '+iconsiz+' />');
			jQuery(wtID1).find(".tenkigai").text(lodmesg);
			jQuery(wtID2).find(".tenkigai").text(lodmesg);
			var head_day = "now";
			var head_time = lodmesg;
		} else {
			//
			jQuery(wtID1).find(".icon").html('<img src="'+iconFol+erricon+'" title="'+errmesg+'" alt="'+errmesg+'" '+iconsiz+' />');
			jQuery(wtID2).find(".icon").html('<img src="'+iconFol+erricon+'" title="'+errmesg+'" alt="'+errmesg+'" '+iconsiz+' />');
			jQuery(wtID1).find(".tenkigai").text(errmesg);
			jQuery(wtID2).find(".tenkigai").text(errmesg);
			var head_day = "Data";
			var head_time = "Load Error.";
		}
		//
		jQuery(release).text(head_day+" "+head_time);
	}
	req.send(null);
}

// 天気予報データ処理
function tenki(tenkidatas,divId){
	
	var datas = tenkidatas.split(",");
	var data_date = datas[0];
	var data_tenki = datas[1];
	var data_iconStr = datas[2];
	var data_kionMax = datas[3];
	var data_kionMin = datas[4];
	
	// date
	var date_str = data_date.split("(");
	var date = date_str[0];
	
	// icon
	var iconNum = parseInt(data_iconStr.slice(-6,-4), 10);
	//var iconNum = parseInt(data_iconStr.substring(0,2), 10) ;
	if(iconNum > 30){
		data_iconStr = erricon;
	}
	var iconSrc = iconFol + data_iconStr.slice(-6);
	
	// setDiv ID name
	var setDivId = divId;
	
	jQuery(setDivId).find(".tenkidate").text(date);
	jQuery(setDivId).find(".icon").html('<img src="'+iconSrc+'" title="'+data_tenki+'" alt="'+data_tenki+'" '+iconsiz+' />');
	jQuery(setDivId).find(".tenkigai").text(data_tenki);
	jQuery(setDivId).find(".kionmax").text(data_kionMax);
	jQuery(setDivId).find(".kionmin").text(data_kionMin);

}



// ************************************************************
// 	lookupTime :: 日出入時刻計算
// ************************************************************

function lookupTime(date){
	var lookupSrTime = lookupTime2(date,srDataSt10);
	var lookupSsTime = lookupTime2(date,ssDataSt10);
	jQuery("#sunristime").text(lookupSrTime);
	jQuery("#sunsettime").text(lookupSsTime);
}

function lookupTime2(date,dataname){
	var arrDate = "";
	var arrTime = "";
	// 該当日の経過分数を調べる
	jQuery.each(dataname, function(){
		arrDate = this[0];
		arrTime = this[1];
		return (arrDate != date);
	});
	// 経過分数を時刻に変換
	var timeMM = arrTime % 60;
	var timeHH = (arrTime - timeMM) / 60;
	timeMM = ("0" + timeMM).slice(-2);
	timeHH = ("0" + timeHH).slice(-2);
	arrTime = timeHH +":"+timeMM;
	return(arrTime);
}



