title: Fire an event on input.checked=true/false _without_ jQuery
body: <p>Consider the following code (<a href="http://jsfiddle.net/FW36F/1/">http://jsfiddle.net/FW36F/1/</a>):</p>
  
  <pre><code>&lt;input type="checkbox" onchange="alert(this.checked)"&gt;
  &lt;button onclick="document.getElementsByTagName('input')[0].checked=!document.getElementsByTagName('input')[0].checked;"&gt;toggle&lt;/button&gt;
  </code></pre>
  
  <p>If you click the checkbox, you get an alert telling you if it's checked or not.  Great.  However, if you click the toggle button, the checkbox changes it's checked state but the onchange event is NOT fired.  </p>
  
  <p>Essentially, the onchange for a checkbox only fires if the user actually clicks the checkbox, <em>not</em> if the checkbox is changed via JavaScript.  This is be true in IE, FF, and Chrome.  It appears that this behavior is to specification also.</p>
  
  <p>However, I really need some kind of event to fire if, for any reason, the checkbox's checked state changes.  Is this possible?</p>
  
  <p>Oh yeah, and <strong>jQuery is not allowed</strong>.  And please no setTimeout/setInterval based solutions either...</p>
  
  <p><strong>Update:</strong> Also, I should make it clear that the code above is for illustration only.  In the real code, we need to ensure the state of the checkbox is checked or unchecked -- not just toggle it.  Perhaps this would be better code to illustrate that:</p>
  
  <pre><code>&lt;input type="checkbox" onchange="alert(this.checked)"&gt;
  &lt;button onclick="document.getElementsByTagName('input')[0].checked=true;"&gt;check&lt;/button&gt; 
  &lt;button onclick="document.getElementsByTagName('input')[0].checked=false;"&gt;un check&lt;/button&gt;
  </code></pre>
  
  <p>Moreover, there may be code in other areas we don't fully control, which might do a simple .checked=true/false -- we'd like to make sure we see that also.</p>