//AUTHOR: ERIC FREIER WEATHERBANK,INC.
//DATE: SEP 2009
//WEATHERBANK CRITERIA CALCULATOR
function setDefaultValues()
{

	dataType="1";
	HDtype = "h";
	
	loc="73034";
	
	smonth_m=1;
	smonth_mmm="JAN";	
	syear_yyyy=2008;
	emonth_m=12;
	emonth_mmm="DEC";	
	eyear_yyyy=2008;	
	
	sdate="";
	edate="";
	
	//active cell flags
	c1 = 1;
	c2 = 0;
	c3 = 0;
	
	param1 = "tmp";
	param1_index = "0";
	param2 = "hum";
	param2_index = "1";
	param3 = "clc";
	param3_index = "2";
	
	param1Ineq = "1";
	param2Ineq = "1";
	param3Ineq = "1";
	
	param1Crit_Min = "";
	param1Crit_Max = "";
	param2Crit_Min = "";
	param2Crit_Max = "";
	param3Crit_Min = "";
	param3Crit_Max = "";

	//default empty request values
	tMin = -999;
	tMax = 999;
	rhMin = -999;
	rhMax = 999;
	ccMin = -999;
	ccMax = 999;
	wsMin = -999;
	wsMax = 999;
	wdMin = -999;
	wdMax = 999;
	pcpMin = -999;
	pcpMax = 999;
	snowMin = -999;
	snowMax = 999;
	maxtMin = -999;
	maxtMax = 999;
	mintMin = -999;
	mintMax = 999;
	avgtMin = -999;
	avgtMax = 999;
	avgccMin = -999;
	avgccMax = 999;
	avgwsMin = -999;
	avgwsMax = 999;
	maxgstMin = -999;
	maxgstMax = 999;
	avgwdMin = -999;
	avgwdMax = 999;
	totpcpMin = -999;
	totpcpMax = 999;
	totsnowMin = -999;
	totsnowMax = 999;
	
	numParams = 0;
	
	locationDate_summaryString = "";
	param1_summaryString = "";
	param2_summaryString = "";
	param3_summaryString = "";
	inperiod_summaryString = "";
	perperiod_summaryString = "";	
	
	dispIneq1="";
	dispIneq2="";
	dispIneq3="";	
	
}

function setFormDefaults()
{
	
	//FILL IN THE DISPLAY DATATYPE		
	if(dataType=="1")
	{
		dispDataTypeText = "NUMBER OF OCCURENCES WITH";
	}
	else if(dataType=="2")
	{
		dispDataTypeText = "AVERAGE MEASURED VALUE OF";
	}
	else if(dataType=="3")
	{
		dispDataTypeText = "TOTAL MEASURED VALUE OF";
	}
	else if(dataType=="4")
	{
		dispDataTypeText = "DATE OF FIRST/LAST OCCURENCE WITH";
	}	
			
	for(var q=1; q<=3; q++)
	{
		document.getElementById("dispDataType" + q).innerHTML = dispDataTypeText + '&nbsp';
	}
	
	//FILL IN THE DISPLAY PARAM
	for(var q=1; q<=3; q++)
	{
		if(q==1)
		{
			dispParamText = hourlyParamLabels[Number(param1_index)];
		}
		else if(q==2)
		{
			dispParamText = hourlyParamLabels[Number(param2_index)];
		}
		else if(q==3)
		{
			dispParamText = hourlyParamLabels[Number(param3_index)];
		}
			
		document.getElementById("dispParam" + q).innerHTML = dispParamText;
	}
	
	//create cell1
	//document.getElementById("cell1").innerHTML = fillCell(1);
	
	//FILL IN THE INEQ
	document.getElementById("dispIneq1").innerHTML = createIneq(1);	
	
	//FILL IN THE CRITERIA INPUT
	if(param1Ineq != "4")
	{
		document.getElementById("dispCriteriaMin1").innerHTML = createCriteriaMin_input(1);
		document.getElementById("dispCriteriaMax1").innerHTML = "";		
	}
	else if(param1Ineq == "4")//only do the second criteria input if the param ineq is "between"
	{
		document.getElementById("dispCriteriaMin1").innerHTML = createCriteriaMin_input(1);	
		document.getElementById("dispCriteriaMax1").innerHTML = createCriteriaMax_input(1);
	}	
	
	//create blank cell2 and cell3
	c2=0;
	c3=0;
	document.getElementById("cell2").innerHTML = fillBlank(2);
	document.getElementById("cell3").innerHTML = fillBlank(3);
	
	//create blank cell4...return cell
	document.getElementById("cell4").innerHTML = fillReturnBlank(0);													   
	
}

function createLocation_input()
{
	document.write('LOCATION: &nbsp;');
	document.write('<input type="text" id="loc_input" name="loc_input" value=' + loc + ' maxlength="7" size="7" />');
}

function createDataType_input()
{
	document.write('TYPE OF DATA: &nbsp;');
	
	document.write('<select id="dataType_input" name="dataType_input" size="1">');
	for(var i=0; i<typeDataTypes.length; i++)
	{
		dataTypeValue=typeDataTypes[i];
		dataLabel=typeDataLabels[i];
		if(i==0)
		{
			document.write('<option value=' + dataTypeValue + ' selected="selected">' + dataLabel);
		}
		else
		{
			document.write('<option value=' + dataTypeValue + ' >' + dataLabel);
		}
	}
	document.write('</select>');

}

function createPeriodStart_input()
{

	document.write('PERIOD START: &nbsp;');
	document.write('<select id="smonthList_input" name="smonthList_input" size="1">');
	document.write('<option value="1" selected="selected"> JANUARY');
	document.write('<option value="2"> FEBRUARY');
	document.write('<option value="3"> MARCH');
	document.write('<option value="4"> APRIL');
	document.write('<option value="5"> MAY');
	document.write('<option value="6"> JUNE');
	document.write('<option value="7"> JULY');
	document.write('<option value="8"> AUGUST');
	document.write('<option value="9"> SEPTEMBER');
	document.write('<option value="10"> OCTOBER');
	document.write('<option value="11"> NOVEMBER');
	document.write('<option value="12"> DECEMBER');																																																																																							
	document.write('</select>');
	document.write('&nbsp;');
	
	document.write('<select id="syear_input" name="syear_input" size="1">');
	for(var i=1979; i<=2008; i++)
	{
		if(i==2008)
		{
			document.write('<option value="' + i + '" selected="selected">' + i);
		}
		else if(i!=2008)
		{
			document.write('<option value="' + i + '">' + i);
		}
	}
	document.write('</select>');	
	
	//document.write('<input type="text" id="syear_input" name"syear_input" value=' + syear + ' maxlength="4" size="4"/>');
}

