var lmax = 120;
var lvl = new Array(lmax+1);
lvl[ 1] = "Order Numbers 1";
lvl[ 2] = "Order Numbers 2";
lvl[ 3] = "Simple Addition 1";
lvl[ 4] = "1 digit Addition";
lvl[ 5] = "2 digit Addition";
lvl[ 6] = "Word Addition 1";
lvl[ 7] = "Word Addition 2";
lvl[ 8] = "Add with Carry";
lvl[ 9] = "Simple Subtraction 1";
lvl[10] = "1 digit Subtraction";
lvl[11] = "2 digit Subtraction";
lvl[12] = "Word Subtraction 1";
lvl[13] = "Word Subtraction 2";
lvl[14] = "Subtract with Borrow";
lvl[15] = "1 digit Multiplication";
lvl[16] = "Word Multiplication";
lvl[17] = "Multiplication 2x1";
lvl[18] = "Multiplication 2x2";
lvl[19] = "1 digit Division";
lvl[20] = "Word Division";
lvl[21] = "Long Division 1";
lvl[22] = "Long Division 2";
lvl[23] = "Identify Fraction";
lvl[24] = "Order Fractions 1";
lvl[25] = "Order Fractions 2";
lvl[26] = "Equivalent Fractions";
lvl[27] = "Decimals vs Fractions 1";
lvl[28] = "Decimals vs Fractions 2";
lvl[29] = "Add Fractions 1";
lvl[30] = "Add Fractions 2";
lvl[31] = "Add Fractions 3";
lvl[32] = "Subtract Fractions 1";
lvl[33] = "Subtract Fractions 2";
lvl[34] = "Numerals and Fractions";
lvl[35] = "Mixed Word Problems";
lvl[36] = "Multiply Fractions 1";
lvl[37] = "Multiply Fractions 2";
lvl[38] = "Divide Fractions 1";
lvl[39] = "Divide Fractions 2";
lvl[40] = "Word Fraction Problems";
lvl[41] = "Compare Decimals";
lvl[42] = "Decimal Addition";
lvl[43] = "Decimal Subtraction";
lvl[44] = "Decimal Multiplication1";
lvl[45] = "Decimal Multiplication2";
lvl[46] = "Decimal Division1";
lvl[47] = "Decimal Division2";
lvl[48] = "Algebraic Expressions 1";
lvl[49] = "Algebraic Expressions 2";
lvl[50] = "Linear Equations 1";
lvl[51] = "Linear Equations 2";
lvl[52] = "Linear Equations 3";
lvl[53] = "Linear Eq Word Problems";
lvl[54] = "Expanded Form Numbers";
lvl[55] = "Standard Form Numbers";
lvl[56] = "Number Position/Value";
lvl[57] = "Numeral to Word";
lvl[58] = "Word to Numeral";
lvl[59] = "Clock with Numbers";
lvl[60] = "Clock without Numbers";
lvl[61] = "Clock Add/Subtract";
lvl[62] = "Time  Add/Subtract";
lvl[63] = "LCM Least Common Multiple";
lvl[64] = "GCF Greatest Common Factor";
lvl[65] = "Round Up Numbers";
lvl[66] = "Perimeter (with grid)";
lvl[67] = "Perimeter (without grid)";
lvl[68] = "Area (with grid)";
lvl[69] = "Area (without grid)";
lvl[70] = "Triangles";
lvl[71] = "Simple Algebra";
lvl[72] = "Simple Percent";
lvl[73] = "Fraction as Percent";
lvl[74] = "Decimal as Percent";
lvl[75] = "Percent of Number";
lvl[76] = "Percent Word Problems";
lvl[77] = "2 digit Add (carry)";
lvl[78] = "2 digit Sub (borrow)";
lvl[79] = "1 digit Add (carry)";
lvl[80] = "1 digit Sub (borrow)";
lvl[81] = "Word Addition (Extra Info)";    // 1 irrelevant number
lvl[82] = "Word Subtraction (Extra)"; // 1 irrelevant number
lvl[83] = "Word Multiplication (Extra)";  // 1 irrelevant number
lvl[84] = "Word Division (Extra Info)";    // 1 irrelevant number
lvl[85] = "1 digit Add / Sub (mixed)";
lvl[86] = "Order of Operations";
lvl[87] = "Simple Addition 2";
lvl[88] = "Simple Addition 3";
lvl[89] = "Simple Addition 4";
lvl[90] = "Simple Addition 5";
lvl[91] = "Simple Addition 6";
lvl[92] = "Simple Addition 7";
lvl[93] = "Simple Addition 8";
lvl[94] = "Simple Addition 9";
lvl[95] = "Simple Subtraction 2";
lvl[96] = "Simple Subtraction 3";
lvl[97] = "Simple Subtraction 4";
lvl[98] = "Simple Subtraction 5";
lvl[99] = "Simple Subtraction 6";
lvl[100] = "Simple Subtraction 7";
lvl[101] = "Simple Subtraction 8";
lvl[102] = "Simple Subtraction 9";
lvl[103] = "Simple Multiplication 1";
lvl[104] = "Simple Multiplication 2";
lvl[105] = "Simple Multiplication 3";
lvl[106] = "Simple Multiplication 4";
lvl[107] = "Simple Multiplication 5";
lvl[108] = "Simple Multiplication 6";
lvl[109] = "Simple Multiplication 7";
lvl[110] = "Simple Multiplication 8";
lvl[111] = "Simple Multiplication 9";
lvl[112] = "Simple Division 1";
lvl[113] = "Simple Division 2";
lvl[114] = "Simple Division 3";
lvl[115] = "Simple Division 4";
lvl[116] = "Simple Division 5";
lvl[117] = "Simple Division 6";
lvl[118] = "Simple Division 7";
lvl[119] = "Simple Division 8";
lvl[120] = "Simple Division 9";

