
/*****************************************************************

  AccessKeys highlighting routines
  =================================


******************************************************************/



function highlightUnderlined(tag, className) {
  var elements = document.getElementsByTagName(tag);
  for (var i=0; i<elements.length; i++) {
    var elements2 = elements[i].getElementsByTagName('u');
    if (elements2[0]) {
      //elements2[0].style.backgroundColor = colour;
      elements2[0].className = className;
    }
  }
}

function showAccessKeys(event) {
  if (!event) event = window.event;
  if (event.altKey) {
    highlightUnderlined('a', 'highlighted');
    highlightUnderlined('button', 'highlighted');
  }
}

function hideAccessKeys(event) {
  if (!event) event = window.event;
  highlightUnderlined('a', '');
  highlightUnderlined('button', '');
}


function onResize() {
  /*
  var el = document.getElementById('main');
  if (el.clientWidth > 775) {
    document.getElementById('adblockA').style.display = 'block';
    if (el.clientHeight > 500) {
      document.getElementById('adblockAA').style.display = 'block';
    }
    else {
      document.getElementById('adblockAA').style.display = 'none';
    }
  }
  else {
    document.getElementById('adblockA').style.display = 'none';
  }
  */
}



/**************************************************************************
   ajaxXMLRequest class
   ====================

This is a wrapper round the XMLHttpRequest object

example usage:

  xml1 = new ajaxXMLRequest('test.xml');
  xml1.onReady = function(sender)
  {
   alert('OK' + sender.xml.toString());
  }
  xml1.Get();

***************************************************************************/

function ajaxXMLRequest(url)  //constructor
{
 // properties
 this.url = url;
 this.xml = null;

 // event handlers
 this.onReady = null;
}

ajaxXMLRequest.prototype.Get = function()
{
 var sender = this;
 var request;
 if (typeof XMLHttpRequest != 'undefined')
 {
  request =  new XMLHttpRequest();
 }
 else
 {
  try
  {
   request = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch (e)
  {
   try
   {
    request = new ActiveXObject("Microsoft.XMLHTTP");
   }
   catch (e)
   {
    request = false;
   }
  }
 }
 request.open("GET",this.url,true);
 request.onreadystatechange = function()
   {
    if (request.readyState==4)
    {
     //alert(request.responseText);
     //alert(request.responseXML);
     sender.xml = request.responseXML;
     sender.onReady(sender);
    }
   }
 request.send(null);
}

ajaxXMLRequest.prototype.toString = function()
{
 return "[object ajaxXMLRequest]";
}


var courtsXML = "";


function courtRegionChanged() {

  function fillCourtNames() {
    courts =  courtsXML.getElementsByTagName("court");
    var el = document.getElementById('courtName');
    el.options.length = 0;
    el.options[el.options.length] = new Option("", "", false, false);
    for (var i=0; i<courts.length; i++) {
      r = courts[i].getAttribute('region');
      
      if ((region =="Z")||(r == region)) {
        el.options[el.options.length] = new Option(courts[i].getAttribute('name'),courts[i].getAttribute('id'), false, false);
      }
    }
  }

  region = document.getElementById('courtRegion').value;
  //alert(region);
  document.getElementById('courtName').disabled = true;
  
  if (region != "") {
    if (courtsXML == "") {
      status = "Loading data ...";
      document.getElementById('main').style.cursor = "wait";
      xml1 = new ajaxXMLRequest('xml/courts.xml');
      xml1.onReady = function(sender)
      {
       //alert('OK' + sender.xml.toString());
       courtsXML =  sender.xml;
       fillCourtNames();
       document.getElementById('courtName').disabled = false;
       document.getElementById('main').style.cursor = "default";
       status = "";
      }
      xml1.Get();
    }
    else {
      fillCourtNames();
      document.getElementById('courtName').disabled = false;
    }
  }
  return '';
}


