// JavaScript 2005 Peter Jones, PixelDevelopment.com

var map;
var pointTitle = [];
var pointDetail = [];
var pointInfo = [];
var pointLat = [];
var pointLon = [];

pointTitle[0]= 'Pye Apartments Office';
pointDetail[0]= '';
pointInfo[0]= '';
pointLat[0]= 45.3658694;
pointLon[0]= -63.287862;
pointTitle[1]= '15 Minerva Dr. Truro';
pointDetail[1]= '<a href="http://www.pyeapartments.ca/index.php/site/15_Minerva_Dr/">15 Minerva Dr<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/15minerva-350x234.jpg" width="110" height="110" \/>';
pointInfo[1]= '';
pointLat[1]= 45.355194;
pointLon[1]= -63.28964;
pointTitle[2]= '41 Arthur St Truro';
pointDetail[2]= '<a href="/index.php/site/41_Arthur_St/">41 Arthur St<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/41arthur-350x234.jpg" width="110" height="110" \/>';
pointInfo[2]= '';
pointLat[2]= 45.360636;
pointLon[2]= -63.287423;
pointTitle[3]= '43 Arthur St Truro';
pointDetail[3]= '<a href="/index.php/site/43_Arthur_St/">43 Arthur St<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/43arthur-350x196.jpg" width="110" height="110" \/>';
pointInfo[3]= '';
pointLat[3]= 45.3606523;
pointLon[3]= -63.2873343;
pointTitle[4]= '50 Pleasant St Truro';
pointDetail[4]= '<a href="/index.php/site/50_Pleasant_St/">50 Pleasant St<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/50_Pleasent-350x245.jpg" width="100"  \/>';
pointInfo[4]= '';
pointLat[4]= 45.3631381;
pointLon[4]= -63.2823958;
pointTitle[5]= '81 Lorne St Truro';
pointDetail[5]= '<a href="/index.php/site/81_Lorne_St/">81 Lorne St<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/81Lorne-350x234.jpg" width="100"  \/>';
pointInfo[5]= '';
pointLat[5]= 45.36656;
pointLon[5]= -63.2798725;
pointTitle[6]= '295 College Rd Truro';
pointDetail[6]= '<a href="/index.php/site/295_College_Rd/">295 College Rd Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/295college_full-350x219.jpg" width="100"  \/>';
pointInfo[6]= '';
pointLat[6]= 45.3741804;
pointLon[6]= -63.2547232;
pointTitle[7]= '297 College Rd Truro';
pointDetail[7]= '<a href="/index.php/site/297_College_Rd/">297 College Rd Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/297College_full-350x195.jpg" width="100"  \/>';
pointInfo[7]= '';
pointLat[7]= 45.3741984;
pointLon[7]= -63.254618;
pointTitle[8]= '317 College Rd Truro';
pointDetail[8]= '<a href="/index.php/site/317_College_Rd/">317 College Rd Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/317college-350x194.jpg" width="100"  \/>';
pointInfo[8]= '';
pointLat[8]= 45.3743783;
pointLon[8]= -63.2535662;
pointTitle[9]= '351 College Rd Truro';
pointDetail[9]= '<a href="/index.php/site/351_College_Rd/">351 College Rd Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/351College1_full-350x212.jpg" width="100"  \/>';
pointInfo[9]= '';
pointLat[9]= 45.3745784;
pointLon[9]= -63.2524358;
pointTitle[10]= '345 Prince St Truro';
pointDetail[10]= '<a href="/index.php/site/345_Prince_St/">345 Prince St Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/345Prince1-350x234.jpg" width="100"  \/>';
pointInfo[10]= '';
pointLat[10]= 45.3668019;
pointLon[10]= -63.2961645;
pointTitle[11]= '410 Pleasant St Truro';
pointDetail[11]= '<a href="/index.php/site/410_Pleasant_St/">410 Pleasant St Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/410Pleasant-350x234.jpg" width="100"  \/>';
pointInfo[11]= '';
pointLat[11]= 45.348798;
pointLon[11]= -63.2772611;
pointTitle[12]= '422 Pleasant St Truro';
pointDetail[12]= '<a href="/index.php/site/422_Pleasant_St/">422 Pleasant St Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/422Pleasant-350x237.jpg" width="100"  \/>';
pointInfo[12]= '';
pointLat[12]= 45.3482059;
pointLon[12]= -63.2770277;
pointTitle[13]= '7 / 11 Church St Truro';
pointDetail[13]= '<a href="/index.php/site/7_11_Church_St/">7 / 11 Church St Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/7-11-Church_st-350x234.jpg" width="100"  \/>';
pointInfo[13]= '';
pointLat[13]= 45.3656572;
pointLon[13]= -63.276068;
pointTitle[14]= '154 Queen St Truro';
pointDetail[14]= '<a href="/index.php/site/154_Queen_St/">154 Queen St Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/154Queen2_full-350x234.jpg" width="100"  \/>';
pointInfo[14]= '';
pointLat[14]= 45.3659232;
pointLon[14]= -63.2779213;
pointTitle[15]= '2 Hayward Court Truro';
pointDetail[15]= '<a href="/index.php/site/2_Hayward_Court/">2 Hayward Court Truro<\/a><br\/><img src="http://www.pyeapartments.ca/images/uploads/cache/2HaywardBldg_full-350x234.jpg" width="100"  \/>';
pointInfo[15]= '';
pointLat[15]= 45.3722117;
pointLon[15]= -63.2929923;
//pointTitle[2] = '';
//pointDetail[2]= 'Third Beach<br\/>Concession Stand';
//pointInfo[2] = '';
//pointLat[2] = 49.302;
//pointLon[2] = -123.15593898296356;
//pointTitle[3]= 'Canada Place';
//pointDetail[3]= '';
//pointInfo[3]= '';
//pointLat[3]= 49.289866220776666;
//pointLon[3]= -123.1139087677002;
//pointTitle[4]= '';
//pointDetail[4]= '';
//pointInfo[4]= '';
//pointLat[4]= 49.289866220776666;
//pointLon[4]= -123.18;

