//Location of ajax call handler
var _cfscriptLocation = "http://www.vapachumidification.com/functions.cfm";

//Loading image used by ajax calls
var loading = "<img src='http://www.vapachumidification.com/images/ajax-loader.gif' height='24' width='24'><br>";

//System used
var system = "";

//Mouse x and y coordinates
var x = 0;
var y = 0;

//Total Variables array
var load_values = new Array(3);

load_values[0] = 0; //Total_Load_Econ
load_values[1] = 0; //Total_Load
load_values[2] = 0; //Infiltration

//Initialize mouse movement and listen handler
function getCoords() {
	
	Event.observe(document, "mousedown", getXY, false);
}

//Get mouse positon
function getXY(e) {
	
	x = Event.pointerX(e);
	y = Event.pointerY(e);
	
}

//This function initializes ajax on page
function init() {

	getCoords();

}

//Function that initializes the system
function setSystem(value) {
	
	system = value;
	
	//reset form
	document.Calculate.reset();
	
	//Set System in dropdown so user can see which chosen while using form
	DWRUtil.setValue("System_Used",value);
	
	//Change all divs to either imperial or metric
	if(value == "Imperial") {
		
		//Show
		Element.show("Top_Questions");
		Element.show("SectionMsg");
		Element.show("Section1");
		Element.show("Section2");
		Element.show("Section3");
		Element.show("Section4");
		Element.show("Section5");
		Element.show("Section6");
		Element.show("Section7");
		
		//Set Distance Display
		document.getElementById("Altitude").disabled = false;
		document.getElementById("Distance_Display").innerHTML = "";
		document.getElementById("Distance_Display").innerHTML = "ft";
		
		//Set Outside temperature display
		document.getElementById("Outside_Temperature").disabled = false;
		document.getElementById("Outside_Temperature_Display").innerHTML = "";
		document.getElementById("Outside_Temperature_Display").innerHTML = "(-25 to 72 degrees F)";
		
		//Set Total airflow display
		document.getElementById("Total_Airflow").disabled = false;
		document.getElementById("Total_Airflow_Display").innerHTML = "";
		document.getElementById("Total_Airflow_Display").innerHTML = "cfm";
		
		//Set Design Temperature Display
		document.getElementById("Design_Temperature_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Display").innerHTML = "Deg. F";
		
		//Set Total Load Display
		document.getElementById("Total_Load_Display").innerHTML = "";
		document.getElementById("Total_Load_Display").innerHTML = "lbs/hr";
		
		//Set Design Temperature Econ Display
		document.getElementById("Design_Temperature_Econ_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Econ_Display").innerHTML = "Deg. F";
		
		//Set Total Load Econ Display
		document.getElementById("Total_Load_Econ_Display").innerHTML = "";
		document.getElementById("Total_Load_Econ_Display").innerHTML = "lbs/hr";
		
		//Set Design Temperature Infiltration Display
		document.getElementById("Design_Temperature_Infiltration_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Infiltration_Display").innerHTML = "Deg. F";
		
		//Set Length Display
		document.getElementById("Length_Display").innerHTML = "";
		document.getElementById("Length_Display").innerHTML = "ft";
		
		//Set Height Display
		document.getElementById("Height_Display").innerHTML = "";
		document.getElementById("Height_Display").innerHTML = "ft";
		
		//Set Width Display
		document.getElementById("Width_Display").innerHTML = "";
		document.getElementById("Width_Display").innerHTML = "ft";
		
		//Set Volume Display
		//document.getElementById("Volume_Display").innerHTML = "";
		//document.getElementById("Volume_Display").innerHTML = "cu. ft";
		
		//Set Infiltration Display
		document.getElementById("Infiltration_Display").innerHTML = "";
		document.getElementById("Infiltration_Display").innerHTML = "lbs/hr";
		
		//Set Duct Work Display
		document.getElementById("Duct_Work_Display").innerHTML = "";
		document.getElementById("Duct_Work_Display").innerHTML = "inches";
		
		//Set Max Absorption Display
		document.getElementById("Max_Absorption_Display").innerHTML = "";
		document.getElementById("Max_Absorption_Display").innerHTML = "inches";
		
	}
	else if(value == "Metric") {
		
		//Show
		Element.show("Top_Questions");
		Element.show("SectionMsg");
		Element.show("Section1");
		Element.show("Section2");
		Element.show("Section3");
		Element.show("Section4");
		Element.show("Section5");
		Element.show("Section6");
		Element.show("Section7");
		
		//Set Distance Display
		document.getElementById("Altitude").disabled = false;
		document.getElementById("Distance_Display").innerHTML = "";
		document.getElementById("Distance_Display").innerHTML = "m";
		
		//Set Outside temperature display
		document.getElementById("Outside_Temperature").disabled = false;
		document.getElementById("Outside_Temperature_Display").innerHTML = "";
		document.getElementById("Outside_Temperature_Display").innerHTML = "(-32 to 23 degrees C)";
		
		//Set Total airflow display
		document.getElementById("Total_Airflow").disabled = false;
		document.getElementById("Total_Airflow_Display").innerHTML = "";
		document.getElementById("Total_Airflow_Display").innerHTML = "cms";
		
		//Set Design Temperature Display
		document.getElementById("Design_Temperature_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Display").innerHTML = "Deg. C";
		
		//Set Total Load Display
		document.getElementById("Total_Load_Display").innerHTML = "";
		document.getElementById("Total_Load_Display").innerHTML = "kg/hr";
		
		//Set Design Temperature Econ Display
		document.getElementById("Design_Temperature_Econ_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Econ_Display").innerHTML = "Deg. C";
		
		//Set Total Load Econ Display
		document.getElementById("Total_Load_Econ_Display").innerHTML = "";
		document.getElementById("Total_Load_Econ_Display").innerHTML = "kg/hr";
		
		//Set Design Temperature Infiltration Display
		document.getElementById("Design_Temperature_Infiltration_Display").innerHTML = "";
		document.getElementById("Design_Temperature_Infiltration_Display").innerHTML = "Deg. C";
		
		//Set Length Display
		document.getElementById("Length_Display").innerHTML = "";
		document.getElementById("Length_Display").innerHTML = "m";
		
		//Set Height Display
		document.getElementById("Height_Display").innerHTML = "";
		document.getElementById("Height_Display").innerHTML = "m";
		
		//Set Width Display
		document.getElementById("Width_Display").innerHTML = "";
		document.getElementById("Width_Display").innerHTML = "m";
		
		//Set Volume Display
		//document.getElementById("Volume_Display").innerHTML = "";
		//document.getElementById("Volume_Display").innerHTML = "cu. m";
		
		//Set Infiltration Display
		document.getElementById("Infiltration_Display").innerHTML = "";
		document.getElementById("Infiltration_Display").innerHTML = "kg/hr";
		
		//Set Duct Work Display
		document.getElementById("Duct_Work_Display").innerHTML = "";
		document.getElementById("Duct_Work_Display").innerHTML = "mm";
		
		//Set Max Absorption Display
		document.getElementById("Max_Absorption_Display").innerHTML = "";
		document.getElementById("Max_Absorption_Display").innerHTML = "centimeters";
		
	}
	else {
		
		//Refresh the page
		document.location.href = "http://www.vapachumidification.com/calculation_tool_new.cfm";
		
	}
	
	//Excecute this section only if system has been chosen
	if(value != 0) {

		//Show loading
		document.getElementById("Loading_System").innerHTML = loading;
	
		//Call altitude
		DWREngine._execute(_cfscriptLocation, null, 'getAltitude',value,fillUpAltitude);
		
		//Call design temperature
		DWREngine._execute(_cfscriptLocation, null, 'getDesignTemperature',value,fillUpDesignTemperature);
		
		//Call design temperature econ
		DWREngine._execute(_cfscriptLocation, null, 'getDesignTemperatureEcon',value,fillUpDesignTemperatureEcon);
		
		//Call mic air temperature econ
		DWREngine._execute(_cfscriptLocation, null, 'getMixAirTemperatureEcon',value,fillUpMixAirTemperatureEcon);
		
	}
	
}

