var ThisLoc = location.href.split('?')[0]; // full script URL w/o params

var show_next = true;
var hidden  = 'hidden';
var visible = 'visible';

var wait_for_reset = false;
var keycount = 0;
var hexagram = new Array(6);
var line_name = new Array(4);
line_name[0] = 'old Yin';
line_name[1] = 'young Yang';
line_name[2] = 'young Yin';
line_name[3] = 'old Yang';

function mk_line(nm, nbr, id) {
  var nv = document.getElementById(nm + nbr);
  if (0 > id) nv.src = ImgBase + 'blank.gif';
  else        nv.src = ImgBase + 'line_' + id + '.png';
}

function restart() {
  keycount=0;
  for (var i=0 ; 6 > i ; i++) {
    mk_line('line_', i, -1);
    mk_line('newl_', i, -1);
  }
  for (var i = 0; i < 3; i++) {
    document.getElementById('coin-toss-' + i).src = ImgBase + 'coin_.png';
  }
  var dv = document.getElementById('trigram-0');
  dv.style.visibility = hidden;
  dv = document.getElementById('hexagram-1');
  dv.style.visibility = hidden;
}

function hex_line() {
  if (wait_for_reset) { return; }
  if (keycount == 0) { restart(); }
  var dv = document.getElementById('trigram-0');
  var im;
  var x = 0;
  for (var i = 0; i < 3; i++) {
    var y = Math.floor(Math.random() * 2);
    document.getElementById('coin-toss-' + i).src = ImgBase+'coin_'+y+'.png';
    x += (y + 2);
  }
  document.getElementById('coin-total').innerHTML = '= '+x+', '+line_name[x-6];
  hexagram[keycount] = x;
  mk_line('line_', keycount, hexagram[keycount]);
  if (++keycount >= 6) {
    document.getElementById('instruct-0').innerHTML = '<p><span>One moment, please...</span></p>';
    location.replace(ThisLoc + '?hex='
               + hexagram[0]
               + hexagram[1]
               + hexagram[2]
               + hexagram[3]
               + hexagram[4]
               + hexagram[5]);
  }
  else {
    dv.style.visibility = hidden;
    var i = keycount + 1;
    document.getElementById('lno-this').innerHTML = 'Line ' + keycount;
    document.getElementById('lno-next').innerHTML = ' ' + i;
    document.getElementById('preface').style.display = 'none';
  }
}

function do_setup(hex_sign) {
  var t0vis = hidden; // Assume we are doing initial setup
  var h1vis = hidden;
  if (hex_sign) {     // We are to do interpretation
    t0vis = visible;
    if (show_next) {
      for (var i = 0 ; i < 6 ; i++) {
        var j = hex_sign % 10;
        if ((j == 9) || (j == 6)) {
          h1vis = visible;
          break;
        }
        hex_sign = Math.floor(hex_sign / 10);
      }
    }
    else {
      document.getElementById('hexagram-1').style.display = 'none';
    }
    wait_for_reset = true;
    document.getElementById('lno-this').innerHTML = 'Your hexagram';
    document.getElementById('preface').style.display = 'none';
    document.getElementById('coin-block-0').style.display = 'none';
    document.getElementById('coin-block-1').style.display = 'none';
    document.getElementById('hex-0-name').style.display = 'block';
    document.getElementById('hex-1-name').style.display = 'block';
    document.getElementById('restart').style.display = 'block';
    document.getElementById('instruct-0').style.display = 'none';
  }
  document.getElementById('trigram-0').style.visibility = t0vis;
  document.getElementById('hexagram-1').style.visibility = h1vis;
  keycount = 0;
}

