var count=0;
var score=0;
var total=15;
var gtotal=total*2;
var vocitems=51;
var correct;
var email = false;




var chars= new Array;
chars[0]="你好嗎";
chars[1]="我很好";
chars[2]="哥哥";
chars[3]="我不忙";
chars[4]="弟弟也好";
chars[5]="你呢";
chars[6]="他們";
chars[7]="都是朋友";
chars[8]="那是";
chars[9]="大夫的車";
chars[10]="她的書";
chars[11]="哪國人";
chars[12]="漢語老師";
chars[13]="他是誰";
chars[14]="什麼地圖";
chars[15]="請喝茶";
chars[16]="您好";
chars[17]="請進";
chars[18]="歡迎";
chars[19]="不客氣";
chars[20]="您貴姓";
chars[21]="請問";
chars[22]="留學生";
chars[23]="學習";
chars[24]="我叫你";
chars[25]="外語學院";
chars[26]="住在";
chars[27]="宿舍";
chars[28]="我住在宿舍";
chars[29]="他在";
chars[30]="他不在";
chars[31]="多少號";
chars[32]="四號";
chars[33]="四層";
chars[34]="四二三號";
chars[35]="五層";
chars[36]="五號";
chars[37]="一二三號";
chars[38]="你是誰";
chars[39]="中國地圖";
chars[40]="地圖";
chars[41]="日本地圖";
chars[42]="美國地圖";
chars[43]="很忙";
chars[44]="爸媽都很好";
chars[45]="我不喝茶";
chars[46]="學漢語";
chars[47]="學日語";
chars[48]="學法語";
chars[49]="很多朋友";
chars[50]="中國朋友";



var pin = new Array;
pin[0] = "ni3hao3ma";
pin[1] = "wo3hen3hao3";
pin[2] = "ge1ge";
pin[3] = "wo3bu4mang2";
pin[4] = "di4diye3hao3";
pin[5] = "ni3ne";
pin[6] = "ta1men";
pin[7] = "dou1shi4peng2you";
pin[8] = "na4shi4";
pin[9] = "dai4fudeche1";
pin[10] = "ta1deshu1";
pin[11] = "na3guo2ren2";
pin[12] = "han4yu3lao3shi1";
pin[13] = "ta1shi4shei2";
pin[14] = "shen2medi4tu2";
pin[15] = "qing3he1cha2";
pin[16] = "nin2hao3";
pin[17] = "qing3jin4";
pin[18] = "huan1ying2";
pin[19] = "bu2ke4qi";
pin[20] = "nin2gui4xing4";
pin[21] = "qing3wen4";
pin[22] = "liu2xue2sheng";
pin[23] = "xue2xi2";
pin[24] = "wo3jiao4ni3";
pin[25] = "wai4yu3xue2yuan4";
pin[26] = "zhu4zai";
pin[27] = "su4she4";
pin[28] = "wo3zhu4zai4su4she4";
pin[29] = "ta1zai4";
pin[30] = "ta1bu2zai4";
pin[31] = "duo1shao3hao4";
pin[32] = "si4hao4";
pin[33] = "si4ceng2";
pin[34] = "si4er4san1hao4";
pin[35] = "wu3ceng2";
pin[36] = "wu3hao4";
pin[37] = "yi1er4san1hao4";
pin[38] = "ni3shi4shei2";
pin[39] = "zhong1guo2di4tu2";
pin[40] = "di4tu2";
pin[41] = "ri4ben3di4tu2";
pin[42] = "mei3guo2di4tu2";
pin[43] = "hen3mang4";
pin[44] = "ba4ma1dou1hen3hao3";
pin[45] = "wo3bu4he1cha2";
pin[46] = "xue2han4yu3";
pin[47] = "xue2ri4yu3";
pin[48] = "xue2fa3yu3";
pin[49] = "hen3duo1peng2you";
pin[50] = "zhong1guo2peng2you";


var mean = new Array;
mean[0]  = "How are you";
mean[1]  = "I am fine";
mean[2]  = "Older brother";
mean[3]  = "I'm not busy.";
mean[4]  = "younger brother is also fine";
mean[5]  = "How about you";
mean[6]  = "They";
mean[7]  = "All friends";
mean[8]  = "That is";
mean[9]  = "Doctor's car";
mean[10] = "Her book";
mean[11] = "Which nationality";
mean[12] = "Chinese teacher";
mean[13] = "Who is he";
mean[14] = "What map?";
mean[15] = "Please have some tea";
mean[16] = "How are you";
mean[17] = "Please come in";
mean[18] = "Welcome";
mean[19] = "You're welcome";
mean[20] = "What's your surname";
mean[21]  = "May I ask";
mean[22]  = "Overseas student";
mean[23]  = "study";
mean[24]  = "I'm calling you";
mean[25]  = "Foreign language institute";
mean[26]  = "Live in";
mean[27]  = "Dorm";
mean[28]  = "I live in the dorm";
mean[29]  = "He's in";
mean[30]  = "He's not in";
mean[31]  = "Which number";
mean[32]  = "number 4";
mean[33]  = "The 4th floor";
mean[34]  = "No. 423";
mean[35]  = "The 5th floor";
mean[36]  = "No. 5";
mean[37]  = "No. 123";
mean[38]  = "Who are you?";
mean[39]  = "map of China";
mean[40]  = "Map";
mean[41]  = "map of Japan";
mean[42]  = "map of USA";
mean[43]  = "very busy";
mean[44]  = "parents are fine";
mean[45]  = "I don't drink tea";
mean[46]  = "Study Chinese";
mean[47]  = "Study Japanese";
mean[48]  = "Study French";
mean[49] = "Many friends";
mean[50] = "Chinese friends";

