//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
// UCCS 2009-2010 Tuition Rate Tables

//-------------------------------
// create the tuition rate tables

function class_rates () {

	this.LD_1_l = {'CO':[],'NR':[],'WUE':[]};  // Lower Division -     linear
	this.LD_1_c = {'CO':[],'NR':[],'WUE':[]};  // Lower Division - non-linear
	this.LD_U_l = {'CO':[],'NR':[],'WUE':[]};  // Lower Division -     linear - Unclassified / non-degree
	this.LD_U_c = {'CO':[],'NR':[],'WUE':[]};  // Lower Division - non-linear - Unclassified / non-degree

	this.UD_1_l = {'CO':[],'NR':[],'WUE':[]};  // Upper Division -     linear - LAS, ED, PA
	this.UD_1_c = {'CO':[],'NR':[],'WUE':[]};  // Upper Division - non-linear - LAS, ED, PA
	this.UD_2_l = {'CO':[],'NR':[],'WUE':[]};  // Upper Division -     linear - Bus, Eng 
	this.UD_2_c = {'CO':[],'NR':[],'WUE':[]};  // Upper Division - non-linear - Bus, Eng
	this.UD_3_l = {'CO':[],'NR':[],'WUE':[]};  // Upper Division -     linear - Beth-el
	this.UD_3_c = {'CO':[],'NR':[],'WUE':[]};  // Upper Division - non-linear - Beth-el
	this.UD_U_l = {'CO':[],'NR':[],'WUE':[]};  // Upper Division -     linear - Unclassified / non-degree
	this.UD_U_c = {'CO':[],'NR':[],'WUE':[]};  // Upper Division - non-linear - Unclassified / non-degree

	this.GR_1 = {'CO':[],'NR':[]};  // Graduate - Basic Science
	this.GR_2 = {'CO':[],'NR':[]};  // Graduate - PA, EDU
	this.GR_3 = {'CO':[],'NR':[]};  // Graduate - Bus, Eng, Gero
	this.GR_4 = {'CO':[],'NR':[]};  // Graduate - Beth-el
	this.GR_U = {'CO':[],'NR':[]};  // Graduate - Unclassified / non-degree

	this.clone = function (target) {
		for (classification in this) {
			if (classification == 'clone')  continue;
			for (residency in this[classification]) {
				target[classification][residency] = this[classification][residency].slice(0);
			} //for
		} //for
	} //function - method

}; //function - class

var tuition_rates = new Object();
tuition_rates.Fall   = new class_rates();
tuition_rates.Spring = new class_rates();
tuition_rates.Summer = new class_rates();

//--------------------------------
// fill in the tuition rate tables

var rates = null;

//-------------------
// set the Fall rates

