Gravatar preview

HTML

<div id="wrapper">
    <div>
    <img id="image" src="http://www.gravatar.com/avatar/00000000000000000000000000000000" alt="Get a gravatar" />
    </div>
    <div>
        <label for="text">Enter your gravatar email address</label> <input type="email" value="" maxlength="30" size="30" id="text" placeholder="enter an email address" /> <input type="button" id="button" value="submit" />
    </div>
</div>

CSS

#wrapper {
    margin:20px auto;
    width:400px;
}
#image {
    padding:5px;
    background:#eee;
}
input[type="email"] {padding:5px;}

JavaScript

$("#button").click(function() {
            var gurl = "http://www.gravatar.com/avatar/";
            var email = $('#text').val();
            var dgrav ="00000000000000000000000000000000";
            var settings = "?d=wavatar&f=y"
            if(email !="") {
                $('#image').attr('src', gurl + MD5(email) + settings);
            } else {
                $('#image').attr('src', gurl + MDdgrav + settings);
            }
        });

/**
*
*  MD5 (Message-Digest Algorithm)
*  http://www.webtoolkit.info/
*
**/
 
var MD5 = function (string) {
 
    function RotateLeft(lValue, iShiftBits) {
        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
    }
 
    function AddUnsigned(lX,lY) {
        var lX4,lY4,lX8,lY8,lResult;
        lX8 = (lX & 0x80000000);
        lY8 = (lY & 0x80000000);
        lX4 = (lX & 0x40000000);
        lY4 = (lY & 0x40000000);
        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
        if (lX4 & lY4) {
            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
        }
        if (lX4 | lY4) {
            if (lResult & 0x40000000) {
                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
            } else {
                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
            }
        } else {
            return (lResult ^ lX8 ^ lY8);
        }
     }
 
     function F(x,y,z) { return (x & y) | ((~x) & z); }
     function G(x,y,z) { return (x & z) | (y & (~z)); }
     function H(x,y,z) { return (x ^ y ^ z); }
    function I(x,y,z) { return (y ^ (x | (~z))); }
 
    function FF(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };
 
    function GG(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
        return AddUnsigned(RotateLeft(a, s), b);
    };
 
    function HH(a,b,c,d,x,s,ac) {
        a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
        return...