Yo Trashbag96...this is no ordinary website!!!

var cvs = document.getElementById('cv'), ctx = cvs.getContext('2d');
var Order = [4,0,2,5,1,3];
var BoardImage = 4;

// ######################
/// Characters
// ######################
var neo = [];
neo.push({ X: 512, Y: 344, F: 0, SF: 0, SP: 6, I: 0 });
neo.push({ X: 412, Y: 134, F: 20, SF: 0, SP: 4, I: 0 });
neo.push({ X: 612, Y: 234, F: 20, SF: 0, SP: 5, I: 0 });

neo.push({ X: 552, Y: 334, F: 0, SF: 0, SP: 2, I: 1 });
neo.push({ X: 612, Y: 149, F: 20, SF: 0, SP: 3, I: 1 });
neo.push({ X: 712, Y: 234, F: 20, SF: 0, SP: 1, I: 1 });


// ######################
// Update game objects
// ######################
var update = function (modifier) {
for (var i = 0; i < neo.length; i++) {
neo[i].SF += 1;
if (neo[i].SF > neo[i].SP) { neo[i].SF = 0; neo[i].F += 1; }
if (neo[i].F > 29) neo[i].F = 0;
}
};


// #################
// Draw everything
// #################
var render = function () {
ctx.save();

// Draw the BackGround
ctx.globalAlpha = 1.0;
ctx.drawImage(Sprite[BoardImage],(cvs.width/2)-512,100);
ctx.restore();

// Draw the Characters (Order Matters)
for (var i = 0; i < Order.length; i++)
DrawAnimationReflection(i);
for (var i = 0; i < Order.length; i++)
{
DrawAnimationShadow(Order[i]);
DrawAnimation(Order[i]);
}
};


// #################
// Draw Reflections
// #################
var DrawAnimationReflection = function (i) {
ctx.save();
ctx.scale(1, -1);
ctx.translate(0, -Sprite[neo[i].I].height);
ctx.globalAlpha = .20;
ctx.drawImage(Sprite[neo[i].I], 60 * neo[i].F, 0, 60, 120, neo[i].X, (-neo[i].Y - Sprite[neo[i].I].height- -8)+(60), 60, 90);
ctx.globalAlpha = 1.0;
ctx.restore();
}


// ##################################
// Draws the Actual Character
// ##################################
var DrawAnimation = function (i) {
ctx.save();
ctx.translate(0,0);
ctx.drawImage(Sprite[neo[i].I], 60 * neo[i].F, 0, 60, 120, neo[i].X, neo[i].Y, 60, 120);
ctx.restore();
}



// ##################################
// Draws the Shadow of the Character
// ##################################
var DrawAnimationShadow = function (i) {
ctx.save();
ctx.translate(0,-120);
ctx.setTransform(1, 0, -1, 1, (120+neo[i].Y)-8, -2);
ctx.globalAlpha = .3;
ctx.drawImage(Mask[neo[i].I], 60 * neo[i].F, 0, 60, 120, neo[i].X, neo[i].Y, 60, 120);
ctx.restore();
}



// ######################
// The main game loop
// ######################
var main = function () {
if (ImagesLoaded==true) {
var now = Date.now();
var delta = now - then;
update(delta / 1000);
render();
then = now;
}
};



// ########################
// Start The Game Loop
// ########################
var then = Date.now();
setInterval(main, 10);
LoadImages();