var isFormValueChanged = false;
var calculate_pressed = false;
var cnt_cnt = 0;

var HEAT_RETENTION = 0;      // Heat Retention
var AIR_COND_RETENTTION = 1; // Air Conditioning Retention
var WALK_IN_COOLER = 2;       // Walk-in Cooler/Refrigerated Storage
var WALK_IN_FREEZER = 3      // Walk-in Freezer/Cold Storage

var ENGLISH = 0;  // (I-P) English
var METRIC = 1;   //  (SI) Metric

var max_wind_resistance = 0;

function setSelectedIndex(fld, idx) {

  var elem = document.getElementById(fld);
  if (elem != null)
    elem.selectedIndex = idx;

}


function setValue(fld, val) {

  var elem = document.getElementById(fld);
  if (elem != null)
    elem.value = val;

}

function isNullOrNaNValue(val) {

  return (val == null || val == "" || isNaN(val));

}

function isNullOrNaN(fieldName) {

  var val = getFormValue(fieldName);
  return (val == null || val == "" || isNaN(val));

}
	

	function setFormValueChanged(boolValue) {
		isFormValueChanged = boolValue;
	}

	function countryChanged() {
		var countryID = getFormValue("country");
		  var elem = document.getElementById("measurement");

		if(countryID == 9) { // US

			if (elem.selectedIndex != 0) {
				elem.selectedIndex = 0;
				measurementChanged();
			}

			document.getElementById("states").disabled = false;
			document.getElementById("cities").disabled = false;
			//document.getElementById("month").disabled = false;
			
			document.getElementById("states").style.display = "inline";
			document.getElementById("cities").style.display = "inline";
			//document.getElementById("month").style.display = "inline";
			
			fillDataToStatesCombobox(countryID);

		} else if(countryID > 0) {

			if (elem.selectedIndex != 1) {
				elem.selectedIndex = 1;
				measurementChanged();
			}


			document.getElementById("states").disabled = true;
			document.getElementById("cities").disabled = true;
			//document.getElementById("month").disabled = false;
			
			document.getElementById("states").style.display = "none";
			document.getElementById("cities").style.display = "none";
			
			document.getElementById("averageOutsideTemperature").value = '';
			document.getElementById("averageWindSpeedAtDoor").value = '';

		} else {
			document.getElementById("states").disabled = true;
			document.getElementById("cities").disabled = true;
			//document.getElementById("month").disabled = false;
			
			document.getElementById("states").style.display = "none";
			document.getElementById("cities").style.display = "none";
			//document.getElementById("month").style.display = "none";
		}
		document.getElementById("month").style.display = "none";
		
		setFormValueChanged(true);
		if (calculate_pressed == true) {
			if (validateForm(false) == true)
				show(false, "xml");
		}

	}
	
	function citiesChanged() {
		var cityID = getFormValue("cities");
		
		//fillDataToMonthCombobox_City(cityID);
		fillOutSideTempAndWindSpeed_byCityID(cityID);
		
		setFormValueChanged(true);
	}
	
function convertLength(fld1, fld2, units) {

  var len1 = getFormValue(fld1);
  var len2 = getFormValue(fld2);

  var new_len1 = "";
  var new_len2 = "0";

  if (units == ENGLISH) {

    if (!isNullOrNaNValue(len1)) {
      new_len1 = (100 * len1) / (2.54);
      new_len2 = Math.round(new_len1 % 12);
      new_len1 = Math.floor(new_len1 / 12);

      if (new_len2 == 12) {
	new_len2 = 0;
	new_len1 += 1;
      }

    }

  } else {
    if (isNullOrNaNValue(len1))
      len1 = 0;
    if (isNullOrNaNValue(len2))
      len2 = 0;
//alert(len1 + " " + len2);
    new_len1 = ((12 * len1) + (1 * len2)) * 0.0254;
//alert(new_len1);
    if (new_len1 == 0)
      new_len1 = "";
    else
      new_len1 = new_len1.toFixed(3);

  }

  var elem = document.getElementById(fld1);
  if (elem)
    elem.value = new_len1;
  elem = document.getElementById(fld2);
  if (elem)
    elem.value = new_len2;

}

