EVR.Console = function(width, height, container)
{
   EVR.Component.call(this, container, "textarea");
   this.width = width;
   this.height = height;
   this.style();
}
EVR.Console.prototype = new EVR.Component;
EVR.Console.prototype.style = function()
{
   this.css.width = this.width ? this.width + "px" : "100%";
   this.css.height = this.height ? this.height + "px" : "100px";
}
EVR.Console.prototype.write = function()
{
   var message = "";
   for (var ii = 0; ii < arguments.length; ii++)
   {
      if (ii > 0)
      {
	 message += " ";
      }
      message += arguments[ii];
   }
   message += "\n";
   this.element.value = message + this.element.value;
}
EVR.Console.prototype.clear = function()
{
   this.element.value = "";
}
EVR.Console.prototype.toggle_visibility = function()
{
   if (this.attached)
   {
      this.remove();
   }
   else
   {
      this.append();
   }
}
EVR.Console.prototype.toString = function()
{
   return "[object EVR.Console]";
}
// KEYS
// -----------------------------------------------------------------------------
var KEY_ENTER = 13;
var KEY_CTRL = 17;
var KEY_SPACE = 32;
var KEY_LEFT = 37;
var KEY_UP = 38;
var KEY_RIGHT = 39;
var KEY_DOWN = 40;
var KEY_C = 67;
var KEY_K = 75;
var KEY_M = 77;
var KEY_N = 78;
var KEY_Q = 81;
var KEY_R = 82;
var KEY_S = 83;
var KEY_T = 84;
var KEY_UP_ALTERNATE = KEY_T;
var KEY_DOWN_ALTERNATE = KEY_N;
var KEY_SPRINT = KEY_SPACE;
var KEY_SPRINT_ALTERNATE = KEY_RIGHT;
var KEY_RESTART = KEY_R;
var KEY_PREVIOUS_PAGE = KEY_LEFT;
var KEY_NEXT_PAGE = KEY_RIGHT;
var KEY_QUIT = KEY_Q;
var KEY_MENU = KEY_M;
var KEY_NEXT_LEVEL = KEY_N;
var KEY_GRID = KEY_SPACE;
var KEY_SOUND = KEY_S;

// GRAPHIC
// -----------------------------------------------------------------------------
var RATIO_INDEPENDENT = 0;
var RATIO_HEIGHT = 1;
var RATIO_WIDTH = 2;
var ALIGN_TOP_LEFT = 0;
var ALIGN_TOP = 1;
var ALIGN_TOP_RIGHT = 2;
var ALIGN_LEFT = 3;
var ALIGN_CENTER = 4;
var ALIGN_RIGHT = 5;
var ALIGN_BOTTOM_LEFT = 6;
var ALIGN_BOTTOM = 7;
var ALIGN_BOTTOM_RIGHT = 8;

// POP UP
// -----------------------------------------------------------------------------
var POP_UP_BORDER = "3px double black";
var POP_UP_WINDOW_Z_INDEX = 6;
var POP_UP_VEIL_Z_INDEX = 5;
var POP_UP_VEIL_COLOR = "#FFFFFF";
var POP_UP_VEIL_OPACITY = .6;

// CONSOLE
// -----------------------------------------------------------------------------
var CONSOLE_NAME = "console";

// FIELD
// -----------------------------------------------------------------------------
var FIELD_COLORS = ["#82CAFF", "#FFA8A8"];
var FIELD_FADE_RATE = 400;
var FIELD_FADE_LENGTH = 60000;
var FIELD_FADE_LOOP = true;

// CLOUDS
// -----------------------------------------------------------------------------
var CLOUD_COUNT = 28;
var CLOUD_MIN_OPACITY = .85;
var CLOUD_MAX_OPACITY = .94;
var CLOUD_MIN_WIDTH = .025;
var CLOUD_MAX_WIDTH = .0976;
var CLOUD_HEIGHT = .2;
var CLOUD_BOUNDARY_WIDTH = .01;
var CLOUD_POSITION_OFFSET = .125;
var CLOUD_COLOR = "#FFFFFF";
var CLOUD_SCROLL_RATE = 7000;
var CLOUD_STEP = .0015;
var CLOUD_Z_INDEX = 4;

// TREES
// -----------------------------------------------------------------------------
var TREE_COUNT = 21;
var TREE_MIN_OPACITY = .9;
var TREE_MAX_OPACITY = .99;
var TREE_MIN_HEIGHT = .017;
var TREE_MAX_HEIGHT = .034;
var TREE_WIDTH = .3;
var TREE_COLOR = "#00E400";
var TREE_SCROLL_RATE = 100;
var TREE_STEP = .001;
var TREE_Z_INDEX = 1;

// GROUND
// -----------------------------------------------------------------------------
var GROUND_COLOR = "#964B00";
var GROUND_WIDTH_RATIO = 1;
var GROUND_HEIGHT_RATIO = .006;
var GROUND_Z_INDEX = 4;

