var debug = 0;
var IDENT = new Array();
var TYPE = new Array();
var WEIGHT_AIRCRAFT = new Array();
var ARM_AIRCRAFT = new Array();
var MAX_FUEL_USG = new Array();
var MTOW = new Array();
var MAX_BAGS1 = new Array();
var MAX_BAGS2 = new Array();
var ARM_PILOT = new Array();
var ARM_COPILOT = new Array();
var ARM_PASSENGERS = new Array();
var ARM_BAGS1 = new Array();
var ARM_BAGS2 = new Array();
var ARM_FUEL = new Array();
var GRAPH_X = new Array();
var GRAPH_Y = new Array();
var GRAPH_XINC = new Array();
var GRAPH_YINC = new Array();
var COG_MIN = new Array();
var COG_MAX = new Array();
var WEIGHT_MIN = new Array();
var WEIGHT_MAX = new Array();
var NOTES = new Array();
var IMAGES = new Array();

IDENT[0] = "C152"; 
TYPE[0] = "C152"; 
WEIGHT_AIRCRAFT[0] = 0.00; 
ARM_AIRCRAFT[0] = 0.0; 
MAX_FUEL_USG[0] = 24.5; 
MTOW[0] = 1670.0; 
MAX_BAGS1[0] = 120.0; 
MAX_BAGS2[0] = 40.0; 
ARM_PILOT[0] = 39.00; 
ARM_COPILOT[0] = 39.00; 
ARM_PASSENGERS[0] = 0.00; 
ARM_BAGS1[0] = 64.00; 
ARM_BAGS2[0] = 84.00; 
ARM_FUEL[0] = 42.50; 
GRAPH_X[0] = 69.00; 
GRAPH_Y[0] = 421.00; 
GRAPH_XINC[0] = 78.70; 
GRAPH_YINC[0] = 50.20; 
COG_MIN[0] = 30.00; 
COG_MAX[0] = 37.00; 
WEIGHT_MIN[0] = 1000.00; 
WEIGHT_MAX[0] = 1800.00; 
NOTES[0] = 'CALCULATOR ENABLED'; 

IDENT[1] = "FIBX"; 
TYPE[1] = "C152"; 
WEIGHT_AIRCRAFT[1] = 1176.60; 
ARM_AIRCRAFT[1] = 29.97; 
MAX_FUEL_USG[1] = 24.5; 
MTOW[1] = 1670.0; 
MAX_BAGS1[1] = 120.0; 
MAX_BAGS2[1] = 40.0; 
ARM_PILOT[1] = 39.00; 
ARM_COPILOT[1] = 39.00; 
ARM_PASSENGERS[1] = 0.00; 
ARM_BAGS1[1] = 64.00; 
ARM_BAGS2[1] = 84.00; 
ARM_FUEL[1] = 42.50; 
GRAPH_X[1] = 69.00; 
GRAPH_Y[1] = 421.00; 
GRAPH_XINC[1] = 78.70; 
GRAPH_YINC[1] = 50.20; 
COG_MIN[1] = 30.00; 
COG_MAX[1] = 37.00; 
WEIGHT_MIN[1] = 1000.00; 
WEIGHT_MAX[1] = 1800.00; 
NOTES[1] = '-'; 

IDENT[2] = "GBXJ"; 
TYPE[2] = "C152"; 
WEIGHT_AIRCRAFT[2] = 1116.00; 
ARM_AIRCRAFT[2] = 33.90; 
MAX_FUEL_USG[2] = 24.5; 
MTOW[2] = 1670.0; 
MAX_BAGS1[2] = 120.0; 
MAX_BAGS2[2] = 40.0; 
ARM_PILOT[2] = 39.00; 
ARM_COPILOT[2] = 39.00; 
ARM_PASSENGERS[2] = 0.00; 
ARM_BAGS1[2] = 64.00; 
ARM_BAGS2[2] = 84.00; 
ARM_FUEL[2] = 42.50; 
GRAPH_X[2] = 69.00; 
GRAPH_Y[2] = 421.00; 
GRAPH_XINC[2] = 78.70; 
GRAPH_YINC[2] = 50.20; 
COG_MIN[2] = 30.00; 
COG_MAX[2] = 37.00; 
WEIGHT_MIN[2] = 1000.00; 
WEIGHT_MAX[2] = 1800.00; 
NOTES[2] = 'This  aircraft has a far aft CoG. Double check W&B with aircraft documents.'; 

IDENT[3] = "GQSS"; 
TYPE[3] = "C152"; 
WEIGHT_AIRCRAFT[3] = 1161.70; 
ARM_AIRCRAFT[3] = 29.85; 
MAX_FUEL_USG[3] = 24.5; 
MTOW[3] = 1670.0; 
MAX_BAGS1[3] = 120.0; 
MAX_BAGS2[3] = 40.0; 
ARM_PILOT[3] = 39.00; 
ARM_COPILOT[3] = 39.00; 
ARM_PASSENGERS[3] = 0.00; 
ARM_BAGS1[3] = 64.00; 
ARM_BAGS2[3] = 84.00; 
ARM_FUEL[3] = 42.50; 
GRAPH_X[3] = 69.00; 
GRAPH_Y[3] = 421.00; 
GRAPH_XINC[3] = 78.70; 
GRAPH_YINC[3] = 50.20; 
COG_MIN[3] = 30.00; 
COG_MAX[3] = 37.00; 
WEIGHT_MIN[3] = 1000.00; 
WEIGHT_MAX[3] = 1800.00; 
NOTES[3] = '-'; 

