/*
 Fonctions à usages multiples
 */

//Ouvre une fenêtre avec le formulaire et la hauteur désirés
function ouvrefenetre(formulaire, hauteur) {
    ouvrefenetre2(formulaire, hauteur, 'Ajout');
}

//Ouvre une fenêtre avec le formulaire et la hauteur désirés
function ouvrefenetre2(formulaire, hauteur, nom) {
    window.open(formulaire, target = nom, 'width=1220,menubar=1,left=100,top=100,scrollbars=1,height=' + hauteur + '');
}

//Supprime un élément de la chaîne
function remove(s, t) {
    /*
     **  Remove all occurrences of a token in a string
     **    s  string to be processed
     **    t  token to be removed
     **  returns new string
     */
    var i = s.indexOf(t);
    var r = "";
    if (i === -1)
        return s;
    r += s.substring(0, i) + remove(s.substring(i + t.length), t);
    return r;
}

//Crée une date à partir d'une chaîne prédéterminée.
function creerDate(ValeurDate) {
    var pjour;
    var pmois;
    var pannee;
    var pEjour;
    var pEmois;
    var pEannee;

    pannee = ValeurDate.substring(0, 4);
    pmois = ValeurDate.substring(5, 7);
    pjour = ValeurDate.substring(8, 10);

    pEjour = parseInt(pjour, 10);
    pEmois = parseInt(pmois, 10);
    pEannee = parseInt(pannee, 10);
    pEmois = pEmois - 1;
    return new Date(pEannee, pEmois, pEjour);
}

//Obtient toutes les valeurs d'un formulaire
function obtientValeurs(obj) {
    var getstr = "&";
    if (obj.getElementsByTagName("input").length > 0) {
        for (i = 0; i < obj.getElementsByTagName("input").length; i++) {
            if (obj.getElementsByTagName("input")[i].type === "text") {
                if (obj.getElementsByTagName("input")[i].value !== "") {
                    getstr += obj.getElementsByTagName("input")[i].name + "=" +
                            obj.getElementsByTagName("input")[i].value + "&";
                }
            } else if (obj.getElementsByTagName("input")[i].type === "checkbox") {
                if (obj.getElementsByTagName("input")[i].checked) {
                    getstr += obj.getElementsByTagName("input")[i].name + "=" +
                            obj.getElementsByTagName("input")[i].value + "&";
                }
            } else if (obj.getElementsByTagName("input")[i].type === "radio") {
                if (obj.getElementsByTagName("input")[i].checked) {
                    getstr += obj.getElementsByTagName("input")[i].name + "=" +
                            obj.getElementsByTagName("input")[i].value + "&";
                }
            } else if (obj.getElementsByTagName("input")[i].type === "hidden") {
                getstr += obj.getElementsByTagName("input")[i].name + "=" +
                        obj.getElementsByTagName("input")[i].value + "&";
            }
        }
    }
    if (obj.getElementsByTagName("select").length > 0) {
        for (i = 0; i < obj.getElementsByTagName("select").length; i++) {
            var sel = obj.getElementsByTagName("select")[i];
            var attr = sel.getAttribute("multiple");
            if (sel.selectedIndex > 0 && (attr === false || attr === null)) {
                getstr += sel.name + "=";
                for (var j = 0; j < sel.options.length; j++) {
                    if (sel.options[j].selected) {
                        getstr += sel.options[j].value + ",";
                    }
                }
                getstr += "&";
            } else if (attr) {
                var temp = "";
                var premier = true;
                for (j = 0; j < sel.options.length; j++) {
                    if (sel.options[j].selected) {
                        if (premier) {
                            temp = sel.name + "=" + sel.options[j].value + ",";
                            premier = false;
                        } else
                            temp += sel.options[j].value + ",";
                    }
                }
                getstr += temp + "&";
            }
        }
    }
    return getstr;
}

// Retourne la valeur d'un bouton radio
// Vide si aucun bouton radio ou
// aucun sélectionné.
function getCheckedValue(radioObj) {
    if (!radioObj)
        return "";
    var radioLength = radioObj.length;
    if (radioLength === undefined)
        if (radioObj.checked)
            return radioObj.value;
        else
            return "";
    for (var i = 0; i < radioLength; i++) {
        if (radioObj[i].checked) {
            return radioObj[i].value;
        }
    }
    return "";
}

function selectedC(id, choice, choice2) {
    var cible2 = document.getElementById('lreference');
    cible2.value = choice2;
    var cible3;
    if (id === 1) {
        cible3 = document.getElementById('zonerecherche');
        document.getElementById('zoneresultats').style.display = "none";
    } else {
        cible3 = document.getElementById('zonerecherche2');
        document.getElementById('zoneresultats2').style.display = "none";
    }
    cible3.value = choice;

}

//Rend visible la table demandée
function setVisible2(obj)
{
    obj2 = document.getElementById(obj);
    obj2.style.visibility = 'visible';
    var code1 = "<span id='close'><a href=\"javascript:setInvisible2('" + obj + "');\" style=\"text-decoration: none\"><strong>Fermer X</strong></a></span><br>";
    var code2 = "<table id='table' border=1 style='#table'>";
    if (obj === "tagupdate") {
        var code3 = "<tr style=\"font-weight: 700;\"><th width=100px>Nom</th><th width=100px>Prénom</th><th width=300px>Employeur</th><th width=170px>Ville</th></tr>";
    } else {
        code3 = "<tr style=\"font-weight: 700;\"><th width=100px>Article</th><th width=100px>Solde</th></tr>";
    }
    obj2.innerHTML = code1 + code2 + code3 + "</table>";
}

//Rend invisible la table demandée
function setInvisible2(obj)
{
    obj = document.getElementById(obj);
    obj.style.visibility = 'hidden';
}