// JavaScript functions


window.onload = function(){
    checkURL();
    showQuickAccess('false');
    openExtLink();
}


function checkURL(){
    var url = window.document.URL.toString();
    if(url == "http://www.hta-fr.ch/")
        window.location.replace("http://www.hta-fr.ch/de/");
    else if(url == "http://www.eif.ch/")
        window.location.replace("https://www.eia-fr.ch/");
}


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";
                link.style.listStyleImage = "url('" + uri + "img/menu_arrow_close.gif')";
            }else{
                nodes[i].style.display = "block";
                link.style.listStyleImage = "url('" + uri + "img/menu_arrow_open.gif')";
            }
        }
    }
}


function showMenuPath(pathLink, uri, arianeRoot){
    var add = false;
    var rootPath = pathLink.firstChild.nodeValue;
    var arianePath = rootPath;
    pathLink.style.color = "#069";
    while(pathLink.parentNode.className == "lev"){
        add = true;
        showMenuDyn(pathLink.parentNode, uri);
        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 = "#069";
                linkElt.style.listStyleImage = "url('" + uri + "img/menu_arrow_open.gif')";
                arianePath = linkElt.firstChild.nodeValue + " > " + arianePath;
            }
        }
    }
    var spanAriane = document.getElementById("arianeTxt");
    //document.title += " :: " + arianeRoot;
    spanAriane.firstChild.nodeValue = arianeRoot;
    if(add){
        //document.title += " > " + arianePath;
        spanAriane.firstChild.nodeValue += " > " + arianePath;
    }
}


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='+'>";
        }
    }
}


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.orgRequestMethode.length;j++){
        if(document.annuaire.orgRequestMethode.options[j].selected == true && document.annuaire.orgRequestMethode.options[j].value == ""){
            document.annuaire.orgRequestMethode.options[j].selected = false;
        }
        if(document.annuaire.orgRequestMethode.options[j].selected == true && !(document.annuaire.orgRequestMethode.options[j].value == "")){
            sel = true;
        }
    }
    
    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();
    }
}

document.getElementsByReg=function(tag,attr,reg,mod,val){
    var tabReg=new Array();
    var tabElts=document.body.getElementsByTagName(tag);
    var TEL=tabElts.length;
     
    if(!(reg instanceof RegExp)){
        
           if(reg.indexOf("*")>-1){
                    reg=reg.replace(/\*/g,'.+');
                    reg=new RegExp(reg);
                    }
            else {return    tabReg;
                   }    
            }
                    
    i=0;
    while(tabElts[i]){
            if(tabElts[i][attr]){
                 if(reg.test(tabElts[i][attr])){
                 tabReg.push(tabElts[i]);}
                 }
                 reg.test("");
        i++;         
        }
    return tabReg;
}


function hideAdditionalSearch(){
    mon_array = document.getElementsByReg('div','id','additionalSearch*');
    var i = mon_array.length;
    while(i){
        i--;
        
        var name = "additionalSearch" + i;
        var node =  mon_array[i];
        if (!node)
            return;
        else
            node.style.display = "none";
    }
}


function toggleYears(){
    var node = document.getElementById("searchFullStudent");
    if (!node)
        return;
    if (node.style.display == "block")
        node.style.display = "none";
    else
        node.style.display = "block";
}


// 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 subFormAcad(type){
    var i = type + 1;
    var objAcad = document.getElementsByName("objAcad_" + i);
    while(objAcad && objAcad[0]){
      objAcad[0].options[0].selected=true;
      i++;
      objAcad = document.getElementsByName("objAcad_" + i);
    }
    
    document.annuaire.action="searchLDAPFull.jsp";
    document.annuaire.submit();	 
}
