function ReadMores(identifier, objects) {
	if (!objects.length)
		return;

	this.elements = objects;
	this.objects = {};
	setTimeout(identifier + '.initialize()', 100);
};

ReadMores.prototype.initialize = function initialize(){
	for(i in this.elements)
	{
		var id = this.elements[i];
		var dom_el = document.getElementById(id);
		if (dom_el == null)
			continue;

		this.objects[id] = {
			element: dom_el,
			height: dom_el.offsetHeight
		};

		dom_el.style.display = 'none';
	}
};

ReadMores.prototype.toggle = function toggle(identifier){
	if (!(identifier in this.objects))
		return;

	var object = this.objects[identifier];
	var not_visible = object.element.style.display == 'none';
	if (not_visible)
	{
		object.element.style.height = 0;
		object.element.style.opacity = 0;
		object.element.style.display = '';

		new Fx.Morph(object.element).start({
			'opacity': 1,
			'height': object.height
		}).chain(function(){
			object.element.height = null;
		});
	}
	else
	{
		object.element.style.opacity = 1;

		new Fx.Morph(object.element).start({
			'opacity': 0,
			'height': 0
		}).chain(function(){
			object.element.style.display = 'none';
			object.element.style.height = 0;
		});
	}
};

