var IMGS = new Array();
IMGS[0] = "peas";
IMGS[1] = "tom";
IMGS[2] = "broc";
IMGS[3] = "car";
IMGS[4] = "caul";
IMGS[5] = "corn";

var totalImages = 6;
var currQuad = 0;
var currImg = 0;
var clicked = false;
var total = 0;
var imagesLeft = 0;
var individualCounts = new Array();

function firstInit(count) {
    total = count;
    imagesLeft = count;
    var eachCount = parseInt(total / totalImages);
    for (var i = 0; i < totalImages; i++) {
        individualCounts[i] = eachCount;
    }
}

function getRandom() {
    var r = parseInt(Math.random()*totalImages);
    if (r > totalImages) {
        r = totalImages;
    }
    if (individualCounts[r] == 0) {
        return getRandom();
    } else {
        individualCounts[r] = individualCounts[r] - 1;
        return r;
    }
}

function initQuadrants() {
    var x = getRandom();
    var r = parseInt(Math.random()*4);
    if (r == 0) {
        r = 4;
    }
    currQuad = r;
    currImg = x;
    ajax("log?log=New Image (" + IMGS[x] + ")");
    document.getElementById('quadrant'+r).src = "images/"+IMGS[x]+".bmp";
    imagesLeft--;
    if (imagesLeft == 0) {
        window.location='finished.jsp'
    }
}

function resetQuadrants() {
    document.getElementById('quadrant1').src = "images/blank.bmp";
    document.getElementById('quadrant2').src = "images/blank.bmp";
    document.getElementById('quadrant3').src = "images/blank.bmp";
    document.getElementById('quadrant4').src = "images/blank.bmp";
    currQuad = 0;
    currImg = 0;
    clicked = false;
    initQuadrants();
}

function validateSelection(sel) {
    if (sel == currQuad && !clicked) {
        document.getElementById('quadrant'+currQuad).src = "images/"+IMGS[currImg]+(experiment=="funny"?"f":"-fade")+".bmp";
        clicked = true;
        playVeggieSound(IMGS[currImg]);
        ajax("log?log=Correct click.");
        setTimeout('resetQuadrants()', 900);
    } else if (!clicked) {
        ajax("log?log=Failed click.");
        //alert('You clicked on the wrong quadrant, please try again!');
    }
}

function playVeggieSound(img) {
    if (experiment=="funny") {
        document.getElementById(img+'-sound').Play();
    } else {
        document.getElementById('neutral-sound').Play();
    }
}

function testSound(parameters) {
    document.getElementById('river-sound').Play();
}

function ajax(url) {
    var xmlHttp;
    try {
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        try {
          xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                return false;
            }
        }
    }
    var noCache = "cache=" + Math.random();
    var nonCacheUrl = ((url.indexOf("?") != -1) ? url + "&" : url + "?");
    xmlHttp.open("GET", (nonCacheUrl + noCache), true);
    xmlHttp.send(null);
    xmlHttp.onreadystatechange = function() {
        try {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                var response = xmlHttp.responseText;
            }
        } catch (e) {
            
        }
    }
}

function selectExp(username, select) {
    var exp = select.options[select.selectedIndex].value;
    window.location='admin?type=modify&username='+username+'&experiment='+exp;
}

function removeAjaxLoader() {
    try {
        document.getElementById('ajaxLoader').style.display='none';
    } catch (exception) {
        //We are not in the experiment page so the div does not exist. Do nothing.
    }

}