function updateNewMeasurementUnit(units) {

  updateNewTemperature("averageOutsideTemperature");
  updateNewTemperature("refrigeratorTemp");
  updateNewTemperature("insideTemperature");

  updateNewSpeed("averageWindSpeedAtDoor");

  convertLength("doorWidth", "doorWidthInInch", units);
  convertLength("doorHeight", "doorHeightInInch", units);

}

	function updateNewTemperature(fieldID) {
		var temperature = getFormValue(fieldID);
		var selectedMeasurement = getFormValue("measurement");
		//	0 = (I-P) English
		//	1 = (SI) Metric
		if(temperature != null && temperature != "" && !isNaN(temperature)) {
			if(selectedMeasurement == 1) {
				temperature = 100/(212-32) * (temperature - 32 );
			} else {
				temperature = (temperature * (212-32)) / 100 + 32
			}
			temperature = temperature.toFixed(2);
			document.getElementById(fieldID).value = temperature;
		}
	}
	
	function updateNewSpeed(fieldID) {
		var speed = getFormValue(fieldID);
		var selectedMeasurement = getFormValue("measurement");
		//	0 = (I-P) English
		//	1 = (SI) Metric
		if(speed != null && speed != "" && !isNaN(speed)) {
			if(selectedMeasurement == 1) {
				speed = speed / 0.621371192;
			} else {
				speed = speed * 0.621371192;
			}
			speed = speed.toFixed(2);
			document.getElementById(fieldID).value = speed;
		}
	}
	
	function statesChanged() {
		var stateID = getFormValue("states");
		getCoolingAndHeatingCost_State(stateID);
		document.getElementById("cities").disabled = false;
		fillDataToCityCombobox(stateID);
		
		setFormValueChanged(true);
	}
	
	function monthChanged() {
		/*
		var averageValue = getFormValue("month").split(";");
		var windSpeed = averageValue[0];
		var temperature = averageValue[1];
		
		if(!isNaN(windSpeed) && !isNaN(temperature)) {
			var selectedMeasurement = getFormValue("measurement");
			//	0 = (I-P) English
			//	1 = (SI) Metric
			if(selectedMeasurement == 1) {
				temperature = 100/(212-32) * (temperature - 32 );
				temperature = temperature.toFixed(2);
				
				windSpeed = windSpeed / 0.621371192;
				windSpeed = windSpeed.toFixed(2);
			}
			
			document.getElementById("averageOutsideTemperature").value = temperature;
			document.getElementById("averageWindSpeedAtDoor").value = windSpeed;
		}
	*/
	}
	
	function modelCateChanged() {
		if(document.getElementById("modelCate").style.width < 100) {
			document.getElementById("modelCate").style.width = "100px";
		}
		var cateID = getFormValue("modelCate");
		if(cateID > 0) {
			document.getElementById("seriesCate").disabled = false;
			document.getElementById("modelToBeUsed").disabled = false;
			
			document.getElementById("seriesCate").style.display = "inline";
			document.getElementById("modelToBeUsed").style.display = "inline";
			
			fillDataToModelSeriesCombobox(cateID);
		} else {
			document.getElementById("seriesCate").disabled = true;
			document.getElementById("modelToBeUsed").disabled = true;
			
			document.getElementById("seriesCate").style.display = "none";
			document.getElementById("modelToBeUsed").style.display = "none";
		}
		
		setFormValueChanged(true);
	}
	
	function seriesCateChanged() {
		var seriesID = getFormValue("seriesCate");
		max_wind_resistance = 0;
		if (seriesID.length > 0) {
			var tmp = new Array();
			tmp = seriesID.split(';');			
			if (tmp[1].length)
				max_wind_resistance = 1 * tmp[1];
//alert(max_wind_resistance);
			fillDataToModelCombobox(tmp[0]);
		}
		
		setFormValueChanged(true);
	}
	
	function modelToBeUsedChanged() {
		var HorsePower = getFormValue("modelToBeUsed");
		document.getElementById("airCurtainHP").value = HorsePower;
		document.getElementById("airCurtainModel").value = 
			document.getElementById("modelCate")[document.getElementById("modelCate").selectedIndex].text
			+ " " + document.getElementById("seriesCate")[document.getElementById("seriesCate").selectedIndex].text
			+ " " + document.getElementById("modelToBeUsed")[document.getElementById("modelToBeUsed").selectedIndex].text;
		
		setFormValueChanged(true);
	}
	
	