// ANIMATION
// -----------------------------------------------------------------------------
var DEFAULT_ANIMATION_METHOD_NAME = "sequence";

// INTRODUCTION
// -----------------------------------------------------------------------------
var INTRODUCTION_DELAY = 3000;
var INTRODUCTION_FRAMERATE = 125;
var INTRODUCTION_BEAM_WIDTH_RATIO = 7.5;
var INTRODUCTION_Y_RATIO = .625;
var INTRODUCTION_BEAM_GROWTH_RATE = .0011;
var INTRODUCTION_STEPS_PER_JUMP = 2;
var INTRODUCTION_EMOTICON_WALK_SPEED = .07;
var INTRODUCTION_EMOTICON_RUN_SPEED = .15;
var INTRODUCTION_EMOTICON_FLOAT_SPEED = .2;
var INTRODUCTION_SONG = "tenement_sun";
var INTRODUCTION_RESET_DELAY = 10000;
var TRANSMISSION_COLORS =
   ["red", "orange", "yellow", "green", "blue", "violet"];

// BLACK HOLE
// -----------------------------------------------------------------------------
var BLACK_HOLE_FADE_IN_SPEED = .0125;
var BLACK_HOLE_FADE_OUT_SPEED = .025;
var BLACK_HOLE_STEP_COUNT = 5;

// PROMPT
// -----------------------------------------------------------------------------
var PROMPT_TEXT = "PRESS RETURN TO BEGIN";
var PROMPT_BLINK_RATE = 500;
var PROMPT_OFFSET = .28;
var PROMPT_SIZE_RATIO = .021;
var PROMPT_FONT = "sans-serif";
var PROMPT_COLOR = "gray";
var PROMPT_LETTER_SPACING = 5;

// TITLE
// ----------------------------------------------------------------------------
var TITLE_OPACITY = .85;
var TITLE_WIDTH = 1;
var TITLE_HEIGHT = .14;
var TITLE_MARGIN = .06;
var TITLE_EMOTICON_FONT_SIZE = .082;
var TITLE_VERSUS_FONT_SIZE = .04;
var TITLE_RAINBOW_FONT_SIZE = .082;
var TITLE_LETTER_SPACING = 8;

// EMOTICON
// -----------------------------------------------------------------------------
var EMOTICON_COLOR = "#FFFF00";
var EMOTICON_FEATURE_COLOR = "#747474";
var EMOTICON_PADDING = .24;
var EMOTICON_FEATURES_WIDTH = .16;
var EMOTICON_FEATURES_HEIGHT = .2;
var EMOTICON_FEATURES_MARGIN = .25;

// SOUND
// -----------------------------------------------------------------------------
var SOUND_PATH = "aud/songs/";
var SOUND_WIDTH = .1;
var SOUND_HEIGHT = .15;
var SOUND_Z_INDEX = 4;
var SOUND_QUALITY = "hq";
var SOUND_INITIAL_VOLUME = .8;
var SOUND_VOLUME_STEP = .1;
var SOUND_CONTROLS_WIDTH = .58;
var SOUND_CONTROLS_HEIGHT = .22;
var SOUND_CONTROLS_FOUCUSED_OPACITY = 1;
var SOUND_CONTROLS_UNFOCUSED_OPACITY = .2;
var SOUND_CONTROLS_FONT_SIZE = .45;
var SOUND_CONTROLS_FONT_COLOR = "#303030";
var SOUND_CONTROLS_FONT_FAMILY = "sans-serif";
var SOUND_INDICATOR_BORDER_WIDTH = 3;
var SOUND_INDICATOR_BORDER = "groove #A0A0A0";
var SOUND_INDICATOR_ACTIVE_COLOR = "#20FF00";
var SOUND_INDICATOR_INACTIVE_COLOR = "#FF2020";
var SOUND_ENABLE_SIZE = .9;
var SOUND_AMPLIFY_ICON = "+";
var SOUND_DEAMPLIFY_ICON = "-";
var SOUND_BUTTON_BACKGROUND = "white";
var SOUND_BUTTON_WIDTH = .16;
var SOUND_BUTTON_HEIGHT = .45;
var SOUND_PROMPT_TEXT = "SOUND >";
var SOUND_PROMPT_LIFESPAN = 30000;
var SOUND_PROMPT_OFFSET = [-.66, .02];
var SOUND_PROMPT_SIZE = .103;
var SOUND_PROMPT_COLOR = "#585858";
var SOUND_PROMPT_FONT_FAMILY = "sans-serif";
var SOUND_PROMPT_LETTER_SPACING = 1;
var SOUND_PROMPT_FRAME_RATE = 500;
var SOUND_PROMPT_STEP = .05;
var SOUND_PROMPT_HEIGHT = .12;