function createPeriodEnd_input()
{

	document.write('THROUGH PERIOD END: &nbsp;');
	document.write('<select id="emonthList_input" name="emonthList_input" size="1">');
	document.write('<option value="1"> JANUARY');
	document.write('<option value="2"> FEBRUARY');
	document.write('<option value="3"> MARCH');
	document.write('<option value="4"> APRIL');
	document.write('<option value="5"> MAY');
	document.write('<option value="6"> JUNE');
	document.write('<option value="7"> JULY');
	document.write('<option value="8"> AUGUST');
	document.write('<option value="9"> SEPTEMBER');
	document.write('<option value="10"> OCTOBER');
	document.write('<option value="11"> NOVEMBER');
	document.write('<option value="12" selected="selected"> DECEMBER');																																																																																							
	document.write('</select>');
	document.write('&nbsp;');
	
	document.write('<input type="text" id="eyear_input" name="eyear_input" value=' + eyear_yyyy + ' maxlength="4" size="4" readonly="true"/>');
	
}

function fillBlank(q)
{
	str = "";
	str = str + '<table id="formtablecellhead' + q + '" cellspacing="0" cellpadding="0">';	

	str = str + '<tr height="30">';
	str = str + '<td width="50" align="right">';
		if(q>=2)
		{
			var addID = "b_addParam" + q;
			if(q==2 && c2==0)
			{			
				str = str + '<input type="button" id="' + addID + '" name="' + addID + '" value="ADD ADDITIONAL PARAMETER" onclick="' + addID + '_onclick()">';
			}
			else if(q==3 && c3==0)
			{
				str = str + '<input type="button" id="' + addID + '" name="' + addID + '" value="ADD ADDITIONAL PARAMETER" onclick="' + addID + '_onclick()">';	
			}
		}	
	str = str + '</td>';
	str = str + '<td width="230" align="right">';	
	str = str + '</td>';

	str = str + '<td width="540">';
	str = str + '</td>';
	
	str = str + '</tr>';
	
	str = str + '</table >';

	//USER CRITERIA TABLE
	str = str + '<table id="formtablecellbody' + q + '" cellpadding="0" cellspacing="0" >';
	
		str = str + '<tr height="35">';
			str = str + '<td width="800">';

				str = str + '<table cellpadding="0" cellspacing="0" bgcolor="#EEEEEE" style="visibility:hidden">';
					str = str + '<tr height="27">';
						str = str + '<td>';
							//SIMPLY DECLARING SPAN TAGS SO THAT THEY EXIST AND CAN HOLD HIDDEN VALUES
							str = str + '<SPAN id="dispDataType' + q + '"></SPAN>';
							str = str + '<SPAN id="dispParam' + q + '"></SPAN>';
							str = str + '<SPAN id="dispIneq' + q + '"></SPAN>';	
							str = str + '<SPAN id="dispCriteriaMin' + q + '"></SPAN>';	
							str = str + '<SPAN id="dispCriteriaMax' + q + '"></SPAN>';	
						str = str + '</td>';
					str = str + '</tr>';						
				str = str + '</table>';	

			str = str + '</td>'	;
		str = str + '</tr>';
		
	str = str + '</table>';
	//USER CRITERIA TABLE end
	
	/*
	str = str + '<table cellpadding="0" cellspacing="0" bgcolor="FFFFFF">';
		str = str + '<tr height="30"> <td width="800"/> </tr>'; //spacer at bottom of criteria table		
	str = str + '</table>'
	*/
	
	if(q==1)
	{
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="30"> <td width="800"/> </tr>';	
		str = str + '</table>';			
	}	
	else if(q>1)
	{
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="28">'; 
				str = str + '<td width=550 />';
				str = str + '<td width="250">';
				
					/*
					var remParam = "";
					if(q==2){remParam="SECOND"};
					else if(q==3){remParam="THIRD"};
					*/
					
					var remID = "b_remParam" + q;
					str = str + '<input type="button" id=' + remID + ' name=' + remID + ' value="REMOVE PARAMETER" style="visibility:hidden">';
					
				str = str + '</td>';
			str = str + '</tr>';	
		str = str + '</table>';
		
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="2"> <td width="800"/> </tr>';	
		str = str + '</table>';	
	}	
	
return str;
}

