var newwindow;
function details(url)
{
	newwindow=window.open(url,'detail','height=400,width=400,resizable=yes,scrollbars=yes,status=yes,');
	if (window.focus) {newwindow.focus()}
}




//////////JAVASCRIPT by JOSEPH MCEVILLY//////////

//Feel free to use this code, so long as you ACKNOWLEDGE THAT
//IT WAS CREATED BY AND IS COPYRIGHT TO ME, JOSEPH MCEVILLY,
//and INCLUDE A LINK TO MY SITE (www.latintests.net).

function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}



addEvent(window, 'load', setfocus, false);
addEvent(window, 'load', imgstats, false);

addEvent(window, 'load', showform, false);


function showform()
{
for (i=1; i<8; i++){
if (!document.getElementById(i)){break;}
if (i == 2 || i == 3 || i == 4 || i == 5){
if (document.getElementById(i).checked){
document.getElementById('a'+i).style.display = "none";
}
else {document.getElementById('a'+i).style.display = "block";}
}
else {
if (document.getElementById(i).checked){
document.getElementById('a'+i).style.display = "block";
}
else {document.getElementById('a'+i).style.display = "none";}
}
}
}



/*
addEvent(window, 'load', setdisplay, false);

function bgcoloron(whatid){
var what = document.getElementById(whatid);
if (what){
what.style.textDecoration="underline";
}
}

function bgcoloroff(whatid){
var what = document.getElementById(whatid);
if (what){
what.style.textDecoration="none";
}
}

function gohome() {window.location = '/index.html';}

if (document.getElementById){
document.write('\n\n<style type="text/css">\n')
for (i=1; i<8; i++){
document.write('#hhome {cursor: pointer;}');
document.write('#a'+i+' {display: none;}');
}
document.write('#customquiz {display: none;}');
document.write('</style>')
}

function setdisplay(){
document.getElementById('quickquiz').style.display="block";
if (document.getElementById('customquiz')){
document.getElementById('customquiz').style.display="none";
}
if (document.getElementById('customquiz2')){
document.getElementById('customquiz2').style.display="block";
}
}

function getquiz(type, num, num2){
if (!num){var num = 0;}
var select1 = document.getElementById('select'+num);
if (select1){
if (num2 && num2 > num){
var select2 = document.getElementById('select'+num2);
var file1 = select1.options[select1.selectedIndex].value;
var file2 = select2.options[select2.selectedIndex].value;
if (file1-0<file2-0){
var dest = "http://www.latintests.net/"+type+"s/"+file1+"-"+file2;
location = dest;
}
}
if (!num2 || num2 && !select2 || file1 && file2 && file1-0>=file2-0)
{
dest = "http://www.latintests.net/"+type+"s/"+select1.options[select1.selectedIndex].value;
location = dest;
}
}
}
*/




function change(thise){
if (!thise.id){var what = thise; var where = document.getElementById(thise);}
else {var what = thise.id; var where = thise;}
if (where.checked)
{document.getElementById('a'+what).style.display = "block";}
else {document.getElementById('a'+what).style.display = "none";}
}

function changer(thise){
if (!thise.id){var what = thise; var where = document.getElementById(thise);}
else {var what = thise.id; var where = thise;}
if (!where.checked)
{document.getElementById('a'+what).style.display = "block";}
else {document.getElementById('a'+what).style.display = "none";}
}

function toggle(whatid){
var what = document.getElementById(whatid);
if (what){
var hwhat = document.getElementById("h"+whatid);
if (what.style.display=="none" || what.style.display=="" || !what.style.display)
{
if (hwhat){hwhat.style.background="#EFEFFF url(/media/pointl.PNG) no-repeat 95% center";}
what.style.display="block";
}
else if (what.style.display=="block")
{
if (hwhat){hwhat.style.background="#EFEFFF url(/media/pointd.PNG) no-repeat 95% center";}
what.style.display="none";
}
}
}

////check for search form

var nump = 1; //no of forms before exercise starts



////focus

function setfocus(){
if (document.forms[nump].elements[0] && document.forms[nump].elements[0].type == "text")
{
document.forms[nump].elements[0].focus();
}
}

function focusw(num){
var numr = num - 0 + nump;
document.forms[numr].elements[0].focus();
}


////imgstats

function imgstats(){
for (i=1; i<100; i++)
{
if (document.forms[i]){
var picture = document.forms[i].getElementsByTagName("img");
if(picture[1] && !picture[1].title)
{
picture[1].title="Click here for the answer to this field.";
}
if(picture[0] && !picture[0].title)
{
picture[0].title="Click here for the details of the Latin word.";
}
}
}
}


////declare

var blank = new Image(16,16);
blank.src = "/media/blank.PNG";

var incorrect = new Image(16,16);
incorrect.src = "/media/incorrect.PNG";

var correct = new Image(16,16);
correct.src = "/media/correct.PNG";

var partright = new Image(16,16);
partright.src = "/media/partright.PNG";

var parts = new Array();



