// Java Scripts by Data Directions, for Google Maps Processing....
// Last Modified: 10/27/09

 var geocoder;
  var map;
  var MapType;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var testType = parseInt(readCookie('Type'));
    //alert(testType);
    switch (testType)
    {
    case 1: MapType = google.maps.MapTypeId.ROADMAP; break;
    case 2: MapType = google.maps.MapTypeId.SATELLITE; break;
    case 3: MapType = google.maps.MapTypeId.HYBRID; break;
    case 4: MapType = google.maps.MapTypeId.TERRAIN;  break;
    default: MapType = google.maps.MapTypeId.ROADMAP;
    }
            
    var latlng = new google.maps.LatLng(readCookie('Lat'),readCookie('Lon'));
    //var latlng = new google.maps.LatLng(45.2,-122.65);
    var myOptions = {
      zoom: parseInt(readCookie('Zoom'))+2,
      center: latlng,
      mapTypeId: MapType
      //mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
    google.maps.event.addListener(map, 'maptypeid_changed', function() {    setTimeout(writeCookie, 3000);  });
    google.maps.event.addListener(map, 'idle', function() {    setTimeout(writeCookie, 3000);  });
    
    //var myLatlng = new google.maps.LatLng(45.2,-122.65);       
    //var marker = new google.maps.Marker({      position: myLatlng,       map: map,       title:"Hello World!"  }); 
    //setMarkers(map, HotSprings);
  }
  
  
  function setMarkers(map, locations) {
  for (var i = 0; i < locations.length; i++) {
      var beach = locations[i];    
      var myLatLng = new google.maps.LatLng(beach[1], beach[2]);    
      var marker = new google.maps.Marker({position: myLatLng, map: map, title: beach[0],Index: beach[3]});
      };
  }
  
  function writeCookie() 
  {
      var type
      switch (map.getMapTypeId())
      {
        case "roadmap": type = 1; break;
        case "satellite": type = 2; break;
        case "hybrid": type = 3; break;
        case "terrain": type = 4;  break;
        default: type = 1;
       }
       //alert("fired");
       var mzoom = map.getZoom()-2
       if (mzoom > 15)
       {
        mzoom = 15;
       }
       createMapCookies(map.getCenter().lat(), map.getCenter().lng(), mzoom, type); 
  }
  

  function codeAddress() {
    var address = document.getElementById("address").value;
    if (geocoder) {
      geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          map.setCenter(results[0].geometry.location);
          var marker = new google.maps.Marker({
              map: map, 
              position: results[0].geometry.location
          });
        } else {
          alert("Geocode was not successful for the following reason: " + status);
        }
      });
    }
  }  
  