﻿/*
	
	(c) infocube

*/

/* AutoSwap
----------------------------------------------- */

//auto swap
function setAutoSwap(){
	var isIE     = document.all ? true : false;
	var ahrefs   = document.getElementsByTagName("a");
	var plImages = new Array;
	for(var i=0 ; i<ahrefs.length ; i++){
		if(ahrefs[i].parentNode.parentNode.id.substr(0,5)=="navi-") continue;
		if(ahrefs[i].className=="swapImage" && ahrefs[i].firstChild.nodeName=="IMG"){
			ahrefs[i].onmouseover = function(){autoSwap(this, true );}
			ahrefs[i].onmouseout  = function(){autoSwap(this, false);}
			//get preload path
			plImages[i] = getSwapImagePath(ahrefs[i].firstChild, true);
		}
	}plImages
	
	//preload
	if(document.images) preloadImages(plImages);
}

//preload images
function preloadImages(ia){
	var preloader = new Array();
	for(i=0 ; i<ia.length ; i++){
		preloader[i] = new Image();
		preloader[i].src = ia[i];
	}
}

//swap image
function autoSwap(e, ov){
	var eo = e.firstChild;
	eo.src = getSwapImagePath(eo, ov);
}

//get swap image path
function getSwapImagePath (img, ov) {
	var idx		= img.src.lastIndexOf(".");
	var file	= img.src.substr(idx);
	var path  = img.src.substr(0, idx);
	var last3 = img.src.substr(idx-3, 3);
	if(last3=="_ov") path = img.src.substr(0, idx-3);
	return ov==true ? path + "_ov" + file : path + file;
}


/* MainArea
----------------------------------------------- */

function showAnswer (ansId) {
	var menu  = document.getElementById("marea-menu");
	var answ  = document.getElementById("answer-0"+ansId);
	if(menu && answ){
		answ.style.display = "block";
		menu.style.display = "none";
	}
}

function closeAnswer () {
	var menu  = document.getElementById("marea-menu");
	
	if(menu){
		for(var i=1; i<=4; i++){
			var answ  = document.getElementById("answer-0" + i);
			if(answ) answ.style.display = "none";
		}
		menu.style.display = "block";
	}
}

/* Flash
----------------------------------------------- */

function setThumbnails (id) {
	if(navigator.appVersion.indexOf("MSIE 5.")!=-1) return;
	var name = "promotion_flash";
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	var path = (isIE) ? window[name] : document[name];
	if(path){
		if(path.setThumbnails){
			path.setThumbnails(id);
		}
	}
}


/* MM_swapImage
----------------------------------------------- */

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];}
}



/* Override MainArea
----------------------------------------------- */

function overrideElement (id) {
	var src = document.getElementById(id);
	if(document.all && src && src.tagName=='DIV'){
		document.write(src.outerHTML);
		src.outerHTML = "";
	}
}


/* onload
----------------------------------------------- */
function setupDefaultEvents () {
	if (document.getElementById) {
		setAutoSwap();
	}
}

window.onload = function(){
	setupDefaultEvents();
}

/* openWindow
----------------------------------------------- */

function openWindow (url,name,w,h){
	win = window.open(url,name,"width="+w+",height="+h+",directories=no,resizable=yes,scrollbars=yes,status=yes,toolbar=yes");
	//x = (screen.width  - w) / 2;
	//y = (screen.height - h) / 2;
	//win.moveTo(x,y);
}

