var JCaption = new Class({
	initialize: function(selector)
	{
		this.selector = selector;
		var images = $$(selector);
		images.each(function(image){ this.createCaption(image); }, this);
	},
	createCaption: function(element)
	{
		var caption   = document.createTextNode(element.title);
		var container = document.createElement("div");
		var text      = document.createElement("p");
		var width     = element.getAttribute("width");
		var align     = element.getAttribute("align");
		var docMode = document.documentMode;
		if (!align)
			align = element.getStyle("float");
		if (!align)
			align = element.style.styleFloat;
		text.appendChild(caption);
		text.className = this.selector.replace('.', '_');
		if (align=="none") {
			if (element.title != "") {
				element.parentNode.replaceChild(text, element);
				text.parentNode.insertBefore(element, text);
			}
		} else {
			element.parentNode.insertBefore(container, element);
			container.appendChild(element);
			if ( element.title != "" ) {
				container.appendChild(text);
			}
			container.className   = this.selector.replace('.', '_');
			container.className   = container.className + " " + align;
			container.setAttribute("style","float:"+align);
			if (!docMode|| docMode < 8) {
				container.style.width = width + "px";
			}
		}
	}
});
document.caption = null;
window.addEvent('load', function() {
	var caption = new JCaption('img.caption')
	document.caption = caption
});