// MENU
// -----------------------------------------------------------------------------
var MENU_PATH = "menus/";
var MENU_EXTENSION = ".xml";
var MENU_MAX_ROWS = 7;
var MENU_MAX_COLUMNS = 3;
var MENU_OPTION_WIDTH_RATIO = 11;
var MENU_OPTION_MARGIN = .016;
var MENU_BACKGROUND_COLOR = "#FF9890";
var MENU_HIGHLIGHT_COLOR = "#A0A0A0";
var MENU_SCROLL_OFFSET = 3;
var MENU_INITIAL_SCRIPT = "fetch_main_folder.php";
var MENU_Y_OFFSET = .614;

// OPTION
// -----------------------------------------------------------------------------
var OPTION_FONT_SIZE_RATIO = .019;
var OPTION_FONT_FAMILY = "sans-serif";

// BEAM
// -----------------------------------------------------------------------------
var BEAM_HEIGHT_RATIO = .031;
var BEAM_BORDER = "1px solid #383838";
var BEAM_PASSAGE_BORDER = "0px dashed #F0F0F0";

// HISTORY
// -----------------------------------------------------------------------------
var HISTORY_WIDTH = .36;
var HISTORY_HEIGHT = .9;
var HISTORY_SEPARATOR_PALETTE =
   ["red", "orange", "yellow", "green", "blue", "indigo", "violet"];
var HISTORY_HEADING_PALETTE =
   ["#FF8080", "#FF9555", "#FFFF80", "#80FF80", "#80FFFF", "#8080FF", "#FF80FF"];
var HISTORY_BACKGROUND = "#FFFF80";
var HISTORY_TIME_COLORS = ["#FFD700", "#C9C0BB", "#CD7F32", "#FFFFD0"];
var HISTORY_FONT = "sans-serif";
var HISTORY_FONT_SIZES = [.045, .032, .024, .015];
var HISTORY_CELL_PADDING = 4;
var HISTORY_CELL_SPACING = 11;
var HISTORY_CELL_COUNT = 18;
var HISTORY_LEVEL_NAME_FONT_SIZE = .0165;
var HISTORY_LEVEL_NAME_FONT_COLOR = "#565656";
var HISTORY_LEVEL_NAME_FONT_WEIGHT = "bold";
var HISTORY_LEVEL_NAME_FONT_STYLE = "italic";
var HISTORY_LEVEL_NAME_LETTER_SPACING = 6;
var HISTORY_LEVEL_NAME_BORDER = "1px outset #f0f0f0";
var HISTORY_MODE_FONT_SIZE = .02;
var HISTORY_MODE_LETTER_SPACING = 4;
var HISTORY_MODE_FONT_STYLE = "italic";
var HISTORY_TIME_TRIALS_HEADING = "Time Trials";
var HISTORY_FACE_PAINT_HEADING = "Face Paint";
var HISTORY_RECORD_LIMIT = 9;
var HISTORY_SEPARATOR_BORDER = "1px inset";
var HISTORY_BLANK_TIME = "-:--:---";

// LEVEL
// -----------------------------------------------------------------------------
var LEVEL_LIMIT = 10;
var LEVEL_START_DELAY = 500;
var LEVEL_PROMPT_SIZE = .031;
var LEVEL_PROMPT_COLOR = "#EFEF68";
var LEVEL_PROMPT_BACKGROUND = "#DF38DF";
// var LEVEL_PROMPT_COLOR = "#282828";
// var LEVEL_PROMPT_BACKGROUND = "#FFFFFF";
var LEVEL_PROMPT_DEPTH = 3;
var LEVEL_START_PROMPT_TEXT = "PRESS ENTER WHEN READY";
var LEVEL_PAUSE_PROMPT_TEXT = "ENTER: resume, R: restart level, M: main menu";
var LEVEL_FINISHED_PROMPT_TEXT = "R: restart level, M: main menu";
var LEVEL_CLEAR_PROMPT_TEXT = "R: restart level, M: main menu, N: next level";
var LEVEL_VIEW_ENDING_PROMPT_TEXT = "N: view ending";
var LEVEL_STATE_WAITING = 0;
var LEVEL_STATE_RACING = 1;
var LEVEL_STATE_PAUSED = 2;
var LEVEL_STATE_SUMMARIZING = 3;
var LEVEL_STATE_FINISHED = 4;
var LEVEL_INDICATOR_DISPLAY_THRESHOLD = 0;
var LEVEL_INDICATOR_FONT_SIZE = .017;
var LEVEL_INDICATOR_FONT_COLOR = "#606060";
var LEVEL_INDICATOR_FONT_FAMILY = "sans-serif";
var LEVEL_INDICATOR_TOP_OFFSET = -.231;
var LEVEL_INDICATOR_BOTTOM_OFFSET = .15;
var LEVEL_INDICATOR_LETTER_SPACING = "2px";
var LEVEL_INDICATOR_FRAME_RATE = 500;
var LEVEL_INDICATOR_REGISTER_TEXT = "next 3 colors";
var LEVEL_INDICATOR_REGISTER_OFFSET = -.41;
var LEVEL_INDICATOR_PATTERN_TEXT = "entire pattern/course map";
var LEVEL_INDICATOR_PATTERN_OFFSET = .11;
var LEVEL_INDICATOR_METER_TEXT =
   "boost meter, press spacebar to speed up when the meter turns green";