function fillCell(q)
{
	str = "";
	str = str + '<table id="formtablecellhead' + q + '" cellspacing="0" cellpadding="0">';

	str = str + '<tr height="30">';
	str = str + '<td width="50">';
	
	str = str + '</td>';
	str = str + '<td width="230" align="right">';	
	
	if(q==1)
	{
		str = str + 'FIRST SEARCH PARAMETER: &nbsp;';
	}
	else if(q==2)
	{
		str = str + 'SECOND SEARCH PARAMETER: &nbsp;';			
	}
	else if(q==3)
	{
		str = str + 'THIRD SEARCH PARAMETER: &nbsp;';			
	}
	
	str = str + '</td>';
	
	str = str + '<td width="540">';
	
	var selectID = "paramSelect" + q;
	str = str + '<select id=' + selectID + ' name=' + selectID + ' size="1" onchange="' + selectID + '_onchange()" >';
	
	
	
	
	//put if's here for dataType
	//1: list all
	//2: drop pcp and sno
	//3: only pcp and snow
	//4: list all
	
	if(q==1) //CASE: first param cell has all parameters listed
	{
		
		for(var i=0; i<hourlyParamTypes.length; i++)
		{
			paramType = hourlyParamTypes[i];
			paramLabel = hourlyParamLabels[i];

			if(dataType=="1" || dataType=="2" || dataType=="4")
			{
				if(paramType!="5hpcp" && paramType!="6hsno")
				{			
					str = str + '<option value=' + paramType + '>' + paramLabel;					
				}
			}
			else if(dataType=="3")
			{
				if(paramType=="5hpcp" || paramType=="6hsno")
				{			
					str = str + '<option value=' + paramType + '>' + paramLabel;					
				}				
			}

		}
	
		str = str + '<option value="nnone"> -------';
			
		for(var i=0; i<dailyParamTypes.length; i++)
		{
			paramType = dailyParamTypes[i];
			paramLabel = dailyParamLabels[i];	
			
			if(dataType=="1" || dataType=="2" || dataType=="4")
			{
				if(paramType!="7dtotpcp" && paramType!="8dtotsno")
				{			
					str = str + '<option value=' + paramType + '>' + paramLabel;
				}
			}
			else if(dataType=="3")
			{
				if(paramType=="7dtotpcp" || paramType=="8dtotsno")
				{			
					str = str + '<option value=' + paramType + '>' + paramLabel;					
				}				
			}			
		}
		
	}
	else //CASE: subsequent param cells have a nnone choice (non-hourly/daily) until first param is selected by user
	{
		if(param1 != "nnone")
		{
			//fill in the paramSelect2 with appropriate params (hourly or daily)
			if(HDtype=="h")
			{

				for(var i=0; i<hourlyParamTypes.length; i++)
				{

					paramType = hourlyParamTypes[i];
					paramLabel = hourlyParamLabels[i];
					
					if(dataType=="1" || dataType=="2" || dataType=="4")
					{
						if(paramType!="5hpcp" && paramType!="6hsno")
						{						
							if(q==1)
							{
								if(i==0)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}
							}
							else if(q==2)
							{
								if(i==1)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}
							}
							else if(q==3)
							{
								if(i==2)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}						
							}
						}
					}
					else if(dataType=="3")
					{
						if(paramType=="5hpcp" && paramType=="6hsno")
						{						
							if(q==1)
							{
								if(i==0)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}
							}
							else if(q==2)
							{
								if(i==1)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}
							}
							else if(q==3)
							{
								if(i==2)
								{
									str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
								}
								else
								{
									str = str + '<option value=' + paramType + '>' + paramLabel;
								}						
							}
						}
					}					
					
				}
				
			}
			else if(HDtype=="d")
			{
			
				
				for(var i=0; i<dailyParamTypes.length; i++)
				{
					
					//TODO: ELIMINATE THE ALREADY SELECTED PARAMETERS HERE

					paramType = dailyParamTypes[i];
					paramLabel = dailyParamLabels[i];

					if(dataType=="1" || dataType=="2" || dataType=="4")
					{
						if(paramType!="7dtotpcp" && paramType!="8dtotsno")
						{	
							if(i==0)
							{
								str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
							}
							else
							{			
								str = str + '<option value=' + paramType + '>' + paramLabel;
							}
						}
					}
					else if(dataType=="3")
					{
						if(paramType=="7dtotpcp" && paramType=="8dtotsno")
						{	
							if(i==0)
							{
								str = str + '<option value=' + paramType + ' selected="selected">' + paramLabel;
							}
							else
							{			
								str = str + '<option value=' + paramType + '>' + paramLabel;
							}
						}
					}					
					
				}	

			}
		}		
	}
		
	str = str + '</select >';	
	str = str + '</td>';
	
	str = str + '</tr>';

	str = str + '</table >';

	//USER CRITERIA TABLE
	str = str + '<table id="formtablecellbody' + q + '" cellpadding="0" cellspacing="0">';
	
		str = str + '<tr height="35">';
			str = str + '<td width="800">';
				

				str = str + '<table cellpadding="0" cellspacing="0">';
					str = str + '<tr height="5">';
						str = str + '<td width="10">';
						str = str + '</td>';
						str = str + '<td width="300">';
						str = str + '</td>';
						str = str + '<td width="200">';
						str = str + '</td>';
						str = str + '<td width="140">';
						str = str + '</td>';
						str = str + '<td width="75">';
						str = str + '</td>';	
						str = str + '<td width="75">';
						str = str + '</td>';						
					str = str + '</tr>';
					str = str + '<tr height="30">';
						str = str + '<td>';
						str = str + '</td>';
						str = str + '<td align="right">';
							str = str + '<SPAN id="dispDataType' + q + '"></SPAN>';	
						str = str + '</td>';
						str = str + '<td align="left">';
							str = str + '<SPAN id="dispParam' + q + '"></SPAN>';
						str = str + '</td>';	
						str = str + '<td align="center">';
							str = str + '<SPAN id="dispIneq' + q + '"></SPAN>';	
						str = str + '</td>';		
						str = str + '<td align="center">';
							str = str + '<SPAN id="dispCriteriaMin' + q + '"></SPAN>';	
						str = str + '</td>';		
						str = str + '<td align="center">';
							str = str + '<SPAN id="dispCriteriaMax' + q + '"></SPAN>';	
						str = str + '</td>';							
					str = str + '</tr>';	
					/*
					str = str + '<tr height="27">';
						str = str + '<td>';
						str = str + '</td>';
						str = str + '<td>';
						str = str + '</td>';
					str = str + '</tr>';	
					str = str + '<tr height="27">';
						str = str + '<td>';
						str = str + '</td>';
						str = str + '<td>';
						str = str + '</td>';
					str = str + '</tr>';	
					str = str + '<tr height="27">';
						str = str + '<td>';
						str = str + '</td>';
						str = str + '<td>';
						str = str + '</td>';
					str = str + '</tr>';						
					*/
				str = str + '</table>';

				
			str = str + '</td>';	
		str = str + '</tr>';
		
	str = str + '</table>';
	//USER CRITERIA TABLE end
	
	if(q==1)
	{
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="30"> <td width="800"/> </tr>';	
		str = str + '</table>';			
	}	
	else if(q>1)
	{
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="28">'; 
				str = str + '<td width=550 />';
				str = str + '<td width="250">';
				
					/*
					var remParam = "";
					if(q==2){remParam="SECOND"};
					else if(q==3){remParam="THIRD"};
					*/
					
					var remID = "b_remParam" + q;
					str = str + '<input type="button" id=' + remID + ' name=' + remID + ' value="REMOVE PARAMETER" onclick="' + remID + '_onclick()">';
					
				str = str + '</td>';
			str = str + '</tr>';	
		str = str + '</table>';
		
		str = str + '<table cellpadding="0" cellspacing="0">';
			str = str + '<tr height="2"> <td width="800"/> </tr>';	
		str = str + '</table>';	
	}

//alert(str);	

return str;
}

function createIneq(q)
{
	
	str = "";
	
	var ineqID = "ineqSelect" + q;
	str = str + '<select id=' + ineqID + ' name=' + ineqID + ' size="1" onchange="' + ineqID + '_onchange()" >';
	
	for(var i=0; i<ineqTypes.length; i++)
	{
		ineqType = ineqTypes[i];
		ineqLabel = ineqLabels[i];
		if(i==0)
		{
			str = str + '<option value="' + ineqType + '" selected="selected">' + ineqLabel;
		}
		else
		{
			str = str + '<option value="' + ineqType + '">' + ineqLabel;	
		}
	}
	
	str = str + '</select>';

return str;
}

