/* <![CDATA[ */
function addEvent(obj, evType, fn){
  if (obj.addEventListener) {
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent) {
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

var doLabels = {

  init: function() {
    if (!document.getElementsByTagName) return;

    var labels = document.getElementsByTagName('label');
    for (var i = 0; i < labels.length; i++) {
      var label = labels[i];
      if (label.className == 'showlabel') {
        var fieldid = label.htmlFor || label.getAttribute('for');
        var field = document.getElementById(fieldid);
        label.className = (field.value == '') ? 'showlabel' : 'hidelabel';
        field.onblur = doLabels.doShow;
        field.onfocus = doLabels.doMove;
      }
    }
    var fields = document.getElementsByTagName('input');
    for (var i = 0; i < fields.length; i++) {
      var field = fields[i];
      if (field.alt != '') {
        field.onclick = doLabels.doClick;
      }
    }
  },

  doClick: function(e) {
    var elem;
    if (!e) var e = window.event;
    if (e.target) elem = e.target;
    else if (e.srcElement) elem = e.srcElement;
    if (elem.nodeType == 3) elem = elem.parentNode; // defeat Safari bug
    document.getElementById(elem.alt).checked = true;
  },

  doMove: function(e) {
    var elem;
    if (!e) var e = window.event;
    if (e.target) elem = e.target;
    else if (e.srcElement) elem = e.srcElement;
    if (elem.nodeType == 3) elem = elem.parentNode; // defeat Safari bug
    var labelid = elem.getAttribute('id')+'_label';
    var label = document.getElementById(labelid);
    label.className = (elem.value == '') ? 'movelabel' : 'hidelabel';
  },

  doShow: function(e) {
    var elem;
    if (!e) var e = window.event;
    if (e.target) elem = e.target;
    else if (e.srcElement) elem = e.srcElement;
    if (elem.nodeType == 3) elem = elem.parentNode; // defeat Safari bug
    var labelid = elem.getAttribute('id')+'_label';
    var label = document.getElementById(labelid);
    label.className = (elem.value == '') ? 'showlabel' : 'hidelabel';
  }
}

addEvent(window, 'load', doLabels.init);

/* ]]> */