rEngine = '';
ver = 0;
if( window.opera ) {
	rEngine = 'Presto';
	verList = [ 2.6, 2.5, 2.2, 2.1, 2, 1 ];
	if( typeof( document.onhashchange ) != 'undefined' ) { ver = 2.6; sVer = '2.6'; }
	else if( typeof( document.onstorage ) != 'undefined' ) { ver = 2.5; sVer = '2.5'; }
	else if( document.baseURI ) { ver = 2.2; sVer = '2.2'; }
	else if( document.DOCUMENT_NODE ) { ver = 2.1; sVer = '2.1'; }
	else if( document.characterSet ) { ver = 2; sVer = '2.0'; }
	else if( document.alinkColor ) { ver = 1; sVer = '1.0'; }
	else { rEngine = 'Elektra'; sVer = ''; verList = [ 0 ]; }
}
else if( document.layers ) { rEngine = 'Navigator'; sVer = ''; }
else if( window.netscape ) {
	rEngine = 'Gecko';
	verList = [ 1.92, 1.91, 1.9, 1.81, 1.8, 1.7 ];
	if( document.readyState ) { ver = 1.92; sVer = '1.9.2'; }
	else if( window.getInterface ) { ver = 1.91; sVer = '1.9.1'; }
	else if( document.styleSheetSets ) { ver = 1.9; sVer = '1.9'; }
	else if( window.globalStorage ) { ver = 1.81; sVer = '1.8.1'; }
	else if( document.inputEncoding ) { ver = 1.8; sVer = '1.8'; }
	else { ver = 1.7; sVer = '1.7>'; }
}
else if( window.ActiveXObject ) {
	if( navigator.platform.charAt( 0 ) == 'M' ) { rEngine = 'Tasman'; verList = [ 0 ]; }
	else {
		rEngine = 'Trident';
		verList = [ 9, 8, 7, 6, 5.5, 5, 4 ];
		if( document.documentMode ) ver = document.documentMode;
		else if( typeof XMLHttpRequest == 'object' ) ver = 7;
		else if( document.compatMode ) ver = 6;
		else if( document.namespaces ) ver = 5.5;
		else if( document.childNodes ) ver = 5;
		else ver = 4;
		if( ver == 9 ) sVer = '5.0';
		else if( ver == 8 ) sVer = '4.0';
		else if( ver == 7 ) sVer = '3.1';
		else if( ver == 6 ) sVer = 'no version (MSHTML 6.0)';
		else if( ver == 5.5 ) sVer = 'no version (MSHTML 5.5)';
		else if( ver == 5 ) sVer = 'no version (MSHTML 5.0)';
		else { sVer = 'no version (MSHTML 4.0)'; }
	}
}
else if( window.console ) {
	rEngine = 'WebKit';
	verList = [ 533, 532, 531 ];
	if( window.sessionStorage ) { ver = 533; sVer = '533'; }
	else if( document.head ) { ver = 532; sVer = '532'; }
	else { ver = 531; sVer = '≦531'; }
}