/////Reset fields

function clr(num,totalnum){
var numr = num - 0 + nump;
var totalr = totalnum - 0 + nump;
for(i=numr; i<totalr; i++){
fields = document.forms[i].elements[0];
//pictures = document.images[i];
pictures = document.forms[i].getElementsByTagName("img"); 
fields.value = '';
pictures[1].alt="Blank"; pictures[1].src="/media/blank.PNG";
}
}




////Answer


function answer(num, totalnum) {
var numr = num - 0 + nump;
if (totalnum){var totalnumr = totalnum - 0 + nump;}
else {var totalnumr = numr - 0 + 1;}

for (var i=numr; i<totalnumr; i++){

var ans = document.forms[i].elements[1].value;
var response = document.forms[i].elements[0];
var first = document.forms[i].elements[1];
var second = document.forms[i].elements[2];
var picture = document.forms[i].getElementsByTagName("img");

if (first.className=="verb"){
response.value = "I "+ans;
}
else{
response.value = ans;
}
picture[1].alt="Correct"; picture[1].src="/media/correct.PNG";
}
}







////Check




function check(num,lang,totalnum){
var numr = num - 0 + nump;
if (totalnum){var totalnumr = totalnum - 0 + nump;}
else {var totalnumr = numr - 0 + 1;}
var numnext = totalnumr - 0;

if (lang == "le" || lang == "alt"){var counterdir = 0;}
if (lang == "el"){var counterdir = 1;}

for (i=numr; i<totalnumr; i++) {

var wform = document.forms[i];
var response = document.forms[i].elements[0];
var resp = response.value.toLowerCase();
var first = document.forms[i].elements[1];
var next = document.forms[numnext].elements[0];
//var picture = document.images[i];
var picture = document.forms[i].getElementsByTagName("img");
var ans = first.value.toLowerCase();

var respslim = resp.replace(/[+.,\)\(\/-]+/g, "")
var ansslim = ans.replace(/[+.,\)\(\/-]+/g, "")

if (resp==""){mark="blank"; picture[1].alt=mark; picture[1].src="/media/"+mark+".PNG"; continue;}

//alert("Response slimmed down: "+respslim+" --- Answer slimmed down: "+ansslim);

var rparts = respslim.split(/\s+/);
var aparts = ansslim.split(/\s+/);


if (lang == "l" || counterdir==0){
for (var k=0; k<rparts.length; k++){
if (aparts[k]==rparts[k]){
if (!aparts[k+1] && !rparts[k+1]){mark="correct"; break;}
else {mark="partright";}
}
else {mark="incorrect"; break;}
} //end for k
}

if (lang == "e" || counterdir==1) {
if (respslim==ansslim){mark="correct";}
else{
for (var p=0; p<rparts.length; p++){
if (mark=="incorrect"){break;}
//alert("Part "+p+" of response: "+rparts[p]);
for (var m=0; m<aparts.length; m++){
//alert(rparts[p]+" --- Part "+m+" of answer: "+aparts[m]);
if (rparts[p] == aparts[m]){
var mark = "partright";
if (!aparts[p+1] || aparts[p+1] == ''){var mark = "correct";}
break;
}
else {if(!aparts[m+1] && mark!="correct"){mark="incorrect"; break;}}
}
}
}
}


if (mark!="correct"){
for (var t=2; t<7; t++){
var altansfield = document.forms[i].elements[t];
if (altansfield){
var altans = altansfield.value.toLowerCase();
var altansslim = altans.replace(/[+.,-]+/g, "")
//alert("Alt "+t+": mark so far: "+mark+" --- Compare: "+respslim+", with: "+altansslim);
var altparts = altansslim.split(/\s+/);

if (lang == "l" || counterdir==0){
for (var n=0; n<rparts.length; n++){
if (altparts[n]==rparts[n]){
if (!altparts[n+1] && !rparts[n+1]){mark="correct"; break;}
else {mark="partright";}
}
else {mark="incorrect";}
} //end for n
}

if (lang == "e" || counterdir==1) {
if (respslim==altansslim){mark="correct";}
else{
for (var q=0; q<rparts.length; q++){
if (mark=="incorrect"){break;}
//alert("Part "+q+" of response: "+rparts[q]);
for (var s=0; s<altparts.length; s++){
//alert(rparts[q]+" --- Part "+s+" of answer: "+altparts[s]);
if (rparts[q] == altparts[s]){
var mark = "partright";
if (!altparts[q+1] || altparts[q+1] == ''){var mark = "correct";}
break;
}
else {if(!altparts[s+1] && mark!="correct"){mark="incorrect"; break;}}
}
}
}
}
}
if (mark=="correct"){break;}
}
}

picture[1].alt=mark; picture[1].src="/media/"+mark+".PNG";
if (mark != "incorrect" && mark != "blank"){next.focus();}

if (lang=="alt")
{
if (counterdir==0){counterdir++;}
else {counterdir--;}
}

var mark="";
} //end for i
return false;
}





