/*
	tokai_common.js
*/

function IBEnvironment() {
	var d  = document;
	var de = d.documentElement;
	var ua = navigator.userAgent;
	this.ua = {};
	this.ua.isGecko      = ua.match(/Gecko\//);
	this.ua.isSafari     = ua.match(/AppleWebKit/);
	this.ua.isOpera      = window.opera;
	this.ua.isIE         = (d.all && !this.ua.isGecko && !this.ua.isSafari && !this.ua.isOpera);
	this.ua.isIE40       = (this.ua.isIE && ua.match(/MSIE 4\.0/));     // IE 4.0x
	this.ua.isIE45       = (this.ua.isIE && ua.match(/MSIE 4\.5/));     // IE 4.5x
	this.ua.isIE50       = (this.ua.isIE && ua.match(/MSIE 5\.0/));     // IE 5.0x
	this.ua.isIE55       = (this.ua.isIE && ua.match(/MSIE 5\.5/));     // IE 5.5x
	this.ua.isIE60       = (this.ua.isIE && ua.match(/MSIE 6\.0/));     // IE 6.0x
	this.ua.isIE70       = (this.ua.isIE && ua.match(/MSIE 7\.0/));     // IE 7.0x
	this.ua.isNN4        = d.layers;                                    // NN 4.x
	this.ua.isMac        = ua.match(/Mac/);
	this.ua.isWin        = ua.match(/Win/);
	this.ua.isWinIE      = this.ua.isWin && this.ua.isIE;
	this.ua.isMacIE      = this.ua.isMac && this.ua.isIE;
	this.ua.productSub   = navigator.productSub;
	this.ua.revision     = (this.ua.isIE    ) ? parseFloat(ua.match(/MSIE ([\d\.]+)/)[1])         :
	                       (this.ua.isGecko ) ? parseFloat(ua.match(/; rv:([\d\.]+)/)[1])         :
	                       (this.ua.isSafari) ? parseFloat(ua.match(/AppleWebKit\/([\d\.]+)/)[1]) :
	                       (this.ua.isOpera ) ? parseFloat(ua.match(/Opera.([\d\.]+)/)[1])        :
	                                            0;
}

$id = function(ids){
	var d = document;
	if(d.getElementById(ids)) return d.getElementById(ids);
	return false;
}

$class = document.getElementsByClassName = function(className, tagName) {
	if(!tagName) tagName = "*";
	var d = document;
	var children = d.getElementsByTagName(tagName) || d.all;
	if(!children) return;
	var elements = new Array();
	var childrenlength = children.length;
  
	for (var i = 0; i < childrenlength; i++) {
		var child = children[i];
		var classNames = child.className.split(' ');
		var classNameslength = classNames.length;
		for (var j = 0; j < classNameslength; j++) {
			if (classNames[j] == className) {
				elements.push(child);
				break;
			}
		}
	}
	return elements;
}

var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}

/*	CLASS	*/


var importer = Class.create();
importer.prototype = {
	initialize: function(){},
	js: function(url, char){
		var head = document.getElementsByTagName( 'head' );
		var script=document.createElement( 'script' );
		script.type="text/javascript";
		script.src= url;
		(char)? script.charset=char : 0;
		head[0].appendChild( script );
	},
	css: function(url){
		var head = document.getElementsByTagName( 'head' );
		var link=document.createElement( 'link' );
		link.media="all";
		link.rel="stylesheet";
		link.type="text/css";
		link.href= url;
		head[0].appendChild( link );
	}
}
var rollOver = Class.create();
rollOver.prototype = {
	initialize: function(){
		var roAry = $class('rollover', 'img');
		if(!roAry) return;
		var extentionList = new Array(	'jpg',
						'jpeg',
						'jpe',
						'gif',
						'bmp',
						'png');
		var pleLoadImagesUrl = new Array();
		for(i in roAry){
			var obj = new Object();
			var urlString = new String();
				urlString = roAry[i].src;
					for(j in extentionList){
						if(urlString.match(extentionList[j])){
							urlString = urlString.split("."+extentionList[j]);
							urlString = urlString[0].split("_n.");
							urlString = urlString[0] + "_o." + extentionList[j];
						}
					}
				obj.onmouseover = this.onMouseOver;
				obj.onmouseout = this.onMouseOut;
				obj.src_n = roAry[i].src;
				obj.src_o = urlString;

			roAry[i].src_o = obj.src_o;
			roAry[i].src_n = obj.src_n;
			roAry[i].onmouseover = obj.onmouseover;
			roAry[i].onmouseout = obj.onmouseout;
		pleLoadImagesUrl.unshift(obj.src_o);
		}
		this.preLoadImages(pleLoadImagesUrl);
	},
	onMouseOver: function(){
		this.src = this.src_o;
	},
	onMouseOut: function(){
		this.src = this.src_n;
	},
	preLoadImages: function(){
		if(arguments[0]){
		preImgAry = new Array();
			for(i in arguments[0]){
				var preImgs = new Image();
				preImgs.src = arguments[0][i];
				preImgAry[i] = preImgs.src;
			}
		}
	}
}