// This function fills up the altitude drop down
function fillUpAltitude(records)
{

	DWRUtil.removeAllOptions("Altitude");
	DWRUtil.addOptions("Altitude",records,"KEY","VALUE");
	
}

// This function fills up the design temperature drop down
function fillUpDesignTemperature(records)
{
	
	//Ventilation
	DWRUtil.removeAllOptions("Design_Temperature");
	DWRUtil.addOptions("Design_Temperature",records,"KEY","VALUE");
	
	//Infiltration
	DWRUtil.removeAllOptions("Design_Temperature_Infiltration");
	DWRUtil.addOptions("Design_Temperature_Infiltration",records,"KEY","VALUE");
	
}

// This function fills up the design temperature econ drop down
function fillUpDesignTemperatureEcon(records)
{

	DWRUtil.removeAllOptions("Design_Temperature_Econ");
	DWRUtil.addOptions("Design_Temperature_Econ",records,"KEY","VALUE");
	
	//Remove loading
	//document.getElementById("Loading_System").innerHTML = "";
		
}

// This function fills up the mix air temperature econ drop down
function fillUpMixAirTemperatureEcon(records)
{

	DWRUtil.removeAllOptions("Mix_Air_Temp");
	DWRUtil.addOptions("Mix_Air_Temp",records,"KEY","VALUE");
	
	//Remove loading
	document.getElementById("Loading_System").innerHTML = "";
		
}

