﻿
var keysEntered;
var imageFileNames;
var waldoPos = 0;

function InitKonami()
{
    keysEntered = new Array();
    var i;
    for(i=0;i<10;i++)
    {
        keysEntered[i] = 0;
    }

    imageFileNames = new Array();
    imageFileNames[imageFileNames.length] = 'Images/Waldo.gif';
    imageFileNames[imageFileNames.length] = 'Images/Goblin.gif';
    imageFileNames[imageFileNames.length] = 'Images/HomerJig.gif';
    imageFileNames[imageFileNames.length] = 'Images/ani_4hammerbro.gif';
    
    
    for(i=0;i<imageFileNames;i++)
    {
        var img = document.createElement('img');
        img.setAttribute('src', imageFileNames[i]);
        document.body.appendChild(img);
    }
}


function GetRandomImageFileName()
{
    var imageIndex = Math.floor(Math.random() * imageFileNames.length);
    return imageFileNames[imageIndex];    
}

function AddKeyToList(keyCode)
{
    try
    {
        var i;
        var up = 38;
        var down = 40;
        var left = 37;
        var right = 39;
        var b = 66;
        var a = 65;
        for(i=0;i<9;i++)
        {
            keysEntered[i] = keysEntered[i + 1];
        }
        keysEntered[9] = keyCode;
        
        if((keysEntered[0]==up) &&
           (keysEntered[1]==up) &&
           (keysEntered[2]==down) &&
           (keysEntered[3]==down) &&
           (keysEntered[4]==left) &&
           (keysEntered[5]==right) &&
           (keysEntered[6]==left) &&
           (keysEntered[7]==right) &&
           (keysEntered[8]==b) &&
           (keysEntered[9]==a))
        {
            RunWaldo();
        }
        
        
        var str = '';
        for(i=0;i<10;i++)
        {
            str += keysEntered[i] + ' | ';
        }
    }
    catch(ex)
    {
    }
}

function RunWaldo()
{
    //id="ctl00_bnYouTube"
    var youTubeButton = document.getElementById('bnYouTube');
    if(youTubeButton)
    {
        youTubeButton.style.visibility = 'visible';
        youTubeButton.innerHTML = 'Crap I Found On YouTube';
    }
    
    WaitForWaldo();    
}

function WaitForWaldo()
{
    if(waldoPos>0)
    {
        setTimeout('WaitForWaldo()', 250);
    }
    else
    {
        var imgWaldo = document.getElementById('imgWaldo');
        imgWaldo.src = GetRandomImageFileName();    
        AdvanceWaldo();
    }
}


function AdvanceWaldo()
{
    var imgWaldo = document.getElementById('imgWaldo');
    imgWaldo.style.position = 'absolute';
    
    waldoPos += 4;
    imgWaldo.style.left = '' + 2 * waldoPos + 'px';
    imgWaldo.style.top = '200px';
    imgWaldo.style.visibility = 'visible';
    
    
    if(waldoPos<600)
    {
        setTimeout('AdvanceWaldo();', 25);
    }
    else
    {
        waldoPos = 0;
        imgWaldo.style.left = '0px';
        imgWaldo.style.visibility = 'hidden';
    }
}

function DetectKonamiCode(ev)
{
    var keyCode = null;
    if(window.event)
    {
        keyCode = window.event.keyCode;
    }
    else if(ev)
    {
        keyCode = ev.which;
    }
    else
    {
        return true;
    }

    AddKeyToList(keyCode);
    
    if(keyCode==13)
    {
        //return false;
    }

    return true;
}