if( ( rEngine != 'Trident' || ver >= 5.5 ) && rEngine != 'Navigator' ) {

	cssCompat = document.compatMode == 'CSS1Compat' || rEngine == 'WebKit';
	cls = ( rEngine == 'Trident' && ( ver <= 7 || ! cssCompat ) ) ? 'className' : 'class';
	bgImage = 0;

	multiBG = rEngine == 'Gecko' && ver >= 1.92 || rEngine == 'Presto' && ver >= 2.5 || rEngine == 'WebKit' || rEngine == 'Trident' && ver >= 9;
	objInBG = multiBG && rEngine != 'Gecko';	// Gecko の mutiple background は重いのでアニメーション除外

	var mainLayer, leftWoods, rightWoods, w, h, timerId, defaultInterval;
	head = document.getElementsByTagName( 'head' )[ 0 ];

	htm = location.pathname;
	htm = htm.split( '/' );
	htm = htm.reverse();
	htm = htm[ 0 ];
	htm = htm.split( '\\' );
	htm = htm.reverse();
	htm = htm[ 0 ];
	htm = htm.split( '.' );
	htm = htm[ 0 ];
	if( document.domain == 'www.reicha.mydns.jp' || document.domain == 'reirei3' ) domain = 'http://reicha.jp';
	else domain = '';

	fmode = rEngine == 'Trident' && htm && ver <= 6;	//	position: fixed 未対応のIE用

	rClass = rEngine + ' ' + rEngine + ( ver + '' ).replace( '.', '_' );
	for( i in verList ) {
		if( ver >= verList[ i ] ) rClass += ' ge' + rEngine + ( verList[ i ] + '' ).replace( '.', '_' );
		if( ver <= verList[ i ] ) rClass += ' le' + rEngine + ( verList[ i ] + '' ).replace( '.', '_' );
	}
	if( fmode ) rClass += ' fmode';
	document.documentElement.setAttribute( cls, rClass );

	links = document.getElementsByTagName( 'link' );

	if( rEngine == 'Trident' && ver <= 8 ) {
		if( ver <= 8 ) {
			el = 'abbr article aside audio bb canvas command datalist details figcaption figure footer header hgroup keygen mark meter nav output progress section source summary time video'.split( ' ' );
			for ( i = 0; i < el.length; i++ ) {
				document.createElement( el[ i ] );
			}
			for( i in links ) {
				if( links[ i ].rel == 'icon' ) document.write( '<link rel="shortcut icon" href="' + links[ i ].href + '" />');
			}
		}
		styleText = '';
		if( ver <= 8 ) {
			styleText +=
				'.linkBar, .headlineBox, #rakugaki .tbody {\n' +
				'	background: transparent;\n' +
				'	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr = #ffffffff, endColorstr = #00ffffff );\n' +
				'	-ms-filter: "progid:DXImageTransform.Microsoft.gradient( startColorstr = #ffffffff, endColorstr = #00ffffff )";\n' +
				'}\n';
		}
		if( ver <= 8 ) {
			styleText +=
				'#navMenu a.inact img, #sideMenu a.inact img/* */, #navMenu img, #sideMenu img {\n' +
				'	filter: alpha( opacity = 20 );\n' +
				'	-ms-filter: "alpha( opacity = 20 )";\n' +
				'}\n'
				+
				'#navMenu a img, #sideMenu a img {\n' +
				'	filter: alpha( opacity = 100 );\n' +
				'	-ms-filter: "alpha( opacity = 100 )";\n' +
				'}\n'
				+
				'#navMenu a, #sideMenu a {\n' +
				'	filter: alpha( opacity = 70 );\n' +
				'	-ms-filter: "alpha( opacity = 70 )";\n' +
				'}\n'
				+
				'#navMenu a:hover, #sideMenu a:hover {\n' +
				'	filter: alpha( opacity = 100 );\n' +
				'	-ms-filter: "alpha( opacity = 100 )";\n' +
				'}\n'
				+
				'#mainLayer ul.navi .inact:before, #mainLayer ul.navi .inactIcon {\n' +
				'	filter: alpha( opacity = 20 );\n' +
				'	-ms-filter: "alpha( opacity = 20 )";\n' +
				'}\n';
		}
		if( ver == 7 ) {
			styleText +=
				'img {\n' +
				'	-ms-interpolation-mode: bicubic;\n' +
				'}\n';
		}
		if( ver == 6 ) document.documentElement.lang = 'ja';
		if( ver <= 6 ) {
			styleText +=
				'#sideMenu {\n' +
				'	height: expression( Math.min( displayArea.height(), 416 ) + "px" );\n' +
				'}\n'
				+
				'#navMenu {\n' +
				'	height: expression( Math.min( displayArea.height(), 132 ) + "px" );\n' +
				'}\n';
			if( fmode ) {
				styleText +=
					'#ieframe {\n' +
					'	height: expression( ( document.documentElement.clientHeight || document.body.clientHeight ) + "px" );\n' +
					'}\n';
			}
		}
		if( styleText ) {
			if( ver <= 8 ) document.write( '<style type="text/css">' + styleText + '</style>' );
/*
			else {
				head.appendChild( document.createElement( 'style' ) ).appendChild( document.createTextNode( styleText ) );
			}
*/
		}
	}

	if( rEngine == 'Gecko' || rEngine == 'Presto' && ver <= 2.6 || rEngine == 'WebKit' || rEngine == 'Trident' && ver >= 9 ) {
		contents = 0;
		for( i in links ) {
			if( links[ i ].rel ) {
				rel = '';
				if( links[ i ].rel.match( /^index/i ) ) rel = 'start';
				else if( links[ i ].rel == 'license' ) rel = 'copyright';
				else if( links[ i ].rel == 'contents' ) contents = 1;
				if( rel ) {
					link = document.createElement( 'link' );
					link.rel = rel;
					link.href = links[ i ].href;
					link.title = links[ i ].title;
					head.appendChild( link );
				}
			}
		}
		if( htm != 'forest' && ! contents ) {
			link = document.createElement( 'link' );
			link.rel = 'contents';
			link.href = 'forest';
			link.title = 'メインメニュー';
			head.appendChild( link );
		}
	}

	if( rEngine != 'Trident' || ver >= 9 ) {
		style = document.createElement( 'style' );
		style.appendChild(
			document.createTextNode(
				'.linkBar {\n' +
					cssTextShadow( '1px 1px 1px #ffffff, -1px -1px 1px rgba( 0, 0, 0, 0.4 )' ) +
				'}\n'
				+
				'h1 {\n' +
					cssTextShadow( '4px 4px 5.3px rgba( 0, 0, 0, 0.35 )' ) +
				'}\n'
				+
				'img {\n' +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 )' ) +
				'}\n'
				+
				'#counter img, h1 img, .cssList img, img[ src ^= "chrome:" ], img[ src $= "menuicon_control" ], img[ src = "tr.gif" ] {\n' +
					cssBoxShadow( 'none' ) +
				'}\n'
				+
				'#sideMenu img {\n' +
					cssBorderRadius( '', '16px' ) +
				'}\n'
				+
				'#sideMenu img[ src $= "menuicon_control" ] {\n' +
					cssBorderRadius( '', '0' ) +
				'}\n'
				+
				'#navMenu img {\n' +
					cssBorderRadius( '', '12px' ) +
				'}\n'
				+
				'.linkBar {\n' +
					cssBorderRadius( '', '1em' ) +
					cssBackground_gradient( 'linear', '', '#ffffff', 'rgba( 255, 255, 255, 0.2 ) 33%', 'rgba( 0, 0, 0, 0.05 ) 67%', 'rgba( 0, 0, 0, 0 )' ) +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 )' ) +
				'}\n'
				+
				'.headlineBox {\n' +
					cssBorderRadius( '', '2em' ) +
					cssBackground_gradient( 'linear', '', '#ffffff', 'rgba( 255, 255, 255, 0.2 ) 33%', 'rgba( 0, 0, 0, 0.05 ) 67%', 'rgba( 0, 0, 0, 0 )' ) +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 )' ) +
				'}\n'
				+
				'.contentBox {\n' +
					cssBorderRadius( 'top-left', '2em' ) +
					cssBorderRadius( 'bottom-right', '2.5em' ) +
				'}\n'

				+
				'div.comment {\n' +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 ) inset' ) +
				'}\n'
				+
				'#rakugaki .tbody {\n' +
					cssBorderRadius( '', '2em' ) +
					cssBackground_gradient( 'linear', '', '#ffffff', 'rgba( 255, 255, 255, 0.2 ) 33%', 'rgba( 0, 0, 0, 0.05 ) 67%', 'rgba( 0, 0, 0, 0 )' ) +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 )' ) +
				'}\n'
				+
				'#rakugaki .tbody .commentsec, div.comment {\n' +
					cssBorderRadius( '', '1.5em' ) +
				'}\n'

				+
				'#rakugaki .rakuBlock {\n' +
					cssBorderRadius( '', '2em' ) +
					cssBackground_gradient( 'linear', '', '#ffffff', 'rgba( 255, 255, 255, 0.2 ) 10%', 'rgba( 0, 0, 0, 0 ) 50%', 'rgba( 255, 255, 255, 0.2 ) 90%', '#ffffff' ) +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 )' ) +
				'}\n'
				+
				'#rakugaki .comments {\n' +
					cssBorderRadius( '', '1.5em' ) +
					cssBoxShadow( '6px 6px 8px rgba( 0, 0, 0, 0.2 ) inset' ) +
				'}\n'
				+
				'#rakugaki .footer {\n' +
					cssBorderRadius( 'bottom-left', '2em' ) +
					cssBorderRadius( 'bottom-right', '2em' ) +
				'}\n'
			)
		);
		head.appendChild( style );
	}
}

