////////////////////////////////////////////////////////////////
//
// This file holds all global variables, and structures.
//
////////////////////////////////////////////////////////////////

var m_PI = Math.PI;

var	m_ae       = 1.0;
var	m_tothrd   = 2.0/3.0;
var	m_xkmper   = 6378.135;		// Earth equatorial radius - kilometers (WGS '72)
var	m_f        = 1.0/298.26;		// Earth flattening (WGS '72)
var	m_ge       = 398600.8;		// Earth gravitational constant (WGS '72)
var	m_J2       = 1.0826158E-3;	// J2 harmonic (WGS '72)
var	m_J3       = -2.53881E-6;		// J3 harmonic (WGS '72)
var	m_J4       = -1.65597E-6;		// J4 harmonic (WGS '72)
var	m_ck2      = m_J2/2.0;
var	m_ck4      = -3.0*m_J4/8.0;
var	m_xj3      = m_J3;
var	m_qo       = m_ae + 120.0/m_xkmper;
var	m_s        = m_ae + 78.0/m_xkmper;
var	m_e6a      = 1E-6;
var	m_dpinit   = 1.0;				// Deep-space initialization code
var	m_dpsec    = 2.0;				// Deep-space secular code
var	m_dpper    = 3.0;				// Deep-space periodic code
var	m_xmnpda	 = 1440.0;			// Minutes per day
var	m_secday	 = 86400;			// seconds per day
var	m_omega_E	 = 1.00273790934;	// earth rotation per sideral day
var	m_xke    = Math.sqrt(3600.0*m_ge/(m_xkmper*m_xkmper*m_xkmper));  //sqrt(m_ge) ER^3/min^2
var	m_qoms2t = (m_qo-m_s)*(m_qo-m_s)*(m_qo-m_s)*(m_qo-m_s);	//(qo-s)^4 ER^4

var	m_bEclipsed = false;
var m_sr = 696000.0;		// {Solar radius - kilometers (IAU 76)}
var m_AU = 1.49597870E8;	// {Astronomical unit - kilometers (IAU 76)}


var m_pos = new Array(4);
var m_vel = new Array(4);
var m_lla = new Array(4);
	m_pos[0] = 0.0;
	m_pos[1] = 0.0;
	m_pos[2] = 0.0;
	m_pos[3] = 0.0;
	m_vel[0] = 0.0;
	m_vel[1] = 0.0;
	m_vel[2] = 0.0;
	m_vel[3] = 0.0;
	m_lla[0] = 0.0;
	m_lla[1] = 0.0;
	m_lla[2] = 0.0;
	m_lla[3] = 0.0;

var m_iDeep = 1;
var m_iFlag = 1;

var m_eqsq   = 0.0;
var m_siniq  = 0.0;
var m_cosiq  = 0.0;
var m_rteqsq = 0.0;
var m_ao     = 0.0;
var m_cosq2  = 0.0;
var m_sinomo = 0.0;
var m_cosomo = 0.0;
var m_bsq    = 0.0;
var m_xlldot = 0.0;
var m_omgdt  = 0.0;
var m_xnodot = 0.0;
var m_xnodp  = 0.0;
//Call_dpinit ( ... )
//  eqsq   = *eosq;    siniq  = *sinio;   cosiq  = *cosio;   rteqsq = *betao;
//  ao     = *aodp;    cosq2  = *theta2;  sinomo = *sing;    cosomo = *cosg;
//  bsq    = *betao2;  xlldot = *xmdot;   omgdt  = *omgdot;  xnodot = *xnodott;
//  xnodp  = *xnodpp;

var m_xll    = 0.0;
var m_omgasm = 0.0;
var m_xnodes = 0.0;
var m_xn     = 0.0;
var m_t      = 0.0;
// Call_dpsec( xmdf, omgadf, xnode, emm, xincc, xnn, tsince )
//  xll    = *xmdf;    omgasm = *omgadf;  xnodes = *xnode;   
  /*_em     = emm; *xinc   = *xincc;*/   
//  xn     = *xnn;  t      = *tsince;

var m__em    = 0.0;
var m_xinc   = 0.0;
//var m_omgasm = 0.0;
//var m_xnodes = 0.0;
//var m_xll    = 0.0;
// Call_dpper( e, xincc, omgadf, xnode, xmam)
//  _em     = *e;       xinc   = *xincc;   omgasm = *omgadf;  xnodes = *xnode;
//  xll    = *xmam;


function tagSATELLITE ()	
{
	var		cSatelliteName;		// = new Array(23);
	var		iSecondMeanMotion;
	var		iSatelliteNumber;
	var		iLaunchYear;
	var		iLaunchNumber;
	var		cLaunchPiece;		// = new Array(3);
	var		iEpochYear;
	var		fEpochDay;
	var		iEpochDay;
	var		fEpochFraction;
	var		fBalisticCoefficient;
	var		fSecondMeanMotion;
	var		fRadiationCoefficient;
	var		cEmphemeristType;	// = new Array(2);
	var		iElementNumber;

	var		fInclination;
	var		fRightAscending;
	var		fEccentricity;
	var		fPeregee;
	var		fMeanAnomaly;
	var		fMeanMotion;
	var		iRevAtEpoch;
	var		fJulianEpoch;
};

m_Sat = new tagSATELLITE();

