function changetotal() {
		var grtot;
		var windloss = 0;
		var wall1loss = 0;
		var wall2loss = 0;
		var wall3loss = 0;
		var ceilingloss = 0;
		var floorloss = 0;
		var airloss = 0;
		var uvalue = 0;
		var wallcount = parseInt(document.theForm.walls.value, 10);
		var floorarea = parseFloat(document.theForm.width.value) * parseFloat(document.theForm.depth.value);
		windloss = parseFloat(document.theForm.windarea.value) * parseFloat(document.theForm.windtype.value);
		wall1loss = parseFloat(document.theForm.height.value) * parseFloat(document.theForm.width.value);
		wall1loss -= parseFloat(document.theForm.windarea.value);
		wall1loss *= parseFloat(document.theForm.walltype.value);
		if(wallcount > 1) {
			wall2loss = parseFloat(document.theForm.height.value) * parseFloat(document.theForm.depth.value);
			wall2loss *= parseFloat(document.theForm.walltype.value);
		}
		if(wallcount > 2) {
			wall3loss = parseFloat(document.theForm.height.value) * parseFloat(document.theForm.width.value);
			wall3loss *= parseFloat(document.theForm.walltype.value);
		}

		ceilingloss = floorarea * parseFloat(document.theForm.aboveroom.value);

		// belowroom values 1 = heated, 2 = wood floor, 3 = solid floor, 4 = concrete
		
		belowroom = parseInt(document.theForm.belowroom.value, 10);
		
		if(belowroom == 1) floorloss = 0;
		else 
		if(belowroom == 2 && floorarea > 16) floorloss = 0.96 * floorarea;
		else 
		if(belowroom == 2 && floorarea <= 16) floorloss = 1.27 * floorarea;
		else 
		if(belowroom == 3 && floorarea > 16 && wallcount == 1) floorloss = 0.45 * floorarea;
		else 
		if(belowroom == 3 && floorarea > 16 && wallcount > 1) floorloss = 0.72 * floorarea;
		else 
		if(belowroom == 3 && floorarea <= 16 && wallcount == 1) floorloss = 0.74 * floorarea;
		else 
		if(belowroom == 3 && floorarea <= 16 && wallcount > 1) floorloss = 1.22 * floorarea;
		else 
		if(belowroom == 4) floorloss = 2.13 * floorarea;
		
		airloss = floorarea * parseFloat(document.theForm.height.value) * 0.33;
		
		switch(document.theForm.roomtype.value) {
			case "17": 
			airloss *= 1.5;
			break;
			case "19":
			airloss *= 0.5; 
			break;
			case "22": 
			airloss *= 1; 
			break;
			case "23":
			airloss *= 2.0; 
			break;
		}

		grtot = windloss + wall1loss + wall2loss + wall3loss + ceilingloss + floorloss + airloss;
		grtot *= parseFloat(document.theForm.roomtype.value);
		if(belowroom == 1) grtot -= floorarea * 1.6 * 3;
		
		// Put here general safety margin
		
		if(isNaN(grtot)) {  
			document.theForm.grtotal.value = "";
			document.theForm.grtotal2.value = "";
		}
		else {
			grtot *= 1.15;
			document.theForm.grtotal.value = Math.floor(grtot);
			document.theForm.grtotal2.value = Math.floor(grtot * 3.412);
		}
	}
