﻿/* ------------------------------
 conf
------------------------------ */
// load files
var LDJSF = [

];


/* ------------------------------
 not modify here.
------------------------------ */
var scTag = document.getElementsByTagName('script');
var jsDir = '';
var len = scTag.length;
for(var i = 0; i < len; i++){
	var s = scTag[i];
	if(s.src && s.src.indexOf('common.js') != -1){
		jsDir = s.src.substring(0,s.src.indexOf('common.js'));
	}
}

len = LDJSF.length;
for(var i = 0; i < len; i++){
	document.write('<script type="text/javascript" src="' + jsDir + LDJSF[i].src + '" charset="' + LDJSF[i].charset + '"></script>');
}

function openWindow(URL,Winname,intW,intH){
	if(navigator.appVersion.indexOf("Windows") > -1) intW = parseInt(intW) + 16;
	newwin = window.open(URL,Winname,"width=" + intW + ",height=" + intH + ",scrollbars=yes,resizable=no,toolbar=no,location=no,directories=no,status=no,menubar=yes");
	newwin.focus();
}



	
  /**
   * オブジェクトを継承する（Objectを汚染拡張 from prototype.js）
   * @param destination 拡張されるオブジェクト
   * @param source 雛形オブジェクト

  Object.mixin = function( destination, source ){
    for (property in source)
      destination[property] = source[property];
    return destination;
  }
   */  
  /**
   * トグル可能な要素を表すクラス
   */
  var TogglableElement = function(){};
  TogglableElement.prototype = {
    flag:true,
    resultTarget:undefined,
    toggle:function(){
      this.flag = !this.flag;
    },
    update:function(){
      this.resultTarget.innerHTML = ( this.flag ) ? 'ON' : 'OFF';
    },
    onmouseup:function(){
      this.toggle();
      this.update();
    }
  };
  

  function init(){

    document.getElementById('newsButton').onclick = getToggleClosure2( document.getElementById('backnumber'), viewSourceCode );

  }
  
  /**
   * トグル処理＆DOM操作のクロージャ関数を返す
   * １つの関数を各所で使い回せるようにクロージャ化する
   * @param target HTMLElement 内容を書き換えるHTML要素
   */
  function getToggleClosure( target ){
    var flag = true;  // フラグ。レキシカルスコープ内に保持
    var target = target;  //  ターゲット。レキシカルスコープ内に保持
    return function(){
      flag = !flag;  //  フラグを逆転
      target.innerHTML = ( flag ) ? 'ON' : 'OFF'; // flag==trueならON
    };
  }
  
  function getToggleClosure2( target, callback ){
    var flag = true;
    var target = target;
    var callback = callback
    return function(){
      flag = !flag;  //  フラグを逆転
      callback.apply( this, [ target, flag ] );
    };
  }
  
  function viewSourceCode( target, flag ){
    this.innerHTML = ( flag )? 'バックナンバー' : 'バックナンバーを隠す';
    target.style.display = ( flag )? 'none' : 'block';
  }
  
  /**
   * window.onloadにリスナーを貼る
   */
  if( /msie/.test(navigator.userAgent.toLowerCase()) )
    window.attachEvent( 'onload', init );
  else
    window.addEventListener( 'load', init, true );
	


