		var Snarf={
			ShowAfterPixels:120,
			speedDown:4,
			speedUp:4,
			divId:"snarf",
			//// don't change below /////
			Utils: function () {
				var _Utils = {
					addEvent: function (o, type, fn) {
						if (o.attachEvent) {
							o["e" + type + fn] = fn;
							o[type + fn] = function () {
								o["e" + type + fn](window.event)
							};
							o.attachEvent("on" + type, o[type + fn])
						} else {
							o.addEventListener(type, fn, false)
						}
					},
					Anim: {
						tween: function (o, attr, stopAt, step, cb) {
							clearInterval(o["intVal" + attr]);
							var intervaledTask, intMs = 5,
								unit = "px",
								current = parseInt(o.style[attr]) || 0,
								dir = (current < stopAt) ? 1 : -1,
								hasReachedEnd = (dir == 1) ?
							function () {
								return (current >= stopAt)
							} : function () {
								return (current <= stopAt)
							};
							var intervaledTask = function () {
									if (hasReachedEnd()) {
										(document.all) ? o.style.setAttribute(attr, stopAt + unit) : o.style[attr] = stopAt + unit;
										clearInterval(o["intVal" + attr]);
										if (cb) {cb(o)}
									} else {
										current += dir * step;
										(document.all) ? o.style.setAttribute(attr, current + unit) : o.style[attr] = current + unit
									}
								};
							o["intVal" + attr] = setInterval(intervaledTask, intMs)
						}
					}
				};
				return _Utils;
			}(),
			isShowing:false,
			isActive:false,
			show:function(show){
				this.isActive=true;
				if(show) {
					this.Utils.Anim.tween(this.el,"top",0,this.speedDown,function(){
						Snarf.isActive=false;
						Snarf.isShowing=true;
					})
				} else {
					this.Utils.Anim.tween(this.el,"top","-"+(this.el.scrollHeight+20),this.speedUp,function(){
						Snarf.isActive=false;
						Snarf.isShowing=false;
					})
				}
			},
			init : function(){
				this.el=document.getElementById(this.divId);
				this.el.style.top="-"+(this.el.scrollHeight+20)+"px";
				this.el.style.visibility="visible";
				this.Utils.addEvent(window,"load",function(){
					Snarf.Utils.addEvent(window,"scroll",function(){
						var s = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
						if( s>Snarf.ShowAfterPixels && !Snarf.isShowing && !Snarf.isActive) {
							Snarf.show(true);
						} else if(s<Snarf.ShowAfterPixels && Snarf.isShowing && !Snarf.isActive) {
							Snarf.show(false);
						}
					});
				});
			}
		}
		Snarf.init();
