/*
	--------------------------------
	Created: 2007.11.09
	Last Modified: 2011.12.02
	--------------------------------
	- Table of Contents -

	MM_Behavior
		- MM_preloadImages()
			event handler : onload="MM_preloadImages('path'[,'path']*)"
		- MM_swapImgRestore()
		- MM_findObj()
		- MM_swapImage()
			event handler : onmouseover="MM_swapImage('id','','path'[,'id','','path']*,1)" onmouseout="MM_swapImgRestore()"

	Configurations

	Site Search

	Rollover
	
	Global Navigation

	Mitsubishi

	History
	
	Zoom Font Size
	
	User Insght
	--------------------------------
*/



/* --------------------------------
	MM_Behavior
-------------------------------- */

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



/* --------------------------------
	Configurations
-------------------------------- */

var mitsubishi = new Mitsubishi();

mitsubishi.addEvent(window, 'load', function() {new SiteSearch().init('seek', 'phrase');}, false);
mitsubishi.addEvent(window, 'load', rollover, false);
mitsubishi.addEvent(window, 'load', setNavigationEvent, false);
mitsubishi.addEvent(window, 'load', function() {History.setCookiy();}, false);



/* --------------------------------
	Site Search
-------------------------------- */

function SiteSearch() {
	// 初期化
	this.init = function(form, input) {
		if(typeof form == 'string') form = document.getElementById(form);
		if(typeof input == 'string') input = document.getElementById(input);
		if(form && input){
			var self = this;
			form.onsubmit = function() {self.submit(form, input); return false;}
			mitsubishi.addEvent(input, 'focus', function() {self.clear(input);}, false);
			mitsubishi.addEvent(input, 'blur', function() {self.reset(input);}, false);
		}
	}

	// 文字色
	this.textColor = {
		blur: '#727272',
		focus: '#444'
	}

	// クリア
	this.clear = function(elem) {
		if(elem.value == elem.defaultValue) {
			elem.style.color = this.textColor.focus;
			elem.value = '';
		}
	}

	// リセット
	this.reset = function(elem) {
		if(elem.value == '') {
			elem.style.color = this.textColor.blur;
			elem.value = elem.defaultValue;
		}
	}

	// 送信
	this.submit = function(form, input) {
		if(input.value == '' || input.value == input.defaultValue) {
			alert('検索内容を入力してください');
		} else {
			form.submit();
		}
	}
}



/* --------------------------------
	Rollover
-------------------------------- */

function rollover() {
	var elems = mitsubishi.getElementsByClassName('rollover', document.body, 'img');
	elems = elems.concat(mitsubishi.getElementsByClassName('rollover', document.body, 'input'));
	for(var i = 0, l = elems.length; i < l; i++) {
		var elem = elems[i];

		// プレロード
		var temp = new Image();
		elem.src.match(/(\.gif|\.jpg|\.png)$/);
		temp.src = elem.src.replace(RegExp.$1, '_ov' + RegExp.$1);

		// スワップ
		elem.onmouseover = function() {
			this.src.match(/(\.gif|\.jpg|\.png)$/);
			this.src = this.src.replace(RegExp.$1, '_ov' + RegExp.$1);
		}

		// レストア
		elem.onmouseout = function() {
//			this.src.match(/(\.gif|\.jpg|\.png)$/);
//			this.src = this.src.replace('_ov' + RegExp.$1, RegExp.$1);
			if(!this.src.match(/(\_ov|\_click)/)) return false;
			this.src.match(/(\_ov|\_click)(\.gif|\.jpg|\.png)$/);
			this.src = this.src.replace(RegExp.$1 + RegExp.$2, RegExp.$2);
		}
	}
}



/* --------------------------------
	Global Navigation
-------------------------------- */

function setNavigationEvent() {
	if(!document.getElementById("global_nav")) return false;
	var elems = mitsubishi.getElementsByClassName('rollover', document.getElementById("global_nav"), 'img');
	for(var i = 0, l = elems.length; i < l; i++) {
		var elem = elems[i];
		
		//クリック
		elem.onmousedown = function() {
			if(this.src.indexOf('_ud')==-1) return false;
			this.src.match(/(\.gif|\.jpg|\.png)$/);
			this.src = this.src.replace('_ov', '_click');
		}
	}
}



/* --------------------------------
	Mitsubishi
-------------------------------- */

