﻿/** 
    
    Questo modulo contiene le routine di avvio dell'interfaccia grafica.

    La funzione NetSellGui_Init() effettua le seguenti operazioni:
    
        1) Riempie BarraCategorie, se disponibile.
        2) Inizializza la UpScreenTaskBar, se disponibile
        3) Inizializza il CleanSpaceDiv Container  ( la parte di pagina che cambierà dinamicamente)
           in base al browser utilizzato.
        4) Imposta gli z-index dei vari controlli per gestire gli effetti di sovraimpressione.
    
**/

function NetSellGui_Init() {

    // Determina il tipo di browser utilizzato dall'utente
    var BrowserParse = navigator.userAgent.toString();
    
    // Controlla se è nella lista dei browser sicuri
    var itBrowser;
    var isCompatible = false;
    var ParseString;
    for (itBrowser in NetSell_Global_OK_Browser) {
        ParseString = "(" + NetSell_Global_OK_Browser[itBrowser] + ")+";
        if (BrowserParse.match(ParseString) != null) { isCompatible = true;break; }       
    }

    // Se il browser non è compatibile avverte l'utente. Nel caso in cui sia attiva
    // la funzione di ridirezione verso qualche latra pagina la esegue.
    if (!isCompatible) {
        if (NetSellGui_Costumize_NotCompatibleBrowserRedirectionActive)
        { alert(NetSell_Global_NotCompatibleBrowser_Text); location.href = NetSellGui_Costumize_NotCompatibleBrowserRedirectionURI; return true; }
    }
    
    // In fase di migrazione da un altro sistema può essere utile permette all'utente
    // di continuare ad utilizzare quello vecchio se disponibile
    if (NetSellGui_Costumize_UpgradingToNetSellRedirectionActive) {
        if (confirm(NetSellGui_Costumize_UpgradingToNetSell_Text) == false)
        { location.href = NetSellGui_Costumize_NotCompatibleBrowserRedirectionURI; return true; }
    }

    

    // Applica lo stile alla MasterPage.
    var NetSell_MasterBody = document.getElementById("NetSellGui_MasterPageBody");
    NetSell_MasterBody.style.backgroundImage = 'url(\'' + NetSell_XalpServiceUrl + '/layout/Theme/' + NetSell_ThemeName + '/MasterPage/background.gif\')'
    
    
    
    // Inizializza il controllo BarraCategoria.
    if (BarraCategorie_Init() == true) {
        BarraCategorie_MostraBarra();
     // PROMETHEUS: Disattivazione barra categorie
     //   var _param = new Array();
      //  _param['serviceType'] = 'RequestCategoriePrincipali';
       // invoke(NetSell_XalpServiceUrl + '/CommonService/CommonRequest.aspx', _param, 'BarraCategorie_InitBody_XalpCallBack', 25000);
       // _param = null;
    }
    
    // Inizializza il controllo UpScreenTaskBar
    if (UpScreenTaskBar_Init() == true) {

        // Impostazione del logo o del testo nel primo box
        if (!NetSellGui_UpScreenTaskBar_UseImageForLogo)
            UpScreenTaskBar_SetLogoText(NetSellGui_Costumize_UpScreenTaskBar_LogoText);
        else
        // Controlla se deve abilitare il logo o il testo
            UpScreenTaskBar_SetLittleLogoVisibility('visible');
            

        // Imposta il testo visualizzato nella barra superiore
        UpScreenTaskBar_SetHomeBtnText(NetSellGui_Costumize_UpScreenTaskBar_HomeText);
        UpScreenTaskBar_SetUserAreaBtnText(NetSellGui_Costumize_UpScreenTaskBar_UserAreaText);
        UpScreenTaskBar_SetCarrelloBtnText(NetSellGui_Costumize_UpScreenTaskBar_CarrelloText);
        UpScreenTaskBar_SetPromozioniBtnText(NetSellGui_Costumize_UpScreenTaskBar_PromozioniText);
        UpScreenTaskBar_SetContattiBtnText(NetSellGui_Costumize_UpScreenTaskBar_ContattiText);
        UpScreenTaskBar_SetLiveChatBtnText(NetSellGui_Costumize_UpScreenTaskBar_LiveChatText);

       
        // Determina l'utente corrente
        var _param = new Array();
        _param['serviceType'] = 'RequestCurrentSID';
        invoke(NetSell_XalpServiceUrl +'/CommonService/CommonRequest.aspx', _param, 'UpScreenTaskBar_RequestSID_XalpCallBack', 15000);
        _param = null;
        }

        // Inizializza il controllo SearchBar
        if (SearchBar_Init() == true) {
            // Controlla l'impostazione del flag NetSellGui_Costumize_IsActiveSearch per determinare
            // se utilizzare o meno la ricerca.
            if (NetSellGui_Costumize_IsActiveSearch == true)
            { document.getElementById("SearchBar_RicercaDiv").style.visibility = "visible"; }
        }

        // Inizializza il controllo fbstyleChat
        if (fbStyleChat_Init() == true) {  }



        // Se il Flag è attivo utilizza la MinKartInfoBar. Richiama KartService
        // PROMETHEUS: MinKartInfo verrà sempre visualizzato. E' stata eliminata una variabile in globarVar... attenzione
        NetSellGui_Raise_MinKartWinUpdate();
        
        
        // Se il flag è attivo utilizza BigLogo e ridimensiona la upScreenTaskBar
        if (NetSellGui_UpScreenTaskBar_UseBigLogo == true) {
            UpScreenTaskBar_SetBigLogoVisibility('visible');
        }


        

    // Imposta il tipo di browser e mantiene in memoria informazioni
    // chiave per determinare come disegnare il layout per rendere
    // compatibile il sistema con i vari browser.
    NetSell_Global_BrowserName = navigator.appName;
    NetSell_Global_BrowserVersion = navigator.appVersion;
    NetSell_Global_UserAgent = navigator.UserAgent;
      
    

    // Inizializza il contenitore principale interno alla pagina per permettere
    // la visualizzazione delle varie pagine senza effettuare il refresh
    NetSellGui_CleanDivSpaceInit(NetSell_Global_BrowserName);
    
    // Imposta gli zIndex dei vari controlli
    document.getElementById("BarraCategorie_UserControl").style.zIndex = 1;
    document.getElementById("UpScreenTaskBar_UserControl").style.zIndex = 1;
    document.getElementById("BottomScreenBar_UserControl").style.zIndex = 1;

    // Richiama la funzione di CallBack per l'inizializzazione Costum
    NetSellGui_InitPrivate_CallBack(NetSellGui_Costumize_TypeOfInitCleanSpacediv);

    return 0;

    }