with (tuition_rates.Fall) {

//----------------
// undergrad rates

rates = [0,
	  263,   526,   789,  1052,  1315,  1578,  1841,  2104,  2367,  2630,
	 2893,  3156,  3419,  3682,  3945,  4208,  4471,  4734,  4997,  5260,
	 5523,  5786,  6049,  6312,  6575,  6838,  7101,  7364,  7627,  7890];
LD_1_l.CO = rates.slice(0);
LD_U_l.CO = rates.slice(0);

rates = [0,
	  290,   578,   867,  1156,  1445,  1734,  2024,  2311,  2601,  2800,
	 3020,  3265,  3339,  3407,  3475,  3764,  4054,  4343,  4632,  4921,
	 5209,  5499,  5788,  6077,  6365,  6655,  6943,  7233,  7522,  7810];
LD_1_c.CO = rates.slice(0);
LD_U_c.CO = rates.slice(0);

rates = [0,
	  780,  1560,  2340,  3120,  3900,  4680,  5460,  6240,  7020,  7800,
	 7800,  7800,  7800,  7800,  7800,  8580,  9360, 10140, 10920, 11700,
	12480, 13260, 14040, 14820, 15600, 16380, 17160, 17940, 18720, 19500];
LD_1_l.NR = rates.slice(0);
LD_1_c.NR = rates.slice(0);
LD_U_l.NR = rates.slice(0);
LD_U_c.NR = rates.slice(0);

rates = [0,
	  278,   556,   834,  1112,  1390,  1668,  1946,  2224,  2502,  2780,
	 3058,  3336,  3614,  3892,  4170,  4448,  4726,  5004,  5282,  5560,
	 5838,  6116,  6394,  6672,  6950,  7228,  7506,  7784,  8062,  8340];
UD_1_l.CO = rates.slice(0);
UD_U_l.CO = rates.slice(0);

rates = [0,
	  293,   585,   878,  1171,  1464,  1756,  2048,  2341,  2633,  2865,
	 3135,  3379,  3459,  3527,  3595,  3887,  4180,  4473,  4765,  5058,
	 5351,  5644,  5936,  6229,  6522,  6814,  7107,  7400,  7692,  7985];
UD_1_c.CO = rates.slice(0);
UD_U_c.CO = rates.slice(0);

rates = [0,
	  308,   616,   924,  1232,  1540,  1848,  2156,  2464,  2772,  3080,
	 3388,  3696,  4004,  4312,  4620,  4928,  5236,  5544,  5852,  6160,
	 6468,  6776,  7084,  7392,  7700,  8008,  8316,  8624,  8932,  9240];
UD_2_l.CO = rates.slice(0);

rates = [0,
	  323,   646,   968,  1292,  1615,  1938,  2260,  2582,  2905,  3058,
	 3306,  3526,  3607,  3675,  3743,  4066,  4388,  4711,  5034,  5357,
	 5678,  6002,  6325,  6648,  6970,  7293,  7616,  7939,  8263,  8585];
UD_2_c.CO = rates.slice(0);

rates = [0,
	  348,   696,  1044,  1392,  1740,  2088,  2436,  2784,  3132,  3480,
	 3828,  4176,  4524,  4872,  5220,  5568,  5916,  6264,  6612,  6960,
	 7308,  7656,  8004,  8352,  8700,  9048,  9396,  9744, 10092, 10440];
UD_3_l.CO = rates.slice(0);

rates = [0,
	  375,   750,  1124,  1499,  1874,  2249,  2623,  2998,  3372,  3748,
	 4123,  4497,  4659,  4727,  4795,  5169,  5544,  5919,  6293,  6669,
	 7042,  7417,  7793,  8167,  8543,  8916,  9291,  9667, 10041, 10416];
UD_3_c.CO = rates.slice(0);

rates = [0,
	  791,  1582,  2373,  3164,  3955,  4746,  5537,  6328,  7119,  7910,
	 7910,  7910,  7910,  7910,  7910,  8701,  9492, 10283, 11074, 11865,
	12656, 13447, 14238, 15029, 15820, 16611, 17402, 18193, 18984, 19775];
UD_1_l.NR = rates.slice(0);
UD_1_c.NR = rates.slice(0);
UD_U_l.NR = rates.slice(0);
UD_U_c.NR = rates.slice(0);

rates = [0,
	  806,  1612,  2418,  3224,  4030,  4836,  5642,  6448,  7254,  8060,
	 8060,  8060,  8060,  8060,  8060,  8866,  9672, 10478, 11284, 12090,
	12896, 13702, 14508, 15314, 16120, 16926, 17732, 18538, 19344, 20150];
UD_2_l.NR = rates.slice(0);
UD_2_c.NR = rates.slice(0);
UD_3_l.NR = rates.slice(0);
UD_3_c.NR = rates.slice(0);

//-------------------------
// WUE rates for undergrads

for (var i=0;  i<LD_1_l.CO.length;  i++)  LD_1_l.WUE[i] = LD_U_l.WUE[i] = LD_1_l.CO[i] * 1.5;
for (var i=0;  i<LD_1_c.CO.length;  i++)  LD_1_c.WUE[i] = LD_U_c.WUE[i] = LD_1_c.CO[i] * 1.5;

for (var i=0;  i<UD_1_l.CO.length;  i++)  UD_1_l.WUE[i] = UD_U_l.WUE[i] = UD_1_l.CO[i] * 1.5;
for (var i=0;  i<UD_1_c.CO.length;  i++)  UD_1_c.WUE[i] = UD_U_c.WUE[i] = UD_1_c.CO[i] * 1.5;
for (var i=0;  i<UD_2_l.CO.length;  i++)  UD_2_l.WUE[i]                 = UD_2_l.CO[i] * 1.5;
for (var i=0;  i<UD_2_c.CO.length;  i++)  UD_2_c.WUE[i]                 = UD_2_c.CO[i] * 1.5;
for (var i=0;  i<UD_3_l.CO.length;  i++)  UD_3_l.WUE[i]                 = UD_3_l.CO[i] * 1.5;
for (var i=0;  i<UD_3_c.CO.length;  i++)  UD_3_c.WUE[i]                 = UD_3_c.CO[i] * 1.5;

//----------
// GFE rates

GR_1.CO = [0,
	  601,   992,  1383,  1773,  2163,  2567,  2955,  3345,  3733,  3845,
	 3919,  3976,  4011,  4033,  4055,  4444,  4832,  5219,  5610,  5997,
	 6384,  6774,  7161,  7550,  7939,  8327,  8714,  9104,  9492,  9880];
GR_U.CO = GR_1.CO.slice(0);

GR_2.CO = [0,
	  636,  1059,  1485,  1908,  2332,  2769,  3192,  3614,  4037,  4161,
	 4311,  4461,  4538,  4560,  4582,  5006,  5428,  5849,  6272,  6693,
	 7115,  7538,  7960,  8382,  8804,  9226,  9647, 10071, 10492, 10916];

GR_3.CO = [0,
	  662,  1113,  1564,  2014,  2466,  2929,  3378,  3828,  4276,  4334,
	 4447,  4503,  4538,  4560,  4582,  5032,  5481,  5929,  6378,  6826,
	 7275,  7724,  8172,  8621,  9071,  9518,  9967, 10417, 10864, 11313];

GR_4.CO = [0,
	  684,  1157,  1629,  2101,  2574,  3060,  3530,  4002,  4472,  4943,
	 5414,  5883,  6013,  6035,  6057,  6529,  6999,  7469,  7941,  8410,
	 8880,  9352,  9822, 10291, 10763, 11233, 11703, 12173, 12643, 13114];

GR_1.NR = [0,
	 1093,  1974,  2856,  3737,  4618,  5513,  6393,  7273,  8152,  9032,
	 9054,  9076,  9099,  9121,  9143, 10023, 10902, 11781, 12661, 13540,
	14419, 15299, 16178, 17057, 17937, 18816, 19695, 20575, 21454, 22334];
GR_U.NR = GR_1.NR.slice(0);

GR_2.NR = [0,
	 1154,  2096,  3039,  3981,  4923,  5879,  6820,  7761,  8701,  9642,
	 9664,  9686,  9709,  9731,  9753, 10694, 11634, 12574, 13515, 14455,
	15395, 16336, 17276, 18216, 19157, 20097, 21037, 21978, 22918, 23859];
GR_3.NR = GR_2.NR.slice(0);
GR_4.NR = GR_2.NR.slice(0);

//---------------------------------
// GFE candidate for degree 0-rates

GR_U.CO[0] = GR_U.NR[0] =
GR_1.CO[0] = GR_1.NR[0] = 431;
GR_2.CO[0] = GR_2.NR[0] = 466;
GR_3.CO[0] = GR_3.NR[0] = 492;
GR_4.CO[0] = GR_4.NR[0] = 514;

} //with

