/*
 * Functions for handling events.
 * Copyright (C) 2003 Mats Bergsten
 * http://www.bergsten.net/mats
 */

function numeralsOnly(evt)
{
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 48 || charCode > 57) && (charCode != 13 && charCode != 3 && charCode != 46 && charCode != 45)) {
        alert("You can only enter numbers and decimal separator in this field.");
        return false;
    }

    return true;
}

function checkKeyPressed(evt)
{
	if(numeralsOnly(evt))
	{
		evt = (evt) ? evt : event;

	    var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
	    if (charCode == 13 || charCode == 3)
		{
			this.focus();
			compute(unitArray, this.name, this.value);
			
			return true;
	    }
		else
		{
	        return true;
	    }
	}
	else
	{
		return false;
	}
}

function checkTemperatureKeyPressed(evt)
{
	if(numeralsOnly(evt))
	{
		evt = (evt) ? evt : event;

	    var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
	    if (charCode == 13 || charCode == 3)
		{
			this.focus();
			computeTemperature(this.name, this.value);

			return true;
	    }
		else
		{
	        return true;
	    }
	}
	else
	{
		return false;
	}
}

function checkFuelConsumptionKeyPressed(evt)
{
	if(numeralsOnly(evt))
	{
		evt = (evt) ? evt : event;

	    var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
	    if (charCode == 13 || charCode == 3)
		{
			this.focus();
			computeFuelConsumption(this.name, this.value);

			return true;
	    }
		else
		{
	        return true;
	    }
	}
	else
	{
		return false;
	}
}

function bookmarkSite(title, url){
	if (document.all)
		window.external.AddFavorite(url, title);
	else if (window.sidebar)
		window.sidebar.addPanel(title, url, "")
}

function addFavorite()
{ 
	if (window.external) // if the browser is IE open the add favorite window
	{
		external.AddFavorite(location.href, document.title)
		// Add the document location and title to the AddFavorite window
	}
  	else // Display and alert box for any other browser.
  	{
		alert("Your web browser doesn't allow this." + 
		"\nPlease use your web browsers normal way of adding bookmarks.");
	}
}

function winPrint()
{
	if (window.print) 
	{
		window.print();
	}
	else
	{
		alert("Your web browser does not support this print method. Please close this dialog and choose File -> Print from the web browsers menu.");
	}
}
