	function fillDataToCountryCombobox() {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "CountryDB.php";
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("country");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				var items = xmlHttp.responseXML.getElementsByTagName("Country");
				var item;
				appendToSelect(select, "-1", "Please select..");
			    for (var i = 0; i < items.length; i++) {
			    	item = items[i];
			        appendToSelect(select, item.getElementsByTagName("CountryID")[0].firstChild.nodeValue, 
			        				item.getElementsByTagName("CountryName")[0].firstChild.nodeValue);
			    }
			    
			    countryChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function fillDataToModelCategoryCombobox() {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "DynaforceCategoryDB.php";
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("modelCate");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				var items = xmlHttp.responseXML.getElementsByTagName("DynaforceCategory");
				var item;
				//appendToSelect(select, "-1", "Please select..");
			    for (var i = items.length -1; i > -1; i--) {
			    	item = items[i];
			        appendToSelect(select, item.getElementsByTagName("DynaforceCategoryID")[0].firstChild.nodeValue, 
			        				item.getElementsByTagName("DynaforceCategoryName")[0].firstChild.nodeValue);
			    }
			    
			    modelCateChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function fillDataToModelSeriesCombobox(cateID) {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "DynaforceSeriesDB.php?cateID=" + cateID;
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("seriesCate");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				var items = xmlHttp.responseXML.getElementsByTagName("Series");
				var item;
			    for (var i = 0; i < items.length; i++) {
			    	item = items[i];
			        appendToSelect(select, item.getElementsByTagName("DynaforceSeriesID")[0].firstChild.nodeValue + ";" + item.getElementsByTagName("WindResistance")[0].firstChild.nodeValue, 
			        				item.getElementsByTagName("DynaforceSeriesName")[0].firstChild.nodeValue);
			    }
			    
			    seriesCateChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function fillDataToModelCombobox(seriesID) {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}

		var w1 = getFormValueNumber("doorWidth");
		var w2 = getFormValueNumber("doorWidthInInch");
		var units = getFormValue("measurement");
		var model_width = 0;
		var selected_item = -1;

		if (units == METRIC) {
			w2 = 0;
			w1 = (100 * w1) / 2.54;
		} else {
			w1 = 12 * w1;
		}
		w1 += w2;

		var select = document.getElementById("modelToBeUsed");

		var url = "DynaforceModelDB.php?seriesID=" + seriesID;
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    while (select.length > 0) {
			        select.remove(0);
			    }
			    select.innerHTML = "";
			    var groupItems = xmlHttp.responseXML.getElementsByTagName("DynaforceModelGroup");
			    var groupItem;
			    var foundGroup = false;
			    for (var i = 0; i < groupItems.length; i++) {
			    	foundGroup = true;
			    	groupItem = groupItems[i];
			    	//<optgroup label="Asia"></optgroup>
			    	appendGroupToSelect(select, groupItem.getAttribute("name"));
			    	
					var items = groupItem.getElementsByTagName("DynaforceModel");
					var item;
				    for (var x = 0; x < items.length; x++) {
				    	item = items[x];
					model_width = 1 * item.getElementsByTagName("DoorWidth")[0].firstChild.nodeValue;
					if (selected_item == -1 && model_width >= w1)
						selected_item = x;
				        appendToSelect2(select, item.getElementsByTagName("HorsePower")[0].firstChild.nodeValue,
		        				item.getElementsByTagName("DynaforceModelName")[0].firstChild.nodeValue, selected_item == x);
				    }
			    }
			    
			    if(foundGroup == false) {
					var items = xmlHttp.responseXML.getElementsByTagName("DynaforceModel");
					var item;
				    for (var i = 0; i < items.length; i++) {
				    	item = items[i];
					model_width = 1 * item.getElementsByTagName("DoorWidth")[0].firstChild.nodeValue;
					if (selected_item == -1 && model_width >= w1)
						selected_item = i;					
				        appendToSelect2(select, item.getElementsByTagName("HorsePower")[0].firstChild.nodeValue,
				        		item.getElementsByTagName("DynaforceModelName")[0].firstChild.nodeValue, selected_item == i);
				    }
			    }

//			    if (selected_item != -1)
//alert(select.selctedIndex);
//alert(selected_item);
//				select.selctedIndex = selected_item;

			    modelToBeUsedChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function fillDataToStatesCombobox(countryID) {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "StateDB.php?CountryID=" + countryID;
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("states");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				var items = xmlHttp.responseXML.getElementsByTagName("State");
				var item;
			    for (var i = 0; i < items.length; i++) {
			    	item = items[i];
			        appendToSelect(select, item.getElementsByTagName("StateID")[0].firstChild.nodeValue, 
			        				item.getElementsByTagName("StateName")[0].firstChild.nodeValue);
			    }
			    
			    statesChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function fillDataToCityCombobox(stateID) {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "CityDB.php?StateID=" + stateID;
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("cities");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				var items = xmlHttp.responseXML.getElementsByTagName("City");
				var item;
			    for (var i = 0; i < items.length; i++) {
			    	item = items[i];
			        appendToSelect(select, item.getElementsByTagName("CityID")[0].firstChild.nodeValue, 
			        				item.getElementsByTagName("CityName")[0].firstChild.nodeValue);
			    }
			    
			    citiesChanged();
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	/*
	Winter = Dec, Jan, Feb, and Mar (Except for Australia which is Jun, July, Aug, and Sep)
	
	Summer = Jun, July, Aug, and Sep (Except for Australia which is Dec, Jan, Feb, and Mar)
	
	Heat Retention: Winter
	Air Conditioning Retention: Summer
	Walk-in Cooler: Annual
	Walk-in Freezer: Annual
	 */
	
	var winter = ["December", "January", "February", "March"];
	var winterAustralia = ["June", "July", "August", "September"];
	
	var summer = ["June", "July", "August", "September"];
	var summerAustralia = ["December", "January", "February", "March"];
	
	var annual = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
	
	var australiaID = 8;

	function fillOutSideTempAndWindSpeed_byCountryID(countryID) {
		var url = "AverageMonthlyDB.php?CountryID=" + countryID;
		fillOutSideTempAndWindSpeed(url, countryID, getFormValue("applicationType"));
	}
	
	function fillOutSideTempAndWindSpeed_byCityID(cityID) {
		var url = "AverageMonthlyDB.php?CityID=" + cityID;
		fillOutSideTempAndWindSpeed(url, null, getFormValue("applicationType"));
	}
	
	function fillOutSideTempAndWindSpeed(url, countryID, applicationType) {
		var months;
		if(applicationType == 0) {
			if(countryID != null && countryID == australiaID) {
				months = winterAustralia;
			} else {
				months = winter;
			}
		} else if(applicationType == 1) {
			if(countryID != null && countryID == australiaID) {
				months = summerAustralia;
			} else {
				months = summer;
			}
		} else {
			months = annual;
		}
		
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
			    var select = document.getElementById("month");
			    while (select.length > 0) {
			        select.remove(0);
			    }
				//var windSpeedItems = xmlHttp.responseXML.getElementsByTagName("WindSpeed")[0].childNodes;
				//var temperatureItems = xmlHttp.responseXML.getElementsByTagName("Temperatures")[0].childNodes;
				
				var windSpeedItems = xmlHttp.responseXML.getElementsByTagName("WindSpeed")[0];
				var temperatureItem = xmlHttp.responseXML.getElementsByTagName("Temperatures")[0];
				
				var windSpeedTotal = 0;
				var temperatureTotal = 0;
				for(var x = 0; x < months.length; x++) {
					windSpeedTotal += parseFloat(windSpeedItems.getElementsByTagName(months[x])[0].firstChild.nodeValue);
					temperatureTotal += parseFloat(temperatureItem.getElementsByTagName(months[x])[0].firstChild.nodeValue);
					
					//alert(months[x] + "-" + windSpeedTotal + "-" + temperatureTotal);
				}
				var avgWindSpeed = windSpeedTotal / months.length;
				avgWindSpeed = avgWindSpeed.toFixed(2);
				
				var avgTemp = temperatureTotal / months.length;
				avgTemp = avgTemp.toFixed(2);
				//alert(avgWindSpeed + "-" + avgTemp);
				
				if(!isNaN(avgWindSpeed) && !isNaN(avgTemp)) {
					var selectedMeasurement = getFormValue("measurement");
					//	0 = (I-P) English
					//	1 = (SI) Metric
					if(selectedMeasurement == 1) {
						avgTemp = 100/(212-32) * (avgTemp - 32 );
						avgTemp = avgTemp.toFixed(2);
						
						avgWindSpeed = avgWindSpeed / 0.621371192;
						avgWindSpeed = avgWindSpeed.toFixed(2);
					}
					
					document.getElementById("averageOutsideTemperature").value = avgTemp;
					document.getElementById("averageWindSpeedAtDoor").value = avgWindSpeed;
				}
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function getCoolingAndHeatingCost(url) {
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {
				var xmldoc = xmlHttp.responseXML; //alert("1-" + xmldoc);
				var root = xmldoc.getElementsByTagName('CoolingAndHeatingCost')[0]; //alert("2-" + root);
				var val = 1 * root.getElementsByTagName("HeatingCost")[0].firstChild.nodeValue;
				document.getElementById("costOfHeatBuilding").value = val.toFixed(2);
				val = 1 * root.getElementsByTagName("CoolingCost")[0].firstChild.nodeValue;
				document.getElementById("costOfRunAirCurtain").value = val.toFixed(2);
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type', "text/xml");
		xmlHttp.send(null);
	}
	
	function getCoolingAndHeatingCost_State(StateID) {
		var url = "CoolingAndHeatingCostDB.php?StateID=" + StateID;
		getCoolingAndHeatingCost(url);
	}
	
	function getCoolingAndHeatingCost_Country(CountryID) {
		var url = "CoolingAndHeatingCostDB.php?CountryID=" + CountryID;
		getCoolingAndHeatingCost(url);
	}