var order=new Array;
var track=new Array;
var spin=new Array;
var smean=new Array;
var meaningseq = new Array;
var pinerror = new Array;
var meanerror = new Array;


var meaningseq = new Array;

function clearall()
{
document.quiz.pinyin.value = "";
document.quiz.character.value="";
document.quiz.startbut.disabled = false;
document.quiz.nextone.disabled = true;
}



function load()
{
setorder();
setmeanseq();
populate(document.quiz);
document.quiz.character.value = chars[order[0]];
document.quiz.nextone.disabled = false;
document.quiz.pinyin.focus();
document.quiz.startbut.disabled = true;
}

function setmeanseq()
{
    var gg=new Date();
    var lastone=77;
    correct = ((Math.round(Math.abs(Math.sin(gg.getTime()))*8.71*4) % 4));
    meaningseq[correct] = order[count];
    track[order[count]]=0;

    for(var t=0; t<4; t++)
    {
        
        if(t==correct)
            continue;
        else
        {   var pp = new Date();
            meaningseq[t] = ((Math.round(Math.abs(Math.sin(pp.getTime()))*8.71*vocitems) % vocitems));
            while((meaningseq[t] == meaningseq[correct]) || (meaningseq[t] == lastone))
            { 
                var yy = new Date();
		meaningseq[t] = ((Math.round(Math.abs(Math.sin(yy.getTime()))*8.71*vocitems) % vocitems));
            }
        }
        lastone=meaningseq[t];
   }
   return;
}









function setorder()
{   
    var number;
    var filled = 0;
    

    for(var i=0; i<vocitems; i++)
        track[i]=0;

    for(i=0; i<total; i++)
    {
	
	var dd=new Date();
        number=((Math.round(Math.abs(Math.sin(dd.getTime()))*8.71*vocitems) % vocitems));
	if(track[number]==1)
	{
	    i--;
	    continue;
	}
	else
	{   track[number]=1;
	    order[i]=number;
	    filled++;
	}
       
    }
    return;
}
        
function populate(inForm) 
{
   var option0 = new Option(mean[meaningseq[0]], "0");
   var option1 = new Option(mean[meaningseq[1]], "1");
   var option2 = new Option(mean[meaningseq[2]], "2");
   var option3 = new Option(mean[meaningseq[3]], "3");

   for (var i=0; i < 4; i++) 
   {
      eval("inForm.selectTest.options[i]=option" + i);
      if (i==0) 
      {
         inForm.selectTest.options[i].selected=true;
      }
   }
}        




function startit()
{
    if(document.quiz.pinyin.value == pin[order[count]])
    	score++;
    else 
    {
        spin[count] = document.quiz.pinyin.value;
        pinerror[count] = 1;
    }

    if(document.quiz.selectTest.options[correct].selected == true)
    	score++;
    else
    {
        smean[count] = mean[meaningseq[document.quiz.selectTest.value]];
        meanerror[count] = 1;
    }
	
    count++;
    if(count > total - 1)
    {
        
        for (var i=0; i < 4; i++) 
        {
           document.quiz.selectTest.options[i] = new Option("           ", "i");
        }
	document.quiz.character.value = "";
	document.quiz.pinyin.value = "";
        document.quiz.nextone.disabled = true;
        document.quiz.startbut.disabled = false;
        email=confirm("Quiz over. You scored "+score+" out of "+gtotal+". Do you wish to email your score to your instructor?");
		if(email == true)
		{	
			document.mailscore.theScore.value = score;
			document.mailscore.student.value = prompt("Please enter your name: ");
			document.mailscore.submit();
	        }

    var w=window.open("","errors","resizable,scrollbars,width=650,height=425");
    var d=w.document;
    d.write("<body><h1>Your score is " + score + "</h1><h2>");
    for (i=0; i < total; i++)
    {
        if((pinerror[i]==1) || (meanerror[i]==1))
        {
            d.write("<br><br>For the character <b><font color=blue>" + chars[order[i]] + "</font></b>");
            if(pinerror[i]==1)
            {
                d.write("<br>The correct pinyin was: <b><font color=blue>" + pin[order[i]] +
                        "</font></b> and you wrote <b><font color=red>" +  spin[i] + "</font></b>");
            }
            if(meanerror[i]==1)
            {
                d.write("<br>The correct meaning was: <b><font color=blue>" + mean[order[i]] +
                        "</font></b> and you selected <b><font color=red>" +  smean[i] + "</b></font>");
            }
        }
    }
  d.write("</h2><script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-383755-1";
urchinTracker();
</script>
</body>");
    d.close();	

	score=0;
	count=0;
	return;
    }

    document.quiz.character.value = chars[order[count]];
    setmeanseq();
    populate(document.quiz);
    
    document.quiz.pinyin.value = "";
    document.quiz.pinyin.focus();
}
