private void TopFolderButton_Click(object sender, RoutedEventArgs e)
        {
            myFolder selected = foldersListView.SelectedItem as myFolder;

            folderSource.Remove(selected);
            //foldersListView.Items.Insert(0, selected);
            //foldersListView.SelectedIndex = 0;
            folderSource.Insert(0, selected);
            foldersListView.SelectedIndex = 0;
            refreshFolderListView();
        }
        public void MoveFolderItem(int direction)
        {
            if (foldersListView.SelectedItem == null || foldersListView.SelectedIndex < 0)
            {
                return;
            }

            int newIndex = foldersListView.SelectedIndex + direction;

            if (newIndex < 0 || newIndex >= foldersListView.Items.Count)
            {
                return;
            }

            myFolder selected = foldersListView.SelectedItem as myFolder;

            //foldersListView.Items.Remove(selected);
            //foldersListView.Items.Insert(newIndex, selected);
            folderSource.Remove(selected);
            folderSource.Insert(newIndex, selected);
            foldersListView.SelectedIndex = newIndex;
        }
        public static myFolder createFolderStructure(string s, Folder folder, int indent)
        {
            myFolder fold = new myFolder();
            fold.children = new List<myFolder>();

            if (folder.Name == "")
            {
                fold.name = "root";
            } else {
                fold.name = folder.Name;
            }

            /*
             * INIT DATA FOR ATTRIBUTES
             */
            fold.size = new int();
            try{
                fold.size = folder.Size;
            }
            catch (System.InvalidOperationException e) {
                fold.size = 0;
            }

            fold.Created = folder.Created;
            fold.Role = folder.Role;
            fold.SharedLink = folder.SharedLink;
            fold.Updated = folder.Updated;
            //public DateTime Created { get; set; }
            //public string Role { get; set; }
            //public string SharedLink { get; set; }
            //public DateTime Updated { get; set; }

            string reqStr2 = "https://www.box.net/api/1.0/rest?action=get_collaborations&api_key=" + api_key + "&auth_token=" + boxProvider.authToken() + "&target=folder&target_id=" + folder.ID;
            string resp2 = getWebRequest(reqStr2);
            string respFin = "";
            while (resp2.IndexOf("<name>") > 0)
            {
                respFin += resp2.Substring(resp2.IndexOf("<name>") + 6, resp2.IndexOf("</name>") - resp2.IndexOf("<name>") - 6) + "~";
                resp2 = resp2.Substring(resp2.IndexOf("</name>") + 7);
            }

            myFolder collabs2 = new myFolder();
            collabs2.name = "Collaborators";
            collabs2.children = new List<myFolder>();

            String[] respSplit2 = respFin.Split('~');
            myFolder user = new myFolder();
            user.name = login;

            collabs2.children.Add(user);
            foreach (String collabName in respSplit2)
            {
                if (collabName != "")
                {
                    myFolder collab = new myFolder();
                    collab.name = collabName;
                    collabs2.children.Add(collab);
                }
            }

            fold.children.Add(collabs2);

            foreach (BoxSync.Core.Primitives.File file in folder.Files)
            {
                string reqStr = "https://www.box.net/api/1.0/rest?action=get_collaborations&api_key=" + api_key + "&auth_token=" + boxProvider.authToken() + "&target=file&target_id=" + file.ID;
                string resp = getWebRequest(reqStr);
                string respFin1 = "";
                while (resp.IndexOf("<name>") > 0)
                {
                    respFin1 += resp.Substring(resp.IndexOf("<name>") + 6, resp.IndexOf("</name>") - resp.IndexOf("<name>") - 6) + "~";
                    resp = resp.Substring(resp.IndexOf("</name>") + 7);
                }

                myFolder fileStruct = new myFolder();
                fileStruct.children = new List<myFolder>();
                fileStruct.size = file.Size;

                myFolder collabs = new myFolder();
                collabs.name = "Collaborators";
                collabs.children = new List<myFolder>();

                String[] respSplit99 = respFin1.Split('~');

                collabs.children.Add(user);
                foreach (String collabNames in respSplit99)
                {
                    if (collabNames != "")
                    {
                        myFolder collab = new myFolder();
                        collab.name = collabNames;
                        collabs.children.Add(collab);
                    }
                }

                fileStruct.children.Add(collabs);

                fileStruct.name = file.Name;
                fold.children.Add(fileStruct);
            }

            foreach (Folder subFolder in folder.Folders)
            {
                fold.children.Add(createFolderStructure(s, subFolder, indent + 1));
            }

            return fold;
        }