var scrollInt;
var scrTime, scrSt, scrDist, scrDur, scrInt;

function replaceAnchorLinks() {
	var anchors, i, targ, targarr;
	if (!document.getElementById || !document.createTextNode) { return; }
	anchors = document.getElementsByTagName("a");
	for (i=0;i<anchors.length;i++) {
		if ( anchors[i].href.indexOf("#") != -1 && anchors[i].href.indexOf(document.URL) != -1 ) {
			targ = anchors[i].href.substring( anchors[i].href.indexOf("#")+1 );
			targarr = document.getElementsByName(targ);
			if (targarr.length) {
				anchors[i].id = "to_" + targ;
				anchors[i].onclick= function () { scrollToAnchor( this.id.substring(3)); return false; };
				anchors[i].href = "";			
			}
		}
			
	}
}	
	
function scrollPage() {
	scrTime += scrInt;
	if (scrTime < scrDur) {
		window.scrollTo( 0, transizioneSin(scrTime,scrSt,scrDist,scrDur) );
	}else{
		window.scrollTo( 0, scrSt+scrDist );
		clearInterval(scrollInt);
	}
}
	
function scrollToAnchor(aname) {
	var anchors, i, ele;
	if (!document.getElementById) 
		return;
	anchors = document.getElementsByTagName("a");
	for (i=0;i<anchors.length;i++) {
		if (anchors[i].name == aname) {
			ele = anchors[i];
			i = anchors.length;
		}
	}
	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 );
}

function easeInOutSin(t,b,c,d) {
	return c/2 * (1 - Math.cos(Math.PI*t/d)) + b;
}

function scrolling(inizio, fine) {
	scrSt = inizio;
	scrDist = fine - inizio;
	scrDur = 200;
	scrTime = 0;
	scrInt = 10;
	clearInterval(scrollInt);
	scrollInt = setInterval( scrollPage, scrInt );
}

aggiungiOnLoad(replaceAnchorLinks);