/* classes */
var ZebraTables = new Class({
	//initialization
	initialize: function(table_class) {
		
		//add table shading
		$$('table.' + table_class + ' tr').each(function(el,i) {
			
			//do regular shading
			var _class = i % 2 ? 'even' : 'odd'; el.addClass(_class);
			
			//do mouseover
//			el.addEvent('mouseenter',function() { if(!el.hasClass('highlight')) { el.addClass('mo').removeClass(_class); } });
			
			//do mouseout
//			el.addEvent('mouseleave',function() { if(!el.hasClass('highlight')) { el.removeClass('mo').addClass(_class); } });
			
			//do click
//			el.addEvent('click',function() {
				//click off
//				if(el.hasClass('highlight'))
//				{
//					el.removeClass('highlight').addClass(_class);
//				}
				//clock on
//				else
//				{
//					el.removeClass(_class).removeClass('mo').addClass('highlight');
//				}
//			});
			
			//highlight
//			if(el.getProperty('alt') != null &&  el.getProperty('alt') == '')
//			{
//				el.removeClass(_class).addClass('highlight');
//			}
			
		});
	}
});

/* do it! */
window.addEvent('domready', function() {
	var zTables = new ZebraTables('zebra');
});


window.addEvent('domready', function(){
	var Over = "_on";
	var Off = "_off";
	$$('.rollover').each(function(el, i) {
		roImage = 'url('+el.src.replace(Off,Over)+') no-repeat';
		el.getParent('a').setStyles({
			display: 'block',
			background: roImage
		});
		el.addEvents({
			'mouseenter':function(){
				el.get('tween', { duration: 250 }).start('opacity', 0.001);
			},
			'mouseleave':function(){
				el.get('tween', { duration: 250 }).start('opacity', 1);
			}
		});
	});
});


function openSubwin(nm,winnm,wd,ht,attr,type) {
	if(attr=='on') open(nm,winnm,'status=yes,scrollbars=yes,resizable=yes,width='+wd+',height='+ht);
	if(attr=='off') {
		if(type=='page') open(nm,winnm,'status,resizable,width='+wd+',height='+ht);
		if(type=='img') {
			if(document.layers) {
				subWin = open('',winnm,'status=yes,resizable=yes,width='+wd+',height='+ht);
				subWin.document.open();
				subWin.document.write("<html>\n");
				subWin.document.write("<head>\n");
				subWin.document.write("<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n");
				subWin.document.write("</head>\n");
				subWin.document.write("<body marginwidth='0' marginheight='0'>\n");
				subWin.document.write("<img src='" +nm+ "'>\n");
				subWin.document.write("</body>\n");
				subWin.document.write("</html>\n");
				subWin.document.close();
			}
			else {
				subWin = open('',winnm,'status=yes,resizable=yes,width='+wd+',height='+ht);
				subWin.document.open();
				subWin.document.write("<html>\n");
				subWin.document.write("<head>\n");
				subWin.document.write("<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n");
				subWin.document.write("<style type='text/css'><!--\n");
				subWin.document.write("body { margin: 0px; line-height: 1px; }\n");
				subWin.document.write("img { vertical-align: bottom; }\n");
				subWin.document.write("--></style>\n");
				subWin.document.write("</head>\n");
				subWin.document.write("<body>\n");
				subWin.document.write("<img src='" +nm+ "'>\n");
				subWin.document.write("</body>\n");
				subWin.document.write("</html>\n");
				subWin.document.close();
			}
		}
	}
}