IDENT[4] = "GVNU"; 
TYPE[4] = "C152"; 
WEIGHT_AIRCRAFT[4] = 1162.90; 
ARM_AIRCRAFT[4] = 30.10; 
MAX_FUEL_USG[4] = 24.5; 
MTOW[4] = 1670.0; 
MAX_BAGS1[4] = 120.0; 
MAX_BAGS2[4] = 40.0; 
ARM_PILOT[4] = 39.00; 
ARM_COPILOT[4] = 39.00; 
ARM_PASSENGERS[4] = 0.00; 
ARM_BAGS1[4] = 64.00; 
ARM_BAGS2[4] = 84.00; 
ARM_FUEL[4] = 42.50; 
GRAPH_X[4] = 69.00; 
GRAPH_Y[4] = 421.00; 
GRAPH_XINC[4] = 78.70; 
GRAPH_YINC[4] = 50.20; 
COG_MIN[4] = 30.00; 
COG_MAX[4] = 37.00; 
WEIGHT_MIN[4] = 1000.00; 
WEIGHT_MAX[4] = 1800.00; 
NOTES[4] = '-'; 

IDENT[5] = "GZLE"; 
TYPE[5] = "C152"; 
WEIGHT_AIRCRAFT[5] = 1192.00; 
ARM_AIRCRAFT[5] = 32.15; 
MAX_FUEL_USG[5] = 24.5; 
MTOW[5] = 1670.0; 
MAX_BAGS1[5] = 120.0; 
MAX_BAGS2[5] = 40.0; 
ARM_PILOT[5] = 39.00; 
ARM_COPILOT[5] = 39.00; 
ARM_PASSENGERS[5] = 0.00; 
ARM_BAGS1[5] = 64.00; 
ARM_BAGS2[5] = 84.00; 
ARM_FUEL[5] = 42.50; 
GRAPH_X[5] = 69.00; 
GRAPH_Y[5] = 421.00; 
GRAPH_XINC[5] = 78.70; 
GRAPH_YINC[5] = 50.20; 
COG_MIN[5] = 30.00; 
COG_MAX[5] = 37.00; 
WEIGHT_MIN[5] = 1000.00; 
WEIGHT_MAX[5] = 1800.00; 
NOTES[5] = '-'; 

IDENT[6] = "GZSP"; 
TYPE[6] = "C152"; 
WEIGHT_AIRCRAFT[6] = 1156.94; 
ARM_AIRCRAFT[6] = 29.80; 
MAX_FUEL_USG[6] = 24.5; 
MTOW[6] = 1670.0; 
MAX_BAGS1[6] = 120.0; 
MAX_BAGS2[6] = 40.0; 
ARM_PILOT[6] = 39.00; 
ARM_COPILOT[6] = 39.00; 
ARM_PASSENGERS[6] = 0.00; 
ARM_BAGS1[6] = 64.00; 
ARM_BAGS2[6] = 84.00; 
ARM_FUEL[6] = 42.50; 
GRAPH_X[6] = 69.00; 
GRAPH_Y[6] = 421.00; 
GRAPH_XINC[6] = 78.70; 
GRAPH_YINC[6] = 50.20; 
COG_MIN[6] = 30.00; 
COG_MAX[6] = 37.00; 
WEIGHT_MIN[6] = 1000.00; 
WEIGHT_MAX[6] = 1800.00; 
NOTES[6] = '-'; 

IDENT[7] = "C152LR"; 
TYPE[7] = "C152LR"; 
WEIGHT_AIRCRAFT[7] = 0.00; 
ARM_AIRCRAFT[7] = 0.0; 
MAX_FUEL_USG[7] = 37.5; 
MTOW[7] = 1670.0; 
MAX_BAGS1[7] = 120.0; 
MAX_BAGS2[7] = 40.0; 
ARM_PILOT[7] = 39.00; 
ARM_COPILOT[7] = 39.00; 
ARM_PASSENGERS[7] = 0.00; 
ARM_BAGS1[7] = 64.00; 
ARM_BAGS2[7] = 84.00; 
ARM_FUEL[7] = 42.50; 
GRAPH_X[7] = 69.00; 
GRAPH_Y[7] = 421.00; 
GRAPH_XINC[7] = 78.70; 
GRAPH_YINC[7] = 50.20; 
COG_MIN[7] = 30.00; 
COG_MAX[7] = 37.00; 
WEIGHT_MIN[7] = 1000.00; 
WEIGHT_MAX[7] = 1800.00; 
NOTES[7] = 'CALCULATOR ENABLED'; 

IDENT[8] = "GJKE"; 
TYPE[8] = "C152LR"; 
WEIGHT_AIRCRAFT[8] = 1209.00; 
ARM_AIRCRAFT[8] = 30.68; 
MAX_FUEL_USG[8] = 37.5; 
MTOW[8] = 1670.0; 
MAX_BAGS1[8] = 120.0; 
MAX_BAGS2[8] = 40.0; 
ARM_PILOT[8] = 39.00; 
ARM_COPILOT[8] = 39.00; 
ARM_PASSENGERS[8] = 0.00; 
ARM_BAGS1[8] = 64.00; 
ARM_BAGS2[8] = 84.00; 
ARM_FUEL[8] = 42.50; 
GRAPH_X[8] = 69.00; 
GRAPH_Y[8] = 421.00; 
GRAPH_XINC[8] = 78.70; 
GRAPH_YINC[8] = 50.20; 
COG_MIN[8] = 30.00; 
COG_MAX[8] = 37.00; 
WEIGHT_MIN[8] = 1000.00; 
WEIGHT_MAX[8] = 1800.00; 
NOTES[8] = '-'; 

