function startFun() {
    switch (document.location.pathname) {
        case "/zmr" : {
            setVar(); // глобальные переменные
            clock(); } // Часы ;о) 
            break
        case "/ito" :
            itoZap (); // Для тестирования
            itoCange(); // Для ИТО
            break
        case "/ito_o" :
            setVarItoRez();
            itoRisDia();
            break
        case "/react":
        case "/react_a":
            chouseMidlR();
            break
        default:
            break}
    }

function clock() {  // время 
    now = new Date();
    hours = now.getHours();
    minutes = now.getMinutes();
    seconds = now.getSeconds();
    timeStr = "" + hours;
    timeStr += ((minutes < 10) ? ":0" : ":") + minutes;
    timeStr += ((seconds < 10) ? ":0" : ":") + seconds;
    document.getElementById("time_pole").value = timeStr;
    Timer = setTimeout("clock()",1000); }

function setVar() {
    // константы
    NUMTEST = 30;
    // Предварительная загрузка картинок
    hImgY = new Image(); hImgN = new Image();
    hImgY.src = "resources/yb.jpg"; hImgN.src = "resources/nb.jpg";
    hItY = new Image(); hItN = new Image();
    hItY.src = "resources/tnp.gif"; hItN.src = "resources/typ.gif";
    // инициализация переменных
    zp = document.getElementById("zmr_pole");
    rez = document.getElementById("rez_pole");
    btnStart = document.getElementById("btn_start");
    btnStart.disabled = false;
    btnStop = document.getElementById("btn_stop");
    btnStop.disabled = true;
    numTest = -1; // идет ли тест, а если идет, то какой. -1 -- нет, иначе -- номер теста, начиная с 0.
    isTrabl = false; // былв лии ошибка
    tbeg = 0; tend = 0;  // начало теста, конец теста
    nTrab = 0; // кол-во ошибок.
    nSt = 1; // Пристрелочные шары.
    // заполнение элементов
    imgElN = new Array(); rezTestN = new Array();
    rezTestN[0] = 2;
    for (i=0; i<NUMTEST; i++) {
        imgElN[i] = document.getElementById("ti_" + i);
        rezTestN[i] = 0;}; }

function zmrTest() {
    numTest = NUMTEST;
    nSt = 1;
    nTrab = 0;
    isTrabl = true; // Для того что бф не засчитать первый тест
    for (i=0; i<NUMTEST; i++) {
        imgElN[i].src = hItY.src;
        rezTestN[i] = 0;};
    zmrTestOne(); }

function zmrTestOne() {
    btnStart.disabled = true;
    btnStop.disabled = false;
    isTrabl = false;
    zp.src = hImgN.src;
    randTime = 1500*(Math.random())+500; // Должно быть (1500, 500)
    startStim = setTimeout("zmrTestStartBol();",randTime); }

function zmrTestStartBol() {
    zp.src = hImgY.src;
    now = new Date();
    tbeg = now.getMinutes()*60000 + now.getSeconds()*1000 + now.getMilliseconds();
}

function funKeyDown(event) {
    if (event.keyCode == 32) {
        imgClick();
//        rez.value = "Ура кнопка нажата";
    };
}

function imgClick() {
    if (numTest == -1) {rez.value = "Нет теста";}
    else {
        if (tbeg == 0) {isTrabl = true; rez.value = "Фальстарт"; nTrab++; nSt--;}
        else {
            if ((isTrabl)||(nSt>0)) {
                rez.value = "Не защитано"; zp.src = hImgN.src; tbeg = 0; tend = 0; nSt--;
                zmrTestOne();
                }
            else { 
                if (numTest != -1) {
                    now = new Date();
                    tend = now.getMinutes()*60000 + now.getSeconds()*1000 + now.getMilliseconds();
                    rezval = normRez(tend - tbeg);
                    rez.value = "" + rezval + " " + numTest;
                    imgElN[NUMTEST - numTest].src = hItN.src;
                    rezTestN [NUMTEST - numTest] = rezval;
                    tbeg = 0; tend = 0;
                    zp.src = hImgN.src;
                    if (numTest == 1) {numTest=-1; rezTest (); rez.value = ""}
                    else {numTest--; zmrTestOne()};
                    }
                }
            }
        }
}

