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...