var __marquee_current_panel = -1;
var __marquee_num_panels = 0;
var __marquee_auto_advance_interval = null;
var __marquee_indicator = null;

function marquee_open_panel(num) {
	if (num == __marquee_current_panel || __marquee_num_panels == 0)
		return;
	
	var oldpanel = jQuery('#marquee-panel-' + __marquee_current_panel);
	var oldnavbutton = jQuery('#marquee-nav-button-' + __marquee_current_panel);
	
	var newpanel = jQuery('#marquee-panel-' + num);
	var newnavbutton = jQuery('#marquee-nav-button-' + num);
	
	oldnavbutton.removeClass('marquee-nav-button-selected');
	newnavbutton.addClass('marquee-nav-button-selected');
	
	__marquee_indicator.stop(true);
	__marquee_indicator.animate({'left':(2 + num * 74)}, 'fast');
	__marquee_indicator.css('background-position', '0 -' + (__marquee_indicator.height() * num) + 'px');
	
	if (oldpanel.length) {
		jQuery('.marquee-panel').css('z-index', 0);
		newpanel.css('z-index', 1);
		oldpanel.fadeOut("slow");
		newpanel.stop(true, true);
		newpanel.fadeIn("slow");
	} else {
		newpanel.show(0);
	}
	
	jQuery("#marquee-nav-indicator a").attr('href', jQuery('#marquee-nav-button-' + num + ' a').attr('href'));
	
	__marquee_current_panel = num;
}

function marquee_move_by(offs) {
	var new_panel = __marquee_current_panel + offs;
	
	if ( new_panel < 0 ) {
		new_panel = __marquee_num_panels - 1;
	} else if ( new_panel >= __marquee_num_panels ) {
		new_panel = 0;
	}
	
	marquee_open_panel(new_panel);
}

function marquee_stop_pager() {
	if (__marquee_auto_advance_interval)
		clearInterval(__marquee_auto_advance_interval);
}

function marquee_restart_pager() {
	marquee_stop_pager();
	__marquee_auto_advance_interval = setInterval('marquee_move_by(1)', 5000);
}

function marquee_indicator_click() {
	jQuery('#marquee-nav-button-' + __marquee_current_panel)[0].onclick();
}

jQuery(function() {
	if ( jQuery('.marquee-container').length > 0 ) {
		__marquee_num_panels = jQuery(".marquee-panel").length;
		__marquee_indicator = jQuery("#marquee-nav-indicator");
		marquee_open_panel(0);
		marquee_restart_pager();
	}
})

