//////////////////////////////////////////////////////////////////
/// Image rollover
//////////////////////////////////////////////////////////////////
function imgRoll(obj,flag) {
	var pathsrc = obj.getAttribute("src");
	var path = pathsrc.slice(0,pathsrc.lastIndexOf("/")+1);
	var imgname = pathsrc.slice(pathsrc.lastIndexOf("/")+1,pathsrc.length);
	if(flag) {
		var imgname = imgname.replace(/_def/i,"_ovr");
	} else {
		var imgname = imgname.replace(/_ovr/i,"_def");
	}
	obj.setAttribute("src",path + imgname);
}





//////////////////////////////////////////////////////////////////
/// Window open
//////////////////////////////////////////////////////////////////
// 汎用
function openSubWindow(strUrl,winName,winWidth,winHeight) {
	var features = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=' + winWidth + ',height=' + winHeight;
	winName = window.open(strUrl,winName,features);
	winName.focus();
	return false;
}



//////////////////////////////////////////////////////////////////
/// 汎用id表示切り替え
//////////////////////////////////////////////////////////////////
function switchImg(id,vl){
	var elm=document.getElementById(id);
	var pathsrc=elm.getAttribute("src");
	var path=pathsrc.slice(0,pathsrc.lastIndexOf("/")+1);
	var imgname=pathsrc.slice(pathsrc.lastIndexOf("/")+1,pathsrc.length);
	var ext=imgname.slice(imgname.lastIndexOf("."),imgname.length);
	imgname=vl+ext;
	elm.setAttribute("src",path + imgname);
}
function switchImgSrc(id,vl){
	var elm=document.getElementById(id);
	elm.setAttribute("src",vl);
}
function switchBlock(id,vl){
	var elm=document.getElementById(id);
	elm.style.display=vl;
}
function switchZindex(id,vl){
	var elm=document.getElementById(id);
	elm.style.zIndex=vl;
}
function switchClass(id,vl){
	var elm=document.getElementById(id);
	elm.className=vl;
}
function switchBgImg(id,vl){
	var elm=document.getElementById(id);
	elm.style.backgroundImage="url("+vl+")";
}



//////////////////////////////////////////////////////////////////
/// スタイル操作
//////////////////////////////////////////////////////////////////
function switchClass(id,vl){
	var idSel=document.getElementById(id);
	idSel.className=vl;
}


//////////////////////////////////////////////////////////////////
/// flash判定
//////////////////////////////////////////////////////////////////
var dwdFlash = new FlashHandler("8,0,0,0","http");
function outputFlash(on,off){
  if(dwdFlash.checkPlugin()) {
		if(on=='') return;
		switchBlock(off,'none');
  }else{
		switchBlock(on,'none');
	}
}

