window.addEvent('domready', function(){

	// rounded corners

	(function(){
		Nifty("#logoholder","transparent fixed-height");
		Nifty("#topbanner","transparent fixed-height");
		Nifty("#bottombanner","transparent fixed-height");
		Nifty("#rightbanner","transparent fixed-height");
		Nifty("#maincontent","transparent");
		Nifty("#whiteboxleft","transparent fixed-height");
	})();


	// event calendar

	(function(){
		var cal1 = new YAHOO.widget.Calendar("cal1", "cal1Container");
		cal1.render();

		var selectHandler = function(type, args, obj){
			var selected = args[0];
			window.location = "/events/"+selected[0][2]+"-"+selected[0][1]+"-"+selected[0][0]+"/";
		}

		cal1.selectEvent.subscribe(selectHandler, cal1, true);
	})();


	// news ticker

	(function(){
		var ticker = $('newsTicker');

		if (ticker) {

			var duration = 25;
			var tickerWidth = ticker.getStyle('width').toInt();
			var itemList = ticker.getElement('ul');
			var itemListWidth = itemList.getStyle('width').toInt();

			itemList.setStyle('left', 0).set('tween', {
				duration: itemListWidth * duration,
				transition: 'linear',
				onComplete: function(){
					itemList.set({
						styles: {
							left: tickerWidth
						},
						tween: {
							duration: (itemListWidth + tickerWidth) * duration,
							transition: 'linear',
							onComplete: function(){
								itemList.setStyle('left', tickerWidth).tween('left', -itemListWidth);
							}
						}
					}).tween('left', -itemListWidth)
				}
			}).tween('left', -itemListWidth);

			ticker.addEvents({
				mouseenter: function(){
					itemList.get('tween').pause();
				},
				mouseleave: function(){
					itemList.get('tween').resume();
				}
			})

		}
	})();


	// featured events

	(function(){
		var featuredEventsBox = $('featuredEvents');

		if (featuredEventsBox) {
			var boxHeight = featuredEventsBox.getElement('div.eventsHolder').getStyle('height').toInt();
			var box = featuredEventsBox.getElement('div.eventsHolder > div');
			var featureCount = box.getElements('div.featuredEvent').length;

			var animateFeatures = function(){
				if (featureCount > 1) {
					var newMargin;
					var marginTop = box.getStyle('marginTop').toInt();

					if (marginTop / (featureCount - 1) <= boxHeight * -1) {
						newMargin = 0;
					} else {
						newMargin = marginTop - boxHeight;
					}

					box.tween('marginTop', newMargin);
				}
			}

			var animationTimer = animateFeatures.periodical(5000);

			featuredEventsBox.addEvents({
				mouseenter: function(){
					box.get('tween').pause();
					$clear(animationTimer);
				},
				mouseleave: function(){
					box.get('tween').resume();
					animationTimer = animateFeatures.periodical(5000);
				}
			});
		}
	})();

});