// generic/global data and fucntions

var REDIRECT_PAGE_URL = "http://www.dodopad.com/dodomaze/mazeform.php";

var MAZE_WIDTH = 7;
var MAZE_HEIGHT = 7;
var NUM_CELL_TYPES = 17;
var NUM_CHALLENGES = 11;
var NUM_MAP_CELLS = 11;
var NUM_CATACOMBS = 8;
var OPTIMUM_STEPS;
var CHALLENGE_FOUND_BOUNS;
var CHALLENGE_ANSWERGOOD_BOUNS;
var MAP_USE_PENALTY;
var CATACOMB_USE_PENALTY;

var TheMaze = new Array(MAZE_WIDTH*MAZE_HEIGHT);
var TheCells = new Array(NUM_CELL_TYPES);
var TheChallenges = new Array(NUM_CHALLENGES);
var HELPER_TEXT = new Array(4);

var RandomsMapCells = new Array(NUM_MAP_CELLS);
var RandomsCatacombs = new Array(NUM_CATACOMBS);

var gTheMazeStartCell = "13";

var gPlayerScore;
var gStepsTaken;
var gNumberOfMapsUsed;
var gCatacombsUsed;
var gBestPossibleScore;

// need a start view
var gCellView = gTheMazeStartCell;

// position is x+(y*MAZE_WIDTH)
var player_position_x = 3;
var player_position_y = 6;

// N=0, E=1, S=2, W=3
var player_look_dir = 0;

// 'counter' for 'random' cell changing
var cellsequencecounter = 0;

// if this is anything other than -1, must be a challenge panel to show
var gChallengeMode = -1;
// store graphic that was overlaid by challenge cell
var gToFromChallengeCell;
// store text of cell before it vanished
var gToFromOtherText;

var gAtStart = true;
var gCanMoveForward = true;
var gCanMoveBackward = true;

var gChosenCatacombCell;

// teapot data
// where the player is put
var gTeaPotPlayerX;
var gTeaPotPlayerY;
// where the teapot is
var gTeaPotX;
var gTeaPotY;

var gEASY_MODE = false;