﻿    var map;
    var gdir;
    var trafficInfo = new GTrafficOverlay();
    var geocoder = null;
    var addressMarker;
    var toggleState = 1;
    var waypoints = [];
    var numGeocoded = 0;
    var CenterMap = 1;
    var addresses = new Array();
    addresses = addyArray.split("~~");

    var devDetails = new Array();
    devDetails = detailsArray.split("####");


    function plotAddress(address, infoHtml) {
    var delay = 250;    
        if (geocoder) {
            geocoder.getLatLng(
                address,
                function(point) {
                    if (!point) {

                    } else {
                        if (CenterMap == 1){
                        map.setCenter(point, 10);
                        CenterMap = 0;
                        }
                        var marker = new GMarker(point);
                        map.addOverlay(marker);
                        GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(infoHtml); });
                    }
                }
             );
        }
     numGeocoded += 1;
     window.setTimeout(geocodeAll, delay);   
    }

    function geocodeAll() {
        if (numGeocoded < addresses.length) {
            plotAddress(addresses[numGeocoded], devDetails[numGeocoded]);
      }
    }

    function GetCenter(address) {

        if (geocoder) {
            geocoder.getLatLng(
                address,
                function(point) {
                    if (!point) {
                    } else {
                        map.setCenter(point, 10);
                    }
                }
             );
        }
    }

    function initialize() {
        CenterMap = 1;
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("map_canvas"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        numGeocoded = 0;
        geocoder = new GClientGeocoder();
        //GetCenter(addresses[0]);  
        setMarkers()
        
      }
    }
    
    function setMarkers(){
    window.setTimeout(geocodeAll, 50);
    }

    $(function() {
        $("#ExpandMap").click(function(){
        
          $("#ShrinkMap").css({display: "inline"});
          $("#ExpandMap").css({display: "none"});
          $("#ExpandMapMore").css({display: "inline"});
          $("#ohn-expandable-map").animate({width: "720px",height: "300px"},1500,"easeInOutQuad" );          
          $("#map_canvas").animate({width: "720px"}, 1500,"easeInOutQuad",function(){initialize();} );
          
        });
    });
    
    $(function() {
        $("#ExpandMapMore").click(function(){
        
          $("#ExpandMapMore").css({display: "none"});
          $("#CollapseMap").css({display: "inline"});
          $("#ohn-expandable-map").animate({width: "720px",height: "460px"},1000,"easeInOutQuad" );          
          $("#map_canvas").animate({height: "450px"}, 1500,"easeOutBounce",function(){initialize();} );          
          
        });
    });
    
    $(function() {
        $("#CollapseMap").click(function(){
        
          $("#CollapseMap").css({display: "none"});
          $("#ExpandMapMore").css({display: "inline"});
          $("#ohn-expandable-map").animate({width: "720px",height: "310px"},1500,"easeInOutQuad" );          
          $("#map_canvas").animate({height: "297px"}, 1500,"easeInOutQuad",function(){initialize();} );
          
        });
    });

    $(function() {
        $("#ShrinkMap").click(function(){
        
          $("#ShrinkMap").css({display: "none"});
          $("#ExpandMapMore").css({display: "none"});
          $("#CollapseMap").css({display: "none"});
          $("#ExpandMap").css({display: "inline"});
          $("#ohn-expandable-map").animate({width: "297px",height: "297px"},1500,"easeInOutQuad" );          
          $("#map_canvas").animate({width: "297px", height: "297px"}, 1500,"easeInOutQuad",function(){initialize();} );
          
        });
    });    
    
    function AddRemoveProp(DivID){

        InList = CheckArray(DivID);
        if (InList == false){
            document.getElementById("selected-properties").innerHTML = document.getElementById("selected-properties").innerHTML + "," + DivID;
            YAHOO.util.Dom.setStyle([DivID], 'float', 'left');
	        YAHOO.util.Dom.setStyle([DivID], 'height', '101px');
	        YAHOO.util.Dom.setStyle([DivID], 'padding', '5px');
	        YAHOO.util.Dom.setStyle([DivID], 'background-image', 'url(/control/images/prop-added.gif)');
	        YAHOO.util.Dom.setStyle([DivID], 'background-repeat', 'no-repeat');
	        YAHOO.util.Dom.setStyle([DivID], 'background-position', 'center bottom');
	        YAHOO.util.Dom.setStyle([DivID], 'border', '1px solid #80BDD9');
	        YAHOO.util.Dom.setStyle([DivID], 'background-color', '#E6F5FC');
	        YAHOO.util.Dom.setStyle([DivID], 'text-align', 'center');
	    }else{
	        YAHOO.util.Dom.setStyle([DivID], 'float', 'left');
	        YAHOO.util.Dom.setStyle([DivID], 'height', '101px');
	        YAHOO.util.Dom.setStyle([DivID], 'padding', '5px');
	        YAHOO.util.Dom.setStyle([DivID], 'background-image', 'url(/control/images/prop-add.gif)');
	        YAHOO.util.Dom.setStyle([DivID], 'background-repeat', 'no-repeat');
	        YAHOO.util.Dom.setStyle([DivID], 'background-position', 'center bottom');
	        YAHOO.util.Dom.setStyle([DivID], 'border', '1px solid #FFF');
	        YAHOO.util.Dom.setStyle([DivID], 'background-color', '#FFFFFF');
	        YAHOO.util.Dom.setStyle([DivID], 'text-align', 'center');
	    }
	    
    }
    
    function CheckArray(DivID){
        var x;
        var ArrayValues = document.getElementById("selected-properties").innerHTML;
        var InList;
        InList = false;  
        var arrLnList = new Array();
        arrLnList = ArrayValues.split(',');
                for (x in arrLnList)
                      {
                      if (arrLnList[x] == DivID) // if this is the LN they want out, then remove it
                      {
                            arrLnList.splice(x,1);
                            InList = true; 
                            }
                      }
         var NewCompareList = arrLnList.join(); // put the array back to a string
         document.getElementById("selected-properties").innerHTML = NewCompareList;
         
         return InList
    }   
