// Gate image overlays

dff0000 = new Image(550, 275); dff0000.src = "images/dff0000.gif";
dff0011 = new Image(550, 275); dff0011.src = "images/dff0011.gif";
dff0100 = new Image(550, 275); dff0100.src = "images/dff0100.gif";
dff0101 = new Image(550, 275); dff0101.src = "images/dff0101.gif";
dff1000 = new Image(550, 275); dff1000.src = "images/dff1000.gif";
dff1011 = new Image(550, 275); dff1011.src = "images/dff1011.gif";
dff1110 = new Image(550, 275); dff1110.src = "images/dff1110.gif";
dff1111 = new Image(550, 275); dff1111.src = "images/dff1111.gif";


// gate input values

var gatesIn = new Array(0);
gatesIn[0] = new Array(1);	// D Edge-triggered flip-flop
gatesIn[0][0] = "0";
gatesIn[0][1] = "0";

var gatesOut = new Array(0);	// D Edge-triggered flip-flop
gatesOut[0] = new Array(1);
gatesOut[0][0] = "0";
gatesOut[0][1] = "0";

// gate names

var gateNames = new Array(0);
gateNames[0] = "dff";


// Input and output counts

var gateInputs = new Array(0);
gateInputs[0] = 2;

var gateOutputs = new Array(0);
gateOutputs[0] = 2;


function findOutput(gateID, inputID) {
        myGate = gateID;
        myInput = inputID;
        // Determine output state for current inputs
	if (gatesIn[myGate][1] == "1") {
		gatesOut[myGate][0] = gatesIn[myGate][0];
	} else {
                gatesOut[myGate][1] = gatesOut[myGate][0]
        }
}

