function swapDescription(link, fullDescriptionId, synopsisId) {
    var descr = document.getElementById(fullDescriptionId);
    var synop = document.getElementById(synopsisId);
    if (!descr || !synop)
        return;
    var dDisplay = getStyle(descr, 'display');
    var sDisplay = getStyle(synop, 'display');
    descr.style.display = sDisplay;
    synop.style.display = dDisplay;
    var text = (dDisplay == 'none') ? ['show', 'hide'] : ['hide', 'show'];
    link.firstChild.data = link.firstChild.data.replace(text[0], text[1]);
}

function swapShipPreview(link, fullDescriptionId, synopsisId) {
    var descr = document.getElementById(fullDescriptionId);
    var synop = document.getElementById(synopsisId);
    if (!descr || !synop)
        return;
    var dDisplay = getStyle(descr, 'display');
    var sDisplay = getStyle(synop, 'display');
    descr.style.display = sDisplay;
    synop.style.display = dDisplay;
    var text = (dDisplay == 'none') ? ['Show', 'Hide'] : ['Hide', 'Show'];
    link.firstChild.data = link.firstChild.data.replace(text[0], text[1]);
}

function getStyle(obj, prop) {
    var style = obj.style[prop];
    if (!style) {
        if (obj.currentStyle) {
            style = obj.currentStyle[prop];
        } else if (document.defaultView &&
                   document.defaultView.getComputedStyle &&
                   document.defaultView.getComputedStyle(obj, ''))
        {
            style = document.defaultView.getComputedStyle(obj, '').getPropertyValue(prop);
        }
    }
    return style;
}