
var crtclass=-1;

function ListQuizzes() {
toggleBox("quizlist",1);
toggleBox("gradedquizlist",0);
toggleBox("assignments",0);
toggleBox("rcard",0);
}

function ListGrdQuizzes() {
toggleBox("gradedquizlist",1);
toggleBox("quizlist",0);
toggleBox("assignments",0);
toggleBox("rcard",0);
}

function isdefined(v) {
if (typeof(v)!="undefined")
return true;
else
return false;
}

function changeclass(n,wt) {
setclass(n,wt);
if (CrtPageOn=="assignments") {
ShowAssignments();
} else if (CrtPageOn=="rcard") {
ShowRCard();
}
PageOn(CrtPageOn);
}

var CrtPageOn="";
function PageOn(S) {
toggleBox("quizlist",0);
toggleBox("gradedquizlist",0);

if (S=="assignments") {
toggleBox("assignments",1);
} else {
toggleBox("assignments",0);
}

if (S=="rcard") {
toggleBox("rcard",1);
} else {
toggleBox("rcard",0);
}
CrtPageOn=S;
}

function setform2() {
toggleBox("loadingid",0);
toggleBox("pghead",1);
setclass(1);
}

function changetxt(s,i) {
if (s.length<1) {
s=" ";
}
var txt=document.createTextNode(s);
var elem=document.getElementById(i);
var oldTxt=elem.replaceChild(txt,elem.firstChild);
}

function toggleBox(szDivID, iState) 
{
try {
if(document.layers)	   
{
document.layers[szDivID].visibility = iState ? "show" : "hide";
document.layers[szDivID].display = iState ? "block" : "none";
}
else if(document.getElementById)	  
{
var obj = document.getElementById(szDivID);
obj.style.visibility = iState ? "visible" : "hidden";
obj.style.display = iState ? "block" : "none";
}
else if(document.all)	
{
document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
document.all[szDivID].style.display = iState ? "block" : "none";
}
}
catch(e) {
alert("problem: toggleBox("+szDivID+") "+e);
}
}

function setclass(n,wt) {
initgscale=false;

var x;
if (wt==1) {
crtclass=n;
setsubjects(crtclass,1);
} else {
for (x=1;x<=numclasses;x++) {
if (isasubject(x)) {
}
else if (x==n) {
document.getElementById("selcl"+x).style.fontWeight="bold";
} else {
document.getElementById("selcl"+x).style.fontWeight="normal";
}
}
crtclass=n;

setsubjects(crtclass,0);
}
}


function getd(s1) {
var o;
o=eval("document.EFORM."+s1);
if (!(isdefined(o)))
return "";
return o.value;
}

function getNUM(s1) {
var o,R;
o=eval("document.EFORM."+s1);
if (!(isdefined(o)))
return "";
R=o.value;
R++;R--;
return R;
}

function CatName(c) {
var r;
r=getd("CAT"+c+"_"+crtclass);
return r;
}

function getScore(i) {
var S,R,A;
S=getd("SCORES"+crtclass);
A=S.split(",");
R=A[i];
if (!isdefined(R)) {
return "";
}
return R;
}

function numberterms() {
var R;
R=getNUM("NUMTERMS"+crtclass);
return R;
}

function DoRound(N) {
var GLRND,N2;
GLRND=getNUM("GLRND"+crtclass);
if (GLRND==4) {
N2=Math.floor(N*10);
if ((N*10)>N2) {
N2++;
}
N2/=10;
return totenths(N2);
} else if (GLRND==3) {
return Math.ceil(N);
} else if (GLRND==2) {
return tohundredths(N);
} else if (GLRND==1) {
return totenths(N);
}
return roundit(N);
}

var initgscale=false;
var SCALEW,SCALE,SCALED,SCALEL;
function togscale(s,MX) {
var x,g,R,A,N;
if (initgscale==false) {
initgscale=true;
SCALEL=getd("NUMGSCALES"+crtclass);
SCALEW=new Array();
SCALE=new Array();
SCALED=new Array();
for (x=0;x<SCALEL;x++) {
N=x+"_"+crtclass;
SCALEW[x]=getd("SCALEW"+N);
SCALE[x]=getd("SCALE"+N);
SCALED[x]=getd("SCALED"+N);
}
}
g=Math.round((s/MX)*100);
R="";
A=-1;
for (x=0;x<=SCALEL;x++) {
if ((g>=SCALEW[x])&&(SCALEW[x]>A)) {
A=SCALEW[x];
R=SCALE[x];
}
}
return R;
}

