using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{

    private string navn;

    private string[] bilder = {"Kvadrat.png","Trekant.png","Sirkel.png","Rombe.png","Trapes.png"};
    private string[] bilderStokket;
    private int riktig = -1;
    private int antallForsok = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["riktig"] != null)
        {
            riktig = (int)Session["riktig"];
        }
        if (Session["antallForsok"] != null)
        {
            antallForsok = (int)Session["antallForsok"];
        }
        if (Session["bilderStokket"] != null)
        {
            bilderStokket = (string[])Session["bilderStokket"];
        }



        VisOppgave();
     
    }


    protected void Page_Unload(object sender, EventArgs e)
    {
   
        Session["riktig"] = riktig;
        Session["antallForsok"] = antallForsok;
        Session["bilderStokket"] = bilderStokket;
    }

    protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
    {

    }
    protected void btnAngi_Click(object sender, EventArgs e)
    {
        navn = txtNavn.Text;
        labHilsen.Text = "Velkommen " + navn + "!";
    }
    protected void btnVidere_Click(object sender, EventArgs e)
    {
        if (navn == "")
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "Advarsel", "alert('Du må angi et navn før du går videre...');", true);
        }
        else
        {
            riktig = -1;
            antallForsok = 0;
            LagOppgave();
            VisOppgave();
            MultiView1.ActiveViewIndex = 0;
            labForsok.Visible = false;

        }
    }

    protected void GenererBilderemse()
    {
        string s = "";

       
    }


    protected void Figur_Click(object sender, EventArgs e)
    {


        antallForsok++;
        if(((ImageButton)sender).ImageUrl == bilder[riktig])
        {
            labMelding.Text = "";
            labForsok.Text += "<br />Du brukte " + antallForsok + " forsøk på oppgave " + (riktig + 1);
            LagOppgave();
            VisOppgave();
            antallForsok = 0;
        }
        else
        {
            labMelding.Text = "Du har gjort " + antallForsok + " forsøk på oppgaven<br/><br/>";
        }
    }

    protected void LagOppgave()
    {
        riktig++;

        bilderStokket = new string[bilder.Length];
        bilder.CopyTo(bilderStokket, 0);

       Random r = new Random();
      
        for (int j = 0; j <bilder.Length*2; j++)
        {
            int i = r.Next(bilder.Length);
            int p = r.Next(bilder.Length);
            
            string temp = bilderStokket[i];
            bilderStokket[i]=bilderStokket[p];
            bilderStokket[p]=temp;

        }


            
    }

    protected void VisOppgave()
    {


 
        panelKnapper.Controls.Clear();


        if (riktig < 0)
        {
            return;
        }

        if (riktig >= bilder.Length)
        {
            labHovedbilde.Text = "Gratulerer. Du har gjennomført alle oppgavene";
            labForsok.Visible = true;
            return;
        }
        labHovedbilde.Text = "<img src=" + bilder[riktig] + ">";

        for (int i = 0; i < bilderStokket.Length; i++)
        {
            ImageButton ib = new ImageButton();
            ib.ImageUrl = bilderStokket[i];
            ib.Click += new ImageClickEventHandler(Figur_Click);
            panelKnapper.Controls.AddAt(0,ib);


        }
    }
}
