function TicketListCallback(item, element) {
  var Error = item.getElementsByTagName('error');
  if(Error.length != 0) {
    alert(Error[0].attributes.getNamedItem('value').value);
  } else {
    var Data = item.getElementsByTagName('ticket');
    var Output = document.getElementById(element);
    if(Data.length != 0) {
      var outputtable = "<table>\r\n";
      for(j = 0; j < Data.length; j++) {
        outputtable += "  <tr>\r\n";
        outputtable += "    <td><a class=\"hiddenlink\" onclick=\"display('" + Data[j].attributes.getNamedItem('firstname').value + "', '"+  Data[j].attributes.getNamedItem('lastname').value + "', '"+  Data[j].attributes.getNamedItem('gender').value + "', '" +  Data[j].attributes.getNamedItem('age').value + "', '"+ Data[j].attributes.getNamedItem('entrantnumber').value + "', '" + element +"')\">" + Data[j].attributes.getNamedItem('firstname').value + " " + Data[j].attributes.getNamedItem('lastname').value+ "</a></td>\r\n";
        outputtable += "    <td>" + Data[j].attributes.getNamedItem('relation').value+ "</td>\r\n";
        outputtable += "    <td>" + Data[j].attributes.getNamedItem('gender').value+ "</td>\r\n";
        outputtable += "    <td>" + Data[j].attributes.getNamedItem('age').value+ "</td>\r\n";
        outputtable += "  </tr>\r\n";
      }
      outputtable += "</table>\r\n";
      if(Data.length > 1) {
        Output.innerHTML = outputtable;
        Output.style.display = "block";
      } else {
        j = 0;
        display(Data[j].attributes.getNamedItem('firstname').value, Data[j].attributes.getNamedItem('lastname').value, Data[j].attributes.getNamedItem('gender').value, Data[j].attributes.getNamedItem('age').value, Data[j].attributes.getNamedItem('entrantnumber').value, element);
      }
    } else {
      Output.innerHTML = "<p>Ticket not in the system.</p>\r\n";
    }
  }
}

function display(firstname, lastname, gender, age, entrantnumber, element) {
  document.getElementById("firstname").value=firstname;
  document.getElementById("lastname").value=lastname;
  document.getElementById("gender").value=gender;
  document.getElementById("age").value=age;
  document.getElementById("entrantnumber").value=entrantnumber;
  var list = document.getElementById(element);
  list.style.display = "none";
  doAjax('/ajax/getFish.php', 'entrant='+entrantnumber, 'FishListCallback', 'get', '1', 'lastfish', '1')
}

function FishListCallback(item, element) {
  var Error = item.getElementsByTagName('error');
  var Output = document.getElementById('lastfish');
  if(Error.length != 0) {
    alert(Error[0].attributes.getNamedItem('value').value);
    Output.innerHTML = "";
  } else {
    var FishData = item.getElementsByTagName('fish');
    if(FishData.length != 0) {
      var ot = "<table>\r\n";
      ot += "<tr><th>Date</th><th>Weight</th><th>Category</th></tr>\r\n"
      for(k = 0; k < FishData.length; k++) {
        ot += "<tr>\r\n";
        ot += "  <td>" + FishData[k].attributes.getNamedItem('date').value+ "</td>\r\n";
        ot += "  <td>" + FishData[k].attributes.getNamedItem('weight').value+   " lbs</td>\r\n";
        ot += "  <td>" + FishData[k].attributes.getNamedItem('category').value + " -- " + FishData[k].attributes.getNamedItem('subcategory').value+ "</td>\r\n";
        ot += "</tr>\r\n";
      }
      ot += "</table>\r\n";
      Output.innerHTML = ot;
    } else {
      Output.innerHTML = "No fish yet caught";
    }
  }
}

function TicketOwnerCallback(item, element) {
  var Error = item.getElementsByTagName('error');
  var Output = document.getElementById(element);
  if(Error.length != 0) {
    alert(Error[0].attributes.getNamedItem('value').value);
  } else {
    var Data = item.getElementsByTagName('ticket');
    if(Data.length != 0) {
      for(k = 0; k < Data.length; k++) {
        Output.purchasedate.value=Data[k].attributes.getNamedItem('purchasedate').value;
        Output.firstname.value=Data[k].attributes.getNamedItem('firstname').value;
        Output.lastname.value=Data[k].attributes.getNamedItem('lastname').value;
        Output.address.value=Data[k].attributes.getNamedItem('address').value;
        Output.city.value=Data[k].attributes.getNamedItem('city').value;
        Output.postalcode.value=Data[k].attributes.getNamedItem('postalcode').value;
        Output.telephone.value=Data[k].attributes.getNamedItem('telephone').value;
        setSelect(Output, "ticketclass", Data[k].attributes.getNamedItem('class').value);
        setSelect(Output, "weighstation", Data[k].attributes.getNamedItem('weighstation').value);
        setSelectByValue(Output, "province", Data[k].attributes.getNamedItem('province').value);
        setRadioButton(Output, "relation", Data[k].attributes.getNamedItem('relation').value);
        setRadioButton(Output, "gender", Data[k].attributes.getNamedItem('gender').value);
        setSelectByValue(Output, "age", Data[k].attributes.getNamedItem('age').value);
      }
    }
  }
}

function TicketClassCallback(item, element) {
  var Error = item.getElementsByTagName('error');
  var Output = document.getElementById(element);
  if(Error.length != 0) {
   alert(Error[0].attributes.getNamedItem('value').value);
  } else {
    var Data = item.getElementsByTagName('class');
    if(Data.length != 0) {
      for(k = 0; k < Data.length; k++) {
        setSelectByValue(Output, "ticketclass", Data[k].attributes.getNamedItem('code').value);
      }
    }
  }
}

function setchild() {
  var Output = document.getElementById("ticketform");
  setSelect(Output, "age", "Junior");
}

function setAdult() {
  var Output = document.getElementById("ticketform");
  setSelect(Output, "age", "Adult");
}

function setRadioButton(formName, nameName, value) {
  var rb = formName[nameName];
  for(rbc = 0; rbc < rb.length; rbc++) {
    if(rb[rbc].value == value) rb[rbc].checked = true;
    else rb[rbc].checked = false;
  }
}

function setSelect(formName, nameName, value) {
  var s = formName[nameName].options;
  for(sc = 0; sc < s.length; sc++) {
    if(s[sc].text == value) s[sc].selected = true;
    else s[sc].selected = false;
  }
}

function setSelectByValue(formName, nameName, value) {
  var s = formName[nameName].options;
  for(sc = 0; sc < s.length; sc++) {
    if(s[sc].value == value) s[sc].selected = true;
    else s[sc].selected = false;
  }
}

function setCheckbox(formName, nameName, value) {
  var s = formName[nameName];
  if(value == 1) s.checked = true;
  else s.checked = false;
}


