     var hex;

     function MakeArray()
     {
          this.length = 16;
          return this;
     }

     function Populate()
     {
          hex = new MakeArray();
          hex[1] = "0";
          hex[2] = "1";
          hex[3] = "2";
          hex[4] = "3";
          hex[5] = "4";
          hex[6] = "5";
          hex[7] = "6";
          hex[8] = "7";
          hex[9] = "8";
          hex[10] = "9";
          hex[11] = "a";
          hex[12] = "b";
          hex[13] = "c";
          hex[14] = "d";
          hex[15] = "e";
          hex[16] = "f";
     }

     function get_hex(N) {
          s = "";
          A = N;
          while (A >= 16) {
               B = A % 16;
               A = Math.floor(A / 16);
               s = s + hex[B+1];
          }
          s += hex[A+1];

          return transpose(s);
     }

     function transpose(s) {
          N = s.length;
          t = "";
          for (i = 0; i < N; i++) {
               t = t + s.substring(N-i-1, N-i);
          }

          //   zero-pad
          s = t;
          for (i = 0; i < (5 - t.length); i++) {
               s = "0" + s;
          }

          return s;
     }
	 
	 function go2() {
		document.grades.id.value = get_hex(document.grades.sid.value);
		document.grades.submit();
	 }

	function go() {
		document.grades.clsid.value = '';
		document.grades.oldcls.value = '';
		document.grades.subid.value = '';
		document.grades.cal.value = '';
		go2();
	}

	function showClass(clsid) {
		document.grades.clsid.value = clsid;
		go2();
	}
	
	function showSubject(subid) {
		document.grades.subid.value = subid;
		go2();
	}
	
	function showCal(cal) {
		document.grades.cal.value = cal;
		go2();
	}