function cssBorderRadius( p, s ) {
	if( rEngine == 'Gecko' && ver <= 1.92 ) {
		if( p != '' ) p = '-' + p.replace( /-/, '' );
		return '	-moz-border-radius' + p + ': ' + s + ';\n';
	}
	if( rEngine == 'WebKit' && ver <= 531 ) {
		if( p != '' ) p = '-' + p;
		return '	-webkit-border' + p + '-radius: ' + s + ';\n';
	}
	return '';
}

function cssBackground_gradient( t, p, c ) {
	if( t != 'linear' ) return;
	s = '';
	if( rEngine == 'Gecko' && ver >= 1.92 && ver <= 1.92 ) {
		if( p != '' ) p += ', ';
		for( i = 3; i < arguments.length; i++ ) {
			s += ', ' + arguments[ i ];
		}
		return '	background: -moz-' + t + '-gradient( ' + p + c + s + ' );\n';
	}
	if( rEngine == 'Presto' && ver >= 2.6 ) {
		if( p != '' ) p += ', ';
		for( i = 3; i < arguments.length; i++ ) {
			s += ', ' + arguments[ i ];
		}
		return '	background: -o-' + t + '-gradient( ' + p + c + s + ' );\n';
	}
	if( rEngine == 'Trident' && ver >= 9 ) {
		if( p != '' ) p += ', ';
		for( i = 3; i < arguments.length; i++ ) {
			s += ', ' + arguments[ i ];
		}
		return '	background: -ms-' + t + '-gradient( ' + p + c + s + ' );\n';
	}
	if( rEngine == 'WebKit' && ver <= 533 ) {
		x = '';
		y = '';
		a = '';
		pf = 0;
		af = 0;
		p = p.split( ' ' );
		for( i in p ) {
			if( p[ i ] == '0' ) p[ i ] += '%';
			if( ( /left|right/ ).test( p[ i ] ) ) {
				if( pf ) return '';
				x = p[ i ];
				pf = 1;
			}
			else if( ( /top|bottom/ ).test( p[ i ] ) ) {
				if( pf > 1 || af ) return '';
				y = p[ i ];
				pf = 2;
			}
			else if( ( /deg$/ ).test( p[ i ] ) ) {
				a = parseFloat( p[ i ] ) + '';
				af = pf;
			}
			else if( ! pf ) {
				x = p[ i ];
				pf = 1;
			}
			else if( pf == 1 && ! af ) {
				y = p[ i ];
				pf = 2;
			}
			else return '';
		}
		if( x + y == '' && a == '' ) y = 'top';
		if( x == '' && y != '' ) x = 'center';
		if( x != '' && y == '' ) y = 'center';
		if( x + y == '' && a != '' ) {
			if( a < 90 || a >= 270 ) x = 'left';
			else x = 'right';
			if( a < 180 ) y = 'bottom';
			else y = 'top';
		}
		if( a == 0 || a == 180 || a == '' ) {
			if( x == 'left' ) rx = 'right';
			else if( x == 'right' ) rx = 'left';
			else if( ( /%$/ ).test( x ) ) rx = ( 100 - parseFloat( x ) ) + '%';
			else rx = x;
		}
		if( a == 90 || a == 270 || a == '' ) {
			if( y == 'top' ) ry = 'bottom';
			else if( y == 'bottom' ) ry = 'top';
			else if( ( /%$/ ).test( y ) ) ry = ( 100 - parseFloat( y ) ) + '%';
			else ry = y;
		}
		if( x != '' && y != '' ) p = x + ' ' + y;
		else p = x + y;
		if( rx != '' && ry != '' ) rp = rx + ' ' + ry;
		else rp = rx + ry;
		for( i = 3; i < arguments.length - 1; i++ ) {
			arguments[ i ].match( /(.+) ([^ ]+)$/ );
			s += ', color-stop( ' + RegExp.$2 + ', ' + RegExp.$1 + ' )';
		}
		return '	background: -webkit-gradient( ' + t + ', ' + p + ', ' + rp + ', from( ' + c + ' )' + s + ', to( ' + arguments[ arguments.length - 1 ] + ' ) );\n';
	}
	return '';
}

