/*
################################################################################
# Testy z anglicke gramatiky
# verze 1.20
# 28.12.2002
#
# Ondrej Svoboda => ondrasvob@email.cz, http://aj.d2.cz/
#
################################################################################
*/


/* *** Detekce browseru - globalni promenne ******** */

        var NS4 = (navigator.appName.indexOf("Netscape") >= 0 && ! document.getElementById) ? true : false;
        var IE4 = (document.all && ! document.getElementById) ? true : false;
        var IE5 = (document.getElementById && document.all) ? true : false;
        var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape") >= 0 ) ? true : false;
        var W3C = (document.getElementById) ? true : false;
        var Netscape = (NS4) ? true : false;

        var my_verze  = "1.20";
        var img_align = (Netscape) ? "texttop" : "absmiddle";
        var txt_size  = (IE4) ? 4 : 5;

/* *** Osetreni vstupu:    ************************ */

        otazka = typ = jmeno = jev_nazev = new Array();


/* *** Navigace mezi otazkami ********** */

function nextQuestions(smer)
{
/* **************************
        smer:
        10 - vyber selectem
        2  - posledni otazky
        1  - vpred o 1
        0  - vzad o 1
        -1 - prvni otazky

*****************************/

        with(document.forms[1])
        {
                switch(smer)
                {
                        case(10):
                                dol.value = qSel.selectedIndex +1;
                                break;
                        case(2):
                                dol.value = celkem - parseInt(PocetO.value) + 1;
                                break;
                        case(1):
                                var soucet   = parseInt(PocetO.value) + start;
                                dol.value = (celkem < soucet)? celkem - parseInt(PocetO.value) + 1 : soucet;
                                PocetO.value = (celkem < parseInt(PocetO.value) + soucet) ? celkem - soucet+1 : PocetO.value;
                                break;
                        case(0):
                                var soucet = start - parseInt(PocetO.value);
                                dol.value = (soucet < 1) ? 1 : soucet;
                                break;
                        case(-1):
                                dol.value = 1;
                                break;
                } // switch

                if(1)//confirm("Pokračovat otázkou č. " + dol.value + " ?"))
                {
                        submit();
                }
                else
                {
                        reset();
                }
        } // with
}

/* *** Blikani hodin:                     ********* */

function blik()
{
        var cif = (W3C) ?  document.getElementById("cifernik") : new Object(document.all.cifernik);

        cif.style.color = (cif.style.color == "black") ? "white" : "black";
        if(paused)
        {
                var interval = (cif.style.color == "black") ? 550 : 950;
                setTimeout("blik()",interval);
        }
        else
                cif.style.color = "black";
}


/* ********* start/stop hodin ********* */

function pust_hodiny(ano) {

        if(vyhodnoceno)
                return;

        var td_test = (W3C) ?  document.getElementById("td_test") : new Object(document.all.td_test);

        if(! ano && ! paused)
        {
                paused = true;
                document.images["pause"].src = "img/pause_on.gif"
                clearTimeout("hodiny()");

                if (IE5 || W3C)
                        blik();
        }
        else if(ano && paused)
        {
                paused = false;
                hodiny();
                document.images["pause"].src = "img/pause_off.gif"
                if(IE5 || W3C)
                        clearTimeout("blik()");
        }
        window.focus();
}


/* ********** pustit na jinou stranku? ************* */

function prechod(vyhodnoceno)
{
        if(! vyhodnoceno )
                return confirm("Test ještě není vyhodnocen, chcete jej opravdu opustit?")

        return true;
}


/* ********** prace se sladkostmi     ************* */

