// Expects a DIV on the page named matrix to place the resulting message in

// SETUP SCHOLARSHIP TEXT VALUES HERE
var scholar=new Array();
  scholar[9]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $2000!';
  scholar[8]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1800!';
  scholar[7]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1600!';
  scholar[6]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1400!';
  scholar[5]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1200!';
  scholar[4]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1100!';
  scholar[3]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $1000!';
  scholar[2]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $800!';
  scholar[1]='Congratulations. Your test scores may qualify you for an ESU Hornet scholarship, worth $700!';
  scholar[0]='We offer general scholarships, talent awards in art, music, theatre, debate, athletics, and departmental scholarships. Call (877) 468-6378, <a href="mailto:go2esu@emporia.edu">email us</a> or <a href="http://www.emporia.edu/admiss">click here</a>.';

var DefaultMessage = 'Please enter your ACT score and your GPA in the fields provided to find out about our scholarships!';

// SETUP SCHOLARSHIP MATRIX
var scholarLookup = new Array();
  scholarLookup[4] = new Array(0, 1, 1, 3, 5, 6, 7, 8, 9);
  scholarLookup[3] = new Array(0, 1, 1, 2, 5, 5, 7, 7, 8);
  scholarLookup[2] = new Array(0, 1, 1, 2, 3, 3, 3, 6, 7);
  scholarLookup[1] = new Array(0, 1, 1, 2, 2, 3, 3, 4, 5);
  scholarLookup[0] = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);

// SETUP SCHOLARSHIP BRACKETS HERE

function GetSATBracket(v){
  if (!v) return null;
  if (v < 930) return 0;
  if (v < 1050) return 1;
  if (v < 1150) return 2;
  if (v < 1200) return 3;
  if (v < 1221) return 4;
  if (v < 1270) return 5;
  if (v >= 1270) return 6;
  return null;
}

function GetACTBracket(v){
  if (trim(v)=='') return null;
  if (!v) return null;
  v = parseInt(v);
  if (v < 22) return 0;
  if (v < 23) return 1;
  if (v < 24) return 2;
  if (v < 25) return 3;
  if (v < 26) return 4;
  if (v < 27) return 5;
  if (v < 28) return 6;
  if (v < 29) return 7;
  if (v >= 29) return 8;
  return null;
}

function GetGPABracket(v){
  if (trim(v)=='') return null;
  if (!v) return null;
  v = Number(v);
  if (v < 3) return 0;
  if (v < 3.25) return 1;
  if (v < 3.5) return 2;
  if (v < 3.75) return 3;
  if (v >= 3.75) return 4;
  return null;
}

// !!!!-=DON'T EDIT ANYTHING FROM HERE DOWN=-!!!!

function GPAtoInt(gpaVal){
  switch(gpaVal){
    case 'a+':
    case 'A+':
    case 'a':
    case 'A':
      return 4;
      break;
    case 'a-':
    case 'A-':
      return 3.7;
      break;
    case 'b+':
    case 'B+':
      return 3.3;
      break;
    case 'b':
    case 'B':
      return 3;
      break;
    case 'b-':
    case 'B-':
      return 2.7;
      break;
    case 'c+':
    case 'C+':
      return 2.3;
      break;
    case 'c':
    case 'C':
      return 2.0;
      break;
    case 'c-':
    case 'C-':
      return 1.7;
      break;
    case 'd+':
    case 'D+':
      return 1.3;
      break;
    case 'd':
    case 'D':
      return 1.0;
      break;
    case 'f':
    case 'F':
      return 0;
      break;
    default:
      return gpaVal;
      break;
  }
}

function trim(stringToTrim) {
  if(!stringToTrim.split) return stringToTrim;
  if(stringToTrim) return stringToTrim.replace(/^\s+|\s+$/g,"");
  return null;
}

function MaxTest(edtVal, maxVal){
  var nVal = Number(edtVal);
  if((nVal==0)||(isNaN(nVal))) return edtVal;
  maxVal = Number(maxVal);
  if(nVal > maxVal){
    return maxVal;
  }else{
    return nVal;
  }
}

function CheckForm(){
  var satMax = 1600;
  var gpaMax = 4.5;
  var actMax = 36;
  var actEdt = document.getElementById('act');
  var satEdt = document.getElementById('sat');
  var gpaEdt = document.getElementById('gpa');
  if ((actEdt)&&(!(actEdt.options))) actEdt.value = MaxTest(actEdt.value, actMax);
  if ((satEdt)&&(!(satEdt.options))) satEdt.value = MaxTest(satEdt.value, satMax);
  if ((gpaEdt)&&(!(gpaEdt.options))) gpaEdt.value = MaxTest(gpaEdt.value, gpaMax);
}

function GetElemVal(elemId){
  var elem = document.getElementById(elemId);
  if (!elem) return null;
  if (elem.options) return elem.options[elem.selectedIndex].value;
  return elem.value;
}

function calc(target){
  CheckForm();
  var act=GetElemVal('act');
  if ((act=='...')||(act=='')) act = null;
  if(act!=null) act = GetACTBracket(act);
  var sat=GetSATBracket(GetElemVal('sat'));
  var gpa=(GetElemVal('gpa'));
  gpa = gpa.replace(/ /g,"");
  gpa = GPAtoInt(gpa);
  gpa = GetGPABracket(gpa);

  var matrix;
  if(target!=null){
    if(typeof target == 'object'){
      matrix = target;
    }else{
      matrix = document.getElementById(target);
    }
  }else{
    matrix = document.getElementById('matrix');
  }
  var msg;
  if ((act!=null)&&(gpa!=null)){
    matrix.innerHTML = scholar[scholarLookup[gpa][act]];
  }else{
    matrix.innerHTML = DefaultMessage;
  }
  
  return false;
}