code: function(input,key,size)
  		{
  			var output = [];
  			var block = []; /* the 128 bit block to encode */
  			var nbrRounds = this.numberOfRounds(size);
  			/* Set the block values, for the block:
  			 * a0,0 a0,1 a0,2 a0,3
  			 * a1,0 a1,1 a1,2 a1,3
  			 * a2,0 a2,1 a2,2 a2,3
  			 * a3,0 a3,1 a3,2 a3,3
  			 * the mapping order is a0,0 a1,0 a2,0 a3,0 a0,1 a1,1 ... a2,3 a3,3
  			 */
  			for (var i = 0; i < 4; i++) /* iterate over the columns */
  				for (var j = 0; j < 4; j++) /* iterate over the rows */
  					block[(i+(j*4))] = input[(i*4)+j];
  		
  			/* expand the key into an 176, 208, 240 bytes key */
  			var expandedKey = this.expandKey(key, size); /* the expanded key */
  			/* encrypt the block using the expandedKey */
  			block = this.main(block, expandedKey, nbrRounds);
  			for (var k = 0; k < 4; k++) /* unmap the block again into the output */
  				for (var l = 0; l < 4; l++) /* iterate over the rows */
  					output[(k*4)+l] = block[(k+(l*4))];
  			return output;
  		}
docs: encrypts a 128 bit input block against the given key of size specified