function BrowserInfo()
{
    var agent = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.isNav  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.isNav4 = (this.isNav && (this.major == 4));
    this.isNav6 = (this.isNav && ( this.major >= 5));
    this.isIE   = (agent.indexOf("msie") != -1);
    this.isIE4  = (this.isIE && (this.major == 4));
    this.ie4  = this.isIE4
    this.isIE4Up  = (this.isIE && (this.major >= 4));
    this.isIE5  = ( this.isIE && (this.major == 4) && (agent.indexOf("msie 5.0")!=-1));
    this.isIE55  = ( this.isIE && (this.major == 4) && (agent.indexOf("msie 5.5")!=-1));
    this.isIE60  = ( this.isIE && (this.major == 4) && (agent.indexOf("msie 6.0")!=-1));
    this.isIE55Up = this.isIE55 || this.isIE60;
    this.isIE50Up = this.isIE5 || this.isIE55Up;
    this.isOpera = (agent.indexOf("opera") != -1);
    this.op3 = (agent.indexOf("opera") != -1);

    this.isSafari = agent.indexOf("safari") != -1;
    // IE 5 or greater and Netscape 6 or greater.

    this.isHTML4 = (this.isNav6 || this.isIE50Up);
    this.isDOM4 = (this.isNav6 || this.isSafarai)
}

var browserinfo = new BrowserInfo()

function handleKeyPress(evt)
{
	var event = browserinfo.isIE ? window.event : evt;
	var character = event.keyCode;
	
	if ( character == 13 )
	{
		return false;
	}
	return true;
}

function checkit(evt){
	alert(evt.type);
	alert(evt.keyCode);
	var obj = evt.target;
	alert(obj.id); 
	if (obj.id=="btnSubmit") {alert("IN"); obj.submit();}
}

if ( browserinfo.isIE ) {document.onkeydown = handleKeyPress;}
if ( browserinfo.isNav ) {document.onkeypress = handleKeyPress; document.onclick =handleKeyPress;}
	
function getElmById(aID){ 
var element = null;
 if ( browserinfo.isIE ) { element = jsGetObjectRef(aID); }
 else { element = document.getElementById(aID); }
 return element;
} 
				
function jsGetObjectRef(sID, sName) { //, sInForm
  var oObject;
  var bIsIE   = document.all?true:false;
  var bIsNav  = !bIsIE;
   
  if (typeof sName != "string" ) {sName = sID;}
  
  if (bIsIE) {
    oObject = eval("document.all." + sID);
  } else { //Navigator
    if (frames.length > 0) {
			navLoop:
			for (var h = 0; h < frames.length; h++) {
				for (var i = 0; i < frames[h].document.forms.length; i++) {
					for (var j = 0; j < frames[h].document.forms[i].elements.length; j++) {
						if (frames[h].document.forms[i].elements[j].name == sName) {
							oObject = frames[h].document.forms[i].elements[j];
							break navLoop;
						}
					}
        }
      }
		} else {
			navNFLoop:
			for (var i = 0; i < document.forms.length; i++) {
				for (var j = 0; j < document.forms[i].elements.length; j++) {
					if (document.forms[i].elements[j].name == sName) {
						oObject = document.forms[i].elements[j];
						break navNFLoop;
					}
				}
			}
    }
    //oObject = eval("document.forms['" + sInForm + "']." + sName);
  }
  return oObject;
} //jsGetObjectRef

function jsResize(sWidth, sHeight) {
	window.resizeTo(sWidth,sHeight);
}

function jsResizeScreen(sWidth) {
	sHeight = window.outerHeight;
	window.resizeTo(sWidth,sHeight);
}

function jsPopup(sUrl) {
	var winOpen = window.open(sUrl,'Information','width=790,height=550,menubar=no,toolbar=no');
}

function jsPopupLong(sUrl) {
	var winOpen = window.open(sUrl,'Information','width=790,height=700,menubar=no,toolbar=no');
}

function jsPopupScroll(sUrl) {
	var winOpen = window.open(sUrl,'Information','width=790,height=550,menubar=no,toolbar=no,scrollbars=yes')
}

function jsPrint(sUrl) {
	var winOpen = window.open(sUrl,'Print','width=790,height=550,menubar=yes,resizable=yes,scrollbars=yes')
}

