// JavaScript Document

/* Fonction JQuery "Alertes" */

function pop_txt(txt) {
    if (txt != '') {
        jNotify(txt,
            {
                autoHide: true,
                TimeShown: 3000,
                HorizontalPosition: 'center',
                VertitalPosition: 'center'
            }
        );
    }
}

/**
 *
 * @param txt
 * @param twait
 */
function ok_txt(txt, twait) {
    if (twait == undefined) {
        twait = 0;
    }
    if (txt != '') {
        jSuccess(txt,
            {
                autoHide: true,
                TimeShown: twait,
                HorizontalPosition: 'center',
                VertitalPosition: 'center'
            }
        );
    }
}

function warn_txt(txt, twait) {
    if (twait == undefined) {
        twait = 3000;
    }
    if (txt != '') {
        jError(txt,
            {
                autoHide: true,
                TimeShown: twait,
                HorizontalPosition: 'center',
                VertitalPosition: 'center'
            }
        );
    }
}

function warn_del(typ) {
    var dialog;
    var msg = "Merci de confirmer que vous souhaitez supprimer cette fiche en cliquant sur le bouton 'Confirmer'<br />Sinon, cliquez sur 'Annuler'";

    switch (typ) {
        case 'age' :
            msg = "Vous ne pouvez supprimer qu'une agence non référencée dans une intervention, un contrat, etc...<br />" + msg;
            break;
        case 'cli' :
            msg = "Vous ne pouvez supprimer qu'un client non référencé dans une intervention<br />" + msg;
            break;
        case 'co' :
            msg = "Vous ne pouvez supprimer qu'un contrat type non déjà référencé dans un contrat client<br />" + msg;
            break;
        case 'ddec' :
            msg = "Vous ne pouvez supprimer qu'une catégorie non encore utilisée dans une demande<br />" + msg;
            break;
        case 'ddet' :
            msg = "Vous ne pouvez supprimer qu'un type non encore utilisé dans une demande<br />" + msg;
            break;
        case 'ope' :
            msg = "Vous ne pouvez supprimer qu'un opérateur non référencé dans une intervention<br />" + msg;
            break;
        case 'perloc' :
            msg = "Vous ne pouvez supprimer qu'une période de location non référencée dans une location ou un barême<br />" + msg;
            break;
        case 'scli' :
            msg = "Vous ne pouvez supprimer qu'un site client non référencé dans une intervention ou un contrat<br />" + msg;
            break;
        case 'tec' :
            msg = "Vous ne pouvez supprimer qu'un technicien non référencé dans une intervention<br />" + msg;
            break;
        default :
            break;
    }

    dialog = new Messi(msg,
        {
            title: 'Suppression',
            buttons: [{id: 0, label: 'Confirmer', val: 'Y'},
                {id: 1, label: 'Annuler', val: 'N'}],
            titleClass: 'info',
            modal: true,
            width: '700px',
            callback: function (val) {
                if (val == 'N') {
                    if (window.opener && window.opener.open && !window.opener.closed) {
                        self.close();
                    }
                    else {
                        history.back();
                    }
                }
            }
        });
}

// 1 : mode paysage
// 2 : Mode portrait
function warn_print(typ) {
    var dialog;
    var msg = "Merci de confirmer l'impression.<br />";

    switch (parseInt(typ)) {
        case 1 :
            msg += "Mettez l'imprimante en mode paysage<br />";
            break;
        default :
            msg += "Mettez l'imprimante en mode portrait<br />" + msg;
            break;
    }

    msg += "Fermez cette fenêtre d'état une fois l'impression terminée";

    dialog = new Messi(msg,
        {
            title: 'Confirmer',
            buttons: [{id: 0, label: 'Confirmer', val: 'Y'},
                {id: 1, label: 'Annuler', val: 'N'}],
            callback: function (val) {
                if (val == 'Y') {
                    window.print();
                }
                else {
                    window.close();
                }
            }
        });
}

