Function.createDelegate = function Function$createDelegate(instance, method) {
    return function() {
        return method.apply(instance, arguments);
    }
}
	
SlideControl = function(stopAtPosition, divID, speed, delay, left) {
	this._stopAtPosition = stopAtPosition;
	this._divID = divID;
	this._speed = speed;
	this._delay = delay;
	this._left = left;
	
	this._obj = document.getElementById(this._divID);
	this.Initialize();
}
	
SlideControl.prototype = {
	SlideContent: function()
	{
		if (this._obj)
		{
			this._obj.style.display = 'block';
			var topPos = parseInt(this._obj.style.top, 10);
			if (topPos < this._stopAtPosition)
			{
				topPos += this._speed;
				if (topPos >= this._stopAtPosition)
					topPos = this._stopAtPosition;
					
				this._obj.style.top = topPos+'px';
				d = Function.createDelegate(this, this.SlideContent);
				setTimeout(d, this._delay);
			}
		}
	},
	
	Reset: function() {
		if (this._obj)
		{
			this._obj.style.display = 'none';
			this._obj.style.visibility = 'visible';
			this._obj.style.top = -this._obj.clientHeight;
			this._obj.style.left = this._left;		
		}	
	},
	
	Close: function()
	{
		this.Reset();
	},
	
	Initialize: function()
	{
		this.Reset();
	}						
}

