Implement String.prototype.toLowerCase() Implement String.prototype.toLowerCase()

Description

The toLowerCase method returns the value of the string converted to lowercase. toLowerCase does not affect the value of the string itself.

Conditions
Let count chars inside function and ignore all bootstrap code:

String.prototype.toLowerCase = function(){
  // code that count here
}


Other languages are welcome but JavaScript implemantation is target of this question. Let's just focus on ASCII charachters . 

Example input and output: 

"sOmeText".toLowerCase(); =&gt; "sometext"


Example implementation: 

String.prototype.toLowerCase = function(){
  return this.split('').map(function(c){
     var cc = c.charCodeAt(0);
     if (cc &gt; 64 &amp;&amp; cc &lt; 91) {
        return String.fromCharCode(cc + 32);
     }
     return c;
  }).join('');
}
Javascript 70 68

Building from @grc's answer:

for(s=i='';c=this[i++];s+=(parseInt(c,36)||c).toString(36));return s


Convert character to integer then back (works since Number.toString(36) will always be lowercase)

Test case: http://jsfiddle.net/Vh2TW/2/

input:

console.log('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~`-=_+{}[]:;\\\'\"&lt;&gt;,.?/!@#$%^&amp;*()abcdefghijklmnopqrstuvwxyz'.toLowerCase())


output:

abcdefghijklmnopqrstuvwxyz1234567890~`-=_+{}[]:;\'"&lt;&gt;,.?/!@#$%^&amp;*()abcdefghijklmnopqrstuvwxyz 


Update: -2 characters, thanks @copy