window.onload = init;

function init() {
  addEditHandlers();
}

function addEditHandlers() {
// Add edit javascript edit function to links //
  editId = 0
  x = document.getElementsByTagName('a');
  for (i=0; i < x.length; i++) {
    if (x[i].className == "editrow") {
      x[i].onclick = function() { editRow(this.id); return false; };
      x[i].id = "editrow" + editId;
      editId++;
    }
    if (x[i].className == "deleterow") {
      x[i].onclick = function() { deleteRow(this.id); return false; };
      x[i].id = "editrow" + editId;
      editId++;
    }
    if (x[i].className == "editphp") {
      x[i].id = "editrow" + editId;
      editId++;
    }
    if (x[i].className == "edit_teacher") {
      x[i].onclick = function() { editTeacher(); return false; };
    }
  }
  x = document.getElementsByTagName('tr');
  for (i=0; i < x.length; i++) {
    x[i].id = "row" + i;
  }
}


function deleteRow(x) {

  var answer = confirm('Really delete this record?')
  if (!answer) {
    return false;
  }
  var row = document.getElementById(x).parentNode.parentNode;
  var inputs = row.getElementsByTagName('input');
  for (i=0; i < inputs.length; i++) {
    if (inputs[i].getAttribute('name') == "record_id") {
      var record_id = inputs[i].value;
    }
  }
  var url = "ahah.php?act=delete&record_id=" + record_id + "&table=" + row.className;
  ahah(url, row.id);
}


function editRowPHP(x) {
  var row = document.getElementById(x).parentNode.parentNode;
  // Test to see if this is the teacher table or something similar where the whole table needs edited //
  if (row.getElementsByTagName('td').length < 2) row = row.parentNode.parentNode;
  var inputs = row.getElementsByTagName('input');
  for (i=0; i < inputs.length; i++) {
    if (inputs[i].getAttribute('name') == "record_id") var record_id = inputs[i].value;
    if (inputs[i].getAttribute('type')) var type = inputs[i].value;
  }
  var url = "prepare-row.php?type=" + type + "&id=" + record_id;
  ahahPHP(url, row.id);
}

function updateRowPHP(x, cancel) {
  var row = x.parentNode.parentNode;
  // Test to see if this is the teacher table or something similar where the whole table needs edited //
  if (row.getElementsByTagName('td').length < 2) row = row.parentNode.parentNode;

  var url = "update-row.php?table=" + row.className;
  var inputs = row.getElementsByTagName('input');
  for (i=0; i < inputs.length; i++) {
      if (inputs[i].getAttribute('name')) { url += "\&" + inputs[i].getAttribute('name') + "\=" + inputs[i].value; }
  }
  var selects = row.getElementsByTagName('select');
  for (i=0; i < selects.length; i++) {
      if (selects[i].getAttribute('name')) { url += "\&" + selects[i].getAttribute('name') + "\=" + selects[i].value; }
  }
  var textareas = row.getElementsByTagName('textarea');
  for (i=0; i < textareas.length; i++) {
      if (textareas[i].getAttribute('name')) { url += "\&" + textareas[i].getAttribute('name') + "\=" + textareas[i].value.replace(/\n/gi,"<br />"); }
  }
  if (cancel == "cancel") url += "&cancel=true";
  ahahPHP(url, row.id);
}

function addToEvent(x) {
	var student = x;
	var options = x.getElementsByTagName('option');
	var student_list = x.parentNode.getElementsByTagName('ul')[0];
	if (student_list.innerHTML.match(student.value)) {
		alert("Can't add student twice");
		return;
	}
	var li = document.createElement('li');
	li.appendChild(document.createTextNode(options[x.selectedIndex].text));
	var input = document.createElement('input');
	input.setAttribute("type", "hidden");
	input.setAttribute("name", "student[]");
	input.setAttribute("value", student.value);
	li.appendChild(input);
	var a = document.createElement('a');
	a.setAttribute("href", "#");
	a.onclick = function() {removeFromEvent(this); return false;};
	a.appendChild(document.createTextNode('Remove Student'));
	li.appendChild(a);
	
	student_list.appendChild(li);
}

function removeFromEvent(x) {
	x.parentNode.parentNode.removeChild(x.parentNode);
}
