function meopta_init() {
	// ** container **
	// <div id="meopta">
	// 	<div id="meopta-overlay"></div>
	// 	<div id="meopta-loading"><img src="/images/loading.gif" /></div>
	// 	<div id="meopta-content" onClick="hide('meopta');">
	// 		<div id="meopta-frame"><img id="meopta-image" src="" /></div>
	// 		<div id="meopta-caption">
	// 			<p id="meopta-caption-text"></p>
	// 			<p id="meopta-caption-copyright"></p>
	// 		</div>
	// 	</div>
	// </div>
	var a = document.createElement("div");
	a.setAttribute("id", "meopta");
	var b = document.createElement("div");
	b.setAttribute("id", "meopta-overlay");
	a.appendChild(b);
	var b = document.createElement("div");
	b.setAttribute("id", "meopta-loading");
	var c = document.createElement("img");
	c.setAttribute("src", "/images/monalisa.gif");
	b.appendChild(c);
	a.appendChild(b);
	var b = document.createElement("div");
	b.setAttribute("id", "meopta-content");
	addEvent(b, "click", meopta_hide);
	var c = document.createElement("div");
	c.setAttribute("id", "meopta-frame");
	var d = document.createElement("img");
	d.setAttribute("id", "meopta-image");
	c.appendChild(d);
	b.appendChild(c);
	var c = document.createElement("div");
	c.setAttribute("id", "meopta-caption");
	var d = document.createElement("p");
	d.setAttribute("id", "meopta-caption-text");
	c.appendChild(d);
	var d = document.createElement("p");
	d.setAttribute("id", "meopta-caption-copyright");
	c.appendChild(d);
	b.appendChild(c);
	a.appendChild(b);
	document.body.appendChild(a);
	}

addEvent(window, 'load', meopta_init);

function meopta_hide() {
	hideObject('meopta-content');
	hideObject('meopta-loading');
	hideObject('meopta');
	}

function meopta_show(image, caption, copyright) {
	hideObject('meopta-content');
	showObject('meopta-loading');
	
	showObject('meopta');
	
	centerOnWindow('meopta-loading');
	
	var g = getObject('meopta-image');
	g.src = image.href;
	if (caption.length || copyright.length) {
		getObject('meopta-caption').style.display = "block";
		var e = getObject('meopta-caption-text');
		while (e.childNodes.length > 0) {
			e.removeChild(e.firstChild);
			}
		if (caption.length) {
			caption = caption.replace(/&lt;/im, "<");
			caption = caption.replace(/&gt;/im, ">");
			caption = caption.replace(/&quot;/im, "\"");
			var t = document.createTextNode(caption);
			e.appendChild(t);
			e.style.display = "block";
			}
		else {
			e.style.display = "none";
			}
		var e = getObject('meopta-caption-copyright');
		while (e.childNodes.length > 0) {
			e.removeChild(e.firstChild);
			}
		if (copyright.length) {
			copyright = copyright.replace(/&lt;/im, "<");
			copyright = copyright.replace(/&gt;/im, ">");
			copyright = copyright.replace(/&quot;/im, "\"");
			var t = document.createTextNode(copyright);
			e.appendChild(t);
			e.style.display = "block";
			}
		else {
			e.style.display = "none";
			}
		}
	else {
		getObject('meopta-caption').style.display = "none";
		}
	var a = setInterval(function () { if (g.complete) {
		clearInterval(a);
		getObject('meopta-content').style.width = getObject('meopta-image').width + parseInt(getObjectStyle('meopta-frame', 'paddingLeft', 'padding-left')) + parseInt(getObjectStyle('meopta-frame', 'paddingLeft', 'padding-right')) + "px";
		centerOnWindow('meopta-content');
		hideObject('meopta-loading');
		showObject('meopta-content');
		}}, 2000);
	return false;
	}
