var wohnzimmer = {
    flaeche:	20,
    frisch: 	500,
    warm:   	693,
    sehr_warm:	724
};

var schlafzimmer = {
    flaeche:	15,
    frisch: 	385,
    warm:   	600,
    sehr_warm:	630
};

var badezimmer = {
    flaeche:	5,
    frisch: 	12,
    warm:   	16,
    sehr_warm:	20
};

var sonst_raum = {
    flaeche:	12,
    frisch: 	100,
    warm:   	250,
    sehr_warm:	350
};

var haus_zusatz = {
    flaeche:	30,
    frisch: 	100,
    warm:   	200,
    sehr_warm:	250
};

var wohnung = {
	altbau: {
		k_waende:	0.8,
		k_waende_e:	1,
		k_boden:	0.164
	},
	mod_altbau: {
		k_waende:	0.6,
		k_waende_e:	0.9,
		k_boden:	0.123
	},
	neubau: {
		k_waende:	0.56,
		k_waende_e:	0.7,
		k_boden:	0.0984
	}
};

var house = {
	normal: {
		k_boden: 0.205,
		separated: {
			k_waende: 0.90000
		},
		side: {
			k_waende: 0.67000
		},
		middle: {
			k_waende: 0.50000
		}
	},
	modern: {
		k_boden: 0.156,
		separated: {
			k_waende: 0.60000
		},
		side: {
			k_waende: 0.40000
		},
		middle: {
			k_waende: 0.30000
		}
	}
};


function calc_costs() {
	if (document.getElementById("price") == null) return;
	var price = Math.ceil(parseFloat(document.getElementById("price").value.replace(",",".")) * 1000)/1000;
	var A = parseInt(document.getElementById("area").value) || 0;
	var number = {
		wohnzimmer: 	parseInt(document.getElementById("wohnzimmer_number").value) || 0,
		schlafzimmer:	parseInt(document.getElementById("schlafzimmer_number").value) || 0,
		badezimmer: 	parseInt(document.getElementById("badezimmer_number").value) || 0,
		sonst_raum: 	parseInt(document.getElementById("sonstige_number").value) || 0,
		haus_zusatz: ((document.getElementById("house").checked) ? 1 : 0)
	};
	if (number.wohnzimmer < 0 || number.schlafzimmer < 0 || number.badezimmer < 0 || number.sonst_raum < 0
           || (number.wohnzimmer + number.schlafzimmer + number.badezimmer + number.sonst_raum) < 1 || A < 1
	   || price < 0.05 || price > 1) {
		document.getElementById("costs1").style.display = "none";
		document.getElementById("costs2").style.display = "none";
		return;
	}

	if (document.getElementById("wohnzimmer_number").value != "") document.getElementById("wohnzimmer_number").value = number.wohnzimmer;
	if (document.getElementById("schlafzimmer_number").value != "") document.getElementById("schlafzimmer_number").value = number.schlafzimmer;
	if (document.getElementById("badezimmer_number").value != "") document.getElementById("badezimmer_number").value = number.badezimmer;
	if (document.getElementById("sonstige_number").value != "") document.getElementById("sonstige_number").value = number.sonst_raum;
	if (document.getElementById("area").value != "") document.getElementById("area").value = A;
	if (document.getElementById("price").value != "") document.getElementById("price").value = ("" + price).replace(".",",");

	var preffered_temp = (document.getElementById("warm").checked) ? "warm" : (document.getElementById("hot").checked) ? "sehr_warm" : "frisch";

	var k_waende = 1;
	var k_boden = 0;

	if (document.getElementById("apartment").checked) {
		var wohnung_type = document.getElementById("apartment_type").value;
		k_waende = (document.getElementById("edge_house").checked) ? wohnung[wohnung_type].k_waende_e : wohnung[wohnung_type].k_waende;
		if (document.getElementById("extreme_floor").checked) k_boden = wohnung[wohnung_type].k_boden;
	} else if (document.getElementById("house").checked) {
		var house_type = (document.getElementById("modern_insulation").checked) ? "modern" : "normal";
		k_boden = house[house_type].k_boden;
		var arrangement = (document.getElementById("separate").checked) ? "separated" :
						  (document.getElementById("side").checked)     ? "side" :
						  (document.getElementById("middle").checked)   ? "middle" :
							false;
		if (arrangement == false) {
			document.getElementById("costs1").style.display = "none";
			document.getElementById("costs2").style.display = "none";
			return;
		}
		k_waende = house[house_type][arrangement].k_waende;
	} else {
		document.getElementById("costs1").style.display = "none";
		document.getElementById("costs2").style.display = "none";
		return;
	}

	var w =
		number.wohnzimmer   * wohnzimmer[preffered_temp] + 
		number.schlafzimmer * schlafzimmer[preffered_temp] + 
		number.badezimmer   * badezimmer[preffered_temp] + 
		number.sonst_raum   * sonst_raum[preffered_temp] + 
		number.haus_zusatz  * haus_zusatz[preffered_temp];

	var a =
		number.wohnzimmer   * wohnzimmer.flaeche + 
		number.schlafzimmer * schlafzimmer.flaeche + 
		number.badezimmer   * badezimmer.flaeche + 
		number.sonst_raum   * sonst_raum.flaeche;

	var W = w * (Math.sqrt(A / a) * k_waende + (A / a) * k_boden);

	document.getElementById("costs").firstChild.nodeValue = ("" + Math.ceil(W * price * 100)/100).replace(".",",");
	document.getElementById("costs1").style.display = "";
	document.getElementById("costs2").style.display = "";
}

function perio() {
    calc_costs();
    setTimeout("perio()", 500);
}

setTimeout("perio()", 1500);
