function BannerCloser(
	oCloserElement,
	oControlElement,
	iMinHeight,
	iMaxHeight	
	) {
	
	this.oCloserElement = oCloserElement;
	this.oControlElement = oControlElement;
	this.aOptions = {
		iMinHeight : iMinHeight,
		iMaxHeight : iMaxHeight
	};	
	this.iCurrentHeight = this.oCloserElement.offsetHeight;
	this.oActivateCoords = null;
	
	var oThis = this;

	this.oControlElement.onmousedown = function(oEvent) {
	
		oThis.activate(oEvent || window.event);
	
	};
	
	this.oControlElement.onmousemove = function() {
		
		return false;		
		
	};
	
}

BannerCloser.prototype = {

	activate : function(oEvent) {			
	
		this.oActivateCoords = Common.Event.getAbsoluteCoords(oEvent);		
	
		var oThis = this;
	
		document.onmousemove = function(oEvent) {
			
			oThis.drag(oEvent || window.event);
			
		};
		
		document.onmouseup = function() {
		
			oThis.deactivate();
		
		};
				
		
		document.onselectstart = function() {
			
			return false;
			
		};
		
	
	},
	
	drag : function(oEvent) {	
	
		var iCurrentCoords = Common.Event.getAbsoluteCoords(oEvent);		
		var iTopOffset = iCurrentCoords.iTop - this.oActivateCoords.iTop;				
		var iNewHeight = this.iCurrentHeight + iTopOffset;
		
		iNewHeight = iNewHeight > this.aOptions.iMaxHeight? this.aOptions.iMaxHeight : (iNewHeight < this.aOptions.iMinHeight? this.aOptions.iMinHeight : iNewHeight);
		
		this.oCloserElement.style.height = iNewHeight + 'px';				
		
	},
	
	deactivate : function() {
	
		this.iCurrentHeight = parseInt(this.oCloserElement.style.height);
	
		document.onmousemove = null;
		
		document.onselectstart = function() {
			
			return true;
			
		};				
	
	}

}
