var zoomfactor = 0.05; var maxsize; function zoomhelper(){ if ((parseInt(whatcache.style.width) > 10 && parseInt(whatcache.style.height) > 10) && (parseInt(whatcache.style.width) < maxsize && parseInt(whatcache.style.height) < maxsize)){ whatcache.style.width = parseInt(whatcache.style.width) + parseInt(whatcache.style.width) * zoomfactor * prefix + 'px'; whatcache.style.height = parseInt(whatcache.style.height) + parseInt(whatcache.style.height) * zoomfactor * prefix + 'px'; if (parseInt(whatcache.style.width) > maxsize){ whatcache.style.height = (parseInt(whatcache.style.height) * maxsize) / parseInt(whatcache.style.width) + 'px'; whatcache.style.width = maxsize + 'px'; } if (parseInt(whatcache.style.height) > maxsize){ whatcache.style.width = (parseInt(whatcache.style.width) * maxsize) / parseInt(whatcache.style.height) + 'px'; whatcache.style.height = maxsize + 'px'; } } else if (window.beginzoom) clearInterval(beginzoom); } function zoom(originalW, originalH, what, state, max_size){ if (!document.all && !document.getElementById) return; whatcache = document.getElementById(what); prefix = 1; //(state == "in") ? 1 : -1; if (max_size) maxsize = max_size; else maxsize = 300; //default if (whatcache.style.width == "" || state == "restore"){ whatcache.style.width = originalW + 'px'; whatcache.style.height = originalH + 'px'; if (state == "restore") return; } else{ zoomhelper(); } beginzoom = setInterval("zoomhelper()", 100); } function clearzoom(){ if (window.beginzoom) clearInterval(beginzoom); }