
/**
 * Vérifie la saisie avant soumission du formulaire
 *
 * @return  boolean         True si la saisie est valide
 */
function verifSaisieList() {
    var oListName = GetObj('Name');
    if(oListName && oListName.value == "") {
        alert('Vous devez saisir un nom !');
        oListName.focus();
        return false;
    }
    oName = GetObj('NameExp');
    if(oName && oName.value == "") {
        alert("Vous devez saisir un nom d'expéditeur !");
        oName.focus();
        return false;
    }
    oName = GetObj('MailExp');
    if(oName && oName.value == "") {
        alert("Vous devez saisir un mail d'expéditeur !");
        oName.focus();
        return false;
    }
    oName = GetObj('Site');
    if(oName && oName.value == "") {
        alert("Vous devez saisir un nom de site !");
        oName.focus();
        return false;
    }
    oName = GetObj('Desinscription');
    if(oName && oName.value == "") {
        alert("Vous devez saisir une phrase de désinscription !");
        oName.focus();
        return false;
    }
    oName = GetObj('Signature');
    if(oName && oName.value == "") {
        alert("Vous devez saisir une signature !");
        oName.focus();
        return false;
    }
    var oOldName = GetObj('OldName');
    if(oOldName && oOldName.value != oListName.value) {
        if (!confirm('Vous avez changé le nom d\'une liste existante. Etes vous sur de ne pas vouloir créer une nouvelle liste ?')) {
            oListName.focus();
            return false;
        }
    }
    return true;
} // END FUNC verifSaisie()

function VerifExport() {
    var oSep = GetObj('Sep');
    if(oSep && oSep.value == "") {
        alert('Vous devez saisir un séparateur !');
        oSep.focus();
        return false;
    }
    var oName = GetObj('Name');
    if(oName && isNaN(oName.value)) {
        alert('Vous devez saisir un nombre pour la position du nom !');
        oName.focus();
        return false;
    }
    
    var oEmail = GetObj('Email');
    if(oEmail && oEmail.value == "") {
        alert("Vous devez saisir une position pour l'adresse mail !");
        oEmail.focus();
        return false;
    }
    if(oEmail && isNaN(oEmail.value)) {
        alert("Vous devez saisir un nombre pour la position de l'adresse email !");
        oEmail.focus();
        return false;
    }
    if(oEmail && oEmail.value <= 0) {
        alert("Vous devez saisir un nombre > 0 pour la position de l'adresse email !");
        oEmail.focus();
        return false;
    }

    var oCiv = GetObj('Civ');
    if(oCiv && oCiv.value != "" && isNaN(oCiv.value)) {
        alert('Vous devez saisir un nombre pour la position de la civilité !');
        oCiv.focus();
        return false;
    }

    var oDate = GetObj('Date');
    if(oDate && oDate.value != "" && isNaN(oDate.value)) {
        alert('Vous devez saisir un nombre pour la position de la date !');
        oDate.focus();
        return false;
    }

    var oStatus = GetObj('Statut');
    if(oStatus && oStatus.value != "" && isNaN(oStatus.value)) {
        alert('Vous devez saisir un nombre pour la position du statut !');
        oStatus.focus();
        return false;
    }
    
    if(oName.value == oEmail.value || oName.value == oDate.value || oName.value == oCiv.value || oName.value == oStatus.value) {
        alert('Vous devez saisir des positions différentes !');
        oName.focus();
        return false;
    }
    if(oEmail.value == oDate.value || oEmail.value == oCiv.value || oEmail.value == oStatus.value) {
        alert('Vous devez saisir des positions différentes !');
        oEmail.focus();
        return false;
    }
    if((oDate.value == oCiv.value || oDate.value == oStatus.value )&& oDate.value != "" && oDate.value > 0) {
        alert('Vous devez saisir des positions différentes !');
        oDate.focus();
        return false;
    }
    if(( oCiv.value == oStatus.value )&& oCiv.value != "" && oCiv.value > 0) {
        alert('Vous devez saisir des positions différentes !');
        oCiv.focus();
        return false;
    }
    return true;
}            
function VerifExpMail() {
    var oSep = GetObj('Sep');
    if(oSep && oSep.value == "") {
        alert('Vous devez saisir un séparateur !');
        oSep.focus();
        return false;
    }
    var oName = GetObj('Subject');
    if(oName && oName.value == "") {
        alert('Vous devez saisir une position pour le sujet !');
        oName.focus();
        return false;
    }
    if(oName && isNaN(oName.value)) {
        alert('Vous devez saisir un nombre pour la position du sujet !');
        oName.focus();
        return false;
    }
    if(oName && oName.value <= 0) {
        alert('Vous devez saisir un nombre > 0 pour la position du sujet !');
        oName.focus();
        return false;
    }
    
    var oTexte = GetObj('Text');
    if(oTexte && oTexte.value == "") {
        alert("Vous devez saisir une position pour le texte !");
        oTexte.focus();
        return false;
    }
    if(oTexte && isNaN(oTexte.value)) {
        alert("Vous devez saisir un nombre pour la position du texte !");
        oTexte.focus();
        return false;
    }
    if(oTexte && oTexte.value <= 0) {
        alert("Vous devez saisir un nombre > 0 pour la position du texte !");
        oTexte.focus();
        return false;
    }
    
    var oType = GetObj('Type');
    if(oType && oType.value == "") {
        alert("Vous devez saisir une position pour le type !");
        oEmail.focus();
        return false;
    }
    if(oType && isNaN(oType.value)) {
        alert("Vous devez saisir un nombre pour la position du type !");
        oType.focus();
        return false;
    }
    if(oType && oType.value <= 0) {
        alert("Vous devez saisir un nombre > 0 pour la position du type !");
        oType.focus();
        return false;
    }

    var oDate = GetObj('Date');
    if(oDate && oDate.value == "") {
        alert("Vous devez saisir une position pour la date !");
        oDate.focus();
        return false;
    }
    if(oDate && isNaN(oDate.value)) {
        alert("Vous devez saisir un nombre pour la position de la date !");
        oDate.focus();
        return false;
    }
    if(oDate && oDate.value <= 0) {
        alert("Vous devez saisir un nombre > 0 pour la position de la date !");
        oDate.focus();
        return false;
    }

    var oHtml = GetObj('Html');
    if(oHtml && oHtml.value != "" && isNaN(oHtml.value)) {
        alert("Vous devez saisir un nombre pour la position de l'indicateur HTML !");
        oHtml.focus();
        return false;
    }
    if(oName.value == oText.value || oName.value == oDate.value || oName.value == oType.value || oName.value == oHtml.value) {
        alert('Vous devez saisir des positions différentes !');
        oName.focus();
        return false;
    }
    if(oText.value == oDate.value || oText.value == oType.value || oText.value == oHtml.value) {
        alert('Vous devez saisir des positions différentes !');
        oText.focus();
        return false;
    }
    if(oDate.value == oType.value || oDate.value == oHtml.value ) {
        alert('Vous devez saisir des positions différentes !');
        oDate.focus();
        return false;
    }
    if(( oType.value == oHtml.value )&& oType.value != "" && oType.value > 0) {
        alert('Vous devez saisir des positions différentes !');
        oType.focus();
        return false;
    }

    return true;
}    

