
// create custom checkboxes and radiobuttons 
//http://ryanfait.com/articles/2007/01/05/custom-checkboxes-and-radio-buttons/


var Input = { 
  initialize: function() {
    var divs = $$($ES('form div.checkbox'),$ES('form div.radio'));
    
    divs.each ( function ( div ) {
        div.addEvent('mousedown',Input.effect);
        div.addEvent('mouseup',Input.handle);
    } );
    window.addEvent('mouseup',Input.clear);
    
    /*
    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("radio")) {
             
          divs[i].onmousedown = Input.effect; 
          divs[i].onmouseup = Input.handle; 
          window.onmouseup = Input.clear; 
        } 
      } 
    } 
    */
  }, 

  effect: function() { 
    if(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") { 
      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 == "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.addEvent ( 'load', Input.initialize );