﻿$(document).ready(function()
{
	App.preloadImages();
	App.bindHeroImage();
	App.bindFeatureBoxes();
});

App.preloadImages = function()
{
	for (var i = 0; i < heroImages.length; i++)
	{
		new Image().src = heroImages[i].url;
	}
};

App.bindHeroImage = function()
{
	window.setTimeout(function()
	{
		var container = $("#RotatingHero");
		var image = $("#RotatingHero img");
		var dataKey = "currentIndex";
		var newIndex = isNaN(container.data(dataKey)) ? 1 : container.data(dataKey) + 1;
		if (newIndex >= heroImages.length) newIndex = 0;
		container.data(dataKey, newIndex);
		container.css("background-image", "url(" + heroImages[newIndex].url + ")");
		image.fadeOut(3000, function()
		{
			image.attr("src", heroImages[newIndex].url);
			image.attr("alt", heroImages[newIndex].altText);
			image.fadeIn();
			App.bindHeroImage();
		});
	}, 10000);
};

App.bindFeatureBoxes = function() {
	var list = $("#FeatureBoxes ul");
	var items = list.find("li");
	var visible = 5;

	if ($.browser.msie && $.browser.version == "8.0") {
		$("#FeatureBoxes li h3").each(function() {
			$(this).css({ height: "35px" });
		});
	}

	if (items.length > visible) {
		var timer = null;
		var auto = true;
		var interval = 5000;
		var sliding = false;

		var distance = $(items[1]).position().left - $(items[0]).position().left;
		var action = function() {
			sliding = true;
			var newMargin = parseInt(list.css("margin-left")) - distance;
			if ((0 - (newMargin / distance)) > (items.length - visible)) {
				newMargin = 0;
			}
			list.animate(
			{
				marginLeft: newMargin
			}, 500, "swing", function() {
				$(items[0]).remove().appendTo(list);
				list.css("margin-left", "0px");
				items = list.find("li");
				sliding = false;
				if (auto) timer = window.setTimeout(action, interval);
			});
		}
		if (auto) timer = window.setTimeout(action, interval);

		var button = $("<img id='SliderButton' src='/Images/HomeSliderButton.png' width='20' height='38' alt='Next' />");
		$("#FeatureBoxes").after(button);
		button.click(function() {
			window.clearTimeout(timer);
			auto = false;
			if (!sliding) action();
		});
	}
};
