var Resizer = Class.create();
Resizer.prototype = {
	initialize : function(option) {
		Object.extend(this, option);
		this.target.element.setStyle({ position: "absolute" });
		this.src.setStyle({cursor: "move"});
		this.attachMouseDownEventHandler();
		this.attachMouseUpEventHandler();
		this.attachMouseMoveEventHandler();
	},
	isResize : false,
	TIME_INTERVAL : 80,
	attachMouseDownEventHandler : function() {
		Event.observe(this.src, "mousedown", function(evt) {
			this.isResize = true;
			this.originalDim = this.target.element.getDimensions();
			this.draggerStart = {x: Event.pointerX(evt) - this.target.element.offsetLeft,
				y : Event.pointerY(evt) - this.target.element.offsetTop};
		}.bind(this));
	},
	attachMouseUpEventHandler : function() {
		Event.observe(document, "mouseup", function(evt) {
			this.isResize = false;
		}.bind(this));
	},
	attachMouseMoveEventHandler : function() {
		Event.observe(document, "mousemove", function(evt) {
			Event.stop(evt);
			if(!this.isResize) return;
			var xDiff = Event.pointerX(evt) - this.draggerStart.x;
			var yDiff = Event.pointerY(evt) - this.draggerStart.y;
			
			this.target.fixed = {width : this.originalDim.width + xDiff - 100,
			height : this.originalDim.height + yDiff - 100};
			this.target.resizeToContent();
		}.bind(this));
	}
};
