function selectSame(idPrefix, count, val) {
  for (var j = 0; j < count; j++) {
    selectBox = document.getElementById(idPrefix+j);

    if (selectBox != null) {
      for (var i = 0; i < selectBox.options.length; i++) {
        if (selectBox.options[i].value == val) {
          selectBox.options[i].selected = true;
        }
      }
    }
  }
}

function block(blockChecked, msgDiv, loadingImage, blockForm, redirect) {
  var blocked = document.getElementById(blockChecked);
  if (blocked.checked) blocked.value = true;
  else blocked.value = false;

  updatepage(msgDiv, loadingImage);
  xmlhttpPost(msgDiv, blockForm, redirect);
}
/*
 * save lesson plan/study guide and go to main page
 */
function saveContent(whichButton) {
  var action = document.getElementById('action');
  if (action) action.value='add';
  var whichBtn = document.getElementById('whichBtn');
  if (whichBtn) whichBtn.value=whichButton;
  validateSubmit(new Array('date', 'gradeId'));
}

function xmlhttpPost(divToUpdate, formId, strURL) {
  var xmlHttpReq = false;
  var self = this;
  // Mozilla/Safari
  if (window.XMLHttpRequest) {
      self.xmlHttpReq = new XMLHttpRequest();
  }
  // IE
  else if (window.ActiveXObject) {
      self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  }
  strURL +='?'+createQueryString(document.getElementById(formId));
  self.xmlHttpReq.open('POST', strURL, true);
  self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  self.xmlHttpReq.onreadystatechange = function() {
      if (self.xmlHttpReq.readyState == 4) {
          updatepage(divToUpdate, self.xmlHttpReq.responseText);
      }
  }
  self.xmlHttpReq.send(null);
}

function createQueryString(theForm)
{
  var reqStr = "";

  for(i=0; i < theForm.elements.length; i++)
  {
    isFormObject = false;
    switch (theForm.elements[i].tagName)
    {
      case "INPUT":
        switch (theForm.elements[i].type)
        {
          case "text":
          case "hidden":
            reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
            isFormObject = true;
            break;

          case "checkbox":
            if (theForm.elements[i].checked)
            {
              reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
            }else{
              reqStr += theForm.elements[i].name + "=";
            }
            isFormObject = true;
            break;

          case "radio":
            if (theForm.elements[i].checked)
            {
              reqStr += theForm.elements[i].name + "=" + theForm.elements[i].value;
              isFormObject = true;
            }
        }
        break;

      case "TEXTAREA":
        reqStr += theForm.elements[i].name + "=" + encodeURIComponent(theForm.elements[i].value);
        isFormObject = true;
        break;

      case "SELECT":
        var sel = theForm.elements[i];
        for (var j = 0; j < sel.options.length; j++) {
          var selected = sel.options[j];
          if (selected.selected)
            reqStr += sel.name + "=" + selected.value + "-" + selected.text + "&";
        }
        isFormObject = true;
        break;
    }

    if ((isFormObject) && ((i+1)!= theForm.elements.length))
    {
      reqStr += "&";
    }

  }
  return reqStr;
}

function updatepage(divToUpdate, str){
  document.getElementById(divToUpdate).innerHTML = str;
}

function addToElement(elemId, str){
  document.getElementById(elemId).innerHTML += str;
}

function addStudent(elemId, studId, name){
  str =  '<div id="'+studId+'">';
  str += '  <input type="hidden" name="studId" value="'+studId+'"/>';
  str += name;
  str += '  <a href="javascript:;"';
  str += '     onclick="removeElem(\''+studId+'\');updatepage(\'removedStudents\', document.getElementById(\'removedStudents\').innerHTML+\'<li>'+name+'\')">';
  str += '    remove';
  str += '  </a>';
  str += '</div>';
  addToElement(elemId, str);
}

function hide(elemId){
  document.getElementById(elemId).style.display = "none";
}

function removeElem(elemId){
  elem = document.getElementById(elemId);
  elem.parentNode.removeChild(elem);
}

function selectStudent(selectId, studId, fname, lname) {
  var sel = document.getElementById(selectId);
  sel.options[sel.length]=new Option(fname + " " + lname, studId);
  //document.getElementById(divId).innerHTML += selStudsTable;
}

