private void SearchingThread()
        {
            try
            {

                string url = "http://115.71.236.224:8081/searchMusicVideoInformationForPage?query=";
                string query = url + queryString +"&page=" + cur_page;
                JsonArrayCollection items = JSONHelper.getJSONArray(query);
                
                if (items.Count > 0)
                {
                    //MessageBoxOrange.ShowDialog(col.Count.ToString());

                    Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                    {
                        
                        foreach(JsonObjectCollection item in items)
                        {
                            
                            string resultURL = item["url"].GetValue().ToString().Replace("http://www.youtube.com/watch?v=", "");
                            //string resultPlayTime = ConvertTimespanToString.ToReadableString(item["time"].GetValue().ToString());
                            string resultPlayTime = item["time"].GetValue().ToString();
                            string resultTitle = item["title"].GetValue().ToString();
                            MusicItem mitem = new MusicItem();
                            mitem.title = resultTitle;
                            mitem.time = resultPlayTime;
                            mitem.url = resultURL;
                            musicCollection.Add(mitem);

                           
                        }
                        if (items.Count >= 17)
                        {
                            morebtn.Visibility = Visibility.Visible;
                        }
                        main_page.SetProgressRing(false, 0);
                        main_page.Visibility = Visibility.Collapsed;

                    }));

                }
                else
                {
                    Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                    {
                        MessageBoxOrange.ShowDialog("Warning", "There is no result");
                        
                        main_page.SetProgressRing(false, 0);
                        main_page.Visibility = Visibility.Visible;

                    }));

                }
            }catch(Exception e)
            { 
                  Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate
                    {
                        MessageBoxOrange.ShowDialog("Exception", e.Message);
                       main_page.SetProgressRing(false, 0);
                       main_page.Visibility = Visibility.Visible;
                    }));

            }          
       
        }
 private void SelectCurrentMusicItemInPlayList(MusicItem item)
 {            
     int idx = myPlayListCollection.IndexOf(item);
     myPlayList.SelectedIndex = idx;
 }
        private void PlayMusic(MusicItem item)
        {
            try {


                if (item == null)
                    return;

                if (UI_Flag.IsShowingVideo && !main_menu.IsFavoritePanel)
                {
                    if (top_content.Children.Count == 0)
                    {
                        webBrowser.Visibility = Visibility.Visible;
                    }
                    
                }
                else if (!UI_Flag.IsShowingVideo || main_menu.IsFavoritePanel)
                { webBrowser.Visibility = Visibility.Hidden; }


                if (Player_State.playCount == 30)
                {
                   
                    webBrowser.Visibility = Visibility.Hidden;
                    WebBrowserHelper.ClearCache();
                    //webBrowser.Refresh();
                    webBrowser.Navigate(URL.YOUTUBEPLAYER_URL_RELOAD);
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    GC.Collect();
                    Player_State.playCount = 0;

                    Console.WriteLine("Refresh");

                    init_progress.Visibility = Visibility.Visible; 
                    Configbtn.IsEnabled = false;
                    Informationbtn.IsEnabled = false;
                    CurrentItem = item;
                }
                else
                {
                    webBrowser.InvokeScript("loadVideoById", new String[] { item.url });
                    if (NotifyCurrentItem.Checked)
                        setBalloonTip(item.title);


                    Player_State.playCount++;

                    Player_State.IsPlaying = true;
                    webBrowser.InvokeScript("setVolume", new String[] { Player_State.VolumeValue });

                    if (Config.IsMute)
                        webBrowser.InvokeScript("Mute");

                    CurrentItem = item;
                    Music_title.Text = item.title;
                    SelectCurrentMusicItemInPlayList(item);
                    myPlayList.ScrollIntoView(item);
                }




            }
            catch (Exception e) {
                MessageBoxOrange.ShowDialog("Warning", "Try again.\n\n" + e.Message.ToString());
                
                
            }
            
        }
        public void NextMusic()
        {
            if (CurrentItem == null)
                return;
           // MessageBoxOrange.ShowDialog("끗");
            dt.Stop();

            if (Properties.Settings.Default.REPEAT <= 1)
            {
                for(int i=0 ; i<playlist.Count; i++)
                {
                    if(playlist[i].Equals(CurrentItem))
                    {
                        
                        if(i == playlist.Count-1)
                        {
                            CurrentItem = playlist[0];
                        }
                        else
                        {
                            CurrentItem = playlist[i + 1];
                        }

                        PlayMusic(CurrentItem);

                        return;
                    }
                }
            }
//             else if (Config.REPEAT == 0)
//             {
//                 for (int i = 0; i < playlist.Count; i++)
//                 {
//                     if (playlist[i].Equals(CurrentItem))
//                     {
// 
//                         if (i != playlist.Count - 1)
//                         {
//                             CurrentItem = playlist[i + 1];
//                         }
//                         else
//                         {
//                             Player_State.IsPlaying = false;
//                             return;
//                         }
// 
//                         PlayMusic(CurrentItem);
//                         return;
//                     }
//                 }
//             }
            else if (Properties.Settings.Default.REPEAT == 2)
            {
                PlayMusic(CurrentItem);
                return;
            }
        }
        private void Previous_item()
        {
            if (CurrentItem == null)
                return;
            if (Properties.Settings.Default.REPEAT == 2)
            {
                PlayMusic(CurrentItem);
                return;
            }

            for (int i = 0; i < playlist.Count; i++)
            {


                if (playlist[i].Equals(CurrentItem))
                {

                    if (i != 0)
                    {
                        CurrentItem = playlist[i - 1];
                    }
                    else if (i == 0)
                    {
                        CurrentItem = playlist[playlist.Count - 1];
                    }

                    PlayMusic(CurrentItem);
                    return;
                }
            }
        }