function createCriteriaMin_input(q)
{
	str = "";
	
	var critID = "critMin_input" + q;
	var initVal = "";
	
	str = str + '<input type="text" id="' + critID + '" name="' + critID + '" value="' + initVal + '" maxlength="5" size="4" onchange="critMin_input' + q + '_onchange()" />';

return str;
}

function createCriteriaMax_input(q)
{
	str = "";
	
	var critID = "critMax_input" + q;
	var initVal = "";
	
	str = str + '<input type="text" id="' + critID + '" name="' + critID + '" value="' + initVal + '" maxlength="5" size="4" onchange="critMax_input' + q + '_onchange()" />';

return str;
}

function dataType_SelectionChange(dataTypeValue)
{
	
	//set the global dataType
	dataType = dataTypeValue;
	HDtype = "h";
	if(dataType != "1") //CASE: the dataType is not 1, therefore clear cell2 and cell3
	{
		c1=1;
		document.getElementById("cell1").innerHTML = fillCell(1);
	
		c2=0;		
		document.getElementById("cell2").innerHTML = fillBlank(2);
		c3=0;
		document.getElementById("cell3").innerHTML = fillBlank(3);
		
		
		//RESET THE PARAM INDEXES	
		if(dataType == "1" || dataType == "2" || dataType == "4")
		{
			if(HDtype=="h")
			{			
				param1_SelectionChange("0htmp");
				
				param1_index=0;
				param2_index=1;
				param3_index=2;			
			}
			else if(HDtype=="d")
			{
				param1_SelectionChange("0dmaxt");
				
				param1_index=0;
				param2_index=1;
				param3_index=2;			
			}			
		}
		else if(dataType == "3")
		{
			if(HDtype=="h")
			{
				param1_SelectionChange("5hpcp");
				
				param1_index=5;
				param2_index=5;
				param3_index=5;			
			}
			else if(HDtype=="d")
			{
				param1_SelectionChange("7dtotpcp");	
				
				param1_index=7;
				param2_index=7;
				param3_index=7;			
			}			
		}		
		//		

		for(var q=1; q<=3; q++)
		{
			if(HDtype=="h")
			{
				dispParamText = hourlyParamLabels[Number(param1_index)];
				document.getElementById("dispParam" + q).innerHTML = dispParamText;
			}
			if(HDtype=="d")
			{
				dispParamText = dailyParamLabels[Number(param1_index)];
				document.getElementById("dispParam" + q).innerHTML = dispParamText;				
			}
		}
		
		
		//setFormDefaults();
		
		//hide the addParam buttons
		if(document.getElementById("b_addParam2"))
		{
			dm = document.getElementById("b_addParam2"); 
			ds = dm.style; 
			st = ds.visibility;
			ds.visibility = "hidden";
		}
		
		if(document.getElementById("b_addParam3"))
		{
			dm = document.getElementById("b_addParam3"); 
			ds = dm.style; 
			st = ds.visibility;
			ds.visibility = "hidden";
		}	
		//

		param2="none";
		param3="none";
	}
	else if(dataType == "1") //CASE: the dataType is 1, there no need to clear cell2 and cell3
	{
		c1=1;	
		document.getElementById("cell1").innerHTML = fillCell(1);
	
		c2=0;		
		document.getElementById("cell2").innerHTML = fillBlank(2);
		c3=0;
		document.getElementById("cell3").innerHTML = fillBlank(3);
	
		
		//setFormDefaults();
		
		//un-hide the addParam buttons
		if(document.getElementById("b_addParam2"))
		{
			dm = document.getElementById("b_addParam2"); 
			ds = dm.style; 
			st = ds.visibility;
			ds.visibility = "visible";
		}	
		
		if(document.getElementById("b_addParam3"))
		{
			dm = document.getElementById("b_addParam3"); 
			ds = dm.style; 
			st = ds.visibility;
			ds.visibility = "visible";
		}		
	
	}
		
	//FILL IN THE DISPLAY DATATYPE		
	if(dataType=="1")
	{
		dispDataTypeText = "NUMBER OF OCCURENCES WITH";
	}
	else if(dataType=="2")
	{
		dispDataTypeText = "AVERAGE MEASURED VALUE OF";
	}
	else if(dataType=="3")
	{
		dispDataTypeText = "TOTAL MEASURED AMOUNT OF";
	}	
	else if(dataType=="4")
	{
		dispDataTypeText = "DATE OF FIRST/LAST OCCURENCE WITH";
	}
	
	
	for(var q=1; q<=3; q++)
	{
		document.getElementById("dispDataType" + q).innerHTML = dispDataTypeText + '&nbsp';
	}
	
	//RESET THE PARAM INDEXES	
	if(dataType == "1" || dataType == "2" || dataType == "4")
	{
		if(HDtype=="h")
		{			
			param1_SelectionChange("0htmp");
			
			param1_index=0;
			param2_index=1;
			param3_index=2;			
		}
		else if(HDtype=="d")
		{
			param1_SelectionChange("0dmaxt");
			
			param1_index=0;
			param2_index=1;
			param3_index=2;			
		}			
	}
	else if(dataType == "3")
	{
		
		if(HDtype=="h")
		{
			param1_SelectionChange("5hpcp");
			
			param1_index=5;
			param2_index=5;
			param3_index=5;			
		}
		else if(HDtype=="d")
		{
			param1_SelectionChange("7dtotpcp");	
			
			param1_index=7;
			param2_index=7;
			param3_index=7;			
		}			
	}		
	//		

	for(var q=1; q<=3; q++)
	{
		if(HDtype=="h")
		{
			dispParamText = hourlyParamLabels[Number(param1_index)];
			document.getElementById("dispParam" + q).innerHTML = dispParamText;
		}
		if(HDtype=="d")
		{
			dispParamText = dailyParamLabels[Number(param1_index)];
			document.getElementById("dispParam" + q).innerHTML = dispParamText;				
		}
	}
	
	for(var q=1; q<=3; q++)
	{
		//FILL IN THE INEQ
		document.getElementById("dispIneq" + q).innerHTML = createIneq(q);	
		
		//FILL IN THE CRITERIA INPUT
		if(dataType == "1")
		{
			if(param1Ineq != "4")
			{
				document.getElementById("dispCriteriaMin" + q).innerHTML = createCriteriaMin_input(q);
				document.getElementById("dispCriteriaMax" + q).innerHTML = "";		
			}
			else if(param1Ineq == "4")//only do the second criteria input if the param ineq is "between"
			{
				document.getElementById("dispCriteriaMin" + q).innerHTML = createCriteriaMin_input(q);	
				document.getElementById("dispCriteriaMax" + q).innerHTML = createCriteriaMax_input(q);
			}
		}
		else if(dataType == "2" || dataType == "3" || dataType == "4")
		{
			document.getElementById("dispIneq" + q).innerHTML = "";	
			
			document.getElementById("dispCriteriaMin" + q).innerHTML = "";	
			document.getElementById("dispCriteriaMax" + q).innerHTML = "";			
		}
	}		

	//CLEAR THE EXISTING VALUES FOR THE PARAMETERS
	clearExistingParam(param1);
	clearExistingParam(param2);	
	clearExistingParam(param3);		

}

