//Copyright (c) 1983-2009 Hyndman Industrial Products, Inc. All rights reserved.

//--initializes fields to ""
function clearFields() 
{
        document.Converter.one.value = "";
        document.Converter.two.value = "";
}

//--Throws a "Please enter a number" error, if there is not any input.
function sendError() 
{
        alert("Please enter a number.");
}

//--
function checknumber() 
{
//--Initialises variables
	var testresult=false;
//--Takes values from fields
        var x = document.Converter.one.value;
        var y = document.Converter.two.value;
//--Puts values to array
	var nx = x.split("");
	var ny = y.split("");
//--Checks for negativity
	if(nx[0] == "-") { x = nx[1];}
	if(ny[0] == "-") { y = ny[1];}
//--initialises a variable to something
        var anum = /(^\d+$)|(^\d+\.\d+$)/;
//--
        if ( (anum.test(x) || anum.test(y)) && (x != "" || y != "") )
                testresult=true;
        else 
	{
                alert("Please enter a valid number.");
                testresult=false;
        }
        return (testresult);
}

//--Converts to Celsius
function updateCelsius()
{
	document.Converter.two.value = Math.round((5.0/9.0) * (document.Converter.one.value - 32.0)); 
} 

//--Converts to Fahrenheit
function updateFahrenheit()
{
	document.Converter.one.value = Math.round((9.0/5.0) * document.Converter.two.value + 32.0); 
} 

//--
function convertTemperature() 
{
//--If Celsius, convert to Fahrenheit
	if ( (document.Converter.one.value != "") && (document.Converter.two.value == "") )
	{
		if(checknumber())
		{
			updateCelsius();
		}
	}
//--If Fahrenheit, convert to Celsius
	else if( (document.Converter.one.value == "") && (document.Converter.two.value != "") )
	{
		if(checknumber())
		{
			updateFahrenheit();
		}
	}
//--If Both, throw error, else clear
	else if( (document.Converter.one.value == "") && (document.Converter.two.value == "") )
	{
		sendError();
	}else
	{
		if(checknumber())
		{
			document.Converter.two.value = "";
			updateCelsius();
		}
	}
}
