// JavaScript Document
var sRaw = window.location.href;
var sUrl = sRaw.substring(0, sRaw.lastIndexOf('/') + 1);

/*
 * Images
 */
var oTick  = new Image(16, 16);
var oCross = new Image(16, 16); 
function loadImages()
{
    oTick.src  = sUrl + 'tick.gif';
    oCross.src = sUrl + 'cross.gif';
}

/*
 * CSS
 */
function loadCss()
{
    var eHead = document.getElementsByTagName('head').item(0);         
    var eCss  = document.createElement('link');
    
    eCss.type = 'text/css';
    eCss.rel  = 'stylesheet';
    eCss.href = sUrl + 'true.css';
    
    eHead.appendChild(eCss);
}

/*
 * Gapfill
 */
var aAnswersGapfill = new Array();

function loadGapfill()
{
    var oSpans = document.getElementsByTagName('span');
    var i2 = 0;
    for(var i = 0; i < oSpans.length; ++i)
    {
        var oSpan = oSpans.item(i);
        
        if ( oSpan.className == 'blank' )
        {            
            var sValue      = oSpan.innerHTML;
            oSpan.innerHTML = '<input type="text" id="gapfill_word' + i2 + '" /> <img id="gapfill_result' + i2 + '" style="display: none;" />'; 
         
            aAnswersGapfill[i2] = sValue;
            var oInput = document.getElementById('gapfill_word' + i2); 
            oInput.style.width = (sValue.length * 10) + 'px';
            ++i2;
        }
    }    
}

function checkAnswersGapfill()
{
    for(var i = 0; i < aAnswersGapfill.length; ++i)
    {
        var sAnswer = document.getElementById('gapfill_word' + i).value;
        var eImage  = document.getElementById('gapfill_result' + i); 

        if ( sAnswer.length > 0 )
        {
            if ( sAnswer == aAnswersGapfill[i] )
            {
                eImage.src = oTick.src;
                eImage.alt = 'Tick';
            }
            else
            {
                eImage.src = oCross.src;
                eImage.alt = 'Cross';
            }

            eImage.style.display = 'inline';
        }
        else
        {
            eImage.style.display = 'none';
        }
    }
}

/*
 * Multiple
 */
var aAnswersMultiple = new Array();

function loadMultiple()
{
    var oDivs = document.getElementsByTagName('div');
    var i2    = 0;
    for(var i = 0; i < oDivs.length; ++i)
    {
        var oDiv = oDivs.item(i);
        if ( oDiv.className == 'question' )
        { 
            var oSpans = oDiv.getElementsByTagName('span'); 
            
            for(i3 = 0; i3 < oSpans.length; ++i3)
            {  
                var oSpan  = oSpans.item(i3);
                var sValue = oSpan.innerHTML;
                if ( sValue.charAt(0) == '=' )
                {
                    sValue               = sValue.substr(1, (sValue.length - 1));
                    aAnswersMultiple[i2] = sValue;
                }
                
                oSpan.innerHTML = '';
                if ( i3 == 0 )
                {
                    var oSpacer = document.createElement('br');
                    oDiv.insertBefore(oSpacer, oSpan);
                }
                oSpan.innerHTML += sValue + ' <input type="radio" name="multiple_option' + i2 + '" value="' + sValue + '" />'; 
                if ( i3 == (oSpans.length - 1) )
                {
                    oSpan.innerHTML += ' <img id="multiple_result' + i2 + '" style="display: none;" />';
                }
            } 
            ++i2;
        }
    }    
}

function checkAnswersMultiple()
{
    for(var i = 0; i < aAnswersMultiple.length; ++i)
    {
        var oInputs  = document.getElementsByName('multiple_option' + i);
        var sAnswer  = '';
        for(var i2 = 0; i2 < oInputs.length; ++i2)
        {
            var oInput = oInputs.item(i2);      
                    
            if ( oInput.checked )
            {
                sAnswer = oInput.value;     
            }
        }   
                
        var eImage = document.getElementById('multiple_result' + i);

        if ( sAnswer.length > 0 )
        {
            if ( sAnswer == aAnswersMultiple[i] )
            {
                eImage.src = oTick.src;
                eImage.alt = 'Tick';
            }
            else
            {
                eImage.src = oCross.src;
                eImage.alt = 'Cross';
            }

            eImage.style.display = 'inline';
        }
        else
        {
            eImage.style.display = 'none';
        }
    }
}

/*
 * True
 */
var aAnswersTrue = new Array();