function cssTextShadow( s ) {
	if( rEngine == 'Trident' && ver >= 9 ) return '	-ms-text-shadow: ' + s + ';\n';
	return '';
}

function cssBoxShadow( s ) {
	if( rEngine == 'Gecko' && ver >= 1.91 && ver <= 1.92 ) return '	-moz-box-shadow: ' + s + ';\n';
	if( rEngine == 'WebKit' && ver <= 533 ) return '	-webkit-box-shadow: ' + s + ';\n';
	return '';
}

//互換性維持 ==========

br = rEngine != 'Navigator';

function getcook( st ) {
	s = cook.indexOf( st );
	if( s != 1 ) {
		st = cook.substring( s );
		s = st.indexOf( ':' );
		e = st.indexOf( ',' );
		return st.substring( s + 1, e );
	}
	else return '';
}

function writecook( key, data ) {
	date = new Date();
	date.setTime( date.getTime() + 365 * 86400000 );
	expire = date.toGMTString();
	document.cookie = key + '=' + data + ';expires=' + expire;
}

function txtbcook() {
	div = document.text;
	div.submit.disabled = 1;
	pck = div.cook.checked;
	pass = pck ? div.pass.value : '';
	writecook( 'RPS', pass );
	if( ! pck ) return;
	data = 'name:' + escape( div.name.value );
	data += ',email:' + escape( div.email.value );
	url = div.url.value;
	url = ( url.substring( 0, 7 ) == 'http://' ) ? url.substring( 7 ) : url;
	data += ',url:' + escape( url );
	data += ',link:' + ( div.link.checked ? 'on' : 'off' );
	writecook( 'rakujs', data );
}

