var geocoder;

function codeAddress(addr, map, marker_content, callsign) {
   geocoder = new google.maps.Geocoder();
   geocoder.geocode( { 'address': addr}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
         map.setCenter(results[0].geometry.location);
         var marker = new google.maps.Marker({
            map: map, 
            title: callsign,
            clickable: true,
            position: results[0].geometry.location
         });
         var infiwindow = new google.maps.InfoWindow( {
            content:marker_content
         });
         google.maps.event.addListener(marker,'mouseover',function(){
            infiwindow.open(map,marker);
         });
         google.maps.event.addListener(marker,'mouseout',function(){
            infiwindow.close(map,marker);
         });
      //} else {
        //alert("Geocode was not successful for the following reason: " + status);
      }
    });
}
   
function initialize() {
   geocoder = new google.maps.Geocoder();
   var lat = parseFloat(lat_data);
   var lon = parseFloat(lon_data);
   var zoom = parseInt(zoom_data);
   var callsign = callsign_data;
   var marker_content = content_data;
   var latlng = new google.maps.LatLng(lat,lon);
   var address = addr_data;
   var results;

   if (address != undefined) {
      var opt = {
         zoom:zoom,
         mapTypeId: google.maps.MapTypeId.ROADMAP,
         disableAutoPan:false,
         navigationControl:true,
         navigationControlOptions: {style:google.maps.NavigationControlStyle.SMALL },
         mapTypeControl:true,
         mapTypeControlOptions: {style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}
      };
   }
   else {
      var opt = {
         center:latlng,
         zoom:zoom,
         mapTypeId: google.maps.MapTypeId.ROADMAP,
         disableAutoPan:false,
         navigationControl:true,
         navigationControlOptions: {style:google.maps.NavigationControlStyle.SMALL },
         mapTypeControl:true,
         mapTypeControlOptions: {style:google.maps.MapTypeControlStyle.DROPDOWN_MENU}
      };
   }
   var map = new google.maps.Map(document.getElementById("map"),opt);

   if (address != undefined) {
      codeAddress(address, map, marker_content, callsign);
   }
   else {
      var marker= new google.maps.Marker({
         position: new google.maps.LatLng(lat,lon),
         title: callsign,
         clickable: true,
         map: map
      });

      var infiwindow = new google.maps.InfoWindow( {
         content:marker_content
      });
   }


   google.maps.event.addListener(marker,'mouseover',function(){
      infiwindow.open(map,marker);
   });
   google.maps.event.addListener(marker,'mouseout',function(){
      infiwindow.close(map,marker);
   });

}

function test(event) {
   alert(event.latLng.lat());
   alert(event.latLng.lng());
}

