﻿// Questo file contiene le funzioni di CallBack che vengono richiamate dalla 
// finestra di dialogo durante la visualizzazione del modulo ZoomArticolo.



// Questa funzione di CallBack viene richiamata quando l'aggiunta al carrello
// viene completata LATO-SERVER.
function NetSellGui_InsertItemInKart_XalpCallBack(_xO) {

    // Gestisce l'inserimento. Il parametro IsUpdatingItemQta viene
    // utilizzato per capire se deve mostrare o meno il carrello dopo
    // l'aggiunta. (In fase di modifica viene mostrato il carrello)
    //
    // Il parametro viaggia dal Client -> Server -> Client    
    if (_xO['result'] == 0) {
        if (_xO['IsUpdatingItemQta'] == 'False') {
           // alert('Articolo inserito correttamente.');
            parent.NetSellGui_CloseDialogWindow();
                parent.MinKartInfoBar_Update(_xO['NumOfRow'],_xO['KartValue']);  
         }
        else {

            parent.MinKartInfoBar_Update(_xO['NumOfRow'], _xO['KartValue']);
            parent.NetSellGui_OpenUserKart();
            if (NetSellGui_Costumize_OpenKartAsDialog == false) parent.NetSellGui_CloseDialogWindow();
            return true;        
        }
    }
    else
        alert(_xO['reason']);
}



// CallBack rimozione articolo da carrello
function NetSellGui_RemoveItemInKart_XalpCallBack(_xO) {
    parent.MinKartInfoBar_Update(_xO['NumOfRow'], _xO['KartValue']);
    return parent.NetSellGui_OpenUserKart();
}



// Callback per poter calcolare il valore del carrello se si effettua
// il refresh della pagina con F5 o si esce e rientra nel sistema
// mentre la sessione rimane attiva. Questa funzione viene richiamata solo
// nei REFRESH totali della pagina. (durante NetSell_Init)
function NetSellGui_UpdateMinKartWin_XalpCallBack(_xO) {
        parent.MinKartInfoBar_Update(_xO['NumOfRow'], _xO['KartValue']);
}



// Callback di gestione del salvataggio dell'ordine
function NetSellGui_SaveCurrentKart_XalpCallBack(_xO) {

    // In caso di errore. Controlla se l'ordine è stato salvato e
    // se è solo un errore di PDF

    if (_xO['result'] == "-1") {
        alert(_xO['reason']);
        parent.NetSellGui_SendEMail(NetSellGui_ErrorNotifyEmail, 'Check NetSell Error', _xO['reason'], 'true');
        parent.NetSellGui_OpenUserKart();
    }

    // Salvataggio completato con PayType = 0 non deve far più nulla.
    if (_xO['PayType'] == 0 || _xO['PayType']==2) {

        // Non ha salvato il PDF. Comunica che ha salvato l'ordine ed invia un-email 
        // di segnalazione
        if (_xO['result'] == "-2") {
            alert(_xO['reason']);
            parent.NetSellGui_SendEMail(NetSellGui_ErrorNotifyEmail, 'Check NetSell Error', _xO['reason'], 'true');
        }
        else
            alert('Salvataggio completato correttamente.');
        
        // Forza la MinWinBar ad aggiornarsi ( se disponibile )
        parent.NetSellGui_Raise_MinKartWinUpdate();

        // Mostra il carrello vuoto. (Vediamo in seguito se mostrare un messaggio)
        //parent.NetSellGui_OpenUserKart();
        parent.NetSellGui_RequestLogin()
     }

    // Salvataggio completato con richiesta modulo (PayType=1)
     if (_xO['PayType'] == 1) {
         parent.NetSellGui_CleanDiv_OpenPage(NetSell_XalpServiceUrl + '/NetSellGui_PayType/' + _xO['PayCode'] + '.aspx?SavedNRDOC='+ _xO['SavedNRDOC'] + '&SavedTPDOC=' + _xO['SavedTPDOC'] + '&SavedDTDOC=' + _xO['SavedDTDOC']);
     }
        
}