function PrectiCookie(nazev,url)
{
        var obsah     = (url) ? location.search : document.cookie;
        var delimiter = (url) ? '&' : ';';
        var start     = (url) ? '?' : ' ';
        var upravene = obsah.split(delimiter);
        var velikost = upravene.length;
        var kusy = vrat = "";

/*
document.writeln('<pre>');
resource = (url) ? 'SEARCH' : 'COOKIE:';
document.writeln(resource);
document.writeln('[nazev] => ',nazev);
document.writeln('[obsah] => ',obsah);
document.writeln('[delimiter] => ',delimiter);
document.writeln('[upravene] => ',upravene);
document.writeln('[velikost] => ',velikost);
*/
        for(i = 0; ((i < velikost) && (vrat == "")); i++)
        {
                kusy = upravene[i].split('=');

//document.writeln('[kusy] => ',kusy);

                        if(kusy[0].substring(0,1) == start)
                                kusy[0] = kusy[0].substring(1, kusy[0].length);
//document.writeln("[kusy]\n\t[0] => ",kusy[0]);

                        if(kusy[0] == nazev)
                                vrat = kusy[1];
        } /* for */

/*
document.writeln('[vrat] => ',vrat);
document.writeln('</pre><hr />');
*/
        return unescape(vrat);
}


function ZapisCookie(nazev, hodnota){

        datum = new Date();
        datum.setTime(datum.getTime() + 31536000000);
        document.cookie = nazev + "=" + escape(hodnota) + "; expires = " + datum.toGMTString();
}


/* ********** odpocet casu ************* */

function hodiny() {

        if(vyhodnoceno || paused) // uz je vyhodnoceno, nebo pauznuto - neodpocitavej
                return;

        sekund--;

        if(sekund < 0)
        {
                sekund = 59;
                minut--;
        } /* if */

        if(minut >= 0)
        {
                cas = ((minut < 10) ? "0" : "") + minut;
                cas += ((sekund < 10) ? ":0" : ":") + sekund;
                document.test.cifernik.value = cas;
                setTimeout("hodiny()",1000);
        } /* if */

        else
        {
                if(pak)
                {
                        alert('Vypršel časový limit, test bude vyhodnocen.');
                        VyhodnotVse();
                }  /* if */

                else
                      alert("Vypršel zadaný časový limit");
                } /* else */
}

/* ***************** Odznaceni odpovedi - je pauznuto! ******************/

function odznac(cisl)
{
                var i = 0;

                with (document.test)
                {
                        while( elements[i++].name != cisl)
                        ;

                        for (n = --i; n < length && elements[n].name == cisl; n++)
                                 document.test[n].checked = false;
                } // with

                alert("Je zastaven odpočet času !");
                window.focus();
                return;
}


/* ******* vyhodnocovani pro cvicny test ******* */

function vyhodnot(cisl, klik, radek){

        if(paused)
        {
                return odznac(cisl);
        }

        obraz = "hodnoceni" + radek + klik;        /* zjisteni jmena obrazku */

        if(zodp[cisl] == true )
        {
                if((spatne + dobre + 1) < pocet)
                        window.alert('Tato otázka již byla zodpovězena a proto nebude započítána do výsledku!');
        } /* if */

        else
        {
                if ((spatne + dobre + 1) == pocet)
                {
                        window.status = ('Gratuluji, všechny otázky jsou již zodpovězeny.\nNyní si můžete test zopakovat, popř. zvolit jiný klepnutím na odkaz "Menu".');
                        vyhodnoceno = true;
                } /* if */

        } /* else */


        if(odpoved[cisl] == "a")
                i = a[cisl];
        else if(odpoved[cisl] == "b")
                i = b[cisl];
        else if(odpoved[cisl] == "c")
                i = c[cisl];
        else if(odpoved[cisl] == "d")
                i = d[cisl];

/* ********* spravna odpoved ******************************* */

        if(klik == odpoved[cisl])
        {
                if (zodp[cisl] == false)
                {
                        if (vyhodnoceno != true || pak == 0)
                              dobre++;

                        kliknute[cisl] = true;
                } /* if */

                eval ("document.hodnoceni" + radek + klik + ".src = " + "ok.src");

        }
/* *************** spatna odpoved  *************************/

        else
        {
                if (zodp[cisl] == false)
                {
                        if (vyhodnoceno != true || pak == 0)
                                spatne++;

                        kliknute[cisl] = false;

                        rewise[revpocet] = cisl;        /* pridani do opakovani */
                        revpocet++;
                } /* if */

                eval ("document.hodnoceni" + radek + klik + ".src = " + "cancel.src");

        } /* else */


        SpocitejSkore(dobre,spatne,prot);

        zodp[cisl] = true;        /* tato otazka je zodpovezena */
          radek++;
        window.focus();
}


