// JavaScript Document

    var smooth_timer;
    // id: id attribute on div that you want to expand
    // stepH: (step height) that you pass much be divisible by the targetH (target height) or this function will not work!!
    // curH: (current height) should start at 0 (don't use px)
    // targetH: (target height) this example uses 300 (we want to expand from 0px to 300px)
    // mode: can only be set to "o" (lower case o)... mode just lets the function know if it should keep going
    function smoothHeight(id, curH, targetH, stepH, mode) {
    diff = targetH - curH;
    if (diff != 0) {
    //set the new height... this will be the current height +/- the number of pixels you pass as "stepH"
    newH = (diff > 0) ? curH + stepH : curH - stepH;
    //add the new height to your current height
    ((document.getElementById) ? document.getElementById(id) : eval("document.all['" + id + "']")).style.height = newH + "px";
    if (smooth_timer) window.clearTimeout(smooth_timer);
    //run smoothHeight() again after 10 milliseconds, passing our new height as the current height
    smooth_timer = window.setTimeout( "smoothHeight('" + id + "'," + newH + "," + targetH + "," + stepH + ",'" + mode + "')", 10 );
    }
    else if (mode != "o") ((document.getElementById) ? document.getElementById(mode) : eval("document.all['" + mode + "']")).style.display="none";
    }