// JavaScript Document

function gradeupdate(elemnum)
{
   var credit = document.getElementById("credit" + elemnum).value;
   var grade = document.getElementById("grade" + elemnum).options[document.getElementById("grade" + elemnum).selectedIndex].value;
   var gpoints = "";
   
   var container = document.getElementById("gradepoint" + elemnum);
	
   if (grade != "grade")
   {
      if (credit > 0 && credit < 11 && !isNaN(credit))
      {  
		 if (grade == "a")
		 {
			gpoints = 4*credit; 
		 }
		 else if (grade == "b")
		 {
			gpoints = 3*credit; 
		 }
		 else if (grade == "c")
		 {
			gpoints = 2*credit; 
		 }
		 else if (grade == "d")
		 {
			gpoints = 1*credit; 
		 }
		 else
		 {
			gpoints = 0*credit; 
		 } 
 	     container.innerHTML =  gpoints;
	  }
   }
}

function creditupdate(elemnum)
{
   var credit = document.getElementById("credit" + elemnum).value;
   var grade = document.getElementById("grade" + elemnum).options[document.getElementById("grade" + elemnum).selectedIndex].value;
   var gpoints = "";
   
   var container = document.getElementById("gradepoint" + elemnum);
	
   if (credit > 0 && credit < 11 && !isNaN(credit))	
   {
      if (grade != "grade")
	  {
		 if (grade == "a")
		 {
			gpoints = 4*credit; 
		 }
		 else if (grade == "b")
		 {
			gpoints = 3*credit; 
		 }
		 else if (grade == "c")
		 {
			gpoints = 2*credit; 
		 }
		 else if (grade == "d")
		 {
			gpoints = 1*credit; 
		 }
		 else
		 {
			gpoints = 0*credit; 
		 }
	  }
	  container.innerHTML = gpoints;
   }
   else
   {
	    if (credit)
	    {
		   alert("Please enter a valid number of credit hours from 1 to 10");
		   container.innerHTML =  "";
		}
   }
}

function calculategpa(form)
{
	var gpa = document.getElementById("gpa");
	var credithours = document.getElementById("credithours");
	var gradepoints = document.getElementById("gradepoints");
	
	var credittotal = 0;
	var gptotal = 0;
	
	for (var i = 1; i < 11; i++)
	{
		gptotal += Number(document.getElementById("gradepoint" + i).innerHTML);
		credittotal += Number(document.getElementById("credit" + i).value);
	}

	if (credittotal != 0 && !isNaN(credittotal))
	{
		gpa.innerHTML = (gptotal/credittotal).toString().slice(0,4);
	}
	credithours.innerHTML = (credittotal).toFixed(1);
	gradepoints.innerHTML = (gptotal).toFixed(1);
}

function clearform(form)
{
	var gpa = document.getElementById("gpa");
	var credithours = document.getElementById("credithours");
	var gradepoints = document.getElementById("gradepoints");
	
	for (var i = 1; i < 11; i++)
	{
	   var container = document.getElementById("gradepoint" + i);
	   container.innerHTML = 0;
	}
	gpa.innerHTML = "";
	credithours.innerHTML = "";
	gradepoints.innerHTML = "";
	form.reset();
}