function Nuluj(){

        vyhodnoceno = false;
        spatne = dobre = 0;
        prot = true;

        for(i = 0; i < celkem; i++)
        {
                zodp[i] = false;
                kliknute[i] = false;
        } /* for */

        window.status = 'Hotovo';
        document.forms[0].reset();
        window.focus();
}

/* **** generovani nahodneho cisla ze zadaneho rozsahu **** */

function generuj(rozsah)
{
        return Math.round(Math.random()*(--rozsah));
}

/* **** Ujisteni uzivatele, ze se neco deje **** */

function ZobrazStav(radek) /* ujisteni uzivatele, ze se neco deje */
{
        var stav = "Načítá se otázka č. " + (radek + 1) + " z " + pocet;
        window.status = stav;
}


function WriteLi(choice,number,question,fce)
{
        var akce = ' onClick='+fce+'('+poradi[radek]+',"'+choice+'",'+radek+');';

        document.write('<li><input type="radio" id="', choice, poradi[radek],'" name=', poradi[radek],akce,'><img src="img/nic.gif" width="17" height="15" name="hodnoceni', radek, choice, '">');
                document.write('<label for="', choice, poradi[radek],'">',question,"</label></li>");

}


/* ********************************************************************************
 * Funkce pro vypis stranky - nacte zvolene parametry z cookies a
 * vygeneruje otazky a odpovedi dle zadanych parametru.
 * Poznamky :
 *        - poradi moznosti a,b,c,d se generuje nahodne i pri pevnem poradi otazek
 *         -
 **********************************************************************************
 */

