//Variables globales
var nombre = 1;
var reponseBoolDate;
var mode_ajout;

//Aperçu de la libération
function apercuLiberation(noliberation) {
    if (verifieinfo()) {
        ouvrefenetre("creation_liberation.php?lib=" + noliberation + "&sortie=ecran");
    }
}

// Crée la date de paiement
function creeDatePaiement(id, id2) {
    if ($("#" + id).val() === "2") {
        document.getElementById(id2).removeAttribute("readonly");
        var dateactuelle = new Date();
        var jour = "";
        var mois = "";
        if (dateactuelle.getMonth() + 1 < 10)
            mois = "0" + (dateactuelle.getMonth() + 1);
        else
            mois = (dateactuelle.getMonth() + 1);
        if (dateactuelle.getDate() + 1 < 10)
            jour = "0" + (dateactuelle.getDate());
        else
            jour = (dateactuelle.getDate());
        $("#" + id2).val(dateactuelle.getFullYear() + "-" + mois + "-" + jour);
    } else {
        document.getElementById(id2).setAttribute("readonly", "readonly");
        document.getElementById(id2).value = "";
    }
}
// Affiche le calendrier et mets la date actuelle par défaut
function calendrier(id) {
    if (verifieinfo()) {
        if ($("#" + id).val() === "" || $("#" + id).val() === undefined) {
            metsDate(id);
        } else {
            $("#" + id).focus();
        }
    }
}

//Est-ce que l'employé existe?
function verifEmploye() {
    var reponseBoolEmp = 0;
    var reponseBoolEmp = $.ajax({
        url: "obtemploye2.php",
        global: false,
        type: "POST",
        data: {prm1: $("#lreference").val()},
        dataType: "html",
        async: false
    }).responseText;
    if (reponseBoolEmp === 0 || reponseBoolEmp === "0") {
        return false;
    }
    return true;
}

//Est-ce que les renseignements primaires sont remplit?
function verifieinfo() {
    var idemp = $("#zonerecherche2").val();
    var idlref = $("#lreference").val();
    var iddat = $("#datecreation").val();
    if ($("input[type='radio'][name=ltypeopr]:checked", '#frmModif').val() == undefined
            && ($("#opr").val() === "" || $("#opr").val() == undefined)) {
        jAlert("Veuillez choisir le type d'opération désirée.");
        $("#opr1").focus();
        return false;
    } else if (idemp === '' || idemp === "Recherche" || idlref === '') {
        jAlert("Veuillez choisir l'employé parmi les membres");
        $("#zonerecherche2").focus();
        return false;
    } else if (!isDateValide(iddat)) {
        jAlert("Veuillez choisir la date de création du document (Format : AAAA-MM-JJ)!");
        $("#datecreation").focus();
        return false;
    }
    return true;
}

//Vérifie si la touche Esc a été enfoncée.
function verifieTouche(e) {
    if (e === null) { // ie
        keycode = event.keyCode;
    } else { // mozilla
        keycode = e.which;
    }
    if (keycode === 27) {
        setInvisible2('zonerecherche');
    }
}

//Vérifie la présente ligne de saisie
function verifieLigne(nombre) {
    var nombre2 = nombre - 1;
    if ($("#id" + nombre2).val() === '') {
        jAlert("La date de libération est vide.");
        $("#id" + nombre2).focus();
        return false;
    } else if ($("#lart" + nombre2).val() === '0') {
        jAlert("Aucun article n'a été choisit.");
        $("#lart" + nombre2).focus();
        return false;
    } else if ($("#com" + nombre2).val() === '') {
        jAlert("Le commentaire2 est vide.");
        $("#com" + nombre2).focus();
        return false;
    } else if ($("#ldur" + nombre2).val() === '0') {
        jAlert("La durée n'a pas été choisie.");
        $("#ldur" + nombre2).focus();
        return false;
    } else if ($("#lie" + nombre2).val() === '') {
        jAlert("Le lieu est vide.");
        $("#lie" + nombre2).focus();
        return false;
    } else if ($("#las" + nombre2).val() === '0') {
        jAlert("Aucun item de la liste «Assumer par» n'a été choisit.");
        $("#las" + nombre2).focus();
        return false;
    } else
        return true;
}

function MapValeur(idname) {
    var valeur = "";
    var x;
    for (x = 0; x < nombre; x++) {
        var obj = document.getElementById(idname + x);
        if (obj && obj.value !== null && obj.value !== undefined) {
            valeur = valeur + obj.value;
            if (x < nombre - 1) {
                valeur = valeur + "**";
            }
        }
    }
    return encodeURI(valeur);
}

