var activated = '';
var openBoxes = new Array();

function openBox(id) {

    document.getElementById(id).style.display = 'block';
    activated = id;

    var isInArray = false;
    for (var i=0; i < openBoxes.length; i++) {
        if (openBoxes[i] == id) {
            isInArray = true;
            break;
        }
    }

    if (!isInArray || openBoxes.length === 0) {
        openBoxes.push(id);
    }
}

function closeBoxes() {

    if (openBoxes.length === 0) {
        return;
    }

    var allClosed = true;
    for(var i=0;i<openBoxes.length;i++) {
        if( document.getElementById(openBoxes[i]).style.display != 'none' ) {
            allClosed = false;
            break;
        }
    }

    if(!allClosed) {

        if (openBoxes.length === 1 && openBoxes[0] === activated) {
            document.getElementById(openBoxes[0]).style.display = 'none';
            openBoxes.splice(0, 1);
        }
    }
}

if (document.addEventListener) {
    document.body.addEventListener('click', closeBoxes, false);
} else {
    document.body.attachEvent('onclick', closeBoxes);
}