function Mitsubishi() {
	// クラス名をもとに要素を取得
	this.getElementsByClassName = function(className, parent, tagName) {
		if(parent && typeof parent == 'string') parent = document.getElementById(parent);
		if(!parent) parent = document;
		if(!tagName) tagName = '*';
		var elems = [];
		var collection = parent.getElementsByTagName(tagName);
		if(tagName == '*' && !collection.length && parent.all) collection = parent.all;// Win IE 5.x
		var pattern = new RegExp('(^|\\s)' + className + '(\\s|$)');
		for(var i = 0, l = collection.length; i < l; i++) {
			if(collection[i].className.match(pattern)) elems.push(collection[i]);
		}
		return elems;
	}

	// イベントの追加
	this.addEvent = function(elem, ev, func, capt) {
		if(elem.addEventListener) {// FF, SF, OP, NS
			elem.addEventListener(ev, func, capt);
			return true;
		} else if(elem.attachEvent) {// Win IE
			return elem.attachEvent('on' + ev, func);
		} else {// Mac IE
			var temp = elem['on' + ev];
			if(typeof elem['on' + ev] != 'function') {
				elem['on' + ev] = function(e) { func(e); }
			} else {
				elem['on' + ev] = function(e) {
					temp(e);
					func(e);
				}
			}
		}
	}
}



/* --------------------------------
	History
-------------------------------- */

var History={
		max:10,
		/**
		 * Cookie plugin
		 *
		 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
		 * Dual licensed under the MIT and GPL licenses:
		 * http://www.opensource.org/licenses/mit-license.php
		 * http://www.gnu.org/licenses/gpl.html
		 *
		 */
		cookie : function(name, value, options) {
			if (typeof value != 'undefined') {
				options = options || {};
				if (value === null) {
					value = '';
					options.expires = -1;
				}
				var expires = '';
				if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
					var date;
					if (typeof options.expires == 'number') {
					date = new Date();
					date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
					} else {
						date = options.expires;
					}
					expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
				}
				var path = options.path ? '; path=' + (options.path) : '';
				var domain = options.domain ? '; domain=' + (options.domain) : '';
				var secure = options.secure ? '; secure' : '';
				document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
			} else {
				var cookieValue = null;
				if (document.cookie && document.cookie != '') {
					var cookies = document.cookie.split(';');
					for (var i = 0; i < cookies.length; i++) {
						var cookie = (cookies[i] || "").replace( /^\s+|\s+$/g, "" );
						// Does this cookie string begin with the name we want?
						if (cookie.substring(0, name.length + 1) == (name + '=')) {
							cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
							break;
						}
					}
				}
				return cookieValue;
			}
		},
		setCookiy : function() {
			var self=this;
			var historyList=[];
			
			var url=location.href;
			var tmp=[url];
			var cookie = this.cookie('historys');
			if(cookie===null){					// 過去履歴がなければなにもしない
			}else{								// 履歴に現在のURLと同じものがあれば削除
				historyList=cookie.split(',');
				tmp=tmp.concat(self.grep(historyList,function(str){ return str!=url;}));
			}
			if(tmp.length>self.max){
				tmp=tmp.slice(0,self.max);
			}
			this.cookie('historys', tmp.toString() ,{ expires: 7,path:'/'} );
		},

		grep: function( elems, callback, inv ) {
			var ret = [];
			for ( var i = 0, length = elems.length; i < length; i++ ) {
				if ( !inv !== !callback( elems[ i ], i ) ) {
					ret.push( elems[ i ] );
				}
			}
			return ret;
		}
		
}



/* --------------------------------
	Zoom Font Size
-------------------------------- */