IDENT[9] = "GQDM"; 
TYPE[9] = "C152LR"; 
WEIGHT_AIRCRAFT[9] = 1167.40; 
ARM_AIRCRAFT[9] = 29.85; 
MAX_FUEL_USG[9] = 37.5; 
MTOW[9] = 1670.0; 
MAX_BAGS1[9] = 120.0; 
MAX_BAGS2[9] = 40.0; 
ARM_PILOT[9] = 39.00; 
ARM_COPILOT[9] = 39.00; 
ARM_PASSENGERS[9] = 0.00; 
ARM_BAGS1[9] = 64.00; 
ARM_BAGS2[9] = 84.00; 
ARM_FUEL[9] = 42.50; 
GRAPH_X[9] = 69.00; 
GRAPH_Y[9] = 421.00; 
GRAPH_XINC[9] = 78.70; 
GRAPH_YINC[9] = 50.20; 
COG_MIN[9] = 30.00; 
COG_MAX[9] = 37.00; 
WEIGHT_MIN[9] = 1000.00; 
WEIGHT_MAX[9] = 1800.00; 
NOTES[9] = '-'; 

IDENT[10] = "GVNM"; 
TYPE[10] = "C152LR"; 
WEIGHT_AIRCRAFT[10] = 1187.00; 
ARM_AIRCRAFT[10] = 30.26; 
MAX_FUEL_USG[10] = 37.5; 
MTOW[10] = 1670.0; 
MAX_BAGS1[10] = 120.0; 
MAX_BAGS2[10] = 40.0; 
ARM_PILOT[10] = 39.00; 
ARM_COPILOT[10] = 39.00; 
ARM_PASSENGERS[10] = 0.00; 
ARM_BAGS1[10] = 64.00; 
ARM_BAGS2[10] = 84.00; 
ARM_FUEL[10] = 42.50; 
GRAPH_X[10] = 69.00; 
GRAPH_Y[10] = 421.00; 
GRAPH_XINC[10] = 78.70; 
GRAPH_YINC[10] = 50.20; 
COG_MIN[10] = 30.00; 
COG_MAX[10] = 37.00; 
WEIGHT_MIN[10] = 1000.00; 
WEIGHT_MAX[10] = 1800.00; 
NOTES[10] = '-'; 

IDENT[11] = "C172"; 
TYPE[11] = "C172"; 
WEIGHT_AIRCRAFT[11] = 0.0; 
ARM_AIRCRAFT[11] = 0.0; 
MAX_FUEL_USG[11] = 43.0; 
MTOW[11] = 2300.0; 
MAX_BAGS1[11] = 120.0; 
MAX_BAGS2[11] = 50.0; 
ARM_PILOT[11] = 37.00; 
ARM_COPILOT[11] = 37.00; 
ARM_PASSENGERS[11] = 73.00; 
ARM_BAGS1[11] = 95.00; 
ARM_BAGS2[11] = 123.00; 
ARM_FUEL[11] = 48.00; 
GRAPH_X[11] = 69.00; 
GRAPH_Y[11] = 421.00; 
GRAPH_XINC[11] = 39.40; 
GRAPH_YINC[11] = 40.20; 
COG_MIN[11] = 34.00; 
COG_MAX[11] = 48.00; 
WEIGHT_MIN[11] = 1400.00; 
WEIGHT_MAX[11] = 2400.00; 
NOTES[11] = 'CALCULATOR ENABLED'; 

IDENT[12] = "FQNC"; 
TYPE[12] = "C172"; 
WEIGHT_AIRCRAFT[12] = 1409.50; 
ARM_AIRCRAFT[12] = 38.67; 
MAX_FUEL_USG[12] = 43.0; 
MTOW[12] = 2300.0; 
MAX_BAGS1[12] = 120.0; 
MAX_BAGS2[12] = 50.0; 
ARM_PILOT[12] = 37.00; 
ARM_COPILOT[12] = 37.00; 
ARM_PASSENGERS[12] = 73.00; 
ARM_BAGS1[12] = 95.00; 
ARM_BAGS2[12] = 123.00; 
ARM_FUEL[12] = 48.00; 
GRAPH_X[12] = 69.00; 
GRAPH_Y[12] = 421.00; 
GRAPH_XINC[12] = 39.40; 
GRAPH_YINC[12] = 40.20; 
COG_MIN[12] = 34.00; 
COG_MAX[12] = 48.00; 
WEIGHT_MIN[12] = 1400.00; 
WEIGHT_MAX[12] = 2400.00; 
NOTES[12] = '-'; 

IDENT[13] = "GCZN"; 
TYPE[13] = "C172"; 
WEIGHT_AIRCRAFT[13] = 1448.98; 
ARM_AIRCRAFT[13] = 39.46; 
MAX_FUEL_USG[13] = 43.0; 
MTOW[13] = 2300.0; 
MAX_BAGS1[13] = 120.0; 
MAX_BAGS2[13] = 50.0; 
ARM_PILOT[13] = 37.00; 
ARM_COPILOT[13] = 37.00; 
ARM_PASSENGERS[13] = 73.00; 
ARM_BAGS1[13] = 95.00; 
ARM_BAGS2[13] = 123.00; 
ARM_FUEL[13] = 48.00; 
GRAPH_X[13] = 69.00; 
GRAPH_Y[13] = 421.00; 
GRAPH_XINC[13] = 39.40; 
GRAPH_YINC[13] = 40.20; 
COG_MIN[13] = 34.00; 
COG_MAX[13] = 48.00; 
WEIGHT_MIN[13] = 1400.00; 
WEIGHT_MAX[13] = 2400.00; 
NOTES[13] = '-'; 

