$(function()
{
    var widget = new WeatherWidget($('#WeatherWidget'));
    widget.query(3000);
});

// ROTATING ADVERT

var current_display_element;
var current_display_number = 1;
var new_display_element;
var next_display_number = 0;
var display_timer = 0;
var cycle_timer = 0;
var display_time = 10000;			// Change this number to alter the length of time each display appears for
var cycle_restart_timer = 0;

function start_index_cycle()
{
	current_display_element = document.getElementById( 'homepage_banner_' + current_display_number );

	if ( display_timer != 0 )
	{
		window.clearInterval( display_timer );
		display_timer = 0;
	}
	
	display_timer = window.setInterval( 'cycle_display()', display_time );
}

function cycle_display()
{
	new_display_number = current_display_number + 1;

	// Change this if increased number of displays to cycle
	if ( new_display_number > 2 )
	{
		new_display_number = 1;
	}

	goto_index_display( new_display_number );
}

function on_click_display_selector( display_number )
{
	// Kill the display timer, so that it sticks on this page.
	window.clearInterval( display_timer );
	display_timer = 0;

	// Set a timer to restart the cycle after 30 seconds
	if ( cycle_restart_timer != 0 )
	{
		window.clearTimeout( cycle_restart_timer );
	}

	cycle_restart_timer = window.setTimeout( 'start_index_cycle()', 30000 );

	goto_index_display( display_number );
}

function goto_index_display( display_number )
{
	if ( cycle_timer != 0 )
	{
		next_display_number = display_number;
	}
	else
	{
		cycle_step = 0;

		new_display_element = document.getElementById( 'homepage_banner_' + display_number );
		current_display_number = display_number;

		current_display_element.style.zIndex = 0;
		new_display_element.style.zIndex = 1;

		// Increase or decrease this number to change fade speed.
		cycle_timer = window.setInterval( 'on_cycle_timer()', 20 );
	}
}

function on_cycle_timer()
{
	// Increase or decrease this number to change fade speed.
	// Make sure it divides into 100
	cycle_step += 2;

	set_opacity( new_display_element, cycle_step );

	if ( cycle_step >= 100 )
	{
		window.clearInterval( cycle_timer );
		cycle_timer = 0;

		set_opacity( current_display_element, 0 );

		current_display_element = new_display_element;

		if ( next_display_number != 0 )
		{
			goto_index_display( next_display_number );

			next_display_number = 0;
		}
	}
}

function set_opacity( opacity_object, opacity_percent )
{
	opacity_object.style.opacity = opacity_percent / 100;
	
	if ( opacity_percent == 100 )
	{
		opacity_object.style.filter = '';
	}
	else
	{
		opacity_object.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(Opacity=' + String( opacity_percent ) + ')';
	}

	if ( opacity_percent == 0 )
	{
		opacity_object.style.visibility = 'hidden';
	}
	else
	{
		opacity_object.style.visibility = 'visible';
	}
}