;(function(){
	
// クッキー操作オブジェクト
function Cookie(name){ this.$name = name; var allcookies = document.cookie; if(allcookies == "") return; var cookies = allcookies.split('; '); var cookie = null; for(var i = 0; i<cookies.length; i++){ if(cookies[i].substring(0, name.length+1) == (name + "=")){ cookie = cookies[i]; break;}
}
if(cookie == null) return; var cookieval = cookie.substring(name.length+1); var a = cookieval.split("&"); for(var i = 0; i<a.length; i++)
a[i] = a[i].split(":"); for(var i=0; i<a.length; i++){ this[a[i][0]] = decodeURIComponent(a[i][1]);}
}
Cookie.prototype.store = function(daysToLive, path, domain, secure){ var cookieval = ""; for(var prop in this){ if((prop.charAt(0)=='$') || ((typeof this[prop])=='function'))
continue; if(cookieval != "") cookieval += '&'; cookieval += prop + ':' + encodeURIComponent(this[prop]);}
var cookie = this.$name + '=' + cookieval; if(daysToLive || daysToLive == 0){ cookie += "; max-age=" + (daysToLive*24*60*60);}
if(path) cookie += "; path=" + path
if(domain) cookie += "; domain=" + domain; if(secure) cookie += "; secure"; document.cookie = cookie;}
Cookie.prototype.remove = function(path, domain, secure){ for(var prop in this){ if(prop.charAt(0) != '$' && typeof this[prop] != 'function')
delete this[prop];}
this.store(0, path, domain, secure);}


// 文字拡大縮小機能
var ModuleZoom = function(c){ this.size = [62.5, 75, 90, 100, 118, 130, 150, 165, 180]; this.defaultIdx = 3; this.selectedIdx = 3; this.container = c; this.cookie = new this.Cookie("fontsize"); if(this.cookie.sizeIdx){ this.selectedIdx = this.cookie.sizeIdx; this.change();}
}
ModuleZoom.prototype.up = function(){ if(this.selectedIdx==this.size.length-1) return; this.selectedIdx++; this.change();}
ModuleZoom.prototype.down = function(){ if(this.selectedIdx==0) return; this.selectedIdx--; this.change();}
ModuleZoom.prototype.resetZoom = function(){ this.selectedIdx = this.defaultIdx; this.change();}
ModuleZoom.prototype.change = function(){ this.cookie.sizeIdx = this.selectedIdx; this.cookie.store(null, "/"); document.getElementById(this.container).style.fontSize = this.size[this.selectedIdx]+"%";}
ModuleZoom.prototype.Cookie = Cookie;


//文字サイズ変更イベントの設定
function setModuleZoomEvent(){
	if(!!document.getElementById("module_zoomFontSize")){
		var zoom = new ModuleZoom('container');
		setFontSizePos();
		
		//set event
		mitsubishi.addEvent(document.getElementById("zoomSmall"), "click", function(){zoom.down(); setFontSizePos(); return false;}, false);
		mitsubishi.addEvent(document.getElementById("zoomReset"), "click", function(){zoom.resetZoom(); setFontSizePos(); return false;}, false);
		mitsubishi.addEvent(document.getElementById("zoomLarge"), "click", function(){zoom.up(); setFontSizePos(); return false;}, false);
	}
	
	function setFontSizePos(){
		var classname = "fontDefault";
		if(zoom.selectedIdx < zoom.defaultIdx) classname = "fontSmall";
		else if(zoom.selectedIdx > zoom.defaultIdx) classname = "fontLarge";
		
		document.getElementById("module_zoomFontSize").className = classname;
	}
}

//ロード時処理
mitsubishi.addEvent(window, "load", setModuleZoomEvent);

})();



/* --------------------------------
	User Insght
-------------------------------- */

var uilid  = '';
var uigr_1   = ''; var uigr_2 = ''; var uigr_3 = ''; var uigr_4 = ''; var uigr_5 = '';
var uigr_6   = ''; var uigr_7 = ''; var uigr_8 = ''; var uigr_9 = ''; var uigr_10 = '';

// DO NOT ALTER BELOW THIS LINE
// WITHOUT F.P.C.
var uiinit   = uiinit || Math.floor(Math.random() * 9000000) + 1000000;
var uihost   = uihost || (("https:" == document.location.protocol) ? "https://bs." : "http://b10.")+"nakanohito.jp/b1/";
var msie = navigator.appVersion.toLowerCase();
msie = (msie.indexOf('msie')>-1)?parseInt(msie.replace(/.*msie[ ]/,'').match(/^[0-9]+/)):0;
document.write("<img id='id_shellfish' style='position: absolute' src='"+uihost+"?uisv=10&id=31178&mode=default&h=f431&rand="+uiinit+"&url="+encodeURIComponent(parent.document.URL)+"&ref="+encodeURIComponent(parent.document.referrer)+"&uigr_1="+encodeURIComponent(uigr_1)+"&uigr_2="+encodeURIComponent(uigr_2)+"&uigr_3="+encodeURIComponent(uigr_3)+"&uigr_4="+encodeURIComponent(uigr_4)+"&uigr_5="+encodeURIComponent(uigr_5)+"&uigr_6="+encodeURIComponent(uigr_6)+"&uigr_7="+encodeURIComponent(uigr_7)+"&uigr_8="+encodeURIComponent(uigr_8)+"&uigr_9="+encodeURIComponent(uigr_9)+"&uigr_10="+encodeURIComponent(uigr_10)+"&lv="+uilid+"&sb="+encodeURIComponent(document.title)+"&guid=ON&eflg=1' border='0' width='1' height='1' alt='' />");
if(msie === 0 || msie > 8){
document.write('<span style="position: absolute" id="id_bivalves"></span>'); document.write(decodeURI("%3Cscr"+"ipt src='"+uihost+"bivalves.js' charset='utf-8' type='text/javascript'%3E%3C/script%3E")); var uiLimit = 3000, uiInterval = 50, uiTime = 0; var uiLoadedId = setInterval(function(){ if ((typeof(Vesicomyid) != "undefined") && (typeof(Vesicomyid.Bivalves) != "undefined") && (typeof(Vesicomyid.Bivalves.Loaded) == "function") ) { clearInterval(uiLoadedId); try { var lb = new Vesicomyid.Bivalves(31178, uiinit); lb.host = uihost; lb.uisv = 10; lb.init(); } catch (err) { } } else if ((uiTime += uiInterval) > uiLimit) { clearInterval(uiLoadedId); } }, uiInterval);
}
