function toggleMenuCategories(imageId, id1, id2, id3)
{
  var image = document.getElementById('image_'+imageId);
  var mcArray = menuCategories.split('');

  if(image.src.indexOf('plus.gif') > 0)
  {
    // Cookie-Feld im Array anpassen
    mcArray[parseInt(imageId)] = 1;
    image.src = 'images/minus.gif';
    document.getElementById('mc_'+id1).style.display = '';
    document.getElementById('mc_'+id2).style.display = '';
    document.getElementById('mc_'+id3).style.display = '';
  }
  else
  {
    // Cookie-Feld im Array anpassen
    mcArray[parseInt(imageId)] = 0;
    image.src = 'images/plus.gif';
    document.getElementById('mc_'+id1).style.display = 'none';
    document.getElementById('mc_'+id2).style.display = 'none';
    document.getElementById('mc_'+id3).style.display = 'none';
  }

  // Cookie zusammenbauen
  menuCategories = '';
  for (var i = 0; i < mcArray.length; i++)
  {
    menuCategories += mcArray[i];
  }

  // Cookie setzen
  var expire = new Date();
  expire.setTime(expire.getTime() + 31536000);
  document.cookie = "GNC_MENU="+menuCategories+"; expires=" + expire.toGMTString();
}

function toggleMenuCategory(id)
{
  if(document.getElementById('mc_'+id).style.display == '')
  {
    showHideMenuCategory(id, false);
  }
  else
  {
    showHideMenuCategory(id, true);
  }
}

function showHideMenuCategory(id, status)
{
  var mc_id = 'mc_'+id;       // menu category
  var image_id = 'image_'+id; // plus/minus icon

  var mcArray = menuCategories.split('');

  if(status)
  {
    // Cookie-Feld im Array anpassen
    mcArray[parseInt(id)] = 1;
    document.getElementById(mc_id).style.display = '';
    document.getElementById(image_id).src = 'images/minus.gif';
  }
  else
  {
    // Cookie-Feld im Array anpassen
    mcArray[parseInt(id)] = 0;
    document.getElementById(mc_id).style.display = 'none';
    document.getElementById(image_id).src = 'images/plus.gif';
  }

  // Cookie zusammenbauen
  menuCategories = '';
  for (var i = 0; i < mcArray.length; i++)
  {
    menuCategories += mcArray[i];
  }

  // Cookie setzen
  var expire = new Date();
  expire.setTime(expire.getTime() + 31536000);
  document.cookie = "GNC_MENU="+menuCategories+"; expires=" + expire.toGMTString();
}


function toggleFaq(id, single)
{
  if(single)
  {
    //show only one Q+A at a time
    toggleAll(false);
    showHideFaq(id, true);
  }
  else
  {
    //open as many Q+A as you like
    if(document.getElementById('antwort_'+id).style.display == 'table')
    {
      showHideFaq(id, false);
    }
    else
    {
      showHideFaq(id, true);
    }
  }
}

/**
 * shows or hides a FAQ item at a time depending on the given status
 *
 * @param id the id of the FAQ item to hide or show
 * @param status true to show the item, false to hide it
 */
function showHideFaq(id, status)
{
  var faq_id = 'antwort_'+id; //answer
  var image_id = 'image_'+id; // plus/minus icon

  if(status)
  {
    document.getElementById(faq_id).style.display = 'table';
    document.getElementById(image_id).src = 'images/minus.gif';
  }
  else
  {
    document.getElementById(faq_id).style.display = 'none';
    document.getElementById(image_id).src = 'images/plus.gif';
  }
}

/**
 * shows or hides all FAQ items with one click
 *
 * @param mode true to show the items, false to hide them
 */
function toggleAll(mode, count)
{
  for(i = 0; i < count; i++)
  {
    showHideFaq(i+1, mode);
  }
}

function toggleItem(id, prefix)
{
  var item_id = prefix+'_item_'+id;    // item which has to be toggled
  var image_id = prefix+'_image_'+id; // plus/minus icon

  var itemElement = document.getElementById(item_id);

  if (itemElement.style.display != 'none')
  {
    itemElement.style.display = 'none';
    document.getElementById(image_id).src = 'images/plus.gif';
  }
  else
  {
    itemElement.style.display = 'table';
    document.getElementById(image_id).src = 'images/minus.gif';
  }
}