function vypis_test(){


//        alert(document.cookie);


/* ****************** Globalni promenne  ************************************ */

/* precteni parametru z formulare: ********** */

        nahoda = parseInt(PrectiCookie("nahoda",1)); // nahodne poradi otazek
        pocet  = PrectiCookie("PocetO",1);                 // pocet otazek
        pak    = parseInt(PrectiCookie("hned",1));         // cvicny/ostry test
        celkem = otazka.length; //        PrectiCookie("celkem",1);         // celkovy pocet otazek
        vy     = parseInt(PrectiCookie("dol",1))-1;                  // 0; //
        limit  = PrectiCookie("limit",1);                         // casovy limitpocet; //

        paused = false;                                        // indikator zastaveni casovace
        vyhodnoceno = false;                                // indikator vyhodnoceni testu
        sekund = 0;                                         // sekundy pro casovac
        minut = limit;                                        // casovac
        zodp = new Array();                                // pole zodpovezenych otazek
        kliknute = new Array();                                // pole kliknutych otazek
        skut = new Array();                                // pole skutecnych cisel otazek (pro nahodne poradi)
        rewise = new Array();                                // pole opakovanych otazek
        revpocet = 0;                                        // pocet opakovanych otazek
        poradi = new Array();


/* neplatny skript s otazkami *****************/

        if(! pocet)
        {
                alert('Zvolený soubor otázek ( "' + tst + '" ) není k dispozici.\nKliknutím se vrátíte na menu.');
                location = "eng_test.php";
                return;
        }

/* nakesovani obrazku *********************** */

        ok = new Image();                ok.src = "img/ok.gif";
        cancel = new Image();        cancel.src = "img/cancel.gif";
        otaz = new Image();        otaz.src = "img/otaz.gif";

/* ****************** Lokalni promenne  ************************************ */

        sk = 0;//PrectiCookie("test");                // okruh testu
        var        rr = PrectiCookie("rr");                // revise


/* ****************** Vlastni vypis  ****************************************/


        document.write('<form name="test">');


/*
 * ****** zacit cislovat otazky od 1? ****************
 */


        start = (nahoda) ? 1 : vy + 1;

        document.write('<table border="0" style="width:100%"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td class="test" id="td_test"><ol start=', start,'>');

/*
 * Zacatek vypisu Bilance **********************************
 */
        dobre = spatne = 0;
        SpocitejSkore(0, 0, false);


/*
 * Vygenerovani Poradi otazek ******************************
 */

// revise ******************
        if (rr > 0)
                pocet = rr;
// *************************

        for (radek = 0; radek < pocet; radek++)
        {
                ZobrazStav(radek);

                if (rr > 0)
                {
                        rrr = "r" + radek;
                        poradi[radek] = PrectiCookie("r" + radek);
                } /* if */

// nahodne poradi *********

                else
                {
                        if (nahoda)
                        {
                                 x = generuj(celkem);

                                for(j = radek; j >= 0; j--)
                                {
                                        if (x == poradi[j])
                                        {
                                                 x = generuj(celkem);
                                                j = radek;
                                        } /* if */

                                } /* for */

                                poradi[radek] = x;

                        } /* if  nahoda */

                        else

                                poradi[radek] = radek + parseInt(vy);

                } /* else */

                skut[radek] = radek;

                document.write('<hr class="hr" size="1" noshade/>');

/* *** vypis gramatickeho jevu ********* */

                var grj = jev_nazev[jev[poradi[radek]]];
                document.write((grj) ? '<div class="jev">' + grj + ":</div>" : "");


/* *** vypis vlastni otazky ********* */

                document.write("<b><li>" + otazka[poradi[radek]] + "</b>");

                document.write('<ol type="a" class="a">');


// vypis moznosti pro cvicny/ostry test

                var fce = (! pak) ? "vyhodnot" : "vyhodnot1"; // kterou fci pouzit pro vyhodnoceni
                var aa = bb = cc = dd = pustit = false;

                for (opt = 0; ! pustit; opt++)
                {
                        xx = generuj(4);



                        if (xx == 0 && ! aa)
                        {
                                WriteLi('a',poradi[radek],a[poradi[radek]],fce);
                                aa = true;
                        } /* if a) */

                        else if (xx == 1 && ! bb)
                        {
                                WriteLi('b',poradi[radek],b[poradi[radek]],fce);
                                bb = true;
                        } /* if  b) */

                        else if (xx == 2 && ! cc)
                        {
                                if (c[poradi[radek]] )                  /* existuje 3. moznost ? */
                                {
                                        WriteLi('c',poradi[radek],c[poradi[radek]],fce);
                                } /* if */

                                cc = true;
                        } /* if */

                        else if (xx == 3 && ! dd)
                        {
                                if (d[poradi[radek]])                 /* existuje 4. moznost ? */
                                {
                                        WriteLi('d',poradi[radek],d[poradi[radek]],fce);
                                } /* if */

                                dd = true;
                        } /* if */

                        pustit = (! aa || ! bb || ! cc || ! dd ) ? false : true;

                } /* for  - otazka je vygenerovana a neopakuje se, pustit dal */

// Na kolik moznosti se to podarilo? ->> alert(opt);

                document.write("</ol>");

        } /* ************** for (1 otazka)  *********************************/


        document.write('</ol><br></td>');

/*
************ vypis bilance po novem:
*/
        var textik = NactiTabulku();
        document.write(textik);

/************************** zapati ********************************************/

        document.write('</table><hr><u><b>Vysvětlivky:</b></u><ul>');
        document.write('<li style="list-style-image: url(img/ok.gif);"> - správná odpověď</li>');
        document.write('<li style="list-style-image: url(img/cancel.gif);"> - špatná odpověď</li>');

        if (pak)
                document.write('<li style="list-style-image: url(img/otaz.gif);"> - nezodpovězená otázka (počítá se jako špatná odpověď)</li>');

        document.write('</ul></td></table>');

        Nuluj();
        hodiny();


/* kontrola náhodných cisel pouze pro ladeni ***************
        for (j = 0; j < pocet; j++) {
          for (i = 0; i < pocet; i++) {
            if (poradi[i] == poradi[j] && (i != j))
               window.alert(i + '-' + j);
          }
           document.write((poradi[j] + 1)+', &nbsp;');
        }

*******************  konec kontroly */

/*
 *   ************* zapaticko ***************
 */

        NahrejObr("up", "up");

        document.write('</form>');
        document.write('</center>');

        zapati();

/*
 *  Udrzeni bilance na obrazovce (zatim jen pro IE a W3C) ***********
 */

        posun_tab();
        nactiNastaveni(0);

}


