// -----------------------------------------------------------------
var size_test = 14;
var count_files = 14;

var CurrentTime;
var TimerEnabled;
var CurSec;
var CurMin;
var TimeQuery = 120;

CurrentTime = 0;
CurMin = Math.floor(TimeQuery/60); //количество минут
CurSec = TimeQuery % 60;

TimerEnabled = false;




function SetCookie(sName, sValue)
{
     document.cookie = sName + "=" + escape(sValue);
 }

// -----------------------------------------------------------------

function AppendCookie(sName, sValue)
{
    var value = GetCookie(sName);
    if (value != null)
        document.cookie = sName + "=" + value+ "|"+sValue;
    else
        document.cookie = sName + "=" + sValue;
     return true;
}

// -----------------------------------------------------------------

function GetCookie(sName)
{
    var arrCookies = document.cookie.split("; ");
    
    for (var i=0; i < arrCookies.length; i++)
    {
        var aCrumb = arrCookies[i].split("=");
        
        if (aCrumb[0] == sName) 
            return aCrumb[1];
    }
    return null;
}

// -----------------------------------------------------------------

function DelCookie(sName)
{
    document.cookie = sName + "=expired; expires=Mon, 31 Dec 2007 23:59:59 GMT;";
}

// -----------------------------------------------------------------

function ViewCookie(sName)
{
    alert(GetCookie(sName));
}

// -----------------------------------------------------------------

function RadioValue(object)
{
    for (var i=0; i < object.length; i++)
    {
        if (object[i].checked)
            return object[i].value;
    }
    
    return 0;
}

// -----------------------------------------------------------------

function CalculateResult(sName)
{
    var answers = GetCookie(sName);
    var arrAnswers = answers.split("|");
    var fixedAnswers = new Array(size_test);
    
    for (var i=0; i < size_test; i++)
        fixedAnswers[0] = 0;  	
    
    for (i=0; i < arrAnswers.length; i++) //!!!!
    {
        answerData = arrAnswers[i].split(":");
        fixedAnswers[parseInt(i)] = (answerData[1] == answerData[2])?1:0;
    }
  // alert("fixedAnswers: "+fixedAnswers);	   // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	return fixedAnswers;   
		
}

// -----------------------------------------------------------------

function GetCorrect(sName)
{
    var answers = CalculateResult(sName);
    var sum = 0;
    
    for (var i=0; i < answers.length; i++)
    {
        if (answers[i] == 1)
            sum += 1;
    }

    return sum;

}    

// -----------------------------------------------------------------

function GetWrong(sName)
{
    var answers = CalculateResult(sName);
    var sum = 0;
    
    for (var i=0; i < answers.length; i++)
    {
        if (answers[i] == 0)
            sum += 1;
    }
    return sum;
}    

function GoNext(page)
{
   On_answer(page)
}

function GoPage(page)
 {
   var proc;
   proc = "GoNext(" + page + ")";
   //alert(proc);
   setTimeout(proc,Ztime);
 }

function CreateArray()
{
   var i;
   var p1, p2, tmp;  
   //var query = new Array(size_test)
   var query = new Array(count_files);
   
   for (i=0; i<count_files; i++)
     
	 query[i] = i + 1;
   for (i=0; i<count_files*5; i++)
    {
       p1 = parseInt(Math.random()*count_files); 
       p2 = parseInt(Math.random()*count_files); 
       if (p1 != p2)
       {
          tmp = query[p1];
          query[p1] = query[p2];
          query[p2] = tmp;
       }
    } 
   DelCookie('qList'); 
 
  for (i=0; i<size_test; i++)
     AppendCookie('qList',query[i]+";"); ///  i vs 1
   //alert("CreateArray-> " + GetCookie('qList'));   //!!!!!!!!!!!!!!!!!!!!
}

function NextPage()
{
  var page, number;
  var q, i;
  var qr;
  
  q = GetCookie('qList');
 // alert("Q: "+q);
  qr = q.split("|");
  number = GetCookie('nQuery');
 // alert("Number: " + number);
  number++;
 // alert("Index: " + qr[number]);
  page = 'test_' + qr[number-1] + '.html';
 // alert("page: " + page);
  SetCookie('nQuery',number);
 // alert("Page: "+page);
  return page;
}

function changeDisplay(object) {
           if (object.style.display=='none')
                  object.style.display='';
            else
                 object.style.display='none';
     }
     
function PageNumber()
{
 	document.write("Вопрос " + GetCookie('nQuery')+" из " + size_test);
}

function Press()
{
 On_answer(N);
} 

function On_answer(Number)
{
	var answ;
	var page;
	
	if ( parseInt(answer.length) > 0 )
	    answ = RadioValue(answer);
	  else
	     answ = document.all.answer.value  
	     
//	alert("Answer: " + answ);
	 
	AppendCookie('Test', Number + ':' + answ + ':' + Correct);
	changeDisplay(document.all.onOk);
	answ = GetCookie('nQuery');
	if (parseInt(answ) < size_test)
	  page = NextPage();
	 else
	  page = "result.html";
	window.navigate(page);
}

function Timer()
{
 if (TimerEnabled)
 {
  	window.setTimeout("Timer();",1000);
	CurrentTime = CurrentTime + 1;
	CurSec = CurSec - 1;
	
	if (CurSec < 0)
	{
		CurSec = 59;
		CurMin = CurMin - 1;
	}
	UpdateTimer();

	if (CurrentTime >= TimeQuery)
	{
	  //  alert("Query " + N);
	    On_answer(N);
	}
 }
}

function ConvertTime()
{
if	(CurSec < 10)
	return (" " + CurMin + ":0" + CurSec);
 else
	return (" " + CurMin + ":" + CurSec);
}

function UpdateTimer()
{
if (TimerEnabled)
	document.all.tclock.value = ConvertTime();	
}
