function init_scroll(frame_id, content_id)
{
	var frame = $(frame_id);
	if (frame == undefined)
		return;
	var content = $(content_id);
	if (content == undefined)
		return;
	var clone_div = content.cloneNode(true);
	clone_div.id = content.id + ".clone_div";
	frame.appendChild(clone_div);
	setTimeout("scroll('" + frame_id + "','" + content_id + "')", 2000);
	frame.scroll = true;
}

function init_scroll_no_copy(frame_id, content_id)
{
	var frame = $(frame_id);
	if (frame == undefined)
		return;
	var content = $(content_id);
	if (content == undefined)
		return;
	frame.scroll = true;
	setTimeout("scroll('" + frame_id + "','" + content_id + "')", 2000);
}


function scroll(frame_id, content_id)
{
	var content = $(content_id);
	var frame = $(frame_id);
	
	if (frame.scroll)
	{
		var top = parseInt(content.style.top);
		var contentH = content.offsetHeight;
		
		var container_height = frame.offsetHeight;
		if (top + (contentH * 2) - container_height > 0)
			top -= 1;
		else
			top = 0;
		content.style.top = top + 'px';
		$(content.id + ".clone_div").style.top = top + 'px';
	}
	setTimeout("scroll('" + frame_id + "','" + content_id + "')", 80);
}



function scroll_to_top(content_id, length)
{	
	var content = $(content_id);
	
	if(length==undefined)
	{
		var contentH = content.offsetHeight;
		if (contentH > 500)
			length=200;
		else
			length=100;
	}
		
	var scroll_length = length;
	var scroll_length_neg = -1 * scroll_length;

	var top = parseInt(content.style.top);
	if (isNaN(top))
		top = 0;
	
	if (top < scroll_length_neg)
	{
		top += scroll_length;
		new Effect.Parallel([

			new Effect.Move(content_id, { sync: true, x: 0, y: top, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: top, mode: 'absolute'})
		], {
		  duration: 1,
		  delay: 0
		});
	}
	else
	{	
		var dura;
		if (top >= Math.round(scroll_length_neg / 2))
			dura = 0.15;
		else
			dura = 0.5;
	
		var top1 = Math.round(scroll_length / 5);
		new Effect.Parallel([

			new Effect.Move(content_id, { sync: true, x: 0, y: top1, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: top1, mode: 'absolute'})
		], {
		  duration: dura,
		  delay: 0
		});
		
		new Effect.Parallel([

			new Effect.Move(content_id, { sync: true, x: 0, y: 0, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: 0, mode: 'absolute'})
		], {
		  duration: 0.38,
		  delay: dura
		});
	}
}



function scroll_to_bottom(content_id, container, length)
{
	var container_height = $(container).offsetHeight;
	var content = $(content_id);
	var top = parseInt(content.style.top);
	var contentH = content.offsetHeight;
	if (isNaN(top))
		top = 0;

	if(length==undefined)
	{
		if (contentH > 500)
			length=200;
		else
			length=100;
	}
	var scroll_length = length;
	
	var dist = -1 * (top + contentH);
	if (container_height > contentH)
		var diff = container_height - contentH;		
	else
		var diff = contentH - container_height;
	var bottom = top + dist - diff;

	if (top - scroll_length > bottom)
	{
		top -= scroll_length;

		new Effect.Parallel([

			new Effect.Move(content_id, { sync: true, x: 0, y: top, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: top, mode: 'absolute'})
		], {
		  duration: 1,
		  delay: 0
		});

	}	
	else
	{	
		var top1 = bottom - Math.round(scroll_length / 5);
		if (top <= bottom + Math.round(scroll_length / 2))
			var dura = 0.15;
		else
			var dura = 0.5;

		new Effect.Parallel([

			new Effect.Move(content_id, { sync: true, x: 0, y: top1, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: top1, mode: 'absolute'})
		], {
		  duration: dura,
		  delay: 0
		});

		new Effect.Parallel([
			new Effect.Move(content_id, { sync: true, x: 0, y: bottom, mode: 'absolute'}),
			new Effect.Move(content_id + ".clone_div", { sync: true, x: 0, y: bottom, mode: 'absolute'})
		], {
		  duration: 0.38,
		  delay: dura
		});

	}
	
}


/*
function scroll(frame_id, content_id)
{
	var content = document.getElementById(content_id);
	var frame = document.getElementById(frame_id);
	if (frame.scroll)
	{
		var top = parseInt(content.style.top);
		var contentH = content.offsetHeight;
		
		//alert(is_new);
		if (top + contentH - 10 > 0)
		{
			top -= 10;
			
			new Effect.Parallel([

				new Effect.Move(content_id, {sync: true, x: 0, y: top, mode: 'absolute', transition: Effect.Transitions.linear}),
				new Effect.Move(content.id + ".clone_div", {sync: true, x: 0, y: top, mode: 'absolute', transition: Effect.Transitions.linear})


			], {
			  duration: 2,
			  delay: 0
			});

		} 
		else
		{
			top = 0;
//		new Effect.Move(content_id, { x: 0, y: top, mode: 'absolute'});
//		new Effect.Move(content.id + ".clone_div", { x: 0, y: top, mode: 'absolute'});
		content.style.top = top + 'px';
		document.getElementById(content.id + ".clone_div").style.top = top + 'px';
		}
	
	}
//	setTimeout("scroll('" + frame_id + "','" + content_id + "')", 80);
	setTimeout("scroll('" + frame_id + "','" + content_id + "')", 800);
}
*/