/*
 * Copyright 2007 Jeffrey Palm.
 */


// Globals
var map;
var geocoder;
var maxLat = 31.863917;
var minLat = maxLat;
var maxLng = -96.926791;
var minLng = maxLng;

function main() {

  map = new GMap2(document.getElementById("map"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  geocoder = new GClientGeocoder();

	var lat = 42.338937;
	var lng = -71.092616;
	var scale = 5;
	map.setCenter(new GLatLng(lat,lng),scale);

}

function html(txt) {
  return htmlStart() + txt + htmlEnd();
}
	
function htmlStart() {
  return "<div id='mainInfoDiv' style='padding: 2px; white-space: nowrap; text-align:left' >";
}
	
function htmlEnd() {
  return "</div>";
}

function createMarker(time,link,position,company,score,location) {

  geocoder.getLatLng(location,
                     function(point) {
                       if (!point) {
                         alert(address + " not found");
                       } else {

                         var lat = point.lat();
                         var lon = point.lng();
                         
                         if (!lat || !lon) return;

                         N = 0.00001;
                         lat = lat - N + Math.random(2*N);
                         lon = lon - N + Math.random(2*N);

                         // for centering
                         if (lat>maxLat) maxLat = lat; 
                         if (lat<minLat) minLat = lat; 
                         if (lon>maxLng) maxLng = lon;
                         if (lon<minLng) minLng = lon;
                         
                         var marker = new GMarker(point);
                         
                         map.addOverlay(marker);

                         GEvent.addListener(marker, "click", function() {
                                              txt  = "<b>" + company + "</b><br/>";
                                              txt += "<em>" + position + "</em></br>";
                                              txt += location + "<br/>";
                                              txt += "<br/>";
                                              txt += "<a target='_' href='http://jobs.joelonsoftware.com/" + link + "'>more</a>";
                                              str = html(txt);
                                              marker.openInfoWindowHtml(str);
                                            });                         
                       }
                     }
                     );

}

function finishUp() {
	var midLng = (maxLng+minLng)/2;
	var midLat = (maxLat+minLat)/2;
  var scale = 4;
	map.setCenter(new GLatLng(midLat,midLng),scale);
}