function setDefaultValues(application, units) {

  var refrig_temp = "";
  var inside_humidity = "";
  var outside_humidity = "";
  var inside_temp = "72";

  if (units == METRIC) {
      inside_temp = "22";
  }

  if (application == WALK_IN_COOLER) {
    if (units == ENGLISH) {
      refrig_temp = "35";
      inside_temp = "77";

    } else {
      refrig_temp = "2";
      inside_temp = "25";

    }
    inside_humidity = "30";
    outside_humidity = "70";


  } else if (application == WALK_IN_FREEZER) {
    if (units == ENGLISH) {
      refrig_temp = "-10";
      inside_temp = "77";
    } else {
      refrig_temp = "-23";
      inside_temp = "25";

    }
    inside_humidity = "10";
    outside_humidity = "70";

  }

  setValue("refrigeratorTemp", refrig_temp);
  setValue("insideTemperature", inside_temp);
  setValue("relativeHuminityOutside", outside_humidity);
  setValue("relativeHuminityInside", inside_humidity);

}

	function setValueinsideTemperature(){
	//=IF(E17="(I-P) English";IF(E15="Walk-in Cooler/Refrigerated Storage";77;IF(E15="Walk-in Freezer/Cold Storage";77;72));
	//IF(E15="Walk-in Cooler/Refrigerated Storage";25;IF(E15="Walk-in Freezer/Cold Storage";25;22)))
	    var selectedMeasurement = getFormValue("measurement");
		/*
			0 = (I-P) English
			1 = (SI) Metric
		*/
		var applicationType = getFormValue("applicationType");
		/*
			0 = Heat Retention
			1 = Air Conditioning Retention
			2 = Walk-in Cooler/Refrigerated Storage
			3 = Walk-in Freezer/Cold Storage
		*/
		if(selectedMeasurement == 0){
		
		if((applicationType == 2)||(applicationType == 3)) {
            document.getElementById("insideTemperature").value = 77;
		}else 
    		document.getElementById("insideTemperature").value = 72;
      }else{
        if((applicationType == 2)||(applicationType == 3)) {
            document.getElementById("insideTemperature").value = 25;
		}else 
    		document.getElementById("insideTemperature").value = 22;
      
      }

	}

	function applicationTypeChanged() {
		var applicationType = getFormValue("applicationType");
		/*
			0 = Heat Retention
			1 = Air Conditioning Retention
			2 = Walk-in Cooler/Refrigerated Storage
			3 = Walk-in Freezer/Cold Storage
		*/

		var units = getFormValue("measurement");
		/*
			0 = (I-P) English
			1 = (SI) Metric
		*/

		if(applicationType == 1)
		document.getElementById("costofbuilding").innerHTML = "Cost of air conditioning to cool building:";
		 else 
		  document.getElementById("costofbuilding").innerHTML = "Cost of heat to heat building:";
		
		if(applicationType == 0)
		 document.getElementById("averlensession").innerHTML = "(average length of heating season)";
		else
		if(applicationType == 1)
		 document.getElementById("averlensession").innerHTML = "(average length of cooling season)";
		else
		document.getElementById("averlensession").innerHTML = "";

		if(applicationType == 0 || applicationType == 1) {
			document.getElementById("row_41").style.display = "none";
			document.getElementById("row_51").style.display = "none";
			document.getElementById("row_52").style.display = "none";
			
			document.getElementById("row_4").style.display = "block";
			document.getElementById("row_5").style.display = "block";
			document.getElementById("timeDoorIsOpenWeeksPerYear").value = "17";
			//document.getElementById("row_Country").style.display = "block";
			
		} else if(applicationType == 2) {
			document.getElementById("row_41").style.display = "block";
			document.getElementById("row_51").style.display = "block";
			document.getElementById("row_52").style.display = "block";
			
			document.getElementById("row_4").style.display = "none";
			document.getElementById("row_5").style.display = "none";
			
			//document.getElementById("row_Country").style.display = "none";

			document.getElementById("refrigeratorTempLabel").innerHTML = "Refrigerator Temperature:";
			document.getElementById("timeDoorIsOpenWeeksPerYear").value = "";
			
		
		} else {
			document.getElementById("row_41").style.display = "block";
			document.getElementById("row_51").style.display = "block";
			document.getElementById("row_52").style.display = "block";
			
			document.getElementById("row_4").style.display = "none";
			document.getElementById("row_5").style.display = "none";
			
			//document.getElementById("row_Country").style.display = "none";

			document.getElementById("refrigeratorTempLabel").innerHTML = "Cold Storage Temperature:";
			document.getElementById("timeDoorIsOpenWeeksPerYear").value = "";
			
		
		}
		
		var countryID = getFormValue("country");
		if(countryID == 9) { // US
			var cityID = getFormValue("cities");
			fillOutSideTempAndWindSpeed_byCityID(cityID);
		} else if(countryID > 0) {
			fillOutSideTempAndWindSpeed_byCountryID(countryID);
		}
		
		setDefaultValues(applicationType, units);

		setFormValueChanged(true);
	}
	
