var reloadInterval = null;

function onLoad(fadeIn) {
  var state = getString('state');
  if (state && state.match(/.*playing.*/)) {
    setInterval('update()',1000);
  } else {
    setInterval('update()',60 * 1000);
  }
}

function getValue(id) {
  return parseInt(getString(id));
}

function getString(id) {
  return document.getElementById(id).innerHTML;
}

function startReload() {
  document.getElementById('state').innerHTML = 'reloading';
  reloadInterval = setInterval(updateReloading,1000);
}

function updateReloading() {
  document.getElementById('state').innerHTML = document.getElementById('state').innerHTML + ' .';
}

function update() {
  var v = getValue('position');
  var d = getValue('duration');
  if (v != -1 && d != -1 && v == d) {
    startReload();
    setTimeout('reload()',3 * 1000);
    return;
  }
  v += 1;
  document.getElementById('position').innerHTML = v;

  var mod = Math.ceil(d/40);
  if (v%mod==0) {
    pbEl = document.getElementById('progress');
    if (pbEl) {
      var pb = pbEl.innerHTML;
      newPb = pb.replace(/\|&nbsp;/,'||');
      pbEl.innerHTML = newPb;
    }
  }
}

function reload() {
  if (reloadInterval) {
    clearInterval(reloadInterval);
  }
  document.location = document.location;
}

