function changeMaterial()
{
	var formTypeControl = eval(theDOM+ "formType" + plainSuffix);
	var materialControl = eval(theDOM+ "material" + plainSuffix);
	
	var formTypeValue = formTypeControl.value;
	var materialValue = materialControl.value;

	showOrHide('toMonthHolder',0);
	showOrHide('toQuarterHolder',0);
	showOrHide('toHalfHolder',0);
	showOrHide('fromMonthHolder',0);
	showOrHide('fromQuarterHolder',0);
	showOrHide('fromHalfHolder',0);	
	showOrHide('dataTypeHolder',0);	
			
	formTypeControl.options[0] = new Option("Production", "1");
	formTypeControl.options[1] = new Option("Production Capacity", "2");
		
	if (materialValue==1)
	{
		formTypeControl.options[2] = new Option("Inventory", "3");
		formTypeControl.options[3] = new Option("Recovered from Scrap", "6");
		formTypeControl.options[4] = new Option("Electrical Power Used", "4");
		
		if (formTypeValue==1) {formTypeControl.options[0].selected=true;}
		else if (formTypeValue==2) {formTypeControl.options[1].selected=true;}
		else if (formTypeValue==3) {formTypeControl.options[2].selected=true;}
		else if (formTypeValue==6) {formTypeControl.options[3].selected=true;}
		else if (formTypeValue==4) {formTypeControl.options[4].selected=true;}
		else {formTypeValue = 1;}
		formTypeControl.length = 5;
	}
	else if (materialValue==2)
	{
		formTypeControl.options[2] = new Option("Energy Used", "4");
	
		if (formTypeValue==1) {formTypeControl.options[0].selected=true;}
		else if (formTypeValue==2) {formTypeControl.options[1].selected=true;}
		else if (formTypeValue==4) {formTypeControl.options[2].selected=true;}
		else {formTypeValue = 1;}
		formTypeControl.length = 3;
	}
	
	populateDataTypeControl(materialValue, formTypeValue);
	populateYearControls(materialValue, formTypeValue);
	populateDateControls(materialValue, formTypeValue);
	populateAreaControl(materialValue, formTypeValue);	
}

function changeFormType()
{
	var formTypeControl = eval(theDOM+ "formType" + plainSuffix);
	var materialControl = eval(theDOM+ "material" + plainSuffix);

	var formTypeValue = formTypeControl.value;
	var materialValue = materialControl.value;

	showOrHide('toMonthHolder',0);
	showOrHide('toQuarterHolder',0);
	showOrHide('toHalfHolder',0);
	showOrHide('fromMonthHolder',0);
	showOrHide('fromQuarterHolder',0);
	showOrHide('fromHalfHolder',0);	
	showOrHide('dataTypeHolder',0);	
	
	populateDataTypeControl(materialValue, formTypeValue);
	populateYearControls(materialValue, formTypeValue);
	populateDateControls(materialValue, formTypeValue);
	populateAreaControl(materialValue, formTypeValue);	
}

function changeDataType()
{

	var formTypeControl = eval(theDOM+ "formType" + plainSuffix);
	var formTypeValue = formTypeControl.value;
	
	if ((formTypeValue==6)||(formTypeValue==4))
	{
		var materialControl = eval(theDOM+ "material" + plainSuffix);
		var materialValue = materialControl.value;
		populateYearControls(materialValue, formTypeValue);
	}
}

function changeFrequency()
{
	var formTypeControl = eval(theDOM+ "formType" + plainSuffix);
	var materialControl = eval(theDOM+ "material" + plainSuffix);

	var formTypeValue = formTypeControl.value;
	var materialValue = materialControl.value;

	showOrHide('toMonthHolder',0);
	showOrHide('toQuarterHolder',0);
	showOrHide('toHalfHolder',0);
	showOrHide('fromMonthHolder',0);
	showOrHide('fromQuarterHolder',0);
	showOrHide('fromHalfHolder',0);	
	
	populateDateControls(materialValue, formTypeValue);
}

function changeFrom()
{
	var formTypeControl = eval(theDOM+ "formType" + plainSuffix);
	var materialControl = eval(theDOM+ "material" + plainSuffix);

	var formTypeValue = formTypeControl.value;
	var materialValue = materialControl.value;
	
	populateAreaControl(materialValue, formTypeValue);	
}