//互換性維持ここまで ==========

function simulateDW( html ) {
}

function getCookie( key ) {
	cook = document.cookie + ';';
	idx = document.cookie.indexOf( key );
	if( idx == -1 ) return -1;
	cook = cook.substring( idx );
	idx = cook.indexOf( ';' );
	cook = cook.substring( 0, idx );
	idx = cook.indexOf( '=' );
	return cook.substring( idx + 1 );
}

function writeCookie( key, data, day ) {
	date = new Date();
	date.setTime( date.getTime() + day * 86400000 );
	expire = date.toGMTString();
	document.cookie = key + '=' + data + ';expires=' + expire;
}

function rewrite() {
	if( rEngine == 'Navigator' ) location.reload();
	else if( ! bgImage ) rfit();
}

function rfit() {
	if( ! bgImage ) {
		if( multiBG ) mainLayer.style.height = '1px';
		else {
			leftWoods.style.height = '1px';
			rightWoods.style.height = '1px';
			rightWoods.style.left = -rw + 'px';
		}
		if( typeof( cnt ) != 'undefined' ) {
			for( i in cnt ) {
				cnt[ i ].style.left = '-1000px';
				cnt[ i ].style.top = '-1000px';
			}
		}
		if( multiBG ) {
			h = displayArea.height();
			ah = Math.max( h, layer.scrollHeight );
			mainLayer.style.marginBottom = -ah + 'px';	// Opera で下方向に伸びるため。white space node?
			mainLayer.style.height = ah + 'px';
		}
		else if( rEngine == 'Trident' ) setTimeout( postRfit, 50 );
		else postRfit();
	}
}

function postRfit() {
	w = displayArea.width();
	h = displayArea.height();
	aw = Math.max( w, layer.scrollWidth );
	ah = Math.max( h, layer.scrollHeight );
	leftWoods.style.height = ah + 'px';
	rightWoods.style.height = ah + 'px';
	rightWoods.style.left = ( aw - rw ) + 'px';
	move( 1 );
}

scrollLayer = new Object;

scrollLayer.scrollLeft = function() {
	return window.pageXOffset || layer.scrollLeft;
}

scrollLayer.scrollTop = function() {
	return window.pageYOffset || layer.scrollTop;
}

displayArea = new Object;

displayArea.width = function() {
	return layer.clientWidth;
}

displayArea.height = function() {
	return layer.clientHeight;
}