var LEVEL_INDICATOR_METER_OFFSET = -.16;
var LEVEL_INDICATOR_STEP = .01;

// ROAD
// -----------------------------------------------------------------------------
var ROAD_OFFSET = -.013;
var ROAD_BORDER_WIDTH = .048125;
var ROAD_DIVIDER_STYLE = "0px solid black";
var ROAD_BEAM_HEIGHT = .021;

// PLAYER
// -----------------------------------------------------------------------------
var PLAYER_OFFSET = 1.5;
var PLAYER_OPACITY = .96;

// FLAME
// -----------------------------------------------------------------------------
var FLAME_PALETTE = [
   "#ffff20", "#ffef30", "#ffd840", "#ffb850", "#ff9050", "#ef4020"];
var FLAME_GRAPHIC_WIDTH = .5;

// FLASH
// -----------------------------------------------------------------------------
var FLASH_ANIMATIONS_PATH = "img/flash/animations/";
var FLASH_MILESTONE_DIFFERENCE = 50;
var FLASH_OPACITY = .4;
var FLASH_FREQUENCIES = 3;

// GHOST
// -----------------------------------------------------------------------------
var GHOST_OPACITY = .5;
var GHOST_INDICATOR_OPACITY = .6;

// PATH
// -----------------------------------------------------------------------------
var PATH_INITIAL_RATE = 50;
var PATH_TIMING_BUFFER = 0;
var PATH_INITIAL_SPEED = .0015;
var PATH_SPRINT_SPEED = .004;
var PATH_SPEED_PENALTY = .3;
var PATH_METER_BONUS = 20;
var PATH_STREAK_BONUS = .1;
var PATH_METER_UNLOCK_DELAY = 3200;
var PATH_METER_UNLOCK_OFFSET = 3;

// LINE
// -----------------------------------------------------------------------------
var LINE_MARGIN = .167;
var LINE_WIDTH = .08;
var LINE_COLOR = "#FFFFFF";
var LINE_OPACITY = .91;
var LINE_CHECKER_COUNT = 14;
var LINE_CHECKER_COLOR = "#2A2A2A";
var LINE_FINISH = 1;

// CLOCK
// -----------------------------------------------------------------------------
var CLOCK_WIDTH = .16;
var CLOCK_HEIGHT = .030;
var CLOCK_TEXT_COLOR = "#F8F8F8";
var CLOCK_BACKGROUND = "#606060";
var CLOCK_TEXT_SIZE = .022;
var CLOCK_OPACITY = .85;
var CLOCK_FONT = "Courier New, Monospace";
var CLOCK_LETTER_SPACING = 4;
var CLOCK_FONT_WEIGHT = "normal";
var CLOCK_INTERVAL = 90;
var CLOCK_PRECISION = 3;
var CLOCK_PADDING = 2;

// METER
// -----------------------------------------------------------------------------
var METER_MARGIN = [0, .31];
var METER_READY_COLOR = "#38D458";
var METER_DISABLED_COLOR = "#DFDF48";
var METER_DRAINING_COLOR = "#DF5838";
var METER_SPAN = 6000;
var METER_INITIAL_LEVEL = 0;

// REGISTER
// -----------------------------------------------------------------------------
var REGISTER_WIDTH = .17;
var REGISTER_HEIGHT = .07;
var REGISTER_OPACITY = 1;
var REGISTER_MARGIN = [.09, .3];
var REGISTER_COUNT = 3;

// PREVIEW
// -----------------------------------------------------------------------------
var PREVIEW_FIRST_WIDTH = .42;
var PREVIEW_SIZE_VARIANCE = .55;
var PREVIEW_MARGIN = .05;
var PREVIEW_BORDER_WIDTH = 0;
var PREVIEW_BORDER_STYLE = "#545454 solid";

// MAP
// -----------------------------------------------------------------------------
var MAP_WIDTH = "96%";
var MAP_BORDER = "0px #202020 dotted";

// INDICATOR
// -----------------------------------------------------------------------------
var INDICATOR_COLOR = "#F8F800";
var INDICATOR_BORDER_COLOR = "#3A3A32";
var INDICATOR_BORDER_WIDTH = 3;
var INDICATOR_OPACITY = .97;

// STREAK
// -----------------------------------------------------------------------------
var STREAK_MIN_GLYPHS = 4;
var STREAK_GLYPH_COUNT = 8;
var STREAK_MAX_Y = .09;
var STREAK_MIN_Y = .06;
var STREAK_X_OFFSET = .5;
var STREAK_X_VARIANCE = .09;
var STREAK_Z_INDEX = 0;
var STREAK_FONT_FAMILY = "sans-serif";
var STREAK_FONT_COLOR = "#b0b0FF";
var STREAK_COLORS =
   ["#F89090", "#90E090", "#8A8AFF", "#FFFF40", "#FF9030", "#FF60FF"];