function populateDataTypeControl(materialValue,formTypeValue)
{
	var dataTypeControl = eval(theDOM+ "dataType" + plainSuffix);
	var dataTypeValue = dataTypeControl.value;

	showOrHide('dataTypeHolder',0);	

	if (materialValue==1)
	{	
		if (formTypeValue==1)
		{
			dataTypeControl.options[0] = new Option("Total", "1");
			dataTypeControl.length = 1;
		}
		else if (formTypeValue==2)
		{
			dataTypeControl.options[0] = new Option("Total", "122");
			dataTypeControl.length = 1;
		}		
		else if (formTypeValue==3)
		{
			dataTypeControl.options[0] = new Option("Unwrought", "2");
			dataTypeControl.options[1] = new Option("Total", "123");
			dataTypeControl.length = 2;
		
			if (dataTypeValue==2) {dataTypeControl.options[0].selected=true;}
			else {dataTypeControl.options[1].selected=true;}		
		
			showOrHide('dataTypeHolder',1);	
		}
		else if (formTypeValue==4)
		{							
			dataTypeControl.options[0] = new Option("Form ES002 - Archive", "");
			dataTypeControl.options[1] = new Option("", "");
			dataTypeControl.options[2] = new Option("Per Tonne", "26");
			dataTypeControl.options[3] = new Option("", "");
			dataTypeControl.options[4] = new Option("Total", "25");
			dataTypeControl.options[5] = new Option("", "");
			dataTypeControl.options[6] = new Option("Hydro Sourced", "82");
			dataTypeControl.options[7] = new Option("Coal Sourced", "83");
			dataTypeControl.options[8] = new Option("Oil Sourced", "84");
			dataTypeControl.options[9] = new Option("Natural Gas Sourced", "85");
			dataTypeControl.options[10] = new Option("Nuclear Sourced", "86");
			dataTypeControl.options[11] = new Option("", "");
			dataTypeControl.options[12] = new Option("Self-Generated", "92");
			dataTypeControl.options[13] = new Option("Purchased - Grid", "93");
			dataTypeControl.options[14] = new Option("Purchased - Other", "94");
			dataTypeControl.options[15] = new Option("Purchased - Total", "95");
			dataTypeControl.options[16] = new Option("", "");
			dataTypeControl.options[17] = new Option("Self Generated - Other Purposes", "13");
			dataTypeControl.options[18] = new Option("", "");
			dataTypeControl.options[19] = new Option("Supply Source by Energy Source", "14");						
			dataTypeControl.options[20] = new Option("", "");
			dataTypeControl.options[21] = new Option("Relevant Primary Aluminium Production", "127");
			
			dataTypeControl.length = 22;

			if (dataTypeValue==26) {dataTypeControl.options[2].selected=true;}
			else if (dataTypeValue==25) {dataTypeControl.options[4].selected=true;}
			else if (dataTypeValue==82) {dataTypeControl.options[6].selected=true;}
			else if (dataTypeValue==83) {dataTypeControl.options[7].selected=true;}
			else if (dataTypeValue==84) {dataTypeControl.options[8].selected=true;}
			else if (dataTypeValue==85) {dataTypeControl.options[9].selected=true;}
			else if (dataTypeValue==86) {dataTypeControl.options[10].selected=true;}
			else if (dataTypeValue==92) {dataTypeControl.options[12].selected=true;}
			else if (dataTypeValue==93) {dataTypeControl.options[13].selected=true;}
			else if (dataTypeValue==94) {dataTypeControl.options[14].selected=true;}
			else if (dataTypeValue==95) {dataTypeControl.options[15].selected=true;}
			else if (dataTypeValue==13) {dataTypeControl.options[17].selected=true;}
			else if (dataTypeValue==14) {dataTypeControl.options[19].selected=true;}
			else if (dataTypeValue==127) {dataTypeControl.options[21].selected=true;}
			else {dataTypeControl.options[0].selected=true;}
		
			showOrHide('dataTypeHolder',1);	
		}
		else if (formTypeValue==6)
		{
			dataTypeControl.options[0] = new Option("Form 751 - Archive", "");
			
			dataTypeControl.length = 1;

			{dataTypeControl.options[0].selected=true;}		

		}
	}
	else if (materialValue==2)
	{
		if (formTypeValue==1)
		{
			dataTypeControl.options[0] = new Option("Metallurgical", "3");
			dataTypeControl.options[1] = new Option("Chemical", "4");
			dataTypeControl.options[2] = new Option("Total", "125");
			dataTypeControl.options[3] = new Option("All", "");
			dataTypeControl.length = 4;

			if (dataTypeValue==125) {dataTypeControl.options[2].selected=true;}
			else if (dataTypeValue==3) {dataTypeControl.options[0].selected=true;}
			else if (dataTypeValue==4) {dataTypeControl.options[1].selected=true;}
			else {dataTypeControl.options[3].selected=true;}

			showOrHide('dataTypeHolder',1);	
		}
		else if (formTypeValue==2)
		{
			dataTypeControl.options[0] = new Option("Total", "124");
			dataTypeControl.length = 1;
		}		
		else if (formTypeValue==4)
		{	
			dataTypeControl.options[0] = new Option("Form ES012 - Archive", "");
			dataTypeControl.options[1] = new Option("", "");
			dataTypeControl.options[2] = new Option("Per Tonne", "36");
			dataTypeControl.options[3] = new Option("", "");
			dataTypeControl.options[4] = new Option("Total", "38");
			dataTypeControl.options[5] = new Option("", "");
			dataTypeControl.options[6] = new Option("Coal Sourced", "100");
			dataTypeControl.options[7] = new Option("Heavy Oil Sourced", "101");
			dataTypeControl.options[8] = new Option("Diesel Oil Sourced", "102");
			dataTypeControl.options[9] = new Option("Natural Gas Sourced", "103");
			dataTypeControl.options[10] = new Option("Electricity Sourced", "104");
			dataTypeControl.options[11] = new Option("Other Sourced", "105");
			dataTypeControl.options[12] = new Option("", "");
			dataTypeControl.options[13] = new Option("Hydro Sourced Electrical Energy", "106");
			dataTypeControl.options[14] = new Option("Coal Sourced Electrical Energy", "107");
			dataTypeControl.options[15] = new Option("Oil Sourced Electrical Energy", "108");
			dataTypeControl.options[16] = new Option("Natural Gas Sourced Electrical Energy", "109");
			dataTypeControl.options[17] = new Option("Nuclear Sourced Electrical Energy", "110");
			dataTypeControl.options[18] = new Option("", "");
			dataTypeControl.options[19] = new Option("Relevant Alumina Production", "128");

			dataTypeControl.length = 20;

			if (dataTypeValue==36) {dataTypeControl.options[2].selected=true;}
			else if (dataTypeValue==38) {dataTypeControl.options[4].selected=true;}
			else if (dataTypeValue==100) {dataTypeControl.options[6].selected=true;}
			else if (dataTypeValue==101) {dataTypeControl.options[7].selected=true;}
			else if (dataTypeValue==102) {dataTypeControl.options[8].selected=true;}
			else if (dataTypeValue==103) {dataTypeControl.options[9].selected=true;}
			else if (dataTypeValue==104) {dataTypeControl.options[10].selected=true;}
			else if (dataTypeValue==105) {dataTypeControl.options[11].selected=true;}
			else if (dataTypeValue==106) {dataTypeControl.options[13].selected=true;}
			else if (dataTypeValue==107) {dataTypeControl.options[14].selected=true;}
			else if (dataTypeValue==108) {dataTypeControl.options[15].selected=true;}
			else if (dataTypeValue==109) {dataTypeControl.options[16].selected=true;}
			else if (dataTypeValue==110) {dataTypeControl.options[17].selected=true;}
			else if (dataTypeValue==128) {dataTypeControl.options[19].selected=true;}
			else {dataTypeControl.options[0].selected=true;}		
			showOrHide('dataTypeHolder',1);	
		}				
	}
}

