
var todays = {};
var todaysEventSelect
var todaysEventField

function search(arr, tar){
	//console.log(arr.length)
	if (arr.length <= 0) return null;
	var middle = Math.floor((arr.length - 1)/2);
	var selectMiddle = arr[middle].split(",");
	//console.log("search" + selectMiddle);
	
	if (selectMiddle[0] > tar) {
		return search(arr.slice(0, middle), tar);
	}else if (selectMiddle[0] < tar) {
		return search(arr.slice(middle + 1, arr.length), tar);
	}else {
		return selectMiddle;
	}
}


function onSuccess(allData){
	var allDataArr = allData.replace(/\r\n?/g,"\n").split("\n");
	
	//var todayArr = search(allDataArr,getTodayDate());
	/*for(i = 0; i < allDataArr.length; i++) {
		allDataArr[i] = allDataArr[i].split(",");
		if (allDataArr[i][0] == getTodayDate()) {
			var todayArr = allDataArr[i];
			break;
		}
	}*/
	var todayArr = search(allDataArr, getTodayDate());//"0000");
	
	if (todayArr == null) {
		errorView();
	} else {
		todays = {
			date:          todayArr[0],
			stone:         todayArr[1],
			stoneWord:     todayArr[2],
			flower:        todayArr[3],
			flowerWord:    todayArr[4],
			person1:       todayArr[5],
			person1_birth: todayArr[6],
			person1_intro: todayArr[7],
			event_year:    todayArr[8],
			event:         todayArr[9]
		};
		selectTodayDoc(todaysEventSelect.val());
		
		todaysEventSelect.change(function(){
				selectTodayDoc(todaysEventSelect.val());
			});
	}
	
}

function selectTodayDoc(selectedValue){//console.log(selectedValue)
		if(selectedValue == 1){
			$("#todays_event_field").html("【誕生石】" + todays.stone + "<br />【石言葉】" + todays.stoneWord);
		}else if(selectedValue == 2) {
			$("#todays_event_field").html("【花の名前】" + todays.flower + "<br />【花言葉】" + todays.flowerWord);
		}else if(selectedValue == 3){
			$("#todays_event_field").html("【名前】" + todays.person1 + "<br />【生年】" + todays.person1_birth + "年<br />【概要】" + todays.person1_intro);
		}else{
			$("#todays_event_field").html("【西暦】" + todays.event_year + "年<br />【出来事】" + todays.event);
		}
}

function getTodayDate(){
	var date = new Date();
	return addZero(date.getMonth() + 1) + addZero(date.getDate());
}
function addZero(num){
	if(num < 10) num = "0" + num;
	return String(num);
}

function errorView(){
	todaysEventField.html("データを取得できませんでした。");
}


$(function(){
	todaysEventSelect = $("#todays_event_select");
	todaysEventField = $("#todays_event_field");
	$.ajax({
        url: "todays_event/data.csv",
        dataType: "text",
        cache: true,
		timeout : 8000,
		beforeSend: function(){
			todaysEventField.html("<img src='common/img/ajax-loader.gif' />")
		},
		success: onSuccess,
		error: errorView
	});
			   
});