
function class_slide(slideid) {
	
	var me = this;
	
	this.slide = function() {
		clone = this.el_slider.cloneNode(true);
		clone.style.visibility = 'hidden';
		clone.style.display = 'block';
		clone.style.position = 'absolute';
		clone.style.height = 'auto';
		clone.style.top = '-1000000px';
		this.from = this.currentheight;
		el_clone = document.body.appendChild(clone);
		this.to = el_clone.clientHeight;
		document.body.removeChild(el_clone);
		clone.style.top = -this.to - 1000 + 'px';
		clone.style.visibility = 'visible';
		this.el_slider.style.height = this.el_slider.clientHeight + 'px';
		this.el_slider.style.display = 'block';
		this.dotimeout();
	}
	
	this.getslider = function() {
		for (var i = 0; i < document.getElementById(this.slideid).childNodes.length; i++) {
			if (document.getElementById(slideid).childNodes[i].nodeName != '#text') {
				this.el_slider = document.getElementById(slideid).childNodes[i];
				break;
			}
		}
	}
	
	this.dotimeout = function() {
		clearTimeout(this.slidetimeout);
		this.slidetimeout = setTimeout(this.heighten, 20);
	}
	
	this.heighten = function() {
		if (me.currentheight != me.to) {
			if (me.currentheight < me.to) {
				me.currentheight += Math.ceil((me.to - me.currentheight - (Math.abs(me.from - me.to) - me.to)) / 10);
				if (me.currentheight > me.to) {
					me.currentheight = me.to;
				}
			} else {
				me.currentheight = Math.ceil(me.currentheight + (me.to - me.currentheight) / 10);
				if (me.currentheight < me.to) {
					me.currentheight = me.to;
				}
			}
			me.el_slider.style.height = me.currentheight + 'px';
			me.dotimeout();
		}
	}
	
	this.slidetimeout = null;
	this.slideid = slideid;
	this.getslider();
	this.from = this.to = this.currentheight = this.el_slider.clientHeight;
	this.el_slider.style.overflow = 'hidden';
	
}
