
var arc90_isIE = document.all? true: false;

function arc90_imgcaption() {
var O = document.getElementsByTagName('P'); // For safari???
for (var i = 0, l = O.length; i < l; i++)
	O[i].appendChild(arc90_newNode('span'));

	var O = document.getElementsByTagName('IMG');
	for (var i = 0, l = O.length; i < l; i++) {
		var o = O[i];
		if (o != null && o.className && o.className.indexOf('imgcaption') >= 0) {
			try {
				var x = arc90_newNode('p', '', 'arc90_imgcaptiontxt');
				var f = o.className.replace(/(.*)float(l|r)(.*)/, '$2');
				var I = o.cloneNode(true);
				x.innerHTML = arc90_gtlt(o.title != ''? o.title: o.alt);
				I.className = 'arc90_imgcaptionIMG';

				var s = arc90_newNode('div', '', 'arc90_imgcaption'+ (f.length == 1? ' float'+ f: ' floatl'));
				s.appendChild(I);
				s.appendChild(x);
				o.parentNode.insertBefore(s, o);
				o.parentNode.removeChild(o);
			} catch (err) {
				o = null;
			}
		}
	}
var O = document.getElementsByTagName('P'); // For safari???
for (var i = 0, l = O.length; i < l; i++)
	O[i].appendChild(arc90_newNode('span'));
}

function arc90_gtlt(s) {
	s = s.replace(/&gt;/g, '>');
	s = s.replace(/&lt;/g, '<');
	return s;
}

/* Events */
function isString(o) { return (typeof(o) == "string"); }

function arc90_addEvent(e, meth, func, cap) {
	if (isString(e))	e = document.getElementById(e);

	// this helps problems with IE 5 on Mac, not verified yet!!!
	if (e == window && meth == "load") {
		if (typeof window.onload != 'function') {
	    	window.onload = func;
		} else {
			var oldonload = window.onload;
	    	window.onload = function() {
				oldonload();
				func();
			}
	    }
		return true;
	} else if (e.addEventListener){
		e.addEventListener(meth, func, cap);
    	return true;
	}	else if (e.attachEvent)
		return e.attachEvent("on"+ meth, func);
	return false;
}

/* Nodes */
function arc90_newNode(t, i, s, x, c) {
	var node = document.createElement(t);
	if (x != null && x != '') {
		var n = document.createTextNode(x);
		node.appendChild(n);
	}
	if (i != null && i != '')
		node.id = i;
	if (s != null && s != '')
		node.className = s;
	if (c != null && c != '')
		node.appendChild(c);
	return node;
}

/* Onload */
arc90_addEvent(window, 'load', arc90_imgcaption);