var STREAK_SHADOWS =
   ["#702020", "#207020", "#202080", "#64642B", "#603010", "#603060"];
var STREAK_FONT_SIZE = .02;
var STREAK_FONT_WEIGHT = "bold";
var STREAK_CHEER_PROBABILITY = .038;
var STREAK_CHEER_GRADIENT = 320.0;
var STREAK_CHEERS =
   ["OK!", "GOOD!", "GREAT!", "WOW!", "FANTASTIC!", "SPECTACULAR!",
    "SENSATIONAL!"];
var STREAK_MILESTONES = [35, 85, 140, 195, 270, 390, 590];
var STREAK_GLYPH_WIDTH = .09;
var STREAK_GLYPH_HEIGHT = 0;
var STREAK_SHADOW_OFFSET = [-1, 0];
var STREAK_OPACITY = .9;

// CHEERS
// -----------------------------------------------------------------------------
var CHEERS_TEXTS = [
   "OK!", "YES!", "GO!", "YEAH!", "SUPER!", "AMAZING!", "AWESOME!", "INCREDIBLE!"];
var CHEERS_MIN_BOOST_LENGTH = 250;
var CHEERS_MAX_BOOST_LENGTH = 2000;
var CHEERS_DRAG_THRESHOLD = 1000;
var CHEERS_JEER_TEXT = "BOO!";
var CHEERS_JEER_COLOR = "#989898";
var CHEERS_MARQUEE_WIDTH = .88;
var CHEERS_MARQUEE_HEIGHT = .1;
var CHEERS_MARQUEE_OFFSET = .125;
var CHEERS_SHADOW_OFFSET = [-1, 1];
var CHEERS_SHADOW_COLOR_OFFSET = 70;
var CHEERS_FOREGROUND_Z_INDEX = 1;
var CHEERS_SPECTRUM_LENGTH = 80;
var CHEERS_SPECTRUM_STARTING_INDEX = 24;
var CHEERS_FOREGROUND_OPACITY = .8;
var CHEERS_SHADOW_OPACITY = .95;
var CHEERS_ANIMATION_RATE = 100;
var CHEERS_SCROLL_PADDING = .25;
var CHEERS_SCROLL_STEP = 4;
var CHEERS_SCROLL_DELAY = 1000;
var CHEERS_FONT_SIZE = .042;
var CHEERS_GLYPH_PADDING = 16;
var CHEERS_GLYPH_PADDING = .01;

// SCOREBOARD
// -----------------------------------------------------------------------------
var SCOREBOARD_WIDTH = .2;
var SCOREBOARD_HEIGHT = .15;
var SCOREBOARD_OFFSET = .11;
var SCOREBOARD_CHEERS = [
   "OK!", "GOOD!", "GREAT!", "EXCELLENT!", "AWESOME!", "INCREDIBLE!"];
var SCOREBOARD_INACTIVE_OPACITY = .11;
var SCOREBOARD_FONT_WEIGHT = "bold";
var SCOREBOARD_FONT_SIZE = .1;
var SCOREBOARD_FONT_FAMILY = "sans-serif";
var SCOREBOARD_SHADOW_OFFSET = [-2, 1];
var SCOREBOARD_SHADOW_COLOR_OFFSET = 140;
var SCOREBOARD_BASE_WIDTH = .7;
var SCOREBOARD_BASE_HEIGHT = .2;
var SCOREBOARD_MAX_RED = 155;
var SCOREBOARD_METER_WIDTH = .15;
var SCOREBOARD_METER_SEGMENTS = 15;
var SCOREBOARD_METER_INACTIVE_OPACITY = .25;
var SCOREBOARD_METER_MIN_SPEED = .00151;
var SCOREBOARD_METER_MAX_SPEED = .0022;
var SCOREBOARD_METER_BORDER_COLOR_OFFSET = 70;
var SCOREBOARD_METER_HORIZONTAL_BORDER_WIDTH = "3px";
var SCOREBOARD_METER_BOTTOM_BORDER_WIDTH = "1px";
var SCOREBOARD_CHEER_MARGIN = .05;

// COUNTDOWN
// -----------------------------------------------------------------------------
var COUNTDOWN_LENGTH = 3;
var COUNTDOWN_DELAY = 500;
var COUNTDOWN_HEIGHT = .6;
var COUNTDOWN_FONT = "sans-serif";
var COUNTDOWN_COLOR = ["#DF38DF", "#EFEF68"];
var COUNTDOWN_DEPTH = 4;
var COUNTDOWN_FONT_WEIGHT = "bold";
var COUNTDOWN_FONT_SIZE = .55;
var COUNTDOWN_SHADOW_OFFSET = [.05, .05];

