/*  Base JavaScript framework, version 2.3
 *
 *--------------------------------------------------------------------------*/ 

IMGCLASS= "overimage"; //ロールオーパー対象class
IMGFOOT= "_on"; //ロールオーパーイメージ付加文字列
TGTCLASSNAME = "spreadmenu";//ヘッダーレイヤーコントロール対象クラス

/*ページ読み込み時実行*/

Event.observe(window, 'load', getlist, false);//ヘッダーのプルダウン実行
Event.observe(window, 'load', setOver, false);//トグル・マウスオーバー実行
/*ページ読み込み時実行終了*/


/*ヘッダーメニューレイヤーコントロール*/

function getlist(){
	$A(document.getElementsByClassName(TGTCLASSNAME)).each(function (node){
	var TGTUL = getNextElement(node, "UL");
	Event.observe(node, 'mouseover', function(){
										
	TGTUL.style.visibility = "visible";
	}, false);
	
	node.onmouseout = function(){
		TGTUL.style.visibility = "hidden";
	};
	});
}

function getNextElement(elem, tagName){

	var next = elem.firstChild;
	while(next){
		if(next.nodeType == 1 && next.tagName == tagName) return next;
		next = next.nextSibling;
	}
	return null;
}


/*ヘッダーメニューレイヤーコントロールend*/


/*トグル用*/

function toggle(){
if(typeof(PAGEID) != "undefined" ){
cngmenuimg()
}

function cngmenuimg(){
		for(var i = 0; i < PAGEID.length; i++){
			var TGTID = PAGEID[i]
			var CNGIMG = $(TGTID);
			var DFO_URLLENG = CNGIMG.src.length;
			var BREAK_POINT = CNGIMG.src.lastIndexOf("\.");
			var URL_FLONT = CNGIMG.src.substring(0,BREAK_POINT);
			var URL_BACK = CNGIMG.src.substring(BREAK_POINT,DFO_URLLENG);
			var NEW_URL = URL_FLONT + IMGFOOT + URL_BACK
			$(TGTID).src = NEW_URL
			
			var CNGCLASS = $(TGTID).className
			var SWAPCLASS = 'notoverimage';
			$(TGTID).className = SWAPCLASS
		}
	}
}


/*ロールオーバー用*/

function setMouseOverImages(){
	var conf = {
		className : IMGCLASS,
		postfix : IMGFOOT
		};
	$A(document.getElementsByClassName(conf.className)).each(function (node){
	node.originalSrc = node.src;
	node.rolloverSrc = node.originalSrc.replace(/(\.gif|\.jpg|\.png)/, conf.postfix+"$1");
	preloadImage(node.rolloverSrc);
	Event.observe(node,'mouseover', function(){
	node.src = node.rolloverSrc;
	}, false);
	Event.observe(node,'mousedown', function(){
	node.src = node.originalSrc;
	},false);
	Event.observe(node,'mouseout', function(){
	node.src = node.originalSrc;
	},false);
	});
};

/*ロールオーバー用end*/


/*トグル・マウスオーバー実行*/
function setOver(){
toggle();
setMouseOverImages();
}
/*トグル・マウスオーバー実行end*/

/*イメージをプリロード*/

preloadedImages = [];
function preloadImage(url){
	var p = preloadedImages;
	var l = p.length;
	p[l] = new Image();
	p[l].src = url;
}


/*ポップアップウインドウ用*/
function openwin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
/*ポップアップウインドウ用end*/


/*FLASHコントロール*/

function embedFlash(theURL, theX, theY, theVirsion, theBGColor) {
	kazu=document.URL.indexOf("?");
	if(kazu>0){
	theURL=theURL+document.URL.substr(kazu,999);
	}
	if(theBGColor){
		toObject=' value="'+theBGColor+'"';
		toEmbed=' bgcolor="'+theBGColor+'"';
	}else{
		toObject="";
		toEmbed="";
	}
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+theVirsion+'" width="'+theX+'" height="'+theY+'" id="mainMovie" align="middle"><param name="movie" value="'+theURL+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="wmode" value="opaque" /><param name="allowScriptAccess" value"sameDomain"/><param name="bgcolor"'+toObject+' /><embed src="'+theURL+'" loop="false" menu="false" quality="high" width="'+theX+'" height="'+theY+'" wmode="opaque" swLiveConnect="true" align="middle" allowScriptAccess="sameDomain" '+toEmbed+' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');	
}