/* FlashHandler
--------------------------------------------------------------------*/
function FlashHandler(ver,pro) {
  this._classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
  this._type = "application/x-shockwave-flash";
  var vertmp = ver.split(",");
  for(var i = 4; i > vertmp.length; i--)
    ver += (ver.match(/,$/)) ? "0,0" : ",0";
  this._ver  = ver;
  this._must = parseInt(ver.toString().replace(/^([0-9]+),.*$/,"$1"));
  this._pro  = (pro.match(/^https?$/)) ? pro : "http";
  this._apply = false;
  this._plugin = (
    (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"])
      ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin
      : 0
  );
  if(this._plugin) {
    var tmp = navigator.plugins["Shockwave Flash"].description;
    this._apply = (tmp.match(/\s([0-9.]*)\s/)[1] >= this._must);
  } else if(navigator.userAgent.indexOf("MSIE") != -1) {
    if(navigator.appVersion.indexOf("Win") != -1) { try {
      applytmp = false;
      execScript(
        "on error resume next : applytmp = " +
        "(IsObject(CreateObject('ShockwaveFlash.ShockwaveFlash." +
        this._must + "')))", "VBScript"
      );
      this._apply = applytmp;
    } catch(e) {} }
  }
  this.checkPlugin = function() { return this._apply; };
  this.getCode = function(id,size,param) {
    var ua = navigator.userAgent, pro = this._pro, type = this._type;
    var ids = (
      (id.match(/^[a-zA-Z].*$/))
        ? [' id="' + id + '"',' name="' + id + '"']
        : ["",""]
    );
    var tg = [
      '<object' + ids[0] + ' classid="' + this._classid +
      '" codebase="' + pro + '://download.macromedia.com/pub/' +
      'shockwave/cabs/flash/swflash.cab#version=' + this._ver + '"' +
      ' type="' + type + '" width="' + size[0] + '" height="' +
      size[1] + '">',
      '<embed' + ids[1] + ' type="' + type + '" pluginspage="' + pro +
      '://www.macromedia.com/go/getflashplayer" width="' + size[0] +
      '" height="' + size[1] + '"',
      '></embed>',
      '</object>'
    ];
    for(var i in param) {
      tg[0] += '<param name="' + i + '" value="' + param[i] + '" />';
      tg[1] += ' ' + ((i == "movie") ? 'src' : i) + '="' + param[i] + '"';
    }
    return (
      (ua.indexOf("Mac") != -1 && ua.indexOf("MSIE") != -1 && ua.indexOf("Opera") == -1)
        ? tg[1] + tg[2]
        : tg.join("")
    );
  };
}




//////////////////////////////////////////
//スムーズスクロール
//////////////////////////////////////////
var ss = {
	fixAllLinks: function() {
		var allLinks = document.getElementsByTagName('a');
		for (var i=0;i<allLinks.length;i++) {
			var lnk = allLinks[i];
			if ((lnk.href && lnk.href.indexOf('#') != -1) &&
				 ( (lnk.pathname == location.pathname) ||
				('/'+lnk.pathname == location.pathname) ) &&
				 (lnk.search == location.search)) {
				ss.addEvent(lnk,'click',ss.smoothScroll);
			}
		}
	},
	smoothScroll: function(e) {
		if (window.event) {
			target = window.event.srcElement;
		} else if (e) {
			target = e.target;
		} else return;
		if (target.nodeName.toLowerCase() != 'a') {
			target = target.parentNode;
		}
		if (target.nodeName.toLowerCase() != 'a') return;
		anchor = target.hash.substr(1);
		var allLinks = document.getElementsByTagName('a');
		var destinationLink = null;
		for (var i=0;i<allLinks.length;i++) {
			var lnk = allLinks[i];
			if (lnk.name && (lnk.name == anchor)) {
				destinationLink = lnk;
				break;
			}
		}
		if (!destinationLink) return true;
		var destx = destinationLink.offsetLeft;
		var desty = destinationLink.offsetTop;
		var thisNode = destinationLink;
		while (thisNode.offsetParent &&
			 (thisNode.offsetParent != document.body)) {
			thisNode = thisNode.offsetParent;
			destx += thisNode.offsetLeft;
			desty += thisNode.offsetTop;
		}
		clearInterval(ss.INTERVAL);
		cypos = ss.getCurrentYPos();
		ss_stepsize = parseInt((desty-cypos)/ss.STEPS);
		ss.INTERVAL =
	setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
		if (window.event) {
			window.event.cancelBubble = true;
			window.event.returnValue = false;
		}
		if (e && e.preventDefault && e.stopPropagation) {
			e.preventDefault();
			e.stopPropagation();
		}
	},
	scrollWindow: function(scramount,dest,anchor) {
		wascypos = ss.getCurrentYPos();
		isAbove = (wascypos < dest);
		window.scrollTo(0,wascypos + scramount);
		iscypos = ss.getCurrentYPos();
		isAboveNow = (iscypos < dest);
		if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
			window.scrollTo(0,dest);
			clearInterval(ss.INTERVAL);
			location.hash = anchor;
		}
	},
	getCurrentYPos: function() {
		if (document.body && document.body.scrollTop)
			return document.body.scrollTop;
		if (document.documentElement && document.documentElement.scrollTop)
			return document.documentElement.scrollTop;
		if (window.pageYOffset)
			return window.pageYOffset;
		return 0;
	},
	addEvent: function(elm, evType, fn, useCapture) {
		if (elm.addEventListener){
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent){
			var r = elm.attachEvent("on"+evType, fn);
			return r;
		} else {
			alert("Handler could not be removed");
		}
	}
 }