// Unobtrusive scroller object
fd = new Object();
fd.onLoad = function(e) {
	for(var module in this) {
		if(this[module].onLoad) this[module].onLoad();
	}
}
fd.getDocumentHeight = function(){
	return (document.height) ? document.height : (document.body.offsetHeight) ? document.body.offsetHeight : 0;
}
fd.getWindowHeight = function(){
	var myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myHeight = document.body.clientHeight;
	}
	return myHeight;
}
fd.getScrollTop = function(){
	if(document.all) return (document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
	else return window.pageYOffset;
}
fd.getElementYpos = function(el){
	var y = 0;
	while(el.offsetParent){
		y += el.offsetTop
		el = el.offsetParent;
	}
	return y;
}
/*
Based on an original script by Travis Beckham (http://www.squidfingers.com)
Wrapped into an Object by yours truly
Further enhancements and bug fixs by Marco Rosella (http://www.centralscrutinizer.it)
*/
fd.pageScroller = {
	speed : 10,
	maxStep: 300,
	brakeK: 2,
	hash:null,
	currentBlock:null,
	requestedY:0,
        
	onLoad: function() {
		var lnks = document.getElementsByTagName('a');
		for(var i = 0, lnk; lnk = lnks[i]; i++) {
			if ((lnk.href && lnk.href.indexOf('#') != -1) &&  ( (lnk.pathname == location.pathname) || ('/'+lnk.pathname == location.pathname) ) && (lnk.search == location.search) && lnk.className.search('no-scroll') == -1) {
				lnk.onclick = fd.pageScroller.initScroll;
			}
		}
	},
	initScroll: function(e){
		var targ;
		if (!e) var e = window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		// Added by f.d: make sure we actually have the A node and a child tag like span or img
		while(targ.tagName.toUpperCase() != "A" && targ.parentNode) targ = targ.parentNode;
                
		fd.pageScroller.hash = targ.href.substr(targ.href.indexOf('#')+1,targ.href.length);
		fd.pageScroller.currentBlock = document.getElementById(fd.pageScroller.hash);

		if(!fd.pageScroller.currentBlock) return;
		fd.pageScroller.requestedY = fd.getElementYpos(fd.pageScroller.currentBlock) - 30;
		/*@cc_on@*/
		/*@if(@_jscript_version < 6)
			fd.pageScroller.requestedY += 30;
		/*@end@*/
		if(fd.pageScroller.requestedY < 0) fd.pageScroller.requestedY = 0;

		fd.pageScroller.scroll();
		return false;
	},
	scroll: function(){
		var top  = fd.getScrollTop();

		if(fd.pageScroller.requestedY > top) {
			var endDistance = Math.round((fd.getDocumentHeight() - (top + fd.getWindowHeight())) / fd.pageScroller.brakeK);
			endDistance = Math.min(Math.round((fd.pageScroller.requestedY-top)/ fd.pageScroller.brakeK), endDistance);
			var offset = Math.max(2, Math.min(endDistance, fd.pageScroller.maxStep));
		} else {
			var offset = - Math.min(Math.abs(Math.round((fd.pageScroller.requestedY-top)/ fd.pageScroller.brakeK)), fd.pageScroller.maxStep);
		}
		window.scrollTo(0, top + offset);
		if(Math.abs(top-fd.pageScroller.requestedY) <= 1 || fd.getScrollTop() == top) {
			window.scrollTo(0, fd.pageScroller.requestedY);
			location.hash = fd.pageScroller.hash;
			fd.pageScroller.hash = null;
		} else {
			setTimeout(fd.pageScroller.scroll,fd.pageScroller.speed);
		}
	}
}


function setActiveStyleSheet(title, reset) {
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == title) a.disabled = false;
		}
	}
	if (reset == 1) {
		createCookie("wstyle", title, 365);
	}
	fontsizeimg(title)
}

function setStyle() {
	var style = readCookie("wstyle");
	if (style != null) {
		setActiveStyleSheet(style, 0);
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/;";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function fontsizeimg(title){
	var currentstyle = title;
	var area = document.getElementById("fsizechange");
	if (area){
	var imgtag = area.getElementsByTagName("img");
	var l = imgtag[1];
	var m = imgtag[2];
	var s = imgtag[3];
	var fname = "images/b_style_";
	switch(currentstyle)
	{
	case "":
		l.src=fname+"l.gif";
		m.src=fname+"m_on.gif";
		s.src=fname+"s.gif";
		break;
	case "Small Text":
		l.src=fname+"l.gif";
		m.src=fname+"m.gif";
		s.src=fname+"s_on.gif";
		break;
	case "Large Text":
		l.src=fname+"l_on.gif";
		m.src=fname+"m.gif";
		s.src=fname+"s.gif";
		break;
	default:
		l.src=fname+"l.gif";
		m.src=fname+"m_on.gif";
		s.src=fname+"s.gif";
		break;
	}
	}
}


var hoge_scripts = window.onload;
window.onload = function() {
	if(hoge_scripts != null) hoge_scripts();
	fd.onLoad();
//	setStyle();
}