IDENT[14] = "GMJZ"; 
TYPE[14] = "C172"; 
WEIGHT_AIRCRAFT[14] = 1408.90; 
ARM_AIRCRAFT[14] = 40.05; 
MAX_FUEL_USG[14] = 43.0; 
MTOW[14] = 2300.0; 
MAX_BAGS1[14] = 120.0; 
MAX_BAGS2[14] = 50.0; 
ARM_PILOT[14] = 37.00; 
ARM_COPILOT[14] = 37.00; 
ARM_PASSENGERS[14] = 73.00; 
ARM_BAGS1[14] = 95.00; 
ARM_BAGS2[14] = 123.00; 
ARM_FUEL[14] = 48.00; 
GRAPH_X[14] = 69.00; 
GRAPH_Y[14] = 421.00; 
GRAPH_XINC[14] = 39.40; 
GRAPH_YINC[14] = 40.20; 
COG_MIN[14] = 34.00; 
COG_MAX[14] = 48.00; 
WEIGHT_MIN[14] = 1400.00; 
WEIGHT_MAX[14] = 2400.00; 
NOTES[14] = '-'; 

IDENT[15] = "GWCG"; 
TYPE[15] = "C172"; 
WEIGHT_AIRCRAFT[15] = 1438.10; 
ARM_AIRCRAFT[15] = 38.70; 
MAX_FUEL_USG[15] = 43.0; 
MTOW[15] = 2300.0; 
MAX_BAGS1[15] = 120.0; 
MAX_BAGS2[15] = 50.0; 
ARM_PILOT[15] = 37.00; 
ARM_COPILOT[15] = 37.00; 
ARM_PASSENGERS[15] = 73.00; 
ARM_BAGS1[15] = 95.00; 
ARM_BAGS2[15] = 123.00; 
ARM_FUEL[15] = 48.00; 
GRAPH_X[15] = 69.00; 
GRAPH_Y[15] = 421.00; 
GRAPH_XINC[15] = 39.40; 
GRAPH_YINC[15] = 40.20; 
COG_MIN[15] = 34.00; 
COG_MAX[15] = 48.00; 
WEIGHT_MIN[15] = 1400.00; 
WEIGHT_MAX[15] = 2400.00; 
NOTES[15] = '-'; 

IDENT[16] = "GZTI"; 
TYPE[16] = "C172"; 
WEIGHT_AIRCRAFT[16] = 1482.83; 
ARM_AIRCRAFT[16] = 39.30; 
MAX_FUEL_USG[16] = 43.0; 
MTOW[16] = 2400.0; 
MAX_BAGS1[16] = 120.0; 
MAX_BAGS2[16] = 50.0; 
ARM_PILOT[16] = 37.00; 
ARM_COPILOT[16] = 37.00; 
ARM_PASSENGERS[16] = 73.00; 
ARM_BAGS1[16] = 95.00; 
ARM_BAGS2[16] = 123.00; 
ARM_FUEL[16] = 48.00; 
GRAPH_X[16] = 69.00; 
GRAPH_Y[16] = 421.00; 
GRAPH_XINC[16] = 39.40; 
GRAPH_YINC[16] = 40.20; 
COG_MIN[16] = 34.00; 
COG_MAX[16] = 48.00; 
WEIGHT_MIN[16] = 1400.00; 
WEIGHT_MAX[16] = 2400.00; 
NOTES[16] = 'The graph generated for this aircraft is invalid. Please use POH.'; 

function make_fuel_usg_list()
{
	var theform = document.forms['proflight'];
	var thefuellist = theform.FUEL_USG_TKOF;
	var i;
	var num = 50;

	// Delete any existing entries in the IDENT_LIST select box
	for (i = thefuellist.length; i > 0; i--)
	{
		thefuellist.options[i-1] = null
	}

	thefuellist.options[0] = new Option('USG',0);
	for (i = 1; i <= num; i++)
	{
		thefuellist.options[i] = new Option(i,(i));
	}

	thefuellist.selectedIndex = 0;

	thefuellist = theform.FUEL_USG_LDG;
	num = 50;

	// Delete any existing entries in the IDENT_LIST select box
	for (i = thefuellist.length; i > 0; i--)
	{
		thefuellist.options[i-1] = null
	}

	thefuellist.options[0] = new Option('USG',0);
	for (i = 1; i <= num; i++)
	{
		thefuellist.options[i] = new Option(i,(i));
	}

	thefuellist.selectedIndex = 0;
}

function make_ident_list()
{
	var theidentlist = document.forms['proflight'].IDENT_LIST;
	var i;
	var j;
	var k;
	var num = IDENT.length;
	var str;
	var sident;

	// Delete any existing entries in the IDENT_LIST select box
	for (i = theidentlist.length; i > 0; i--)
	{
		theidentlist.options[i-1] = null
	}

	i = 0;
	j = 0;
	while (j < num)
	{
		sident = IDENT[j];
		if (sident == TYPE[j])
		{
			// Make the TYPE look like ***C152*** 
			// Keep max length to 10
			str = sident;
			k = 7 - str.length;
			while (k > 0)
			{
				str = str + '*';
				k--;
			}
			str = '***' + str;
			theidentlist.options[i] = new Option(str, (j));
			i++;
		}
		else
		{
			theidentlist.options[i] = new Option(sident,(j));
			i++;
		}
		j++;
	}

	theidentlist.selectedIndex = 0;
}

