/*
 * ${res:XML.StandardHeader.CreatedBySharpDevelop}
 * ${res:XML.StandardHeader.User} ${USER}
 * ${res:XML.StandardHeader.Date} ${DATE}
 * ${res:XML.StandardHeader.Time} ${TIME}
 * 
 * ${res:XML.StandardHeader.HowToChangeTemplateInformation}
 */

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;

namespace Explorer
{
	/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		public MainForm()
		{
		
			InitializeComponent();
			
		}
		
		void MainFormLoad(object sender, EventArgs e)
		{
			PridejList();
            textBox1.Text = "http://deader.ic.cz/Deavie/pages/prazdna.html";
            NastavTitulek(false);
            NactiOblíbené();
		}

        private void NactiOblíbené()
        {
            FileInfo soubor = new FileInfo("bookmarks.html");
            TextReader snímač=soubor.OpenText();
            string radek=snímač.ReadLine();
            int oblibena = 1;
            //while (radek != null)
            //{
                //MessageBox.Show(radek);
                /*Button button14 = new System.Windows.Forms.Button();
                button14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Top)));
                button14.Location = new System.Drawing.Point(0, 0);
                button14.Margin = new System.Windows.Forms.Padding(5, 0, 0, 0);
                button14.Name = "button"+oblibena.ToString();
                button14.Size = new System.Drawing.Size(500, 5000);
                button14.TabIndex = 57;
                button14.Text = oblibena.ToString()+".záložka";
                button14.UseVisualStyleBackColor = true;
                button14.Click += new System.EventHandler(this.button4_Click);
                radek = snímač.ReadLine();
                oblibena++;*/
            //}
        }
		
		void PridejList()
		{		
			TabPage list = new TabPage("Nový list");
            // Přidá jí do komponenty TabControl
			tabControl1.TabPages.Add(list);
            // Vytvoří nové okno prohlížeče
		    WebBrowser wb = new WebBrowser();
            wb.Anchor = AnchorStyles.Right & AnchorStyles.Bottom;
			wb.Dock = DockStyle.Fill;
			// Přidá prohlížeč na záložku
            list.Controls.Add(wb);		
            // Registruje událost dokončení stahování stránky
			wb.Navigated += new WebBrowserNavigatedEventHandler(Navigovano);
            tabControl1.SelectedTab = list;
		}
		void Navigovano(object sender, EventArgs e)
		{
			NastavTitulek(true);
		}
		void NovýListToolStripMenuItemClick(object sender, EventArgs e)
		{
			PridejList();
            textBox1.Text = "http://deader.ic.cz/Deavie/pages/prazdna.html";
            NastavTitulek(false);
		}
			
		void NastavTitulek(bool navigovano)
		{				
			    label2.Text = "Načítám...";
                // Vybere záložku s aktuálně zobrazeným prohlížečem
			    TabPage vybranyList = tabControl1.SelectedTab;
                // Vybere okno prohlížeče této záložky
			    WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
                // Registruje událost oznamující dokončení stahování
                //vybranyBrowser.ScriptErrorsSuppressed = false;
		     	//vybranyBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Hotovo);
                SuppressScriptErrorsOnly(vybranyBrowser);
			    if (!navigovano)
			    vybranyBrowser.Navigate(textBox1.Text);
			    else
			    textBox1.Text = vybranyBrowser.Url.ToString();
                // Nastaví titulek záložky na název webové stránky
			    vybranyList.Text = vybranyBrowser.DocumentTitle;
				this.Text = vybranyBrowser.DocumentTitle;
				
		}


        // Hides script errors without hiding other dialog boxes.
        private void SuppressScriptErrorsOnly(WebBrowser browser)
        {
            // Ensure that ScriptErrorsSuppressed is set to false.
            browser.ScriptErrorsSuppressed = false;

            // Handle DocumentCompleted to gain access to the Document object.
            browser.DocumentCompleted +=
                new WebBrowserDocumentCompletedEventHandler(
                    browser_DocumentCompleted);
        }

        private void browser_DocumentCompleted(object sender,
            WebBrowserDocumentCompletedEventArgs e)
        {
            //((WebBrowser)sender).Document.Window.Error +=
             //   new HtmlElementErrorEventHandler(Window_Error);
        }

