// global variable --------------------------------------------------------------
var cookie;
var title;
var def_size;
var ratio;


// for stylesheet change --------------------------------------------------------

function setActiveStyleSheet(title) {
 var i, a, main;
 if ( title == '' || title == null ) {
  title = 'standard';
 }
 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;
}

// for fontsize change ----------------------------------------------------------

function change_size( ratio ) {
 if ( 82 < parseInt( def_size ) && parseInt( ratio ) < 0 ) {
  def_size = parseInt( def_size ) + parseInt( ratio );
 }
 if ( 0 < parseInt( ratio ) && parseInt( def_size ) < 135 ) {
  def_size = parseInt( def_size ) + parseInt( ratio );
 }
 if ( ratio == 'regular' ) {
  def_size = 90;
 }

 document.body.style.fontSize = def_size + '%';
}


// menu open or close -----------------------------------------------------------
function submenu_onoff ( event ) {
 $( '#' + event.target.id + '_sub' ).slideToggle( 'fast' ) ; // ƒ~ƒŠ•b
}


// replace strings --------------------------------------------------------------
function replace ( src, dst, str ) {
 var ary_str = Array();
 var result;
 if ( str.indexOf ( src ) == -1 ) {
  return str;
 } else {
  ary_str = str.split ( src );
  result = ary_str[0];
  for ( i=1; i<ary_str.length; i++ ) {
   result += dst + ary_str[i];
  }
 }
 return result;
}

// initialize -------------------------------------------------------------------
function initialize() {

 // for Font Size and CSS change ----------------
 cookie   = readCookie("fontSize");
 def_size = cookie ? cookie : 90;
 change_size ( 0 );
 cookie    = readCookie("style");
 title = cookie ? cookie : 'standard';
 setActiveStyleSheet(title);

 // 2008/03/23 commonize the accessibility menu
 $('#accessibility_menu img').each (
  function () {
   if ( this.id != '' ) {
    $('img#' + this.id ).hover(
     function () {
      img_src = replace ( '_off.', '_on.', $('img#' + this.id ).attr('src') );
      $('img#' + this.id ).attr('src', img_src );
     },
     function () {
      img_src = replace ( '_on.', '_off.', $('img#' +this.id ).attr('src') );
      $('img#' + this.id ).attr('src', img_src );
     }
    )
    .click(
     function () {
      switch ( this.id ) {
       case 'smaller' : change_size( -10 ); break;
       case 'larger'  : change_size( 10 );  break;
       case 'regular' : change_size( 'regular' ); break;
       case 'normal'  : setActiveStyleSheet( 'standard' ); break;
       default        : setActiveStyleSheet( this.id );
      }
     }
    )
   }
  }
 );

}


// for event --------------------------------------------------------------------
$( initialize );


window.onunload = function ( event ) {
 title = getActiveStyleSheet();
 createCookie("style", title, 365);
 createCookie("fontSize", def_size, 365);
}