// SUMMARY
// -----------------------------------------------------------------------------
var SUMMARY_BACKGROUND = "white";
var SUMMARY_FINISH_LINE_OFFSET = .015;

// ACCURACY
// -----------------------------------------------------------------------------
var ACCURACY_PADDING = 10;
var ACCURACY_FONT = "sans-serif";
var ACCURACY_FONT_COLOR = "#484848";
var ACCURACY_BACKGROUND_COLOR = "pink";
var ACCURACY_FONT_WEIGHT = "normal";
var ACCURACY_FONT_SIZE = .049;
var ACCURACY_LETTER_SPACING = 1;
var ACCURACY_HEADING = "ACCURACY";
var ACCURACY_HEADING_FONT = "sans-serif"
var ACCURACY_HEADING_FONT_SIZE = .017;
var ACCURACY_HEADING_TEXT_DECORATION = "none";
var ACCURACY_HEADING_LETTER_SPACING = 2;
var ACCURACY_HEADING_BORDER = "1px solid #484848";
var ACCURACY_PRECISION = 2;

// MODEL
// -----------------------------------------------------------------------------
var MODEL_ACTUAL_TEXT = "YOU";
var MODEL_EXPECTED_TEXT = "EXPECTED";
var MODEL_HEIGHT = .1;
var MODEL_PADDING = 30;
var MODEL_HEADING_HEIGHT = .022;
var MODEL_HEADING_BACKGROUND = "pink";
var MODEL_FONT_COLOR = "#383838";
var MODEL_HEADING_FONT_SIZE = .012;
var MODEL_HEADING_LETTER_SPACING = 1;
var MODEL_FONT_FAMILY = "sans-serif";
var MODEL_BORDER = "1px dotted #888888";

// TIME
// -----------------------------------------------------------------------------
var TIME_FONT = "sans-serif, Helvetica";
var TIME_FONT_SIZE = .103;
var TIME_FONT_COLOR = "#484848";
var TIME_CLEAR_FONT_COLOR = "#04C004";
var TIME_FAIL_FONT_COLOR = "#FF4040";
var TIME_PADDING = 30;
var TIME_LETTER_SPACING = -3;
var TIME_LINE_HEIGHT_MODIFIER = .18;

// GOAL
// -----------------------------------------------------------------------------
var GOAL_TEXT = "GOAL TIME: ";
var GOAL_ADVANCED_TEXT = "EXPERT GOAL: ";
var GOAL_FONT_SIZE = .015;
var GOAL_FONT_FAMILY = "sans-serif";
var GOAL_FONT_COLOR = "#484848";
var GOAL_TEXT_ALIGN = "center";
var GOAL_LETTER_SPACING = 1;
var GOAL_MARGIN = 4;
var GOAL_PADDING = 1;
var GOAL_BACKGROUND = "skyblue";

// GRAPH
// -----------------------------------------------------------------------------
var GRAPH_TITLE = "LAST";
var GRAPH_TITLE_BACKGROUND = "pink";
var GRAPH_TITLE_FONT = "sans-serif";
var GRAPH_TITLE_LETTER_SPACING = 0;
var GRAPH_FONT_SIZE = .015;
var GRAPH_FONT_COLOR = "#484848";
var GRAPH_MARGIN = 30;
var GRAPH_MARGIN_PADDING = 1;
var GRAPH_MARGIN_BACKGROUND = "#C0C0FF";
var GRAPH_MARGIN_TEXT_FONT = "sans-serif";
var GRAPH_MARGIN_TEXT_COLOR = "#787878";
var GRAPH_MARGIN_TEXT_BACKGROUND = "#BDBDBD"
var GRAPH_COLORS = ["#FFFF80", "#FF80F0"];
var GRAPH_HISTORY_LENGTH = 10;
var GRAPH_BAR_PADDING = 4;
var GRAPH_BAR_WIDTH = 4;
var GRAPH_MIN_BAR_HEIGHT = 10;
var GRAPH_PLOT_HEIGHT = .1;
var GRAPH_PLOT_MARGIN = 2;
var GRAPH_PLOT_BACKGROUND_COLOR = "#B0D8FF";
var GRAPH_PRECISION = 0;

// RECORDS
// -----------------------------------------------------------------------------
var RECORDS_COLORS = ["#FFD700", "#C9C0BB", "#CD7F32", "#E0E0E0"];
var RECORDS_FONT_COLOR = "#404040";
var RECORDS_NEW_FONT_COLOR = "green";
var RECORDS_FONT_SIZES = [.01575 * 6, .015 * 3, .01575];
var RECORDS_PADDING = 30;
var RECORDS_LETTER_SPACING = 4;
var RECORDS_FONT_FAMILY = "sans-serif";
var RECORDS_FONT_WEIGHT = "normal";
var RECORDS_TIER_LENGTHS = [1, 2, 6];
var RECORDS_BLANK_TIME_TEXT = "--:--:---";
var RECORDS_PRECISION = 2;