function setTop( id, px ) {
	el = document.getElementById( id );
	if( el ) el.style.top = px + 'px';
}

function getCurrentStyle ( id ) {
	el = document.getElementById( id );
	return el.currentStyle || document.defaultView.getComputedStyle( el, '' );
}

function putObj( i, x, y, z, ew, eh, pw, ph, imageFile ) {
	if( rEngine == 'Trident' && ver <= 7 || rEngine == 'Tasman' ) {
		document.write(
			'<span id="cnt' + i + '" style="position: absolute; overflow: hidden; display: block;">',
			'<img src="' + domain + '/' + imageFile + '" id="obj' + i + '" />',
			'</span>'
		);
	}
	else {
		span = document.createElement( 'span' );
		span.style.position = 'absolute';
		span.style.overflow = 'hidden';
		span.style.display = 'block';
		span.id = 'cnt' + i;
		image = document.createElement( 'img' );
		image.src = domain + '/' + imageFile;
		image.style.position = 'absolute';
		image.id = 'obj' + i;
		document.body.appendChild( span ).appendChild( image );
	}
	setMoveObj( i, x, y, z, ew, eh, pw, ph );
}

function setMoveObj( i, x, y, z, ew, eh, pw, ph ) {
	x = Math.round( x - ew / 2 + pw - 1 );
	repW = w + pw - 1;
	relX = ( x - wx0 ) % repW;
	if( relX < 0 ) relX += repW;
	ex = wx0 + relX - ph + 1;
	ew = Math.round( ew );
	y = Math.round( y - eh / 2 + ph - 1 );
	repH = h + ph - 1;
	relY = ( y - wy0 ) % repH;
	if( relY < 0 ) relY += repH;
	ey = wy0 + relY - ph + 1;
	eh = Math.round( eh );
	if( objInBG ) return [ ew + 'px ' + eh + 'px', ex + 'px ' + ey + 'px' ];
	else {
		cw = ew > aw - ex ? aw - ex : ew;
		ch = eh > ah - ey ? ah - ey : eh;
		c = cnt[ i ];
		o = obj[ i ];
		if( cw > 0 ) c.style.width = cw + 'px';
		if( ch > 0 ) c.style.height = ch + 'px';
		o.style.width = ew + 'px';
		o.style.height = eh + 'px';
		c.style.left = ex + 'px';
		c.style.top = ey + 'px';
		c.style.zIndex = z;
	}
}

function move( flag ) {
	if( timerId ) clearTimeout( timerId );
	wx0 = scrollLayer.scrollLeft();
	wy0 = scrollLayer.scrollTop();
	wy1 = wy0 + h;

	if( rEngine == 'Trident' && ver < 5.5 ) {
		if( rmy != wy0 || rmf ) {
			setTop( 'sideMenu', wy0 );
			setTop( 'navMenu', wy0 );
			rmf = 0;
		}
		rmy = wy0;
	}
	timerId = setTimeout( function() { move(); }, defaultInterval || interval );
}

function control() {
	writeCookie( moveObj, rEngine != 'WebKit' && moveFlag != 0 || rEngine == 'WebKit' && moveFlag == 1 ? 0 : 1, 180 );
}

function menu( navMenu ) {
	if( navMenu ) return;
	menuBar = 'navMenu';
	iconSize = 24;
	tabIndex = 20;
	if( rEngine == 'Trident' && ! cssCompat ) {
		document.write( '<hr />' );
		document.write( '<ul id="' + menuBar + '">' );
	}
	else {
		hr = document.createElement( 'hr' );
		document.body.appendChild( hr );
		ul = document.createElement( 'ul' );
		ul.id = menuBar;
	}
	es = document.getElementsByTagName( 'link' );
	title = { up: '上の階層へ', last: '最後のページ', next: '次のページ', prev: '前のページ', begin: '最初のページ' };
	href = {};
	for( i = 0; i < es.length; i++ ) {
		er = es[ i ].rel;
		if( title[ er ] ) {
			title[ er ] = es[ i ].title || title[ er ];
			href[ er ] = es[ i ].href;
		}
	}
	for( i in title ) {
		if( href[ i ] ) menuwrite( href[ i ], i, title[ i ], '', 1 );
		else menuwrite( '', i, title[ i ], '', 0 );
	}
	if( rEngine == 'Trident' && ! cssCompat ) document.write( '</ul>' );
	else document.body.appendChild( ul );
}

