/*****************************************************************
 Unless otherwise noted, This code is (c) Copyright 2005
    MoistureMap International. All Rights Reserved.

  MoistureMap International
  PO Box 4171
  Portsmouth, New Hampshire 03802
  United States
  207-363-8449
  info@moisturemapper.com

 Developed by Geoff Varosky of Grace-Hunt Information Technology
    Email: gvarosky@grace-hunt.com
    Web: http://www.grace-hunt.com

 Purpose: Calculate CFM

 Changelog:

 	+ 04-Jan-2006 03:15 PM
	created file
	
******************************************************************/

function calculateCFM() {
	
	
	// Standard Coding
	var roomWidth 			= parseFloat(document.getElementsByName("roomWidth")[0].value);
	var roomWidthIn			= parseFloat(document.getElementsByName("roomWidthIn")[0].value);
	var roomLength 			= parseFloat(document.getElementsByName("roomLength")[0].value);
	var roomLengthIn		= parseFloat(document.getElementsByName("roomLengthIn")[0].value);
	var roomHeight 			= parseFloat(document.getElementsByName("roomHeight")[0].value);
	var roomHeightIn		= parseFloat(document.getElementsByName("roomHeightIn")[0].value);
	
	//var roomOffsetWidth 	= parseFloat(document.getElementsByName("roomOffsetWidth")[0].value);
	//var roomOffsetLength 	= parseFloat(document.getElementsByName("roomOffsetLength")[0].value);
	//var roomOffsetHeight 	= parseFloat(document.getElementsByName("roomOffsetHeight")[0].value);
	
	//var roomInsetWidth 		= parseFloat(document.getElementsByName("roomInsetWidth")[0].value);
	//var roomInsetLength 	= parseFloat(document.getElementsByName("roomInsetLength")[0].value);
	//var roomInsetHeight 	= parseFloat(document.getElementsByName("roomInsetHeight")[0].value);

									 
	var roomWidthTotal 		= parseFloat(roomWidth + roomWidthIn/12);
	var roomLengthTotal 	= parseFloat(roomLength + roomLengthIn/12);
	var roomHeightTotal 	= parseFloat(roomHeight + roomHeightIn/12);
	
	var classFactor = (document.getElementsByName("classFactor")[0].value)*1;
	
	
	// get percentage (ratio actually) of room affected
	var percentageAreaAffected = parseFloat(document.getElementsByName("percentageAreaAffected")[0].value);
	
	
	// change ACH and Class Factor fields based on each other 
	var airChangesObjects = document.getElementsByName("airChangesPerMinute");
	if (classFactor == 1) {
		 airChangesObjects[0].value = 60;
	} else if (classFactor == 2) {
		 airChangesObjects[0].value = 30;
	} else if (classFactor == 3) {
		 airChangesObjects[0].value = 20;
	} else if (classFactor == 4) {
		 airChangesObjects[0].value = 60;
	}
	 
	// calculate volume
	var sqFootage = (roomLengthTotal *  roomWidthTotal);
	var roomVolume = parseFloat( ((roomLengthTotal *  roomWidthTotal * roomHeightTotal) )
								 * percentageAreaAffected);
								 
/*	var sqFootage = (roomLengthTotal *  roomWidthTotal) + (roomOffsetLength * roomOffsetWidth) - (roomInsetLength * roomInsetWidth);
	var roomVolume = parseFloat( ((roomLengthTotal *  roomWidthTotal * roomHeightTotal) + 
								  (roomOffsetLength * roomOffsetWidth * roomOffsetHeight) - 
								  (roomInsetLength * roomInsetWidth * roomInsetHeight) )
								 * percentageAreaAffected);*/

	window.status = 'Room Volume: ' + roomVolume + ' cu. ft.';
	
	// calculate CFM and AHAM Pints
	var desiccant = classFactor;
	if(desiccant == 4) {
		desiccant = 2;	
	}
	var recCFM_pre = Math.ceil(roomVolume * desiccant / 60);
	if (classFactor == 1) {
		var recAHAM_pre = Math.ceil(roomVolume / 100);
		var recAHAMLGR_pre = Math.ceil(roomVolume / 100);
	} else if (classFactor == 2) {
		var recAHAM_pre = Math.ceil(roomVolume / 40);
		var recAHAMLGR_pre = Math.ceil(roomVolume / 50);
	
	} else if (classFactor == 3) {
		var recAHAM_pre = Math.ceil(roomVolume / 30);
		var recAHAMLGR_pre = Math.ceil(roomVolume / 40);
	} else if (classFactor == 4) {
		var recAHAM_pre = "N/A";
		var recAHAMLGR_pre = Math.ceil(roomVolume / 50);
	
	}
/*	var roomLength2 = (roomLengthTotal+roomOffsetLength+roomInsetLength)*2;
	var roomWidth2 = (roomWidthTotal+roomOffsetWidth+roomInsetWidth)*2;*/
	
	var roomLength2 = (roomLengthTotal)*2;
	var roomWidth2 = (roomWidthTotal)*2;
	
	var AS_req	= Math.ceil(roomVolume/15);
	var AM_req = Math.ceil(( ((roomLength2 + roomWidth2)/15) + (sqFootage / 250)) * percentageAreaAffected);
	
	
	// update fields					 
	//document.getElementById("CFMrow").style.display = "block";
	document.getElementById("CFM").innerHTML = "<i>" + recCFM_pre + " CFM needed</i>";
	//document.getElementById("AHAMrow").style.display = "block";
	document.getElementById("AHAM").innerHTML = "<i>" + recAHAM_pre + " AHAM Pints needed minimum</i>";
	//document.getElementById("AHAMLGRrow").style.display = "block";
	document.getElementById("AHAMLGR").innerHTML = "<i>" + recAHAMLGR_pre + " AHAM Pints needed minimum</i>";
	
	//document.getElementById("ASrow").style.display = "block";
	document.getElementById("AS").innerHTML = "<i>" + AS_req + " CFM recommended</i>";
	//document.getElementById("AMrow").style.display = "block";
	document.getElementById("AM").innerHTML = "<i>" + AM_req + " recommended</i>";
	

					 
} 


