/**
* @namespace WPGMZA
* @module Distance
* @requires WPGMZA
*/
(function($) {
WPGMZA.Distance = {
MILES: true,
KILOMETERS: false,
MILES_PER_KILOMETER: 0.621371,
KILOMETERS_PER_MILE: 1.60934,
// TODO: Implement WPGMZA.settings.distance_units
/**
* Converts a UI distance (eg from a form control) to meters,
* accounting for the global units setting
*/
uiToMeters: function(uiDistance)
{
return parseFloat(uiDistance) / (WPGMZA.settings.distance_units == WPGMZA.Distance.MILES ? WPGMZA.Distance.MILES_PER_KILOMETER : 1) * 1000;
},
/**
* Converts a UI distance (eg from a form control) to kilometers,
* accounting for the global units setting
*/
uiToKilometers: function(uiDistance)
{
return WPGMZA.Distance.uiToMeters(uiDistance) * 0.001;
},
/**
* Converts a UI distance (eg from a form control) to miles,
* accounting for the global units setting
*/
uiToMiles: function(uiDistance)
{
return WPGMZA.Distance.uiToKilometers(uiDistance) * WPGMZA.Distance.MILES_PER_KILOMETER;
},
kilometersToUI: function(km)
{
if(WPGMZA.settings.distance_units == WPGMZA.Distance.MILES)
return km * WPGMZA.Distance.MILES_PER_KILOMETER;
return km;
}
};
})(jQuery);