﻿    // JScript File
    
    var directionOwners = new Array();
    var directionObjects = new Array();
    
    function cm2GGetDirections(prefix, knownLocation){
        var locationText = document.getElementById(prefix + 'txtLoc');
        var directionRbl = document.getElementById(prefix + 'rblDirections');
        
        var googleDirections = null;
        
        for(var i=0; googleDirections == null && i < directionOwners.length; i++){
            if(directionOwners[i] == prefix){
                googleDirections = directionObjects[i];
            }        
        }

        if(googleDirections != null){
            googleDirections.clear();
            var firstInput = directionRbl.getElementsByTagName("INPUT")[0];
            
            if((firstInput.value == "to" && firstInput.checked) || (firstInput.value == "from" && !firstInput.checked)){
                googleDirections.load("from: " + locationText.value + " to: " + knownLocation);
            }else{
                googleDirections.load("from: " + knownLocation + " to: " + locationText.value);
            }
        }
    }
    
    function cm2GLoad(prefix, knownLocationName, knownLat, knownLng, knownAcc) {
        if (GBrowserIsCompatible()) {
            var googleMap = new GMap2(document.getElementById(prefix + 'divMap'));
            googleMap.addControl(new GSmallMapControl());
            googleMap.addControl(new GScaleControl());
            googleMap.addControl(new GMapTypeControl());

            var ll = new GLatLng(knownLat, knownLng);
            googleMap.setCenter(ll, knownAcc*2);

            var marker = new GMarker(ll, {title: knownLocationName, draggable: false, clickable: false});
            googleMap.addOverlay(marker);
            
            var googleDirectionsPanel = document.getElementById(prefix + 'divRoute');
            var googleDirections = new GDirections(googleMap, googleDirectionsPanel);
            
            GEvent.addListener(googleDirections, "error", handleDirError)
            
            var myNum = directionOwners.length;
            directionOwners[myNum] = prefix;
            directionObjects[myNum] = googleDirections;
        }
    }


    function handleDirError(x){
        //var code = x.getStatus().code;
        
        alert("There was an error processing your directions request.\nEnsure your address is in the format:\n1234 Streetname Ave, Cityname, State Postalcode, Country");
    }

