Uno como el de MV?
hlimit es el ancho máximo de la imagen:
var imgSizes = new Array();
function imgLimit(img) {
hlimit = 590;
imgSizes[img.id] = img.width;
if (img.width > hlimit) {
var ratio = img.height/img.width;
img.height = ratio*hlimit;
img.width = hlimit;
img.onclick = function (){imgResize(img);};
img.title = 'Click para ampliar';
img.style.cursor = 'pointer';
}
}
function imgResize(img) {
var ratio = img.height/img.width;
ow = imgSizes[img.id];
if (img.width == ow) {
img.width = 590;
img.title = 'Click para ampliar';
} else {
img.width = ow;
img.title = 'Click para reducir';
}
img.height= img.width*ratio;
}
Y en el onload del img:
... onload="imgLimit(this);" ...
no lo he probado, pero debe funcionar, es el de MV xD