<!--
/*
* Tadas Juozapaitis ( kasp3rito@gmail.com )
*/

(function($){
$.fn.vTicker = function(options) {
	var defaults = {
		speed: 700,
		pause: 4000,
		showItems: 1
	};

	var options = $.extend(defaults, options);

	moveUp = function(obj, height){
		first = obj.children('ul').children('li:first').clone(true);
		obj.children('ul')
		.animate({top: '-=' + height + 'px'}, options.speed, function() {
			$(this).children('li:first').remove();
			$(this).css('top', '0px');
		});

		first.appendTo(obj.children('ul'));
	};
	
	return this.each(function() {
		obj = $(this);
		maxHeight = 0;

		obj.css({overflow: 'hidden', position: 'relative'})
			.children('ul').css({position: 'absolute', margin: 0, padding: 0})
			.children('li').css({margin: 0, padding: 0});

		obj.children('ul').children('li').each(function(){
			if($(this).height() > maxHeight)
			{
				maxHeight = $(this).height();
			}
		});

		obj.children('ul').children('li').each(function(){
			$(this).height(maxHeight);
		});

		obj.height(maxHeight * options.showItems);
		
    	interval = setInterval('moveUp(obj, maxHeight)', options.pause);
	});
};
})(jQuery);

// 最新情報テロップ
$(document).ready(function(){
	$('#ticker').vTicker();
});

/*
* oinusama
*/
var GoogleAjaxFeedApi_maregAndSort = function(name){
	this.name = name;
	this.timerId;
	this.idView = null;
	this.sortKey = null;
	this.sortMode = "desc";
	this.tag = "";
	this.arrayRssUrl = new Array();
	this.arrayMergeRss = new Array();
	this.arrayRss = new Array();
	this.flgLast = false;
	this.set_idView = function(idView){
		this.idView = idView;
	}
	this.set_sortKey = function(sortKey){
		this.sortKey = sortKey;
	}
	this.set_sortMode = function(sortMode){
		this.sortMode = sortMode;
	}
	this.add_feed = function(url, acq, siteName){
		this.arrayRssUrl.push({"url" : url, "acq" : acq, siteName : siteName});
	}
	this.batch = function(){
		for(var y = 0, cnt = this.arrayRssUrl.length; y < cnt; y++){
			this.open_feed(y);
		}
		this.timerId = setInterval(this.name + ".merge();", 100);
	}
	this.open_feed = function(y){
		this.arrayRss[y] = new Array();
		var len = this.arrayRssUrl.length;
		var name = this.name;
		var year;
		var month;
		var day;
		var time;
		var week;
		var feed;
		var tmp;
		feed = new google.feeds.Feed(this.arrayRssUrl[y].url);
		feed.setNumEntries(this.arrayRssUrl[y].acq);
		feed.load(function(result){
			if(!result.error){
				for(var x = 0, cnt = result.feed.entries.length; x < cnt; x++){
					eval(name + ".arrayRssUrl[y].title = result.feed.title;");
					eval(name + ".arrayRssUrl[y].link = result.feed.link;");
					eval(name + ".arrayRssUrl[y].description = result.feed.description;");
					eval(name + ".arrayRssUrl[y].author = result.feed.author;");
					var entry = result.feed.entries[x];
					tmp = entry.publishedDate.split(' ');
					year = tmp[3];
					month = tmp[2];
					day = tmp[1];
					time = tmp[4];
					week = tmp[0].replace(/,/g, "");
					tmp[99] = tmp[4].replace(/:/g, "");
					switch(month){
						case 'Jan': month = '01';
						break;
						case 'Feb': month = '02';
						break;
						case 'Mar': month = '03';
						break;
						case 'Apr': month = '04';
						break;
						case 'May': month = '05';
						break;
						case 'Jun': month = '06';
						break;
						case 'Jul': month = '07';
						break;
						case 'Aug': month = '08';
						break;
						case 'Sep': month = '09';
						break;
						case 'Oct': month = '10';
						break;
						case 'Nov': month = '11';
						break;
						case 'Dec': month = '12';
						break;
					}
					eval(name + ".arrayRss[y][x] = {};");
					eval(name + ".arrayRss[y][x].rssNo = y;");
					eval(name + ".arrayRss[y][x].date = year + month + day;");
					eval(name + ".arrayRss[y][x].datetime = year + month + day + tmp[99];");
					eval(name + ".arrayRss[y][x].year = year;");
					eval(name + ".arrayRss[y][x].month = month;");
					eval(name + ".arrayRss[y][x].day = day;");
					eval(name + ".arrayRss[y][x].time = time;");
					eval(name + ".arrayRss[y][x].week = week;");
					eval(name + ".arrayRss[y][x].title = entry.title;");
					eval(name + ".arrayRss[y][x].link = entry.link;");
					eval(name + ".arrayRss[y][x].content = entry.content;");
					eval(name + ".arrayRss[y][x].contentSnippet = entry.contentSnippet;");
				}
				if(y == len - 1){
					eval(name + ".flgLast = true;");
				}
			}
		}
	);}
	this.merge = function(){
		if(true != this.flgLast){
			return;
		}
		clearInterval(this.timerId);
		var sortKey = this.sortKey;
		var sortMode= this.sortMode;
		for(var y = 0, cntY = this.arrayRss.length; y < cntY; y++){
			for(var x = 0, cntX = this.arrayRss[y].length; x < cntX; x++){
				this.arrayMergeRss.push(this.arrayRss[y][x]);
			}
		}
		this.arrayMergeRss.sort(function(a, b){
			if("asc" === sortMode){
				return a[sortKey] < b[sortKey] ? -1 : 1;
			}else{
				return a[sortKey] > b[sortKey] ? -1 : 1;
			}
		});
		this.make_tag();
	}
	this.make_tag = function(){
		this.tag = "";
		for(var y = 0, cnt = this.arrayMergeRss.length; y < cnt; y++){
			this.tag += this.arrayMergeRss[y].date + "->[" + this.arrayRssUrl[ this.arrayMergeRss[y].rssNo ].siteName + "]" + this.arrayMergeRss[y].title + "\n";
		}
		alert(this.tag);
	}
}

