 /**
  * Silbentrennung starten
  */
Hyphenator.config({
	displaytogglebox : false,
	minwordlength : 4,
	onerrorhandler : function (e) { /* do nothing */ }
});

Hyphenator.run();
	
/**
 * Verlustrechner
 */

// Hauptfunktion für Renditeberechnung
function showRevenue() {
	var refExchange = document.getElementById('exchange');
	var refYield = document.getElementById('yield');
	var refResult = document.getElementById('result');
	var refWastage = document.getElementById('wastage');
	var refMinimizedResult = document.getElementById('minimizedResult');
//	var refMoreExchange = document.getElementById('moreExchange');
	var refResultSummary = document.getElementById('resultSummary');
	var refTotalMoreExchange = document.getElementById('totalMoreExchange');
	
	var yield = parseFloat(refYield.value);
	var wastage = parseFloat(refWastage.value);
	var exchange = parseFloat(refExchange.value);
	var wastagePercent = yield-wastage;	

	var result = parseFloat(calculateRevenue(exchange, yield));
	
	if (!isNaN(result)) {
		var roundedResult = roundPercent(result);
		refResult.innerHTML = roundedResult;
		refResultSummary.innerHTML = roundedResult;
		
		// Falls Forderungsausfall berechnet werden kann
		if (wastage) {
			var minimizedResult = calculateRevenue(exchange, wastagePercent);
			if (minimizedResult) {
				refMinimizedResult.innerHTML = roundPercent(minimizedResult);
			} else {
				refMinimizedResult.innerHTML = '--';
			}

			// Benötigter Mehrumsatz
			if (minimizedResult && minimizedResult) {
				var newPercent = roundPercent(yield / wastagePercent);
//				refMoreExchange.innerHTML = roundPercent(exchange * newPercent - exchange);
				refTotalMoreExchange.innerHTML = roundPercent(exchange * newPercent)+'&nbsp;€';
			}
		}

	} else {
		refResult.innerHTML = '--';
	}
}

// Rendite berechnen
function calculateRevenue(exchange, yield) {
	return exchange / 100 * yield;
}

/**
 * Verringerten Gewinn berechnen
 *
 * @param revenue number Gewinnsumme, Ganzzahl
 * @param wastage number Prozent
 */
 /* 
function calculateMinimizedRevenue(revenue, wastage) {
	var wastageRounded = roundPercent(parseFloat(wastage));
	return roundPercent(revenue - revenue * wastage / 100);
}
*/
/**
 * roundPercent
 * Rundet auf zwei Stellen hinter dem Komma
 *
 * @param number float/integer Zahl, die auf zwei Stellen hinter dem Komma gerundet werden soll
 * @return float
 */
function roundPercent(number) {
	number = parseInt(number*100)/100;
	return number.toFixed(2)
}


/**
 * function activateSlider()
 * aktiviert einen angeklickten Reiter
 *
 * @param sliderID string ID des zu aktivierenden Reiters
 * @param toogleSliderID object IDs aller Slider, die ausgeblendet werden sollen als JSON-Objekt
 * @return float
 */
function activateSlider(sliderID, toogleSliderID, contentID, toogleContentID) {
	
	// Reiter aktivieren
	refActiveSlider = document.getElementById(sliderID);
	if (refActiveSlider != undefined) {
		refActiveSlider.className = 'sliderActive';
		refActiveSlider.blur();
	}
	
	// andere Reiter deaktivieren
	for (el in toogleSliderID) {
		refSliderInActive = document.getElementById(toogleSliderID[el]);
		if (refSliderInActive != undefined) {
			refSliderInActive.className = 'sliderInActive';
		}
	}

	// Content aktivieren
	refActiveContent = document.getElementById(contentID);
	if (refActiveContent != undefined) {
		refActiveContent.style.display = 'block';
	}
	
	// anderen Content deaktivieren
	for (el in toogleContentID) {
		refContentInActive = document.getElementById(toogleContentID[el]);
		if (refContentInActive != undefined) {
			refContentInActive.style.display = 'none';
		}
	}
}
	
