area = null;
result = null;

function clr(formObj) 
{
	area = null;
	result = null;
	formObj.s1.selectedIndex = 0; 
	formObj.s2.selectedIndex = 1;
	formObj.area.value = "";
	formObj.result.value = "";
	formObj.area.focus();
}

function convert(formObj)
{
	area = formObj.area.value;
	result = null;

	if (area.length < 1)
	{
		alert("Please enter an area to convert"); 
		formObj.area.focus();
		return false;
	}

	if (isNaN(area) === true)
	{
		alert("The area must be a number");
		formObj.area.focus();
		return false;
	}

	switch (formObj.s1.selectedIndex)
	{
	case 0: //Acre 
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 1.0;
				break;

			case 1: //Hectare 
				result = area * 0.4047;
				break;

			case 2: //Square Metre 
				result = area * 4046.86;
				break;

			case 3: //Square Kilometre
				result = area * 0.004047;
				break;

			case 4: //Square Foot
				result = area * 43560.0;
				break;

			case 5: //Square Yard
				result = area * 4840;
				break;

			case 6: //Square Mile
				result = area * 0.0016;
				break;
		}
		break;

	case 1: //Hectare
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 2.471;
				break;

			case 1: //Hectare 
				result = area * 1.0;
				break;

			case 2: //Square Metre 
				result = area * 10000; 
				break;

			case 3: //Square Kilometre
				result = area * 0.01;
				break;

			case 4: //Square Foot
				result = area * 107634.54;
				break;

			case 5: //Square Yard
				result = area * 11959.39;
				break;

			case 6: //Square Mile
				result = area * 0.003861;
				break;
		}
		break;

	case 2: //Square Metre 
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 0.000247;
				break;

			case 1: //Hectare 
				result = area * 0.0001;
				break;

			case 2: //Square Metre 
				result = area * 1.0;
				break;

			case 3: //Square Kilometre
				result = area * 0.000001;
				break;

			case 4: //Square Foot
				result = area * 10.76;
				break;

			case 5: //Square Yard
				result = area * 1.1960;
				break;

			case 6: //Square Mile
				result = area * 0.0000003861;
				break;
		}
		break;

	case 3: //Square Kilometre
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 247.1;
				break;

			case 1: //Hectare 
				result = area * 100.0;
				break;

			case 2: //Square Metre 
				result = area * 1000000.0;
				break;

			case 3: //Square Kilometre
				result = area * 1.0;
				break;

			case 4: //Square Foot
				result = area * 10764000.0;
				break;

			case 5: //Square Yard
				result = area * 1196000.0;
				break;

			case 6: //Square Mile
				result = area * 0.3861;
				break;
		}
		break;

	case 4: //Square Foot
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 0.000022957;
				break;

			case 1: //Hectare 
				result = area *  0.0000092906979;
				break;

			case 2: //Square Metre 
				result = area * 0.0929;
				break;

			case 3: //Square Kilometre
				result = area * 0.0000000929;
				break;

			case 4: //Square Foot
				result = area * 1.0;
				break;

			case 5: //Square Yard
				result = area * 0.1111;
				break;

			case 6: //Square Mile
				result = area * 0.00000003587;
				break;
		}
		break;

	case 5: //Square Yard
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 0.0002066;
				break;

			case 1: //Hectare 
				result = area * 0.0000836162811;
				break;

			case 2: //Square Metre 
				result = area * 0.8361;
				break;

			case 3: //Square Kilometre
				result = area * 0.0000008361;
				break;

			case 4: //Square Foot
				result = area * 9.0;
				break;

			case 5: //Square Yard
				result = area * 1.0;
				break;

			case 6: //Square Mile
				result = area * 0.00000032283;
				break;
		}
		break;

	case 6: //Square Mile
		switch (formObj.s2.selectedIndex)
		{
			case 0: //Acre
				result = area * 640;
				break;

			case 1: //Hectare 
				result = area * 258.999;
				break;

			case 2: //Square Metre 
				result = area * 2590000.0;
				break;

			case 3: //Square Kilometre
				result = area * 2.590;
				break;

			case 4: //Square Foot
				result = area * 27878400;
				break;

			case 5: //Square Yard
				result = area * 3097600.0;
				break;

			case 6: //Square Mile
				result = area * 1.0;
				break;
		}
		break;
	}

	formObj.result.value = result;
}