//This function caluclated ventilation load with economizer
function calcVentEcon() {

	var Design_Temperature = DWRUtil.getValue("Design_Temperature_Econ");
	var Relative_Humidity = DWRUtil.getValue("Relative_Humidity_Econ");
	var Mix_Air_Temp = DWRUtil.getValue("Mix_Air_Temp");
	var Total_Airflow = DWRUtil.getValue("Total_Airflow");
	
	//Get value
	DWREngine._execute(_cfscriptLocation, null, 'calcVentEcon',parseInt(Design_Temperature),parseInt(Relative_Humidity),parseInt(Mix_Air_Temp),parseInt(Total_Airflow),system,displayVentLoadEcon);

}

//This function displays ventilation load with economizer
function displayVentLoadEcon(result) {
	
	document.getElementById("Total_Load_Econ").value = result;
	
	load_values[0] = result;
	
	document.getElementById("Recommended_Value").value = Math.max(load_values[0],load_values[1],load_values[2]);
	
	return true;
	
}

//This function caluclated ventilation load with economizer
function calcVentLoad() {
	
	//Variables needed to claculate load
	var Altitude = DWRUtil.getValue("Altitude")*1;
	var Design_Temperature = DWRUtil.getValue("Design_Temperature")*1;
	var Outside_Temperature = DWRUtil.getValue("Outside_Temperature")*1;
	var Total_Airflow = DWRUtil.getValue("Total_Airflow")*1;
	var Perc_Outside_Air = DWRUtil.getValue("Perc_Outside_Air")*1;
	var Relative_Humidity = DWRUtil.getValue("Relative_Humidity")*1;
	var Outside_Relative_Humidity = DWRUtil.getValue("Outside_Relative_Humidity")*1;
	
	DWREngine._execute(_cfscriptLocation, null, 'calcVentLoad',parseInt(Altitude),parseInt(Design_Temperature),parseInt(Outside_Temperature),parseInt(Total_Airflow),parseInt(Perc_Outside_Air),parseInt(Relative_Humidity),parseInt(Outside_Relative_Humidity),system,displayVentLoad);

}

function displayVentLoad(result) {
	
	document.getElementById("Total_Load").value = result;
	
	load_values[1] = result;
	
	document.getElementById("Recommended_Value").value = Math.max(load_values[0],load_values[1],load_values[2]);
	
	return true;

}

//This function caluclated ventilation load with economizer
function calcInfiltration() {
	
	//Variables needed to claculate load
	var Altitude = DWRUtil.getValue("Altitude")*1;
	var Design_Temperature = DWRUtil.getValue("Design_Temperature_Infiltration")*1;
	var Outside_Temperature = DWRUtil.getValue("Outside_Temperature")*1;
	var Total_Airflow = DWRUtil.getValue("Total_Airflow")*1;
	var Perc_Outside_Air = DWRUtil.getValue("Perc_Outside_Air")*1;
	var Relative_Humidity = DWRUtil.getValue("Relative_Humidity_Infiltration")*1;
	var Outside_Relative_Humidity = DWRUtil.getValue("Outside_Relative_Humidity")*1;
	var Length = DWRUtil.getValue("Length")*1;
	var Height = DWRUtil.getValue("Height")*1;
	var Width = DWRUtil.getValue("Width")*1;
	var Average = DWRUtil.getValue("Average")*1;
	
	DWREngine._execute(_cfscriptLocation, null, 'calcInfiltration',parseInt(Altitude),parseInt(Design_Temperature),parseInt(Outside_Temperature),parseInt(Total_Airflow),parseInt(Perc_Outside_Air),parseInt(Relative_Humidity),parseInt(Outside_Relative_Humidity),parseInt(Length),parseInt(Height),parseInt(Width),parseInt(Average),system,displayInfiltration);

}

function displayInfiltration(result) {
	
	var Length = DWRUtil.getValue("Length")*1;
	var Height = DWRUtil.getValue("Height")*1;
	var Width = DWRUtil.getValue("Width")*1;
	
	var volume = Length * Height * Width;
	
	//document.getElementById("Volume").value = volume;
	
	document.getElementById("Infiltration").value = result;
	
	load_values[2] = result;
	
	document.getElementById("Recommended_Value").value = Math.max(load_values[0],load_values[1],load_values[2]);
	
	return true;

}

function getHumidificationLoad() {
	
	document.getElementById("Recommended_Value").value = Math.max(load_values[0],load_values[1],load_values[2]);
	
}

//Switch images
function switchImages(e,imgName) {
	
	if(document.images)
	{
		var button_expand = new Image();
		button_expand.src = "http://www.vapachumidification.com/images/plus.gif";
		var button_detract = new Image();
		button_detract.src = "http://www.vapachumidification.com/images/minus.gif";
	}
	
	if($(e).style.display == 'none') {
		document.images[imgName].src = button_detract.src;
		Element.show(e);
	}
	else {
		document.images[imgName].src = button_expand.src;
		Element.hide(e);
	}

}
