// JavaScript functions

window.onload = function(){
    checkURL();
    showQuickAccess('false');
    openExtLink();
}


function checkURL(){
    var url = window.document.URL.toString();
    /*
    if(url == "http://labweb03:10051/hefts/" || url == "http://labweb03:10051/hefts")
        window.location.replace("http://labweb03:10051/hefts/fr/accueil/contact");*/
}


function showQuickAccess(show){
    var listQuickAccess = document.getElementById('listQuickAccess');
    if(!listQuickAccess)
        return false;
    if(show == 'true')
        listQuickAccess.style.display = 'block';
    else if(show == 'false')
        listQuickAccess.style.display = 'none';
    return true;
}


function openExtLink(){
    var liens = document.getElementsByTagName('A');
    for(var i=0; i<liens.length; i++) {
        if(liens[i].className == 'extLink') {
            liens[i].onclick = function() {
                window.open(this.href);
                return false;
            };
        }
    }
}


function hideMenuDynNodes(nodes){
    for(var i=0; i<nodes.length; i++) {
        if(nodes[i].nodeName == "DIV") {
            nodes[i].style.display = "none";
            if(nodes[i].hasChildNodes)
                hideMenuDynNodes(nodes[i].childNodes);
        }
    }
}


function hideMenuDyn(){
    var div_root = document.getElementById("menuDyn");
    if(!div_root)
        return false;
    var nodes = div_root.childNodes;
    for(var i=0; i<nodes.length; i++) {
        if(nodes[i].nodeName == "DIV")
            hideMenuDynNodes(nodes[i].childNodes);
    }
    return true;
}


function showMenuDyn(link, uri){
    var nodes = link.parentNode.childNodes;
    for(var i=0; i<nodes.length; i++) {
        if(nodes[i].nodeName == "DIV") {
            if(nodes[i].style.display == "block"){
                nodes[i].style.display = "none";
            }else{
                nodes[i].style.display = "block";
            }
        }
    }
}

function colorizeListItems(uri, rootPath) {
	document.getElementById("content").style.listStyleImage = "url(/img/list_"+rootPath+"_square.png)";
}

function showMenuPath(pathLink, uri, arianeRoot, color, rootPath){
    var add = false;
    
    // in IE the element for the image is at position 0
    // and in all w3c compliant browsers its on position 1
    var imgNodeNb = -1;
    if (navigator.appName == "Microsoft Internet Explorer")
    	imgNodeNb = 0;
    else
    	imgNodeNb = 1;
 
    pathLink.style.color = color;
    pathLink.style.listStylePosition = "outside";
    pathLink.style.fontWeight = "bold"; 

    pathLink.childNodes[imgNodeNb].src = pathLink.childNodes[imgNodeNb].src.replace(/*menu*/"v_right",rootPath+"_square");
    //pathLink.childNodes[imgNodeNb].src = pathLink.childNodes[imgNodeNb].src.replace(/*menu*/"menu_v_right_small.png","list_"+rootPath+"_square.png");
    
    var changedLink = pathLink;
    while(pathLink.parentNode.className == "lev"){
    	// if its in a deeper level set the same for parent node
        pathLink = pathLink.parentNode;
        for(var i=0; i<pathLink.parentNode.childNodes.length; i++){
            var linkElt = pathLink.parentNode.childNodes[i];
            if(linkElt.nodeName == "A"){
                linkElt.style.color = color;
                linkElt.style.fontWeight = "bold";
                linkElt.childNodes[imgNodeNb].src = linkElt.childNodes[imgNodeNb].src.replace(/*menu*/"v_down.png",rootPath+"_square.png");
                changedLink.childNodes[imgNodeNb].src = changedLink.childNodes[imgNodeNb].src.replace("menu_"+rootPath+"_square.png", "list_"+rootPath+"_square.png");
            }
        }
    }
}


function setTarget(value){
    switch(value){
        case 0:
            document.filter.action='searchLDAP.jsp';
            document.filter.target='_self';
            document.filter.submit();
            break;
        case 1:
            document.filter.action='export/print.jsp';
            document.filter.target='_blank';
            document.filter.submit();
            break;
        case 2:
            document.filter.action='export/csv.jsp';
            document.filter.target='_blank';
            document.filter.submit();
            break;
        case 3:
            document.filter.action='export/phoneList.jsp';
            document.filter.target='_blank';
            document.filter.submit();
            break;
        case 4:
            document.filter.action='export/photoList.jsp';
            document.filter.target='_blank';
            document.filter.submit();
            break;
    }
}


