function makeDLclickable( className ) {
    els = document.getElementsByTagName("dl");
    
    // Loop over all definition lists
    for( var i = 0; i < els.length; i++ ) {
        dl = els[ i ];

        // Use only lists with the specified class name
        if( dl.className.indexOf( className ) >= 0 ) {
            dts = dl.getElementsByTagName( "dt" );
            for( var j = 0; j < dts.length; j++ ) {

                if( dts[ j ].attachEvent ){
                   dts[ j ].attachEvent('onclick', 'dd = findBelongingDD( this ); if( dd ) { swapElementByEl( dd ); }');
                } else {
                   dts[ j ].setAttribute('onclick', 'dd = findBelongingDD( this ); if( dd ) { swapElementByEl( dd ); }');
                }
            }
        }
    }
}

function findBelongingDD( dt_item ) {
    dttext = dt_item.childNodes[ 0 ].nodeValue

    dl = dt_item.parentNode;

    ret = false;
    for( var i = 0; i < dl.childNodes.length; i++ ) {
        if( dl.childNodes[ i ].nodeType == 1 ) {
            if( dl.childNodes[ i ].tagName.toLowerCase() == "dt" ) {
                if( dl.childNodes[ i ].childNodes[ 0 ].nodeValue == dttext ) {
                    ret = true;
                }
            }
    
            if( ret && dl.childNodes[ i ].tagName.toLowerCase() == "dd" ) {
                return dl.childNodes[ i ];
            }
        }
    }

    return false;
}