//----------------------------------------------------------------------------------------------------
//FLASHプラグインの有無を自動的にチェックして処理を分岐させるプログラム
//----------------------------------------------------------------------------------------------------
// サポートされている JavaScript のバージョン
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
// クライアントのブラウザのタイプを検出
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;
jsVersion = 1.1;
// Flash Player プラグインのバージョン情報を検出するには、JavaScript ヘルパーが必要です
function JSGetSwfVer(i) {
	// プラグイン配列内の Flash プラグインについて NS/Opera バージョンが 3 以上かどうかを確認します
	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;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if (descArray[3] != "") {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			versionRevision = tempArrayMinor[1]>0 ? tempArrayMinor[1] : 0;
			flashVer = versionMajor+"."+versionMinor+"."+versionRevision;
		} else {
			flashVer = -1;
		}
	} else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) {
		flashVer = 4;
	} else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) {
		flashVer = 3;
	} else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) {
		flashVer = 2;
	} else {
		flashVer = -1;
	}
	// 他のすべての状況では検出できません 
	return flashVer;
}
// パラメータを指定せずに呼び出した場合、この関数は浮動小数値を返します。
// これは、Flash Player のバージョンまたは 0.0 になります。
// 例 : Flash Player 7r14 の場合は 7.14 を返します
// reqMajorVer を指定して呼び出した場合、reqMinorVer、reqRevision は、それ以上のバージョンが使用可能なときには true を返します
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
	reqVer = parseFloat(reqMajorVer+"."+reqRevision);
	// 最新のバージョンを見つけるまで、バージョンを遡ってループします	
	for (i=25; i>0; i--) {
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);
		}
		if (versionStr == -1) {
			return false;
		} else if (versionStr != 0) {
			if (isIE && isWin && !isOpera) {
				tempArray = versionStr.split(" ");
				tempString = tempArray[1];
				versionArray = tempString.split(",");
			} else {
				versionArray = versionStr.split(".");
			}
			versionMajor = versionArray[0];
			versionMinor = versionArray[1];
			versionRevision = versionArray[2];
			versionString = versionMajor+"."+versionRevision;
			// 7.0r24 == 7.24
			versionNum = parseFloat(versionString);
			// メジャーバージョンは要求されたメジャーバージョン以上であり、かつマイナーバージョンは要求されたマイナーバージョン以上の場合
			if ((versionMajor>reqMajorVer) && (versionNum>=reqVer)) {
				return true;
			} else {
				return ((versionNum>=reqVer && versionMinor>=reqMinorVer) ? true : false);
			}
		}
	}
	return (reqVer ? false : 0.0);
}

/*FLASHコントロールend*/


/* 画像保護 engine */