function param1_SelectionChange(paramValue)
{
	//grab previous HDtype to check for changes
	var cachedHDtype = HDtype;
	
	//set the global HDtype
	HDtype = paramValue.substring(1,2);
	
	//set the primary parameter
	param1 = paramValue.substring(2);
	param1_index = paramValue.substring(0,1);

	if(HDtype != cachedHDtype) //CASE: the HDtype has changed, therefore clear the paramSelect2 and paramSelect3
	{
		if(dataType != "1") //CASE: the dataType is not 1, therefore clear cell2 and cell3
		{
			document.getElementById("cell2").innerHTML = fillBlank(2);
			c2=0;
			document.getElementById("cell3").innerHTML = fillBlank(3);
			c3=0;	
			
			//hide the addParam buttons
			if(document.getElementById("b_addParam2"))
			{
				dm = document.getElementById("b_addParam2"); 
				ds = dm.style; 
				st = ds.visibility;
				ds.visibility = "hidden";
			}
			
			if(document.getElementById("b_addParam3"))
			{
				dm = document.getElementById("b_addParam3"); 
				ds = dm.style; 
				st = ds.visibility;
				ds.visibility = "hidden";
			}	
			//
	
			param2="none";
			param3="none";
		}
		else if(dataType == "1") //CASE: the dataType is 1, there no need to clear cell2 and cell3
		{
			c2=0;			
			document.getElementById("cell2").innerHTML = fillBlank(2);
			c3=0;
			document.getElementById("cell3").innerHTML = fillBlank(3);
	
			//un-hide the addParam buttons
			if(document.getElementById("b_addParam2"))
			{
				dm = document.getElementById("b_addParam2"); 
				ds = dm.style; 
				st = ds.visibility;
				ds.visibility = "visible";
			}	
			
			if(document.getElementById("b_addParam3"))
			{
				dm = document.getElementById("b_addParam3"); 
				ds = dm.style; 
				st = ds.visibility;
				ds.visibility = "visible";
			}	
			//		
		
		}		
	}
	else if(HDtype == cachedHDtype) //CASE: the HDtype is same as previous setting, therefore no need to clear paramSelect2 and paramSelect3
	{}
	
	//FILL IN THE DISPLAY PARAM
	if(HDtype== "h")
	{
		dispParamText = hourlyParamLabels[Number(param1_index)];
	}
	else if(HDtype== "d")
	{
		dispParamText = dailyParamLabels[Number(param1_index)];
	}	
	document.getElementById("dispParam1").innerHTML = dispParamText;	
	
	//CLEAR THE DISPLAYED CRITERIA VALUES ON PARAMETER CHANGE
	try
	{
		critMin_input1.value = "";
	}
	catch(e){}
	try
	{
		critMax_input1.value = "";
	}
	catch(e){}
	
}
function param2_SelectionChange(paramValue)
{
	//set the secondary parameter
	param2 = paramValue.substring(2);
	param2_index = paramValue.substring(0,1);	
	
	//FILL IN THE DISPLAY PARAM
	if(HDtype== "h")
	{
		dispParamText = hourlyParamLabels[Number(param2_index)];
	}
	else if(HDtype== "d")
	{
		dispParamText = dailyParamLabels[Number(param2_index)];
	}	
	
	document.getElementById("dispParam2").innerHTML = dispParamText;
	
	//CLEAR THE DISPLAYED CRITERIA VALUES ON PARAMETER CHANGE
	try
	{
		critMin_input2.value = "";
	}
	catch(e){}
	try
	{
		critMax_input2.value = "";
	}
	catch(e){}
}

function param3_SelectionChange(paramValue)
{
	//set the tertiary parameter
	param3 = paramValue.substring(2);
	param3_index = paramValue.substring(0,1);	
	
	//FILL IN THE DISPLAY PARAM
	if(HDtype== "h")
	{
		dispParamText = hourlyParamLabels[Number(param3_index)];
	}
	else if(HDtype== "d")
	{
		dispParamText = dailyParamLabels[Number(param3_index)];
	}	
	
	document.getElementById("dispParam3").innerHTML = dispParamText;
	
	//CLEAR THE DISPLAYED CRITERIA VALUES ON PARAMETER CHANGE
	try
	{
		critMin_input3.value = "";
	}
	catch(e){}
	try
	{
		critMax_input3.value = "";
	}
	catch(e){}
}

