window.onload = function () {
    hideMenu();
    showSubMenu(document.getElementById('active'));
    showResalization(document.getElementById('menu'));
    setMenuLinks(document.getElementById('menuUP').childNodes);
    prepareLinks(document.getElementById('menu').childNodes);
    openExtLink();
    prepareForm();
};

/* Bricolage pour que le menu réalization soit toujours ouvert */
function showResalization(param) {
    var node = param.lastChild.firstChild.firstChild;
    if (node.innerHTML == 'Réalisations' && node.className != 'active')
        showSubMenu(node);
}

/* menu managment */
function hideMenuNodes(nodes) {
    for (var i = 1; i < nodes.length; i++) {
        if (nodes[i].nodeName == "DIV") {
            nodes[i].style.display = "none";
            if (nodes[i].hasChildNodes)
                hideMenuNodes(nodes[i].childNodes);
        }
    }
}

function hideMenu() {
    var div_root = document.getElementById("menu");
    if(!div_root)
        return false;
    var nodes = div_root.childNodes;
    for (var i = 0; i < nodes.length; i++)
        if (nodes[i].nodeName == "DIV")
            hideMenuNodes(nodes[i].childNodes);

    return true;
}

function showSubMenu(link) {
    var nodes = link.parentNode.parentNode.childNodes;
    if (!nodes)
    	return;
    
    for (var i = 1; i < nodes.length; i++)
        if (nodes[i].nodeName == "DIV")
            if (nodes[i].style.display == "none")
                nodes[i].style.display = "block";
            else
                nodes[i].style.display = "none";
    var open = document.getElementById('open');
    if (open) {
        open.setAttribute('id','');
        showSubMenu(open.parentNode);
    }
}

function prepareLinks(nodes) {
    for (var i = 0; i < nodes.length; i++) {
        if (nodes[i].nodeName == 'A' && nodes[i].href.charAt(nodes[i].href.length - 1) == "#") {
            nodes[i].onclick = function() {
                showSubMenu(this);
                return false;
            };
        }
        if (nodes[i].hasChildNodes)
            prepareLinks(nodes[i].childNodes);
    }
}

function setMenuLinks(nodes) {
    if (!nodes)
        return;

    for (var i = 0; i < nodes.length; i++) {
        if (nodes[i].nodeName == 'A') {
            if (nodes[i].type == 'jsAlt') {
                nodes[i].parentNode.onmouseover = function() {  // sets the onclick on the parent so that the entire box is clickable
                    window.status = this.firstChild.href;  // changes active tab
                    return false;
                };
                nodes[i].parentNode.onclick = function() {  // sets the onclick on the parent so that the entire box is clickable
                    window.location = this.firstChild.href;  // changes active tab
                    return false;
                };
            }
        }
        if (nodes[i].hasChildNodes)
            setMenuLinks(nodes[i].childNodes);
    }
}


/* external links */
function openExtLink() {
    var links = document.getElementsByTagName('A');
    for (var i = 0; i < links.length; i++) {
        if (links[i].type == 'extLink') {
            links[i].onclick = function() {
                window.open(this.href);
                return false;
            };
        }
    }
}


/* form managment */
function prepareForm() {
    if (!document.forms[0])
        return;

    document.forms[0].onsubmit = function() {
        return checkData();
    };
}

function checkData() {
    return true;
}


/* Scrolling images */
function startSlideShow(images, node, speed) {
    imgPath = images;
    scroll(images, 0, node, speed);
}

function scroll(images, i, node, speed) {
    if (i > images.length - 1)
        i = 0;

    document.getElementById(node).src = images[i++];
    setTimeout(function(){scroll(images, i, node, speed);}, speed);
}
