function verifSaisieMail() {
    var oName = GetObj('Subject');
    if (oName && oName.value == "") {
        alert('Vous devez saisir un sujet !');
        oName.focus();
        return false;
    }
/* TODO: à revoir
    oName = GetObj('Text');
    var oNameHtml = GetObj('TextHtml');
    if(oName && oName.value == "" && oNameHtml && oNameHtml.value == "")
    {
    	alert('Vous devez saisir un texte !');
        oName.focus();
    	return false;
    }
*/
    var oType = GetObj('TypeN');
    if (oType && oType.checked) {
        oName = GetObj('NbDays');
        if (oName && oName.value == "") {
            alert('Vous devez saisir un nombre de jours !');
            oName.focus();
            return false;
        }
        if (isNaN(oName.value)) {
            alert('Vous devez saisir une valeur numérique pour le nombre de jours !');
            oName.focus();
            return false;
        }
    }
    oType = GetObj('TypeD');
    if (oType && oType.checked) {
        oName = GetObj('Date');
        if (oName && oName.value == "") {
            alert('Vous devez saisir une date !');
            oName.focus();
            return false;
        }
        var Reg=new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g");
        if (!Reg.test(oName.value)) {
            alert("Vous devez saisir une date valide");
            oName.focus();
            return false;
        }
    }
    oName = GetObj('Hour');
    if (oName && isNaN(oName.value)) {
        alert('Vous devez saisir une valeur numérique pour l\'heure d\'envoi !');
        oName.focus();
        return false;
    }
    return true;
}
function checkAll() {
    var bCheck = false;
    var oObj = GetObj("all");
    if (oObj && oObj.checked) {
        bCheck = true;
    }
    var i = 0;
    while (oObj) {
        oObj = GetObj("del"+i);
        if (oObj) {
            oObj.checked = bCheck;
        }
        i ++;
    }
}

function testMail() {
    if (!confirm("Pour tester votre mail, vos modifications vont être sauvegardées.\nEtes vous sur ?")) {
        return false;
    }
    document.forms["formfiche"].action = "testmail.php";
    return true;
}

function FCKeditor_OnComplete( editorInstance ) {
    editorInstance.Events.AttachEvent( 'OnBlur'	, FCKeditor_OnBlur ) ;
    editorInstance.Events.AttachEvent( 'OnFocus', FCKeditor_OnFocus ) ;
}

function FCKeditor_OnBlur( editorInstance ) {
    editorInstance.ToolbarSet.Collapse() ;
}

function FCKeditor_OnFocus( editorInstance ) {
    editorInstance.ToolbarSet.Expand() ;
}


function setMailHtml() {
    var sBasePath = '/mailing/' ;
    
    oFCKeditor = new FCKeditor( 'TextHtml' ) ;
    //		oFCKeditor.Config['ToolbarStartExpanded'] = false ;
    oFCKeditor.Config['SkinPath'] = sBasePath+'js/fckeditor/editor/skins/office2003/' ;
    oFCKeditor.Config['PreloadImages'] = sBasePath+'js/fckeditor/editor/skins/office2003/images/toolbar.start.gif;'+sBasePath+'js/fckeditor/editor/skins/office2003/images/toolbar.end.gif;'+sBasePath+'js/fckeditor/editor/skins/office2003/images/toolbar.bg.gif;'+sBasePath+'js/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif';
    oFCKeditor.Height = 600 ;
    oFCKeditor.Width = 450 ;
    oFCKeditor.BasePath	=  sBasePath + 'js/fckeditor/' ;
    oFCKeditor.Config["CustomConfigurationsPath"] = sBasePath + 'js/fckeditor/fckconfigCM.js' ;
    oFCKeditor.ToolbarSet = 'Basic' ;
    oFCKeditor.ReplaceTextarea() ;
}

function switchDisplay() {
    var oTextHtml = GetObj('TextHtml');
    var oSrcHtml = GetObj('SrcHtml');
    var sDisplay = (oTextHtml.style.display != '' ? oTextHtml.style.display : 'block');
    oTextHtml.style.display = (sDisplay == 'block' ? 'none' : 'block');
    oSrcHtml.style.display = sDisplay;
    var oLinkDisplaySource = GetObj('LinkDisplaySource');
    oLinkDisplaySource.innerHTML = (sDisplay == 'block' ?
                                    'Afficher le mail au format Html':
                                    'Afficher la source HTML');
}