ss.STEPS = 10;
ss.addEvent(window,"load",ss.fixAllLinks);




//////////////////////////////////////////////////////////////////
/// スタイル操作：height100%
//////////////////////////////////////////////////////////////////
function compatJud(){ //標準モード判定
	if(document.compatMode){ return (document.compatMode=="CSS1Compat"); }
	return 0;
}
function dBody(){ //document.body、documentElement選択
	if(document.documentElement&&document.documentElement.clientHeight) return document.documentElement;
	if(document.body) return document.body;
	return 0;
}
function fullHeight(id){
	var targetId=document.getElementById(id);

	var VarUsrAgt=navigator.userAgent.toLowerCase();
	var isSF2=VarUsrAgt.indexOf("safari/4") != -1;
	var isOP=VarUsrAgt.indexOf("opera") != -1;
	var isSF=VarUsrAgt.indexOf("safari") != -1;
	var isIE6=VarUsrAgt.indexOf("msie 6.0") != -1;
	var isIE8=VarUsrAgt.indexOf("msie 8.0") != -1;

	var bdHeight;
  if(isSF2||isOP){bdHeight=window.innerHeight;}
  else if(isIE6){bdHeight=document.documentElement.clientHeight;}
  else{bdHeight=dBody().clientHeight;}

	var sclHeight;
  if(isSF){sclHeight=window.scrollY;}
  else if(isIE6){sclHeight=document.documentElement.scrollTop;}
  else{sclHeight=dBody().scrollTop;}

//alert(bdHeight+' '+sclHeight+' '+(bdHeight+sclHeight));
//alert(dBody().clientHeight);
//alert(document.documentElement.clientHeight);

	var positTopId=bdHeight+sclHeight;

	if(isIE8) targetId.style.height=(positTopId-4)+"px";
	else targetId.style.height=positTopId+"px";
};
function fullWidth(id){
	var targetId=document.getElementById(id);

	var VarUsrAgt=navigator.userAgent.toLowerCase();
	var isSF2=VarUsrAgt.indexOf("safari/4") != -1;
	var isOP=VarUsrAgt.indexOf("opera") != -1;
	var isSF=VarUsrAgt.indexOf("safari") != -1;
	var isIE6=VarUsrAgt.indexOf("msie 6.0") != -1;
	var isIE8=VarUsrAgt.indexOf("msie 8.0") != -1;

	var bdWidth;
  if(isSF2||isOP){bdWidth=window.innerWidth;}
  else if(isIE6){bdWidth=document.documentElement.clientWidth;}
  else{bdWidth=dBody().clientWidth;}

	var sclWidth;
  if(isSF){sclWidth=window.scrollX;}
  else if(isIE6){sclWidth=document.documentElement.scrollLeft;}
  else{sclWidth=dBody().scrollLeft;}

	var positRightId=bdWidth+sclWidth-39;

	if(isIE8) targetId.style.backgroundPosition=positRightId+"px 0";
};
var wallSetSize=function(){
	fullHeight('WALL_LEFT');fullHeight('WALL_RIGHT');fullWidth('WALL_RIGHT');
	window.onresize=function(){
		fullHeight('WALL_LEFT');fullHeight('WALL_RIGHT');fullWidth('WALL_RIGHT');
	}
	window.onscroll=function(){
		fullHeight('WALL_LEFT');fullHeight('WALL_RIGHT');fullWidth('WALL_RIGHT');
	}
};





