// JavaScript Document
/*
Rampenrechner zur Berechnung der benötigten Rampenlängei n Meerschweinchengehegen
sowie den benötigten Platz, um die Rampe einzuhängen

Größenrechner zur Bestimmung der optimalen/ maximalen Anzahl von Meerschweinchen im
Gehege

author: nca
date: 10/2009
version: 0.1
*/
var steilR = 0;
var normR = 0;
var flachR = 0;

var steilB = 0;
var normB = 0;
var flachB = 0;

var schweins = 0;

function rampe() {
	var h = document.getElementById("Eingabe").value;
	h = h.replace(',', '.');
	//Rampenlaenge	
	steilR = h*1.6;
	normR = h*2.3;
	flachR = h*3;
	//Platzbedarf 
	steilB = Math.sqrt(steilR*steilR-h*h);
	normB = Math.sqrt(normR*normR-h*h);
	flachB = Math.sqrt(flachR*flachR-h*h);
	
	//Formatierung
	steilR = Math.round(steilR) + ' cm ';
	normR = Math.round(normR) + ' cm ';
	flachR = Math.round(flachR) +  ' cm';
	steilB = Math.round(steilB) + ' cm ';
	normB = Math.round(normB) + ' cm ';
	flachB = Math.round(flachB) + ' cm ';
	
	//Ausgabe
	document.getElementById("steil").innerHTML = steilR;
  	document.getElementById("norm").innerHTML = normR;
  	document.getElementById("alt").innerHTML = flachR;
	document.getElementById("steilP").innerHTML = steilB;
  	document.getElementById("normP").innerHTML = normB;
  	document.getElementById("altP").innerHTML = flachB;
}

function besatz() {
	schweins = 0;
	var hinweis = "";
	var ausE = 0;
	var hinJa = false;
	var c;
	var d;
	//Prüfung
	var a = document.getElementById("GrundL").value.replace(',', '.');
	var b = document.getElementById("GrundB").value.replace(',', '.');
	//Grundfläche
	var grundA = a/100;
	var grundB = b/100;

	var ausG = grundA*grundB;
	
	if(grundA < 1.8 && grundB < 1.8) {
		hinweis = "Deine Tiere haben keine Rennstrecke. "
		hinweis += "Vielleicht kannst du einen Auslauf vor das Gehege bauen?"; 
		hinJa = true;
	}
	
	schweins += grund(grundA, grundB);
	
	//Ebenen 1 bis 4
	
	c = document.getElementById("E1L").value.replace(',', '.');
	d = document.getElementById("E1B").value.replace(',', '.');
	
	if(c > 0) {
		
		var c1 = c/100;
		var d1 = d/100;
		
		if((c1 >= 1.4 && d1 >= 0.6) || (d1 >= 1.4 && c1 >= 0.6)){ 
			schweins += grund(c1, d1);
			ausG += c1*d1;
		}
		else {
			schweins += ebene(c1, d1);
			ausE += c1*d1;
		}
		if(c1 >= 1.8 || d1 >= 1.8) hinJa = false;
		c = 0;
	}
	
	c = document.getElementById("E2L").value.replace(',', '.');
	d = document.getElementById("E2B").value.replace(',', '.');	
	
	if(c > 0) {
		
		var c2 = c/100;
		var d2 = d/100;
		
		if((c2 >= 1.4 && d2 >= 0.6) || (d2 >= 1.4 && c2 >= 0.6 )) {
			schweins += grund(c2, d2);
			ausG += c2*d2;
		}
		else {
			schweins += ebene(c2, d2);
			ausE += c2*d2;
		}
		if(c2 >= 1.8 || d2 >= 1.8) hinJa = false;
		c = 0;
	}
	
	c = document.getElementById("E3L").value.replace(',', '.');
	d = document.getElementById("E3B").value.replace(',', '.');
	
	if(c > 0) {		
		var c3 = c/100;
		var d3 = d/100;
		
		if((c3 >= 1.4 && d3 >= 0.6) || (c3 >= 0.6 && d3 >=1.4 )) {
			schweins += grund(c3, d3);
			ausG += c3*d3;
		}
		else {
			schweins += ebene(c3, d3);
			ausE += c3*d3;
		}
		if(c3 >= 1.8 || d3 >= 1.8) hinJa = false;
		c = 0;
	}
	
	c = document.getElementById("E4L").value.replace(',', '.');
	d = document.getElementById("E4B").value.replace(',', '.');
	
	if(c > 0) {
		var c4 = c/100;
		var d4 = d/100;
		
		if((c4 >=1.4 && d4 >= 0.6) || (c4 >= 0.6 && d4 >=1.4 )) {
			schweins += grund(c4, d4);
			ausG += c4*d4;
		}
		else { 
			schweins += ebene(c4, d4);
			ausE += c4*d4;
		}
		if(c4 >= 1.8 || d4 >= 1.8) hinJa = false;
		c = 0;
	}
	
	//Ausgabe auf 2 Nachkommastellen begrenzen
	ausE *= Math.pow(10, 2);
	ausE = Math.round(ausE);
	ausE /= Math.pow(10, 2);
	ausG *= Math.pow(10, 2);
	ausG = Math.round(ausG);
	ausG /= Math.pow(10, 2);
	
	//Ausgabe
	var html = '<p>Besatzdichte f&uuml;r eine Grundfl&auml;che von ' + ausG + ' m&sup2;';
	html += ' plus ';
	html += 'Ebenen von ' + ausE + ' m&sup2;';
	html += '</p>';
	html += '<p><em class="bold">minimal:</em> 2 Meerschweinchen ;-)<br /><em class="bold">optimal:</em> ';
	html += schweins;
	html += ' Meerschweinchen<br /><em class="bold">maximal:</em> ';
	html += Math.round(ausG*3+ausE);
	html += ' Meerschweinchen<br /></p>';

	//Abfrage, ob Hinweis zur Rennstrecke nötig, ggf. an Ausgabe anhängen
	if(hinJa) {
		html += '<p><em class="bold"> Achtung: </em>';
		html += hinweis;
		html += '</p>';
	}
	
	//ausgeben der Informationen
	document.getElementById("result").innerHTML = html;
}

/*
Berechnet Anzahl der Tiere bis 2qm mit 0,5qm pro Nase, ab 2qm mit 0,33qm pro Nase
Ebenen werden ab einer Größe von 1,4m x 0,6m wie Grundflächen behandelt.
*/
function grund(a, b) {

	var anz = 0;
	if(a*b > 2) 
	anz = 4 + Math.round(3*(a*b-2));
	else anz = Math.round(2*a*b);
	
	return anz;
}

/*
Berechnet Zugabe zur Anzahl der Tiere, in dem Ebenen kleiner 1,4m x 0,6m mit 1qm pro Nase
berücksichtigt werden
*/
function ebene(c, d) {

	var zus = Math.round(1.2*c*d);
	
	return zus;
}