// Funzione di CallBack per i dati per la barra categorie. 
function BarraCategorie_InitBody_XalpCallBack(_xO) 
{
        if (_xO['result'] == '0') {
        var it;
        for (it in _xO['resultList']) {
            if (NetSellGui_Costumize_EnableImageOnBarraCategorie==true)
                BarraCategorie_AddItem(_xO['resultList'][it]['cdgmv'], _xO['resultList'][it]['dsgmv'], _xO['resultList'][it]['ImageLink'], _xO['resultList'][it]['cdgmv'], _xO['resultList'][it]['isNew'], _xO['resultList'][it]['typeOfVis']);        
            else
                BarraCategorie_AddItem(_xO['resultList'][it]['cdgmv'], _xO['resultList'][it]['dsgmv'], null, _xO['resultList'][it]['cdgmv'], _xO['resultList'][it]['isNew'], _xO['resultList'][it]['typeOfVis']);
        }
        // Determina se la barra categorie deve essere aperta o chiusa in base al parametro
        // di personalizzazione
        if (NetSellGui_Costumize_StateOfBarraCategorie == 1)
            BarraCategorie_MostraBarra();
    }
    else {alert('Si è verificato un errore durante l\'avvio dell\'interfaccia grafica. Riprovare di nuovo.'); }
}

// Funzione di CallBack per la richiesta del SID. Questa funzione gestisce l'evento
// di ritorno della chiamata Xalp per la richiesta al server remoto del SID corrente.
function UpScreenTaskBar_RequestSID_XalpCallBack(_xO) {
        NetSell_Global_CurrentSessionID = _xO['SID'];
        if (NetSell_Global_CurrentSessionID == "-1") 
            UpScreenTaskBar_SetNomeUtente(NetSell_Global_CurrentSessionID_AnonimousText);
        else 
        {
            UpScreenTaskBar_SetNomeUtente(_xO['RASCL']);
        }
}










