function initLinks(start)
{
	var elements = start.getElementsByTagName("a");
	for( var i = elements.length - 1; i >= 0; i-- )
	{
		if( elements[i].className.indexOf("dal") != -1 )
		{
			elements[i].className.replace(/dal/, "");
			elements[i].onclick = function(){return dcjx(this.href);}
		}
	}
	initAnchors(start);
}

function initLinks()
{
	$$('a').each(function(element){
		if( element.hasClass('dal') )
		{
			element.removeClass('dal');
			element.addEvent('click', function(e){
				return dcjx(this.href);
			});
		}
		if( element.get('href').indexOf('#') == 0 )
		{
			dest = element.get('href').substring( 1 );
			if( dest.length > 0 )
			{
				element.set('href', '#');
				element.set('dest', dest);
				element.addEvent('click', function(e){
					scrollToAnchor(this.get('dest')); 
					return false;
				});
			}
		}
	});
}


function dcjx(URL)
{
	if( URL.indexOf('?') === -1 ) {
		URL += '?ajax';
	} else {
		URL += '&ajax';
	}
	$('content').set('load', {async: false});
	$('content').load(URL);
	initLinks($('content'));
	return false;
}

function initAnchors(start)
{
	var elements = start.getElementsByTagName("a");
	for( var i = elements.length -1; i >= 0; i-- )
	{
		if( (elements[i].href.indexOf("#") != -1) )
		{
			dest = elements[i].href.substring( elements[i].href.indexOf("#")+1 );
			if( dest.length > 0 )
			{
				elements[i].href = "#";
				elements[i].dest = dest; /*document.getElementsByName( dest );*/
				elements[i].onclick = function(){ scrollToAnchor(this.dest); return false; }
			}
		}
	}
}

function easeInOut(t,b,c,d)
{
	return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
}

var scrollInt;
var scrTime, scrSt, scrDist, scrDur, scrInt;

function scrollPage()
{
	scrTime += scrInt;
	if (scrTime < scrDur) {
		window.scrollTo( 0, easeInOut(scrTime,scrSt,scrDist,scrDur) );
	} else {
		window.scrollTo( 0, scrSt+scrDist );
		clearInterval(scrollInt);
	}
}
	
function scrollToAnchor(aname)
{
	var anchors, i, ele;
	
	if (!document.getElementById)
		return;

	ele = document.getElementById(aname);
	
	if (window.scrollY)
		scrSt = window.scrollY;
	else if (document.documentElement.scrollTop)
		scrSt = document.documentElement.scrollTop;
	else
		scrSt = document.body.scrollTop;

	scrDist = ele.offsetTop - scrSt;
	scrDur = 500;
	scrTime = 0;
	scrInt = 10;
		
	clearInterval(scrollInt);
	scrollInt = setInterval( scrollPage, scrInt );
}

window.addEvent('domready', function(){
	initLinks();
}
);