// ALBUM
// -----------------------------------------------------------------------------
var ALBUM_PATH = "img/album/";
var ALBUM_BACKGROUND = "black";
var ALBUM_Z_INDEX = 5;
var ALBUM_PAGE_BACKGROUND = "#82CAFF";
var ALBUM_MENU_FONT = "sans-serif";
var ALBUM_MENU_BACKGROUND = "white";
var ALBUM_MENU_FONT_COLOR = "#282828";
var ALBUM_MENU_PADDING = "3px 0 4px 0";
var ALBUM_MENU_FONT_SIZE = "11px";
var ALBUM_MENU_FONT_WEIGHT = "normal";
var ALBUM_MENU_LETTER_SPACING = 3;
var ALBUM_MENU_OPACITY = .96;
var ALBUM_MENU = "ENTER: hide menu | &larr;/&rarr;: browse | Q: exit";
var ALBUM_MENU_BEAMS_OPTION = " | SPACE: beams";
var ALBUM_BEAM_SIZE = .006;
var ALBUM_BEAM_COLORS = ["red", "orange", "yellow", "green", "blue", "violet"];
var ALBUM_MIN_BEAMS = 450;
var ALBUM_MAX_BEAMS = 650;
var ALBUM_BEAM_OPACITY = .8;
var ALBUM_BEAM_FLICKER_RATE = 200;
var ALBUM_SONG = "cemetarousel";

// INSTRUCTIONS
// -----------------------------------------------------------------------------
var INSTRUCTIONS_WIDTH = .58;
var INSTRUCTIONS_HEIGHT = .85;
var INSTRUCTIONS_BACKGROUND = "#FFD0FF";
var INSTRUCTIONS_FONT_COLOR = "#585858";
var INSTRUCTIONS_FONT_SIZE = "19px";
var INSTRUCTIONS_FONT_FAMILY = "sans-serif";
var INSTRUCTIONS_LETTER_SPACING = 0;
var INSTRUCTIONS_LINE_HEIGHT = "20px";
var INSTRUCTIONS_PADDING = 10;
var INSTRUCTIONS_PARAGRAPH_TEXT_ALIGN = "left";
var INSTRUCTIONS_PARAGRAPH_PADDING = 8;
var INSTRUCTIONS_PARAGRAPH_BACKGROUND = "#FFFFB0";
var INSTRUCTIONS_IMAGE_MARGIN = 30;

// ABOUT
// -----------------------------------------------------------------------------
var ABOUT_WIDTH = .2;
var ABOUT_HEIGHT = .34;
var ABOUT_PALETTE =
   ["#FFFF80", "#80FFFF", "#FF80FF", "#FF9555", "#80FF80", "#8080FF", "#FF9555"];
var ABOUT_BACKGROUND = "#D0FFA0";
var ABOUT_FONT_COLOR = "#505050";
var ABOUT_FONT_SIZE = "16px";
var ABOUT_FONT_FAMILY = "sans-serif";
var ABOUT_PADDING = "20px 30px";
var ABOUT_HEADING_INDICATOR = "=";
var ABOUT_TEXT_ALIGN = "left";
var ABOUT_PARAGRAPH_FONT_COLOR = "#686868";
var ABOUT_PARAGRAPH_TEXT_ALIGN = "justify";
var ABOUT_PARAGRAPH_LINE_HEIGHT = "24px";
var ABOUT_PARAGRAPH_FONT_STYLE = "italic";
var ABOUT_PARAGRAPH_PADDING = "16 30";
var ABOUT_PARAGRAPH_FONT_WEIGHT = "bold";
var ABOUT_PARAGRAPH_BORDER = "20px ridge #AB5949";
var ABOUT_HEADING_FONT_WEIGHT = "bold";
var ABOUT_HEADING_TEXT_DECORATION = "underline";
var ABOUT_HEADING_FONT_SIZE = "17px";
var ABOUT_HEADING_MARGIN = 21;
var ABOUT_HEADING_PADDING = 0;
var ABOUT_LINK_TEXT_DECORATION = "none";
var ABOUT_LINK_COLOR = "#505050";
var ABOUT_INDIVIDUAL_PADDING = 0;
var ABOUT_INDIVIDUAL_LETTER_SPACING = "1px";
var ABOUT_INDIVIDUAL_FONT_SIZE = "15px";