var GoogleAjaxFeedApi_maregAndSort_override = function(name){
	this.name = name;
}
GoogleAjaxFeedApi_maregAndSort_override.prototype = new GoogleAjaxFeedApi_maregAndSort();
GoogleAjaxFeedApi_maregAndSort_override.prototype.make_tag = function(){
	this.tag = "";
	for(var y = 0, cnt = this.arrayMergeRss.length; y < cnt; y++){
		this.tag += '<div class="sidebody"><a class="aside" href="' + this.arrayMergeRss[y].link + '">' + this.arrayMergeRss[y].title + '</a> (' + this.arrayMergeRss[y].month + '/' + this.arrayMergeRss[y].day + ')</div>';
	}
	document.getElementById(this.idView).innerHTML = this.tag;
	// 偶数行に背景色を置く
	$('#topicsContainer').each(function(){
		$(this).children('div:odd').addClass('sidebodyEven');
		$('#topicsContainer div:gt(4)').addClass('hidden');
	});
}

function initialize() {
	o_feed = new GoogleAjaxFeedApi_maregAndSort_override('o_feed');
	o_feed.set_sortKey('datetime');
	o_feed.set_sortMode('desc');
	o_feed.set_idView('topicsContainer');
	o_feed.add_feed('http://blomsteranna.tsukuba.ch/index_c4125.xml', 5, 'お店のこと');
	o_feed.add_feed('http://blomsteranna.tsukuba.ch/index_c4128.xml', 5, 'イベントのお知らせ');
	o_feed.add_feed('http://blomsteranna.tsukuba.ch/index_c4623.xml', 5, '切り花入荷状況');
	o_feed.batch();
}

$(document).ready(function(){
	// Google Ajax Feeds API
	google.load('feeds', '1', {'callback' : function(){
		initialize();
	}});
});
//-->