
function Sprite (target) {
	this.target = (typeof target == "object") ? target : document.getElementById(target);
	this.addListener(this);
}

Class(Sprite);

Broadcaster.initialize(Sprite.prototype, false);

Sprite.prototype.target = new Object();
Sprite.prototype.resizeTimer = 0;

Sprite.prototype.onResized = new Function;

Sprite.prototype.startResizeTimer = function (interval) {
	var classPointer = this;
	this.stopResizeTimer();
	this.resizeTimer = setInterval(function() {classPointer.checkResize(classPointer.resizeTimer)}, (interval == undefined) ? 100 : interval);
}

Sprite.prototype.stopResizeTimer = function () {
	window.clearInterval(this.resizeTimer);
}

Sprite.prototype.checkResize = function (id) {
	
	this.checkResize.newFontSize = (window.getComputedStyle) ? window.getComputedStyle(this.target, '').getPropertyValue("font-size") : this.target.clientWidth;
	this.checkResize.newWidth = (window.getComputedStyle) ? window.getComputedStyle(this.target, '').getPropertyValue("width") : this.target.clientWidth;
	this.checkResize.newHeight = (window.getComputedStyle) ? window.getComputedStyle(this.target, '').getPropertyValue("height") : this.target.clientHeight;
	
	if (this.checkResize.newFontSize != undefined && this.checkResize.oldFontSize != this.checkResize.newFontSize) {
		this.broadcastMessage("onResized", this, this.checkResize);
		//this.broadcastEvent("resize", this, this.checkResize);
	} else if (this.checkResize.newWidth != undefined && this.checkResize.oldWidth != this.checkResize.newWidth) {
		this.broadcastMessage("onResized", this, this.checkResize);
		//this.broadcastEvent("resize", this, this.checkResize);
	} else if (this.checkResize.newHeight != undefined && this.checkResize.oldHeight != this.checkResize.newHeight) {
		this.broadcastMessage("onResized", this, this.checkResize);
		//this.broadcastEvent("resize", this, this.checkResize);
	}
	
	this.checkResize.oldFontSize = this.checkResize.newFontSize;
	this.checkResize.oldWidth = this.checkResize.newWidth;
	this.checkResize.oldHeight = this.checkResize.newHeight;
	
}
