function openpopup(e) {
    var evt=getStandardEvent(e);
    var aPopup=evt.target;
    while (!aPopup.className.match(/^nw/) && aPopup.parentNode) {
        // si on clique sur un lien classé nw contenant une image, c'est celle ci qui est considérée comme target de l'évènement !!?
        // donc on récupère la classe du lien parent de l image...
        aPopup = aPopup.parentNode;
    }
    var match, left, top;
    var properties='resizable=yes,scrollbars=yes';
    if (match=aPopup.className.match(/\s?w(\d+)\s?/)) {
        // largeur fixée par la classe wxxx
        properties+=',width='+match[1];
        left=(screen.width-match[1])/2;
    } else {
        left=screen.width/3;
    }
    
    if (match=aPopup.className.match(/\s?h(\d+)\s?/)) {
        // hauteur fixée par la classe hxxx
        properties+=',height='+match[1];
        top=(screen.height-match[1])/2;
    } else {
        top=screen.height/3;
    }
    properties+=',left='+left+',top='+top;
    var destination = aPopup.href 
                      ? aPopup.href 
                      : aPopup.src;
    
    var w=window.open(destination,'dummy',properties);
    w.focus(); // on passe au premier plan
    evt.preventDefault();// on stop la propagation de l'évènement
    return false;
}
function initPopup() {
    var popups = getElementsByClass('nw', $('content'));
    var popups_cnt = popups.length;
    for (var i=0; i < popups_cnt; i++) {
        var aPopup = popups[i];
        // on change le curseur...
        aPopup.style.cursor = 'pointer';
        addEvent(aPopup, 'click', openpopup);
        aPopup.onclick = function() {return false;}
    }
}
addEvent(window, 'load', initPopup);