﻿function $$(element){
	if(arguments.length>1){
		for(var i=0,length=arguments.length,elements=[];i<length;i++){
			elements.push($$(arguments[i]));
		}
		return elements;
	}
	if(typeof element=="string"){
		return document.getElementById(element);
	}else{
		return element;
	}
}
var Class={
	create:function(){
		return function(){
			this.initialize.apply(this,arguments);
		}
	}
}
Function.prototype.bind=function(object){
	var method=this;
	return function(){
		method.apply(object,arguments);
	}
}
var Scroll=Class.create();
Scroll.prototype={
	initialize:function(element,height){
		this.element=$$(element);
		this.element.innerHTML+=this.element.innerHTML;
		this.height=height;
		this.maxHeight=this.element.scrollHeight/2;
		this.counter=0;
		this.element.scrollTop=0;
		//this.scroll();
		this.timer="";
		this.element.onmouseover=this.stop.bind(this);
		this.element.onmouseout=function(){this.stopScroll=false;this.timer=setTimeout(this.scroll.bind(this),1000);}.bind(this);
		this.timer=setTimeout(this.scroll.bind(this),3000);
	},
	scroll:function(){
		if(this.element.scrollTop<this.maxHeight){
			this.element.scrollTop++;
			this.counter++;
		}else{
			this.element.scrollTop=0;
			this.counter=0;
		}
		
	    if(this.counter<this.height){
		    this.timer=setTimeout(this.scroll.bind(this),40);
	    }else{
		    this.counter=0;
		    this.timer=setTimeout(this.scroll.bind(this),3000);
	    }

	},
	stop:function(){
		clearTimeout(this.timer);
		
	},
	reset:function() {
	    this.stop();
		this.element.scrollTop=0;
		this.counter=0;
		this.timer="";
	}
}