function cloneMail() {
    var oObj = GetObj("NewAction");
    if(oObj) oObj.value = "C";
    oObj = GetObj("formfiche");
    if(oObj) oObj.submit();
}

/* Critères */
/**
 * Confirmation de la suppression du critère
 * @return  bool    true si le critère doit pouvoir être supprimé
 */
function confirmDeleteCriterion() {
    return confirm("Etes vous sur de vouloir supprimer ce critère ?");
}

/**
 * Suppression du critère
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton de suppression
 * @return  bool    True si le critère a été supprimé
 */
function deleteCrit(oTr) {
    if (!confirmDeleteCriterion()) {
        return false;
    }
    var aCritToDelete = oTr.getElementsByClassName('CritDel');
    var nNb = aCritToDelete.length;
    for (var n = 0; n < nNb; n ++) {
        aCritToDelete[n].value = 1;
    }
    oTr.style.display = 'none';
    return true;
}

/**
 * Ajout d'un nouveau critère
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton d'ajout
 */
function addCrit(oTr) {
    var oTab            = GetObj('TabCrit');
    var oNbCrit         = GetObj('NbCr');
    var oNbCritToAdd    = GetObj('NbCritToAdd');
    var nNbCrit         = 0;
    var nNbCritToAdd    = 0;
    if (oNbCrit) {
        nNbCrit = parseInt(oNbCrit.value) + 1;
    }
    if (oNbCritToAdd) {
        nNbCritToAdd = parseInt(oNbCritToAdd.value) + 1;
    }

    var oNewTr          = oTr.cloneNode(true);
    oNewTr.id = 'new_' + nNbCritToAdd;
    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 + nNbCrit;
        aSelect[n].id = aSelect[n].className + nNbCrit;
        aSelect[n].value = '';
    }
    var aInput          = oNewTr.getElementsByTagName('input');
    var nNbInput = aInput.length;
    for (n = 0; n < nNbInput; n ++) {
        aInput[n].name = aInput[n].className + nNbCrit;
        aInput[n].id = aInput[n].className + nNbCrit;
        aInput[n].value = '';
    }
    oTab.appendChild(oNewTr);

    oNbCrit.value       = nNbCrit;
    oNbCritToAdd.value  = nNbCritToAdd;
}

/* Pièces jointes */
/**
 * Confirmation de la suppression de la pièce jointe
 * @return  bool    true si la pièce jointe peut être supprimée
 */
function confirmDeleteAttach() {
    return confirm("Etes vous sur de vouloir supprimer cette pièce jointe ?");
}

/**
 * Suppression d'une pièce jointe
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton de suppression
 * @return  bool    True si le critère a été supprimé
 */
function deleteAttach(oTr) {
    if (!confirmDeleteAttach()) {
        return false;
    }
    var aAttachToDelete = oTr.getElementsByClassName('DeleteAttach');
    var nNb = aAttachToDelete.length;
    if (nNb) {
        for (var n = 0; n < nNb; n ++) {
            aAttachToDelete[n].value = 1;
        }
    } else {
        var aInput          = oTr.getElementsByTagName('input');
        var nNbInput = aInput.length;
        for (n = 0; n < nNbInput; n ++) {
            aInput[n].value = '';
        }

    }
    oTr.style.display = 'none';
    return true;
}

/**
 * Ajout d'une nouvelle pièce jointe
 * @param   oTr     objet DOM correspondant au <tr> contenant le bouton d'ajout
 */
function addAttach(oTr) {
    var oTab            = GetObj('TabAttach');
    var oNbAttach         = GetObj('NbAttach');
    var oNbAttachToAdd    = GetObj('NbAttachToAdd');
    var nNbAttach         = 0;
    var nNbAttachToAdd    = 0;
    if (oNbAttach) {
        nNbAttach = parseInt(oNbAttach.value) + 1;
    }
    if (oNbAttachToAdd) {
        nNbAttachToAdd = parseInt(oNbAttachToAdd.value) + 1;
    }

    var oNewTr          = oTr.cloneNode(true);
    oNewTr.id = 'new_' + nNbAttachToAdd;
    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 aInput          = oNewTr.getElementsByTagName('input');
    var nNbInput = aInput.length;
    for (n = 0; n < nNbInput; n ++) {
        aInput[n].name = aInput[n].className  + nNbAttach;
        aInput[n].id = aInput[n].className + nNbAttach;
        aInput[n].value = '';
    }
    oTab.appendChild(oNewTr);

    oNbAttach.value       = nNbAttach;
    oNbAttachToAdd.value  = nNbAttachToAdd;
}