function showItem(position){
    if(position != null || position != ""){
        var item = document.getElementById("additionalSearch"+position);
        var button = document.getElementById("additonalSearchIcon"+position);
        if(item.style.display == "none" || item.style.display == ""){
            item.style.display = "block";
            button.innerHTML = "<img src='img/minus.gif' alt='-'>";
        }
        else{
            item.style.display = "none";
            button.innerHTML = "<img src='img/plus.gif' alt='+'>";
        }
        LDAPsearch();
    }
}


function viewUnite(lang){
    var url = "presentOrg.jsp?lang="+lang+"&uid=";
    var unite = "";
    var check = false;
    if(document.annuaire.division!=null){
        for(j=0;j<document.annuaire.division.length;j++){
            if(document.annuaire.division.options[j].selected==true){
                unite = document.annuaire.division.options[j].value;
                check = true;
                break;
            }
        }
    }
    if(document.annuaire.departement!=null & unite==""){
        for(j=0;j<document.annuaire.departement.length;j++){
            if(document.annuaire.departement.options[j].selected==true){
                unite = document.annuaire.departement.options[j].value;
                check = true;
                break;
            }
        }
    }
    if(document.annuaire.organisation!=null & unite==""){
        for(j=0;j<document.annuaire.organisation.length;j++){
            if(document.annuaire.organisation.options[j].selected==true){
                unite = document.annuaire.organisation.options[j].value;
                check = true;
                break;
            }
        }
    }
    if(check)
        window.location=url+unite;
    else
        alert("Veuillez sélectionner une unité");
}


function subForm(type){
    var sel = false;
    for(j=0;j<document.annuaire.organisation.length;j++){
        if(document.annuaire.organisation.options[j].selected == true && document.annuaire.organisation.options[j].value == ""){
            document.annuaire.organisation.options[j].selected = false;
        }
        if(document.annuaire.organisation.options[j].selected == true && !(document.annuaire.organisation.options[j].value == "")){
            sel = true;
        }
    }
    if(type==1 && document.annuaire.departement){
        for(i=0;i<document.annuaire.departement.length;i++){
            if(document.annuaire.departement.options[i].selected==true){
                var selection = false;
                for(j=0;j<document.annuaire.organisation.length;j++){
                    if(document.annuaire.organisation.options[j].selected == true){
                        if(document.annuaire.departement.options[i].value.substring(0,4)==document.annuaire.organisation.options[j].value){
                            selection=true;
                        }
                    }
                }
                if(!selection) document.annuaire.departement.options[i].selected=false;
            }
        }
    }
    if(sel || document.annuaire.departement){
        document.annuaire.action="searchLDAPFull.jsp";
        document.annuaire.submit();
    }
}


function hideAdditionalSearch(){
    for (var i = 1; ; i++){
        var name = "additionalSearch" + i;
        var node = document.getElementById(name);
        if (!node)
            return;
        else
            node.style.display = "none";
    }
}


function toggleYears(){
    var node = document.getElementById("searchFullStudent");
    if (!node)
        return;
    if (!document.annuaire.etudiants.checked) {
        node.style.display = "none";
        for(j=0;j<document.annuaire.classe.options.length;j++){
            document.annuaire.classe.options[j].selected = false;
        }
    }
    else
        node.style.display = "block";
        
    LDAPsearch();
}


// partners
function hidePartners(){
    var node = document.getElementById("partners");
    if(!node)
        return;
    var nodes = node.getElementsByTagName("div");
    for(var i=0; i<nodes.length; i++)
        nodes[i].style.display = "none";
}

function showPartners(partnerId){
    var node = document.getElementById(partnerId);
    if(node){
        hidePartners();
        node.style.display = "block";
    }
}


// google search
function changeUrl(url, name){
    var node = document.getElementById("quickSearch");
    if (!node)
        return
    node.action = url;
    if (name == "q")
        node.method = "get";
    else
        node.method = "post";
    
    node = document.getElementById("inputSearchText");
    if (!node)
        return
    node.name = name;
}


function changeSearchEngine(id){
    var node = document.getElementById("cx");
    if (!node)
        return
    node.value = id;
}


function generate_address(firstNameAndName, domain){
    document.write("<a href=" + "&#109;" + "&#97;" + "&#105;" + "&#108;" + "&#116;" + "o:" + firstNameAndName + "@" + domain + ">" + firstNameAndName + "@" + domain + "</a>")
}

function roll_over(img_name, img_src)
{
    document[img_name].src = img_src;
}

