/// <summary>
        ///  Get xml file tree for
        ///  constructing menu Items node
        /// </summary>
        /// <param name="path"></param>
        //public MenuViewModel(Dictionary<CSMenuGalatee, List<TreeNodes>> dico, string assemblyName)
        //{
        //    mvvmMenuItem = new Galatee.Silverlight.Library.MenuItem()
        //    {
        //        Name = "Root"
        //    };

        //    // Construct menu tree view  from dictionnary data

        //    foreach (KeyValuePair<CSMenuGalatee, List<TreeNodes>> menu in dico)
        //    {
        //        var mnuFile = new Galatee.Silverlight.Library.MenuItem() { Name = assemblyName + "." + menu.Key.MenuID.ToString(), Text = menu.Key.MenuText };
        //        if (menu.Value.Count != 0 && menu.Value != null)
        //            foreach (TreeNodes sousmenu in menu.Value) // pour chaque sous menu
        //                //if (sousmenu.Enfants != null && sousmenu.Enfants.Count != 0)
        //                mnuFile.Add(new Galatee.Silverlight.Library.MenuItem() { Name = assemblyName + "." + sousmenu.Tag.FormName, Text = sousmenu.Tag.MenuText });
        //        mvvmMenuItem.Add(mnuFile);
        //    }
        //}


        public MenuViewModel(Page main, Dictionary <ServiceAuthenInitialize.CSMenuGalatee, List <ServiceAuthenInitialize.TreeNodes> > dico, string assemblyName, string _module)
        {
            try
            {
                innerpage = main;
                SessionObject.moduleCourant = _module;
                mvvmMenuItem = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Root"
                };

                // Construct menu tree view  from dictionnary data

                foreach (KeyValuePair <ServiceAuthenInitialize.CSMenuGalatee, List <ServiceAuthenInitialize.TreeNodes> > menu in dico)
                {
                    //Recupération du tdem
                    int?Tdem = null;

                    if ((menu.Value != null) && (menu.Value.Count != 0))
                    {
                        foreach (var item in menu.Value)
                        {
                            if (item.Tag.FormName == "UcInitialisation")
                            {
                                Tdem = item.Tag.Tdem;
                            }
                        }

                        var mnuHeader = new Galatee.Silverlight.Library.MenuItem()
                        {
                            Name = assemblyName + "." + menu.Key.MenuID.ToString(), Text = menu.Key.MenuText, Title = menu.Key.MenuID.ToString(), Module = menu.Key.Module, MenuID = menu.Key.MenuID, FormName = menu.Key.FormName, TypeReedition = menu.Key.TypeReedition, Tdem = Tdem
                        };
                        if (menu.Value != null && menu.Value.Count != 0)
                        {
                            RecursifFunct(mnuHeader, menu.Value, assemblyName);
                        }
                        mvvmMenuItem.Add(mnuHeader);
                    }
                }
                //MessageBox.Show("fin MenuViewModel");
                // if(UserConnecte.codefontion == "001")
                //CreateOptionsMenu();
            }
            catch (Exception ex)
            {
                Message.ShowError(ex.Message, Galatee.Silverlight.Resources.Caisse.Langue.LibelleModule + "MenuViewModel");
                throw ex;
            }
        }
        void CreateOptionsMenu()
        {
            try
            {
                var mnuFile = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "options", Text = "Options"
                };

                var mnulangue = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "langue", Text = "Change Language"
                };
                var mnuSeparator1 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuSeparator1", Text = "-"
                };
                var mnuANG = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "anglais", Text = "English-US", IsCheckable = true
                };
                var mnuFRANC = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "francais", Text = "French-FR", IsCheckable = true
                };
                var mnuSeparator2 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuSeparator1", Text = "-"
                };
                var config = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Galatee.Silverlight.MainView.Setting", Text = "Configure Urls"
                };

                mnuFile.Add(mnulangue);
                mnulangue.Add(mnuANG);
                mnulangue.Add(mnuSeparator1);
                mnulangue.Add(mnuFRANC);
                mnulangue.Add(config);

                mvvmMenuItem.Add(mnuFile);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Fonction recursive permet de construit un menu en profondeur
        /// Conçue ,Testée et éprouvée par Hermann GBOGUE
        /// Date 17/11/2012 Galatee
        /// </summary>
        /// <param name="mnuHeader"></param>
        /// <param name="headerItems"></param>
        void RecursifFunct(Galatee.Silverlight.Library.MenuItem mnuHeader, List <ServiceAuthenInitialize.TreeNodes> headerItems, string assemblyName)
        {
            try
            {
                if (headerItems != null && headerItems.Count > 0) // creation des items du menu principal
                {
                    mnuHeader.Iframe      = HtmlPage.Document.GetElementById(SessionObject.ModuleEnCours + "_IFRAME");
                    mnuHeader.CloseButton = HtmlPage.Document.GetElementById(SessionObject.ModuleEnCours + "_IFRAME_INPUT");
                    int i = 0;
                    foreach (ServiceAuthenInitialize.TreeNodes headerItem in headerItems)
                    {
                        //MessageBox.Show(headerItem.Tag.FormName + " "+(++i).ToString());
                        subItem = new Galatee.Silverlight.Library.MenuItem()
                        {
                            Name      = !string.IsNullOrEmpty(headerItem.Tag.FormName) ? assemblyName + "." + headerItem.Tag.FormName : assemblyName + "." + headerItem.Tag.MenuID,
                            Text      = headerItem.Tag.MenuText,
                            Title     = headerItem.Tag.MenuID.ToString(),
                            IsControl = headerItem.Tag.IsControl,
                            FormName  = headerItem.Tag.FormName,
                            MenuID    = headerItem.Tag.MenuID,
                            Tdem      = headerItem.Tag.Tdem
                        };

                        if (headerItem.Enfants != null && headerItem.Enfants.Count > 0)
                        {
                            mnuHeader.Add(subItem);
                            RecursifFunct(subItem, headerItem.Enfants, assemblyName);// fonctin récursive pour la construction du menu avec sous menu
                        }
                        else
                        {
                            mnuHeader.Add(subItem);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public MenuViewModel()
        {
            try
            {
                mvvmMenuItem = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Root"
                };

                var mnuFile = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "foperation", Text = "Operations"
                };
                var mnuEdit = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuEdit", Text = "Edit"
                };
                var mnuWindow = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuWindow", Text = "Window"
                };
                var mnuHelp = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuHelp", Text = "Help"
                };

                var mnuNew = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Galatee.Silverlight.Caisse.FrmEncaissement", Text = "Collection"
                };
                var mnuSeparator1 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuSeparator1", Text = "-"
                };
                var mnuOpenFile = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Galatee.Silverlight.Caisse.FrmEncaissementManuel", Text = "Input Manuel Payment"
                };
                var mnuSaveFile = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "Galatee.Silverlight.Caisse.UCListeCodeRegroupement", Text = "@@@@@"
                };
                var mnuCloseFile = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuClose", Text = "Close File", IsEnabled = false
                };
                var mnuSeparator2 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuSeparator2", Text = "-"
                };
                var mnuExit = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuExit", Text = "Exit"
                };

                //var mnuNewFile = new Galatee.Silverlight.Library.MenuItem() { Name = "mnuNewFile", Text = "New File" };
                //var mnuNewProject = new Galatee.Silverlight.Library.MenuItem() { Name = "mnuNewProject", Text = "New Project" };
                //var mnuNewSolution = new Galatee.Silverlight.Library.MenuItem() { Name = "mnuNewSolution", Text = "New Solution" };

                var mnuCut = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuCut", Text = "Cut"
                };
                var mnuCopy = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuCopy", Text = "Copy"
                };
                var mnuPaste = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuPaste", Text = "Paste"
                };
                var mnuDelete = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuDelete", Text = "Delete"
                };

                var mnuWindow1 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuWindow1", Text = "Window 1", IsChecked = true, IsCheckable = true
                };
                var mnuWindow2 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuWindow2", Text = "Window 2", IsChecked = false, IsCheckable = true
                };
                var mnuWindow3 = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuWindow3", Text = "Window 3", IsChecked = false, IsCheckable = true
                };

                var mnuAbout = new Galatee.Silverlight.Library.MenuItem()
                {
                    Name = "mnuViewHelp", Text = "About Silverlight Menu"
                };

                //mnuNew.Add(mnuNewFile);
                //mnuNew.Add(mnuNewProject);
                //mnuNew.Add(mnuNewSolution);

                mnuFile.Add(mnuNew);
                mnuFile.Add(mnuSeparator1);
                mnuFile.Add(mnuOpenFile);
                mnuFile.Add(mnuSaveFile);
                mnuFile.Add(mnuCloseFile);
                mnuFile.Add(mnuSeparator2);
                mnuFile.Add(mnuExit);

                mnuEdit.Add(mnuCut);
                mnuEdit.Add(mnuCopy);
                mnuEdit.Add(mnuPaste);
                mnuEdit.Add(mnuDelete);

                mnuWindow.Add(mnuWindow1);
                mnuWindow.Add(mnuWindow2);
                mnuWindow.Add(mnuWindow3);

                mnuHelp.Add(mnuAbout);

                mvvmMenuItem.Add(mnuFile);
                mvvmMenuItem.Add(mnuEdit);
                mvvmMenuItem.Add(mnuWindow);
                mvvmMenuItem.Add(mnuHelp);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }