title: Javascript String Compare == sometimes fails
body: <p>How could the following code sometimes evaluate to false?</p>
  
  <pre><code>(transport.responseText == '1' || 
   transport.responseText == 'CARD_VALID')
  </code></pre>
  
  <p>My JavaScript code:</p>
  
  <pre><code>if (transport.responseText == '1' || 
      transport.responseText == 'CARD_VALID') {
      // do something.
  }
  else if (transport.responseText == 'CARD_INVALID' || 
               transport.responseText == 'INVALID_CHECKSUM') {
      // do something else....
  }
  else {
      new Ajax.Request('/report_error.php?responseText='+transport.responseText);
      // report error to user
  }
  </code></pre>
  
  <p>What could cause JavaScript string compare <code>==</code> to return false when the strings are identical?</p>