function menuwrite( l, r, a, t, f ) {
	p = 'navicon_' + r;
	if( t == '' ) t = a;
	else t = a + ' (' + t + ')';
	if( rEngine == 'Trident' && ! cssCompat ) {
		if( f ) {
			document.write( '<li><a rel="' + r + '" href="' + l + '" tabindex="' + tabIndex + '" class="menu' );
			t = ' title="' + t + '"';
		}
		else {
			document.write( '<span class="inactive' );
			t = '';
		}
		document.write( 'icon"><img src="' + domain + '/parts/' + p + '" width="' + iconSize + '" height="' + iconSize + '" border="0" alt="' + a + '"' + t + ' /></' );
		document.write( f ? 'a' : 'span' );
		document.write( '></li>' );
	}
	else {
		li = document.createElement( 'li' );
		if( f ) {
			container = document.createElement( 'a' );
			container.rel = r;
			container.href = l;
			container.setAttribute( 'tabindex', tabIndex );
			container.setAttribute( cls, 'menuIcon' );
		}
		else {
			container = document.createElement( 'span' );
			container.setAttribute( cls, 'inactiveIcon' );
		}
		image = document.createElement( 'img' );
		image.src = domain + '/parts/' + p;
		image.width = iconSize;
		image.height = iconSize;
		image.alt = a;
		if( f ) image.title = t;
		ul.appendChild( li ).appendChild( container ).appendChild( image );
	}
	tabIndex++;
}

function content() {
	if( rEngine == 'Trident' && ver <= 5 || rEngine == 'Navigator' ) return;
	if( rEngine == 'Trident' && ( ver >= 5 && ver <= 7 || ! cssCompat ) ) {
		es = document.getElementById('mainLayer').getElementsByTagName( 'a' );
		for( i = 0; i < es.length; i++ ) {
			el = es[ i ];
			cn = el.rel;
			pcn = ( ' ' + el.parentNode.parentNode.className + ' ' ).match( /navi/ );
			if( cn || pcn || el.href.match( /forest$/ ) && document.documentElement.id != 'rakugaki' ) {
				image = document.createElement( 'img' );
				image.width = 24;
				image.height = 24;
				image.style.verticalAlign = 'middle';
				image.style.marginRight = '0.3em';
				src = '';
				if( cn == 'up' ) {
					src = domain + '/parts/navicon_up';
				}
				else if( cn == 'last' ) {
					src = domain + '/parts/navicon_last';
				}
				else if( cn == 'next' ) {
					src = domain + '/parts/navicon_next';
				}
				else if( cn == 'prev' ) {
					src = domain + '/parts/navicon_prev';
				}
				else if( cn == 'begin' ) {
					src = domain + '/parts/navicon_begin';
				}
				else if( cn != 'external' ) {
					src = domain + '/parts/navicon_general';
				}
				if( src ) {
					image.src = src;
					el.insertBefore( image, el.firstChild );
				}
			}
		}
		es = document.getElementsByTagName( 'span' );
		for( i = 0; i < es.length; i++ ) {
			el = es[ i ];
			if( el.className == 'inact' && el.parentNode.parentNode.className == 'navi' ) {
				image = document.createElement( 'img' );
				image.width = 24;
				image.height = 24;
				image.style.verticalAlign = 'middle';
				image.style.marginRight = '0.3em';
				image.src = domain + '/parts/navicon_general';
				image.setAttribute( cls, 'inactIcon' );
				el.insertBefore( image, el.firstChild );
			}
		}
	}
}

