
var map;
var centerLatitude = mapcenterlat;
var centerLongitude =  mapcenterlng;

function zoomTo()
{
    map.zoomIn();
}

        function padleft(val, ch, num) {
            var re = new RegExp(".{" + num + "}$");
            var pad = "";

            do  {
                pad += ch;
            }while(pad.length < num)

            return re.exec(pad + val);
        }


function initializePoint(pointData, icon)
{

    var units;


    var point = new GLatLng(pointData.lat, pointData.lng);
    var marker = new GMarker(point, icon);

    var sidebarListItem = document.createElement('li');
    var sidebarListItemLink = sidebarListItem.appendChild(document.createElement('a'));
    sidebarListItemLink.href = "#";
    sidebarListItemLink.innerHTML = '<span><strong>' + pointData.address + '</strong><span>';

    var infoDiv = document.createElement('div');
    infoDiv.id = "infoDiv";
    
		var infotable = infoDiv.appendChild(document.createElement("table"));
  	infotable.id = "infoTable";
  
  	var infoBody = infotable.appendChild(document.createElement("tbody"));
  	infoBody.id = "infoBody";
  
		var headerRow = infoBody.appendChild(document.createElement("tr"));
  	headerRow.id = "headerRow";
  
		var leftHeaderCell = headerRow.appendChild(document.createElement("td"));
  	leftHeaderCell.id = "leftHeaderCell";
  	leftHeaderCell.innerHTML = pointData.address;

	  var rightHeaderCell = headerRow.appendChild(document.createElement("td"));
  	rightHeaderCell.id = "rightHeaderCell";
  	rightHeaderCell.innerHTML = "Click Unit # For Details";
 
  
    var imageRow = infoBody.appendChild(document.createElement("tr"));
 		imageRow.id = "imageRow";
   
	 	var leftImageCell = imageRow.appendChild(document.createElement("td"));
  	leftImageCell.id = "leftImgCell";
  
   	var anchimg = leftImageCell.appendChild(document.createElement('a'));
 		var img = anchimg.appendChild(document.createElement('img'));
 		img.src =  pointData.photourl ;
 		img.width = 192;
 		img.height= 144;

	 	var rightUnitListCell = imageRow.appendChild(document.createElement("td"));
  	rightUnitListCell.id = "rightUnitListCell";

 
		var unitList = rightUnitListCell.appendChild(document.createElement("ul"));
		unitList.id = "unitList";
    units = pointData['units'];
    for (idu in units)
    {
        var unit = units[idu];
        var unitListItem = unitList.appendChild(document.createElement('li'));
        var unitListItemLink = unitListItem.appendChild(document.createElement('a'));
        unitListItemLink.id ="unitListItemLink";
        unitListItemLink.href = unit.detailurl;
        unitListItemLink.target = "_blank";
        unitListItemLink.innerHTML = '<span><strong><underline>' + unit.name +
            '</underline></strong><span>';
    }

    var footerRow = infoBody.appendChild(document.createElement("tr"));
 		footerRow.id = "footerRow";
 		
		var leftFooterCell = footerRow.appendChild(document.createElement("td"));
  	leftFooterCell.id = "leftFooterCell";
 
 		var zoomin = leftFooterCell.appendChild(document.createElement("a"));
    zoomin.id = "zoomPara";
  	zoomin.href = '#';
		zoomin.innerHTML = "Zoom In";
  	
  	
  	GEvent.addDomListener(zoomin, 'click', function()
    {
         map.zoomIn(); 
    }
    );
    
    
     		var zoomOut = leftFooterCell.appendChild(document.createElement("a"));
    zoomOut.id = "zoomPara";
  	zoomOut.href = '#';
		zoomOut.innerHTML = "Zoom Out";
  	
  	
  	GEvent.addDomListener(zoomOut, 'click', function()
    {
         map.zoomOut(); 
    }
    );
  	
		var rightFooterCell = footerRow.appendChild(document.createElement("td"));
  	rightFooterCell.id = "rightFooterCell";
  //	rightFooterCell.innerHTML = "Click Unit # For Details";



    var focusPoint = function()
    {
        //  var InfoHtml =  pointData.address + '<div><a href="javascript:void(0)" onclick="zoomTo(' + pointData.lat + ',' + pointData.lng + ')">click here to ZOOM IN</a>'   + "</div>"	;
   
        //  map.closeInfoWindow();
        map.setCenter(point);
        //map.panTo(point);
        marker.openInfoWindow(infoDiv);
        return false;
    }




    GEvent.addListener(marker, 'click', function()
    {
        marker.openInfoWindow(infoDiv); 
    }
    );
    
    
    sidebarListItemLink.onclick = focusPoint;

    document.getElementById('sidebar-list').appendChild(sidebarListItem);

    map.addOverlay(marker);
}


function windowHeight()
{
    // Standard browsers (Mozilla, Safari, etc.)
    if (self.innerHeight)
        return self.innerHeight;
    // IE 6
    if (document.documentElement && document.documentElement.clientHeight)
        return document.documentElement.clientHeight;
    // IE 5
    if (document.body)
        return document.body.clientHeight;
    // Just in case.
    return 0;
}

function handleResize()
{
    var height = windowHeight() - document.getElementById('toolbar')
        .offsetHeight - 40;
    document.getElementById('map').style.height = height + 'px';
    document.getElementById('sidebar').style.height = height + 'px';
}

function changeBodyClass(from, to)
{
    document.body.className = document.body.className.replace(from, to);
    return false;
}

function init()
{
		var startZoom = 9; 
		var thismapid = mapid;

    document.getElementById('button-sidebar-hide').onclick = function()
    {
        return changeBodyClass('sidebar-right', 'nosidebar');
    };
    document.getElementById('button-sidebar-show').onclick = function()
    {
        return changeBodyClass('nosidebar', 'sidebar-right');
    };
    handleResize();

    map = new GMap(document.getElementById("map"));
   
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GScaleControl());

   if (thismapid == 3) {     map.setCenter(new GLatLng(centerLatitude, centerLongitude), 12);}
  if (thismapid == 2) {      map.setCenter(new GLatLng(centerLatitude, centerLongitude), 14);}
  if (thismapid == 1) {     map.setCenter(new GLatLng(centerLatitude, centerLongitude), 14);}

//   alert(startZoom);  
 //   map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
    var header = document.getElementById("maplabel");
    header.innerHTML = maplabel;
 
    
var icon = new GIcon();
icon.image = "mm_20_blue.png";
icon.shadow = "mm_20_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
    
    
    for (id in markers)
    {
        initializePoint(markers[id], icon);

    }
  
}

window.onresize = handleResize;
window.onload = init;
window.onunload = GUnload;