function sample () {
  var selStuds = new Array();
  selStuds.push(new Array(studId, fname, lname));
  var selStudsTable = "<table>\n";
  for (i = 0; i < selStuds.length; i++) {
    var row = selStuds[i];
    selStudsTable += "<tr>\n";
    for (j = 0; j < row.length; j++) {
      selStudsTable += "<td>" + row[j] + "</td>\n";
    }
    selStudsTable += "</tr>\n";
  }
  selStudsTable += "</table>\n";
  document.getElementById(divId).innerHTML += selStudsTable;
}

function getAjaxRequest(){
  var ajaxRequest;  // The variable that makes Ajax possible!
	
  try{
    // Opera 8.0+, Firefox, Safari
    ajaxRequest = new XMLHttpRequest();
  } catch (e){
    // Internet Explorer Browsers
    try{
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try{
        ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e){
        // Something went wrong
        alert("Your browser broke!");
        return false;
      }
    }
  }
  return ajaxRequest;
}

function test(formId) {
  var ajaxRequest = getAjaxRequest();
	
  // Create a function that will receive data sent from the server
  ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
      document.getElementById(formId).time.value = ajaxRequest.responseText;
    }
  }
  var age = document.getElementById('age').value;
  var wpm = document.getElementById('wpm').value;
  var sex = document.getElementById('sex').value;
  var queryString = "?age=" + age + "&wpm=" + wpm + "&sex=" + sex;
  ajaxRequest.open("GET", "ajax-example.php" + queryString, true);
  ajaxRequest.send(null); 
}

function editElemVal(id, value) {
  var val = document.getElementById(id);
  if (val) val.value=value;
}

function changeElementStyle(id, newClass) {
  document.getElementById(id).className=newClass;
}

function checkGrade(val) {
  obj=eval("document.form1.grade"+val);
  if(isNaN(obj.value) || obj.value==""){
    alert("Please Enter Numeric Value");
    obj.value="0.0";
  }else if(parseFloat(obj.value) > 5) {
    alert("Please Enter Grades Less Then 5");
    obj.focus();
  }
  return;
}

function submitGrades()
{
  if(document.form1.tdate.value=="") {
    alert("Please input the Examination Date");
    document.form1.tdate.focus();
    return false;
  }
  document.form1.submit();
}

function allowUploadChecked() {
  var allowUpload = document.getElementById("allowUpload");
  if (allowUpload.checked) {
    document.getElementById("assignmentSubmissionStartTime").disabled=false; 
    document.getElementById("assignmentSubmissionEndTime").disabled=false; 
  } else {
    document.getElementById("assignmentSubmissionStartTime").disabled=true; 
    document.getElementById("assignmentSubmissionEndTime").disabled=true; 
  }
}

function averageGrade(studId,studName,termName,catName,catId)
{
  link="../common/average.jsp?sub="+studId+"&term="+studName+"&subN="+termName+"&grade="+catName+"&stud="+catId;
  window.open(link,'Average','width=400,height=200');
}

function submitFormId(formId)
{
  if (formId != null)
    document.getElementById(formId).submit();
  return false;
}

function submitForm(formName)
{
  if (formName != null)
    formName.submit();
  else
    document.form1.submit();

  return true;
}

function readMsg(id) {
  var link="../common/readmsg.jsp?message="+id;
  window.open(link,'Oxford','width=300,height=300,scrollbars=yes')
}

function FCKeditor_OnComplete(editorInstance) {
  window.status = editorInstance.Description;
}  

function focusOnField(field) {
  var fieldVar = document.getElementById(field);
  if (fieldVar != null)
    fieldVar.focus();
}

function checkKeysPressed(e){
  var str= 'alt key: '+e.altKey+', shift key: '+e.shiftKey+'\n';
  var s= e.charCode || e.keyCode;
  if(s>= 16 && s<= 18) return;
  var charPressed = String.fromCharCode(s);
  str+= 'code: '+s+' = '+ charPressed;
  if (e.altKey && e.shiftKey){
    if (charPressed == 'O'){
      //alert(str);
      window.location="index.jsp";
    }
    else if (charPressed == 'A')
      window.location="admin";
    else if (charPressed == 'P')
      window.location="parents";
  }
}

function loadKeyboardShortcuts () {
  if (window.addEventListener)
    window.addEventListener('keydown', checkKeysPressed, false);
}

function load(fieldFocused) {
  focusOnField(fieldFocused);
  loadKeyboardShortcuts();
}

function popup(url,width,height) {
  if (width == null)
    width = 800;
  if (height == null)
    height = 600;
  window.open (url, "bigPopup","scrollbars=1, width="+width+",height="+height+", resizeable=yes").moveTo(0,0);
}

