var ntick_timer = 0;
var ntick_initial_timer = 0;

var ntick_inner;
var ntick_outer;

var ntick_curr_top;
var ntick_inner_height;
var ntick_outer_height;

var ntick_bottom_margin;
var ntick_top_margin;

/* default values */

var ntick_step = 1;             /* px */
var ntick_delay = 100;          /* ms */
var ntick_initial_delay = 1000; /* ms */
var ntick_blank_bottom = 1;
var ntick_bottom_delta = 0;     /* px */

function ntick_scroll()
{
	ntick_curr_top -= ntick_step;
	if (ntick_curr_top + ntick_inner_height < ntick_bottom_margin)
	{
		ntick_curr_top = ntick_top_margin;
	}
	ntick_inner.style.top = ntick_curr_top + 'px';
}

function ntick_load()
{
	ntick_initial_timer = setTimeout('ntick_init()', ntick_initial_delay);
}

function ntick_init()
{
	ntick_initial_timer = 0;
	ntick_start();
}

function ntick_start()
{
	if (!(ntick_step && ntick_delay))
	{
		return -1;
	}

	ntick_outer = document.getElementById('ntick_outer');
	ntick_inner = document.getElementById('ntick_inner');
	if (ntick_outer && ntick_inner)
	{
		ntick_outer_height = ntick_outer.offsetHeight;	
		ntick_inner_height = ntick_inner.offsetHeight;
		if (ntick_inner_height > ntick_outer_height)
		{
			if (ntick_blank_bottom)
			{
				ntick_bottom_margin = 0;
				ntick_top_margin = ntick_outer_height;
			}
			else
			{
				ntick_bottom_margin = ntick_outer_height + ntick_bottom_delta;
				ntick_top_margin = 0;
			}
			ntick_curr_top = ntick_inner.style.top.replace(/px/, '');
			ntick_timer = setInterval('ntick_scroll()', ntick_delay);
		}
	}
	
	return 0;
}

function ntick_stop()
{
	if (ntick_initial_timer)
	{
		clearTimeout(ntick_initial_timer);
		ntick_initial_timer = 0;
	}
	if (ntick_timer)
	{
		clearInterval(ntick_timer);
		ntick_timer = 0;
	}
}