/**
 * Private function; do not call.
 */
function toggleRollover() {
    var temp = this.src;
    this.src = this.getAttribute("rollover");
    this.setAttribute("rollover", temp);
}

/**
 * Initialises roll-overs for all child images of the specified parent.
 * 1. Each image with a roll-over must have a class attribute containing the class "rollover".
 * 2. Each roll-over image at "/path/filename.ext" must have a corresponding image
 *    at "/path/filename_rollover.ext".
 * 3. Event handlers for the onmouseover and onmouseout events are added.
 * 4. An attribute, named "rollover", is added to the img elements.
 * @param parent The element that is a parent of the roll-over images.
 */
function initialiseRollovers(parent) {

    var images, image, i, n, src, period, rollover;

    images = parent.getElementsByTagName("img");

    for (i = 0, n = images.length; i < n; i++) {

        image = images.item(i);

        if (image.className.toLowerCase().indexOf("rollover") !== -1) {

            src      = image.src;
            period   = src.lastIndexOf(".");
            rollover = src.substring(0, period) + "_rollover" + src.substring(period, src.length);

            image.setAttribute("rollover", rollover);

            image.onmouseover = toggleRollover;
            image.onmouseout  = toggleRollover;
        }
    }
}