//----------------------------------------------------------------------------------------------
// メインエリア検索画面を表示
//----------------------------------------------------------------------------------------------

	//プラグインに応じたFlashを表示
	function showHasekoSearch () {
		//FlashPlayerのバージョンに応じて動作を振り分け
		//8,0,0以上ならそのまま実行
		//6,0,65～8,0,0ならExpressInstall用の変数をswfに送る
		//上記に適合しない場合はHTMLを表示
		var searchContentType = getSearchContentType();
		if(searchContentType=="noflash"){
			setElementStyle("main-flashsearch"      , "display", "none");
		}else{
			if(searchContentType=="flashsearch"){
				replaceElement("main-flash-area", "main-flashsearch", "");
			}else{
				replaceElement("main-flash-area", "main-flashsearch", searchContentType);
			}
			replaceElement("main-flashsearch");
			//setElementStyle("main-flash-area"       , "display", "block");
			setElementStyle("main-flashsearch"      , "display", "none");
		}
		memorymodel = new MemoryModel();
	}
	
	
	//指定IDのエレメントにスタイルを設定
	function setElementStyle (targetID, name, value) {
		var tgt = document.getElementById(targetID);
		if(tgt && name){
			tgt.style[name] = value;
		}
	}

	//指定されたIDのノードをソースIDのノードに置き換える。
	//	targetID  置き換えるターゲット
	//	sourceID  元となるソース
	//	flashvars otherflashvars文字列をこの引数に置き換える。
	function replaceElement (targetID, sourceID, flashvars) {
		var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
		if(!flashvars) flashvars = "";
		var tgt = document.getElementById(targetID);
		var src = document.getElementById(sourceID);
		var str = "";
		
		if(tgt){
			if(src) var htm = String(src.innerHTML);
			else var htm = "";
			htm = htm.replace(/&amp;/g, "&");
			
			//変数置き換え
			if(flashvars){
				htm = htm.replace(/\&otherflashvars/g, flashvars);
			}
			
			//geckoの場合はタグを置き換え
			if(!isIE){
				htm = htm.replace(/&lt;/g, "<");
				htm = htm.replace(/&gt;/g, ">");
			}
			tgt.innerHTML = htm;
		}
	}

	//Flashバージョンチェックとプラグインの有無を調べ、
	//状態を示す文字列を返す
	//戻り値：
	//	flashsearch  : フラッシュ検索を表示
	//	flashvars    : ExpressInstallの変数を返す
	//	noflash      : 代替イメージとHTML検索機能を表示
	function getSearchContentType () {
		var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
		//適合バージョンなのでそのまま実行
		if (DetectFlashVer(8, 0, 0)) {
			return "flashsearch";
		//ExpressInstallのパラメータを渡して実行
		}else if (DetectFlashVer(6, 0, 65)){
			var vars = "";
			vars += "&MMplayerType=" + (isIE == true ? "ActiveX" : "PlugIn");
			vars += "&MMredirectURL=" + window.location;
			document.title = document.title.slice(0, 47) + " - Flash Player Installation";
			vars += "&MMdoctitle=" + document.title;
			return vars;
		}else{
			return "noflash";
		}
	}


//----------------------------------------------------------------------------------------------
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
//----------------------------------------------------------------------------------------------

	function ControlVersion(){
		var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
		var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
		var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
		
		var version;
		var axo;
		var e;

		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			version = axo.GetVariable("$version");
		}catch (e){
		}

		if (!version){
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				version = "WIN 6,0,21,0";
				axo.AllowScriptAccess = "always";
				version = axo.GetVariable("$version");
			}catch (e){
			}
		}

		if (!version){
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = axo.GetVariable("$version");
			}catch (e){
			}
		}

		if (!version){
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = "WIN 3,0,18,0";
			}catch (e){
			}
		}

		if (!version){
			try{
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				version = "WIN 2,0,0,11";
			}catch (e){
				version = -1;
			}
		}
		
		return version;
	}

	function GetSwfVer(){
		var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
		var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
		var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
		var flashVer = -1;
		
		if (navigator.plugins != null && navigator.plugins.length > 0){
			if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]){
				var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
				var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
				var descArray = flashDescription.split(" ");
				var tempArrayMajor = descArray[2].split(".");			
				var versionMajor = tempArrayMajor[0];
				var versionMinor = tempArrayMajor[1];
				var versionRevision = descArray[3];
				if (versionRevision == ""){
					versionRevision = descArray[4];
				}
				if (versionRevision[0] == "d"){
					versionRevision = versionRevision.substring(1);
				}else if (versionRevision[0] == "r"){
					versionRevision = versionRevision.substring(1);
					if (versionRevision.indexOf("d") > 0){
						versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
					}
				}
				var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
			}
		}
		// MSN/WebTV 2.6 supports Flash 4
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
		// WebTV 2.5 supports Flash 3
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
		// older WebTV supports Flash 2
		else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
		else if ( isIE && isWin && !isOpera ){
			flashVer = ControlVersion();
		}	
		return flashVer;
	}

	function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
		var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
		var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
		var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
		
		versionStr = GetSwfVer();
		if (versionStr == -1 ){
			return false;
		}else if (versionStr != 0){
			if(isIE && isWin && !isOpera){
				// Given "WIN 2,0,0,11"
				tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
				tempString        = tempArray[1];			// "2,0,0,11"
				versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
			}else{
				versionArray      = versionStr.split(".");
			}
			var versionMajor      = versionArray[0];
			var versionMinor      = versionArray[1];
			var versionRevision   = versionArray[2];

			if (versionMajor > parseFloat(reqMajorVer)){
				return true;
			}else if (versionMajor == parseFloat(reqMajorVer)){
				if (versionMinor > parseFloat(reqMinorVer))
					return true;
				else if (versionMinor == parseFloat(reqMinorVer)){
					if (versionRevision >= parseFloat(reqRevision))
						return true;
				}
			}
			return false;
		}
	}