var probGrp = new Array(18);
probGrp[1]  = "1:2:3:4:9:10:15:19:54:55:56:57:58:72";	// Simple
probGrp[2]  = "17:18:21:22:23:24:25:26:27:28:29:30:31:32:33:34:36:37:38:39:41:42:43:44:45:46:47:59:60:61:62:63:64:65:71:72:73:74:75:81:82:83:84:86";	// Those with Help
probGrp[3]  = "1:2:24:25:27:28:41:59:60:61:62";			// Ordering+Time
probGrp[4]  = "3:4:79:6:5:77:7:8:29:30:31:42:81:85:86:87:88:89:90:91:92:93:94";	     // Addition
probGrp[5]  = "9:10:80:11:12:13:78:14:32:33:43:82:85:86:95:96:97:98:99:100:101:102"; // Subtraction
probGrp[6]  = "15:16:17:18:36:37:44:45:83:86:103:104:105:106:107:108:109:110:111";   // Multiplication
probGrp[7]  = "19:20:21:22:38:39:46:47:84:86:112:113:114:115:116:117:118:119:120";   // Division
probGrp[8]  = "23:24:25:26:27:28:29:30:31:32:33:34:36:37:38:39:40:73";	// Fractions
probGrp[9]  = "27:28:41:42:43:44:45:46:47:74";			// Decimals
probGrp[10]  = "6:7:12:13:16:20:35:40:76:81:82:83:84:53";				// Word Problems
probGrp[11] = "63:64:65";						// LCM/GCF/RoundUp
probGrp[12] = "86:71:48:49:50:51:52:53:66:67:68:69:70";	// Algebra/Geometry
probGrp[13] = "72:73:74:75:76";						    // Percent
probGrp[14] = "3:87:88:89:90:91:92:93:94";				// Basic Addition
probGrp[15] = "9:95:96:97:98:99:100:101:102";			// Basic Subtraction
probGrp[16] = "103:104:105:106:107:108:109:110:111";	// Basic Multiplication
probGrp[17] = "112:113:114:115:116:117:118:119:120";	// Basic Division

function fillGroupLevels(grp, sel, selIx0) {
  selIx = parseInt(selIx0);
  if (grp == 0)
  {
    for (var j=1; j<lvl.length; j++)
    {
      var txt = j.toString() + ": " + lvl[j];
      opt = new Option(txt, j);
      sel.options[j-1] = opt;
    }
  }
  else
  {
    var ixArr = probGrp[grp].split(":")
    var nopts = sel.options.length - 1;
    for (var i=nopts; i>=0; i--)
    {
      sel.options[i] = null;
    }
    for (var i=0; i<ixArr.length; i++)
    {
      var j = parseInt(ixArr[i]);
      var txt = j.toString() + ": " + lvl[j];
      // alert('creating opt = (j:[' + j + ']  txt:[' + txt + '])');
      opt = new Option(txt, j);
      // alert('created');
      sel.options[i] = opt;
    }
  }
  sel.selectedIndex = selIx;
}
