/**
 odeslání XMLHttp požadavku
 @param function obsluha funkce zajišťující obsluhu při změně stavu požadavku, dostane parametr s XMLHttp objektem
 @param string method GET|POST|... @param string url URL požadavku @param string [content] tělo zprávy
 @param array [headers] pole předaných hlaviček ve tvaru { 'hlavička': 'obsah' }
 @return bool true v případě úspěchu, false jinak
*/ 
function send_xmlhttprequest(obsluha, method, url, content, headers) {
 var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
 if (!xmlhttp) {
   return false;
 }
 xmlhttp.open(method, url);
 xmlhttp.onreadystatechange = function() {
   obsluha(xmlhttp);
 };
 if (headers) {
   for (var key in headers) {
     xmlhttp.setRequestHeader(key, headers[key]);
   } 
 }
 xmlhttp.send(content);
 return true;
}

function set_pupils(id) {
 var data = document.getElementById('pupils');

 // odstrani puvodni hodnoty
 for (var i=0; i < data.length; i++) {
   data.remove(i);
 }

 // odeslání požadavku na aktualizaci dat
 if (!send_xmlhttprequest(pupils_data, 'GET', '/school/ajax_pupils.php?id=' + id)) {
   return false;
 }
 return true;
}

function pupils_data(xmlhttp) {
  if (xmlhttp.readyState == 4) {
    // aktualizace odpovědí na základě aktuálního stavu
    var data = xmlhttp.responseXML.getElementsByTagName('data');
    for (var i=0; i < data.length; i++) {
	  add_option('pupils', data[i].getAttribute('id'), data[i].firstChild.data);
    }
  }
}

function add_option(twhat, svalue, sname) {
  var what = document.getElementById(twhat);
  
  if (document.all) {
    var arg1 = what.length;
  } else {
    var arg1 = null;
  }

  var no = new Option();
  no.value = svalue;
  no.text = sname;
  what.add(no, arg1);
}