function assignCritToParam(critVal, param, xn, paramIndex, paramIneq)
{
	output = "";
	var callParam = "";
	
	if(xn=="n")//CASE: MIN VALUE INPUT
	{
		if(paramIneq==1)//CASE: IF "LESS THAN", MUST SWITCH THE MIN VAL TO REPRESENT THE MAX CRITERIA
		{
			xn="x";	
		}
	}
	else if(xn=="x")//CASE: MAX VALUE INPUT
	{
		if(paramIneq==3)//CASE: IF "GREATER THAN", MUST SWITCH THE MAX VAL TO REPRESENT THE MIN CRITERIA
		{
			xn="n";
		}
	}
	if(param=="tmp")
	{
		if(xn=="n")
		{
			callParam = "tMin"; 
			checkedVal = dataCheck(critVal, callParam);
			tMin = checkedVal;

			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				tMax = checkedVal;				
			}
		}
		else if(xn=="x")
		{
			callParam = "tMax"; 
			checkedVal = dataCheck(critVal, callParam);
			tMax = checkedVal;				
		}
	}
	else if(param=="hum")
	{
		if(xn=="n")
		{
			callParam = "rhMin"; 
			checkedVal = dataCheck(critVal, callParam);	
			rhMin = checkedVal;	

			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				rhMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "rhMax"; 
			checkedVal = dataCheck(critVal, callParam);
			rhMax = checkedVal;				
		}
	}
	else if(param=="clc")
	{
		if(xn=="n")
		{
			callParam = "ccMin"; 
			checkedVal = dataCheck(critVal, callParam);
			ccMin = checkedVal;			
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				ccMax = checkedVal;
			}				
		}
		else if(xn=="x")
		{
			callParam = "ccMax"; 
			checkedVal = dataCheck(critVal, callParam);
			ccMax = checkedVal;				
		}
	}
	else if(param=="wsp")
	{
		if(xn=="n")
		{
			callParam = "wsMin"; 
			checkedVal = dataCheck(critVal, callParam);
			wsMin = checkedVal;	

			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				wsMax = checkedVal;
			}				
		}
		else if(xn=="x")
		{
			callParam = "wsMax"; 
			checkedVal = dataCheck(critVal, callParam);
			wsMax = checkedVal;				
		}
	}
	else if(param=="wdr")
	{
		if(xn=="n")
		{
			callParam = "wdMin"; 
			checkedVal = dataCheck(critVal, callParam);
			wdMin = checkedVal;	

			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				wdMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "wdMax"; 
			checkedVal = dataCheck(critVal, callParam);
			wdMax = checkedVal;				
		}
	}
	else if(param=="pcp")
	{
		if(xn=="n")
		{
			callParam = "pcpMin"; 
			checkedVal = dataCheck(critVal, callParam);
			pcpMin = checkedVal;		
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				pcpMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "pcpMax"; 
			checkedVal = dataCheck(critVal, callParam);
			pcpMax = checkedVal;			
		}
	}
	else if(param=="sno")
	{
		if(xn=="n")
		{
			callParam = "snowMin"; 
			checkedVal = dataCheck(critVal, callParam);
			snowMin = checkedVal;		
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				snowMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "snowMax"; 
			checkedVal = dataCheck(critVal, callParam);
			snowMax = checkedVal;				
		}
	}
	else if(param=="maxt")
	{
		if(xn=="n")
		{
			callParam = "maxtMin"; 
			checkedVal = dataCheck(critVal, callParam);
			maxtMin = checkedVal;			
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				maxtMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "maxtMax"; 
			checkedVal = dataCheck(critVal, callParam);
			maxtMax = checkedVal;				
		}
	}
	else if(param=="mint")
	{
		if(xn=="n")
		{
			callParam = "mintMin"; 
			checkedVal = dataCheck(critVal, callParam);
			mintMin = checkedVal;				
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				mintMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "mintMax"; 
			checkedVal = dataCheck(critVal, callParam);
			mintMax = checkedVal;				
		}
	}
	else if(param=="avgt")
	{
		if(xn=="n")
		{
			callParam = "avgtMin"; 
			checkedVal = dataCheck(critVal, callParam);
			avgtMin = checkedVal;			
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				avgtMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "avgtMax"; 
			checkedVal = dataCheck(critVal, callParam);
			avgtMax = checkedVal;				
		}
	}
	else if(param=="acc")
	{
		if(xn=="n")
		{
			callParam = "avgccMin"; 
			checkedVal = dataCheck(critVal, callParam);
			avgccMin = checkedVal;				
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				avgccMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "avgccMax"; 
			checkedVal = dataCheck(critVal, callParam);
			avgccMax = checkedVal;				
		}
	}
	else if(param=="aws")
	{
		if(xn=="n")
		{
			callParam = "avgwsMin"; 
			checkedVal = dataCheck(critVal, callParam);
			avgwsMin = checkedVal;			
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				avgwsMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "avgwsMax"; 
			checkedVal = dataCheck(critVal, callParam);
			avgwsMax = checkedVal;				
		}
	}
	else if(param=="maxg")
	{
		if(xn=="n")
		{
			callParam = "maxgstMin"; 
			checkedVal = dataCheck(critVal, callParam);
			maxgstMin = checkedVal;			
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				maxgstMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "maxgstMax"; 
			checkedVal = dataCheck(critVal, callParam);
			maxgstMax = checkedVal;			
		}
	}	
	else if(param=="awd")
	{
		if(xn=="n")
		{
			callParam = "avgwdMin"; 
			checkedVal = dataCheck(critVal, callParam);
			avgwdMin = checkedVal;
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				avgwdMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "avgwdMax"; 
			checkedVal = dataCheck(critVal, callParam);
			avgwdMax = checkedVal;				
		}
	}	
	else if(param=="totpcp")
	{
		if(xn=="n")
		{
			callParam = "totpcpMin"; 
			checkedVal = dataCheck(critVal, callParam);
			totpcpMin = checkedVal;			

			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				totpcpMax = checkedVal;
			}
		}
		else if(xn=="x")
		{
			callParam = "totpcpMax"; 
			checkedVal = dataCheck(critVal, callParam);
			totpcpMax = checkedVal;				
		}
	}	
	else if(param=="totsno")
	{
		if(xn=="n")
		{
			callParam = "totsnowMin"; 
			checkedVal = dataCheck(critVal, callParam);
			totsnowMin = checkedVal;		
			
			if(paramIneq==2)//CASE: THE INEQ="EQUAL TO", THEREFORE BOTH THE Min and Max CRITERIA ARE SET TO BE EQUAL
			{
				totsnowMax = checkedVal;
			}			
		}
		else if(xn=="x")
		{
			callParam = "totsnowMax"; 
			checkedVal = dataCheck(critVal, callParam);
			totsnowMax = checkedVal;			
		}
	}
	

	//SET THE FORM WITH VERIFIED AND CORRECTED NEW VALUES
	if(paramIndex == 1)
	{
		if(xn=="n")
		{
			param1Crit_Min = checkedVal;
			critMin_input1.value = checkedVal;	
		}
		else if(xn=="x")
		{
			try
			{
				param1Crit_Max = checkedVal;
				critMax_input1.value = checkedVal;
			}
			catch(e)
			{
				param1Crit_Max = checkedVal;
				critMin_input1.value = checkedVal;
			}

		}
	}
	else if(paramIndex == 2)
	{
		if(xn=="n")
		{
			param2Crit_Min = checkedVal;
			critMin_input2.value = checkedVal;	
		}
		else if(xn=="x")
		{
			try
			{
				param2Crit_Max = checkedVal;
				critMax_input2.value = checkedVal;
			}
			catch(e)
			{
				param2Crit_Min = checkedVal;
				critMin_input2.value = checkedVal;
			}
		}		
	}
	else if(paramIndex == 3)
	{
		if(xn=="n")
		{
			param3Crit_Min = checkedVal;
			critMin_input3.value = checkedVal;		
		}
		else if(xn=="x")
		{
			try
			{
				param3Crit_Max = checkedVal;
				critMax_input3.value = checkedVal;
			}
			catch(e)
			{
				param3Crit_Min = checkedVal;				
				critMin_input3.value = checkedVal;;
			}
		}			
	}	

}
function clearExistingParam(param)
{
	if(param=="tmp"){tMin=-999;	tMax=999;}
	else if(param=="hum"){rhMin=-999; rhMax=999;}
	else if(param=="clc"){ccMin=-999; ccMax=999;}
	else if(param=="wsp"){wsMin=-999; wsMax=999;}
	else if(param=="wdr"){wdMin=-999; wdMax=999;}
	else if(param=="pcp"){pcpMin=-999; pcpMax=999;}
	else if(param=="sno"){snowMin=-999; snowMax=999;}
	else if(param=="maxt"){maxtMin=-999; maxtMax=999;}
	else if(param=="mint"){mintMin=-999; mintMax=999;}
	else if(param=="avgt"){avgtMin=-999; avgtMax=999;}
	else if(param=="acc"){avgccMin=-999; avgccMax=999;}
	else if(param=="aws"){avgwsMin=-999; avgwsMax=999;}
	else if(param=="maxg"){maxgstMin=-999; maxgstMax=999;}
	else if(param=="awd"){avgwdMin=-999; avgwdMax=999;}
	else if(param=="totpcp"){totpcpMin=-999; totpcpMax=999;}
	else if(param=="totsno"){totsnowMin=-999; totsnowMax=999;}	
}

