<?php
require_once 'application/class/class_ManageSession.php';

global $connecteur;

$action = getValue('action');
$no_ao = getValue('no_ao');
$value = getValue('value');
$id_ligne = getValue('id_ligne');

switch ($action) {
    case 'AffichePopup':
        $popup = new AO_ImportDA($no_ao);
        $xslt = new GenXslt(true);
        $array = $popup->buildXml();
        $popup->setToSession();
        echo $xslt->XslHtml(AO_ImportDA::fichierXsl, $array);
        break;
    
    case AO_ImportDA::filtre_visualisation:
        // On met à jour la valeur du formulaire
        Affichage::setValueForm(AO_ImportDA::id_form_criteres, AO_ImportDA::filtre_visualisation, $value);
        
        // Ensuite on relance la recherche
        PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        break;
    
    case CriteresRecherche::btnRechercher:
        $objImport = AO_ImportDA::getFromSession();
        
        // On met - si besoin - la valeur du total de lignes à jour
        if (! $objImport->isCountTotalOk()) {
            // Le count global n'a pas été fait, on le fait maintenant
            $count_total = $objImport->getCountTotal();
            Affichage::innerHTML(AO_ImportDA::id_div_total_selection, $count_total);
        }
        $array = $objImport->buildXmlResultat(getValueAll($_REQUEST));
        $genXsl = new GenXslt(true);
        Affichage::innerHTMLPointeur(AO_ImportDA::id_div_resultat_rech, $genXsl->XslHtml(AO_ImportDA::fichierXsl, $array));
        break;
    
    case AO_ImportDA::action_enregistrer:
        $objImport = AO_ImportDA::getFromSession();
        $message = $objImport->WsdlImporter();
        if ('' != $message)
            Affichage::messageJS($message);
        else {
            // echo 'alert("fermeture de la fenêtre");';
            echo 'CallUrl("' . AO_ImportDA::fichierPhp . '?action=' . AO_ImportDA::action_annuler . '")';
        }
        break;
    
    case AO_ImportDA::action_annuler:
        AO_ImportDA::clearSession();
        // echo 'setTimeout(function() {parent.CallUrl("AO_fiche.php?MODE=httpreq&action=refresh&onglet='.AO_ecran::FOLDER_LIGNE.'");}, 100);';
        echo 'setTimeout(function() {parent.CallUrl("AO_fiche.php?MODE=httpreq&action=refreshLigne");}, 100);';
        echo 'setTimeout(function() {window.closePopup();}, 200);';
        break;
    
    case AO_ImportDA::action_selectionner:
        $objImport = AO_ImportDA::getFromSession();
        $objImport->gereSelection($id_ligne, $value);
        $count = $objImport->getCountSelection();
        if (0 == $count)
            $count = Trad('Aucune sélection');
        //
        // On met à jour l'affichage du comptage de ligne sélectionnées
        //
        Affichage::innerHTML(AO_ImportDA::id_nb_ligne_selection, $count);
        //
        // On relance la recherche pour les calculs de rupture et de case cochées
        //
        PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        // $rupture1 = getValue(ChampRecherche::rupture1);
        // $rupture2 = getValue(ChampRecherche::rupture2);
        // if ('' != $rupture1 || '' != $rupture2) {
        // //
        // // Il y a des ruptures, on relance la recherche pour obtenir les infos complémetaires (nombre de ligne sélectionnées par rupture)
        // //
        // PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        // }
        break;
    case AO_ImportDA::tableau_sel_tout:
        $liste_ids = getValue('liste_ids');
        $array_ids = explode(',', $liste_ids);
        $objImport = AO_ImportDA::getFromSession();
        foreach ($array_ids as & $id_ligne)
            $objImport->gereSelection($id_ligne, $value);
        $count = $objImport->getCountSelection();
        if (0 == $count)
            $count = Trad('Aucune sélection');
        Affichage::innerHTML(AO_ImportDA::id_nb_ligne_selection, $count);
        PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        break;
    case AO_ImportDA::tableau_sel_rupture1:
        $code_rupture1 = getValue('code_rupture1');
        $objImport = AO_ImportDA::getFromSession();
        $objImport->gereSelectionRupture1($code_rupture1, $value);
        // Dossier 26661
        $count = $objImport->getCountSelection();
        if (0 == $count)
            $count = Trad('Aucune sélection');
        Affichage::innerHTML(AO_ImportDA::id_nb_ligne_selection, $count);
        PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        break;
    case AO_ImportDA::tableau_sel_rupture2:
        $code_rupture1 = getValue('code_rupture1');
        $code_rupture2 = getValue('code_rupture2');
        $objImport = AO_ImportDA::getFromSession();
        $objImport->gereSelectionRupture2($code_rupture1, $code_rupture2, $value);
        // Dossier 26661
        $count = $objImport->getCountSelection();
        if (0 == $count)
            $count = Trad('Aucune sélection');
        Affichage::innerHTML(AO_ImportDA::id_nb_ligne_selection, $count);
        PopupBrowse::execSearch(CriteresRecherche::btnRechercher);
        break;
    default:
        echo 'alert("action non reconnue : ', $action, '");';
        
        break;
}

$connecteur->disconnect();
exit();