/*
 ************************************* Konec vypisu ************************************
 */



/* ********************* vyhodnoceni 1 otazky pro ostry test ************************* */

function vyhodnot1(cisl, klik, radek){ /* zapis odpovedi do pole kliknute[]  */

        if(vyhodnoceno)
        {
                vyhodnot(cisl, klik, radek); /* pokud je test vyhodnocen, zobrazuj spravnost ihned */
                return;
        }

        else if(paused)
        {
                return odznac(cisl);
        }

        kliknute[cisl] = klik;
}

function ZapisRewise() { /* pridani spatne odpovedi do pole rewise[] */
        rewise[i] = i;
        re++;
}

function VyhodnotVse(){        /* vyhodnoceni ostreho testu  */

        if(vyhodnoceno)
        {
                if(confirm('Test je již vyhodnocen.\n\nChcete se vrátit na výběr testů?'))
                        location = "eng_test.php";
                return;
        } // jiz vyhodnoceno

        else if(paused)
        {
                alert("Je zastaven odpočet času.");
                return;
        } // pozastaveno

        var dobre = spatne = re = 0;

        for (i = 0; i < pocet; i++) {

                window.status="Vyhodnocuji otázku č. " + i;

/* ********** nezodpovezeno: ************************ */

                if (kliknute[poradi[i]] == false)
                {

                        var abcd = new Array("a", "b", "c", "d");

                        spatne++;

                        for(j = 0; j < 4; j++) /********* otazniky ******/
                        {

                                if ( j == 2 && c[poradi[i]] == "")
                                        continue;

                                if ( j == 3 && d[poradi[i]] == "")
                                        continue;

                                obr = "hodnoceni" + i + abcd[j];
                                document.images[obr].src = otaz.src;

                        } /* for - otazniky */

                        ZapisRewise(); /* pripis to na ucet */

                }        /* if - nezodpovezeno */

                else /******************* otazka je zodpovezena ********************/
                {

                        if (kliknute[poradi[i]] == odpoved[poradi[i]])  /* spravna odpoved */
                        {
                                typ = ok.src;
                                dobre++;
                        } /* if */

                        else          /* spatna odpoved */
                        {
                                typ = cancel.src;
                                spatne++;
                                ZapisRewise(); /* pripis to na ucet */
                        } /* else */

                        obr = 'hodnoceni' + i + kliknute[poradi[i]];
                        document.images[obr].src = typ;

                } /* else - zodpovezeno */

                SpocitejSkore(dobre, spatne, true);

        } /* for */

        window.status = "Hotovo";
        vyhodnoceno = true;
        alert("Test je vyhodnocen.\nPokud chcete zjistit správné odpovědi, můžete zkusit tipovat znovu,\nvaše další tipy ovšem už do výsledku  započítány nebudou :-)");

}


/*
 ********** zobrazeni spravnych, spatnych odpovedi a uspesnosti *******************
 */


function SpocitejSkore(dobre, spatne, prot)
{
        var celkem = spatne + dobre;

        uspesnost = (celkem) ? Math.round(100 * dobre/celkem) : 0;

        if (prot)
        {
                document.test.spravne.value = dobre;
                document.test.spatne.value = spatne;
                document.test.usp.value = uspesnost;
        } /* if - zapsat do formulare */
}


