$(document).ready(function() {
	features.init();
});
var features = {
	init: function() {
		features.lock = false;
		features.auto = true;
		var dupe = $('#homeFeaturePool ul').html();
		features.primary = $('#homeFeaturePool ul li.selected');
		features.total = $('#homeFeaturePool ul li').length;
		features.offset = -features.total;
		$('#homeFeaturePool ul').prepend(dupe).append(dupe);
		$('#homeFeaturePool ul li').removeClass('selected');
		features.primary.addClass('selected');
		$('#homeFeaturePool ul').css({marginLeft:66 * features.offset});
		$('#homeFeaturePrev').click(function() {
			features.change(1);
			this.blur();
			return false;
		});
		$('#homeFeatureNext').click(function() {
			features.change(-1);
			this.blur();
			return false;
		});
		$('#homeFeaturePool ul li a').click(function() {
			if(!$(this).parent().hasClass('selected')) {
				var iSel = 0;
				var iClk = 0;
				$(this).addClass('clicked');
				$('#homeFeaturePool ul li a').each(function(i) {
					if($(this).parent().hasClass('selected')) iSel = i;
					if($(this).hasClass('clicked')) iClk = i;
				});
				features.change(iSel - iClk);
				this.blur();
				return false;
			}
		}).hover(function() {
			features.auto = false;
		},function() {
			features.auto = true;
		});
		features.startTimer();
	},
	startTimer: function() {
		features.timer = setInterval(function() { 
			if(features.auto) {
				features.change(-1);
			}
		} , 6000);
	},
	change: function(offset) {
		if(!features.lock) {
			clearInterval(features.timer);
			features.startTimer();
			features.lock = true;
			$('#featureLoading').show();
			var oldsel = $('#homeFeaturePool ul li.selected');
			var ul = $('#homeFeaturePool ul');
			var newsel = null;
			if(offset == -1) newsel = oldsel.next();
			else if(offset == 1) newsel = oldsel.prev();
			else newsel = $('#homeFeaturePool ul li a.clicked').parent();
			if(newsel) {
				newsel.animate({width:86, paddingTop:0}, 250);
				newsel.find('img').animate({width:80, height:80}, 250);
			}
			features.offset = features.offset + offset;
			ul.animate({marginLeft:66 * features.offset}, 250);
			ul.find('li.selected').animate({width:66, paddingTop:10}, 250);
			ul.find('li.selected img').animate({width:60, height:60}, 250, function() {
				var sel = $('#homeFeaturePool ul li.selected');
				newsel.addClass('selected');
				sel.removeClass('selected');
				var realOffset = features.offset + features.total;
				var over = 0;
				if(realOffset > features.total) over = realOffset - features.total;
				else if(realOffset < -features.total) over = realOffset + features.total;
				if(realOffset >= features.total || realOffset <= -features.total) {
					features.offset = -features.total + over;
					ul.css({marginLeft:66 * features.offset});
					ul.find('li').removeClass('selected').css({width:66, paddingTop:10});
					ul.find('li img').css({width:60, height:60});
					var item = features.primary;
					if(realOffset == -11) item = features.primary.next();
					if(realOffset == -12) item = features.primary.next().next();
					if(realOffset == 11) item = features.primary.prev();
					if(realOffset == 12) item = features.primary.prev().prev();
					item.addClass('selected').css({width:86, paddingTop:0});
					item.find('img').css({width:80, height:80});
				}
				var featureTitle = ul.find('li.selected a').attr('title');
				$('#homeFeatureText span:first').html(featureTitle);
				var featureLink = ul.find('li.selected a').attr('href');
				$('#homeFeature').attr('href', featureLink);
				var featureImage = ul.find('li.selected a img').attr('src').replace(/-sm/, '-lg');
				$('#featureImage').load(function() {
					$('#featureLoading').hide();
				});
				$('#featureImage').attr('src', featureImage);
				ul.find('li a').removeClass('clicked');
				features.lock = false;
			});
		}
	}
}
