var prpro_autotext = new Class({
	initialize: function(el) {
		this.element = $(el);
		this.vertPadding = this.element.getStyle('padding-top').toInt()+this.element.getStyle('padding-bottom').toInt()+this.element.getStyle('border-top').toInt()+this.element.getStyle('border-bottom').toInt();
		this.element.setStyles({
			'overflow':'hidden',
			'height':50
		});
		this.checksize();
		if( this.element.maxlength ) alert(this.element.maxlength);
		var textmax = this.element.className.match(/maxlen-(\d*)/);
		if( textmax ) this.maxlen = textmax[1].toInt();
		else this.maxlen = 0;
		if( this.maxlen > 0 )
		{
			this.counter = new Element('div',{'class':'tiny'});
			this.counter.set('text',this.element.value.length + ' / ' + this.maxlen);
			this.counter.inject(this.element,'after');
		}
		this.element.addEvent('keyup',function(ev) {
			//this.temp.set('text',this.element.value);
			//this.element.setStyle('height',this.temp.getStyle('height'));
			this.checksize();
		}.bind(this));
	},
	checksize: function() {
		var sz = this.element.getSize();
		var szc = this.element.getScrollSize();
		if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { var chksz = (szc.y); }
		else var chksz = (szc.y+this.vertPadding);
		if( szc.y > 50 )
		{
			this.element.setStyle('height',szc.y);
		}
		if( this.counter )
		{
			var anz = this.element.value.length;
			this.counter.set('text',anz + ' / ' + this.maxlen);
			if( anz > this.maxlen ) this.counter.addClass('error');
			else this.counter.removeClass('error');
		}
	}
});