function status_message(msg)
{
	if (debug == 0)
	{
		return;
	}

	var thebox = document.getElementById('DEBUG');
	var current = thebox.innerHTML;
	str = msg + '<br>';
	thebox.innerHTML = current + str;
}

function user_alert(msg)
{
	var thebox = document.forms['proflight'].ALERT;
	var current = thebox.value;
	if (msg.length == 0) 
	{ 
		thebox.value = '';
	}
	else
	{ 
		if (thebox.value.length > 1)
		{
			thebox.value = current + "\n" + msg;
		}
		else
		{
			thebox.value = msg;
		}
	}
	current = thebox.value;
	if (current.length > 1)
	{
		thebox.style.border = '1px dashed #ff1111';
	}
	else
	{
		thebox.style.border = '1px solid black';
	}
}

function preload_images()
{
	var num = IDENT.length;
	var imgsrc;

	if (document.images)
	{
		status_message("PRE-LOAD GRAPH IMAGES");
		var i = 0;
		for(i=0;i<num;i++)
		{
			if (TYPE[i] == IDENT[i])
			{
				imgsrc = TYPE[i] + ".gif";
				var img = new Image(640,480);
				img.src = imgsrc;
				IMAGES[i] = imgsrc;
			}
			else
			{
				imgsrc = TYPE[i] + ".gif";
				IMAGES[i] = imgsrc;
			}

		}
	}
	else
	{
		status_message("YOUR WEB BROWSER DOES NOT SUPPORT SOME FEATURES FOR THIS PAGE");
	}
}

function update_image()
{
	var theform = document.forms['proflight'];
	var entry = theform.IDENT_LIST.selectedIndex;
	var thegraph = document.getElementById('THE_GRAPH');
	var str1;
	var str2;
	var str3;
	
	if (IMAGES.length < 1)
	{
		return false;
	}

	var imgsrc = IMAGES[entry];
	status_message("UDPATE GRAPH FOR " + entry + " = " + imgsrc);
	thegraph.style.backgroundImage = "url('" + imgsrc + "')";
	
	var arm_total    = parseFloat(theform.ARM_TOTAL.value);
	var arm_landing  = parseFloat(theform.ARM_LDG.value);
	var arm_zero     = parseFloat(theform.ARM_ZERO.value);
	var weight_total = parseFloat(theform.WEIGHT_TOTAL.value);
	var weight_landing = parseFloat(theform.WEIGHT_LDG.value);
	var weight_zero = parseFloat(theform.WEIGHT_ZERO.value);

	var weight_min  = parseFloat(WEIGHT_MIN[entry]);
	var weight_max  = parseFloat(WEIGHT_MAX[entry]);
	var cog_min     = parseFloat(COG_MIN[entry]);
	var cog_max     = parseFloat(COG_MAX[entry]);

	var graph_x     = parseFloat(GRAPH_X[entry]);
	var graph_y     = parseFloat(GRAPH_Y[entry]);
	var graph_xinc  = parseFloat(GRAPH_XINC[entry]);
	var graph_yinc  = parseFloat(GRAPH_YINC[entry]);

	if (weight_total == 0)
	{
		status_message("CANNOT PLOT WEIGHT");
		user_alert('');
		user_alert('START CALCULATION BY ENTERING BASIC EMPTY WEIGHT AND MOMENT.');
		return false;
	}

	if ((weight_total > weight_max) || (weight_landing > weight_max) || (weight_zero > weight_max))
	{
		status_message("CANNOT PLOT WEIGHT");
		user_alert('CANNOT PLOT ON GRAPH : WEIGHT OUT OF GRAPH MAX RANGE');
		return false;
	}

	if ((weight_total < weight_min) || (weight_landing < weight_min) || (weight_zero < weight_min))
	{
		status_message("CANNOT PLOT WEIGHT MIN");
		user_alert('CANNOT PLOT ON GRAPH : WEIGHT VALUES OUT OF GRAPH MIN RANGE');
		return false;
	}

	if ((arm_total > cog_max) || (arm_landing > cog_max) || (arm_zero > cog_max))
	{
		status_message("CANNOT PLOT ARM MAX");
		user_alert('CANNOT PLOT ON GRAPH : ARM VALUES OUT OF GRAPH MAX RANGE');
		return false;
	}

	if ((arm_total < cog_min) || (arm_landing < cog_min) || (arm_zero < cog_min))
	{
		status_message("CANNOT PLOT ARM MIN");
		user_alert('CANNOT PLOT ON GRAPH : ARM VALUES OUT OF GRAPH MIN RANGE');
		return false;
	}

	// The TOTAL value is arrow pointing from right to left at the actual position. 
	// So this value can be the same as the X position of the pointer
	// The ZERO value is arrow pointing from left to right at the actual position. 
	// So this value should be shifted to the left by the width of the pointer.
	// Height of cross is always 10, width can vary as specified

	var cross_size 	 = 20; // decide the position of the pointer relative to actual X value.
	var x=0.0;
	var y=0.0;

	// PLOT TOTALS - round to next higher value
	x = Math.round(graph_x + ((arm_total - cog_min) * graph_xinc)) + cross_size + 6;
	y = Math.round(graph_y - ((weight_total - weight_min) * graph_yinc)/100) - 5;

	// The relative position puts X=0 in the middle of the picture instead or the leftmost position.
	x = x - 320;

	str1 = 'WEIGHT = ' + weight_total + ', ARM = ' + arm_total + ', CoG Max = ' + cog_max + ', X = ' + x + ', Y = ' + y;
	status_message(str1);
	document.images.CROSS_TOTAL.style.left = x + 'px';
	document.images.CROSS_TOTAL.style.top  = y + 'px';
	document.images.CROSS_TOTAL.style.visibility = "visible";

	cross_size = 10; 
	x = 0;
	y = 0;

	// PLOT LANDING - round to next higher value
	x = Math.round(graph_x + ((arm_landing - cog_min) * graph_xinc)) - (cross_size/2) + 2;
	y = Math.round(graph_y - ((weight_landing - weight_min) * graph_yinc)/100) - 5;

	// The relative position puts X=0 in the middle of the picture instead or the leftmost position.
	x = x - 320;

	str2 = 'WEIGHT = ' + weight_landing + ', ARM = ' + arm_landing + ', X = ' + x + ', Y = ' + y;
	status_message(str2);
	document.images.CROSS_LDG.style.left = x + 'px';
	document.images.CROSS_LDG.style.top  = y + 'px';
	document.images.CROSS_LDG.style.visibility = "visible";

	cross_size = 20; 
	x = 0;
	y = 0;

	// PLOT ZERO VALUES - round to lower number
	x = Math.floor(graph_x + ((arm_zero - cog_min) * graph_xinc)) - cross_size - 4;
	y = Math.round(graph_y - ((weight_zero - weight_min) * graph_yinc)/100) - 5;

	// The relative position puts X=0 in the middle of the picture instead or the leftmost position.
	x = x - 320;

	str3 = 'WEIGHT = ' + weight_total + ', ARM = ' + arm_zero + ', CoG Min = ' + cog_min + ', X = ' + x + ', Y = ' + y;
	status_message(str3);
	document.images.CROSS_ZERO.style.left = x + 'px';
	document.images.CROSS_ZERO.style.top  = y + 'px';
	document.images.CROSS_ZERO.style.visibility = "visible";
}