// Message d'alerte
// Si "IDFOCUS" : focus sur "ID FOCUS"
// Si "lnkok" : on ouvre nouveau lien si clic "ok"
// "IDVAL" : champ dans lequel on mettra la valeur "newval"
function init_warn(typ, idfocus, lnkok, idval, newval) {
    var dialog;
    var msg = '';
    switch (typ) {
        case 'lieu' :
            msg = "Pensez à vérifier la date de rendez-vous (si nécessaire)";
            break;
        case 'coclren' :
            msg = "Avant d'envoyer ce nouveau contrat au client, pensez à contrôler :<br /><br />.Les nouvelles dates de validité<br />.Le nouveau matériel concerné<br />.Le nouveau prix de vente<br /><br />...Et en général le détail du nouveau contrat";
            break;
        case 'sclichg' :
            msg = "Vous ne pouvez pas affecter un nouveau site si des problèmes non résolus ont été déclarés";
            break;
        case 'cpta1' :
            msg = "Compte client à surveiller";
            break;
        case 'cpta2' :
            msg = "Client ayant reçu une relance comptable";
            break;
        case 'cpta3' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir<br />Merci de prendre contact avec le service comptable";
            break;
        case 'cpta3int' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir une fiche d'intervention<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3cocl' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir un contrat de maintenance<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3coloc' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir un contrat de location<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3dos' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir un dossier de suivi<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3ot' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir un bon de travail<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3rel' :
            msg = "Le compte de ce client est bloqué<br />Impossible de saisir un relevé<br />Prendre contact avec le service comptable";
            break;
        case 'cpta3cli' :
            msg = "Le compte de ce client est bloqué";
            break;
        case '0cli' :
            msg = "Il n'y a aucun client créé pour pouvoir saisir";
            break;
        case '0tec' :
            msg = "Il n'y a aucun technicien actif pour pouvoir saisir";
            break;
        case '0mque' :
            msg = "Il n'y a aucune marque créée pour pouvoir saisir";
            break;
        case '0type' :
            msg = "Il n'y a aucun type de licence créé pour pouvoir saisir";
            break;
        case '0media' :
            msg = "Il n'y a aucun type de média créé pour pouvoir saisir";
            break;
        case '0etatpdt' :
            msg = "Il n'y a aucun état de matériel créé pour pouvoir saisir";
            break;
        case '0catpdt' :
            msg = "Il n'y a aucune catégorie de matériel créée pour pouvoir saisir";
            break;
        case '0age' :
            msg = "Il n'y a aucune agence créée ou active pour pouvoir saisir";
            break;
        case '0tecpr' :
            msg = "Il n'y a aucun prix de revient saisi pour ce technicien<br />Merci de penser à entrer au moins une valeur";
            break;
        case '1tecspr' :
            msg = "Il n'y a aucun prix de revient saisi pour au moins un des techniciens<br />Merci de penser à entrer au moins une valeur";
            break;
        case '0agepr' :
            msg = "Il n'y a aucun prix de revient saisi pour le responsable agence<br />Merci de penser à entrer au moins une valeur";
            break;
        case '1agespr' :
            msg = "Il n'y a aucun prix de revient saisi pour au moins un des responsables agence<br />Merci de penser à entrer au moins une valeur";
            break;
        case '1cagespr' :
            msg = "Il n'y a aucun prix de revient saisi pour au moins un des contacts agence<br />Merci de penser à entrer au moins une valeur";
            break;
        case 'tac' :
            msg = "Il y a des tâches à terminer<br />Merci de penser à les traiter";
            break;
        case 'rpbm' :
            msg = "Il y a des problèmes non affectés sur ce relevé de parc" + '<br />' + "Voir la liste des licences et matériels";
            break;
        case 'sp' :
            msg = "Il n'y a pas de spécialité définie pour ce sous-traitant";
            break;
        case 'zcc' :
            msg = "Il n'y a pas de zone de chalandise définie pour cette agence";
            break;
        case 'zoc' :
            msg = "Il n'y a pas de zone de chalandise définie pour ce sous-traitant";
            break;
        default :
            break;
    }

    if (msg != '') {
        dialog = new Messi(msg,
            {
                title: 'Information',
                titleClass: 'anim error',
                buttons: [{id: 0, label: 'Ok', val: 'Y'}],
                callback: function (val) {
                    if (val == 'Y') {
                        if (idfocus != '') {
                            $("#" + idfocus).focus();
                        }
                        if (idval != '') {
                            $("#" + idval).val(newval);
                        }
                        if (lnkok != '') {
                            if (lnkok == 'back') {
                                history.back();
                            }
                            else {
                                $(location).attr('href', lnkok);
                            }
                        }
                    }
                    else {
                        return false;
                    }
                }
            });
    }
}

/**
 *
 * Message d'alerte sur changement sur "IDCHANGE"
 *
 * @param idchange
 * @param typ
 * @param idfocus
 */
function init_warn_focus(idchange, typ, idfocus) {
    $("#" + idchange).change(function () {
        init_warn(typ, idfocus, '', '', '');
    });
}

/**
 *
 * Contrôle et alerte éventuelle sur changement de site client en relevé
 *
 * @param idchange
 * @param pbm
 * @param idval
 * @param oldval
 */
function init_warn_scli_change_rel(idchange, pbm, idval, oldval) {
    $("#" + idchange).change(function () {
        if (parseInt(pbm) == 1) {
            init_warn('sclichg', '', '', idval, oldval);
        }
    });
}

// COntrôle et alerte éventuelle sur problème comptable client
function warn_cpta(nivcli, typ) {
    switch (parseInt(nivcli)) {
        case 1 :
            init_warn('cpta1', '', '', '', '');
            break;
        case 2 :
            init_warn('cpta2', '', '', '', '');
            break;
        case 3 :
            if (typ != 'cli') {
                init_warn('cpta3', '', 'back', '', '');
            }
            else {
                init_warn('cpta3', '', '', '', '');
            }
            break;
        default :
            break;
    }
}

function warn_taches(nb) {
    if (parseInt(nb) > 0) {
        init_warn('tac', '', '', '', '');
    }
}