// JavaScript Document

function Slider(baseId,slidesNum){
	
	var self = this;
	this.slideBaseId = baseId;
	this.slidesNum = slidesNum;
	this.slideIndex = 0;
	this.pause = 4000;
	this.speedMillis = 10;
	this.refs = new Array();
	this.padding = 20;
	this.rollers = null;
	this.status = "ON";

	this.start = function(index){				

		if(index == undefined) { 
			index = 0;
		};

		this.rollers = new Array();

		for(i = index; i < this.slidesNum; i++){

			this.refs[i] = _e(this.slideBaseId + (i + 1));
			this.putElement(this.refs[i],"top");
		}
		
		this.move(0);
		
		this.listener = setInterval(function(){
				
				//Monitor("Status: " + self.status);				
				
				if(self.status == "DONE"){
						for(var interv in self.rollers){
							clearInterval(self.rollers[interv]);
						}
						self.status = "ON";
						self.start();
					}
			
			},20);
	}

	this.putElement = function(elem, pos){
	
		elem.style.display = "block";
		
		if(pos == "top"){
			elem.style.top = "-" + elem.offsetHeight + "px";
		}

	}
	
	this.move = function(i){		
		this.roll(i);
	}
		
	
	this.roll = function(i){
		
		
		self.rollers[i] = setInterval(
			function(){		

				var elem = self.refs[i];
									
				//Monitor(parseInt(elem.style.top) + " : " +  (elem.offsetHeight + self.padding));		
						
				try{
					
					if(parseInt(elem.style.top) <= (elem.offsetHeight + self.padding)){						
	
						//Monitor(parseInt(elem.style.top) + " : " +  self.padding);
						elem.style.top = (parseInt(elem.style.top) + 3) + "px";	
						
						if(parseInt(elem.style.top) >= self.padding){
					
							j = i + 1;
							if(self.rollers[j] == undefined) {						
								
								Pause(self.pause);							
								self.move(j);
								
							}
							
						}			
					
					} else {
						if(i == self.slidesNum - 1){
							//Monitor("Done: " + self.rollers.length);
							self.status = "DONE";
						}
					}
				
					//Monitor("R[" + i + "]: " + self.rollers[i]);
				} catch(e){}
				
			}, self.speedMillis);

	}
	
}
