var VisualController = 
{
	timeoutInterval: 3500,
	currentItem: Math.ceil(Math.random() * 3),
	
	init: function() 
	{
		VisualController.setItem(true);
		this.slideStart();
		this.handleClick();
		this.handleHover();
	},

	slideStart: function() 
	{
		$("#visualImage").everyTime(VisualController.timeoutInterval, "visual", function(i) {
			VisualController.setItem(true);
		});
	},

	slideStop: function(stoppedAt) 
	{
		this.currentItem = stoppedAt;
		$("#visualImage").stopTime("visual");
	},

	setItem: function(setNext) 
	{
		i = this.currentItem;
		$("#visualImage a, #visualTop img").hide();
		$("#visualImage a[class='item" + i + "'], #visualTop img[class='item" + i + "']").show();
		$("#visualSelector li a").removeClass("active");
		$("#visualSelector li[class='item" + i + "'] a").addClass("active");
		this.currentItem = (setNext) ? ((this.currentItem % 3) + 1) : this.currentItem;
	},
	
	handleClick: function()
	{
		$("#visualSelector li a").click(function() {
			var clickedItem = $(this).attr("rel");
			VisualController.slideStop(clickedItem);
			VisualController.setItem(clickedItem);
		});
	},
	
	handleHover: function()
	{
		$("#visualSelector").
		mouseover(function() {
			VisualController.slideStop(VisualController.currentItem);
		}).
		mouseout(function() {
			VisualController.slideStart();
		});
	}
}

$(document).ready(function() {
	VisualController.init();
});