        private void Window_Error(object sender,
            HtmlElementErrorEventArgs e)
        {
            // Ignore the error and suppress the error dialog box. 
            e.Handled = true;
        }


		void Hotovo(object sender, EventArgs e)
		{
			label2.Text = "Hotovo";
            ((WebBrowser)sender).Document.Window.Error +=
        new HtmlElementErrorEventHandler(Window_Error);
        }

		void TextBox1KeyPress(object sender, KeyPressEventArgs e)
		{
            // Pokud byla vybrána webová adresa klávesou Enter...
			if ((int)e.KeyChar == 13)
			{
                // ...bude načtena webová stránka
				NastavTitulek(false);
			}
		}

        void TabControl1SelectedIndexChanged(object sender, EventArgs e)
        {
            // Vybere aktuální záložku
            TabPage vybranyList = tabControl1.SelectedTab;
            // Vybere okno prohlížeče na této záložce
            WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
            if (vybranyBrowser.Url != null)
            {
                textBox1.Text = vybranyBrowser.Url.ToString();
                this.Text = vybranyBrowser.DocumentTitle;
            }
        }
		
		void label2Click(object sender, EventArgs e)
		{
			
		}
		
		void ZdrojovýKódToolStripMenuItemClick(object sender, EventArgs e)
		{
		   TabPage vybranyList = tabControl1.SelectedTab;
		   WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
		   Zdrojak zd = new Zdrojak(vybranyBrowser.DocumentText);
		   zd.Show();
		}
		
		void CeláObrazovkaToolStripMenuItemClick(object sender, EventArgs e)
		{
			if (celaObrMenuItem.Checked)
			{
                // Odstraní titulkovou lištu
		    	this.FormBorderStyle = FormBorderStyle.None;
                // Maximalizuje okno
			    this.WindowState = FormWindowState.Maximized;
			}
			else
			{
		       this.FormBorderStyle = FormBorderStyle.Sizable;
			   this.WindowState = FormWindowState.Normal;		
			}
				
		}
		
		void Button1Click(object sender, EventArgs e)
		{
			 TabPage vybranyList = tabControl1.SelectedTab;
		   WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
		   vybranyBrowser.GoBack(); // Jde na předchozí stránku
		}
		
		void Button2Click(object sender, EventArgs e)
		{
		   TabPage vybranyList = tabControl1.SelectedTab;
		   WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
		   vybranyBrowser.GoForward(); // Jde na další stránku
		}
		
		void Button3Click(object sender, EventArgs e)
		{
			 TabPage vybranyList = tabControl1.SelectedTab;
		   WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
		   vybranyBrowser.Refresh(); // Obnoví stránku
		}
		
		void VlastnostiToolStripMenuItemClick(object sender, EventArgs e)
		{
			 TabPage vybranyList = tabControl1.SelectedTab;
		     WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
            // Zobrazí dialog s informacemi o stránce
		     vybranyBrowser.ShowPropertiesDialog();
		}
		
		void TiskToolStripMenuItemClick(object sender, EventArgs e)
		{
			 TabPage vybranyList = tabControl1.SelectedTab;
		   WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
            // Zobrazí dialog pro tisk dané stránky
		   vybranyBrowser.ShowPrintDialog();
		}
		
		void UložitToolStripMenuItemClick(object sender, EventArgs e)
		{
            TabPage vybranyList = tabControl1.SelectedTab;
            WebBrowser vybranyBrowser = (WebBrowser)vybranyList.Controls[0];
            // Zobrazí dialog pro uložení 
            SaveFileDialog sf = new SaveFileDialog();
            // pokud si uživatel vybere místo kam chce zdrojový
            // kód uložit...
            if (sf.ShowDialog() == DialogResult.OK)
            {
                // bude uložen metodou WriteAllText třídy System.IO.File
                System.IO.File.WriteAllText(sf.FileName, vybranyBrowser.DocumentText);
            }
		}

        private void button4_Click(object sender, EventArgs e)
        {
            NastavTitulek(false);
        }


        private void prejitna(object sender, EventArgs e)
        {
            textBox1.Text = "google.com";
            NastavTitulek(false);
        }



   
		
		
	}
}
