function bgPrintable() {
	oSpans	= document.getElementsByTagName("span");
	for (i = 0; i < oSpans.length; i++) {
		if (oSpans[i].className == "bg") {
			oPN	= oSpans[i].parentNode;
			oPN.style.overflow	= "hidden";
			if(typeof(getComputedStyle) != 'undefined') {
				url	= getComputedStyle(oSpans[i], '').getPropertyValue("background-image");
			} else {
				url	= oSpans[i].currentStyle["backgroundImage"];
			}
			url	= url.replace("url(", "").replace(")", "").replace(/\"/g, "");
			oImg	= document.createElement("img");
			oImg.src		= url;
			oImg.style.position	= "absolute";
			oImg.style.left		= "0px";
			oImg.style.top		= "0px";
			oPN.appendChild(oImg);
			oImgs	= oPN.getElementsByTagName("img");
		}
	}
}
function targetBlank() {
	oAs	= document.getElementsByTagName("a");
	for (i = 0; i < oAs.length; i++) {
		//if (oAs[i].className.match(/(^| )(pop|popW\d+H\d+|blank)( |$)/) != null) {
		if (oAs[i].className.match(/(^| )(blank)( |$)/) != null) {
			if (!oAs[i].getAttribute("target")) {
				oAs[i].setAttribute("target", "_blank");
				ttl	= oAs[i].getAttribute("title");
				oAs[i].setAttribute("title", ((ttl != null && ttl != "")? ttl + "\n": "") + "[別ウィンドウで開きます]");
			}
		}
	}
	for (i = 0; i < oAs.length; i++) {
		if (oAs[i].className.match(/(^| )popW(\d+)H(\d+)( |$)/) != null) {
			/* ヒアドキュメント風記述の Sample
			　 文字列リテラルの場合、行末に「\」を付ける。
			xAddEvent2(oAs[i], "mouseover","\
				this.id = 'tetetete';\
				alert(this.id);\
				"
			);
			*/
			xAddEvent(oAs[i], "click", "popWin", RegExp.$2, RegExp.$3, oAs[i].getAttribute("href"));
			oAs[i].setAttribute("href", "JavaScript: void(0);");
			oAs[i].setAttribute("target", "");
			ttl	= oAs[i].getAttribute("title");
			oAs[i].setAttribute("title", ((ttl != null && ttl != "")? ttl + "\n": "") + "[" + RegExp.$2 + "x" + RegExp.$3 + " の Popup で開きます]");
		}
	}
}
function	popWin(w, h, url) {
	window.open(url, "_blank", "width=" + w + ",height=" +  h + ",scrollbars=yes,resizable=yes");
}
function xAddEvent(obj, eh, func) {
/* ------------------------------------------------------------------------------------------------
xAddEvent の使い方
xAddEvent(DOMElement, EventHandler, FunctionName[, arg1[, arg2...]]);
DOMElement	通常通りに DOM を使用して取得したエレメントなら何でも OK。
		その他に「window」、「document｣、「document.forms[n]」なども OK
		要するにドキュメント内の単一のエレメントであればなんでも OK

EventHandler	on を省いたイベントハンドラー名を文字列リテラルで渡す。
		onclick を設定したい場合は、"click"
		onload を指定したい場合は、"load"
		onmouseover なら "mouseover" という文字列を渡す。
		ちなみに、この関数は、イベントハンドラに渡す関数を上書きしない。
		追加になるので、上書きしたい場合は、remove する必要があるんだけど、まだ作ってないや(てへ)

FunctionName	イベントハンドラに割り当てたい関数名

arg1....	上記以後の引数は、イベントハンドラに割り当てた関数に渡す引数。
		現状では、文字列しか渡せない。
		オブジェクトなどを渡す方法は現在吟味中。
		引数は 0 以上何個でも OK (JavaScript CORE が許す範囲で)

動作確認：	IE6、IE7、NN7、FF1+、OP8+、Safari
------------------------------------------------------------------------------------------------ */
	var	args	= Array();
	var	arg	= "";
	if (xAddEvent.arguments.length > 3) {
		for (j = 3; j < xAddEvent.arguments.length; j++) {
			args[j - 3]	= "'" + xAddEvent.arguments[j] + "'";
		}
		arg	= args.join(",");
	}
	if (document.all) {
		obj.attachEvent("on" + eh, eval("new Function(\"" + func + "(" + arg + ")\")"));
	} else {
		obj.addEventListener(eh, eval("new Function(\"" + func + "(" + arg + ")\")"), false);
	}
}
function xAddEvent2(obj, eh, statement) {
/* ------------------------------------------------------------------------------------------------
xAddEvent の使い方
xAddEvent(DOMElement, EventHandler, statement);
DOMElement	通常通りに DOM を使用して取得したエレメントなら何でも OK。
		その他に「window」、「document｣、「document.forms[n]」なども OK
		要するにドキュメント内の単一のエレメントであればなんでも OK

EventHandler	on を省いたイベントハンドラー名を文字列リテラルで渡す。
		onclick を設定したい場合は、"click"
		onload を指定したい場合は、"load"
		onmouseover なら "mouseover" という文字列を渡す。
		ちなみに、この関数は、イベントハンドラに渡す関数を上書きしない。
		追加になるので、上書きしたい場合は、remove する必要があるんだけど、まだ作ってないや(てへ)

statement	イベントハンドラに割り当てたいステートメント(実行させたいコード)。
		基本的に、どんなステートメントも実行可能。
		this キーワードも使用可能。

動作確認：	IE6、IE7、NN7、FF1+、OP8+、Safari
------------------------------------------------------------------------------------------------ */
	if (document.all) {
		obj.attachEvent("on" + eh, eval("new Function(\"" + statement + "\")"));
	} else {
		obj.addEventListener(eh, eval("new Function(\"" + statement + "\")"), false);
	}
}
if (document.getElementById) {
	xAddEvent(window, "load", "bgPrintable");
	xAddEvent(window, "load", "targetBlank");
}
