Ciao ragazzi. uso questo scriptino

Codice PHP:
<script type="text/javascript">
function 
init() {
  if (!
document.getElementById) return
  var 
imgOriginSrc;
  var 
imgTemp = new Array();
  var 
imgarr document.getElementsByTagName('img');
  for (var 
0imgarr.lengthi++) {
    if (
imgarr[i].getAttribute('hsrc')) {
        
imgTemp[i] = new Image();
        
imgTemp[i].src imgarr[i].getAttribute('hsrc');
        
imgarr[i].onmouseover = function() {
            
imgOriginSrc this.getAttribute('src');
            
this.setAttribute('src',this.getAttribute('hsrc'))
        }
        
imgarr[i].onmouseout = function() {
            
this.setAttribute('src',imgOriginSrc)
        }
    }
  }
}
onload=init;

</script> 
che richiamo con [img][/img] per cambiare l'immagine al mouseoiver.
solo che mi capita che qualche volta, con questa funzione, le immagini orginiali(e nn over) nn si caricano.
Ho provato usando preloadimgs ma mi succede lo stesso. come evito questo problema? fatemi sapere.ciaoo

preload
Codice PHP:
<script type="text/javascript">
//precaricamento imgs
var myimages=new Array()

function 
preloadimages(){
    for (
i=0;i<preloadimages.arguments.length;i++){
        
myimages[i] = new Image();
        
myimages[i].src preloadimages.arguments[i];
    }
}

preloadimages('http://www.esempio.com/immagini/immagine.jpg');
</script>