// JavaScript Document
// 断念
function fadeIn(id, color) {

    // オブジェクトの取得
    var obj = document.getElementById(id);

    // フォント色背景色を待避
    var clone = obj.cloneNode();

    // オブジェクトの色を初期化
    obj.style.color = color;
    obj.style.backgroundColor = color;

    // 要素の色設定
    setFadeColor(obj, color);

    // 色の初期化
    function setFadeColor(obj, color) {

        // 色の設定
        try {
            obj.style.color = color;
            obj.style.backgroundColor = color;
        } catch(e) {
        }

        // 子要素を取得
        var node = obj.childNodes;

        // 判定
        if (node == null) {

            return;
        }

        // 子要素の設定
        for(var i=0; i<node.length; i++) {

            // 色の設定
            setFadeColor(node[i], color);
        }
    }
}

function fadeOut() {
}

// ノード非表示処理
function hiddenFadeGroup() {

    // 全オブジェクトを取得
    var root = document.getElementById("root");

    // 子ノードを取得
    var node = root.childNodes;

    // 繰り返し設定
    for(var i=0; i<node.length; i++) {

        // 要素非表示
        hiddenFadeUnit(node[i]);
    }
}

// ノードの非表示処理
function hiddenFadeUnit(obj) {

    // 子要素を取得
    var node = obj.childNodes;

    // 判定
    if (obj.tagName == null) {

        return;
    }

    // フェード判定
    if (obj.getAttribute("fade") == "1") {

        // 非表示に設定
        obj.style.display = "none";
    }

    // 処理終了判定
    if (node == null) {
        return;
    }

    // 子要素分すべてを非表示に設定
    for(var i=0; i<node.length; i++) {

        hiddenFadeUnit(node[i]);
    }
}

// ノードの表示処理
function viewFadeUnit(id) {

    // 全要素をいったん非表示にする
    hiddenFadeGroup();

    // オブジェクトの取得
    var obj = document.getElementById(id);

    // 親要素の確認
    var pat = obj.parentNode;

    // 判定
    if (pat == null) {

        // 処理抜け
        return;
    }

    // 表示判定
    if (pat.getAttribute("fade") == "1") {

        // 表示処理
        viewFadeUnit(pat.id);
    }

    // 表示処理
    obj.style.display = "";
}
