// ============================================================================================		 
// @function		Smooth Scroller
// @author		Daniele Florio
// @site		www.gizax.it
// @version		0.1 experimental
// @uses		<a href="javascript:ScrollaFinestra.scrolla('anchorname')">Link</a>

// (c) 2006 Daniele Florio <daniele@gizax.it>

// =============================================================================================

var ScrollaFinestra = {

	flag1 : false, 
	flag2 : null,

	trovaCoordinataElemento : function(elemento) {
		var y = 0;
		elemento = document.getElementById(elemento);
		while (elemento) {
			y += elemento.offsetTop;
			elemento = elemento.offsetParent;
		}
		return y;		
	},
	scrolla : function (elemento) {
		if (!document.getElementById){
			location.href = "#"+this.elemento;
			return;
		}
		if(this.flag1){
			clearInterval(this.flag2);
			this.flag1 = false;
			this.flag2 = null;
		}
		else {
			var altezzaDocumento = this.trovaCoordinataElemento(elemento);
			this.scrollaFinoA(0,altezzaDocumento);
		}
	},
	scrollaFinoA : function (x,y){
		if(this.flag1){		
			var top = document.documentElement.scrollTop;
			if(Math.abs(top-y) <= 1){
				window.scrollTo(0,y);
				clearInterval(this.flag2);
				this.flag1 = false;
				this.flag2 = null;
			}
			else {
				window.scrollTo(0, top+(y-top)/2);
			}
		}
		else {
			this.flag2 = setInterval("ScrollaFinestra.scrollaFinoA(0,"+y+")",100);
			this.flag1 = true;
		}
	}

};