function normRez (x) { return ((x-77 < 0) ? 2 : x - 80);}

function rezTest () {
    sz = 0; so = 0; fr = 0;
    rezOllDiv = document.getElementById("rez_test");
    for (i=0; i<NUMTEST; i++) {
        rdiv = document.getElementById("tr_" + i);
        rdiv.style.height = (rezTestN[i]>1000) ? 200 : rezTestN[i] * 0.2;
        sz += rezTestN[i];};
    sz = sz/NUMTEST;
    for (i=0; i<NUMTEST; i++) {so += (rezTestN[i] - sz)*(rezTestN[i] - sz)};
    so = Math.sqrt(so/(NUMTEST-1));
    fr = 149.24 - 0.833*nTrab - 0.27*sz - 0.417*so;
    fr = (fr<10) ? 10 : (fr>100) ? 100 : fr;
    document.getElementById("r_sz").value = "" + Math.round(sz);
    document.getElementById("r_so").value = "" + Math.round(so);
    document.getElementById("r_ko").value = "" + nTrab;
    document.getElementById("r_fr").value = "" + Math.round(fr);
    rezOllDiv.style.zIndex = "" + 10;
}

function zmrStop() {
    window.location.reload(); }

// Началось ИТО

function itoCange() {
    NumVopIto = 91;
    document.getElementById("okito").disabled = true;
    allCk = true;
    for (i=1; i<(NumVopIto+1); i++) {
        isOtv = document.getElementById("y"+i).checked || document.getElementById("n"+i).checked;
        if (isOtv) {
            document.getElementById("ty"+i).className = "cheked";
            document.getElementById("tn"+i).className = "cheked";
            document.getElementById("tt"+i).className = "cheked"; };
        allCk = allCk && isOtv;
        }
    if (allCk) {document.getElementById("okito").disabled = false;};
}

function myOutPut(s) {
    myWin= open("");
    myWin.document.open();
    myWin.document.write("" + s);
    myWin.document.close(); }

function itoZap () { // Для отладки случайно заполняет тест
    NumVopIto = 91;
    for (i=1; i<(NumVopIto+1); i++) {
        if (Math.random() > 0.5)
             {document.getElementById("y"+i).checked=true; document.getElementById("n"+i).checked=false;}
        else {document.getElementById("y"+i).checked=false; document.getElementById("n"+i).checked=true;} 
    }
}

function setVarItoRez() {
    win = document.getElementById("itodim");
    jg = new jsGraphics(document.getElementById("itodia"));

    rezN = new Array(); // Результаты для теста
    for (i=0; i<10; i++) {rezN[i] = parseInt(document.getElementById("dw"+i).style.width.charAt(0)); };
    rezN[10] = rezN[2]; // Для зачикливания круговой диаграммы.
}

function itoRisDia() {

    xC = (win.offsetWidth)*0.49;
    yC = (win.offsetHeight)*0.477;
    rC = (win.offsetWidth)*0.265;
    k = 0.7071;

    xArr = new Array(rC, k*rC, 0, -k*rC, -rC, -k*rC, 0, +k*rC, rC); // Смешения от центра по x
    yArr = new Array(0, k*rC, rC, k*rC, 0, -k*rC, -rC, -k*rC, 0);  // Смешения от центра по y

    for (i=0; i<9; i++) { // Сминание диагрпммы
        xArr[i] = xArr[i]*rezN[i+2]/9 + xC;
        yArr[i] = yArr[i]*rezN[i+2]/9 + yC; }

    jg.clear();
    jg.setColor("#ff0000");
    jg.setStroke(3);
    jg.drawPolyline(xArr, yArr);
    jg.paint();
}

function itoDiaPrint() {
    win.style.width = "720px";
    itoRisDia();
}

function chouseMidlR() {
    em=document.getElementById("0")
    if (em) em.checked=true;
}