function NactiTabulku() { /* nacteni tabulky do promenne text */

        if ( Netscape)
        {
                x = y = 400;
        }
        else
        {
                x = document.body.offsetWidth - 445;
                y = 100;
        }

        textik = '</td><td style="vertical-align:top;width:*;"><div id="bilance" style="position:relative; top:0px;border: 2px outset;">';

/* *********************************************************** */



/* *********************************************************** */


        textik += '<table id="content" border="0" cellpadding="1" cellspacing="1" style="width:100%;background-color:#ffffff;">';


        NahrejObr("menu", "left");
        NahrejObr("print", "print");

        textik += '<tr><td class="bil">';
        textik += '<a href="txt/' + okruh + '.txt" target="tisk" OnMouseOver=zapni("print"); OnMouseOut=vypni("print");><img src="img/print_off.gif" name="print" width="20" height="16" border="0" alt="Tisková verze" align="' + img_align + '">Tisková verze</a>';

        textik += "<td style=\"padding:5px;\"><a href=\"javascript:help('test',1)\"";

        textik += (! W3C && ! IE4) ? "" : " style=\"cursor: help;\"";

        textik += ("><img src=\"img/help.gif\" border=0 alt=\"Nápověda\" align=\"" + img_align + "\" width=\"16\" height=\"16\">Nápověda</a>");
        textik += ('</td></tr>');



        textik += '<caption>' + jmeno[sk] + '</caption>';

        textik += ('<tr class="grey"><td class="bil">Typ testu:</td><td class="bil">');
        textik += ((pak) ? "ostrý" : "cvičný");
        textik += ('</td></tr>');
        textik += '<tr class="grey"><td class="bil">Počet otázek:</td><td class="bil">' + pocet + ' z  <span style="font-weight:normal;">' + celkem + '&nbsp;(' + (vy+1) + '-' + (vy+parseInt(pocet)) +')</span></td></tr>';


        textik += '<tr><th colspan="2">Vaše bilance:';


        textik += '</td></tr>';
        textik += '<tr class="grey"><td class="bil" style="color:#009a00">Správných odpovědí:</td><td class="bil"><input type="text" value=' + dobre + ' size="' + txt_size + '" readonly name="spravne">';
        textik += ('<img src="img/ok.gif" border="0" alt="Správně" width="17" height="15"></td></tr>');

        textik += '<tr class="grey"><td class="bil" style="color:#ee1010">Špatných odpovědí:</td><td class="bil"><input type="text" size="' + txt_size + '" value=' + spatne + ' readonly name="spatne">';
        textik += '<img src="img/cancel.gif" border="0" alt="Špatně" width="17" height="15">';
        textik += '</td></tr><tr class="grey"><td class="bil">Úspěšnost:</td><td class="bil"><input type="text" size=' + txt_size;
        textik += '" value=' + uspesnost + ' readonly name="usp"><img width="17" height="15" src="img/percent.gif"></td></tr>';



// Odpocitavadlo **************************************

        textik += '<tr class="grey"><td class="bil">Zbývající&nbsp;čas:&nbsp;';

        textik += '<a href="javascript:pust_hodiny(0)"><img src="img/pause_off.gif" name="pause" border="0" alt="Stop" align="absmiddle" hspace="1" width="17" height="17"></a>';
        textik += '<a href="javascript:pust_hodiny(1)"><img src="img/play.gif" border="0" alt="Start" align="absmiddle" width="17" height="17"></a></td>';
        textik += '';

        textik += '<td class="bil"><input id="cifernik" style="font-color:black;" type="text" name="cifernik" readonly size=' + txt_size + '>';

// spolecne polozky formulare

                textik += '</tr></form><form action="test.html" name="form2" OnSubmit="return Opakuj();">';

                textik += '<tr class="grey"><th colspan="2">Vyberte akci:</th></tr>';
                textik += '<input type="hidden" name="PocetO" value="' + pocet + '">';
                textik += '<input type="hidden" name="limit" value="' + limit + '">';
                textik += '<input type="hidden" name="hned" value="' + pak + '">';
                textik += '<input type="hidden" name="tst" value="' + tst + '">';
                textik += '<input type="hidden" name="dol" value="' + (vy+1) + '">';

/************* cvicny test ? ****************************/

        if(! pak)

        {
                if(pocet == 1 && ! nahoda) /****** moznost navigace  *****/
                {
                        textik += '<tr class="grey"><td class="bil">';
                        textik += '&nbsp;Přejít na otázku č.:</td><td>';
                        textik += '&nbsp;<select class="input" name="qSel" OnChange="nextQuestions(10);">';

                        for(i = 1; i <= otazka.length; i++)
                        {
                                textik += ('<option');
                                if(vy == (i - 1))
                                        textik += (' selected '); /* vyber v seznamu zobrazenou otazku */
                                textik += ('>');
                                textik += (i);
                        } /* for */

                        textik += ('</select>&nbsp;');

//***************************************************************************



                        textik += (' </td></tr>');

                } /* if - moznost navigace */


/************* uzivatel vybral vice otazek  *******/

                else
                {
                        textik += '<tr class="grey"><td rowspan="2" class="bil">';

                        textik += '<input type="submit" value="Zopakovat:">';
                        textik += '<td class="bil"><input type="radio" value="false" name="opakovat" id="opakovat1" checked OnClick="Znovu(false)"><label for="opakovat1">celý&nbsp;test</label></td></tr>';
                        textik += '<tr class="grey"><td class="bil"><input type="radio" value="true" name="opakovat" id="opakovat2" OnClick="Znovu(true)"><label for="opakovat2">špatné&nbsp;odpovědi</label></td></tr>';


                } /* else - vice otazek */

        } /* else - cvicny test */

/************* ostry test ? ****************************/

        else
        {
                textik += ('<tr class="grey"><td colspan="2" style="text-align:center;"><button type="button" OnClick="VyhodnotVse()" title="Vyhodnotit test"><img src="img/spellcheck_off.gif" border="0" widht="20" height="18" align="absmiddle">&nbsp;Vyhodnotit test</button>');

        } /* if - ostry test */

/* pseudonavigace */

        if(! nahoda)
        {
                var var_disabled = new Object();
                var_disabled.dol = (vy == 0) ? " disabled" : "";
                var_disabled.hor = (parseInt(vy)+parseInt(pocet) >= celkem) ? " disabled" : "";

                textik += '<tr class="grey"><td colspan="2"><button type="button" OnClick="nextQuestions(-1)"  title="Prvních ' + pocet + ' otázek"' + var_disabled.dol + '>|&lt;</button>';
                textik += '<button type="button" OnClick="nextQuestions(0)"  title="Předchozích ' + pocet + ' otázek"' + var_disabled.dol + '>&lt;</button>';
                textik += '<button type="button" OnClick="nextQuestions(1)"  title="Následujících ' + pocet + ' otázek"' + var_disabled.hor + '>&gt;</button>';
                textik += '<button type="button" OnClick="nextQuestions(2)"  title="Posledních ' + pocet + ' otázek"' + var_disabled.hor + '>&gt;|</button>';
        } // ne pro nahodne poradi


        textik += pis_up(); /* zobraz odkaz nahoru */

        textik += '</td>';
        textik += "</table></div></td></tr>";

        return textik;
}