var imgProtecter = {
	conf : {
		dummyImage : '/common/img/blank.gif',
		targetClass : 'protectimage',// ターゲットのクラス名(リンクがあるときはaタグに入れる)
		dummyStyle : 'margin:0; padding:0; border:none; position:absolute; z-index:10;',// ダミー画像に適用されるstyle
		linkStyle : 'margin:0; padding:0; display:block; text-decoration:none; position:absolute; z-index:100;',// アンカーに適用されるstyle
		debugMode : false,// デバッグモード(true：デバッグモード / false：通常モード)
		rClick : true,// マウス右クリック(true：使用可 / false：禁止)
		imagetoolbar : false// WindowsXPのイメージツールバー(true：使用可 / false：禁止)
	},	
	/* IE判定 */
	isIE : function() {
		if ( IE='\v'=='v' ) {
			return true;
		} else {
			return false;
		}
	},
	/* IE8判定 */
	isIE8 : function() {
		if ( imgProtecter.isIE() && document.documentMode ) {
			return true;
		} else {
			return false;
		}
	},	
	init : function() {
		imgProtecter.addEvent(window, 'load', imgProtecter.set);
		imgProtecter.addEvent(window, 'load', imgProtecter.setImg);
		if ( !imgProtecter.conf.rClick ){
			imgProtecter.addEvent(document.body, 'contextmenu', function(){return false;});
		}
		if ( !imgProtecter.conf.imagetoolbar ){
			var head = document.getElementsByTagName('head');
			var m = document.createElement('meta');
			if (imgProtecter.isIE() && !imgProtecter.isIE8()) {
				m.setAttribute('httpEquiv','imagetoolbar');
			} else {
				m.setAttribute('http-equiv','imagetoolbar');
			}
			m.setAttribute('content','no');
			head.item(0).appendChild(m);
		}
	},
	/* ダミー画像のセット (アンカーあり) */
	set : function() {
		var elm = imgProtecter.getElementsByTagAndClassName('A', imgProtecter.conf.targetClass);
		var length = elm.length;
		for (var i = 0; i < length; i++) {
			var h = elm[i].firstChild.getAttribute('height');
			var w = elm[i].firstChild.getAttribute('width');
			var pos = imgProtecter.getElementPosition(elm[i].firstChild);
			var elmLink = elm[i].href;
			var elmTarget = elm[i].target;
			var img = document.createElement('img');
			var anc = document.createElement('a');
			anc.href = elmLink;
			anc.target = elmTarget;
			img.setAttribute('src', imgProtecter.conf.dummyImage);
			if ( h ) {
				img.setAttribute('height', h);
			}
			if ( w ) {
				img.setAttribute('width', w);
			}
			var lstyle = imgProtecter.conf.linkStyle + ' top:' + pos.top + 'px; left:' + pos.left + 'px; height:' + h + 'px; width:' + w + 'px;';
			if ( imgProtecter.conf.debugMode ) {
				style = style + ' background-color:#FFB2D8;';
			}
			if ( imgProtecter.isIE() && !imgProtecter.isIE8() ) {
				anc.style.cssText = lstyle;
			} else {
				anc.setAttribute('style', lstyle);
			}
			document.body.appendChild(anc);
			anc.appendChild(img);
		}
	},
	/* ダミー画像のセット (画像のみ) */
	setImg : function() {
		var elm = imgProtecter.getElementsByTagAndClassName('IMG', imgProtecter.conf.targetClass);
		var length = elm.length;
		for (var i = 0; i < length; i++) {
			var h = elm[i].getAttribute('height');
			var w = elm[i].getAttribute('width');
			var pos = imgProtecter.getElementPosition(elm[i]);
			var img = document.createElement('img');
			img.setAttribute('src', imgProtecter.conf.dummyImage);
			if ( h ) {
				img.setAttribute('height', h);
			}
			if ( w ) {
				img.setAttribute('width', w);
			}
			var style = imgProtecter.conf.dummyStyle + ' top:' + pos.top + 'px; left:' + pos.left + 'px;';
			if ( imgProtecter.conf.debugMode ) {
				style = style + ' background-color:#FFB2D8;';
			}
			if ( imgProtecter.isIE() && !imgProtecter.isIE8() ) {
				img.style.cssText = style;
			} else {
				img.setAttribute('style', style);
			}
			document.body.appendChild(img);
		}
	},
	getElementsByTagAndClassName : function( tag, cls ) {
		var elements = new Array();
		var targetElements = document.getElementsByTagName(tag);
		var length = targetElements.length;
		for (var i = 0; i < length; i++) {
			if (targetElements[i].className.match(cls)) {
				elements[elements.length] = targetElements[i];
			}
		}
		return elements;
	},
	getElementPosition : function( elm ) {
		var offsetTrail = (typeof elm == 'string') ? doc.getElementById(elm): elm;
		var x = 0; var y = 0;
		while (offsetTrail) {
			x += offsetTrail.offsetLeft;
			y += offsetTrail.offsetTop;
			offsetTrail = offsetTrail.offsetParent;
		}
		/*if (navigator.userAgent.indexOf('Mac') != -1 && typeof doc.body.leftMargin != "undefined") {
			x += doc.body.leftMargin;
			y += doc.body.topMargin;
		}*/
		return ({ "left": x, "top": y });
	},
	addEvent : function( elm, event, func ) {
		try {
			elm.addEventListener(event, func, false);
		} catch (e) {
			elm.attachEvent('on' + event, func);
		}
	}
}
imgProtecter.init();

/* 画像保護 engine end */