function populateDateControls(materialValue,formTypeValue, dataTypeValue)
{
	var periodControl = eval(theDOM+ "period" + plainSuffix);
	var periodValue = periodControl.value
	
	var toYearControl = eval(theDOM+ "toYear" + plainSuffix);
	var toYearValue = toYearControl.value
		
	var possiblePeriods;
	var num = 0;
	
	if (materialValue==1)
	{
	
		if ((formTypeValue==1)||(formTypeValue==3))
		{
			possiblePeriods = 1;
		}
		else if (formTypeValue==2)
		{
			possiblePeriods = 3;
		}		
		else
		{
			possiblePeriods = 4;
		}
	}
	else if (materialValue==2)
	{
	
		if (formTypeValue==1)
		{
			possiblePeriods = 2;	
		}
		else if (formTypeValue==2)
		{
			possiblePeriods = 3;
		}		
		else
		{
			possiblePeriods = 4;
		}
	}

	if (periodValue < possiblePeriods)
	{
		periodValue = possiblePeriods;
	}
	if (possiblePeriods==1)
	{
		periodControl.options[num] = new Option("Monthly", "1");
		if (periodValue==1) {periodControl.options[num].selected=true;}
		num++;		
	}
	if (possiblePeriods<=2) 
	{
		periodControl.options[num] = new Option("Quarterly", "2");
		if (periodValue==2) {periodControl.options[num].selected=true;}
		num++;	
	}
	if (possiblePeriods<=3)
	{
		periodControl.options[num] = new Option("Six Monthly", "3");
		if (periodValue==3) {periodControl.options[num].selected=true;}
		num++;
	}
	periodControl.options[num] = new Option("Annual", "4");
	if (periodValue == 4) {periodControl.options[num].selected = true;}
	periodControl.length = num+1;
	
	if ((formTypeValue ==3)&&(dataTypeValue==""))
	{
		alert("is none");
	}
	
	if (periodValue=='1')
	{
		showOrHide('fromMonthHolder',1);
		if (toYearValue != '') showOrHide('toMonthHolder',1);
	}
	else if (periodValue=='2')
	{
		var fromQuarterControl = eval(theDOM+ "fromQuarter" + plainSuffix);
		var fromQuarterValue = fromQuarterControl.value;
				
		if ((formTypeValue=='2')||(formTypeValue=='3'))
		{
			fromQuarterControl.options[0] = new Option("March", "1");
			fromQuarterControl.options[1] = new Option("June", "2");
			fromQuarterControl.options[2] = new Option("September", "3");
			fromQuarterControl.options[3] = new Option("December", "4");			
		}
		else
		{
			fromQuarterControl.options[0] = new Option("Jan - Mar", "1");
			fromQuarterControl.options[1] = new Option("Apr - Jun", "2");
			fromQuarterControl.options[2] = new Option("Jul - Sep", "3");
			fromQuarterControl.options[3] = new Option("Oct - Dec", "4");			
		}
		if (fromQuarterValue==2) {fromQuarterControl.options[1].selected=true;}
		else if (fromQuarterValue==3) {fromQuarterControl.options[2].selected=true;}
		else if (fromQuarterValue==4) {fromQuarterControl.options[3].selected=true;}
		else {fromQuarterControl.options[0].selected=true;}
		fromQuarterControl.length = 4
		showOrHide('fromQuarterHolder',1);	
		if (toYearValue != '') 
		{
			var toQuarterControl = eval(theDOM+ "toQuarter" + plainSuffix);
			var toQuarterValue = toQuarterControl.value	
			if ((formTypeValue=='2')||(formTypeValue=='3'))
			{
				toQuarterControl.options[0] = new Option("March", "1");
				toQuarterControl.options[1] = new Option("June", "2");
				toQuarterControl.options[2] = new Option("September", "3");
				toQuarterControl.options[3] = new Option("December", "4");			
			}
			else
			{
				toQuarterControl.options[0] = new Option("Jan - Mar", "1");
				toQuarterControl.options[1] = new Option("Apr - Jun", "2");
				toQuarterControl.options[2] = new Option("Jul - Sep", "3");
				toQuarterControl.options[3] = new Option("Oct - Dec", "4");			
			}
			if (toQuarterValue==2) {toQuarterControl.options[1].selected=true;}
			else if (toQuarterValue==3) {toQuarterControl.options[2].selected=true;}
			else if (toQuarterValue==4) {toQuarterControl.options[3].selected=true;}
			else {toQuarterControl.options[0].selected=true;}			
			toQuarterControl.length = 4
			showOrHide('toQuarterHolder',1);
		}
	}	
	else if (periodValue=='3')
	{
		var fromHalfControl = eval(theDOM+ "fromHalf" + plainSuffix);
		var fromHalfValue = fromHalfControl.value;
				
		if ((formTypeValue=='2')||(formTypeValue=='3'))
		{
			fromHalfControl.options[0] = new Option("June", "1");
			fromHalfControl.options[1] = new Option("December", "2");
		}
		else
		{
			fromHalfControl.options[0] = new Option("Jan - Jun", "1");
			fromHalfControl.options[1] = new Option("Jul - Dec", "2");
		}
		if (fromHalfValue==2) {periodControl.options[1].selected=true;}
		else {periodControl.options[0].selected=true;}
		fromHalfControl.length = 2
		showOrHide('fromHalfHolder',1);	
		if (toYearValue != '') 
		{
			var toHalfControl = eval(theDOM+ "toHalf" + plainSuffix);
			var toHalfValue = toHalfControl.value	
			if ((formTypeValue=='2')||(formTypeValue=='3'))
			{
				toHalfControl.options[0] = new Option("June", "1");
				toHalfControl.options[1] = new Option("December", "2");
			}
			else
			{
				toHalfControl.options[0] = new Option("Jan - Jun", "1");
				toHalfControl.options[1] = new Option("Jul - Dec", "2");
			}			
			if (toHalfValue==2) {toHalfControl.options[1].selected=true;}
			else {toHalfControl.options[0].selected=true;}
			toHalfControl.length = 2
			showOrHide('toHalfHolder',1);
		}
	}
}