/*
 ************** konec bilance ********************************
 */


function Opakuj()
{
        var cely_test = document.forms[1].opakovat[0].checked;

        if(! cely_test && ! revpocet)
        {
                if(! confirm("Nevím o žádné špatné odpovědi.\nMá se zopakovat celý test?"))
                        return false;
        }

        Znovu(! cely_test);

        return true;
}


function Znovu(opakovat) /* zopakovani testu */
{
        if(opakovat)
        {
                if(revpocet > 10)
                {
                        alert("Tolik špatných odpovědí si nedokážu zapamatovat.\nPočítám Vám jich 10.");
                        revpocet = 10;
                } /* velka chybovost */

                ZapisCookie("rr", revpocet);

/**************** zapis  spatnych odpovedi do cookie *********/

                for(i = 0; i < revpocet; i++)
                {
                        rrr = "r" + i;
                        ZapisCookie(rrr, rewise[i]);
                } /* for */

        } /* if - Opakovat */

        else
        {
                ZapisCookie("rr", 0);
        }
}

function zamen(obrazek,zdroj)
{
        var zdroj = "img/" + zdroj + ".gif";
        document.images[obrazek].src = zdroj;
}

function help(misto, sbal)
{
        ZapisCookie("h", sbal);
        var URL = "help.html#" + misto;

        napoveda = window.open(URL,"help","top=0,left=0,width=550,height=480,menubar=no,scrollbars=yes");
        napoveda.focus();
}


