// JavaScript Document

// prototype.js needed
Event.observe(document, 'dom:loaded', function() { setFontSize(); });

////////////////////////////////  フォントサイズ変更  /////////////////////////////////////
var current_font_size = 'textsize_m';
function setFontSize() {
  var myCookie = document.cookie + ';';
  var pos = -1;
  if ((pos = myCookie.indexOf("fontSize=")) >= 0) {
    var end = myCookie.indexOf(";", pos);
    var size = myCookie.substring(pos+9, end);
    fontsize(size);
  }
}
function fontsize(n) {
  var size;
  if (n==1) {
    // small
    size = 1;
    current_font_size = 'textsize_s';
    change_fontsize('9px');
    font_swapimage('textsize_s', 1, true);
    font_swapimage('textsize_m', 0, true);
    font_swapimage('textsize_l', 0, true);
  } else if (n==3) {
    // large
    size = 3;
    current_font_size = 'textsize_l';
    change_fontsize('14px');
    font_swapimage('textsize_s', 0, true);
    font_swapimage('textsize_m', 0, true);
    font_swapimage('textsize_l', 1, true);
  } else {
    // normal
    size = 2;
    current_font_size = 'textsize_m';
    change_fontsize('12px');
    font_swapimage('textsize_s', 0, true);
    font_swapimage('textsize_m', 1, true);
    font_swapimage('textsize_l', 0, true);
  }
  document.cookie = 'fontSize='+size+';path=/';
}
function font_swapimage(target, swap, permanent) {
  var selected_img = {
    'textsize_s': 'font01_act.gif',
    'textsize_m': 'font02_act.gif',
    'textsize_l': 'font03_act.gif',
    0: null
  };
  var swap_img = {
    'textsize_s': 'font01_on.gif',
    'textsize_m': 'font02_on.gif',
    'textsize_l': 'font03_on.gif',
    0: null
  };
  var normal_img = {
    'textsize_s': 'font01.gif',
    'textsize_m': 'font02.gif',
    'textsize_l': 'font03.gif',
    0: null
  };
  var new_img;
  if (swap) {
    if (permanent) {
      new_img = selected_img[target];
    } else {
      // swap
      if (current_font_size == target) {
        new_img = selected_img[target];
      } else {
        new_img = swap_img[target];
      }
    }
  } else {
    if (typeof swap == 'undefined') {
      // resotre
      if (current_font_size == target) {
        new_img = selected_img[target];
      } else {
        new_img = normal_img[target];
      }
    } else {
      // force normal
      new_img = normal_img[target];
    }
  }
  var target_el = $(target);
  if (target_el) {
    target_el.src = target_el.src.replace(/\/[^/]*$/, '/'+new_img);
  }
}
function change_fontsize(s) {
  var obj = document.getElementsByTagName('body');
  if (obj.length > 0) {
    obj[0].style.fontSize = ''+s;
  }
  var i;
  for (i = 0; i < frames.length; i++) {
    obj = frames[i].document.getElementById('body');
    if (obj) {
      obj.style.fontSize = ''+s;
    }
  }
}
