window.addEvent('domready',function() {
	if($('carousel')) {
		var hei = 240;
		var margin = 0;
		var el = $$('#carousel ul')[0];
		var rowcount = $$('#carousel li').length;
		var elheight = rowcount * hei;
		var currentrow = 0;
		var timer;
		var clearTimer = function() {
			$clear(timer);
		};
		var prepareTimer = function(direction) {
			if(typeof(direction)=='undefined') {
				direction = 1;
			}
			timer = enpop.delay(5000,this,direction);
		};
		var mouseMove = function() {
			if(timer) {
				$clear(timer);
			}
		}
		$$('#carousel li .next').each(function(elm) {
			elm.addEvent('click',function() {
				clearTimer();
				enpop(1);
			});
		});
		$$('#carousel li .prev').each(function(elm) {
			elm.addEvent('click',function() {
				clearTimer();
				enpop(-1);
			});
		});
		$$('#carousel li .back').set('opacity','0.75');
		$$('#carousel li img').set('opacity','0');
		$$('#carousel li img')[0].set('opacity','1');
		$$('#carousel li .desc')[0].setStyle('top','210px');
		var enpop = function(direction) {
			new Fx.Tween(el.getElements('img')[currentrow], {
				property: 'opacity',
				duration: 300,
				onComplete: function() {
					if(margin>=(elheight-hei) && direction==1) {
						margin=0;
						currentrow = 0;
					} else {
						margin += (hei * direction);
						currentrow += direction;
						if(currentrow<0) {
							margin = elheight-hei;
							currentrow = rowcount - 1;
						}
					}
					el.setStyle('margin-top','-'+margin+'px');
					el.getElements('img')[currentrow].fade('in');
					new Fx.Tween(el.getElements('.desc')[currentrow], {
						property: 'top',
						duration: 300
					}).start('210px');
					prepareTimer(1);
				}
			}).start(0);
			new Fx.Tween(el.getElements('.desc')[currentrow], {
				property: 'top',
				duration: 300
			}).start('240px');
		};
		prepareTimer(1);
		
		$('carousel').addEvent('mousemove',mouseMove);
		$('carousel').addEvent('mouseenter',clearTimer);
		$('carousel').addEvent('mouseleave',function() {
			prepareTimer(1);
		});
	}
	if($('feedlist')) {
		var feedel = $$('#feedlist ul')[0];
		var feedcount = feedel.getElements('li').length;
		var feeditemheight = 100;
		var feedmargin = 0;
		var feedheight = feedcount * feeditemheight;
		var feedFx = new Fx.Tween(feedel, {
			property: 'opacity',
			duration: 300,
			onComplete: function() {
				if(feedmargin>=(feedheight-feeditemheight)) {
					feedmargin=0;
				} else {
					feedmargin += feeditemheight;
				}
				feedel.setStyle('top','-'+feedmargin+'px');
				feedel.fade('in');
			}
		});
		var scrollfeed = function() {
			feedFx.start(0);
		}
		scrollfeed.periodical(2000);
	}
});
