var closeButtonValue = 'このボタンでとじる';
var openButtonValue = 'このボタンでひらく';

var visibleNodeClass = 'visibleNodeStyle';
var invisibleNodeClass = 'invisibleNodeStyle';

function allHid(mode) {
    for (var i = 0; i < 30; i++) {
        var targetElement = getElement('nomSpan_' + i);
        if (targetElement != null) {
            hidMode(i, mode);
        }
    }
}

function getElement(elementName) {
    var targetElement = document.getElementById(elementName);
    return targetElement;
}

function hid(index) {
    var nomSpanName = 'nomSpan_' + index;
    var hidButtonName = 'hidButton_' + index;
    
    var nomSpan = getElement(nomSpanName);
    var hidButton = getElement(hidButtonName);
    
    var mode = (nomSpan.className == invisibleNodeClass);
    
    hidElem(nomSpan, hidButton, mode);
}

function hidMode(index, mode) {
    var nomSpanName = 'nomSpan_' + index;
    var hidButtonName = 'hidButton_' + index;
    
    var nomSpan = getElement(nomSpanName);
    var hidButton = getElement(hidButtonName);
    
    hidElem(nomSpan, hidButton, mode);
}

function hidElem(nomSpan, hidButton, mode) {
    if (mode) {
        nomSpan.className = visibleNodeClass;
        hidButton.value = closeButtonValue;
    } else {
        nomSpan.className = invisibleNodeClass;
        hidButton.value = openButtonValue;
    }
}

function hidImages(mode) {
    var images = document.getElementsByTagName('img');
    var imageNum = images.length;
    for (var i = 0; i < imageNum; i++) {
        var im = images[i];
        if (im.name.indexOf('img/') == -1) {
            continue;
        }
        if (mode) {
            im.src = im.name;
            im.className = visibleNodeClass;
        } else {
            im.className = invisibleNodeClass;
        }
    }

    var headers = document.getElementsByTagName('td');
    var headerNum = headers.length;
    for (var i = 0; i < headerNum; i++) {
        var hd = headers[i];
        if (hd.width != 122 && hd.width != 62) {
            continue;
        }
        if (mode) {
            hd.width = 122;
        } else {
            hd.width = 62;
        }
    }
}

function init() {
    var parentLocation = parent.location;
    var searchParam = parentLocation.search;
    if (searchParam.length == 0) {
        searchParam = location.search;
    }

    hidImages(searchParam.indexOf('imgoff') == -1);

    if (searchParam.indexOf('hide') != -1) {
        allHid(false);
    }

    if (searchParam.indexOf('show') != -1) {
        allHid(true);
    }
}

function initMenu() {
    var parentLocation = parent.location;
    var searchParam = parentLocation.search;
    if (searchParam.length == 0) {
        searchParam = location.search;
    }

    if (searchParam.length != 0) {
        var links = document.links;
        var linkNum = links.length;
        for (var i = 0; i < linkNum; i++) {
            var alink = links[i];
            alink.href += '?' + searchParam;
        }
    } 

//    var tables = document.getElementsByTagName('table');
//    var tableNum = tables.length;
//    for (var i = 0; i < tableNum; i++) {
//        var im = tables[i];
//        if (im.width == '100%') {
//            im.className = invisibleNodeClass;
//        }
//    }
}

function initTop() {
    var thisLocation = document.location;
    var searchParam = thisLocation.search;
    if (searchParam.length == 0) {
        searchParam = location.search;
    }

    if (searchParam.length != 0) {
        var links = document.links;
        var linkNum = links.length;
        for (var i = 0; i < linkNum; i++) {
            var alink = links[i];
            alink.href += '?' + searchParam;
        }
    } 
}