// JavaScript Document
/***** 
---------------------------------------------------------------------------------------------

Ver 1.00-a 
2006,11,07 
Shift-JIS CR+LF

---------------------------------------------------------------------------------------------
*****/


/*** ロールオーバーイメージ
------------------------------------------------------------------------------------------------
記述例:
必ずbodyタグに以下を記述
<body onload="PreLoadIMG();">

PreLoadのJSファイルにリンクしIMG[0]を追記

function PreLoadIMG() {
	var IMG = new Array();
	IMG[0] = 'gnavi01,/common_v2/img/gnavi_on.gif';
	IMG[1] = 'gnavi02,/common_v2/img/gnavi_on02.gif';
　
	PreLoadimages(IMG);
}

HTMLの記述は以下を参考に

<a href="about/index.html" onmouseover="ChangeIMG_On('gnavi01', '/common_v02/img/gnavi_on.gif');" onmouseout="ChangeIMG_Off()"><img src="common_v02/img/gnavi.gif" name="gnavi01" width="111" height="26" id="gnavi01"></a>

-----------------------------------------------------------------------------------------------
***/

function PreLoadimages(IMG) {
	var VAL = new Array();
	var j = 0;
	var D = document;
	D.PLI_E = new Array();
	for (var i = 0; i < IMG.length; i++) {
		VAL = IMG[i].split(',');
		D.PLI_E[j] = new Image();
		D.PLI_E[j++].src = VAL[1];
		IMG_List(true);
	}
}


/* ドキュメントの全画像をリスト化 */
var IMG_GLOBAL_NAME = new Array();
var IMG_GLOBAL_PATH = new Array();
var IMG_List_FLAG = false;
function IMG_List(TRUTH) {
	if (TRUTH == true && IMG_List_FLAG != true) {
		for (var i = 0; i < document.images.length; i++) {
			IMG_GLOBAL_NAME[i] = document.images[i].name;
			IMG_GLOBAL_PATH[i] = document.images[i].src;
		}
		IMG_List_FLAG = true;
	}
}

/* 画像チェンジ */
var IMG_ON_NAME;
var ChangeIMG_On_FLAG = false;
function ChangeIMG_On(NAME, PATH) {
	if (IMG_List_FLAG == true) {
		document.images[NAME].src = PATH;
		IMG_ON_NAME = NAME;
		ChangeIMG_On_FLAG = true;
	}
}

/* チェンジ画像を元に戻す */
function ChangeIMG_Off() {
	if (ChangeIMG_On_FLAG == true) {
		for (var i = 0; i < document.images.length; i++) {
			if (IMG_ON_NAME == IMG_GLOBAL_NAME[i]) {
				document.images[IMG_GLOBAL_NAME[i]].src = IMG_GLOBAL_PATH[i];
				break;
			}
		}
	}
}



/*** 小窓オープン　

--------------------------------------------------------------------------------------------

記述例：
<a href="http://www.royal.co.jp/royalhost/main.html" target="sub_win" onClick="WINcreate_G01('','sub_win',300,300,0,0,0,0,0)">サンプル１</a>

-----------------------------------------------------------------------------------------------
***/

function WINcreate_G01( URL, TARGET ,WIDTH, HEI, MENUBAR, TOOLBAR,LOCATION, SCROLLBARS, STATUS, RESIZABLE)
{
	wf=window.open(  URL , TARGET ,'width= '+WIDTH+' , height='+ HEI +' ,menubar=' + MENUBAR + ',toolbar=' + TOOLBAR + ',location=' + LOCATION + ',scrollbars=' + SCROLLBARS + ', status=' + STATUS + ',resizable= ' +RESIZABLE+ '');
wf.focus();
}



/*** FLASH 埋め込み　

--------------------------------------------------------------------------------------------

記述例：
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','347','height','286','src','player','quality','high','wmode','transparent','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','player' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="347" height="286">
<param name="movie" value="player.swf">
<param name="quality" value="high">
<param name="wmode" value="transparent">
<embed src="player.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="347" height="286"></embed>
</object></noscript>

-----------------------------------------------------------------------------------------------
***/


//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

/*** スタイルシート切り替え　

--------------------------------------------------------------------------------------------

CSSへのリンクの記述
<link rel="stylesheet" href="font01.css" type="text/css" title="default" />
<link rel="alternate stylesheet" href="font02.css" type="text/css" title="large" />


スタイルシートのセレクターの記述
フォントサイズ：<a href="#" title="フォントサイズ：小" onclick="setActiveStyleSheet('default'); return false;"><span style="font-size:10px;">A</span></a> | <a href="#" title="フォントサイズ：大" onclick="setActiveStyleSheet('large'); return false;"><span style="font-size:12px;">A</span></a>
※セレクターはlarge2とかにしていくことでもっと数が増やせます。


--------------------------------------------------------------------------------------------
***/



function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);