function loadTrue()
{
    var oContainer = document.getElementById('statements');
    if ( oContainer != null )
    {
        var oDivs      = oContainer.getElementsByTagName('div');
        var i2         = 0;
        for(var i = 0; i < oDivs.length; ++i)
        {
            var oDiv = oDivs.item(i);
        
            if ( oDiv.className == 'statement' )
            { 
                var oStatement        = oDiv.getElementsByTagName('p').item(0);
                oStatement.className  = 'statement_inner';
            
                var cValue            = oStatement.innerHTML.charAt(0); 
                oStatement.innerHTML  = oStatement.innerHTML.substr(1, (oStatement.innerHTML.length - 1));
                oStatement.innerHTML += ' <img id="true_result' + i2 + '" style="display: none;" />';
            
                if ( cValue == '=' )
                {
                    sValue = 1;
                }
                else
                {
                    sValue = 0;    
                }
                aAnswersTrue[i] = sValue;
                                    
                oDiv.innerHTML += '<p><select id="true_option' + i2 + '" style="float: right;"><option value="-1">-<\/option><option value="1">True<\/option><option value="0">False<\/option><\/select><\/p>';
            
                ++i2;   
            }
        }    
    }
}

function checkAnswersTrue()
{
    for(var i = 0; i < aAnswersTrue.length; ++i)
    {
        var iAnswer = document.getElementById('true_option' + i).value;
        var eImage  = document.getElementById('true_result' + i);

        if ( iAnswer != -1 )
        {
            if ( iAnswer == aAnswersTrue[i] )
            {
                eImage.src = oTick.src;
                eImage.alt = 'Tick';
            }
            else
            {
                eImage.src = oCross.src;
                eImage.alt = 'Cross';
            }

            eImage.style.display = 'inline';
        }
        else
        {
            eImage.style.display = 'none';
        }
    }
}

/*
 * Picture
 */
var aAnswersPicture = new Array();
var aAlpha          = new Array('a', 'b', 'c', 'd', 'e', 'f');

function loadOptionsPicture(iNumber)
{
    var sOptions = '<p>';    
    for (var i = 0; i < iNumber; ++i)
    {
        sOptions += (i + 1) + '. <select id="picture_option' + i + '">';
        sOptions += '<option value="-1">-</option>';
        for (var i2 = 0; i2 < iNumber; ++i2)
        {
            sOptions += '<option value="' + i2 + '">' + aAlpha[i2] + '</option>';     
        }
        sOptions += '</select>';
        sOptions += ' <img id="picture_result' + i + '" style="display: none;" />'    
    } 
    sOptions += '</p>';
    
    document.getElementById('images').innerHTML += sOptions;
}

function loadPicture()
{
    var oContainer = document.getElementById('images');
    if ( oContainer != null )
    {
        var oSpans = oContainer.getElementsByTagName('span');
    
        var sHtml    = '<table><tr>';
        var sOptions = '';
    
        var i = 0;
        while(i < oSpans.length)
        {
            var oSpan          = oSpans.item(i);
            aAnswersPicture[i] = oSpan.innerHTML.charAt(0) - 1;
		    oSpan.innerHTML    = oSpan.innerHTML.substr(2, oSpan.innerHTML.length);
		
            sHtml += '<td>' + aAlpha[i] + '. <img src="' + oSpan.innerHTML + '" /></td>';
        
            if ( ((i + 1) % 3) == 0 )
		    {
		        sHtml += '</tr><tr>';
		    } 
		
		    ++i;
        }  
    
        for(var i2 = 0; i2 < 3 - (i % 3); ++i2)
        {
	        sHtml += '<td></td>';
	    }
    
	    sHtml += '</tr></table>';  
	
	    oContainer.innerHTML = sHtml;
	
	    loadOptionsPicture(i);
	}
}

function checkAnswersPicture()
{
    for(var i = 0; i < aAnswersPicture.length; ++i)
    {
        var iAnswer = document.getElementById('picture_option' + i).value;
        var eImage  = document.getElementById('picture_result' + i);

        if ( iAnswer != -1 )
        {
            if ( iAnswer == aAnswersPicture[i] )
            {
                eImage.src = oTick.src;
                eImage.alt = 'Tick';
            }
            else
            {
                eImage.src = oCross.src;
                eImage.alt = 'Cross';
            }

            eImage.style.display = 'inline';
        }
        else
        {
            eImage.style.display = 'none';
        }
    }
}

/*
 * onLoad
 */
function addLoadEvent(func) 
{ 
    var oldonload = window.onload; 

    if (typeof window.onload != 'function') 
    { 
        window.onload = func; 
    } 
    else 
    { 
        window.onload = function() 
        { 
            if (oldonload) 
            { 
                oldonload(); 
            } 
            func(); 
        } 
    } 
} 
 
addLoadEvent(loadImages);
addLoadEvent(loadCss);
    
addLoadEvent(loadGapfill);
addLoadEvent(loadMultiple);
addLoadEvent(loadTrue);
addLoadEvent(loadPicture);