function trouveimg()
{
 var imgs,i;
// Parcourons toutes les images, et trouvons celles qui comportent la classe 'roll'
 imgs=document.getElementsByTagName('img');
 for(i=0;i<imgs.length;i++)
 {
  if(/roll/.test(imgs[i].className))
  {
// ajoutons la fonction 'roll' à l'élément parent de cette image
  imgs[i].parentNode.onmouseover=function(){roll(this);};
  imgs[i].parentNode.onmouseout=function(){roll(this);};
  imgs[i].parentNode.onfocus=function(){roll(this);};
  imgs[i].parentNode.onblur=function(){roll(this);};
  }
 }
}

function roll(o)
{
 var i,isnode,src,ftype,newsrc,nownode;
// parcourons tous les enfants
 for (i=0;i<o.childNodes.length;i++)
 {
  nownode=o.childNodes[i];
// si le nœud est un élément et une image, fixons la variable et sortons de la boucle
  if(nownode.nodeType==1 && /img/i.test(nownode.nodeName))
  {
   isnode=i;
   break;
  }
 }
// vérifions le src et permutons le fichier source de l'image
 src = o.childNodes[isnode].src;
 ftype = src.substring(src.lastIndexOf('.'), src.length);
 if(/_hover/.test(src))
 {
  newsrc = src.replace('_hover','');
 }else{
  newsrc = src.replace(ftype, '_hover'+ftype);
 }
 o.childNodes[isnode].src=newsrc;
}

window.onload=function(){
 trouveimg();
}