function start( bg ) {

	if( rEngine == 'Trident' && ver <= 5 || rEngine == 'Navigator' ) return;

	bgImage = bg;
	lw = 96;
	rw = 96;

	if( fmode ) {
		document.write( '<div id="ieframe">' );
		layer = ( document.getElementById( 'ieframe' ) || document.all( 'ieframe' ) );
	}
	else if( rEngine == 'Trident' && ver <= 5 ) layer = document.body;
	else layer = document.documentElement || document.body;
	if( rEngine == 'Trident' && ver <= 6 ) {
		if( ! bgImage ) {
			document.write( '<div id="rightWoods"></div>' );
			rightWoods = document.getElementById( 'rightWoods' );
			document.write( '<div id="leftWoods"></div>' );
			leftWoods = document.getElementById( 'leftWoods' );
		}
	}
	else if( ! bgImage && ! multiBG ) {
		rightWoods = document.createElement( 'div' );
		rightWoods.id = 'rightWoods';
		document.body.appendChild( rightWoods );
		leftWoods = document.createElement( 'div' );
		leftWoods.id = 'leftWoods';
		document.body.appendChild( leftWoods );
	}
}

function terminate( navMenu ) {

	if( rEngine == 'Navigator' ) {
		window.onresize = rewrite;
	}
	if( rEngine == 'Trident' && ver <= 5 || rEngine == 'Navigator' ) {
		checkVer();
		return;
	}

	mainLayer = document.getElementById( 'mainLayer' );

	if( rEngine == 'Trident' && ver == 6 ) {
		el = 'table, textarea'.split( ', ' );
		for ( i = 0; i < el.length; i++ ) {
			es = document.getElementsByTagName( el[ i ] );
			for( j = 0; j < es.length; j++ ) {
				es[ j ].lang='ja';
			}
		}
	}

	bTerminate();
	w = displayArea.width();
	h = displayArea.height();

	aw = w;
	ah = h;

	wx0 = 0;
	wy0 = 0;

//季節のアイテム ----------------------
/*
	if( rEngine == 'Trident' || rEngine == 'Gecko' && ver < 1.92 || rEngine == 'Presto' && ver < 2.5 ) {
		putObj( 100, 800, 100, 30, 80, 60, 80, 60, 'parts/remainingSnow' );
		putObj( 101, 200, 400, 30, 150, 120, 150, 120, 'parts/remainingSnow' );
		putObj( 102, 500, 600, 30, 80, 100, 80, 100, 'parts/remainingSnow' );
	}
*/
//-------------------------------------

	rmy = 0;
	rmf = 1;

	interval = 250;

	ymax = 0;

//-------------------------------------
//	季節のものはbgImage=nilの時のみ動かすこと

//ie6にcreateElementで書かせないよう注意
//		○	if( rEngine == 'Trident' && ver <= 6 || rEngine == 'Tasman' ) {
//		×	if( ( rEngine == 'Trident' || rEngine == 'Tasman' ) && ! cssCompat ) {

	if( fmode ) document.write( '</div>' );
	menu( navMenu );
	rfit();
	content();

//----------

	if( document.body.id == 'rakugaki' && rEngine == 'Trident' && ver >= 5 && ( ! cssCompat || ver <= 7 ) ) {
		es = document.getElementsByTagName( 'dd' );
		for( i = 0; i < es.length; i++ ) {
			brLine = document.createElement( 'br' );
			el = es[ i ];
			if( el.parentNode.parentNode.className == 'picInfo' ) {
				if( el.className == 'author' || el.className == 'dateTime' || el.className == 'tool' ) {
					el.insertBefore( brLine, el.firstChild );
				}
			}
		}

	}

//----------

	if( htm == 'canvas' && location.search.indexOf( 'app=' ) >= 0 ) alert( unescape( '%u4E00%u6642%u4FDD%u5B58%u304B%u3089%u306E%u7D9A%u304D%u306F%u63CF%u3051%u306A%u3044%u3088%u3046%u306B%u3057%u3066%u3044%u307E%u3059%u3002%0A%u3054%u6CE8%u610F%u304F%u3060%u3055%u3044%u3002%u305D%u3057%u3066%u30B4%u30E1%u30F3%u306A%u3055%u3044%u3002' ) );
//	if( htm != 'canvas' && rEngine != 'Tasman' ) move( 1 );
	if( ( rEngine == 'Gecko' || rEngine == 'Trident' && ver < 5.5 ) && htm != 'canvas' ) move( 1 );
	window.onresize = rewrite;
	aTerminate();

	checkVer()

}

function checkVer() {
	if( location.search.match( /\?render$/ ) ) alert( 'Rendering engine: ' + rEngine + ' ' + sVer );
}

function bTerminate() {}
function aTerminate() {}

var n;