var smoothScroll = Class.create();
smoothScroll.prototype = {
	initialize: function(){
		//this.addToTop();
		var toTopAry = $class('toTop01', 'ul');
		var toTopArys = $class('toTop02', 'ul');
		if(!toTopAry && !toTopAry2) return;
		scrj = 0;
		for(i in toTopAry){
			toTopAry[i].getElementsByTagName('li')[0].getElementsByTagName('a')[0].onclick = this.play;
		}
		for(i in toTopArys){
			toTopArys[i].getElementsByTagName('li')[1].getElementsByTagName('a')[0].onclick = this.play;
		}
	},
	play: function(){
		softScrollBack();
		return false;
	}
}
	var scrj = 1;
	function softScrollBack() {
		if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
			var scdist = document.body.parentNode.scrollTop;
		} else {
			var scdist = window.pageYOffset;
		}
		if(scrj<50 && scdist) {
			scdist = (scdist>2) ? Math.ceil(scdist*.36) : 1;
			scrj++;
			scrollBy(0,-scdist);
			setTimeout("softScrollBack()",20);
		} else {
			scrollTo(0,0);
			scrj = 1;
		}
	}

var formAction = Class.create();
formAction.prototype = {
	initialize: function(){
		$('input[@type^="radio"]').addClass('formRadio');
		$('input[@type^="checkbox"]').addClass('formCheckBox');
		$('input[@type^="text"]').focus(function(){
			this.style.backgroundColor = "#FFFEEE";
		}).blur(function(){
			this.style.backgroundColor = "#FFFFFF";
		}).addClass('formText');
		$('textarea').focus(function(){
			this.style.backgroundColor = "#FFFEEE";
		}).blur(function(){
			this.style.backgroundColor = "#FFFFFF";
		}).addClass('formTextArea');
	}
}

var stripeTable = Class.create();
stripeTable.prototype = {
	initialize: function(){
		var tableArray = $class('stripe', 'table');
		if(!tableArray) return;
		for(i in tableArray){
			var trArray = tableArray[i].getElementsByTagName('tr');
			var evenChker = 0;
			for(j in trArray){
				if(IsNumeric(j) && evenChker%2){
					trArray[j].className += " even";
				}
				evenChker ++;
			}
		}
	}
}

// localNavigation action

function hideElement(){
	this.getElementsByTagName("ul")[0].style.display = "none";
}
function showElement(){
	this.getElementsByTagName("ul")[0].style.display = "";
}
function changeElement(){
	if(this.getElementsByTagName("ul")[0].style.display == "none"){
		this.getElementsByTagName("ul")[0].style.display = "";
	} else {
		this.getElementsByTagName("ul")[0].style.display = "none";
	}
}

var setNavigations = Class.create();
setNavigations.prototype = {
	initialize: function(){
		tags = $class("newsLists", "div");
		if(!tags) return false;
		var tagLength = tags.length;
		for(i = 0; i < tagLength; i++){
			var targetMC = tags[i];
			$(targetMC).find("ul").slideUp(1);
			var bro = new IBEnvironment();
			if(bro.ua.isIE){
				targetMC.firstChild.checker = false;
				targetMC.getElementsByTagName('p')[0].style.backgroundImage='url(/shared/img/bg_localopen01.gif)';
				targetMC.firstChild.onclick = function() {
					$(this.nextSibling).find("ul").slideToggle("slow");
					if(this.checker){
						this.checker = false;	
						this.style.backgroundImage='url(/shared/img/bg_localopen01.gif)';
					} else {
						this.checker = true;
						this.style.backgroundImage='url(/shared/img/bg_localopen01_n.gif)';
					}
				};
				targetMC.firstChild.onmouseover = function(){
					this.style.cursor='pointer';
					this.style.backgroundColor='#333333';
				}
				targetMC.firstChild.onmouseout = function(){
					this.style.cursor='default';
					this.style.backgroundColor='#000000';
				}
			} else {
				targetMC.getElementsByTagName('p')[0].checker = false;
				targetMC.getElementsByTagName('p')[0].style.backgroundImage='url(/shared/img/bg_localopen01.gif)';
				targetMC.getElementsByTagName('p')[0].onclick = function() {
					$(this.parentNode).find("ul").slideToggle("slow");
						if(this.checker){
						this.checker = false;	
						this.style.backgroundImage='url(/shared/img/bg_localopen01.gif)';
					} else {
						this.checker = true;
						this.style.backgroundImage='url(/shared/img/bg_localopen01_n.gif)';
					}
				};
				targetMC.getElementsByTagName('p')[0].onmouseover = function(){
					this.style.cursor='pointer';
					this.style.backgroundColor='#333333';
				}
				targetMC.getElementsByTagName('p')[0].onmouseout = function(){
					this.style.cursor='default';
					this.style.backgroundColor='#000000';
				}
			}
		}
	}
}