function zapati()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
{
        if(! Netscape)
                document.write('<div align=right style="font-family: Times New Roman CE ,sans-serif; font-style: italic; font-size: 13px; text-decoration: none; font-weight: lighter; color: #333333; background-color: #EEEEEE;">Autorství testů:<br> &copy; <A style="a: {text-decoration: none; font-weight: normal; color: #333333;} :hover {text-decoration : underline;}" href="mailto:ondrasvob@email.cz?subject=testy">Ondřej Svoboda</a> 1999-2002<br><A style="a: {text-decoration: none; font-weight: normal; color: #333333;} :hover {text-decoration : underline;}" href="http://aj.d2.cz/index.php?kam=vlastnosti" target="_blank">Stránky autora testů</a>.</div>');

        else
                document.write('<table width=100%><tr><td align=right bgcolor=#dddddd>Autorství testů:<br> &copy; <a href="mailto:ondrasvob@email.cz?subject=testy">Ondřej Svoboda</a> 1999-2002<BR><a href="http://aj.d2.cz" target="_blank">Stránky autora testů</a>.</td></tr></table>');

}


/* *********  Napis odkaz nahoru *********** */


function pis_up()
{
        var text = "";

/* odkaz nahoru */
        if(! Netscape)
        {
                text = '<tr style="text-align:center;vertical-align:middle;height:25"><td>';
                text += '<a href="eng_test.php" title="Na formulář"><img src="img/left_off.gif" border="0" width="11" height="13" name="left" alt="<" align="absmiddle">Menu</a></td>';
                text += '<td><a href="#top" title="Na začátek stránky"><img src="img/up_off.gif" border="0" alt="^" width="11" height="9" name="up2" hspace="2">Nahoru</a></td></tr>';
        } /* if netscape */

        return text;
}



function zapni(obrazek)
{
        eval("document." + obrazek + ".src = " + obrazek + "On.src");
}

function vypni(obrazek)
{
        eval("document." + obrazek + ".src = " + obrazek + "Off.src");
}


/*
 ******* Caching obrazku ******************************************
 */

function NahrejObr(obrazek, zdroj)
{
        eval (obrazek + "On = new Image()");
        eval (obrazek + "On.src = \"img/" + zdroj + "_on.gif\"");

        eval (obrazek + "Off = new Image()");
        eval (obrazek + "Off.src = \"img/" + zdroj + "_off.gif\"");
}


function setColor(x, r, g, b, susenka)
{
        var red = parseInt("0x" + r);
        var green = parseInt("0x" + g);
        var blue = parseInt("0x" + b);


        if(isNaN(red) || isNaN(green) || isNaN(blue) )
        {
                if(x)
                        alert ("Číslo musí být v šestnáctkové soustavě 00 až FF.");
                return false;
        }

        var barva = "rgb(" +  red + "," + green + "," + blue + ")";

        if(x)        /* nastav barvu vzorku textu podle dat ve formulari */
        {
                with (document.formular)
                {
                        var ukazka = (document.all) ? document.all.ukazka : document.getElementById("ukazka");

                        if(! ukazka)
                                return;
                        ukazka.style.background = barva;
                        BR.value = r;
                        BG.value = g;
                        BB.value = b;
                        window.focus();
                        if(susenka)
                        {
                                ZapisCookie("R", r);
                                ZapisCookie("G", g);
                                ZapisCookie("B", b);
                        } // if

                } // with

        } // if

        else        /* nastav barvu pozadi */

                document.body.style.background = barva;
}


function nactiNastaveni(x)
{
        r = (r = PrectiCookie("R")) ? r : "F0";
        g = (g = PrectiCookie("G")) ? g : "F8";
        b = (b = PrectiCookie("B")) ? b : "FF";

/* ****** Refresh Cookies ********** */
        ZapisCookie("R", r);
        ZapisCookie("G", g);
        ZapisCookie("B", b);
/* *********************************** */
        setColor(x, r, g, b);

//        alert(document.cookie);
}


function upravNastaveni()
{
        window.open("settings.html","settings","menubar=no,height=400,width=400");
}