function displayOutput()
{
	createSummaryStrings();
	document.getElementById("cell4").innerHTML = fillReturn(numParams);
	numParams=0;	
}

function createSummaryStrings()
{
	//set the HD data type string
	if(HDtype=="h"){HDtypeString="HOURLY"; HDtypeString_noun="HOURS";}
	else if(HDtype=="d"){HDtypeString="DAILY"; HDtypeString_noun="DAYS";}
	
	
	
	//set the parameter display strings
	if(HDtype== "h")
	{
		dispParam1Text = hourlyParamLabels[Number(param1_index)];
		param1_unit = hourlyParamUnits[Number(param1_index)];
	}
	else if(HDtype== "d")
	{
		dispParam1Text = dailyParamLabels[Number(param1_index)];
		param1_unit = dailyParamUnits[Number(param1_index)];		
	}	
	
	if(HDtype== "h")
	{
		dispParam2Text = hourlyParamLabels[Number(param2_index)];
		param2_unit = hourlyParamUnits[Number(param2_index)];		
	}
	else if(HDtype== "d")
	{
		dispParam2Text = dailyParamLabels[Number(param2_index)];
		param2_unit = dailyParamUnits[Number(param2_index)];			
	}	
	
	if(HDtype== "h")
	{
		dispParam3Text = hourlyParamLabels[Number(param3_index)];
		param3_unit = hourlyParamUnits[Number(param3_index)];		
	}
	else if(HDtype== "d")
	{
		dispParam3Text = dailyParamLabels[Number(param3_index)];
		param3_unit = dailyParamUnits[Number(param3_index)];			
	}
	
	//set the inequality display strings
	dispIneq1 = ineqLabels[param1Ineq-1];
	dispIneq2 = ineqLabels[param2Ineq-1];
	dispIneq3 = ineqLabels[param3Ineq-1];	
	
	//set the criteria display strings
	if(param1Ineq!=4)//CASE: not between
	{
		if(param1Crit_Min!="")
		{
			dispCrit1 = param1Crit_Min + " " + param1_unit;
		}
		else
		{
			dispCrit1 = "";
		}
	}
	else if(param1Ineq==4)//CASE: between
	{
		if(param1Crit_Min!="")
		{
			dispCrit1 = param1Crit_Min + " AND " + param1Crit_Max + " " + param1_unit;
		}
		else
		{
			dispCrit1 = "";
		}		
	}

	if(param2Ineq!=4)//CASE: not between
	{
		if(param2Crit_Min!="")
		{		
			dispCrit2 = param2Crit_Min + " " + param2_unit;
		}
		else
		{
			dispCrit2 = "";
		}			
	}
	else if(param2Ineq==4)//CASE: between
	{
		if(param2Crit_Min!="")
		{		
			dispCrit2 = param2Crit_Min + " AND " + param2Crit_Max + " " + param2_unit;
		}
		else
		{
			dispCrit2 = "";
		}			
	}
	
	if(param3Ineq!=4)//CASE: not between
	{
		if(param3Crit_Min!="")
		{			
			dispCrit3 = param3Crit_Min + " " + param3_unit;
		}
		else
		{
			dispCrit3 = "";
		}		
	}
	else if(param3Ineq==4)//CASE: between
	{
		if(param3Crit_Min!="")
		{			
			dispCrit3 = param3Crit_Min + " AND " + param3Crit_Max + " " + param3_unit;
		}
		else
		{
			dispCrit3 = "";
		}		
	}

	if(dataType == "1")//CASE: NUMBER OF OCCURENCES
	{
		locationDate_summaryString = "LOCATION: " + loc + "      PERIOD: " + sdate + " THROUGH " + edate + "       DATA: NUMBER OF " + HDtypeString + " OCCURENCES";
		

		if(dispCrit1!="")
		{
			param1_summaryString = "1. WHERE " + dispParam1Text + " IS " + dispIneq1 + " " + dispCrit1;
		}
		else
		{
			param1_summaryString = "";
		}
		if(dispCrit2!="")
		{		
			param2_summaryString = "2. WHERE " + dispParam2Text + " IS " + dispIneq2 + " " + dispCrit2;
		}
		else
		{
			param2_summaryString = "";
		}		
		if(dispCrit1!="")
		{
			param3_summaryString = "3. WHERE " + dispParam3Text + " IS " + dispIneq3 + " " + dispCrit3;
		}
		else
		{
			param3_summaryString = "";
		}		
		
		inperiod_summaryString = "THERE WERE " + datArray[3] + " " + HDtypeString_noun +  " MEETING THE SELECTED CRITERIA FOR " + sdate + " THROUGH " + edate;
		perperiod_summaryString = "COMPARED WITH PERIOD OF 1979 THROUGH 2008 (30 YEARS), THERE WAS AN AVERAGE OF " + datArray[4] + " " + HDtypeString_noun + " DURING ALL OF THE EQUIVALENT TIME PERIODS.";
	}
	
	if(dataType == "2")//CASE: AVERAGE VALUE
	{
		locationDate_summaryString = "LOCATION: " + loc + "       PERIOD: " + sdate + " THROUGH " + edate + "      DATA: AVERAGE MEASURED VALUE";	

		if(dispCrit1!="")
		{
			param1_summaryString = "";
		}
		else
		{
			param1_summaryString = "";
		}		
		
		val_InPer = datArray[3]-0;
		val_PerPer = datArray[4]-0;

		inperiod_summaryString = "THE AVERAGE VALUE OF " + dispParam1Text + " IS " + val_InPer.toFixed(1) + " " + param1_unit + " FOR " + sdate + " THROUGH " + edate;
		perperiod_summaryString = "COMPARED WITH PERIOD OF 1979 THROUGH 2008 (30 YEARS), THE AVERAGE VALUE WAS " + val_PerPer.toFixed(1) + " " + param1_unit + " DURING ALL OF THE EQUIVALENT TIME PERIODS.";		
	}
	
	if(dataType == "3")//CASE: TOTAL VALUE (PRECIP)
	{
		locationDate_summaryString = "LOCATION: " + loc + "       PERIOD: " + sdate + " THROUGH " + edate + "      DATA: TOTAL MEASURED VALUE";

		if(dispCrit1!="")
		{
			param1_summaryString = "";
		}
		else
		{
			param1_summaryString = "";
		}		
		
		//CORRECT FOR RESPONSE FOR HOURLY PRECIP and SNOW...DAILY RESPONSE IS OKAY
		val_InPer = datArray[3]-0;
		val_PerPer = datArray[4]-0;
		if(HDtype=="h")
		{
			if(param1_index==5 || param1_index==6)
			{
				val_InPer = (val_InPer/100.0);
				val_PerPer = (val_PerPer/100.0);
			}
		}
		//

		inperiod_summaryString = "THE TOTAL AMOUNT OF " + dispParam1Text + " IS " + val_InPer.toFixed(2) + " " + param1_unit + " FOR " + sdate + " THROUGH " + edate;
		perperiod_summaryString = "COMPARED WITH PERIOD OF 1979 THROUGH 2008 (30 YEARS), THE AVERAGE TOTAL AMOUNT WAS " + val_PerPer.toFixed(2) + " " + param1_unit + " DURING ALL OF THE EQUIVALENT TIME PERIODS.";		
	}	
	
	
	if(dataType == "4")//CASE: FIRST/LAST DATES
	{
		locationDate_summaryString = "LOCATION: " + loc + "   PERIOD: " + sdate + " THROUGH " + edate + "   DATA: NUMBER OF " + HDtypeString + " OCCURENCES";

		if(dispCrit1!="")
		{
			param1_summaryString = "1. WHERE " + dispParam1Text + " IS " + dispIneq1 + " " + dispCrit1;
		}
		else
		{
			param1_summaryString = "";
		}		
		
		inperiod_summaryString = "THERE WERE " + datArray[3] + " " + HDtypeString_noun +  " MEETING THE SELECTED CRITERIA THROUGH THE PERIOD";
		perperiod_summaryString = "COMPARED WITH PERIOD OF 1979 THROUGH 2008 (30 YEARS), THERE WAS AN AVERAGE OF " + datArray[4] + " " + HDtypeString_noun + " DURING THE SAME TIME PERIOD";		
	}	
	
}
	
