// SLIDING PANEL UTILITY
// used for displaying weather forecast on communiity websites
// cg: 19-Jun-2010

var slider_interval_id = 0;
var slider_height = 0;
var sliding = false;
var slide_speed = 10;

function slide( id,h ) {
	if (sliding) return;
	sliding = true;
	
	slider = document.getElementById(id);

	if ( slider_height == h ) slider_interval_id = setInterval('slide_up( )', 30);
	else slider_interval_id = setInterval('slide_down( ' + h + ' )', 30);
}

function slide_up ( ) {
	if ( slider_height <= 0 ) {
		sliding = false;
		slider_height = 0;
		slider.style.height = '0px';
		document.getElementById('weather_open_forecast').innerText = 'Open the three day forecast';
		clearInterval ( slider_interval_id );
	} else {
		slider_height -= slide_speed;
		if ( slider_height < 0 ) slider_height = 0;
		slider.style.height = slider_height + 'px';
	}
}

function slide_down ( h ) {
	slider_height = parseInt(slider.style.height);
	if ( slider_height >= h ) {
		sliding = false;
		slider_height = h;
		slider.style.height = h + 'px';
		document.getElementById('weather_open_forecast').innerText = 'Close the three day forecast';
		clearInterval ( slider_interval_id );
	} else {
		slider_height += slide_speed;
		if ( slider_height > h ) slider_height = h;
		slider.style.height = slider_height + 'px';
	}
}

var tide_slider_interval_id = 0;
var tide_slider_height = 0;
var tide_sliding = false;
var tide_slide_speed = 15;

function tide_slide( id,h ) {
	if (tide_sliding) return;
	tide_sliding = true;
	
	tide_slider = document.getElementById(id);

	if ( tide_slider_height == h ) tide_slider_interval_id = setInterval('tide_slide_up( )', 30);
	else tide_slider_interval_id = setInterval('tide_slide_down( ' + h + ' )', 30);
}

function tide_slide_up ( ) {
	if ( tide_slider_height <= 0 ) {
		tide_sliding = false;
		tide_slider_height = 0;
		tide_slider.style.height = '0px';
		document.getElementById('tides_open_forecast').innerText = 'View the next 6 days';
		clearInterval ( tide_slider_interval_id );
	} else {
		tide_slider_height -= tide_slide_speed;
		if ( tide_slider_height < 0 ) tide_slider_height = 0;
		tide_slider.style.height = tide_slider_height + 'px';
	}
}

function tide_slide_down ( h ) {
	tide_slider_height = parseInt(tide_slider.style.height);
	if ( tide_slider_height >= h ) {
		tide_sliding = false;
		tide_slider_height = h;
		tide_slider.style.height = h + 'px';
		document.getElementById('tides_open_forecast').innerText = 'Close the six day forecast';
		clearInterval ( tide_slider_interval_id );
	} else {
		tide_slider_height += tide_slide_speed;
		if ( tide_slider_height > h ) tide_slider_height = h;
		tide_slider.style.height = tide_slider_height + 'px';
	}
}