function populateYearControls(materialValue,formTypeValue)
{
	var fromYearControl = eval(theDOM+ "fromYear" + plainSuffix); 
	var toYearControl = eval(theDOM+ "toYear" + plainSuffix); 
	var currentYearControl = eval(theDOM+ "currentYear" + plainSuffix);
	
	var fromYearValue = fromYearControl.value;
	var toYearValue = toYearControl.value;
	var currentYearValue = currentYearControl.value;

	var startYear;
	var currentDate = new Date();
	var i;
	if ((formTypeValue==4)||(formTypeValue==6))
	{
		var dataTypeControl = eval(theDOM+ "dataType" + plainSuffix); 
		var dataTypeValue = dataTypeControl.value	
		if (dataTypeValue=="")
		{
			showOrHide('toYearHolder',0);
		}	
		else
		{
			showOrHide('toYearHolder',1);
		}	
		if ((formTypeValue==4)&&(materialValue==1))
		{
			if((dataTypeValue>=14)&&(dataTypeValue<=23))
			{
				startYear = 1989;
			}
			else
			{
				startYear = 1980;
			}
		}
		else if ((formTypeValue==4)&&(materialValue==2))
		{
			startYear = 1985;
		}	
		else if (formTypeValue==6)
		{
			if (dataTypeValue==126)
			{
				startYear = 1984;
			}
			else
			{
				startYear = 2000;
			}
		}
	}
	else 
	{
		if ((materialValue==1)&&(formTypeValue==2))
		{
			startYear = 1972;
		}
		else if ((materialValue==2)&&(formTypeValue==1))
		{
			startYear = 1974;
		}
		else
		{
			startYear = 1973;
		}
		showOrHide('toYearHolder',1);
    }
    populateYearControl(fromYearControl, toYearControl, currentYearValue, fromYearValue, toYearValue, startYear);
}

