	function scrollVert(id,from,to,sec,fps,ease) {
		//window.alert("scrollVert("+id+","+from+","+to+","+sec+","+fps+")");
			var time = 0;
			var frames = Math.round(sec *fps);
			var milli =  1000/fps;
			var elem = document.getElementById(id);
			var dif = to - from;
			elem.style.top = from
			elem.style.visibility =  "visible";
				var scroll_int =  setInterval(
					function(){
						// t: current time, b: beginning value, c: change in value, d: duration, a: amplitude (optional), p: period (optional)
						// t and d can be in frames or seconds/milliseconds
						var next = ease(time++,from,dif,frames);
						//window.alert(cur);
						elem.style.top = next+"px";
						if (onScrollHalfFinish != null && time == Math.round(frames/2) ) onScrollHalfFinish();
						if ( time == frames){
							clearInterval(scroll_int);
							onScrollFinish();
						}else if (time > frames) window.alert("wtf");
					}
				,milli);
					
		}
		
		function startFootFade(){
			onFadeFinish = onFootFadeFinish;
			fade("home_footer",0,100,1,24,linear);
			}
		function startLineFade(){
			onFadeFinish = onLineFadeFinish;
			fade("line",0,100,.5,24,linear);
			}
		function startScroll(){
				scrollVert('links',230,0,1.5,24,easeOutCubic);
			}
		function showBanner(){
			document.getElementById("banner").style.visibility =  "visible";
			//onShowBannerFinish();
			}
					
		function fade(id,from,to,sec,fps,ease){
			var time = 0;
			var frames = Math.round(sec *fps);
			var milli =  1000/fps;
			var elem = document.getElementById(id);
			elem.style.visibility = "visible";
			var dif = to - from;
			var fade_int =  setInterval(function(){
				var next = ease(time++,from,dif,frames);
				//window.alert(cur);
				setOpacity(elem,next);
				if ( time == frames){
					clearInterval(fade_int);
					onFadeFinish();
				}
			},milli);
			
		}/*
		function setOpacity(elem,pct) {
			var dec=pct/100;
			elem.style.opacity=dec;
			elem.style.MozOpacity=dec;
			elem.style.KhtmlOpacity=dec;
			elem.style.filter="alpha(opacity="+pct+")";
		}*/
		function setOpacity(element, pct) {
			opacity = pct/100;
			if (element.filters) {
				try {
					element.filters.alpha.opacity = pct;
				} catch (e) { }
			} else if (element.style.MozOpacity !== (void 0)) {
				var val = parseFloat(opacity);
				if (val > .99) val = 1;
				element.style.MozOpacity = val;
			} else if (element.style.opacity !== (void 0))
				element.style.opacity=opacity;
		}
		function linear(t,b,c,d){
			var pct = t/d
			if (t==0) return b ;  
			if ((pct)==1) return b+c;
			return b+( pct*c);
		}
	
		function easeOutCubic(t,b,c,d){
				return c*((t=t/d-1)*t*t + 1) + b;
		}

		function blank(){};
		function buildPage(){
			var notice = " buildPage()."
			onLineFadeFinish = startScroll; //
			onScrollFinish = blank;
			onScrollHalfFinish = startFootFade;
			onFootFadeFinish = showBanner;
			startLineFade();
			return notice;
		}// JavaScript Document