 
/**
 * toggle a menu section 
 * todo ? should any selected menu in a hidden section be unselected?  
 */
function toggle_menu_section(sectionName) {
	var toggleObj = document.getElementById('menusection_' + sectionName);
 	var destButton = document.getElementById('togglesection_' + sectionName);
 	if(toggleObj.style.display) {
 		toggleObj.style.display = '';
 	 	destButton.innerHTML = toggleTxtClose;
 	 	destButton.className = 'shown';
 	} else {
 	 	toggleObj.style.display = 'none';     
 	 	destButton.innerHTML = toggleTxtOpen; 
 	 	destButton.className = 'hidden';
 	}
}
 
/**
 * select a menu option 
 */
function select_menu_option() {
	selMenuId = radio_selectedValue(document.forms.cateringForm.selMenu);
	var menuData = cfgOptions[selMenuId];
	selSection = menuData['section'];
	priceMenu = menuData['price'];
	//alert('menu_id: ' + selMenuId + ' - section: ' + selSection + ' - price: ' + priceMenu);
	document.getElementById('outputMenuTitle').innerHTML  = menuData['title']; 
	document.getElementById('outputMenuPrice').innerHTML  = convertToEuroOutput(priceMenu, 2, ' &euro; ' + txtPerPerson); 
	calcTotal();
}
/**
 * select a canape option 
 */
function select_canape_option() {
	selCanapeId = radio_selectedValue(document.forms.cateringForm.selCanape);
	var canapeData = cfgOptions[selCanapeId];
	priceCanape = canapeData['price'];
	////alert('canape_id: ' + selCanapeId + ' - price: ' + priceCanape);
	document.getElementById('outputCanapeTitle').innerHTML  = canapeData['title']; 
	document.getElementById('outputCanapePrice').innerHTML  = convertToEuroOutput(priceCanape, 2, ' &euro; ' + txtPerPerson); 
	calcTotal();
}
/**
 * select a drinks option 
 */
function select_drink_option() {
	selDrinksId = radio_selectedValue(document.forms.cateringForm.selDrink); 
	var drinksData = cfgOptions[selDrinksId];
	priceDrinks = drinksData['price'];
	////alert('drinks_id: ' + selDrinksId + ' - price: ' + priceDrinks); 
	document.getElementById('outputDrinksTitle').innerHTML  = drinksData['title']; 
	document.getElementById('outputDrinksPrice').innerHTML  = convertToEuroOutput(priceDrinks, 2, ' &euro; ' + txtPerPerson);  
	calcTotal();
}

/**
 * recalculate the total price and print it 
 * There is a base fee for waiters etc added: 
 * @var priceWaiter
 */
function calcTotal() {
	var pax = parseInt(document.forms.cateringForm.pax.value);
	if(pax > 0 && (selMenuId || selCanapeId || selDrinksId))	{
		priceTotal = pax*priceWaiter;
		priceTotal += priceMenu ? (pax*priceMenu) : 0;
		priceTotal += priceCanape ? (pax*priceCanape) : 0;
		priceTotal += priceDrinks ? (pax*priceDrinks) : 0;
		////alert('total price ('+pax+' pax = '+priceTotal+' -- priceMenu: '+priceMenu+' -- priceCanape: '+priceCanape+' -- priceDrinks: '+priceDrinks+' -- waiter: '+priceWaiter+')');
	} else {
		////alert('no totals calculated! pax: '+pax);
		priceTotal = '';
	}
	document.getElementById('outputTotalPrice').innerHTML = priceTotal ? convertToEuroOutput(priceTotal, 2, ' &euro;') : ''; 
}
