(function($){
	$j(function (){
		SetupChooser();

		$j('#chooser').hover(
			function (){
				clearInterval(choosertimer);
			},
			function (){
				if($j(this).data('run') == 1){
					initiateInterval();
				}
			}
		);
	});

	function SetupChooser() {
		$j('#chooser').data('step', 0).data('run', 1);
		$j('#chooser .txtBox .lft .itm').each(function (i, elem){
			$j(this).data('step', i);
			if($j(elem).is(':last')) {
				$j('#chooser').data('total', i);
			}
		});
		$j('#image a').each(function (i){
			$j(this).data('step', i);
		});
		$j('#chooser-list li a').each(function (i){
			$j(this).data('step', i).click(function (){
				ChooserSwitch($j(this).data('step'));
				$j('#chooser').data('run', 0);
				clearInterval(choosertimer);
				return false;
			});
		});
		initiateInterval();
	}

	function ChooserSwitch(who){
		if($j('#chooser').data('step') == who) return;
		$j('#chooser .txtBox .lft .itm').each(function (){
			if($j(this).data('step') == who) {
				$j(this).fadeIn('slow');
			}else{
				if($j(this).is(':visible')){
					$j(this).fadeOut('slow');
				}
			}
		});
		$j('#image a').each(function (){
			if($j(this).data('step') == who) {
				$j(this).fadeIn('slow');
			}else{
				if($j(this).is(':visible')){
					$j(this).fadeOut('slow');
				}
			}
		});
		$j('#chooser-list li a').each(function (){
			if($j(this).data('step') == who) {
				$j(this).addClass('selected');
			}else{
				$j(this).removeClass('selected');
			}
		});
		$j('#chooser').data('step', who);
	}

	function initiateInterval()	{
		choosertimer = setInterval(function() {
			rotate()
		}, 5000);
	}

	function rotate() {
		var current = $j('#chooser').data('step');
		var total = $j('#chooser').data('total');
		var next;
		next = (current < total) ? current+1 : 0;
		ChooserSwitch(next);
	}
})(jQuery)
