/*
 * home-information.js
 * 
 * Copyright (c) 2010 MonkeyWorks Corporation
 *
 * Since:     2010-01-08
 * Modified:  2010-02-23
 *
 * jQuery 1.3.1
 * 
*/

(function($){
	$(function(){
		
		// ------------------------------------------------------------------------
		// 設定
		// ------------------------------------------------------------------------
		
		// URL
		var url = "event/calendar/calendar.xml";
		
		// 表示件数
		var cnt = 4;
		
		// #calendar-messageを非表示
		$("#calendar-message").hide();
		
		
		// ------------------------------------------------------------------------
		// 処理
		// ------------------------------------------------------------------------
		
		// 今日の日付
		var today = new DateFormat("yyyyMMdd").format(new Date());
		
		// 変数
		var r = new Array();
		var err = false;
		var msg = "";
		var flag = new Object();
		flag["this"] = false;
		flag["next"] = false;
		
		// ajax
		$.ajax({
			url: url,
			type: "GET",
			dataType: "xml",
			timeout: 10000,
			cache: false,
			error: function(){
				// 読み込めなかった場合
				//alert("データの取得に失敗しました。");
				
				// 成否
				err = true;
				msg = "データの読み込みに失敗しました。";
				
				// HTMLを出力
				homeCalendarHtmlOutpu(err, r, msg);
				
			},
			success: function(xml){
				// 読め込めた場合
				//alert("データの取得に成功しました。");
				
				if ($(xml).find("entry").length > 0) {
					// データあり
					var n = 0;
					$(xml).find("entry").each(function(){
						// 今日の日付を判別
						if ($(this).find("date").text() == today) {
							// データを取得
							r[n] = new Object();
							r[n]["title"] = $(this).find("title").text();	// タイトル
							r[n]["link"] = $(this).find("link").text();	// リンク
							r[n]["image"] = $(this).find("image").text();	// 画像
							err = false;	// 成否
							flag["this"] = true;	// フラグ
							
							// ループを抜ける
							n++;
							if (cnt <= n) {
								return false;
							}
						}
						
						// 今日以降ならループを抜ける
						if (Number($(this).find("date").text()) >= (Number(today) + 1)) {
							if (n == 0) {
								// データなし
								err = true;
								msg = "本日のイベントはありません。";
							}
							return false;
						}
						
					});
				} else {
					// データなし
					err = true;
					msg = "本日のイベントはありません。";
					
				}
				
				// HTMLを出力
				homeCalendarHtmlOutpu(err, r, msg);
				
			}
		});
		
	});
})(jQuery);


// ------------------------------------------------------------------------
// 共通関数
// ------------------------------------------------------------------------

// HMTMLを出力
function homeCalendarHtmlOutpu(error, result, message) {
	
	// 変数
	var text = "";
	
	// 判別
	if (error == false) {
		// データ有り
		
		// リストの始まり
		text += '<ul class="link-list">';
		
		// お知らせ内容
		for (var i=0;i < result.length;i++) {
			text += '<li><a href="' + result[i]["link"] + '">' + result[i]["title"] + '</a></li>';
		}
		
		// テーブルの終わり
		text += '</ul>';
		
		// 画像
		$("#calendar-image").attr("src", result[0]["image"]);
		
	} else {
		// データ無し
		$("#calendar-message").text(message);
		$("#calendar-message").show();
		
	}
	
	// HTMLへ出力
	$("#home-calendar-output").append(text);
	
}
