function init_all_boxes()
{
	var objs = document.getElementsByName(this.name);
	for (var i = 0; i < objs.length; i++)
	{
		objs[i].value = "";
	}
}

function set_handlers()
{
	objs = document.getElementsByName('short_distance');
	for (var i = 0; i < objs.length; i++)
	{
		objs[i].onfocus = init_all_boxes;
	}
	
	objs = document.getElementsByName('long_distance');
	for (var i = 0; i < objs.length; i++)
	{
		objs[i].onfocus = init_all_boxes;
	}
}

function on_short_distance_click()
{
	var yard = get_value_or_zero('yard');
	var foot = get_value_or_zero('foot');
	var inch = get_value_or_zero('inch');
	var meter = get_value_or_zero('meter');
	var cm = get_value_or_zero('cm');
	
	var METER_IN_CM = 100;
	var FOOT_IN_CM = 30.48;
	var INCH_IN_CM = 2.54
	var YARD_IN_CM = 91.48;
	
	if (meter)
		cm = meter * METER_IN_CM;
		
	if (cm)
	{	
		meter = cm / METER_IN_CM;
		yard = cm / YARD_IN_CM;
		foot = cm / FOOT_IN_CM;
		inch = cm / INCH_IN_CM;
	}
	else
	if (inch)
	{
		cm = inch * INCH_IN_CM;
		meter = cm / METER_IN_CM;
		yard = cm / YARD_IN_CM;
		foot = cm / FOOT_IN_CM;
	}
	else
	if (yard)
	{
		cm = yard * YARD_IN_CM;
		meter = cm / METER_IN_CM;
		foot = cm / FOOT_IN_CM;
		inch = cm / INCH_IN_CM;
	}
	else
	if (foot)
	{
		cm = foot * FOOT_IN_CM;
		yard = cm / YARD_IN_CM;
		meter = cm / METER_IN_CM;
		inch = cm / INCH_IN_CM;
	}
	
	if (cm < 0)
	{
		alert("המרחק שהזנת שלילי. אין משמעות למרחקים שליליים");
		return;
	}
	
	if (cm == Math.floor(cm))
		set_value('cm',format_number(cm, 0));
	else
		set_value('cm',format_number(cm, 2));
	set_value('meter', format_number(meter, 4));
	set_value('foot', format_number(foot, 4));
	set_value('yard', format_number(yard, 4));
	set_value('inch', format_number(inch, 2));
	
}

function on_long_distance_click()
{
	var yard = get_value_or_zero('l_yard');
	var feet = get_value_or_zero('l_feet');
	var km = get_value_or_zero('km');
	var meter = get_value_or_zero('l_meter');
	//var nm = get_value_or_zero('nm');
	var miles = get_value_or_zero('mile');
	
	var KM_IN_METERS = 1000;
	var FOOT_IN_METERS = 0.3048;
	var YARD_IN_METERS = 0.9144;
	var MILE_IN_METERS = 1609.344;
	var NM_IN_METERS = 1852;
	
	if (km)
		meter = km * KM_IN_METERS;
		
	if (meter)
	{	
		yard = meter / YARD_IN_METERS;
		feet = meter / FOOT_IN_METERS;
		miles = meter / MILE_IN_METERS;
		nm = meter / NM_IN_METERS;
		km = meter / KM_IN_METERS;
	}
	else
	if (yard)
	{
		meter = yard * YARD_IN_METERS;
		feet = meter / FOOT_IN_METERS;
		miles = meter / MILE_IN_METERS;
		nm = meter / NM_IN_METERS;
		km = meter / KM_IN_METERS;
	}
	else
	if (feet)
	{
		meter = feet * FOOT_IN_METERS;
		yard = meter / YARD_IN_METERS;
		miles = meter / MILE_IN_METERS;
		nm = meter / NM_IN_METERS;
		km = meter / KM_IN_METERS;
	}
	else
	if (miles)
	{
		meter = miles * MILE_IN_METERS;
		feet = meter / FOOT_IN_METERS;
		yard = meter / YARD_IN_METERS;
		nm = meter / NM_IN_METERS;
		km = meter / KM_IN_METERS;
	}
	else
	if (nm)
	{
		meter = nm * NM_IN_METERS;
		feet = meter / FOOT_IN_METERS;
		yard = meter / YARD_IN_METERS;
		km = meter / KM_IN_METERS;
		miles = meter / MILE_IN_METERS;
	}
	
	if (km < 0)
	{
		alert("המרחק שהזנת שלילי. אין משמעות למרחקים שליליים");
		return;
	}
	
	set_value('km',format_number(km, 4));
	set_value('l_meter', format_number(meter, 2));
	set_value('l_yard', format_number(yard, 2));
	set_value('l_feet', format_number(feet, 2));
	//set_value('nm', format_number(nm, 5));
	set_value('mile', format_number(miles, 5));
	
}