function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}

function IsNumeric(sText){
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++){
			Char = sText.charAt(i);
			if (ValidChars.indexOf(Char) == -1) IsNumber = false;
		}
	return IsNumber;
}

function show(element) {
	var obj = $id(element);
	if(!obj) return false;
	return obj.style.display = '';
}

function hide(element) {
	var obj = $id(element);
	if(!obj) return false;
	return obj.style.display = 'none';
}

function toggle(obj) {
	var el = $id(obj);
	if ( el.style.display != 'none' ) {
		return el.style.display = 'none';
	}
	else {
		return el.style.display = '';
	}
}

function addEvent(elm, type, event) {
	if(elm.addEventListener) {
		elm.addEventListener(type, event, false);
	} else if(elm.attachEvent) {
		elm.attachEvent('on'+type, event);
	} else {
		elm['on'+type] = event;
	}
}

function tokaiAutoRun(){
	var bro = new IBEnvironment();
	if(!bro.ua.isMac && !bro.ua.isIE50){
		$('body *:first-child').addClass('first-child');
		$('body *:last-child').addClass('last-child');
		$('div#main h2 + h3').addClass('h2+');
		$('div#main h3 + h4').addClass('h3+');
		$('div#main h2 + p').addClass('h2p');
		$('div#main h3 + p').addClass('h3p');
		$('div#main h4 + p').addClass('h4p');
		$('div#main h5 + p').addClass('h5p');
		$('div#main h6 + p').addClass('h6p')
		$('div#main p.headingB + p').addClass('h2p');
		$('div#main p.headingC + p').addClass('h3p');
		$('div#main p.headingD + p').addClass('h4p');
		$('div#main p.headingE + p').addClass('h5p');
		$('div#main p.headingF + p').addClass('h6p');
		$('div#main h2 + ul').addClass('h2ul');
		$('div#main h3 + ul').addClass('h3ul');
		$('div#main h4 + ul').addClass('h4ul');
		$('div#main h5 + ul').addClass('h5ul');
		$('div#main h6 + ul').addClass('h6ul');
		$('div#main h2 + ol').addClass('h2ol');
		$('div#main h3 + ol').addClass('h3ol');
		$('div#main h4 + ol').addClass('h4ol');
		$('div#main h5 + ol').addClass('h5ol');
		$('div#main h6 + ol').addClass('h6ol');
		$('div#main p.headingG + ul').addClass('h6ul');
		$('div#main p.headingG + ol').addClass('h6ol');
		$('div#main p.headingG + p').addClass('h6p');
		$('div#main h2 + div.simpleTable01').addClass('h+table');
		$('div#main h2 + div.layoutTable01').addClass('h+table');
		$('div#main h2 + div.timeTable01').addClass('h+table');
		$('div#main h2 + div.doubleTable01').addClass('h+table');
		$('div#main h2 + div.layoutBlockL01').addClass('h+table');
		$('div#main h2 + div.layoutBlockR01').addClass('h+table');
		$('div#main h3 + div.simpleTable01').addClass('h+table');
		$('div#main h3 + div.layoutTable01').addClass('h+table');
		$('div#main h3 + div.timeTable01').addClass('h+table');
		$('div#main h3 + div.doubleTable01').addClass('h+table');
		$('div#main h3 + div.layoutBlockL01').addClass('h+table');
		$('div#main h3 + div.layoutBlockR01').addClass('h+table');
		var ro = new rollOver();
		var fa = new formAction();
		var st = new stripeTable();
		var ln = new setNavigations();
	}
	var ss = new smoothScroll();
	document.getElementsByTagName('body').item(0).style.visibility = 'visible';
}

function fitBanner(ID){
	if($id('bannerArea')){
		if (document.height) {
			document.getElementById(ID).style.height = document.getElementById(ID).contentDocument.height +20 +"px" ;
		} else {
			document.getElementById(ID).style.height = frames[ID].document.body.scrollHeight +20 +"px";
		}
	}
}

var imp = new importer();
imp.js("/shared/js/xmlhttp.js");
function linkCheckAjax(){
	var tags = document.getElementsByTagName('a');
	for(var i = 0; i < tags.length; i++){
		tags[i].onmouseover = function(){
			loadTextFile(this.href, this);
		}
	}
}

addEvent(window, 'load', function(){
	tokaiAutoRun();
	//linkCheckAjax();
});

var bro = new IBEnvironment();
if(!bro.ua.isMac){
if(bro.ua.isIE){
	document.write('<style type="text/css">body{visibility:hidden;}</style>');
}}



