var random = Math.floor(Math.random()*100000000001);

Array.prototype.max = function(){
    return Math.max.apply( Math, this );
};

$(document).ready(function(){
	
	if($('#home-features').length > 0) {
		switchHomeFeatures();
		$('#home-features ol li a').live('click',function(){
			var switch_to = $(this).attr('href');
			var next = current_home_feature;
		
			var num_features = $('#home-features ol li').length;
		
			for(var i=0; i<num_features; i++) {
				if($('#home-features ol li').eq(i).find('a').attr('href') == switch_to) {
					next = i+1;
				}
			}
		
			if(current_home_feature != next) {
				switchHomeFeatures(next, current_home_feature);
			}
		});
	}
});

var current_home_feature = null;
var home_features_timeout = null;
var home_features_timeout_duration = 10000

var switchHomeFeatures = function(i,o) {
	
	clearTimeout(home_features_timeout);
	
	var fade_time = 300;
	var out_fade_time = 150;

	var image_fade_time = fade_time;
	var out_image_fade_time = out_fade_time;

	if($.browser.msie && parseInt($.browser.version) < 9) {
		image_fade_time = 0;
		out_image_fade_time = 0;
	}

	var $parent = $('#home-features .features');
	var num_features = $('#home-features ol li').length;

	if(i == undefined) {
		if(current_home_feature == null) {
			i = 1;
		} else {
			i = current_home_feature+1;
		}
	}
		
	if(o == undefined) {
		o = i-1;
	}
			
	if(i > num_features) {
		i = 1;
	}
	
	if(o > num_features) {
		o = 1;
	} else if(o < 0) {
		o = num_features;
	}

	var $o_link = $('#home-features ol li').eq(o-1).find('a');
	var $o_img 	= $('#home-features .'+$o_link.attr('href').replace('#','')+'-image');
	var $o_text = $($o_link.attr('href'));
	
	var $i_link = $('#home-features ol li').eq(i-1).find('a');
	var $i_img 	= $('#home-features .'+$i_link.attr('href').replace('#','')+'-image');
	var $i_text = $($i_link.attr('href'));
	
	$('#home-features .feature-image').stop(true,true);
	$('#home-feature-text > div').stop(true,true);
	
	$o_img.fadeOut(out_fade_time, function(){
		$('#home-features .feature-image').css('display','none');
		$i_img.fadeIn(image_fade_time);
	});
	
	$o_text.slideUp(out_image_fade_time,function(){
		$('#home-feature-text > div').css('display','none');
		$i_text.slideDown(fade_time);
	});

	$o_link.removeClass('current');
	$i_link.addClass('current');
	
	current_home_feature = i;
	home_features_timeout = setTimeout('switchHomeFeatures()',home_features_timeout_duration);
}

