// JavaScript 1.2

var shad_tr, shad_r, shad_br, shad_b, shad_bl;
var frame_tl, frame_t, frame_tr, frame_r, frame_br, frame_b, frame_bl, frame_l;

function setShadowImageDir(d) {
	shad_tr = '<IMG SRC="' + d + '/shadow_tr.gif' + '">';
	shad_r = d + '/shadow_r.gif';
	shad_br = '<IMG SRC="' + d + '/shadow_br.gif' + '">';
	shad_b = d + '/shadow_b.gif';
	shad_bl = '<IMG SRC="' + d + '/shadow_bl.gif' + '">';
}

function setFrameImageDir(d) {
	if (!d || d.length == 0)
		frame_tl = "";
	else {
		if (!shad_tr || shad_tr.length == 0)
			setShadowImageDir(d + "/../shadow");
		frame_tl = '<IMG SRC="' + d + '/frame_tl.gif' + '">';
		frame_t = d + '/frame_t.gif';
		frame_tr = '<IMG SRC="' + d + '/frame_tr.gif' + '">';
		frame_r = d + '/frame_r.gif';
		frame_br = '<IMG SRC="' + d + '/frame_br.gif' + '">';
		frame_b = d + '/frame_b.gif';
		frame_bl = '<IMG SRC="' + d + '/frame_bl.gif' + '">';
		frame_l = d + '/frame_l.gif';
	}
}

function Td(content, bg) {
	bg = (bg && bg.length) ? ' BACKGROUND="' + bg + '"' : '';
	content = (content && content.length) ? content : '';
	this.toString = function() {
				return "<TD" + bg + ">" + content + "</TD>";
			};
}

function Tr(data) {
	this.toString = function() {
			return "<TR>" + data.join("") + "</TR>";
			};
}

function Table(data) {
	this.toString = function() {
			string = "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>";
			for (n = 0; n < data.length; n++)
				string += new Tr(data[n]);
			return string + "</TABLE>";
			};
}

function shadowed(content) {
	var data = new Array(
			new Array(
				new Td(content),
				new Td(shad_tr, shad_r)
			),
			new Array(
				new Td(shad_bl, shad_b),
				new Td(shad_br)
			)
		);
	return(String(new Table(data)));
}

function framed(content) {
	if (!frame_tl || frame_tl.length == 0) {
		return (shadowed(content));
	}
	var data = new Array(
		new Array(
			new Td(frame_tl),
			new Td('', frame_t),
			new Td(frame_tr)
		),
		new Array(
			new Td('', frame_l),
			new Td(content),
			new Td('', frame_r)
		),
		new Array(
			new Td(frame_bl),
			new Td('', frame_b),
			new Td(frame_br)
		)
	       );
	return shadowed(String(new Table(data)));
}

function framedImage(content, link, target, width) {
	content = '<IMG SRC="'
			+ content
			+ (frame_tl && frame_tl.length
				? '" BORDER="0'
				: '" STYLE="border: 1px solid black')
			+ (width && width.length
				? '" WIDTH="' + width : '')
			+ '">';
	if (!target || !target.length)
		target = "_top";
	if (link && link.length)
		content = '<A TARGET="' + target + '" HREF="'
				+ link + '">' + content + '</A>';
	document.write(framed(content));
}