/**
 * Modifie l'action du formulaire pour cloner la liste
 */
function cloneList() {
    var oObj = GetObj("NewAction");
    if(oObj) oObj.value = "C";
    oObj = GetObj("formfiche");
    if(oObj) oObj.submit();
}

/**
 * Ajout d'une nouvelle variable
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton d'ajout
 */
function addVar(oTr) {
    var oTab            = GetObj('TabVar');
    var oNbVar          = GetObj('NbVa');
    var oNbVarToAdd     = GetObj('NbVarToAdd');
    var nNbVar          = 0;
    var nNbVarToAdd     = 0;
    if (oNbVar) {
        nNbVar = parseInt(oNbVar.value) + 1;
    }
    if (oNbVarToAdd) {
        nNbVarToAdd = parseInt(oNbVarToAdd.value) + 1;
    }

    var oNewTr          = oTr.cloneNode(true);
    oNewTr.id = 'new_' + nNbVarToAdd;
    var aImg            = oTr.getElementsByClassName('img_del');
    if (aImg[0]) {
        aImg[0].style.display = 'block';
    }
    aImg                = oTr.getElementsByClassName('img_add');
    if (aImg[0]) {
        aImg[0].style.display = 'none';
    }

    var aSelect         = oNewTr.getElementsByTagName('select');
    var nNbSelect = aSelect.length;
    for (var n = 0; n < nNbSelect; n ++) {
        aSelect[n].name = aSelect[n].className + nNbVar;
        aSelect[n].id = aSelect[n].className + nNbVar;
        aSelect[n].value = '';
    }
    var aInput          = oNewTr.getElementsByTagName('input');
    var nNbInput = aInput.length;
    for (n = 0; n < nNbInput; n ++) {
        aInput[n].name = aInput[n].className + nNbVar;
        aInput[n].id = aInput[n].className + nNbVar;
        aInput[n].value = '';
    }
    oTab.appendChild(oNewTr);

    oNbVar.value       = nNbVar;
    oNbVarToAdd.value  = nNbVarToAdd;
}

/**
 * Confirmation de la suppression de la variable
 * @return  bool    true si la variable doit pouvoir être supprimée
 */
function confirmDeleteVar() {
    return confirm("Etes vous sur de vouloir supprimer ce champ ?");
}

/**
 * Suppression d'une variable
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton de suppression
 * @return  bool    True si la variable a été supprimée
 */
function deleteVar(oTr) {
    if(!confirmDeleteVar()) {
        return false;
    }
    var aVarToDelete = oTr.getElementsByClassName('VarDel');
    var nNb = aVarToDelete.length;
    for (var n = 0; n < nNb; n ++) {
        aVarToDelete[n].value = 1;
    }
    oTr.style.display = 'none';
    return true;
}

