
var puLat,puLng,drLat,drLng
var waypoints = new Array();
puLat=0;
drLat=0;
puLng=0;
drLng=0;

function getPostcodeLatLong(postcode,pickDrop) {

//alert("1");

var strTrip;

localSearch.setSearchCompleteCallback(null,
    function() {

      if (localSearch.results[0]) {
        var resultLat = localSearch.results[0].lat;
        var resultLng = localSearch.results[0].lng;
        var point = new GLatLng(resultLat,resultLng);

        assignLatLng(resultLat,resultLng,pickDrop);

      }
      else{
        //alert("Postcode not found!");
      }
    });

localSearch.execute(postcode + ", UK");

}



function assignLatLng (lat,lng,pickDrop) {


        if (pickDrop == "1") {
			puLat=lat;
			puLng=lng;
			
		}

		else if (pickDrop == "2") {
			drLat=lat;
			drLng=lng;
			//writeGeos("drlat",drLat,"drlng",drLng);
			//strTrip = puLat + "," + puLng + " to " + drLat + "," + drLng
			//getDistance(strTrip);
		}

		else if (pickDrop == "3") {
			var v1Lat=lat;
			var v1Lng=lng;
			strtrip="";
			var strVia = "";

			var n
			n=waypoints.length;

			waypoints[n]={lat:v1Lat,lng:v1Lng};

			for(var i=0;i<waypoints.length;i++)

			strVia = strVia + " to: " + waypoints[i].lat + "," + waypoints[i].lng;

			strTrip = "from: " + puLat + "," + puLng + strVia + " to: " + drLat + "," + drLng

			getDistance(strTrip);
		}
		
	if (puLat !=0 && drLat !=0) {
	strTrip = puLat + "," + puLng + " to " + drLat + "," + drLng
	//alert(strTrip);
	getDistance(strTrip);
	}
}



function writeGeos(latId,latVal,lngId,lngVal) {

document.getElementById(latId).innerHTML=latVal;
document.getElementById(lngId).innerHTML=lngVal;

}


function writeRoute(pcd) {
var wp,wpval
wp = document.getElementById("waypoints")
wpval = wp.innerHTML
wp.innerHTML = wpval + "," + pcd

}



function getDistance(strTrip) {

//alert("a");

var totalDistance,totolTime

	if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			directionsPanel = document.getElementById("dirdiv");
			map.setCenter(new GLatLng(puLat, puLng), 3);
			
			directions = new GDirections(map, directionsPanel);

			GEvent.addListener(directions, "load", function(){

			durTime = directions.getDuration();
			tripDistance = directions.getDistance();

			
			document.getElementById("hidDistance").value=tripDistance.meters;
			document.getElementById("hidTime").value=durTime.seconds;
			
			//alert(document.getElementById("hidDistance").value);
			//alert(tripDistance.meters);
			
			});

			directions.load(strTrip);

	}
}




function getPostcodes(postcode,pickDrop) {

        var xmlHttpReq;
        var strUrl,results,resultLat,resultLng;
        var latTag,lngTag,myRand;

        strUrl = "http://www.whichtable.com/utdsxmlgetpcs.asp?pc=" + postcode;

        myRand = parseInt(Math.random()*99999999999999);
        strUrl = strUrl +"&mr="+myRand;

        if (window.XMLHttpRequest) {
                xmlHttpReq = new XMLHttpRequest();
                xmlHttpReq.overrideMimeType('text/xml');
        }
        // IE
        else if (window.ActiveXObject) {
                xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        }

		xmlHttpReq.open('GET', strUrl, true);


        xmlHttpReq.onreadystatechange = function() {
			if (xmlHttpReq.readyState == 4) {

				if (xmlHttpReq.status == 200) {

				latTag = xmlHttpReq.responseXML.getElementsByTagName("lat")[0];
				lngTag = xmlHttpReq.responseXML.getElementsByTagName("lng")[0];

				resultLat = latTag.childNodes[0].nodeValue;
				resultLng = lngTag.childNodes[0].nodeValue;

					if (resultLat==0) {
						getPostcodeLatLong(postcode,pickDrop);
					}
					else {

						assignLatLng(resultLat,resultLng,pickDrop);
					}
				}
				else {
				}
			}
		}
        xmlHttpReq.send(null);
}


function createMarker(point, drv, vt) {  

var icon = new GIcon();
	//icon.image = "http://www.bestlondonrestaurant.co.uk/utdsweb/next.gif";
	//icon.image = "http://www.google.com/mapfiles/cabs.png";
	//icon.shadow = "http://www.google.com/mapfiles/cabs.shadow.png";
	icon.image = "http://maps.google.com/mapfiles/ms/micons/cabs.png";
	icon.shadow = "http://maps.google.com/mapfiles/ms/micons/cabs.shadow.png";
	//icon.iconSize = new GSize(16, 16);
	//icon.shadowSize = new GSize(37, 34);
	icon.iconAnchor = new GPoint(10, 34);
	icon.infoWindowAnchor=new GPoint(6,1);
	icon.infoShadowAnchor=new GPoint(13,13);

var marker = new GMarker(point,icon);  
GEvent.addListener(marker, "mouseover", function() {   
marker.openInfoWindowHtml("<b>" + drv + "</b><br />" + vt + "<br /><a href='assign.asp'>Assign Job</a>");  
});  
return marker;
}



function loadmapNr(pid) {
     var xmlHttpReq;
     var strUrl,results,resultLat,resultLong;
     var lng,lat,lngTag,latTag,myRand;
        
      
	var lon,lat,clat,clng,map,point,marker,drv,vt,drv_id;
								
	clat=51.494082659999997;
	clng=-0.17295341;


	if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(clat, clng), 15);
	map.addControl(new GSmallMapControl());


	drv_id = 47;
	drv = "Jafar";
	lng = -0.18342;
	lat = 51.49888999999999;
	vt = "Estate";


	//lng = xmlHttpReq.responseXML.getElementsByTagName("longitude")[0];
	//latTag = xmlHttpReq.responseXML.getElementsByTagName("latitude")[0];

	//lng = lngTag.childNodes[0].nodeValue;
	//lat = latTag.childNodes[0].nodeValue;

	//var icon = new GIcon();
	//icon.image = "http://www.google.com/mapfiles/marker.png";
	//icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	//icon.iconSize = new GSize(20, 34);
	//icon.shadowSize = new GSize(37, 34);
	//icon.iconAnchor = new GPoint(10, 34);
	// var marker = new GMarker(point,icon);


	//map.addControl(new GMapTypeControl());

	//map.openInfoWindow(map.getCenter(),document.createTextNode(rname));


	point = new GLatLng(lat, lng);
	map.addOverlay(createMarker(point, drv, vt));


	//map.addOverlay(new GMarker(point));

	}	
    }
    