function populateYearControl(fromYearControl, toYearControl, currentYearValue, fromYearValue, toYearValue, startYear) {
    var checkFromSelected = 0;
    var checkToSelected = 0;
    for (i = 0; (i < eval(currentYearValue) + 1 - startYear); i++) {
        fromYearControl.options[i] = new Option(i + startYear, i + startYear);
        toYearControl.options[i] = new Option(i + startYear, i + startYear);
        if (i + startYear == fromYearValue) {
            fromYearControl.options[i].selected = true;
            checkFromSelected = 1;
        }
        if (i + startYear == toYearValue) {
            toYearControl.options[i].selected = true;
            checkToSelected = 1;
        }
    }

    toYearControl.options[i] = new Option("Present", "");

    fromYearControl.length = i;
    toYearControl.length = i + 1;
    if (checkFromSelected == 0) {
        fromYearControl.options[0].selected = true;
    }
    if (checkToSelected == 0) {
        toYearControl.options[i].selected = true;
    }	
}

function populateAreaControl(materialValue,formTypeValue)
{
	var fromYearControl = eval(theDOM+ "fromYear" + plainSuffix); 
	var toYearControl = eval(theDOM+ "toYear" + plainSuffix); 
	var areaControl = eval(theDOM+ "area" + plainSuffix); 
	
	var fromYearValue = fromYearControl.value
	var toYearValue = toYearControl.value
	var areaValue = areaControl.value
	
	var num = 0;
	
	if ((materialValue==1)&&(formTypeValue==6))
	{
		areaControl.options[num] = new Option("All Areas", ""); 
		num++;
	}
	
	else
	{
		areaControl.options[num] = new Option("All Areas", ""); 
		num++;

		if ((materialValue==2)&&(formTypeValue==4))
		{
		  areaControl.options[num] = new Option("Area 1/5: Africa/South Asia", "14"); 
		  if (areaValue==14) 
		   {
			areaControl.options[num].selected=true;
		   }
		   num++;
		}
		else
		{
		   areaControl.options[num] = new Option("Area 1: Africa", "1");
		   if (areaValue==1) {areaControl.options[num].selected=true;}
		   num++;
		}

		areaControl.options[num] = new Option("Area 2: North America", "2"); 
		if (areaValue==2) {areaControl.options[num].selected=true;}
		num++;
		areaControl.options[num] = new Option("Area 3: Latin America", "3"); 
		if (areaValue==3) {areaControl.options[num].selected=true;}
		num++;

		if ((materialValue==2)&&(formTypeValue==4))
		{
		   areaControl.options[num] = new Option("Area 4/7: East Asia/Oceania", "16"); 
		   if (areaValue==16) {areaControl.options[num].selected=true;}
		   num++;
		   areaControl.options[num] = new Option("Area 6A6B: Europe", "11"); 
		   if (areaValue==11) {areaControl.options[num].selected=true;}	
		   num++;
		}	
		else
		{
			if (fromYearValue<1987)
			{
			   areaControl.options[num] = new Option("Area 4: East Asia", "4"); 
			   if (areaValue==4) {areaControl.options[num].selected=true;}
			   num++;
			   areaControl.options[num] = new Option("Area 5: South  Asia", "5"); 
			   if (areaValue==5) {areaControl.options[num].selected=true;}
			   num++;
			}
			else
			{
			   areaControl.options[num] = new Option("Area 4/5: Asia", "8"); 
			   if (areaValue==8) {areaControl.options[num].selected=true;}
			   num++;	
			}

			if (fromYearValue<1996)
			{
				if ((materialValue==1)&&((formTypeValue==4)||(formTypeValue==3)||(formTypeValue==6)))
				{
					areaControl.options[num] = new Option("Area 6A6B: Europe", "11"); 
					if (areaValue==11) {areaControl.options[num].selected=true;}
					num++;
				}
				else		
				{
					areaControl.options[num] = new Option("Area 6: Europe", "6"); 
					if (areaValue==6) {areaControl.options[num].selected=true;}
					num++;
				}
			}
			else
			{
				if ((materialValue==1)&&((formTypeValue==4)||(formTypeValue==3)||(formTypeValue==6)))
				{
					areaControl.options[num] = new Option("Area 6A6B: Europe", "11"); 
					if (areaValue==11) {areaControl.options[num].selected=true;}
					num++;
				}
				else
				{
					areaControl.options[num] = new Option("Area 6A: Europe", "9"); 
					if (areaValue==9) {areaControl.options[num].selected=true;}
					num++;
					areaControl.options[num] = new Option("Area 6B: Europe", "10"); 
					if (areaValue==10) {areaControl.options[num].selected=true;}
					num++;
				}
			}
			areaControl.options[num] = new Option("Area 7: Oceania", "7"); 
			if (areaValue==7) {areaControl.options[num].selected=true;}
			num++;
		}
	}
	areaControl.length=num;
}

