﻿var geocoder, location1, location2, gDir;
 
function initialize() {
	geocoder = new GClientGeocoder();
	gDir = new GDirections();
	GEvent.addListener(gDir, "load", function() {
		var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
		var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
		{
		if (drivingDistanceMiles <=10)
		{
		var deliveryCharge = 'Free of Charge';
		}
		else if (drivingDistanceMiles >10 & drivingDistanceMiles <=15)
		{
	    var deliveryCharge = '£5.00';
		}
        else if (drivingDistanceMiles >15 & drivingDistanceMiles <=20)
		{
		var deliveryCharge = '£10.00';
        }
        else if (drivingDistanceMiles >20 & drivingDistanceMiles <=25)
		{
		var deliveryCharge = '£15.00';
        }
        else if (drivingDistanceMiles >25 & drivingDistanceMiles <=30)
		{
		var deliveryCharge = '£20.00';
        }
        else if (drivingDistanceMiles >30)
		{
		var deliveryCharge = 'Sorry the address is outside of our delivery area';
        }
		document.getElementById('txtDelivery').value = deliveryCharge;
		}
	});
}
 
function showLocation() {
	geocoder.getLocations(document.forms[0].address1.value, function (response) {
		if (!response || response.Status.code != 200)
		{
			alert("Sorry, we were unable to find the first address");
		}
		else
		{
			location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
			geocoder.getLocations(document.forms[0].address2.value, function (response) {
				if (!response || response.Status.code != 200)
				{
					alert("Sorry, we were unable to find the second address");
				}
				else
				{
					location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
					gDir.load('from: ' + location1.address + ' to: ' + location2.address);
				}
			});
		}
	});
}

//var geocoder, location1, location2;
// 
//function initialize() 
//{
//	geocoder = new GClientGeocoder();
//}
// 
//function showLocation() {
//	geocoder.getLocations(document.forms[0].address1.value, function (response) {
//		if (!response || response.Status.code != 200)
//		{
//			alert("Sorry, we were unable to geocode the first address");
//		}
//		else
//		{
//			location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
//			geocoder.getLocations(document.forms[0].address2.value, function (response) {
//				if (!response || response.Status.code != 200)
//				{
//					alert("Sorry, we were unable to geocode the second address");
//				}
//				else
//				{
//					location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
//					calculateDistance();
//				}
//			});
//		}
//	});
//}
//function calculateDistance()
//{
//	try
//	{
//		var glatlng1 = new GLatLng(location1.lat, location1.lon);
//		var glatlng2 = new GLatLng(location2.lat, location2.lon);
//		var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1);
//		var kmdistance = (miledistance * 1.609344).toFixed(1);
//		
//		if (miledistance <=10)
//		{
//		var deliveryCharge = 'Free of Charge';
//		}
//		else if (miledistance >10 & miledistance <=15)
//		{
//	    var deliveryCharge = '£5.00';
//		}
//        else if (miledistance >15 & miledistance <=20)
//		{
//		var deliveryCharge = '£10.00';
//        }
//        else if (miledistance >20 & miledistance <=25)
//		{
//		var deliveryCharge = '£15.00';
//        }
//        else if (miledistance >25 & miledistance <=30)
//		{
//		var deliveryCharge = '£20.00';
//        }
//        else if (miledistance >30)
//		{
//		var deliveryCharge = 'Quotation Required - We will contact you to advise of availability';
//        }
//        document.getElementById('txtDelivery').value =  deliveryCharge
//     }
//	catch (error)
//	{
//		alert(error);
//	}
//}