var baseIcon = new GIcon();

baseIcon.iconSize = new GSize(21, 19);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);

var pointTitle = [];
var pointDetail = [];
var pointInfo = [];
var pointLat = [];
var pointLon = []; 
var misc_info= []; 
var points=[];
var markers= [];
var map;
var infoHtmls=[];


function getGoogleMapsVersion() {
	var i, a, b, c;

	if (document.getElementsByTagName)
		for(i=0; (a = document.getElementsByTagName("script")[i]); i++)
			if(a.getAttribute("src"))
			{
				b = a.getAttribute("src");
				c = b.indexOf("/maps.", b.length - 12);
				if (c > 0)
					return parseFloat(b.substring(c+6));
			}
	return "unknown";
}


function insertVersionIntoPage() {
	var obj = document.getElementById("pdmarkerrevisions");
	if (obj)
		obj.innerHTML = getPdMarkerRevisionInfo();

	obj = document.getElementById("pdmarkerversion");
	if (obj)
		obj.innerHTML = getPdMarkerVersion() + " (Google Maps JS version: " + getGoogleMapsVersion() + ")";
}

function loadLotsOfMarkers(count, isPd) {
	var bounds = map.getBoundsLatLng();
	var width = bounds.maxX - bounds.minX;
	var height = bounds.maxY - bounds.minY;
	for (var i = 0; i < count; i++)
	{
		var point = new GPoint(bounds.minX + width * Math.random(),
						bounds.minY + height * Math.random());
		var marker;
		if (isPd)
			marker = new PdMarker(point);
		else
			marker = new GMarker(point);
		map.addOverlay(marker);
	}
}

function removeMarkers() {
	map.clearOverlays();
}
   
	
function makePopupCaller( i )
{
	return function() { popup( i ); };
}

function popup(i) {
  map.centerAndZoom(points[i], map.getZoomLevel());
  markers[i].openInfoWindowHtml(misc_info[i]);
}    
	
function zoomIn(i,level) {
	map.centerAndZoom(points[i], level);
	document.getElementById("zoom" + i).innerHTML = "[<a href=\"javascript:zoomOut(" + i + ",7);\">zoom out</a>]";
}

function zoomOut(i,level) {
	map.centerAndZoom(points[i], level);
	document.getElementById("zoom" + i).innerHTML = "[<a href=\"javascript:zoomIn(" + i + ",0);\">zoom in</a>]";
}

function myOpener(i,level) {
	map.centerAndZoom(points[i], map.getZoomLevel());
	markers[i].openInfoWindowHtml(infoHtmls[i]);
}

function makeOpenerCaller(i,level) {
	return function() { myOpener(i,level); };
}
