var homespecial_taskid = 0;
var homespecial_phase = 0;
var homespecial_paused = 0;
var homespecial_period = 5000;

function evtack(e) {
  if (e.stopPropagation) {
    e.stopPropagation();
  } else {
    e.cancelBubble = true;
  }
}

function evtlog(s) {
  var el = document.getElementById('eventlog');
  var v = el.value + ' | ' + s;
  if (v.length > 120) v = v.substring(v.length - 120);
  el.value = v;
}

function evttarget(e) {
  var el = e.target ? e.target : e.srcElement;  // ie uses srcel; others use target
  if (el.nodeType == 3) el = el.parentNode;  // for a text node, use the parent
  return el;
}

function find1sthref(el) {
  var links = el.getElementsByTagName('a');
  if (!links || links.length == 0) {
    return null;
  }
  return links[0].href;
}

function homespecial_changePhase(phase) {
  var hr = document.getElementById('homerotation');
  if (hr) {
    hr.src = homespecial_src[phase];
    hr.alt = homespecial_alt[phase];
  }
  for (var i = 0; i < homespecial_src.length; ++i) {
    var hstn = document.getElementById('hstext' + i);
    if (hstn) {
      if (i == phase) {
        var url = find1sthref(hstn);
        hr.parentNode.href = url;
        hstn.className = 'lit';
      } else {
        hstn.className = '';
      }
    }
  }
}

function homespecial_mover(e) {
  if (!e) e = window.event;
  var hsel = evttarget(e);
  if (hsel.tagName.toLowerCase() == 'a') {
    hsel = hsel.parentNode;
  }
  var elid = hsel.id;

  homespecial_paused = 1;
  if (elid.substring(0, 6) == 'hstext') {
    homespecial_phase = parseInt(elid.substring(6));
    homespecial_changePhase(homespecial_phase);
    evtack(e);
  }
}

function homespecial_mout(e) {
  if (!e) e = window.event;
  var hsel = evttarget(e);
  var elid = hsel.id;

  homespecial_paused = 0;
}

function homespecial_oninterval() {
  if (homespecial_paused) {
    return;
  }
  homespecial_phase += 1;
  if (homespecial_phase >= homespecial_src.length) {
    homespecial_phase = 0;
  }
  homespecial_changePhase(homespecial_phase);
}

function homespecial_onunload() {
  clearTimeout(homespecial_taskid);
}

function homespecial_onload() {
  var hsbase = document.getElementById('homespecial');
  if (hsbase) {
    hsbase.onmouseover = homespecial_mover;
    hsbase.onmouseout = homespecial_mout;
    homespecial_taskid = setInterval(homespecial_oninterval, homespecial_period);
    window.onunload = homespecial_onunload;
    homespecial_changePhase(homespecial_phase);
  } else {
    alert("No homespecial in the page.");
  }
}
window.onload = homespecial_onload;

