Объясните, пожалуйста, что означают в данном скрипте свойства heightOK и widthOK, а также откуда javascript знает, что duration - это скорость изменения картинки в миллисекундах (если в коде нигде это не расшифровано):
<script type='text/JavaScript'>
function func(name,width,height,duration,type){
var img=document.images.im, heightOk=0, widthOk=0;
if(type==true){
if ((h<height)&&(w<width)){
if(img.height<height)img.height++;
else heightOk=1;
if(img.width<width) img.width++;
else widthOk=1;
}
if ((h>height)&&(w>width)){
if(img.height>height)img.height--;
else heightOk=1;
if(img.width>width)img.width--;
else widthOk=1;
}
if ((h>height)&&(w<width)){
if(img.height>height)img.height--;
else heightOk=1;
if(img.width<width) img.width++;
else widthOk=1;
}
if ((h<height)&&(w>width)){
if(img.height<height)img.height++;
else heightOk=1;
if(img.width>width) img.width--;
else widthOk=1;
}
if(heightOk+widthOk==2) setTimeout(func,duration,name,width,height,duration,false);
else setTimeout(func,duration,name,width,height,duration,true);
}
else if(type==false) {
if ((h<height)&&(w<width)){
if(img.height>h)img.height--;
else heightOk=1;
if(img.width>w)img.width--;
else widthOk=1;
}
if ((h>height)&&(w>width)){
if(img.height<h)img.height++;
else heightOk=1;
if(img.width<w)img.width++;
else widthOk=1;
}
if ((h>height)&&(w<width)){
if(img.height<h)img.height++;
else heightOk=1;
if(img.width>w)img.width--;
else widthOk=1;
}
if ((h<height)&&(w>width)){
if(img.height>h)img.height--;
else heightOk=1;
if(img.width<w)img.width++;
else widthOk=1;
}
if(heightOk+widthOk!=2) setTimeout(func,duration,name,width,height,duration,false);
else setTimeout(func,duration,name,width,height,duration,true);
}
}
var h = document.images.im.height;
var w = document.images.im.width;
var width = Number(prompt("Ведите максимальную ширину"));
var height = Number(prompt("Ведите максимальную высоту"));
var duration = Number(prompt("Ведите milliseconds"));
func('i', width, height, duration, true);
</script>