//-----------------------------------------
// set the Spring/Summer rates - clone Fall

tuition_rates.Fall.clone (tuition_rates.Spring);
tuition_rates.Fall.clone (tuition_rates.Summer);

//----------------------------
// adjust the GFE Summer rates

with (tuition_rates.Summer) {

//----------
// GFE rates

GR_1.CO = [0,
	  496,   888,  1285,  1673,  2061,  2450,  2838,  3228,  3616,  3728,
	 3802,  3859,  3894,  3916,  3938,  4327,  4715,  5102,  5493,  5880,
	 6267,  6657,  7044,  7433,  7822,  8210,  8597,  8987,  9375,  9763];
GR_U.CO = GR_1.CO.slice(0);

GR_2.CO = [0,
	  531,   955,  1387,  1808,  2230,  2652,  3075,  3497,  3920,  4044,
	 4194,  4344,  4421,  4443,  4465,  4889,  5311,  5732,  6155,  6576,
	 6998,  7421,  7843,  8265,  8687,  9109,  9530,  9954, 10375, 10799];

GR_3.CO = [0,
	  557,  1009,  1466,  1914,  2364,  2812,  3261,  3711,  4159,  4217,
	 4330,  4386,  4421,  4443,  4465,  4915,  5364,  5812,  6261,  6709,
	 7158,  7607,  8055,  8504,  8954,  9401,  9850, 10300, 10747, 11196];

GR_4.CO = [0,
	  579,  1053,  1531,  2001,  2472,  2943,  3413,  3885,  4355,  4826,
	 5297,  5766,  5896,  5918,  5940,  6412,  6882,  7352,  7824,  8293,
	 8763,  9235,  9705, 10174, 10646, 11116, 11586, 12056, 12526, 12997];

GR_1.NR = [0,
	  988,  1870,  2758,  3637,  4516,  5396,  6276,  7156,  8035,  8915,
	 8937,  8959,  8982,  9004,  9026,  9906, 10785, 11664, 12544, 13423,
	14302, 15182, 16061, 16940, 17820, 18699, 19578, 20458, 21337, 22217];
GR_U.NR = GR_1.NR.slice(0);

GR_2.NR = [0,
	 1049,  1992,  2941,  3881,  4821,  5762,  6703,  7644,  8584,  9525,
	 9547,  9569,  9592,  9614,  9636, 10577, 11517, 12457, 13398, 14338,
	15278, 16219, 17159, 18099, 19040, 19980, 20920, 21861, 22801, 23742];
GR_3.NR = GR_2.NR.slice(0);
GR_4.NR = GR_2.NR.slice(0);

//---------------------------------
// GFE candidate for degree 0-rates

GR_U.CO[0] = GR_U.NR[0] =
GR_1.CO[0] = GR_1.NR[0] = 399;
GR_2.CO[0] = GR_2.NR[0] = 434;
GR_3.CO[0] = GR_3.NR[0] = 460;
GR_4.CO[0] = GR_4.NR[0] = 482;

} //with
