google.load("gdata","2");

var service = null;
var url = "http://www.google.com/calendar/feeds/fj8igo10sn84fl78t1i4i6v9i8%40group.calendar.google.com/public/full";

var this_date;
var this_hiduke;
var this_weekday;
var newNavi = '<a onClick="g_change(-1)">&lt;&lt; 前日</a> ・ <a onClick="g_change(0)">今日</a> ・ <a onClick="g_change(1)">翌日 &gt;&gt;</a>';
var holiday = false;
var changeSound = false;

function setThisDate(d_num){
	var nmsec = d_num * 1000 * 60 * 60 * 24;
	var date = new Date(new Date().getTime() + nmsec);
	var yy = date.getYear();
	var mm = date.getMonth() + 1;
	var dd = date.getDate();
	var week = ["（日）", "（月）", "（火）", "（水）", "（木）", "（金）", "（土）"];
	this_weekday = week[date.getDay()];
	this_hiduke = mm + "月" + dd + "日";
	if (yy < 2000){
		yy += 1900;
	}
	if (mm < 10){
		mm = "0" + mm;
	}
	if (dd < 10){
		dd = "0" + dd;
	}
	this_date = yy + "-" + mm + "-" + dd;
}

function getMyFeed(){
	service = new google.gdata.calendar.CalendarService("calendar-sample");
	query = new google.gdata.calendar.CalendarEventQuery(url);
	query.setOrderBy(google.gdata.calendar.CalendarEventQuery.ORDERBY_START_TIME);
	query.setSortOrder(google.gdata.calendar.CalendarEventQuery.SORTORDER_ASCENDING);
	query.setSingleEvents(true);
	query.setMaxResults(10);
	var start = new google.gdata.DateTime.fromIso8601(this_date + "T00:00:00.000");
	var end = new google.gdata.DateTime.fromIso8601(this_date + "T23:59:59.000"); 
	query.setMinimumStartTime(start);
	query.setMaximumStartTime(end);
	service.getEventsFeed(query, callback, handleError);
}

function callback(result) {
	if (changeSound){
		soundArray = new Array('0:00');
	}
	var entries = result.feed.entry;
	var res = '<h3 class="tweet_pub">' + this_hiduke + this_weekday + "の授業</h3>";
	res += '<p class="tweet_main wide">';
	if (entries.length){
		for (var i = 0; i < entries.length; i++) {
			var entry = entries[i];
			var title = entry.getTitle().getText();
			var times = entry.getTimes();
			var content = entry.getContent().getText();
			var sTime = times[0].startTime.substring(11, 16);
			var eTime = times[0].endTime.substring(11, 16);
			res += '<span class="time">' + sTime + " 〜 " + eTime + "</span>　" + title;
			if (changeSound){
				soundArray.push(sTime);
				soundArray.push(eTime);
			}
			if (content){
				res += '<br /><span class="description">' + content + "</span>";
			}
			res += "<br />";
			holiday = false;
		}
	}else{
		res += '<div class="holiday">本日はお休みです</div>';
		holiday = true;
	}
	res += '</p><div class="afterTweets"><p class="double">(　)内の数字は出席予定者数を表します。 出席予定者がいない時間は教室を閉めている可能性がありますので、ご来塾の際にはご注意ください。 随時、<span class="green">授業見学可能</span>です。 まずはお電話ください。</p></div>';
	document.getElementById("gcal_box").innerHTML = res;
	$("#gcal_box").fadeIn();
	document.getElementById("g_navi").innerHTML = newNavi;
}

function handleError(error) {
	var res = '<h4 class="tweet_pub">Error</h4>';
	res += '<p class="tweet_main wide">' + error + '</p>';
	document.getElementById("gcal_box").innerHTML = res;
	$("#gcal_box").fadeIn();
	document.getElementById("g_navi").innerHTML = newNavi;
}

function g_change(d_num){
	if (d_num == 0){
		changeSound = true;
	}else{
		changeSound = false;
	}
	setThisDate(d_num);
	$("#gcal_box").fadeOut();
	document.getElementById("g_navi").innerHTML = "Now Loading...";
	getMyFeed();
	setNewNavi(d_num);
}

function setNewNavi(d_num){
	newNavi = '<a onClick="g_change(' + (d_num - 1) + ')">&lt;&lt; 前日</a> ・ <a onClick="g_change(0)">今日</a> ・ <a onClick="g_change(' + (d_num + 1) + ')">翌日 &gt;&gt;</a>';
}

function init(){
	g_change(0);
}

setThisDate(0);
google.setOnLoadCallback(init);