function fillReturn(numParams)
{
	str = "";
	
	totVert = 290;
	remVert = totVert-0;
	
	str = str + '<table id="formresponsecell" cellspacing="0" cellpadding="0">';	
		
		//buffer row
		str = str + '<tr height="10">';	
			str = str + '<td width="10">';
			str = str + '</td>';
			str = str + '<td width="780">';
			str = str + '</td>';
			str = str + '<td width="10">';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-10;
		
		//location/date row
		str = str + '<tr height="30">';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
				str = str + locationDate_summaryString;
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-30;		
		

		//insert one row for each parameter recap
		for(i=0; i<=numParams-1; i++)
		{			
			
			str = str + '<tr height="30">';	
				str = str + '<td>';
				str = str + '</td>';
				str = str + '<td id="param' + i + '_summaryCell" >';
				//str = str + '<td>';				
					if(i==0){str = str + param1_summaryString;}
					else if(i==1){str= str + param2_summaryString;}
					else if(i==2){str= str + param3_summaryString;}	
				str = str + '</td>';
				str = str + '<td>';
				str = str + '</td>';		
			str = str + '</tr>';
			remVert = remVert-30;			
		}
		
		//inperiod row
		str = str + '<tr height="70" >';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td id="responseInPer_summaryCell">';
				str = str + inperiod_summaryString;
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-70;	
		
		//perperiod row
		str = str + '<tr height="70" >';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td id="responsePerPer_summaryCell">';
				str = str + perperiod_summaryString;			
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-70;	
		
		//buffer
		str = str + '<tr height=' + remVert +'>';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-remVert;				
		
	str = str + '</table>';	

return str;
}
function fillReturnBlank(numParams)
{
	str = "";
	
	totVert = 290;
	remVert = totVert-0;
	
	str = str + '<table id="formresponsecell" cellspacing="0" cellpadding="0">';	
		
		//buffer row
		str = str + '<tr height="10">';	
			str = str + '<td width="10">';
			str = str + '</td>';
			str = str + '<td width="780">';
			str = str + '</td>';
			str = str + '<td width="10">';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-10;
		
		//location/date row
		str = str + '<tr height="30">';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
				str = str + locationDate_summaryString;
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-30;		
		

		//insert one row for each parameter recap
		for(i=0; i<=numParams-1; i++)
		{			
			
			str = str + '<tr height="30">';	
				str = str + '<td>';
				str = str + '</td>';
				str = str + '<td >';
				//str = str + '<td>';				
					if(i==0){str = str + param1_summaryString;}
					else if(i==1){str= str + param2_summaryString;}
					else if(i==2){str= str + param3_summaryString;}	
				str = str + '</td>';
				str = str + '<td>';
				str = str + '</td>';		
			str = str + '</tr>';
			remVert = remVert-30;			
		}
		
		//inperiod row
		str = str + '<tr height="70" >';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td >';
				str = str + inperiod_summaryString;
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-70;	
		
		//perperiod row
		str = str + '<tr height="70" >';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td >';
				str = str + perperiod_summaryString;			
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-70;	
		
		//buffer
		str = str + '<tr height=' + remVert +'>';	
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';
			str = str + '<td>';
			str = str + '</td>';		
		str = str + '</tr>';		
		remVert = remVert-remVert;				
		
	str = str + '</table>';	

return str;
}