YPMaps = {};

YPMaps.Distances = 
{
	destination:'',
	origins:new Array(),

	init : function()
	{
		for (var i = 0; i < YPMaps.Distances.origins.length; i++)
		{
			var dir = new GDirections();
			dir.destination = YPMaps.Distances.origins[i];
			GEvent.addListener(dir, 'load', YPMaps.Distances.onload);
			dir.load("from:" + YPMaps.Distances.origins[i] + " to:" + YPMaps.Distances.destination);
		}
	},
	
	onload : function(dir)
	{	
		if ($('loadingDistances').visible())
		{
			$('loadingDistances').hide();
		}
		
		var header = $(document.createElement('h4'));
		header.update(dir.destination.split(',')[0]);
		
		$('locationDistancesList').appendChild(header);
	
		var label = $(document.createElement('p'));
		label.update("KM");
		label.addClassName('label');
	
		$('locationDistancesList').appendChild(label);
		
		var value = $(document.createElement('p'));
		value.update(Math.round(dir.getDistance().meters / 1000));
		value.addClassName('value');
		
		$('locationDistancesList').appendChild(value);
		
		var label = $(document.createElement('p'));
		label.update("Miles");
		label.addClassName('label');
	
		$('locationDistancesList').appendChild(label);
		
		var value = $(document.createElement('p'));
		value.update(Math.round(dir.getDistance().meters * 0.000621371192));
		value.addClassName('value');
		
		$('locationDistancesList').appendChild(value);
		
		var label = $(document.createElement('p'));
		label.update('Approx. Drive Time');
		label.addClassName('label');
	
		$('locationDistancesList').appendChild(label);
		
		var value = $(document.createElement('p'));
		value.update(dir.getDuration().html.replace(' hours', 'h').replace(' hour', 'h').replace(' mins', 'm').replace(' min', 'm'));
		value.addClassName('value');
		
		$('locationDistancesList').appendChild(value);
		
		var clearDiv = $(document.createElement('div'));
		clearDiv.addClassName('clear');
		clearDiv.update('&nbsp;');
		
		$('locationDistancesList').appendChild(clearDiv);
		
	},
	
	registerOrigin : function (s)
	{
		YPMaps.Distances.origins[YPMaps.Distances.origins.length] = s;
	}
}

Event.observe(window, 'load', YPMaps.Distances.init);
