// Setup our tab arrays
var tabs = [];
var popular = ['mostPopular', 'entertainment', 'media', 'purchasableResources', 'informationalResources'];
var rotate = true;
var pe = null;

function tabClick(event, cid) {
	var c = null;

	if (event) {
		rotate = false;
		c = event.element();
	} else if (cid != undefined) {
		c = $('tab_' + cid);
	}

	if (c) {
		tabs.each(function(e) {
			if (c.id == e.id) {
				e.removeClassName('red');
				e.removeClassName('redText');
				e.addClassName('black');
			} else {
				e.removeClassName('black');
				e.addClassName('red');
				e.addClassName('redText');
			}

			if ($(e.id + '_tab'))
				$(e.id + '_tab').hide();
		});

		if ($(c.id + '_tab'))
			$(c.id + '_tab').show();
	}
}

function tabOver(event) {
	if (event) {
		var e = event.element();

		// Only apply this to red tabs
		if ($(e.id).hasClassName('red')) {
			$(e.id).removeClassName('redText');
			$(e.id).addClassName('hover');
		}
	}
}

function tabOut(event) {
	if (event) {
		var e = event.element();

		// Only apply this to red tabs
		if ($(e.id).hasClassName('red')) {
			$(e.id).addClassName('redText');
			$(e.id).removeClassName('hover');
		}
	}
}

function nextTab() {
	if (rotate) {
		var c = $$('div.black');
		if (c && c[0]) {
			c = c[0];
			var cid = parseInt(c.id.substr(4));

			if (!isNaN(cid)) {
				cid = (cid + 1) % 3;
				tabClick(null, cid);
			}
		}
	} else {
		pe.stop();
	}
}

function popularClick (event) {
	if (event) {
		var e = event.element();

		for (var i = 0; i < popular.length; i++) {
			if (e.id == popular[i]) {
				$(popular[i] + 'Tab').show();
			} else {
				$(popular[i] + 'Tab').hide();
			}
		}
	}
}

function noobClick(event) {
	// Grab the ID
	var id = parseInt(this.id.substr(2));

	if (!isNaN(id)) {
		// Toggle the info
		Effect.toggle('d_' + id, 'blind', {duration: .3});

		// Flip the +/-
		this.parentNode.toggleClassName('closeButton');
	}

	// Don't follow the #
	Event.stop(event);
}

function searchKey(event) {
	if (event.keyCode == 13) {
		Event.stop(event);
		$('searchForm').submit();
	}
}

document.observe("dom:loaded",
	function() {
		try {
			// Setup our event handlers
			tabs = $$('div.jsTab');
			tabs.each(function(e) {
				e.observe('click', tabClick);
				e.observe('mouseover', tabOver);
				e.observe('mouseout', tabOut);
			});

			Event.observe('search', 'keydown', searchKey.bindAsEventListener($('search')));

			// Setup the clicks for any images
			var en = $$('a.aPick');
			en.each(function(e) {
				e.observe('click', noobClick.bindAsEventListener(e));
			});

			for (var i = 0; i < popular.length; i++) {
				Event.observe(popular[i], 'click', popularClick);

				// Preload the image
				var img = new Image();
				img.src = '/images/index/' + popular[i].underscore().dasherize() + '-bg.gif';
			}

			// Setup an autosaver
			pe = new PeriodicalExecuter(nextTab, 18);
		} catch(err) { }
	}
);