//Si le formulaire est valide, on accepte et renvoie le résultat pour traitement.
function ValidationFormulaire(boutontxt) {
    var result = true;
    if (!verifieinfo()) {
        result = false;
    }
    if (result) {
        for (x = 1; x <= nombre; x++) {
            if (!verifieLigne(x)) {
                result = false;
                x = nombre + 1;
            }
        }
    }
    if (result) {
        var reponseVerif;
        var notype;
        if ($("#opr1").prop('checked') || $("#opr").val() === "1") {
            notype = 1;
        } else if ($("#opr2").prop('checked') || $("#opr").val() === "2") {
            notype = 2;
        } else {
            notype = $("#opr").val();
        }

        var reponseVerif = $.trim($.ajax({
            url: "verifliberations.php",
            global: false,
            type: "POST",
            data: {
                bouton: "verification",
                noliberation: document.frmModif.noliberation.value,
                lreference: $("#lreference").val(),
                ldatecreation: $("#datecreation").val(),
                ltypeopr: notype,
                datelib: MapValeur('id'),
                lart: MapValeur('lart'),
                lcomm: MapValeur('com'),
                ldur: MapValeur('ldur'),
                lieu: MapValeur('lie'),
                lassume: MapValeur('las'),
                ldetail: MapValeur('ligneliberation')
            },
            dataType: "html",
            async: false
        }).responseText);
        if (reponseVerif !== "ok") {
            jAlert(reponseVerif, "Erreur");
            result = false;
        }
    }
    if (result) {
        document.frmModif.action.value = boutontxt;
        document.frmModif.lreference.value = document.frmRecherche.lreference.value;
        document.frmModif.submit();
    }
}

//Si le formulaire est valide, on accepte et renvoie le résultat pour traitement.
function AnnuleLiberation(boutontxt, noliberation) {
    var anonymousDeleteFunction = function (choice) {
        if (choice) {
            document.frmModif.action.value = boutontxt;
            document.frmModif.noliberation.value = noliberation;
            document.frmModif.lreference.value = document.frmRecherche.lreference.value;
            document.frmModif.submit();
        }
    };
    notif_confirm({
        'message': "Voulez-vous vraiment annuler cette libération complètement?",
        'textaccept': "Annulation de la demande de libération",
        'textcancel': "Annuler l'opération",
        'callback': anonymousDeleteFunction
    });
}

//Si le formulaire est valide, on accepte et renvoie le résultat pour traitement.
function CopierLiberation(boutontxt, noliberation) {
    var anonymousCopyFunction = function (choice) {
        if (choice) {
            document.frmModif.action.value = boutontxt;
            document.frmModif.noliberation.value = noliberation;
            document.frmModif.lreference.value = document.frmRecherche.lreference.value;
            document.frmModif.submit();
        }
    };
    notif_confirm({
        'message': "Voulez-vous vraiment copier cette demande libération?",
        'textaccept': "Copie de la demande de libération",
        'textcancel': "Annuler l'opération",
        'callback': anonymousCopyFunction
    });
}

//Supprime une ligne à la table.
function supprimeLigne(r) {
    var i = r.parentNode.parentNode.rowIndex;
    if (i > 1) {
        document.getElementById('liberations').deleteRow(i);
        nombre--;
    } else {
        $('#id0').val("");
        $('#lart0').val(0);
        $('#com0').val("");
        $('#ldur0').val(0);
        $('#lie0').val("");
        $('#las0').val(0);
    }
}

//On efface tout le formulaire
function recommencer() {
    $("#zoneresultats2").slideUp();
    $("#voirsolde").slideUp();
    $("#datecreation").datepicker("hide");
    $("#id0").datepicker("hide");
    var frmModif = document.frmModif;
    frmModif.reset();
    var nbl = document.getElementById('liberations').rows.length;
    for (x = 1; x < nbl - 2; x++) {
        var nbl2 = document.getElementById('liberations').rows.length;
        document.getElementById('liberations').deleteRow(nbl2);
    }
}

function fermersolde() {
    $("#voirsolde").slideUp();
}

//Traiter toutes les lignes modifiées pour sauvegarde
function traiter(id) {
    if (typeof (document.fermeture.crochet) !== "undefined") {
        var source = document.getElementById("Crochet" + id + "");
        if (source.checked) {
            var champs2 = document.getElementById("TRCrochet" + id + "");
            var prm2 = obtientValeurs(champs2);
            traiterlignePaiement(id, prm2);
        }
    }
}

function selectedB(choice, choice2) {
    var cible = document.getElementById("lemploye");
    cible.value = choice;
    var cible2 = document.getElementById('lreference');
    cible2.value = choice2;
}

// Charger le formulaire de modification Ajax
function modifieLiberation(noemploye, nolib, jeton) {
    $(document).ready(function () {
        changetitre(2);
        $("#lreference").val(noemploye);
        mode_ajout = 0;
        var reponseVerif = $.trim($.ajax({
            url: "obtformlib.php",
            global: false,
            type: "POST",
            data: {
                prm1: nolib,
                jeton: jeton
            },
            dataType: "html",
            async: false
        }).responseText);
        $("#fenetremodale").html(reponseVerif);
        var oRows = document.getElementById('liberations').getElementsByTagName('tr');
        nombre = oRows.length - 1;
        overlay();
    });
}

function confirmAction(objet) {
    if (objet.value !== "-1") {
        jConfirm("Annuler les libérations de cette demande ?",
                function (r) {
                    if (r) {
                        objet.form.submit();
                    }
                });
    }
}

function copieLigne(id) {
    $("#ligne" + id).clone().appendTo("#liberations").prop('id', 'ligne' + (nombre + 1));
    nombre++;
    jAlert("Assurez-vous de vérifier et modifier au besoin les renseignements de la nouvelle ligne.");
}