function jsNRCSSearch() {
	var keyword = getElmById('searchfield','searchfield');
	var sURL = 'http://www.usda.gov/wps/portal/!ut/p/_s.7_0_A/7_0_1OB?navid=SEARCH&amp;q=' + keyword.value;
	var winOpen = window.open(sURL,'Search','width=790,height=580,menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes');
}

function jsDisplayDiv(item, node){ 
	var itm=getElmById(item);
	var nde=getElmById(node);

	if (itm.style.display == 'none') {
		nde.src='images/minus.gif';
		itm.style.display ='block';
	} else {
		nde.src='images/plus.gif';
		itm.style.display ='none';
	}
}	
	
function ToggleFuelType() {

	// Get selected
	var systemTypeDDL = getElmById("ddlSystemType"); 
	var systemTypeID = systemTypeDDL.options[systemTypeDDL.selectedIndex].value;
	var fuelDDL = getElmById("ddlFuelType"); 
	
	if ( systemTypeID > 1 ) { fuelDDL.disabled = false; }
	else
	{
		fuelDDL.selectedIndex = 0;
		fuelDDL.disabled = true;
	}		
}

function PopulatePoultryEnergyUnitLink() {
	// Get selected
	var fuelDDL = getElmById("ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var energyUnit = "[energy unit]";
	
	var oModeCost = getElmById("lblEnergyUnitCost");
	var oModeUnit = getElmById("lblEnergyUnitUse");
	
	// Identify desired label
	switch (fuelID)
	{
		case '0': 
   		{ 
   			oModeCost.innerHTML = energyUnit;
   			oModeUnit.innerHTML = energyUnit;
   			break;   
   		}
   		case '1': 
   		{ 
   			energyUnit = 'MCF';  
   			oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnit.innerHTML = energyUnit;
   			break;   
   		}
    	case '2': 
    	{ 
    		energyUnit = 'Gallon'; 
    		var energyUnits = 'Gallons'; 
    		oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnit.innerHTML = energyUnits;
   			break; 
    	}
		default: { energyUnit = '[energy unit]'; break; }
	}
   		
	oModeCost.style.visibility="visible";
	oModeUnit.style.visibility="visible";
}

function PopulatePoultryEnergyUnitLinkOnly() {
	// Get selected
	var fuelDDL = getElmById("ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var energyUnit = "[energy unit]";
	
	var oModeCost = getElmById("lblEnergyUnitCost");
	var oModeUnit = getElmById("lblEnergyUnitUse");
	
	// Identify desired label
	switch (fuelID)
	{
		case '0': 
   		{ 
   			oModeCost.innerHTML = energyUnit;
   			oModeUnit.innerHTML = energyUnit;
   			break;   
   		}
   		case '1': 
   		{ 
   			energyUnit = 'MCF';  
   			oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnit.innerHTML = energyUnit;
   			break;   
   		}
    	case '2': 
    	{ 
    		energyUnit = 'Gallon'; 
    		var energyUnits = 'Gallons'; 
    		oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnit.innerHTML = energyUnits;
   			break; 
    	}
		default: { energyUnit = '[energy unit]'; break; }
	}
   		
	oModeCost.style.visibility="visible";
	oModeUnit.style.visibility="visible";
}

/* Default population of value for FACILITY ANNUAL FUEL USE */
function SetPoultryDefaultAnnualUse() {		
	var numHouses = getElmById("txtNumberHouses").value;
	var fuelDDL = getElmById("ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var defaultUse = numHouses;
	
	switch(fuelID)
	{
		case '0': 
   		{ 
   			defaultUse = "";
   			break;   
   		}
   		case '1':  // Natural gas in MCF
   		{ 
   			defaultUse *= 555;
   			break;   
   		}
    	case '2':   // Propane gallons
    	{ 
    		defaultUse *= 6000;
   			break; 
    	}
		default: { defaultUse = ""; break; }
	}
			
	var oModeAnnual = getElmById("txtAnnualFuel");
	oModeAnnual.value = defaultUse; 
}

function PopulateEnergyUnitLink() {
	var fuelDDL = getElmById("ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var energyUnit = "[energy unit]";
	
	var oModeCost = getElmById("lblEnergyUnitCost");
	var oModeUnitFarrow = getElmById("lblEnergyUnitUseFarrow");
	var oModeUnitNursery = getElmById("lblEnergyUnitUseNursery");
	var oModeUnitFinish = getElmById("lblEnergyUnitUseFinish");
	
	// Identify desired label
	switch (fuelID)
	{
		case '0': 
   		{ 
   			oModeCost.innerHTML = energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break;   
   		}
   		case '1': 
   		{ 
   			energyUnit = 'MCF';  
   			oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break;   
   		}
    	case '2': 
    	{ 
    		energyUnit = 'Gallon'; 
    		oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break; 
    	}
		default: { energyUnit = '[energy unit]'; break; }
	}
	
	oModeCost.style.visibility="visible";
	oModeUnitFarrow.style.visibility="visible";
	oModeUnitNursery.style.visibility="visible";
	oModeUnitFinish.style.visibility="visible";
	
	//jsSetDefaultAnnualUseAll();	
}

function ToggleTightenSelect(){

	var tightenYes = getElmById("CtlPoultryHeating_rblDrafts_0");  // Yes
	var tightenNo = getElmById("CtlPoultryHeating_rblDrafts_1");   // No
	var insulateYes = getElmById("CtlPoultryHeating_rblInsulated_0"); // Yes
	var insulateNo = getElmById("CtlPoultryHeating_rblInsulated_1");  // No
	
	if (typeof tightenYes == "object") 
	{
		if (!tightenYes.checked) { 
			insulateNo.checked = 'checked';
			insulateYes.setAttribute('disabled','disabled');
		}	
		else { 
			insulateYes.removeAttribute('disabled'); 
		}
	}
}

function ToggleTightenSwineSelect(housing) {
	var prefix = "";
	switch (housing)
	{
		case 'farrowing house':
			prefix = "CtlFarrowHeating";
			break;
		case 'nursery':
			prefix = "CtlNurseryHeating";
			break;
		case 'finishing house':
			prefix = "CtlFinishHeating";
			break;
	}
	
	var tightenYes = getElmById(prefix + '_rblDrafts_0'); 
	var tightenNo = getElmById(prefix + '_rblDrafts_1'); 
	var insulateYes = getElmById(prefix + '_rblInsulated_0'); 
	var insulateNo = getElmById(prefix + '_rblInsulated_1'); 
	
	if (typeof tightenYes == "object") 
	{
		if (!tightenYes.checked) { 
			insulateNo.checked = 'checked';
			insulateYes.setAttribute('disabled','disabled');
		}	
		else { 
			insulateYes.removeAttribute('disabled'); 
		}
	}
}

// Added 09-06-07
//If user answers No to #1 or #3, they should not have option of answering Yes to #2 or #4 respectively. 
function ToggleAirCirculationSelect(){

	// Option 1: Fans in Barn
	var fansBarnYes = getElmById("CtlAirCirculation_rblCFBarn_0");  // Yes
	var fansBarnNo = getElmById("CtlAirCirculation_rblCFBarn_1");   // No
	
	// Option 3: Fans in Parlor
	var fansParlorYes = getElmById("CtlAirCirculation_rblCFParlor_0"); // Yes
	var fansParlorNo = getElmById("CtlAirCirculation_rblCFParlor_1");  // No
	
	// Option 2: Clean fans in Barn
	var barnFansCleanYes = getElmById("CtlAirCirculation_rblFBSCleanBarn_0");  // Yes
	var barnFansCleanNo = getElmById("CtlAirCirculation_rblFBSCleanBarn_1");   // No
	
	// Option 4: Clean fans in Parlor
	var parlorFansCleanYes = getElmById("CtlAirCirculation_rblFBSCleanParlor_0"); // Yes
	var parlorFansCleanNo = getElmById("CtlAirCirculation_rblFBSCleanParlor_1");  // No
	
	if (typeof fansBarnYes == "object") 
	{
		if (!fansBarnYes.checked) { 
			barnFansCleanNo.checked = 'checked';
			barnFansCleanYes.setAttribute('disabled','disabled');
		}	
		else { 
			barnFansCleanYes.removeAttribute('disabled'); 
		}
	}
	
	if (typeof fansParlorYes == "object") 
	{
		if (!fansParlorYes.checked) { 
			parlorFansCleanNo.checked = 'checked';
			parlorFansCleanYes.setAttribute('disabled','disabled');
		}	
		else { 
			parlorFansCleanYes.removeAttribute('disabled'); 
		}
	}
}

function PopulateEnergyUnitLinkOnly() {

	// Get selected
	var fuelDDL = getElmById("ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var energyUnit = "[energy unit]";
	
	var oModeCost = getElmById("lblEnergyUnitCost");
	var oModeUnitFarrow = getElmById("lblEnergyUnitUseFarrow");
	var oModeUnitNursery = getElmById("lblEnergyUnitUseNursery");
	var oModeUnitFinish = getElmById("lblEnergyUnitUseFinish");
	
	// Identify desired label
	switch (fuelID)
	{
		case '0': 
   		{ 
   			oModeCost.innerHTML = energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break;   
   		}
   		case '1': 
   		{ 
   			energyUnit = 'MCF';  
   			oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break;   
   		}
    	case '2': 
    	{ 
    		energyUnit = 'Gallon'; 
    		oModeCost.innerHTML = "per " + energyUnit;
   			oModeUnitFarrow.innerHTML = energyUnit;
   			oModeUnitNursery.innerHTML = energyUnit;
   			oModeUnitFinish.innerHTML = energyUnit;
   			break; 
    	}
		default: { energyUnit = '[energy unit]'; break; }
	}
	
	oModeCost.style.visibility="visible";
	oModeUnitFarrow.style.visibility="visible";
	oModeUnitNursery.style.visibility="visible";
	oModeUnitFinish.style.visibility="visible";
}

function GetObjectText(obj){
	var retVal = obj.innerHTML;
	if ( browserinfo.isNav ) {retVal = obj.textContent;}
	return retVal;
}

function SetObjectText(obj, val){
	obj.value = val;
}

function PopulateEnergyCostUnitLink(initVal) {

	var fuelDDL = getElmById("CtlMilkingOperations_ddlFuelType"); 
	var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	var energyUnit = "[energy unit]";
	
	var oModeCost = getElmById("CtlMilkingOperations_lblEnergyUnitCost");	
	var oModeElectric = getElmById("lblHiddenElectric");	
	var kwhVal = GetObjectText(oModeElectric);
	var txtElectric = getElmById("CtlMilkingOperations_txtFuelCost");	
	
	switch (fuelID)
	{
		case '0': 
   		{ 
   			oModeCost.innerHTML = energyUnit;
   			
   			SetObjectText(txtElectric,"");
   			txtElectric.removeAttribute('disabled');
   			
   			break;   
   		}
   		case '1': // Electricity
   		{ 
   			energyUnit = 'kWh';  
   			oModeCost.innerHTML = "per " + energyUnit;
   			
   			SetObjectText(txtElectric,kwhVal);
   			txtElectric.setAttribute('disabled','disabled');
   			
   			break;   
   		}
    	case '2':	// Natural Gas
    	{ 
    		energyUnit = 'MCF'; 
    		oModeCost.innerHTML = "per " + energyUnit;
    		
    		if (initVal) {SetObjectText(txtElectric,""); }
   			txtElectric.removeAttribute('disabled');
   			
   			break; 
    	}
    	case '3':	// Propane 
    	case '4':	// Fuel Oil
    	{ 
    		energyUnit = 'Gallon'; 
    		oModeCost.innerHTML = "per " + energyUnit;
    		
    		if (initVal) {SetObjectText(txtElectric,""); }
   			txtElectric.removeAttribute('disabled');
    		
   			break; 
    	}
		default: { energyUnit = '[energy unit]'; break; }
	}
	oModeCost.style.visibility="visible";
}

/* Default population of value for FACILITY ANNUAL FUEL USE */
function jsSetDefaultAnnualUseAll () {
	jsSetDefaultAnnualUseFarrow();
	jsSetDefaultAnnualUseNursery();
	jsSetDefaultAnnualUseFinish();
}

/* Default population of value for FACILITY ANNUAL FUEL USE */
function jsSetDefaultAnnualUse() {

	alert("Find a bug");
}

/* Default population of value for FACILITY ANNUAL FUEL USE FARROW */
function jsSetDefaultAnnualUseFarrow() {

	/* Set default use */
	var defaultUse = "";
			
	/* IFF HEAT MONTHS IS GREATER THAN 0 */
	var numMonthsFarrow = getElmById("txtHeatMonthsFarrow").value;

	if (isValidNumber(numMonthsFarrow))
	{
		/* IFF FUEL ID IS > 0 */
		var fuelDDL = getElmById("ddlFuelType"); 
		var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	
		if (isPositiveInteger(fuelID) )
		{
			var numCrates = getElmById("txtNumberCrates").value;
			numCrates = numCrates*9*13; // Where 9 is litter size and 13 is litters per year
			
			if (!isPositiveInteger(numCrates)) { numCrates = 0; }
			
			if ( numCrates > 0 )
			{
				var BGF = 0.0; 
				if (fuelID == "2" ) { BGF = 0.004; /* Propane */ }
				if (fuelID == "1" ) { BGF = 0.0004; /* Natural Gas */ }
				
				defaultUse = BGF * numCrates * (numMonthsFarrow*30);
				if (defaultUse == 0) { defaultUse = ""; }
				else { defaultUse = defaultUse.toFixed(0); }
			}
		}
	}
	
	var oModeAnnual = getElmById("txtAnnualFuelFarrow");
	oModeAnnual.value = defaultUse; 
}

/* Default population of value for FACILITY ANNUAL FUEL USE NURSERY */
function jsSetDefaultAnnualUseNursery() {

	/* Set default use */
	var defaultUse = "";
			
	/* IFF HEAT MONTHS IS GREATER THAN 0 */
	var numMonthsNursery = getElmById("txtHeatMonthsNursery").value;

	if (isValidNumber(numMonthsNursery))
	{
		/* IFF FUEL ID IS > 0 */
		var fuelDDL = getElmById("ddlFuelType"); 
		//var fuelDDL = document.getElementById("ddlFuelType"); 
		var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	
		if (isPositiveInteger(fuelID) )
		{
			var numFeeders = getElmById("txtNumberWeanerHogs").value;
			
			if (!isPositiveInteger(numFeeders)) { numFeeders = 0; }
			
			if ( numFeeders > 0 )
			{
				var BGF = 0.0; 
				if (fuelID == "2" ) { BGF = 0.008; /* Propane */ }
				if (fuelID == "1" ) { BGF = 0.0008; /* Natural Gas */ }
				
				defaultUse = BGF * numFeeders * (numMonthsNursery*30);
				
				if (defaultUse == 0) { defaultUse = ""; }
				else { defaultUse = defaultUse.toFixed(0); }
			}
		}
	}
	
	var oModeAnnual = getElmById("txtAnnualFuelNursery");
	oModeAnnual.value = defaultUse; 
}

/* Default population of value for FACILITY ANNUAL FUEL USE FINISH */
function jsSetDefaultAnnualUseFinish() {

	/* Set default use */
	var defaultUse = "";
			
	/* IFF HEAT MONTHS IS GREATER THAN 0 */
	var numMonthsFinish = getElmById("txtHeatMonthsFinish").value;

	if (isValidNumber(numMonthsFinish))
	{
		/* IFF FUEL ID IS > 0 */
		var fuelDDL = getElmById("ddlFuelType"); 
		var fuelID = fuelDDL.options[fuelDDL.selectedIndex].value;
	
		if (isPositiveInteger(fuelID) )
		{
			var numHogs = getElmById("txtNumberHogs").value;  
			
			if (!isPositiveInteger(numHogs)) { numHogs = 0; }
			
			if ( numHogs > 0 )
			{
				var BGF = 0.0; 
				if (fuelID == "2" ) { BGF = 0.008; /* Propane */ }
				if (fuelID == "1" ) { BGF = 0.0008; /* Natural Gas */ }
				
				defaultUse = BGF * numHogs * (numMonthsFinish*30);
				
				if (defaultUse == 0) { defaultUse = ""; }
				else { defaultUse = defaultUse.toFixed(0); }
			}
		}
	}
	
	var oModeAnnual = getElmById("txtAnnualFuelFinish");
	oModeAnnual.value = defaultUse; 
}

function isPositiveInteger(val){
      if(val==null){return false;}
      if (val.length==0){return false;}
      for (var i = 0; i < val.length; i++) {
            var ch = val.charAt(i)
            if (ch < "0" || ch > "9") {
            return false
            }
      }
      return true;
}

function isValidNumber(val){
      if(val==null){return false;}
      if (val.length==0){return false;}
      var DecimalFound = false
      for (var i = 0; i < val.length; i++) {
            var ch = val.charAt(i)
            if (i == 0 && ch == "-") {
                  continue
            }
            if (ch == "." && !DecimalFound) {
                  DecimalFound = true
                  continue
            }
            if (ch < "0" || ch > "9") {
                  return false
            }
      }
      return true
}

function jsWindow(sUrl, sTitle, sOptions) {
  var winOpen = window.open(sUrl, sTitle, sOptions)
}



