/* mercy-en.or.jp format.js */



// counter
document.write('<script src="/js/counter.cgi" type="text/javascript"></script>');

var ckKeyMenu = 'mercy-sideMenu';   // cookie name. (side menu tree)
var ckKeyFont = 'mercy-fontSize';   // cookie name. (font size)
var ckExpDay = 30;   // days of cookie expires.

var ua = navigator.userAgent.toLowerCase();
var ie = (!window.opera && ua.indexOf('msie') != -1)? Number(ua.replace(/^.*?msie\s*(\d+).*$/,'$1')): 0;
var mac = (ua.indexOf('mac') != -1)? 1: 0;

if(!mac && ie >= 5 && ie <= 6) chkBgPNG();

document.write('<link rel="stylesheet" type="text/css" href="/css/small.css" title="small" />');
document.write('<link rel="stylesheet" type="text/css" href="/css/middle.css" title="middle" />');
document.write('<link rel="stylesheet" type="text/css" href="/css/large.css" title="large" />');

if(ie) setFontSize();



function getObject(id){
  return document.getElementById(id);
}


function getElement(id,element){
  return (!id)? document.getElementsByTagName(element): getObject(id).getElementsByTagName(element);
}


function chgViewList(num){
  var em = getObject('em' + num).style;
  var ul = getObject('ul' + num).style;
  if(ul.display != 'block'){
    setViewTree(em,ul,true);
    chgCookie(ckKeyMenu,true,num)
  }else{
    setViewTree(em,ul,false);
    chgCookie(ckKeyMenu,false,num)
  }
}


function setViewTree(em,ul,mode){
  var image = (mode)? 'icon_minus.gif': 'icon_plus.gif';
  var display = (mode)? 'block': 'none';
  em.background = 'transparent url(/img/format/' + image + ') no-repeat 10px 0.5em';
  ul.display = display;
}


function chgCookie(key,mode,value){
  var cookie = getCookie(key).split(/,/);
  for(var i=0;i<cookie.length;i++){
    if(cookie[i] == value && !mode) cookie[i] = '';
  }
  cookie = cookie.join(',');
  if(mode) cookie += ',' + value;
  setCookie(key,cookie.replace(/,+/g,',').replace(/^,+|,+$/g,''));
}


function getCookie(key){
  var cook = document.cookie;
  var pos = cook.indexOf(key + '=');
  if(pos == -1){
    setCookie(key,'');
    return '';
  }else{
    return cook.substring(pos + key.length,cook.length).replace(/^([^;]*).*$/,'$1').replace(/^[=,]+/g,'');
  }
}


function setCookie(key,value){
  var exp = new Date();
  exp.setTime(exp.getTime() + ckExpDay * 24*60*60*1000);
  document.cookie = key + '=' + value + ';path=/;expires=' + exp.toGMTString();
}


function setInitMenu(){
  var ul0 = getElement('contentsMenu','ul');
  var ul = ul0[0].getElementsByTagName('ul');
  for(var i=0;i<ul.length;i++){
    ul[i].id = 'ul' + String(i);
  }
  var em = ul0[0].getElementsByTagName('em');
  for(var i=0;i<ul.length;i++){
    em[i].id = 'em' + i;
    em[i].onclick = function(){ chgViewList(this.id.replace(/[^\d]+/g,'')); }
  }
  var cookie = getCookie(ckKeyMenu).split(/,/);
  for(var i=0;i<cookie.length;i++){
    if(getObject('ul' + cookie[i])) setViewTree(getObject('em' + cookie[i]).style,getObject('ul' + cookie[i]).style,true);
  }
}


function setFontSize(){
  var cookie = getCookie(ckKeyFont);
  if(!cookie) cookie = 'small';
  chgFontSize(cookie);
}


function setInitTool(){
  var ul = getElement('header','ul');
  var html = ul[0].innerHTML;
  ul[0].innerHTML = html +
    '<li id="fontTool">' +
    '<span id="small" onclick="chgFontSize(this.id);" title="小さな文字に切り替えます">小さな文字</span>' +
    '<span id="middle" onclick="chgFontSize(this.id);" title="普通サイズに切り替えます">普通サイズ</span> ' +
    '<span id="large" onclick="chgFontSize(this.id);" title="大きな文字に切り替えます">大きな文字</span> ' +
    '</li>';
  var span = getElement('fontTool','span');
  for(var i=0;i<span.length;i++){
    span[i].onclick = function(){ chgFontSize(this.id); };
  }
  if(!mac && ie >= 5 && ie <= 6){
    ul[0].style.background = '#fff';
    ul[0].style.filter = 'alpha(opacity=80)';
  }else{
    ul[0].style.background = 'url(/img/format/bg_topmenu.png)';
  }
}


function chgFontSize(size){
  var link = getElement('','link');
  for(var i=0;i<link.length;i++){
    if(link[i].getAttribute('rel') && link[i].getAttribute('rel').indexOf('stylesheet') != -1 && link[i].getAttribute('title')){
      if(link[i].getAttribute('title') == size) link[i].disabled = false;
      else link[i].disabled = true;
    }
  }
  setCookie(ckKeyFont,size);
}


function chkBgPNG() {   /* PNG to alpha for WinIE5.x~6.0 and 'background' only */
  var link = getElement('','link');
  var index = 0;
  for(var i=0;i<link.length;i++){
    if(!link[i].getAttribute('rel').match(/stylesheet/)) continue;
    var rule = document.styleSheets[index].rules;
    for(var j=0;j<rule.length;j++) {
      var png = rule[j].style['background'];
      if(!png.match(/url\(.*?\.png\)/i)) continue;
      rule[j].style['filter'] = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + png.replace(/^.*?url\((.*?\.png)\).*$/,'$1') + ',sizingMethod=crop)';
      rule[j].style['background'] = '';
    }
    index++;
  }
}


window.onload = function(){
  setInitMenu();

  if(!ie) setFontSize();
  setInitTool();

  var h1 = getElement('','h1');
  h1[0].onclick = function(){ location.href = '/'; }

  count = (count)? count: 0;
  getObject('footer').innerHTML += '<code id="counter">' + count + '</code>';

  var renew = new Array(0);
  renew[0] = new Image;
  renew[0].src = '/info/';
}
