/*------------------------
イベントコントロール
------------------------*/
function addEvent(elm,listener,fn){
	try{
		elm.addEventListener(listener,fn,false);
	}catch(e){
		elm.attachEvent("on"+listener,fn);
	}
}

/*------------------------
イベント実行
------------------------*/
addEvent(window,"load",formControl);
addEvent(window,"load",fontSizeSwitchInit);
addEvent(window,"load",imgChanger);


/*------------------------
form コントロール
jsにてhidden処理をする
------------------------*/
function formControl(){
	if(document.getElementById("formControlBox001")){
	document.getElementById("formControlBox001").style.display = "none";
	document.getElementById("formControlBox002").style.display = "none";
	}
}



/*-----------------------
image rollover
-------------------------*/
function imgChanger(){

	var outImgName = "_off";
	var overImgName = "_on";
	var preload = new Array();

	if(document.getElementsByTagName){
		var imgTagData = document.getElementsByTagName("img");
		var reOverImg = new RegExp(outImgName + "+(\.[a-z]+)$");
		var reOutImg = new RegExp(overImgName + "+(\.[a-z]+)$");
	
		for(var i=0; i<imgTagData.length; i++){
			if(imgTagData[i].getAttribute("src").match(reOverImg)){
				preload[i] = new Image();
				preload[i].src = imgTagData[i].getAttribute("src").replace(reOverImg, overImgName + "$1");
	
				imgTagData[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace(reOverImg, overImgName + "$1"));
				}
	
				imgTagData[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace(reOutImg, outImgName + "$1"));
				}
			}
		}
	}
	
	if(document.getElementsByTagName){
		var inputTagData = document.getElementsByTagName("input");
		var reOverImg = new RegExp(outImgName + "+(\.[a-z]+)$");
		var reOutImg = new RegExp(overImgName + "+(\.[a-z]+)$");
	
		for(var i=0; i<inputTagData.length; i++){
			if(inputTagData[i].src && inputTagData[i].getAttribute("src").match(reOverImg)){
				preload[i] = new Image();
				preload[i].src = inputTagData[i].getAttribute("src").replace(reOverImg, overImgName + "$1");
	
				inputTagData[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace(reOverImg, overImgName + "$1"));
				}
	
				inputTagData[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace(reOutImg, outImgName + "$1"));
				}
			}
		}
	}
}//end function


/*-----------------------
font size change
-------------------------*/
function setCookie(name, value, domain, path, expires, secure) {
	var str = name + '=' + escape(value) + ';';
	path = '/';
	str += 'path=' + path + ';';
	date = new Date();
	date.setTime(date.getTime() + (30 * 1000 * 60 * 60 * 24));
	expires = date.toGMTString();
	str += 'expires=' + expires + ';';
	if(secure && location.protocol == 'https:') {
		str += 'secure' + ';';
	}
	document.cookie = str;
}

function getCookie(name) {
	var cookies = document.cookie.split(';');
	for (var i=0; i<cookies.length; i++) {
		var cookieList = cookies[i].split('=');
		var cookieName = cookieList[0];
		var cookieVal = cookieList[1];
		if (cookieName.indexOf(name,0)!=-1) {
			return unescape(cookieVal);
		}
	}
	return null;
}

function createBtn(key, element) {
	var html = '';
	var fontSizeData = {
		's' : {'label' : 'Small', 'jsCode' : '', 'imagePath' : '/english/common/images/eng_btn_fontsize_s_off.gif'},
		'm' : {'label' : 'Medium', 'jsCode' : '', 'imagePath' : '/english/common/images/eng_btn_fontsize_m_off.gif'},
		'l' : {'label' : 'Large', 'jsCode' : '', 'imagePath' : '/english/common/images/eng_btn_fontsize_l_off.gif'}
	};
	html += '<dl class="fontsizeSwitch cl">';
	html += '<dt><img src="/english/common/images/eng_txt_fontsize.gif" width="49" height="17" alt="Font Size" /></dt>';
	for (var i in fontSizeData) {
		fontSizeData[i]['jsCode'] = ' onclick="fontSizeSwitch(\'' + i + '\');return false;"';
		if (i == key) {
			fontSizeData[i]['imagePath'] = '/english/common/images/eng_btn_fontsize_' + i + '_on.gif';
		} else {
			fontSizeData[i]['imagePath'] = '/english/common/images/eng_btn_fontsize_' + i + '_off.gif';
		}
		html += '<dd><a href="."' + fontSizeData[i]['jsCode'] + '><img src="' + fontSizeData[i]['imagePath'] + '" width="17" height="17" alt="' + fontSizeData[i]['label'] + '" /></a></dd>';
	}
	html += '</dl>';
	element.innerHTML = html;
	imgChanger();
}

function fontSizeSwitch(key) {
	var element = document.getElementById('fontSizeSwitchBtn');
	switch (key) {
		case 's':
			applyCss('/common/css/font_s.css');
			break;
		case 'm':
			applyCss('/common/css/font_m.css');
			break;
		case 'l':
			applyCss('/common/css/font_l.css');
			break;
	}
	if(element) createBtn(key, element);
	setCookie('font_size', key);
}

function applyCss(cssFile, overwrite) {

	if (typeof overwrite == "undefined"){
		overwrite = 0; // デフォルト:CSSの切替え
	}

	var linkObj;
	if (overwrite && document.styleSheets.length >= 1) {
		linkObj = document.getElementsByTagName("link");
		for (var i = 0; i < linkObj.length; i++) {
			if (linkObj[i].rel == 'stylesheet' &&
					/font_[sml]\.css/.test(linkObj[i].href)) {
				linkObj[i].parentNode.removeChild(linkObj[i]);
			}
		}
	}
	linkObj = document.createElement('link');
	linkObj.setAttribute('rel', 'stylesheet');
	linkObj.setAttribute('href', cssFile);
	linkObj.setAttribute('type', 'text/css');
	document.getElementsByTagName('head')[0].appendChild(linkObj);
}

function fontSizeSwitchInit() {
	var defaultKey = 's';
	var key = getCookie('font_size');
	if (key === null) {
		fontSizeSwitch(defaultKey);
	} else {
		fontSizeSwitch(key);
	}
}

/*if (document.addEventListener) {
	document.addEventListener('DOMContentLoaded', fontSizeSwitchInit, false);
} else {
	attachEvent('onload' , fontSizeSwitchInit);
}*/
/*addEvent(window,"load",fontSizeSwitchInit);*/


function cngImgArea(n,srcname){
	var imgsrc = document.images[n].src;
	var imgpath = imgsrc.substring(0 , imgsrc.lastIndexOf("/",imgsrc.length) ) ;
	document.images[n].src = imgpath + "/" + srcname;
}