﻿var idSession;
var evenement;
var estJourCourantOuvre;
var estParcoursCourtActif;
var nbSauvegardesEffectuees = 0;
var nbSauvegardesAuChargement = 0;
var simulationEnregistreeAvantTarif;

//affiche la fenetre call back de eStara
//enregistre une simulation si le callback est fait pendant les horaires d'ouverture des plateaux
function popupCallBackTarif(inIdSession, inEstJourCourantOuvre) {
    webVoicePop('Template=385482');
    if (inEstJourCourantOuvre == 'true' && nbSauvegardesAuChargement < 10 && nbSauvegardesEffectuees < 10) {
        enregistrerSimulationAvecContexteTarif(inIdSession);
    }
}

//Enregistre en simulation le questionnaire en cours lors que le contexte tarif metier est present
function enregistrerSimulationAvecContexteTarif(inIdSession) {
    idSession = inIdSession;
    DA.WEB.PS.MoteurRendu.Auto.Web.Simulation.EnregistrerAvecContexteTarif(inIdSession, onEnregistrementComplete, OnFailed);
}

//Enregistre en simulation le questionnaire en cours lors que le contexte tarif metier est absent
function enregistrerSimulationSansContexteTarif(inIdSession) {
    idSession = inIdSession;
    DA.WEB.PS.MoteurRendu.Auto.Web.Simulation.EnregistrerSansContexteTarif(inIdSession, onEnregistrementComplete, OnFailed);
}

function onEnregistrementComplete(inNbSauvegardes) {
    nbSauvegardesEffectuees = inNbSauvegardes;
}

//valider l'action choisie par l'internaute (enregistrer simul, recevoir propo, souscrire ....)
//verifier d'abord le statut de la simulation avant d'effectuer des actions
function validerAction(inIdSession, inAction, inEvenement, inEstJourCourantOuvre, inEstParcoursCourtActif, inNbSauvegardesAuChargement) {
        attente();
    idSession = inIdSession;
    evenement = inEvenement;
    estJourCourantOuvre = inEstJourCourantOuvre;
    estParcoursCourtActif = inEstParcoursCourtActif;
    nbSauvegardesAuChargement = inNbSauvegardesAuChargement;
    DA.WEB.PS.MoteurRendu.Auto.Web.Simulation.RecupererStatut(inIdSession, OnRecupererStatutSimulationComplete, OnRecupererStatutSimulationFailed, inAction);
}

function OnRecupererStatutSimulationComplete(inStatutSimulation, inAction) {
    //si la simulation est déjà transformée en propo, afficher directement le groupe GroupeRejetSimulation
    if (inStatutSimulation == "2") {
        mettreFocusGroupe("GroupeRejetSimulation");
    }
    //si la simulation est en cours de modification sur les plateaux, afficher la div SimulationEnCoursModification
    else if (inStatutSimulation == "4") {
        montreAide("SimulationEnCoursModification");
        finAttente();
    }
    else {
        effectuerAction(inAction);
    }
}

//s'il y a un probleme de recuperation, essayer quand meme d'effectuer l'action choisie
function OnRecupererStatutSimulationFailed(erreur, inAction) {
    effectuerAction(inAction);
}

function EnregistrementSimulation(inIdSession) {
    DA.WEB.PS.MoteurRendu.Auto.Web.Simulation.EnregistrerSansContexteTarif(inIdSession, onEnregistrementComplete, OnFailed);
    
}

function RecupererSimulationEnregistreeAvantTarif(inSimulationEnregistreeAvantTarif) {
    simulationEnregistreeAvantTarif = inSimulationEnregistreeAvantTarif;
    var idPopUp = 'EnregistrementSimulationAvantTarif';
    if (simulationEnregistreeAvantTarif == 'true') {
        OpenWindowReturn('aide.aspx?source=groupe&&aide=' + idPopUp + '&&cleRemote=' + idSession, 'Erreur', '', '560', '155', 'true');

    }
}

//effectuer l'action choisie
function effectuerAction(inAction) {
    switch (inAction) {
        case 'enregistrer':
        case 'recevoir':
        case 'assurer':
            validerTarif(inAction, evenement);
            break;
        case 'contacterCDC':
            popupCallBackTarif(idSession, estJourCourantOuvre);
            finAttente();
            break;
        case 'modifierQuestionnaire':
            modifierQuestionnaire(estParcoursCourtActif);
            break;
        case 'enregistrerSansTarif':
            mettreFocusGroupe('GroupeEmailSimulation');
            break;
        case 'enregistrerSansTarifBNPP':
                mettreFocusGroupe('GroupeCoordonneesSimulationAvantTarif');
            break;
    }
}