/**
Create by Tibor Bedő (I-Design Studio)
All rights reserved.
*/

function animText_zoom_class(params) {
	this.targetSize = 42;
	if (params['textId']) this.id = params['textId'];
	else alert('Undefined parameter: textId');
	this.textTag = document.getElementById(this.id);
	this.textTag.style.position = 'relative';
	var fontSizeStr = new String(this.textTag.style.fontSize);
	this.startFontSize = fontSizeStr.substring(0,fontSizeStr.length-2)*1;
	this.textDiv = document.createElement('div');
	//textDiv.style.display = 'none';
	this.textDiv.style.position = 'absolute';
	this.textDiv.style.zIndex = '100';
	this.textDiv.style.color = '#000000';
	this.textDiv.innerHTML = this.textTag.innerHTML;
	document.body.appendChild(this.textDiv);
	this.zoom = animText_zoom;
	this.zoom(this.startFontSize);
	this.anim = animText_anim;
	this.restart = animText_restart;
	this.setOpacity = animText_setOpacity;
	this.anim();
}

function animText_setOpacity(opacity) {
	this.textDiv.style.filter = 'alpha(opacity='+opacity+')';
	this.textDiv.style.mozOpacity = opacity/100;
	this.textDiv.style.opacity = opacity/100;
}

function animText_restart() {
	this.fontSize = this.startFontSize;
	setTimeout(function() {
		this.zoom(this.startFontSize);
		this.setOpacity((1-this.startFontSize/this.targetSize)*100);
		this.anim();
	},2000);
}

function animText_anim() {
	var $this = this;
	setTimeout(function() {
		$this.zoom($this.fontSize+1);
		$this.setOpacity((1-$this.fontSize/$this.targetSize)*100);
		if ($this.fontSize<$this.targetSize) {
			$this.anim();
		} else {
			$this.restart();
		}
	},15);
}

function animText_zoom(fontSize) {
	this.fontSize = fontSize;
	this.textDiv.style.fontSize = this.fontSize+'px';
	this.textDiv.style.top = Math.round(this.textTag.offsetTop*1+(this.textTag.offsetHeight/2)-this.textDiv.offsetHeight/2)+'px';
	this.textDiv.style.left = Math.round(this.textTag.offsetLeft*1+(this.textTag.offsetWidth/2)-this.textDiv.offsetWidth/2)+'px';
}