// ENDING
// -----------------------------------------------------------------------------
var ENDING_BACKGROUND = "#CACACA";
var ENDING_SONG = "what_place";
var ENDING_MESSAGE_FRAME_RATE = 50;
var ENDING_MESSAGE_DELAY = 10000;
var ENDING_MESSAGE_Z_INDEX = 7;
var ENDING_MESSAGE_TEXT_COLOR = "#585858";
var ENDING_MESSAGE_FONT_FAMILY = "sans-serif";
var ENDING_MESSAGE_TITLE_TEXT = "Emoticon Vs. Rainbow";
var ENDING_MESSAGE_TITLE_SIZE = .1;
var ENDING_MESSAGE_TITLE_LETTER_SPACING = 1;
var ENDING_MESSAGE_TITLE_OFFSET = -.02;
var ENDING_MESSAGE_THANKS_TEXT = "Thank you for playing!";
var ENDING_MESSAGE_THANKS_SIZE = .03;
var ENDING_MESSAGE_THANKS_LETTER_SPACING = 1;
var ENDING_MESSAGE_THANKS_OFFSET = 0;
var ENDING_MESSAGE_COMMAND_TEXT = "THE END";
var ENDING_MESSAGE_COMMAND_SIZE = .018;
var ENDING_MESSAGE_COMMAND_LETTER_SPACING = 25;
var ENDING_MESSAGE_COMMAND_OFFSET = -.05;

// TOMBSTONE
// -----------------------------------------------------------------------------
var TOMBSTONE_COLOR = "#949494";
var TOMBSTONE_BORDER = "1px solid #A8A8A8";
// var TOMBSTONE_WIDTH = .018;
// var TOMBSTONE_HEIGHT = 1.5;
var TOMBSTONE_WIDTH = .63;
var TOMBSTONE_HEIGHT = .038;
var TOMBSTONE_OFFSET = .12;
var TOMBSTONE_Z_INDEX = 1;
var TOMBSTONE_CROSS_THICKNESS = .1;
var TOMBSTONE_CROSS_COLOR = "#D8C082";
var TOMBSTONE_CROSS_OFFSET = .1;
var TOMBSTONE_CROSS_BAR_OFFSET = .21;
var TOMBSTONE_CROSS_HEIGHT = .44;
var TOMBSTONE_CROSS_WIDTH = .45;
var TOMBSTONE_BASE_WIDTH = 5;
var TOMBSTONE_BASE_HEIGHT = .007;
var TOMBSTONE_BASE_Z_INDEX = 1;
var TOMBSTONE_BASE_BORDER = "1px solid #A8A8A8";

// FAMILY
// -----------------------------------------------------------------------------
var FAMILY_ATTRIBUTES = [
   [.028, -.036, "#FF8080"],
   [.025, -.061, "#DFFF80"],
   [.018, -.046, "#A090FF"],
   [.023, -.091, "#FFA877"],
   [.019, .033, "#80FF9A"],
   [.025, .05, "#A890C8"],
   [.024, .092, "#C09A62"],
   [.02, .08, "#C7D750"]
];
var FAMILY_FRAME_RATE = 400;
var FAMILY_STEP = .001;
var FAMILY_SHIFT_PROBABILITY = .03;
var FAMILY_JUMP_STEP = -.004;
var FAMILY_JUMP_DELAY = 800;
var FAMILY_JUMP_PROBABILITY = 1;

// RAINBOW
// -----------------------------------------------------------------------------
var RAINBOW_WIDTH = .021;
var RAINBOW_Z_INDEX = 2;
var RAINBOW_FRAME_RATE = 50;
var RAINBOW_STEP = .01;
var RAINBOW_DELAY = 15000;
var RAINBOW_OPACITY = .75;

// CORPSE
// -----------------------------------------------------------------------------
var CORPSE_DELAY = 5000;
var CORPSE_Z_INDEX = 3;
var CORPSE_FRAME_RATE = 50;
var CORPSE_HEIGHT = .0235;
var CORPSE_STEP = -.007;
var CORPSE_ZOOM_DELAY = 5000;
var CORPSE_EYE_OFFSET = [.102, .58];
var CORPSE_ZOOM_RATE = .1;
var CORPSE_ZOOM_ENDPOINT = [.5, .5];
var CORPSE_ZOOM_STEP = .1;
var CORPSE_ZOOM_Z_INDEX = 5;

// SOUL
// -----------------------------------------------------------------------------
var SOUL_FRAME_RATE = 100;
var SOUL_ZOOM_STEP = .16;
var SOUL_Z_INDEX = 6;
var SOUL_UPDATE_METER_LIMIT = 30;
var SOUL_HEIGHT = 1;

// ACCOUNT
// -----------------------------------------------------------------------------
var ACCOUNT_WIDTH = .3;
var ACCOUNT_HEIGHT = .8;
var ACCOUNT_BACKGROUND = "#FFCA92";
var ACCOUNT_BUTTON_TEXT = "EXIT";

// FORM
// -----------------------------------------------------------------------------
var FORM_ERROR_COLOR = "#FF8080";
var FORM_ERROR_TEXT_COLOR = "#FF4040";
var FORM_ERROR_DISPLAY_MARGIN = 10;
var FORM_NEUTRAL_COLOR = "#FFFFFF";
var FORM_RESULTS_DELAY = 100;
var FORM_FOCUSED_TEXT_COLOR = "#282828";
var FORM_UNFOCUSED_TEXT_COLOR = "#909090";
3.234.214.113
3.234.214.113
3.234.214.113
 
June 7, 2018