function ShowAssignments() {
var tbody,tr,td,L,L2,L3,x,t,S1,pe,gd,CC,tout,termN1,termN2,N1,numterms,GLNOGRD,s1_orig;
var TodaysSBC,AsgnSBC;

TodaysSBC=getNUM("TODAYS1BC");

GLNOGRD=getNUM("GLNOGRD"+crtclass);
numterms=0;
if (crtclass<0) {
return;
}
L=getNUM("NUMCATS"+crtclass);
L2=getNUM("NUMASGNS"+crtclass);
L3=numberterms();

deletetabledata("asgndata");
tbody=document.getElementById("asgndata");



for (t=0;t<L3;t++) {
tout=0;
termN1=getNUM("TERMA"+t+"_"+crtclass);
termN2=getNUM("TERMB"+t+"_"+crtclass);

CC="";

for (x=0;x<L2;x++) {
var i,nm,N,C,dd,mx,s1;
N=x+"_"+crtclass;
N1=getNUM("ASGNA"+N);
if ((N1>=termN1)&&(N1<=termN2)) {
i=getNUM("ASGNI"+N);
C=CatName(i);

if (tout==0) {
tout=1;
numterms++;
if (numterms>1) {
tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML="<BR>";
}

S1=getd("TERM"+t+"_"+crtclass)+" ("+getd("TERMSD"+t+"_"+crtclass)+" to "+getd("TERMED"+t+"_"+crtclass)+")";
tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML="<FONT color=\"green\"><b>"+S1+"</b></font>";
}

if (C==CC) {
} else {
CC=C;
S1=CC;
tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML="<u><b>"+S1+"</b></u>";
}

nm="&nbsp;&nbsp;"+getd("ASGNN"+N);

dd=getd("ASGNDD"+N);

mx=getNUM("ASGNPT"+N);

s1=getScore(x);
s1_orig=s1;
if (((s1=="")||(s1.length==0))&&(GLNOGRD==0)) {
s1="";
pe="";
gd="";
}
else {
s1++;s1--;
mx++;mx--;
if (mx==0) {
pe="";
} else {
pe=DoRound(s1*100/mx)+" %";
}

gd=togscale(s1,mx);
}

AsgnSBC=getNUM("ASGNA"+N);

if (AsgnSBC>TodaysSBC) {
if ((s1_orig=="")||(s1_orig=="0")) {
s1="";
pe="";
gd="";
} else {
pe="";
gd="";
}
}
else if (AsgnSBC==TodaysSBC) {
if ((s1_orig=="")||(s1_orig=="0")) {
s1="";
pe="";
gd="";
}
}


tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML=nm;
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=dd;
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=mx;
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=s1;
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=pe;
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=gd;
}
}

}

PageOn("assignments");
}


function totenths(v) {
t=formatNumber(v,1);
return parseFloat(t);
}

function tohundredths(v) {
t=formatNumber(v,2);
return parseFloat(t);
}

function roundit(v) {
t=formatNumber(v,0);
return parseFloat(t);
}

function formatNumber(num,dp) {
num=parseFloat(num);
if (!isNaN(num)) {
var str = "" + Math.round(eval(num)*Math.pow(10,dp));
if (str.indexOf("e")!=-1) {
return "Out of Range";
}
while (str.length<=dp) {
str="0"+str;
}
var decpoint=str.length-dp;
return str.substring(0,decpoint)+"."+str.substr(decpoint,str.length);
} else {
return "NaN";
}
}

function deletetabledata(S) {
var tbody,L,x;
tbody=document.getElementById(S);
L=tbody.rows.length;
if (L>0) {
for (x=L-1;x>=0;x--) {
tbody.deleteRow(x);
}
}
}