function fuelchange()
{
	var theform = document.forms['proflight'];
	var pounds = parseFloat(theform.WEIGHT_FUEL.value);
	var usg = Math.floor(pounds / 6);
	if (usg < 50)
	{
		theform.FUEL_USG_TKOF.options.selectedIndex = usg;
	}
	else
	{
		theform.FUEL_USG_TKOF.options.selectedIndex = 0;
	}

	theform.WEIGHT_FUEL.value = pounds;

	pounds = parseFloat(theform.WEIGHT_FUEL_LDG.value);
	usg = Math.floor(pounds / 6);
	if (usg < 50)
	{
		theform.FUEL_USG_LDG.options.selectedIndex = usg;
	}
	else
	{
		theform.FUEL_USG_LDG.options.selectedIndex = 0;
	}

	theform.WEIGHT_FUEL_LDG.value = pounds;

	calculate();
}

function usgchange()
{
	var theform = document.forms['proflight'];
	if (theform.FUEL_USG_TKOF.options[theform.FUEL_USG_TKOF.options.selectedIndex].value != "USG")
	{
		theform.WEIGHT_FUEL.value = parseFloat(theform.FUEL_USG_TKOF.value) * 6;
	}
	if (theform.FUEL_USG_LDG.options[theform.FUEL_USG_LDG.options.selectedIndex].value != "USG")
	{
		theform.WEIGHT_FUEL_LDG.value = parseFloat(theform.FUEL_USG_LDG.value) * 6;
	}

	calculate();
}

function precission()
{
	var theform = document.forms['proflight'];
	var num = 1;
	var val;



	var str = '';
	num = theform.length;
	for (var i=0; i<num; i++)
	{
		if (theform.elements[i].name.indexOf("ARM_") == 0)
		{
			val = parseFloat(theform.elements[i].value);
			if (isNaN(val)) { val = 0; }
			theform.elements[i].value = val.toFixed(2);
		}
		else
		{
			if ((theform.elements[i].name.indexOf("MOMENT_") == 0) ||
			    (theform.elements[i].name.indexOf("WEIGHT_") == 0))
			{
				val = parseFloat(theform.elements[i].value);
				if (isNaN(val)) { val = 0; }
				theform.elements[i].value = val.toFixed(1);
			}
		}

	}

	// document.getElementById('debug').innerHTML = str;

}


