var w = window;var d = document;var f = d.forms[0];var eSelect;var eOption;var eTable;var eTBody;var eRow;var eCell;var blnSummary = false;///////////////////////////////////////////////////////////////////////////////////////function initialize(){	d.getElementById('radioMunicipalities').checked = true;	d.getElementById('radioRiskAreas').checked = false;	d.getElementById('textRegions').firstChild.data = 'Selected: *NONE';	d.getElementById('textRegions').style['color'] = 'green';	d.getElementById('textCrops').firstChild.data = 'Selected: *NONE';	d.getElementById('textCrops').style['color'] = 'green';	d.getElementById('textSoilZones').firstChild.data = 'Selected: *NONE';	d.getElementById('textSoilZones').style['color'] = 'green';	d.getElementById('textFromYear').firstChild.data = 'Selected: ---- to ----';	d.getElementById('textFromYear').style['color'] = 'green';	d.getElementById('dataRegions').value = '';	d.getElementById('dataCrops').value = '';	d.getElementById('dataSoilZones').value = '';	d.getElementById('textResultsRows').firstChild.data = '0';	populateRegions();	populateFromYear();	populateToYear();	populateCrops();	populateSoilZones();		window.scroll(0, 0);}///////////////////////////////////////////////////////////////////////////////////////function populateCrops(){	var listName = 'Crops';		showLoadingList(listName);			var parameters = '&&List=' + listName + '&&';		getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + '/mmpp.nsf/agentSearchFertilizer?OpenAgent', parameters, listName);		return;}///////////////////////////////////////////////////////////////////////////////////////function populateRegions(){	var listName = 'Regions';		var parameters = '&&List=' + listName + '&&Region=';	if(d.getElementById('radioMunicipalities').checked)	{	parameters = parameters + 'M';	} else	{	if(d.getElementById('radioRiskAreas').checked)		{	parameters = parameters + 'R';		} else		{	return;		}	}		showLoadingList(listName);		parameters = parameters + '&&';		getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + '/mmpp.nsf/agentSearchFertilizer?OpenAgent', parameters, listName);		return;}///////////////////////////////////////////////////////////////////////////////////////function populateSoilZones(){	var listName = 'SoilZones';		showLoadingList(listName);		var parameters = '&&List=' + listName + '&&';		getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + '/mmpp.nsf/agentSearchFertilizer?OpenAgent', parameters, listName);		return;}///////////////////////////////////////////////////////////////////////////////////////function populateFromYear(){	var listName = 'FromYear';		showLoadingList(listName);		var parameters = '&&List=' + listName + '&&';		getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + '/mmpp.nsf/agentSearchFertilizer?OpenAgent', parameters, listName);		return;}///////////////////////////////////////////////////////////////////////////////////////function populateToYear(){	var listName = 'ToYear';		showLoadingList(listName);		var parameters = '&&List=' + listName + '&&';		getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + '/mmpp.nsf/agentSearchFertilizer?OpenAgent', parameters, listName);		return;}///////////////////////////////////////////////////////////////////////////////////////function populateSearchResults(mode){	var blnPass = true;	if(trim(d.getElementById('dataRegions').value) == '')	{	d.getElementById('textRegions').firstChild.data = 'ERROR: At least one region must be selected.';		d.getElementById('textRegions').style['color'] = 'green';		blnPass = false;	}		if(trim(d.getElementById('dataCrops').value) == '')	{	d.getElementById('textCrops').firstChild.data = 'ERROR: At least one crop must be selected.';		d.getElementById('textCrops').style['color'] = 'green';		blnPass = false;	}		if(trim(d.getElementById('dataSoilZones').value) == '')	{	d.getElementById('textSoilZones').firstChild.data = 'ERROR: At least one soil zone must be selected.';		d.getElementById('textSoilZones').style['color'] = 'green';		blnPass = false;	}		var strFromYear = trim(d.getElementById('listFromYear')[d.getElementById('listFromYear').selectedIndex].text);		var strToYear = trim(d.getElementById('listToYear')[d.getElementById('listToYear').selectedIndex].text);	if(strFromYear == '----')	{	d.getElementById('textFromYear').firstChild.data = 'ERROR: The start year must be selected.';		d.getElementById('textFromYear').style['color'] = 'green';		blnPass = false;	} else	{	if(strToYear != '----' && strFromYear > strToYear)		{	d.getElementById('textFromYear').firstChild.data = 'ERROR: The end year cannot be greater than the start year.';			d.getElementById('textFromYear').style['color'] = 'green';			blnPass = false;		}	}		if(blnPass == false)	{	return;	}		switch (mode)	{	case 'download':			break;		default:			showLoadingTable();						d.getElementById('divParameters').style['visibility']='hidden';			d.getElementById('divParameters').style['display']='none';			d.getElementById('divResult').style['visibility']='visible';			d.getElementById('divResult').style['display']='block';						d.getElementById('textResultsRows').firstChild.data = '0';				window.scroll(0, 0);	}		var listName = 'SearchResults';		var parameters = '&&List=' + listName;	switch (true)	{	case d.getElementById('radioMunicipalities').checked:			parameters = parameters + '&&RegionsType=M';			break;		case 	d.getElementById('radioRiskAreas').checked:			parameters = parameters + '&&RegionsType=R';			break;		default:			parameters = parameters + '&&RegionsType=?';	}	parameters = parameters + '&&Regions=' + d.getElementById('dataRegions').value;	parameters = parameters + '&&Crops=' + d.getElementById('dataCrops').value;	parameters = parameters + '&&SoilZones=' + d.getElementById('dataSoilZones').value;	parameters = parameters + '&&Range=' + trim(d.getElementById('listFromYear')[d.getElementById('listFromYear').selectedIndex].text) + ',' + trim(d.getElementById('listToYear')[d.getElementById('listToYear').selectedIndex].text);	parameters = parameters + '&&';		var URL = '/mmpp.nsf/agentSearchFertilizer?OpenAgent'	switch (mode)	{	case 'download':			location.href = URL + parameters;			break;		default:			getRequestViaHTTP(w.location.protocol + '//' + w.location.hostname + URL, parameters, listName);	}		return;}///////////////////////////////////////////////////////////////////////////////////////function populateList(listName, responseText){	switch (listName)	{	case 'SearchResults':			populateSearchResultsText(responseText);			break;		default:			populateListText(listName, responseText);	}}function populateSearchResultsText(responseText){	d.getElementById('farmSummary').firstChild.data ='0';	d.getElementById('farmSummary').style['color'] = 'black';	d.getElementById('acresSummary').firstChild.data ='0.0';	d.getElementById('yieldAvgImperialSummary').firstChild.data ='0';	d.getElementById('yieldAvgImperialuofmSummary').firstChild.data ='yield';	d.getElementById('yieldAvgMetricSummary').firstChild.data ='0.000';	d.getElementById('nitrogenMetric').firstChild.data ='0.000';	d.getElementById('nitrogenPerAcre').firstChild.data ='0.0';	d.getElementById('phosphorusMetric').firstChild.data ='0.000';	d.getElementById('phosphorusPerAcre').firstChild.data ='0.0';	d.getElementById('potassiumMetric').firstChild.data ='0.000';	d.getElementById('potassiumPerAcre').firstChild.data ='0.0';	d.getElementById('sulphurMetric').firstChild.data ='0.000';	d.getElementById('sulphurPerAcre').firstChild.data ='0.0';		var fieldName;	var arrayEntry = new(Array);	var arrayResponse = new(Array);		blnSummary = false;		arrayResponse = responseText.split(/\r/);		var numberRows = 0;	if(arrayResponse.length > 3)	{	numberRows = arrayResponse.length - 3;	}	d.getElementById('textResultsRows').firstChild.data = numberRows.toString();		eTable = d.getElementById('displayTable');	eTBody = d.getElementById('displayTBody');	eTable.removeChild(eTBody);		eTBody = d.createElement('tbody');	eTBody.id = 'displayTBody';	eTBody.name = 'displayTBody';	eTable.appendChild(eTBody);		// Headings and Details	for(var i = 0; i < arrayResponse.length; i++)	{	eRow = d.createElement('tr');		eRow.width ='600';		if((i / 2) == round(i / 2, 0))		{	eRow.style['background'] = '#FDFDFD';		} else		{	eRow.style['background'] = '#DCEED8';		}				eTBody.appendChild(eRow);			arrayEntry = arrayResponse[i].split(/\t/);				for(var j = 0; j < arrayEntry.length; j++)		{	eCell = d.createElement('td');			eCell.noWrap = true;						if(j == 0 && arrayEntry.length == 1)			{	if(trim(arrayEntry[0]) == 'Summary')				{	blnSummary = true;				} else				{	eCell.appendChild(d.createTextNode('* * *   ' + trim(arrayEntry[0]) + '   * * *'));					eCell.colSpan = '23';					eCell.align = 'center';				} 			} else			{	if(blnSummary != true)				{	if(j == 4 && trim(arrayEntry[j]) == 'Below')					{	eCell.appendChild(d.createTextNode('* * *   Below Minimum Tolerance of 500 Acres OR 3 Farms   * * *'));						eCell.colSpan = '15';						eCell.align = 'center';						j = arrayEntry.length;					} else					{	if((j == 8) && trim(arrayEntry[j]) == 'Non-Standard')						{	eCell.appendChild(d.createTextNode('* * *   Non-Standard   * * *'));							eCell.align = 'center';							j = j + 1;						} else						{	if(j == 6 || j == 8)							{	eCell.appendChild(d.createTextNode(trim(arrayEntry[j]) + ' ' + trim(arrayEntry[j + 1])));								eCell.align = 'right';								j = j + 1;							} else							{	eCell.appendChild(d.createTextNode(trim(arrayEntry[j])));								if(j >= 4)								{		eCell.align = 'right';								}							}						}						}				} else				{	// Summary Tab					switch (j)					{	case 4:							fieldName = "farmSummary"							if(trim(arrayEntry[4]) == 'Below')							{	d.getElementById(fieldName).firstChild.data = 'Below Minimum Tolerance (3) for';							} else							{	d.getElementById(fieldName).firstChild.data = arrayEntry[j];							}							break;						case 5:							fieldName = "acresSummary"							if(trim(arrayEntry[4]) == 'Below')							{	d.getElementById(fieldName).firstChild.data = 'Below Minimum Tolerance (500) for';							} else							{	var bmtCheck = (arrayEntry[j]);								bmtCheck = stripCommas(bmtCheck);								bmtCheck = parseFloat(bmtCheck);								bmtCheck = bmtCheck.toFixed(0);								d.getElementById(fieldName).firstChild.data = addCommas(bmtCheck);							}							break;						case 6:							fieldName = "yieldAvgMetricSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	var yieldAvgMetricSummary = (formatNumber(arrayEntry[j], 3, 0));								//yieldAvgMetricSummary = parseFloat(yieldAvgMetricSummary);								//yieldAvgMetricSummary = yieldAvgMetricSummary.toFixed(3);								d.getElementById(fieldName).firstChild.data = yieldAvgMetricSummary;							}							break;						case 8:							fieldName = "yieldAvgImperialSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	switch(trim(arrayEntry[j+1]))								{	case "Bushels":										var yieldAvgImperialSummary = (formatNumber(arrayEntry[j], 1, 0));										//yieldAvgImperialSummary = parseFloat(yieldAvgImperialSummary);										//yieldAvgImperialSummary = yieldAvgImperialSummary.toFixed(1);										d.getElementById(fieldName).firstChild.data = yieldAvgImperialSummary;										break;									case "Pounds":										var yieldAvgImperialSummary = (formatNumber(arrayEntry[j], 0, 0));										//yieldAvgImperialSummary = parseFloat(yieldAvgImperialSummary);										//yieldAvgImperialSummary = yieldAvgImperialSummary.toFixed(0);										d.getElementById(fieldName).firstChild.data = yieldAvgImperialSummary;										break;									case "CWT":										var yieldAvgImperialSummary = (formatNumber(arrayEntry[j], 2, 0));										//yieldAvgImperialSummary = parseFloat(yieldAvgImperialSummary);										//yieldAvgImperialSummary = yieldAvgImperialSummary.toFixed(2);										d.getElementById(fieldName).firstChild.data = yieldAvgImperialSummary;										break;									case "Tons":										var yieldAvgImperialSummary = (formatNumber(arrayEntry[j], 3, 0));										//yieldAvgImperialSummary = parseFloat(yieldAvgImperialSummary);										//yieldAvgImperialSummary = yieldAvgImperialSummary.toFixed(3);										d.getElementById(fieldName).firstChild.data = yieldAvgImperialSummary;										break;									case "Measure":										var yieldAvgImperialSummary = (formatNumber(arrayEntry[j], 3, 0));										//yieldAvgImperialSummary = parseFloat(yieldAvgImperialSummary);										//yieldAvgImperialSummary = yieldAvgImperialSummary.toFixed(3);										d.getElementById(fieldName).firstChild.data = 'Non-Standard Measure';										break;								}							}							break;						case 9:							fieldName = "yieldAvgImperialuofmSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	switch(trim(arrayEntry[j]))								{	case "Measure":										d.getElementById(fieldName).firstChild.data = '';										break;									default:										d.getElementById(fieldName).firstChild.data = (arrayEntry[j]);								}							}							break;						case 10:							fieldName = "nitrogenSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	var nitrogen = arrayEntry[j];								nitrogen = stripCommas(nitrogen);								nitrogen = parseFloat(nitrogen);								nitrogen = nitrogen.toFixed(1);								d.getElementById("nitrogenPerAcre").firstChild.data = nitrogen;								var nitrogenMetric = parseFloat(nitrogen);								nitrogenMetric = (nitrogenMetric / 2204.62262);								nitrogenMetric = nitrogenMetric.toFixed(3);								d.getElementById("nitrogenMetric").firstChild.data = nitrogenMetric;							}							break;						case 11:							fieldName = "phosphorusSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	var phosphorus = arrayEntry[j];								phosphorus = stripCommas(phosphorus);								phosphorus = parseFloat(phosphorus);								phosphorus = phosphorus.toFixed(1);								d.getElementById("phosphorusPerAcre").firstChild.data = phosphorus;								var phosphorusMetric = parseFloat(phosphorus);								phosphorusMetric = (phosphorusMetric / 2204.62262);								phosphorusMetric = phosphorusMetric.toFixed(3);								d.getElementById("phosphorusMetric").firstChild.data = phosphorusMetric;							}							break;						case 12:							fieldName = "potassiumSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	var potassium = arrayEntry[j];								potassium = stripCommas(potassium);								potassium = parseFloat(potassium);								potassium = potassium.toFixed(1);								d.getElementById("potassiumPerAcre").firstChild.data = potassium;								var potassiumMetric = parseFloat(potassium);								potassiumMetric = (potassiumMetric / 2204.62262);								potassiumMetric = potassiumMetric.toFixed(3);								d.getElementById("potassiumMetric").firstChild.data = potassiumMetric;							}							break;						case 13:							fieldName = "sulphurSummary"							if(trim(arrayEntry[4]) == 'Below')							{	// continue							} else							{	var sulphur = arrayEntry[j];								sulphur = stripCommas(sulphur);								sulphur = parseFloat(sulphur);								sulphur = sulphur.toFixed(1);								d.getElementById("sulphurPerAcre").firstChild.data = sulphur;								var sulphurMetric = parseFloat(sulphur);								sulphurMetric = (sulphurMetric / 2204.62262);								sulphurMetric = sulphurMetric.toFixed(3);								d.getElementById("sulphurMetric").firstChild.data = sulphurMetric;							}							break;						default:							fieldName = "";					}				}			}						if(blnSummary != true)			{	eRow.appendChild(eCell);							if (j < (arrayEntry.length - 1))				{	eCell = d.createElement('td');					eCell.appendChild(d.createTextNode("\u00a0\u00a0"));					eRow.appendChild(eCell);				}			}		}	}		// End of Data	if(arrayResponse.length > 1)	{	eRow = d.createElement('tr');		if((arrayResponse.length / 2) == round(arrayResponse.length / 2, 0))		{	eRow.style['background'] = '#FDFDFD';		} else		{	eRow.style['background'] = '#DCEED8';		}		eTBody.appendChild(eRow);				eCell = d.createElement('td');		eCell.appendChild(d.createTextNode('* * *   End   Of   Data   * * *'));		eCell.colSpan = '23';		eCell.align = 'center';			eRow.appendChild(eCell);	}}///////////////////////////////////////////////////////////////////////////////////////function populateListText(listName, responseText){	var arrayEntry = new(Array);	var arrayResponse = new(Array);	arrayResponse = responseText.split(/\r/);			// Remove the data from the listbox.	var parent = d.getElementById('div' + listName);	var child = d.getElementById('list' + listName);	parent.removeChild(child);		eSelect = d.createElement('select');	eSelect.name = 'list' + listName;	eSelect.id = 'list' + listName;	addonChange(eSelect);	switch (true)	{	case listName == 'SoilZones':			eSelect.style['width'] = '300px';			eSelect.multiple = true;			eSelect.size = 11;			break;		case listName == 'Regions' || listName == 'Crops':			eSelect.style['width'] = '300px';			eSelect.multiple = true;			eSelect.size = 10;			break;		case listName == 'FromYear' || listName == 'ToYear':			eSelect.style['width'] = '55px';			break;	}	parent.appendChild(eSelect);			for(var i = 0; i < arrayResponse.length; i++)	{	eOption = d.createElement('option')		arrayEntry = arrayResponse[i].split(/\t/);		eOption.value = arrayEntry[1];		eSelect.appendChild(eOption);		eOption.appendChild(d.createTextNode(arrayEntry[0]));	}			switch (true)	{	case listName == 'Regions' || listName == 'Crops' || listName == 'SoilZones':			d.getElementById('text' + listName).firstChild.data = 'Selected: *NONE';			d.getElementById('text' + listName).style['color'] = 'green';			d.getElementById('data' + listName).value = '';			break;		case listName == 'FromYear':			d.getElementById('text' + listName).firstChild.data = 'Selected: ---- to ----';			d.getElementById('text' + listName).style['color'] = 'green';			break;	}		return;}///////////////////////////////////////////////////////////////////////////////////////function addonChange(obj){	if (obj.addEventListener)	{	// Mozilla, Firefox, Netscape, etc.		obj.addEventListener("change", showCriteria , false);	} else	{	if (obj.attachEvent)		{	// Internet Explorer			obj.attachEvent("onchange", showCriteria);		}	}}///////////////////////////////////////////////////////////////////////////////////////function showCriteria(evt){	var triggeredBy = "";	var textList = "";	var dataList = "";		if (evt["target"])	{	 // Mozilla, Firefox, Netscape, etc.		triggeredBy = evt["target"]["id"];	} else	{	if (evt["srcElement"])		{	// Internet Explorer			triggeredBy = evt["srcElement"]["id"];		} else		{	alert("ERROR: Unable to process this request.");			return;		}	}		for(var i=0; i < d.getElementById(triggeredBy).length; i++)	{	if(d.getElementById(triggeredBy)[i].selected)		{	if(textList != '')	{	textList = textList + ', ';	}			textList = textList + trim(d.getElementById(triggeredBy)[i].text);						if(dataList != '')	{	dataList = dataList + ',';	}			dataList = dataList + trim(d.getElementById(triggeredBy)[i].value);						if(i==0 && trim(d.getElementById(triggeredBy)[i].value) == '*')			{	i = d.getElementById(triggeredBy).length;			}		}	}		var listName = triggeredBy.substr(4,triggeredBy.length - 4);	switch (true)	{	case listName == 'Regions' || listName == 'Crops' || listName == 'SoilZones':			d.getElementById('text' + triggeredBy.substr(4,triggeredBy.length - 4)).firstChild.data = 'Selected: ' + textList;			d.getElementById('text' + triggeredBy.substr(4,triggeredBy.length - 4)).style['color'] = 'green';			d.getElementById('data' + triggeredBy.substr(4,triggeredBy.length - 4)).value = dataList;			break;		case listName == 'FromYear' || listName == 'ToYear':			d.getElementById('textFromYear').firstChild.data = 'Selected: ' + trim(d.getElementById('listFromYear')[d.getElementById('listFromYear').selectedIndex].text) + ' to ' + trim(d.getElementById('listToYear')[d.getElementById('listToYear').selectedIndex].text);			d.getElementById('textFromYear').style['color'] = 'green';			break;	}}///////////////////////////////////////////////////////////////////////////////////////function newSearch(){	d.getElementById('divResult').style['visibility']='hidden';	d.getElementById('divResult').style['display']='none';	d.getElementById('divParameters').style['visibility']='visible';	d.getElementById('divParameters').style['display']='block';		d.getElementById('farmSummary').firstChild.data ='loading...';	d.getElementById('farmSummary').style['color'] = 'red';	d.getElementById('acresSummary').firstChild.data ='0.0';	d.getElementById('yieldAvgImperialSummary').firstChild.data ='0';	d.getElementById('yieldAvgImperialuofmSummary').firstChild.data ='yield';	d.getElementById('yieldAvgMetricSummary').firstChild.data ='0.000';	d.getElementById('nitrogenMetric').firstChild.data ='0.000';	d.getElementById('nitrogenPerAcre').firstChild.data ='0.0';	d.getElementById('phosphorusMetric').firstChild.data ='0.000';	d.getElementById('phosphorusPerAcre').firstChild.data ='0.0';	d.getElementById('potassiumMetric').firstChild.data ='0.000';	d.getElementById('potassiumPerAcre').firstChild.data ='0.0';	d.getElementById('sulphurMetric').firstChild.data ='0.000';	d.getElementById('sulphurPerAcre').firstChild.data ='0.0';		window.scroll(0, 0);}///////////////////////////////////////////////////////////////////////////////////////function showLoadingList(listName){	// Remove the data from the listbox.	var parent = d.getElementById('div' + listName);	var child = d.getElementById('list' + listName);	parent.removeChild(child);		eSelect = d.createElement('select');	eSelect.name = 'list' + listName;	eSelect.id = 'list' + listName;	switch (true)	{	case listName == 'SoilZones':			eSelect.style['width'] = '300px';			eSelect.size = 11;			break;		case listName == 'Regions' || listName == 'Crops':			eSelect.style['width'] = '300px';			eSelect.size = 10;			break;		case listName == 'FromYear' || listName == 'ToYear':			eSelect.style['width'] = '55px';			break;	}	parent.appendChild(eSelect);		eOption = d.createElement('option')	eOption.style['color'] = 'red'	eSelect.appendChild(eOption);	eOption.appendChild(d.createTextNode('loading...'));}///////////////////////////////////////////////////////////////////////////////////////function copySummary() {var regionSummary = d.getElementById("textRegions").firstChild.data;d.getElementById("regionSummary").firstChild.data = regionSummary;var cropSummary = d.getElementById("textCrops").firstChild.data;d.getElementById("cropSummary").firstChild.data = cropSummary;var soilSummary = d.getElementById("textSoilZones").firstChild.data;d.getElementById("soilSummary").firstChild.data = soilSummary;var fromYearSummary = d.getElementById("textFromYear").firstChild.data;if(fromYearSummary.substr(18,4) == "----"){	fromYearSummary = fromYearSummary.substr(0,18) + fromYearSummary.substr(10,4)}d.getElementById("fromYearSummary").firstChild.data = fromYearSummary;}
