var signaltimer = 20000;
var blinktimer = 200;
var numblink;
var bgreen = new Boolean(true);

var objchapter;

function createChapter(){
  if(objchapter) return;
  objchapter = new Chaptermenu( "objchapter" );
  objchapter.init();
  objchapter.tmpGreen();
}

//--------------------------------------------------------------
function Chaptermenu( myname ){

  this.instname = myname;
  this.preloadImg = preloadImg;
  this.init = init;
  this.getFocus = getFocus;
  this.lostFocus = lostFocus;
  this.toRed = toRed;
  this.toGreen = toGreen;
  this.toWhite = toWhite;
  this.blinkGreen = blinkGreen;
  this.blinkRed = blinkRed;
  this.tmpGreen = tmpGreen;
  this.tmpRed = tmpRed;

  var numchapter = 6;
  var chapfilename = new Array();
  var focusfilename = new Array();
  var imgobj1 = new Array();
  var imgobj2 = new Array();
  var imgidname = new Array();
  var signalid = 'chaptersignalimg';
  var redimg = '../images/chapter_r.gif';
  var greenimg = '../images/chapter4.gif';
  var whiteimg = '../images/chapter_w.gif';
  
  function preloadImg(){
    for( var i=0; i<numchapter; i++ ){
       imgobj1[i] = new Image();
       imgobj2[i] = new Image();
       imgobj1[i].src = chapfilename[i];
       imgobj2[i].src = focusfilename[i];
    }
  }
  
  function init(){
    var frontname = '../images/chapter';
    var extname = '.gif';
    var i = 0;
    for( i=0; i<numchapter; i++ ){
      chapfilename[i] = frontname + (i+5) + extname;
    }
    for( i=0; i<numchapter; i++ ){
      focusfilename[i] = frontname + '_f' + (i+5) + extname;
    }
    this.preloadImg();
    for( i=0; i<numchapter; i++ ){
      imgidname[i] = 'chapter' + (i+1) + 'img';
    }
  }
  
  function getFocus( index ){
    eval("document." + imgidname[index] + ".src='" + focusfilename[index] + "'");
    if( bgreen == false ){
      this.toGreen();
    }
  }

  function lostFocus( index ){
    eval("document." + imgidname[index] + ".src='" + chapfilename[index] + "'");
    if( bgreen == false ){
      this.toRed();
    }
  }

  function toRed(){
    eval("document." + signalid + ".src='" + redimg + "'");
  }

  function toGreen(){
    eval("document." + signalid + ".src='" + greenimg + "'");
  }

  function toWhite(){
    var func;
    eval("document." + signalid + ".src='" + whiteimg + "'");
    if( numblink == 0 && bgreen == true ){
      func = this.instname + ".tmpRed()";
      setTimeout( func, blinktimer );
    }
    else if( numblink == 0 && bgreen == false ){
      func = this.instname + ".tmpGreen()";
      setTimeout( func, blinktimer );
    }
    else if( bgreen == true ){
      numblink--;
      func = this.instname + ".blinkGreen()";
      setTimeout( func, blinktimer );
    }
    else{
      numblink--;
      func = this.instname + ".blinkRed()";
      setTimeout( func, blinktimer );
    }
  }

  function blinkGreen(){
    eval("document." + signalid + ".src='" + greenimg + "'");
    var func = this.instname + ".toWhite()";
    setTimeout( func, blinktimer );
  }

  function blinkRed(){
    eval("document." + signalid + ".src='" + redimg + "'");
    var func = this.instname + ".toWhite()";
    setTimeout( func, blinktimer );
  }

  function tmpGreen(){
    bgreen = true;
    numblink = 10;
    var func = this.instname + ".toWhite()";
    setTimeout( func, signaltimer );
    this.toGreen();
  }

  function tmpRed(){
    bgreen = false;
    numblink = 10;
    var func = this.instname + ".toWhite()";
    setTimeout( func, signaltimer );
    this.toRed();
  }

  return this;
}
//--------------------------------------------------------------
