﻿ /*-------------------------
BLOG
-------------------------*/
var Blog = {
	conf : {
		areaID : 'blog_Html',
		blogXML : '../xml/blog.xml'
	},
	init : function ()
	{
		var innHTML = '<p class="loadMess">データを取得しています。</p>';
		Element.update ($ (Blog.conf.areaID) , innHTML);
		
		var blogObj = new Ajax.Request (Blog.conf.blogXML,
		{
			"method" : "get",
			onSuccess : function (request)
			{
				var innHTML = '';
				innHTML += '\n<ul>\n';
				innHTML += Blog.parseAset (request);
				innHTML += '</ul>\n';
				//
				Element.update ($ (Blog.conf.areaID) , innHTML);
			},
			onComplete : function (request)
			{
			},
			onFailure : function (request)
			{
				var innHTML = '<p class="loadMess">データの取得に失敗しました。</p>';
				Element.update ($ (Blog.conf.areaID) , innHTML);
			},
			onException : function (request)
			{
				var innHTML = '<p class="loadMess">データの取得中にエラーが起きました。</p>';
				Element.update ($ (Blog.conf.areaID) , innHTML);
			}
		});
	},
	parseAset : function (resXML)
	{
		var maintenanceFlg = resXML.responseXML.getElementsByTagName ("maintenance")[0].firstChild.nodeValue;
		var returnHTML = '';
		if(maintenanceFlg == 1){
			returnHTML = '<p class="loadMess">現在、メンテナンス中です。</p>';
		}else{
			var itemNode = resXML.responseXML.getElementsByTagName ("item");
			var arItem = $A (itemNode);
			//
			var blogArray = new Array();
			arItem.each (function (obj)
			{
				var imageURL = obj.getElementsByTagName ("img")[0].firstChild.nodeValue;
				var linkURL = obj.getElementsByTagName ("link")[0].firstChild.nodeValue;
				var rssSort = obj.getElementsByTagName ("rssSort")[0].firstChild.nodeValue.toUpperCase();
				rssSort = rssSort.split(" ").join("");
				rssSort = rssSort.split(".").join("");
				var rssID = obj.getElementsByTagName ("rssID")[0].firstChild.nodeValue;
				
				blogArray[rssSort] = [rssID, imageURL, linkURL];
			} );
			//
			var blogIDarray = $A (resXML.responseXML.getElementsByTagName ("rssSort"));
			var blogIDarray2 = new Array();
			blogIDarray.each( function( value, index)
			{
				var rssSortStr = value.firstChild.nodeValue.toUpperCase();
				rssSortStr = rssSortStr.split(" ").join("");
				rssSortStr = rssSortStr.split(".").join("");
				blogIDarray2.push(rssSortStr);
			} );
			//
			var retItem = blogIDarray2.sortBy( 
				function(value, index){
					return value;
				}
			);
			//---------------------------------------------------
			retItem.each( function( value, index)
			{
				var id = blogArray[value][0].toUpperCase();
				var link = blogArray[value][2];
				
				var img = blogArray[value][1];
				img = img.substring(0, img.length - 4) + "_bt.png";
				
				returnHTML += '<li>';
				returnHTML += '<a href="' + link + '\" title=\"' + id + '\"><img class="iepngfix" src=\"'+img+'\" alt=\"'+id+'\" width="140" height="140" border="0" /></a>';
				returnHTML += '</li>\n';
			} );
			//---------------------------------------------------
		}
		//
		return returnHTML;
	}
	//
}
Event.observe (window, 'load', Blog.init, false);
