/**
 * Initialize event list display
 */
function initEventList() {
  var maxHeight = 0;
  $('div.eventlist').height(function(index, height) {
    maxHeight = (height > maxHeight) ? height : maxHeight;
  });
  $('div.eventlist').height(maxHeight);
  $('div.eventlist div.tableholder').height(maxHeight);
  $('#program_win').height(maxHeight+15);
  $('.shadow_left').height(maxHeight+60);
  $('.shadow_right').height(maxHeight+60);
}
/**
 * Open the event detail popup
 */
function showEventDetail(id) {
  // fill in details
  var event = itemDefinitions['event'][id];
  $('#detailTitle').html(event.title);
  $('#detailTime').html(event.startTime+" - "+event.endTime);
  $('#detailVenue').html(event.venue);
  $('#detailOrganizer').html(event.organizer);
  $('#detailSpeaker').html(event.speaker);
  var categoryStr = '';
  for (var i=0; i<event.categories.length; i++) {
    categoryStr += event.categories[i]+'<br />';
  }
  $('#detailCategory').html(categoryStr);
  $('#detailDescription').html(event.description);
  if (event.documents.length > 0) {
    var documentStr = 'Downloads:<br />';
    for (var i=0; i<event.documents.length; i++) {
      documentStr += '<a href="'+event.documents[i]+'" target="_blank">'+event.documents[i].replace('media/events/', '')+'</a><br />';
    }
    $('#detailDocuments').html(documentStr);
    $('#detailDocuments').show();
  }
  else {
    $('#detailDocuments').hide();
  }
  if (event.images.length > 0)
  {
    var imageStr = '';
    for (var i=0; i<event.images.length; i++) {
      imageStr += '<img src="'+event.images[i]+'" width="330" alt="" /><br />';
    }
    $('#detailImages').html(imageStr);
    $('#imageDetail').show();
  }
  else {
    $('#imageDetail').hide();
  }
  // toggle add/remove event link
  if (hobit.myHobit.containsItem('event', event.id, event.dateKey)) {
    setMyHobitAddRemove('remove');
  }
  else {
    setMyHobitAddRemove('add');
  }
  // set add/remove links
  $("#addEvent").attr('href', 'javascript:hobit.myHobit.addItem(\'event\', \''+event.id+'\', \''+event.dateKey+'\'); setMyHobitAddRemove(\'remove\');');
  $("#removeEvent").attr('href', 'javascript:hobit.myHobit.removeItem(\'event\', \''+event.id+'\', \''+event.dateKey+'\'); setMyHobitAddRemove(\'add\');');
  // position and show dialogue
  $('#eventDetailDlg').css('marginTop', $(window).scrollTop() + "px");
  $('#eventDetailDlg').jqm().jqmShow();
}
/**
 * Display the add event or remove event link at bottom of detail dialogue
 */
function setMyHobitAddRemove(state) {
  if (state == 'add') {
    $('#removeEvent').hide();
    $('#addEvent').show();
    $('#detailDescription').removeClass('yellow');
    $('.footer').removeClass('yellow');
  }
  else {
    $('#removeEvent').show();
    $('#addEvent').hide();
    $('#detailDescription').addClass('yellow');
    $('.footer').addClass('yellow');
  }
}

/**
 * Functions for the event list display
 */
var selectedCategoryId = null;
function selectListDate(date) {
  $('.eventlist').hide();
  $('#eventlist_'+date).show();
  $('.infoboothlist').hide();
  $('#infoboothlist_'+date).show();

  // modify link class
  $('a[class*="date_"]').removeClass('active').addClass('grey');
  $('a[class*="date_'+date+'"]').removeClass('grey').addClass('active');

  // update category list
  selectListCategory(date, selectedCategoryId);
}
function selectListCategory(date, categoryId) {
  $('.infoboothcatlist').hide();
  $('#infoboothcatlist_'+date+'_'+categoryId).show();

  // modify link class
  $('a[class*="cat_"]').removeClass('active').addClass('black');
  $('a[class*="cat_'+categoryId+'_"]').removeClass('black').addClass('active');

  // move arrow
  $('.infoboothlist li').removeClass('active');
  $('a[class*="cat_'+categoryId+'_"]').parent().addClass('active');

  selectedCategoryId = categoryId;
}


/**
 * Event search form helper functions
 */
function categoryClicked(element, name) {
  if (element.value == 'allCategories')
    setOptions(name, element.checked);
  else if (name == 'categories[]')
    setOption('allCategories', 'allCategories', false);
}
function setOptions(name, /*boolean*/ isChecked) {
  for (i=0; i<document.Suche2.length; i++) {
    var curElement = document.Suche2.elements[i];
    if (curElement.name == name)
      curElement.checked = isChecked;
  }
}
function setOption(name, value, /*boolean*/ isChecked) {
  for (i=0; i<document.Suche2.length; i++) {
    var curElement = document.Suche2.elements[i];
    if (curElement.name == name && curElement.value == value)
      curElement.checked = isChecked;
  }
}
