var ScrollLinks = {
		currentHash: false,
		start: function(){
				this.scroll = new fx.Scroll({duration: 800, onComplete: function(){ScrollLinks.end();}});
				this.allinks = document.getElementsByTagName('a');
				for (i=0; i<this.allinks.length; i++){
						var lnk = this.allinks[i];
						if ((lnk.href && lnk.href.indexOf('#') != -1) && ( (lnk.pathname == location.pathname) || ('/'+lnk.pathname == location.pathname) ) && (lnk.search == location.search)) {
								lnk.onclick = function(){
										ScrollLinks.scroll.clearTimer();
										this.initialHref = this.href;
										this.initialHash = this.hash;
										this.href = "javascript:void(0)";
										setTimeout(function(){this.href = this.initialHref;}.bind(this), 200);
										ScrollLinks.click(this);
								}
						}
				}
		},

		click: function(link){
				this.currentHash = link.initialHash.substr(1);
				if (this.currentHash) {
						for (j=0; j<this.allinks.length; j++){
								if (this.allinks[j].id == this.currentHash){
										if (!window.opera) this.scroll.scrollTo(this.allinks[j]);
										else this.scroll.scrollTo(this.allinks[j].parentNode);
										break;
								}
						}
				}
		},

		end: function(){
				window.location.href = "#"+this.currentHash;
				this.currentHash = false;
		}
}