var buts = [];
var items = []; // Убираем лишнее
var openItems = 0; // Будем считать общее количество открытых блоков

var image = new Image(); image.src = '/i/support/faq/but_fold.png';

function toggleBut() {
    var length = items.length;

    // Показываем или прячем кнопки «Свернуть все» и «Развернуть все»
    if (openItems == 0) {
        buts['fold-top'].style.display = buts['fold-bottom'].style.display = "none";
        buts['fold-top'].visible = buts['fold-bottom'].visible = false;
        if (!buts['expand-top'].visible) {
            buts['expand-top'].style.display = buts['expand-bottom'].style.display = "inline";
            buts['expand-top'].visible = buts['expand-bottom'].visible = true;
        }
    }
    else if (openItems == length) {
        buts['expand-top'].style.display = buts['expand-bottom'].style.display = "none";
        buts['expand-top'].visible = buts['expand-bottom'].visible = false;
        if (!buts['fold-top'].visible) {
            buts['fold-top'].style.display = buts['fold-bottom'].style.display = "inline";
            buts['fold-top'].visible = buts['fold-bottom'].visible = true;
        }
    }
    else {
        if (!buts['fold-top'].visible) {
            buts['fold-top'].style.display = buts['fold-bottom'].style.display = "inline";
            buts['fold-top'].visible = buts['fold-bottom'].visible = true;
        }
        if (!buts['expand-top'].visible) {
            buts['expand-top'].style.display = buts['expand-bottom'].style.display = "inline";
            buts['expand-top'].visible = buts['expand-bottom'].visible = true;
        }
    }
}

function expand_answer(obj) {
    var item = obj.parentNode.parentNode.parentNode;
    if(!items.length) initilizate();
    if (item.open) {
        item.className = '';
        item.open = false;
        toggleBut(--openItems);
    }
    else {
        item.className = 'open';
        item.open = true;
        toggleBut(++openItems);
    }
    
    add_answer(item);
    
    return false;
}

function fold_answer(obj) {
    var item = obj.parentNode.parentNode.parentNode.parentNode;
    if(!items.length) initilizate();
    if (item.open) {
        item.className = '';
        item.open = false;
        toggleBut(--openItems);
    }
    return false;
}


// Сворачиваем все
function fold_but() {
    if(!items.length) initilizate();
    for (var i = 0; i < items.length; i++) {
        if (items[i].open) {
            items[i].className = '';
            items[i].open = false;
            toggleBut(--openItems);
        }
    }
    return false;
}

// Разворачиваем все
function expand_but() {
    if(!items.length) initilizate();
    for (var i = 0; i < items.length; i++) {
        if (!items[i].open) {
            items[i].className = 'open';
            items[i].open = true;
            toggleBut(++openItems);
            
            add_answer(items[i]);
        }
    }
    return false;
}

function add_answer(item) {
    var ans = document.getElementById(item.id + '_answer');
    if (!ans) item.getElementsByTagName('div')[0].innerHTML += //
        '<div class="answer" id="' + item.id + '_answer">' + hItems[item.id] + '</div>';
}

function initilizate() {
    var butsTop = document.getElementById('buts-top');
    var butsBottom = document.getElementById('buts-bottom');

    buts['fold-top'] = butsTop.getElementsByTagName('a')[0];
    buts['fold-bottom'] = butsBottom.getElementsByTagName('a')[0];
    buts['expand-top'] = butsTop.getElementsByTagName('a')[1];
    buts['expand-bottom'] = butsBottom.getElementsByTagName('a')[1];

    var pre_items = document.getElementById('qna').childNodes;
    for (var j = 0, i = 0; j < pre_items.length; j++) {
        if (pre_items[j].tagName == 'LI') items[i++] = pre_items[j];
    }
    
    for (var i = 0; i < items.length; i++) {
        if (items[i].className == 'open') {
            items[i].open = true;
            openItems++;
        }
    }
}
