function changeStatusHelp(){
  if (document.getElementById('meetingstatus').value=='open'){
    document.getElementById('mshopen').style.display = 'inline';
    document.getElementById('mshclosed').style.display = 'none';
  }else{
    document.getElementById('mshopen').style.display = 'none';
    document.getElementById('mshclosed').style.display = 'inline';
  }
}
function changeVisibleHelp(){
  if (document.getElementById('meetingvisible').value=='Y'){
    document.getElementById('mvhopen').style.display = 'inline';
    document.getElementById('mvhclosed').style.display = 'none';
  }else{
    document.getElementById('mvhopen').style.display = 'none';
    document.getElementById('mvhclosed').style.display = 'inline';
  }
}

function checkInput(){
  return true;
}

function updateFields(){
  updateDateField();
  updateLocationField();
  updateTodoField();
}

function addDate(inputboxje){
  var insertDate = document.getElementById(inputboxje);
  if (insertDate.value == ''){ return; }
  
  if (!is_valid_date(insertDate.value)){
    alert("'"+insertDate.value+"' is geen geldige datum.\nDatum moet in het formaat YYYY-MM-DD zijn!");
    insertDate.focus();
    return false;
  }

  var selectdatums = document.getElementById('selectdatums');
  for(var i=0; i<selectdatums.options.length; i++){
    if (selectdatums.options[i].value == insertDate.value){
      alert("De datum '"+insertDate.value+"' stond al in het lijstje.");
      insertDate.value='YYYY-MM-DD';
      insertDate.focus();
      return false;
    }
  }
  
  var newdate = document.createElement('option');
  newdate.text = insertDate.value;
  newdate.value = insertDate.value;
  
  try {
    selectdatums.add(newdate,null);
  }catch(e){
    selectdatums.add(newdate); // IE hack
  }
  insertDate.value = 'YYYY-MM-DD';
}

function delDate(){
  var selectdatums = document.getElementById('selectdatums');
  for (var i = (selectdatums.length-1); i>=0; i--) {
    if (selectdatums.options[i].selected) {
      selectdatums.remove(i);
    }
  }
}

function updateDateField(){
  var datums = document.getElementById('datums'); 
  var selectdatums = document.getElementById('selectdatums');
  var tmp = '';
  for (var i = 0; i<=(selectdatums.length-1); i++) {
    tmp += selectdatums.options[i].value + ';';
  }
  datums.value = tmp;
}

function addLocation(){
  var insertLocation = document.getElementById('newlocation');
  if (insertLocation.value == ''){ return; }
  
  var selectlocations = document.getElementById('selectlocations');
  for(var i=0; i<selectlocations.options.length; i++){
    if (selectlocations.options[i].value == insertLocation.value){
      alert("De locatie '"+insertLocation.value+"' stond al in het lijstje.");
      insertLocation.focus();
      return false;
    }
  }
  
  var newlocation = document.createElement('option');
  newlocation.text = insertLocation.value;
  newlocation.value = insertLocation.value;
  
  try {
    selectlocations.add(newlocation,null);
  }catch(e){
    selectlocations.add(newlocation); // IE hack
  }
  insertLocation.value = 'Nieuwe locatie';
}

function delLocation(){
  var selectlocations = document.getElementById('selectlocations');
  for (var i = (selectlocations.length-1); i>=0; i--) {
    if (selectlocations.options[i].selected) {
      selectlocations.remove(i);
    }
  }
}

function updateLocationField(){
  var locations = document.getElementById('locations'); 
  var selectlocations = document.getElementById('selectlocations');
  var tmp = '';
  for (var i = 0; i<=(selectlocations.length-1); i++) {
    tmp += selectlocations.options[i].value + ';';
  }
  locations.value = tmp;
}

function addTodo(){
  var insertTodo = document.getElementById('newtodo');
  if (insertTodo.value == ''){ return; }
  
  var selecttodos = document.getElementById('selecttodos');
  for(var i=0; i<selecttodos.options.length; i++){
    if (selecttodos.options[i].value == insertTodo.value){
      alert("De activiteit '"+insertTodo.value+"' stond al in het lijstje.");
      insertTodo.focus();
      return false;
    }
  }
  
  var newtodo = document.createElement('option');
  newtodo.text = insertTodo.value;
  newtodo.value = insertTodo.value;
  
  try {
    selecttodos.add(newtodo,null);
  }catch(e){
    selecttodos.add(newtodo); // IE hack
  }
  insertTodo.value = 'Nieuwe activiteit';
}

function delTodo(){
  var selecttodos = document.getElementById('selecttodos');
  for (var i = (selecttodos.length-1); i>=0; i--) {
    if (selecttodos.options[i].selected) {
      selecttodos.remove(i);
    }
  }
}

function updateTodoField(){
  var todos = document.getElementById('todos'); 
  var selecttodos = document.getElementById('selecttodos');
  var tmp = '';
  for (var i = 0; i<=(selecttodos.length-1); i++) {
    tmp += selecttodos.options[i].value + ';';
  }
  todos.value = tmp;
}

function gotoListURL(dateselect, key){
  if (!key) key = "";
  var timestamp = dateselect.options[dateselect.selectedIndex].value;
  this.location.href = BASE_URL + '/' + MEETING_ID + '/admin/list/' + timestamp + key;
}

function show_hide(id,hidething){
  hidething.style.display = 'none';
  textding = document.getElementById(id);
  textding.style.display = 'block';
  textding.focus();
  textding.select();
}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function is_valid_date(datum){
  var date_part = datum.split('-');
  if (date_part.length!=3){
    return false;
  }
  if (date_part[0].length!=4 || date_part[1].length!=2 || date_part[2].length!=2){
    return false;
  }
  
  var jaar = parseInt(y2k(date_part[0]),10);
  var maand = parseInt(date_part[1],10)-1;
  var dag = parseInt(date_part[2],10);

  try {
    var tmp_date = new Date(jaar,maand,dag);
    if ((y2k(tmp_date.getYear())==jaar) &&
       (tmp_date.getMonth()==maand) &&
       (tmp_date.getDate()==dag)){
      return true;
    }else{
      return false;
    }
  }catch(e){
    return false;
  }
  return false;
}