function calculate()
{
	var theform = document.forms['proflight'];
	var result = 0;
	var entry = theform.IDENT_LIST.selectedIndex;

	var limit_head = 'LIMIT EXCEEDED : ';
	var limit_foot = '. MAX = ';
	var pounds = ' LBS';
	var ident = IDENT[entry];
	var type  = TYPE[entry];
	var fuel_lbs = 0;
	var max_fuel_lbs = 0;
	var mtow = 0;
	var weight = 0;


	// The blank entry
	if (ident != type)
	{
		theform.NOTES.value = 'NOTE : CALCULATOR DISABLED ';
		user_alert('');
		user_alert('CALCULATION DISABLED FOR THIS AIRCRAFT');
		user_alert('BASIC EMPTY WEIGHT VALUES SHOWN ABOVE MAY NOT BE CORRECT.');
		return false;
	}

	document.title = "Weight and Balance : " + type + " : " + ident;
	document.getElementById('HEADING').innerHTML = "Weight and Balance : " + type + " : " + ident;

	theform.NOTES.value = 'NOTE : ' + NOTES[entry];

	fuel_lbs = parseFloat(theform.WEIGHT_FUEL.value) * 6;
	max_fuel_lbs = parseFloat(theform.MAX_FUEL_USG.value) * 6;
	mtow = parseFloat(theform.MTOW.value);
	weight = parseFloat(theform.WEIGHT_TOTAL.value);

	theform.MAX_FUEL_USG_LDG.value = theform.MAX_FUEL_USG.value - 1.0;

	theform.WEIGHT_ZERO.value = parseFloat(theform.WEIGHT_AIRCRAFT.value) + parseFloat(theform.WEIGHT_PILOT.value) + parseFloat(theform.WEIGHT_COPILOT.value) + parseFloat(theform.WEIGHT_BAGS1.value) + parseFloat(theform.WEIGHT_BAGS2.value) + parseFloat(theform.WEIGHT_PASSENGERS.value);
	theform.WEIGHT_TOTAL.value = 	parseFloat(theform.WEIGHT_ZERO.value) + parseFloat(theform.WEIGHT_FUEL.value);
	theform.WEIGHT_LDG.value = 	parseFloat(theform.WEIGHT_ZERO.value) + parseFloat(theform.WEIGHT_FUEL_LDG.value);

	theform.MOMENT_AIRCRAFT.value = parseFloat(theform.WEIGHT_AIRCRAFT.value) * parseFloat(theform.ARM_AIRCRAFT.value);
	theform.MOMENT_PILOT.value = parseFloat(theform.WEIGHT_PILOT.value) * parseFloat(theform.ARM_PILOT.value);
	theform.MOMENT_COPILOT.value = parseFloat(theform.WEIGHT_COPILOT.value) * parseFloat(theform.ARM_COPILOT.value);
	theform.MOMENT_PASSENGERS.value = parseFloat(theform.WEIGHT_PASSENGERS.value) * parseFloat(theform.ARM_PASSENGERS.value);
	theform.MOMENT_BAGS1.value = parseFloat(theform.WEIGHT_BAGS1.value) * parseFloat(theform.ARM_BAGS1.value);
	theform.MOMENT_BAGS2.value = parseFloat(theform.WEIGHT_BAGS2.value) * parseFloat(theform.ARM_BAGS2.value);
	theform.MOMENT_FUEL.value = parseFloat(theform.WEIGHT_FUEL.value) * parseFloat(theform.ARM_FUEL.value);
	theform.MOMENT_FUEL_LDG.value = parseFloat(theform.WEIGHT_FUEL_LDG.value) * parseFloat(theform.ARM_FUEL.value);
	theform.MOMENT_ZERO.value = parseFloat(theform.MOMENT_AIRCRAFT.value) + parseFloat(theform.MOMENT_PILOT.value) + parseFloat(theform.MOMENT_COPILOT.value) + parseFloat(theform.MOMENT_BAGS1.value) + parseFloat(theform.MOMENT_BAGS2.value) + parseFloat(theform.MOMENT_PASSENGERS.value);
	theform.MOMENT_LDG.value = parseFloat(theform.MOMENT_ZERO.value) + parseFloat(theform.MOMENT_FUEL_LDG.value);
	theform.MOMENT_TOTAL.value = parseFloat(theform.MOMENT_ZERO.value) + parseFloat(theform.MOMENT_FUEL.value);

	theform.ARM_TOTAL.value = parseFloat(theform.MOMENT_TOTAL.value) / parseFloat(theform.WEIGHT_TOTAL.value);
	theform.ARM_LDG.value = parseFloat(theform.MOMENT_LDG.value) / parseFloat(theform.WEIGHT_LDG.value);
	theform.ARM_ZERO.value = parseFloat(theform.MOMENT_ZERO.value) / parseFloat(theform.WEIGHT_ZERO.value);

	user_alert('');
	if (parseFloat(theform.WEIGHT_BAGS1.value) > parseFloat(theform.MAX_BAGS1.value))
	{
		theform.WEIGHT_BAGS1.className='error';
		user_alert('MAX ALLOWED WEIGHT EXCEEDED : BAGGAGE AREA 1 (by ' + (parseFloat(theform.WEIGHT_BAGS1.value) - parseFloat(theform.MAX_BAGS1.value))+ pounds + ')');
	}
	else
	{
		theform.WEIGHT_BAGS1.className='user';
	}


	if (parseFloat(theform.WEIGHT_BAGS2.value) > parseFloat(theform.MAX_BAGS2.value))
	{
		theform.WEIGHT_BAGS2.className='error';
		user_alert('MAX ALLOWED WEIGHT EXCEEDED : BAGGAGE AREA 2 (by ' + (parseFloat(theform.WEIGHT_BAGS2.value) - parseFloat(theform.MAX_BAGS2.value))+ pounds + ')');
	}
	else
	{
		theform.WEIGHT_BAGS2.className='user';
	}


	if (parseFloat(theform.WEIGHT_FUEL.value) > max_fuel_lbs)
	{
		theform.WEIGHT_FUEL.className='error';
		user_alert('MAX ALLOWED WEIGHT EXCEEDED : FUEL (by ' + (parseFloat(theform.WEIGHT_FUEL.value) - max_fuel_lbs)+ pounds + ')');
	}
	else
	{
		theform.WEIGHT_FUEL.className='user';
	}


	if ((theform.WEIGHT_FUEL.value != 0) && (theform.WEIGHT_FUEL_LDG.value != 0))
	{
	if (((parseFloat(theform.WEIGHT_FUEL.value) - parseFloat(theform.WEIGHT_FUEL_LDG.value))/6) < 1.0)
	{
		theform.WEIGHT_FUEL_LDG.className='error';
		user_alert('LANDING FUEL SHOULD BE AT LEAST 1USG LESS THAN TAKEOFF FUEL.');
	}
	else
	{
		theform.WEIGHT_FUEL_LDG.className='user';
	}
	}

	if (parseFloat(theform.WEIGHT_TOTAL.value) > mtow)
	{
		theform.WEIGHT_TOTAL.className='error';
		user_alert('MAX TAKE-OFF WEIGHT EXCEEDED (by ' + (parseFloat(theform.WEIGHT_TOTAL.value) - mtow)+ pounds + ')');
	}
	else
	{
		theform.WEIGHT_TOTAL.className='calc';
	}

	precission();
	update_image();
}