function measurementChanged() {

  var units = getFormValue("measurement");

  if (units == ENGLISH) {
    document.getElementById("doorHeightMeasurement").innerHTML = "ft";
    document.getElementById("doorWidthMeasurement").innerHTML = "ft";
    document.getElementById("insideTempMeasurement").innerHTML = "&deg;F";
    document.getElementById("outsideTempMeasurement").innerHTML = "&deg;F";
    document.getElementById("windSpeedMeasurement").innerHTML = "mph";
    document.getElementById("refrigeratorTempMeasurement").innerHTML = "&deg;F";
			
    document.getElementById("doorHeightInInch").style.display = "inline";
    document.getElementById("doorHeightInInchLabel").style.display = "inline";
    document.getElementById("doorWidthInInch").style.display = "inline";
    document.getElementById("doorWidthInInchLabel").style.display = "inline";

  } else {
    document.getElementById("doorHeightMeasurement").innerHTML = "meters";
    document.getElementById("doorWidthMeasurement").innerHTML = "meters";
    document.getElementById("insideTempMeasurement").innerHTML = "&deg;C";
    document.getElementById("outsideTempMeasurement").innerHTML = "&deg;C";
    document.getElementById("windSpeedMeasurement").innerHTML = "kilometers/hour";
    document.getElementById("refrigeratorTempMeasurement").innerHTML = "&deg;C";

    document.getElementById("doorHeightInInch").style.display = "none";
    document.getElementById("doorHeightInInchLabel").style.display = "none";
    document.getElementById("doorWidthInInch").style.display = "none";
    document.getElementById("doorWidthInInchLabel").style.display = "none";

  }

  // monthChanged();
  updateNewMeasurementUnit(units);
  setValueinsideTemperature();

  setFormValueChanged(true);

}
	
	function validateForm(returnOnError) {
		var err = false;
		var errMsg = "";
		var windErr = false;
		var windErrMsg = "";
		var units = getFormValue("measurement");

		if (max_wind_resistance > 0) {
			
			if((getFormValue("applicationType") == 0 || getFormValue("applicationType") == 1) && !isNullOrNaN("averageWindSpeedAtDoor")) {
				wind_resistance = 1 * getFormValue("averageWindSpeedAtDoor");

				if (units == METRIC)
					wind_resistance *= 0.6;					
				if (wind_resistance > max_wind_resistance) {
					windErrMsg += "<b>Note:</b>&nbsp;The unit that you have chosen cannot withstand wind loads above " + max_wind_resistance + " mph.<br /><br/>";
					windErr = true;
				}
			}

		}

		errMsg += "<b>Please fill in these fields:</b><br />";
		
		var h1 = getFormValueNumber("doorHeight");
		var h2 = getFormValueNumber("doorHeightInInch");
		var w1 = getFormValueNumber("doorWidth");
		var w2 = getFormValueNumber("doorWidthInInch");

		if (units == METRIC) {
			h2 = 0;
			w2 = 0;
		}
		h1 += h2;
		w1 += w2;

		if (h1 <= 0) {
			if (returnOnError == true) {
				return false;
			}
			errMsg += "- Door Height<br />";
			err = true;
		}
		if (w1 <= 0) {
			if (returnOnError == true) {
				return false;
			}
			errMsg += "- Door Width<br />";
			err = true;
		}

		if(isNullOrNaN("insideTemperature")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Inside Temperature <br />";
			err = true;
		}
		if((getFormValue("applicationType") == 0 || getFormValue("applicationType") == 1) && isNullOrNaN("averageOutsideTemperature")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Average Outside Temperature <br />";
			err = true;
		}
		if((getFormValue("applicationType") == 0 || getFormValue("applicationType") == 1) && isNullOrNaN("averageWindSpeedAtDoor")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Average Wind Speed at Door <br />";
			err = true;
		}
		if(getFormValue("applicationType") == 2 && isNullOrNaN("refrigeratorTemp")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Refrigerator Temperature <br />";
			err = true;
		}
		if(getFormValue("applicationType") == 3 && isNullOrNaN("refrigeratorTemp")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Cold Storage Temperature <br />";
			err = true;
		}
		if((getFormValue("applicationType") == 2 || getFormValue("applicationType") == 3) && isNullOrNaN("relativeHuminityOutside")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Relative Humidity(outside) <br />";
			err = true;
		}
		if((getFormValue("applicationType") == 2 || getFormValue("applicationType") == 3) && isNullOrNaN("relativeHuminityInside")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Relative Humidity(inside) <br />";
			err = true;
		}
		if(isNullOrNaN("timeDoorIsOpenHoursPerDay")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Door Open Time <br />";
			err = true;
		}
		if(isNullOrNaN("timeDoorIsOpenDaysPerWeek")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Days of Operation <br />";
			err = true;
		}
		if(isNullOrNaN("timeDoorIsOpenWeeksPerYear")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Weeks of Operation <br />";
			err = true;
		}
		if(isNullOrNaN("costOfHeatBuilding")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Cost of heat to heat building <br />";
			err = true;
		}
		if(isNullOrNaN("costOfRunAirCurtain")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Local cost of electricity <br />";
			err = true;
		}
		if(isNullOrNaN("airCurtainHP")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Air Curtain HP <br />";
			err = true;
		}
		if(isNullOrNaN("purchaseCostOfAirCurtain")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Purchase cost of air curtain <br />";
			err = true;
		}
		if(isNullOrNaN("installationCostOfAirCurtain")) {
			if(returnOnError == true) {
				return false;
			}
			errMsg += "- Installation cost of air curtain <br />";
			err = true;
		}
		
		if (windErr == true) {
			if (err == true)
				errMsg = windErrMsg + errMsg;
			else
				errMsg = windErrMsg;
			err = true;
		}

		if (err == true) {
			document.getElementById("txtHint").innerHTML = errMsg;
		}
		
		return !err;
	}
	
	function show(isValidateForm, output) {

		calculate_pressed = true;

		if(isValidateForm == true) {
			if (validateForm(false) == false) {
				return;
			}
		}

		var email = "";
		var xmlHttp = GetXmlHttpObject();

		if (xmlHttp == null) {
			alert("Browser does not support HTTP Request");
			return;
		}
		var url = "RoiCalculator.php?"
				+ "applicationType=<%applicationType%>"
				+ "&measurement=<%measurement%>"
				+ "&doorHeight=<%doorHeight%>"
				+ "&doorHeightInInch=<%doorHeightInInch%>"
				+ "&doorWidth=<%doorWidth%>"
				+ "&doorWidthInInch=<%doorWidthInInch%>"
				+ "&insideTemperature=<%insideTemperature%>"
				+ "&averageOutsideTemperature=<%averageOutsideTemperature%>"
				+ "&averageWindSpeedAtDoor=<%averageWindSpeedAtDoor%>"
				+ "&timeDoorIsOpenHoursPerDay=<%timeDoorIsOpenHoursPerDay%>"
				+ "&timeDoorIsOpenDaysPerWeek=<%timeDoorIsOpenDaysPerWeek%>"
				+ "&timeDoorIsOpenWeeksPerYear=<%timeDoorIsOpenWeeksPerYear%>"
				+ "&costOfHeatBuilding=<%costOfHeatBuilding%>"
				+ "&costOfRunAirCurtain=<%costOfRunAirCurtain%>"
				+ "&modelToBeUsed=<%modelToBeUsed%>"
				+ "&airCurtainHP=<%airCurtainHP%>"
				+ "&purchaseCostOfAirCurtain=<%purchaseCostOfAirCurtain%>"
				+ "&installationCostOfAirCurtain=<%installationCostOfAirCurtain%>"
				+ "&refrigeratorTemp=<%refrigeratorTemp%>"
				+ "&relativeHuminityOutside=<%relativeHuminityOutside%>"
				+ "&relativeHuminityInside=<%relativeHuminityInside%>"
				+ "&jobName=<%jobName%>"
				+ "&location=<%location%>"
				+ "&address=<%address%>"
				+ "&city=<%city%>"
				+ "&state=<%state%>"
				+ "&zip=<%zip%>"
				+ "&contact=<%contact%>"
				+ "&phoneNumber=<%phoneNumber%>"
				+ "&doorLocation=<%doorLocation%>"
				+ "&airCurtainModel=<%airCurtainModel%>"
				+ "&output=<%output%>";
		
		url = url.replace("<%applicationType%>", getFormValue("applicationType"));
		url = url.replace("<%measurement%>", getFormValue("measurement"));
		url = url.replace("<%doorHeight%>", getFormValue("doorHeight"));
		url = url.replace("<%doorHeightInInch%>", getFormValue("doorHeightInInch"));
		url = url.replace("<%doorWidth%>", getFormValue("doorWidth"));
		url = url.replace("<%doorWidthInInch%>", getFormValue("doorWidthInInch"));
		url = url.replace("<%insideTemperature%>", getFormValue("insideTemperature"));
		url = url.replace("<%averageOutsideTemperature%>", getFormValue("averageOutsideTemperature"));
		url = url.replace("<%averageWindSpeedAtDoor%>", getFormValue("averageWindSpeedAtDoor"));
		url = url.replace("<%timeDoorIsOpenHoursPerDay%>", getFormValue("timeDoorIsOpenHoursPerDay"));
		url = url.replace("<%timeDoorIsOpenDaysPerWeek%>", getFormValue("timeDoorIsOpenDaysPerWeek"));
		url = url.replace("<%timeDoorIsOpenWeeksPerYear%>", getFormValue("timeDoorIsOpenWeeksPerYear"));
		url = url.replace("<%costOfHeatBuilding%>", getFormValue("costOfHeatBuilding"));
		url = url.replace("<%costOfRunAirCurtain%>", getFormValue("costOfRunAirCurtain"));
		url = url.replace("<%modelToBeUsed%>", getFormValue("modelToBeUsed"));
		url = url.replace("<%airCurtainHP%>", getFormValue("airCurtainHP"));
		url = url.replace("<%purchaseCostOfAirCurtain%>", getFormValue("purchaseCostOfAirCurtain"));
		url = url.replace("<%installationCostOfAirCurtain%>", getFormValue("installationCostOfAirCurtain"));
		url = url.replace("<%refrigeratorTemp%>", getFormValue("refrigeratorTemp"));
		url = url.replace("<%relativeHuminityOutside%>", getFormValue("relativeHuminityOutside"));
		url = url.replace("<%relativeHuminityInside%>", getFormValue("relativeHuminityInside"));
		
		url = url.replace("<%jobName%>", getFormValue("jobName"));
		url = url.replace("<%location%>", getFormValue("location"));
		url = url.replace("<%address%>", getFormValue("address"));
		url = url.replace("<%city%>", getFormValue("city"));
		url = url.replace("<%state%>", getFormValue("state"));
		url = url.replace("<%zip%>", getFormValue("zip"));
		url = url.replace("<%contact%>", getFormValue("contact"));
		url = url.replace("<%phoneNumber%>", getFormValue("phoneNumber"));
		url = url.replace("<%doorLocation%>", getFormValue("doorLocation"));
		url = url.replace("<%airCurtainModel%>", getFormValue("airCurtainModel"));
		url = url.replace("<%output%>", output);

		email = getFormValue("email_to");
		if (email != null)
			url += "&email_to=" + email;

		var countryID = getFormValue("country");
		var where = "";
		var elem;
		var idx = 0;
		if (countryID == 9)
			elem = document.getElementById("cities");
		else
			elem = document.getElementById("country");
		idx = elem.options.selectedIndex;
		if (idx > 0)
			where = elem.options[idx].text;
		url += "&geo_loc=" + where;

		xmlHttp.onreadystatechange = function stateChanged() {
			if (xmlHttp.readyState == 4 || xmlHttp.readyState == 200) {

				var xmldoc = xmlHttp.responseXML; //alert("1-" + xmldoc);
				var root = xmldoc.getElementsByTagName('result')[0]; //alert("2-" + root);

				var costToPurchaseAirCurtain = root.getElementsByTagName("costToPurchaseAirCurtain")[0].firstChild.nodeValue; //alert("3-" + "costToPurchaseAirCurtain=" + costToPurchaseAirCurtain);
				var costToInstallAirCurtain = root.getElementsByTagName("costToInstallAirCurtain")[0].firstChild.nodeValue;// alert("costToInstallAirCurtain=" + costToPurchaseAirCurtain);
				var totalPurchaseInstallPrice = root.getElementsByTagName("totalPurchaseInstallPrice")[0].firstChild.nodeValue;// alert("totalPurchaseInstallPrice=" + costToPurchaseAirCurtain);
				var costToRunAirCurtain = root.getElementsByTagName("costToRunAirCurtain")[0].firstChild.nodeValue;
				var airCurtainWillPayForItselfIn = root.getElementsByTagName("airCurtainWillPayForItselfIn")[0].firstChild.nodeValue;
				var savingsPerSeason = root.getElementsByTagName("savingsPerSeason")[0].firstChild.nodeValue;

				var errMsg = root.getElementsByTagName("message")[0].firstChild.nodeValue;

				// Workaround for IE8 nonsense
				if (errMsg == "x")
					errMsg = "";
//alert(output + " - " + errMsg);

				var str = "<br/>";
				str += ("<b>Cost to Purchase Air Curtain:</b> $" + costToPurchaseAirCurtain + "<br />");
				str += ("<b>Cost to Install Air Curtain:</b> $" + costToInstallAirCurtain + "<br />");
				str += ("<b>Total:</b> $" + totalPurchaseInstallPrice + "<br />");
				str += ("<b>Cost to Run Air Curtain:</b> $" + costToRunAirCurtain + "/Season<br />");
				str += ("<b>Air Curtain Will Pay For Itself In:</b> " + airCurtainWillPayForItselfIn + " Years (not including annual operating costs)<br />");
				str += ('<b><font color="#00FF00">Air Curtain Savings Per Season:</font></b> $' + savingsPerSeason + ' /Season (not including annual operating costs)<br />');
						
				str += ("<br />");
				str += ("<b>Job name:</b> " + getFormValue("jobName") + "<br />");
				str += ("<b>Location:</b> " + getFormValue("location") + "<br />");
				str += ("<b>Address:</b> " + getFormValue("address") + "<br />");
				str += ("<b>City:</b> " + getFormValue("city") + "<br />");
				str += ("<b>State:</b> " + getFormValue("state") + "<br />");
				str += ("<b>Zip:</b> " + getFormValue("zip") + "<br />");
				str += ("<b>Contact:</b> " + getFormValue("contact") + "<br />");
				str += ("<b>Phone number:</b> " + getFormValue("phoneNumber") + "<br />");
				str += ("<b>Door location/description:</b> : " + getFormValue("doorLocation") + "<br />");
				str += ("<b>Air curtain model #:</b> " + getFormValue("airCurtainModel") + "<br /><br/><font color='#FF0000'>Note:</font> Based on the door height and average wind speed at the door, the series of air curtain selected may not be satisfactory. Please consult factory for clarification.<br />");


				str += 'Email:&nbsp;<input name="email_to" id="email_to" size="35" value="' + email + '" type="text" />&nbsp;<input value="Email Results" type="button" onClick="show(true, \'email\');" />';

				str += '<br/><font color="red">' + errMsg + '</font>';

				document.getElementById("txtHint").innerHTML = str;
			}
		}
		xmlHttp.open("GET", url, true);
		xmlHttp.setRequestHeader('Content-Type',  "text/xml");
		xmlHttp.send(null);
	}
	
	function onPageLoad() {
		fillDataToCountryCombobox();
		fillDataToModelCategoryCombobox();
		resetData(document.forms[0]);
//		applicationTypeChanged(); 
//		measurementChanged()
	}
	
	function checkAndSubmitForm() {

//cnt_cnt = 1 + cnt_cnt;
//setValue("jobName", cnt_cnt);
//setValue("location", calculate_pressed);
//setValue("address", isFormValueChanged);

		if (isFormValueChanged == true && calculate_pressed == true) {
			if(validateForm(true) == true) {
				show(false, "xml");
			}
			
			setFormValueChanged(false);
		} else {
			//document.getElementById("txtHint").innerHTML += "Waiting 4 input...<br />";
		}
	}

	function resetData(oForm) {

		var elements = oForm.elements; 
		calculate_pressed = false;

		for(ii=0; ii<elements.length; ii++) {

			field_type = elements[ii].type.toLowerCase();

			switch(field_type) {

			case "text":
			case "password":
			case "textarea":
			case "hidden":
				elements[ii].value = "";
				break;

			case "radio":
			case "checkbox":
				if (elements[ii].checked) {
					elements[ii].checked = false;
				}
				break;

			case "select-one":
			case "select-multi":
				elements[ii].selectedIndex = 0;
				break;

			default:
				break;

			}

		} 

		measurementChanged();
		applicationTypeChanged();
		countryChanged();
		modelCateChanged();
		document.getElementById("txtHint").innerHTML = "";

	}