function ShowRCard() {
var L,L3,t,tout,numterms,mx,s1,GLWEIGHTC;
deletetabledata("catdata");
tbody=document.getElementById("catdata");
L=getNUM("NUMCATS"+crtclass);
L3=numberterms();
numterms=0;
GLWEIGHTC=getd("GLWEIGHTC"+crtclass);
if (GLWEIGHTC==0) {
changetxt("Weight","rcardwcol");
} else {
changetxt(" ","rcardwcol");
}

s1=getd("FINALAVG"+crtclass);
changetxt(s1,"favg");
s1=getd("FINALGRADE"+crtclass);
changetxt(s1,"fgd");

changetxt("","favg");
changetxt("","fgd");


for (t=0;t<L3;t++) {
tout=0;

mx=getNUM("CATSUMMX"+t+"_"+crtclass);
if (mx>0) {
tout=1;
}

if (tout==1) {
numterms++;
if (numterms>1) {
tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML="<BR>";
}

S1=getd("TERM"+t+"_"+crtclass)+" ("+getd("TERMSD"+t+"_"+crtclass)+" to "+getd("TERMED"+t+"_"+crtclass)+")";
tr=tbody.insertRow(tbody.rows.length);
td=tr.insertCell(tr.cells.length);
td.innerHTML="<FONT color=\"green\"><b>"+S1+"</b></font>";

for (x=0;x<L;x++) {
s2=t+"_"+x+"_"+crtclass;

tr=tbody.insertRow(tbody.rows.length);
s1=getd("CAT"+x+"_"+crtclass);
td=tr.insertCell(tr.cells.length);
td.innerHTML=s1;

if (GLWEIGHTC==0) {
s1=getd("CATW"+x+"_"+crtclass)+"%";
td=tr.insertCell(tr.cells.length);
td.innerHTML=s1;
} else {
td=tr.insertCell(tr.cells.length);
td.innerHTML="<BR>";
}

s1=getd("CATSUMMX"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML=s1;

s1=getd("CATSUMN"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML=s1;

s1=getd("CATSUMG"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML=s1;

s1=getd("CATSUML"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML=s1;
}

{
s2=t+"_"+crtclass;

tr=tbody.insertRow(tbody.rows.length);
s1=getd("TERM"+t+"_"+crtclass)+" Final Average";
td=tr.insertCell(tr.cells.length);
td.innerHTML="<b>"+s1+"</b>";

td=tr.insertCell(tr.cells.length);
td.innerHTML="<BR>";

s1=getd("CATSUMMX"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML="<b>"+s1+"</b>";

s1=getd("CATSUMN"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML="<b>"+s1+"</b>";

s1=getd("CATSUMG"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","right");
td.innerHTML="<b>"+s1+"</b>";

s1=getd("CATSUML"+s2);
td=tr.insertCell(tr.cells.length);
td.setAttribute("align","center");
td.innerHTML="<b>"+s1+"</b>";
}
}
}
if (numterms==0) {
s1="N/A (no grades yet)";
changetxt(s1,"favg");
changetxt(s1,"fgd");

alert("Sorry, you do not have any grades.");
}

PageOn("rcard");
}

function isasubject(n) {
var S1;
S1=getd("ISSUBJ"+n);
if (S1=="1") {
return true;
}
return false;
}

var globmaingb=0;
function setsubjects(classnum,wt) {
var H,n,dn,z,S1,S2,S3,S4,S5;
if (wt==0) {
globmaingb=classnum;
H=getd("HASSUBJ"+classnum);
}
else if (wt==1) {
H="1";
}
S2="";
if (H=="1") {
n=globmaingb;
dn=0;
z=0;
S3=getd("SUBJNAME"+n);
S4="";
S5="";
if (n==classnum) {
S4="<b>";
S5="</b>";
}
S2="&nbsp;&nbsp;"+S4+"<a href=\"#\" onClick=\"JavaScript:changeclass("+n+",1);return false;\">"+S3+"</a>"+S5;
while (dn==0) {
z++;if (z>99) { dn=1; }
n++;
S1=getd("ISSUBJ"+n);
if (S1=="1") {
S3=getd("SUBJNAME"+n);
S4="";
S5="";
if (n==classnum) {
S4="<b>";
S5="</b>";
}
S2=S2+"&nbsp;&nbsp;"+S4+"<a href=\"#\" onClick=\"JavaScript:changeclass("+n+",1);return false;\">"+S3+"</a>"+S5;
} else {
dn=1;
}
}
document.getElementById("subjlist").innerHTML=S2;
toggleBox("subjhead",1);
} else {
toggleBox("subjhead",0);
}
}