var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);

function getTheTime() {
	var curtime = new Date();
	var curhour = curtime.getHours();
	var curmin = curtime.getMinutes();
	var cursec = curtime.getSeconds();
	var time = "";

	if (curhour == 0)
		curhour = 12;
	time = (curhour > 12 ? curhour - 12 : curhour) + ":" +
		(curmin < 10 ? "0" : "") + curmin + ":" +
		(cursec < 10 ? "0" : "") + cursec + " " +
		(curhour > 12 ? "PM" : "AM");
	return time;
}

function createMarker(i, point, html) {
	var marker;
	var icon = new GIcon(baseIcon);
	var letter = String.fromCharCode("A".charCodeAt(0) + i);
	icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

	if (false) // i == 0)
		marker = new PdMarker(point);
	else
		marker = new PdMarker(point, icon);

	if (pointTitle[i].length > 0)
		marker.setTooltip(pointTitle[i]);

	if (i == 0) // marker A. standard window tooltip
	{
		marker.setHoverImage("http://www.google.com/mapfiles/dd-start.png");
		marker.setCursor("help"); // http://www.quirksmode.org/css/cursor.html
		marker.setTitle(pointTitle[i]);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
	}
	else if (i == 99) // marker E. random position
	{
		GEvent.addListener(marker, "mouseover", function() {
			var lat = pointLat[4] + (Math.random() - .5) / 25;
			var lon = pointLon[4] + (Math.random() - .5) / 25;
			marker.setPoint(new GLatLng(lat,lon));
		}); 
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml("Caught it!");
		});
	}
	else
	{
		if (pointDetail[i].length > 0)
			marker.setDetailWinHTML(pointDetail[i]);
		marker.setHoverImage("images/markeryellow.png");

		if (i == 999) // marker D. show time, switch class on click
		{
			GEvent.addListener(marker, "mouseover", function() {
				marker.setTooltip(getTheTime());
			}); 

			GEvent.addListener(marker, "click", function() {
				if (marker.getTooltipHiding())
				{
					marker.setTooltipHiding(false);
					marker.setOpacity(100);
					marker.setTooltipClass("markerTooltipAlternate");
				}
				else
				{
					marker.setTooltipHiding(true);
					marker.setOpacity(70);
					marker.resetTooltipClass();

					// mouseout disabled when switching classes
					marker.restoreImage();
					marker.hideTooltip();
				}
			});
		}
	}
	return marker;
}

function onPageLoad() {
	map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(45.355194, -63.28964), 17-5);
//	map.setMapType(map.getMapTypes()[0]);
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());

	for (i=0; i<pointTitle.length; i++)
	{
		var marker = createMarker(i, new GPoint(pointLon[i],pointLat[i]), pointTitle[i] + '<br/>' + pointInfo[i]);
		map.addOverlay(marker);
	}

	map.zoomToMarkers();
	
	insertVersionIntoPage();
}

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();
}


