using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page 
{
    string[] sporsmaal = { "Hvor gjelder forbudtskilt hvis ikke annet er angitt", "Hvordan foretar du best mulig bremsing og unnastyring", "Regnes det som parkering dersom føreren sitter igjen i bilen mens passasjer er for å handle" };
    string[] alt1 = {"Fra skiltet og til skiltet blir opphevet","Kopling ned, brems, slipp brems, styr unna","Ja"};
    string[] alt2 = {"Fra skiltet og 200 meter fremover","Brems, kopling ned, slipp brems, styr unna","Nei"};
    string[] alt3 = {"Fra skiltet til nærmeste vegkryss","Brems, kopling ned, styr unna, slipp brems","Ja, men bare hvis bilen står mer enn 5 min"};
    string[] alt4 = {"Strekningen fra 50 m etter skiltet til 250 m etter skiltet","Kopling ned, brems, styr unna, slipp brems","Ja, men bare hvis bilen står mer enn 15 min"};
    string[] bilder = { "bilde1.jpg", "bilde2.jpg", "bilde3.jpg" };
    int[] rett = {3,1,1};
    int[] svart = {0,0,0};


    int sporsmaalIndex=0;

    public void SettSporsmaal(int index)
    {
        labSporsmaal.Text=sporsmaal[index]+"?";
        rblSvaralternativer.Items[0].Text = alt1[index];
        rblSvaralternativer.Items[1].Text = alt2[index];
        rblSvaralternativer.Items[2].Text = alt3[index];
        rblSvaralternativer.Items[3].Text = alt4[index];
        labMelding.Text = "Sporsmaal "+(index+1)+" av "+sporsmaal.Length;
        imgBilde.ImageUrl = bilder[index];
        imgBilde.Width = 250;
        imgBilde.Height = 200;

    }

    public void LagOppsummering()
    {
        rblSvaralternativer.Visible = false;
       
        btnSvar.Visible = false;
        labSporsmaal.Visible = false;
        imgBilde.Visible = false;

        int rette=0;
        string feil="";

        for(int i =0;i<sporsmaal.Length;i++)
        {
            if(svart[i]==rett[i])
            {
                rette++;
            }
            else
            {
                string rettSvar="";
                if(rett[i]==1)
                {
                    rettSvar=alt1[i];
                }
                else if(rett[i]==2)
                {
                    rettSvar=alt2[i];
                }
                else if(rett[i]==3)
                {
                    rettSvar=alt3[i];
                }
                else if(rett[i]==4)
                {
                    rettSvar=alt4[i];
                }
                feil+=sporsmaal[i]+"? (Rett svar: "+rettSvar+")<br />";
            }
        }

        double prosent = (rette*1.0/sporsmaal.Length) * 100;
        labMelding.Text = "Gratulerer...Du fikk " + rette + " rette av " + sporsmaal.Length + " mulige<br />";
        labMelding.Text += "Dette tilsvarer en prosentandel på "+prosent.ToString("N2")+" %<br />";
        labMelding.Text += "Du svarte feil på følgende spørsmål:<br /><br />";
        labMelding.Text += feil;
    }


    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["sporsmaalIndex"] != null)
        {
            sporsmaalIndex = (int)Session["sporsmaalIndex"];
        }
        if (Session["svart"] != null)
        {
            svart = (int[])Session["svart"];
        }
        SettSporsmaal(sporsmaalIndex);
    }

    protected void Page_Unload(object sender, EventArgs e)
    {
        Session["sporsmaalIndex"] = sporsmaalIndex;
        Session["svart"] = svart;
    }

    protected void btnSvar_Click(object sender, EventArgs e)
    {


        svart[sporsmaalIndex] = Convert.ToInt16(rblSvaralternativer.SelectedValue);
       
        
        sporsmaalIndex++;
        rblSvaralternativer.SelectedIndex = 0;


        if (sporsmaalIndex < sporsmaal.Length)
        {
            SettSporsmaal(sporsmaalIndex);
        }
        else
        {
            LagOppsummering();
        }

    }
}