function populate()
{
	var theform = document.forms['proflight'];
	var result = 0;
	var entry = theform.IDENT_LIST.selectedIndex;

	status_message('SELECTED INDEX IS ' + entry + ' ' + IDENT[entry]);

	if (entry < 0)
	{
		entry = 0;
		theform.IDENT_LIST.selectedIndex = entry;
	}

	var ident = IDENT[entry];
	var type  = TYPE[entry];

	// The blank entry
	if (ident == type)
	{
		theform.WEIGHT_AIRCRAFT.disabled = false;
		theform.ARM_AIRCRAFT.disabled = false;
		theform.WEIGHT_PILOT.disabled = false;
		theform.WEIGHT_COPILOT.disabled = false;
		theform.WEIGHT_PASSENGERS.disabled = false;
		theform.WEIGHT_BAGS1.disabled = false;
		theform.WEIGHT_BAGS2.disabled = false;
		theform.WEIGHT_FUEL.disabled = false;
		theform.WEIGHT_FUEL_LDG.disabled = false;
	}
	else
	{
		// Either zero the values and disable the empty weight fields and return false
		// Or be fancy and force the index back to the aircraft type
		//var i=0;
		//for (i=entry;i>=0;i--)
		//{
		//	if (IDENT[i] == TYPE[i])
		//	{
		//		theform.IDENT_LIST.selectedIndex = i;
		//		populate();
		//		return false;
		//	}
		//}
		theform.WEIGHT_AIRCRAFT.disabled = true;
		theform.ARM_AIRCRAFT.disabled = true;
		theform.WEIGHT_PILOT.disabled = true;
		theform.WEIGHT_COPILOT.disabled = true;
		theform.WEIGHT_PASSENGERS.disabled = true;
		theform.WEIGHT_BAGS1.disabled = true;
		theform.WEIGHT_BAGS2.disabled = true;
		theform.WEIGHT_FUEL.disabled = true;
		theform.WEIGHT_FUEL_LDG.disabled = true;
	}

	theform.IDENT.value 		= type + ' : ' + ident;
	theform.WEIGHT_AIRCRAFT.value 	= WEIGHT_AIRCRAFT[entry];
	theform.ARM_AIRCRAFT.value 	= ARM_AIRCRAFT[entry];
	theform.MAX_FUEL_USG.value 	= MAX_FUEL_USG[entry];
	theform.MAX_FUEL_USG_LDG.value 	= MAX_FUEL_USG[entry];
	theform.MTOW.value 		= MTOW[entry];
	theform.MAX_BAGS1.value 	= MAX_BAGS1[entry];
	theform.MAX_BAGS2.value 	= MAX_BAGS2[entry];
	theform.ARM_PILOT.value 	= ARM_PILOT[entry];
	theform.ARM_COPILOT.value 	= ARM_COPILOT[entry];
	theform.ARM_PASSENGERS.value 	= ARM_PASSENGERS[entry];
	theform.ARM_BAGS1.value 	= ARM_BAGS1[entry];
	theform.ARM_BAGS2.value 	= ARM_BAGS2[entry];
	theform.ARM_FUEL.value 		= ARM_FUEL[entry];
	theform.ARM_FUEL_LDG.value 		= ARM_FUEL[entry];

	if ((parseFloat(theform.ARM_PASSENGERS.value) == 0) || 	(ident != type))
	{
		theform.WEIGHT_PASSENGERS.value="0";
		theform.WEIGHT_PASSENGERS.style.backgroundColor="gray";
		theform.WEIGHT_PASSENGERS.disabled=true;
	}
	else
	{
		theform.WEIGHT_PASSENGERS.style.backgroundColor = 
			theform.WEIGHT_PILOT.style.backgroundColor;
		theform.WEIGHT_PASSENGERS.disabled=false;
	}

	calculate();
}

function init()
{
	var theform = document.forms['proflight'];
	status_message('ENTER INIT STAGE');
	make_ident_list();
	make_fuel_usg_list();
	theform.WEIGHT_AIRCRAFT.focus();
	theform.WEIGHT_AIRCRAFT.select();
	populate();
	preload_images();
	update_image();
	theform.WEIGHT_AIRCRAFT.focus();
	theform.WEIGHT_AIRCRAFT.select();
}