function changeAltSearchAttributes()
{
	var formControl = eval(theDOM+ "altForm" + plainSuffix);
	var periodControl = eval(theDOM+ "altPeriod" + plainSuffix);
	var toYearControl = eval(theDOM+ "altToYear" + plainSuffix);
	var dataTypeControl = eval(theDOM+ "altDataType" + plainSuffix); 

	var formValue = formControl.value;
	var periodValue = periodControl.value;
	var toYearValue = toYearControl.value;
	var dataTypeValue = dataTypeControl.value;
	
	var possiblePeriods;
	var num = 0;
	var requiresChineseData = false;

	showOrHide('altToMonthHolder',0);
	showOrHide('altToQuarterHolder',0);
	showOrHide('altToHalfHolder',0);
	showOrHide('altFromMonthHolder',0);
	showOrHide('altFromQuarterHolder',0);
	showOrHide('altFromHalfHolder',0);	
	showOrHide('altDataTypeHolder',0);

	if (formValue == 9) {
	    possiblePeriods = 2;
	    dataTypeControl.options[0] = new Option("Total", "129");
	    dataTypeControl.length = 1;
	}
	else if (formValue == 10) {
	    possiblePeriods = 2;
	    dataTypeControl.options[0] = new Option("Total", "130");
	    dataTypeControl.length = 1;
	}
	else if (formValue == 11) {
	    possiblePeriods = 1;
	    dataTypeControl.options[0] = new Option("Total", "131");
	    dataTypeControl.length = 1;
	    requiresChineseData = true;
	}
	else if (formValue == 13) {
	    possiblePeriods = 2;
	    dataTypeControl.options[0] = new Option("Metallurgical", "133");
	    dataTypeControl.options[1] = new Option("Chemical", "134");
	    dataTypeControl.options[2] = new Option("Total", "132");
	    dataTypeControl.length = 3;

	    if (dataTypeValue == 134) { dataTypeControl.options[1].selected = true; }
	    else if (dataTypeValue == 133) { dataTypeControl.options[0].selected = true; }
	    else { dataTypeControl.options[2].selected = true; }

	    showOrHide('altDataTypeHolder', 1);
	    requiresChineseData = true;
	}
	else if (formValue == 16) {
	    possiblePeriods = 1;
	    dataTypeControl.options[0] = new Option("Total", "131");
	    dataTypeControl.length = 1;
	    requiresChineseData = true;
	}
	else if (formValue == 17) {
	    possiblePeriods = 2;
	    dataTypeControl.options[0] = new Option("Metallurgical", "133");
	    dataTypeControl.options[1] = new Option("Chemical", "134");
	    dataTypeControl.options[2] = new Option("Total", "132");
	    dataTypeControl.length = 3;

	    if (dataTypeValue == 134) { dataTypeControl.options[1].selected = true; }
	    else if (dataTypeValue == 133) { dataTypeControl.options[0].selected = true; }
	    else { dataTypeControl.options[2].selected = true; }

	    showOrHide('altDataTypeHolder', 1);
	    requiresChineseData = true;
	}
	
	if (periodValue < possiblePeriods)
	{
		periodValue = possiblePeriods;
	}
	num = 0;
	if (possiblePeriods==1)
	{
		periodControl.options[num] = new Option("Monthly", "1");
		num=1;		
	}

	periodControl.options[num] = new Option("Quarterly", "2");
	num++;
	periodControl.options[num] = new Option("Half Yearly", "3");
	num++;
	periodControl.options[num] = new Option("Annual", "4");
	periodControl.length = num+1;	
	num = 0;
	if (possiblePeriods==1)
	{
		num=1;		
	}

	if (periodValue==1) {periodControl.options[0].selected=true;}
	else if (periodValue==2) {periodControl.options[num].selected=true;}
	else if (periodValue==3) {periodControl.options[num+1].selected=true;}
	else if (periodValue==4) {periodControl.options[num+2].selected = true;}

	if (periodValue=='1')
	{
		showOrHide('altFromMonthHolder',1);
		if (toYearValue != '') showOrHide('altToMonthHolder',1);
	}
	else if (periodValue=='2')
	{
		var fromQuarterControl = eval(theDOM+ "altFromQuarter" + plainSuffix);
		var fromQuarterValue = fromQuarterControl.value;
				
		if ((formValue=='9')||(formValue=='10'))
		{
			fromQuarterControl.options[0] = new Option("March", "1");
			fromQuarterControl.options[1] = new Option("June", "2");
			fromQuarterControl.options[2] = new Option("September", "3");
			fromQuarterControl.options[3] = new Option("December", "4");			
		}
		else
		{
			fromQuarterControl.options[0] = new Option("Jan - Mar", "1");
			fromQuarterControl.options[1] = new Option("Apr - Jun", "2");
			fromQuarterControl.options[2] = new Option("Jul - Sep", "3");
			fromQuarterControl.options[3] = new Option("Oct - Dec", "4");			
		}
		if (fromQuarterValue==2) {fromQuarterControl.options[1].selected=true;}
		else if (fromQuarterValue==3) {fromQuarterControl.options[2].selected=true;}
		else if (fromQuarterValue==4) {fromQuarterControl.options[3].selected=true;}
		else {fromQuarterControl.options[0].selected=true;}
		fromQuarterControl.length = 4
		showOrHide('altFromQuarterHolder',1);	
		if (toYearValue != '') 
		{
			var toQuarterControl = eval(theDOM+ "altToQuarter" + plainSuffix);
			var toQuarterValue = toQuarterControl.value	
			if ((formValue=='9')||(formValue=='10'))
			{
				toQuarterControl.options[0] = new Option("March", "1");
				toQuarterControl.options[1] = new Option("June", "2");
				toQuarterControl.options[2] = new Option("September", "3");
				toQuarterControl.options[3] = new Option("December", "4");			
			}
			else
			{
				toQuarterControl.options[0] = new Option("Jan - Mar", "1");
				toQuarterControl.options[1] = new Option("Apr - Jun", "2");
				toQuarterControl.options[2] = new Option("Jul - Sep", "3");
				toQuarterControl.options[3] = new Option("Oct - Dec", "4");			
			}
			if (toQuarterValue==2) {toQuarterControl.options[1].selected=true;}
			else if (toQuarterValue==3) {toQuarterControl.options[2].selected=true;}
			else if (toQuarterValue==4) {toQuarterControl.options[3].selected=true;}
			else {toQuarterControl.options[0].selected=true;}			
			toQuarterControl.length = 4
			showOrHide('altToQuarterHolder',1);
		}
	}	
	else if (periodValue=='3')
	{
		var fromHalfControl = eval(theDOM+ "altFromHalf" + plainSuffix);
		var fromHalfValue = fromHalfControl.value;
				
		if ((formValue=='9')||(formValue=='10'))
		{
			fromHalfControl.options[0] = new Option("June", "1");
			fromHalfControl.options[1] = new Option("December", "2");
		}
		else
		{
			fromHalfControl.options[0] = new Option("Jan - Jun", "1");
			fromHalfControl.options[1] = new Option("Jul - Dec", "2");
		}
		if (fromHalfValue==2) {fromHalfControl.options[1].selected=true;}
		else {fromHalfControl.options[0].selected=true;}
		fromHalfControl.length = 2
		showOrHide('altFromHalfHolder',1);	
		if (toYearValue != '') 
		{
			var toHalfControl = eval(theDOM+ "altToHalf" + plainSuffix);
			var toHalfValue = toHalfControl.value	
			if ((formValue=='9')||(formValue=='10'))
			{
				toHalfControl.options[0] = new Option("June", "1");
				toHalfControl.options[1] = new Option("December", "2");
			}
			else
			{
				toHalfControl.options[0] = new Option("Jan - Jun", "1");
				toHalfControl.options[1] = new Option("Jul - Dec", "2");
			}			
			if (toHalfValue==2) {toHalfControl.options[1].selected=true;}
			else {toHalfControl.options[0].selected=true;}
			toHalfControl.length = 2
			showOrHide('altToHalfHolder',1);
		}
    }

    populateAltYearControls(formValue);
}

function populateAltYearControls(formValue) {
    var fromYearControl = eval(theDOM + "altFromYear" + plainSuffix);
    var toYearControl = eval(theDOM + "altToYear" + plainSuffix);
    var currentYearControl = eval(theDOM + "altCurrentYear" + plainSuffix);

    var fromYearValue = fromYearControl.value;
    var toYearValue = toYearControl.value;
    var currentYearValue = currentYearControl.value;

    var startYear;
    if (formValue == 9) {
        startYear = 1992;
    }
    else if (formValue == 10) {
        startYear = 2001;
    }
    else if (formValue == 11) {
        startYear = 1999;
    }
    else if (formValue == 13) {
        startYear = 1999;
    }
    else if (formValue == 16) {
        startYear = 1999;
    }
    else if (formValue == 17) {
        var dataTypeControl = eval(theDOM + "altDataType" + plainSuffix);
        var dataTypeValue = dataTypeControl.value

        if (dataTypeValue == 132) {
            startYear = 1999;
        } else {
            startYear = 2003;
        }
    }
    
    populateYearControl(fromYearControl, toYearControl, currentYearValue, fromYearValue, toYearValue, startYear);
}
