
var Input = {
  initialize: function() {
    if(document.getElementsByTagName("form")) {
      var divs = document.getElementsByTagName("div");
      for(var i = 0; i < divs.length; i++) {
        if(divs[i].className.match("checkbox") || divs[i].className.match("checkbox ") || divs[i].className.match("radio")) {
          divs[i].onmousedown = Input.effect;
          divs[i].onmouseup = Input.handle;
          window.onmouseup = Input.clear;
        }
      }
    }
  },

  effect: function() {
    if(this.className == "checkbox" || this.className == "checkbox " || this.className == "radio") {
      this.style.backgroundPosition = "0 -26px";
    } else {
      this.style.backgroundPosition = "0 -79px";
    }
  },

  handle: function() {
    selector = this.getElementsByTagName("input")[0];
    if(this.className == "checkbox" || this.className == "checkbox ") {
      selector.checked = true;
      this.className = "checkbox selected";
      this.style.backgroundPosition = "0 -52px";
    } else if(this.className == "checkbox selected") {
      selector.checked = false;
      this.className = "checkbox";
      this.style.backgroundPosition = "0 0";
    } else {
      selector.checked = true;
      this.className = "radio selected";
      this.style.backgroundPosition = "0 -52px";
      inputs = document.getElementsByTagName("input");
      for(i = 0; i < inputs.length; i++) {
        if(inputs[i].getAttribute("name") == selector.getAttribute("name")) {
          if(inputs[i] != selector) {
            inputs[i].parentNode.className = "radio";
            inputs[i].parentNode.style.backgroundPosition = "0 0";
          }
        }
      }
    }
  },

  clear: function() {
    divs = document.getElementsByTagName("div");
    for(var i = 0; i < divs.length; i++) {
      if(divs[i].className == "checkbox" || divs[i].className == "checkbox " || divs[i].className == "radio") {
        divs[i].style.backgroundPosition = "0 0";
      } else if(divs[i].className == "checkbox selected" || divs[i].className == "radio selected") {
        divs[i].style.backgroundPosition = "0 -52px";
      }
    }
  }
}
window.onload = Input.initialize;
