﻿var Map;
var Directions;
var KressIcon;
var Marker;
var PoiMarkers = [];
var PoiCount = 0;
var MapCenter = new GLatLng(32.75259645971237, -97.32972621917724);
var ZoomLevel = 15;
var isPopupDisplayed = false;

function loadMap() {
    if (GBrowserIsCompatible()) {
        // create map
        Map = new GMap2(document.getElementById("divMap"));

        // set center and zoom level
        Map.setCenter(MapCenter, ZoomLevel);

        // add controls
        Map.addControl(new GSmallMapControl());
        Map.addControl(new GMapTypeControl());

        // display POIs
        displayPois();

        // display properties on the map
        displayProperty();
    }
}
function displayProperty()
{
    var marker = createMarker();
    Map.addOverlay(marker);
}
function displayPois()
{
    Map.addOverlay(createPoiMarker(new GLatLng(32.752587436605246, -97.32985228300095), "Del Frisco's Double Eagle <br/>& Ruth's Chris Steakhouse", "812 & 815 Main Street (Adjacent Corners)", "/images/map_SteakHouse.jpg"));    
    Map.addOverlay(createPoiMarker(new GLatLng(32.754836417773475, -97.3297181725502), "Bass Performance Hall", "525 Commerce St", "/images/map_BassHall.jpg"));
    Map.addOverlay(createPoiMarker(new GLatLng(32.7546176126712, -97.33177542686462), "Sundance Square", "400-500 Main St", "/images/map_SundanceSquare.jpg"));
    Map.addOverlay(createPoiMarker(new GLatLng(32.74988948658023, -97.32790231704712), "Fort Worth Convention Center", "512 Main St.", "/images/map_ConventionCenter.jpg"));
    Map.addOverlay(createPoiMarker(new GLatLng(32.74775091963994, -97.32664704322815), "Fort Worth Water Gardens", "1700 Commerce St.", "/images/map_WaterGardens.jpg"));    
}
function overlayReady()
{
    Marker.openInfoWindowHtml('<table cellspacing="0" cellpadding="0" style="height:100px;"><tr><td align="left" valign="top"><table cellspacing="0" cellpadding="2"><tr><td valign="center" style="text-align:left;"><img src="/images/BubbleIcon.jpg" alt="" style="margin:auto;border:solid 1px #000;"/></td><td valign="top" style="padding-left:5px;" align="left"><span style="font-size:0.9em;font-weight: bold;">Kress Fort Worth</span><br/><span style="font-size:0.6em;line-height:1.2em;">604 Main St<br/>Fort Worth, TX 76102<br/>For leasing info<br/>817-564-2927<br/>or <a href="/RequestShowing.aspx">Request a Showing</a></span></td></tr></table></td></tr><tr><td align="left" valign="top"><table cellspacing="0" cellpadding="1"><tr><td colspan="2" valign="bottom" align="left" style="padding-bottom:0px;"><span style="font-size:0.8em;">Get Directions From...</span></td><tr><td valign="center" align="left" style="padding-top:0px;"><input type="text" id="txtStart" style="border:solid 1px #000;width:205px;"/></td><td style="padding-left: 5px;" valign="top"><input type="button" onclick="displayDirections()" value="Go" style="width:45px;"/></td></tr></table></td></tr></table><center><div id="divDirectionError" style="color:#ff0000;font-size: 0.7em;margin-bottom: 5px;"></div></center>');
}
function popupBubble()
{
    Marker.openInfoWindowHtml('<table cellspacing="0" cellpadding="0" style="height:100px;"><tr><td align="left" valign="top"><table cellspacing="0" cellpadding="2"><tr><td valign="top" style="text-align:left;"><img src="/images/BubbleIcon.jpg" alt="" style="border:solid 1px #000;"/></td><td valign="top" style="padding-left:5px;" align="left"><span style="font-size:1.25em;font-weight: bold;">Kress Fort Worth</span><br/><span style="font-size:.80em;line-height:1em;">604 Main St, Fort Worth, TX 76102<br/><br/><strong>Leasing info: 817-564-2927</strong><br/>or <a href="/RequestShowing.aspx">Request a Showing</a></span></td></tr></table></td></tr><tr><td align="left" valign="top"><table cellspacing="0" cellpadding="1"><tr><td colspan="2" valign="bottom" align="left" style="padding-bottom:0px;"><span style="font-size:.80em;margin-top:3px;">Get Directions From...</span></td><tr><td valign="center" align="left" style="padding-top:0px;"><input type="text" id="txtStart" style="border:solid 1px #000;width:205px;"/></td><td style="padding-left: 5px;" valign="top"><input type="button" onclick="displayDirections()" value="Go" style="width:45px;"/></td></tr></table></td></tr></table><center><div id="divDirectionError" style="color:#ff0000;font-size: 0.7em;margin-bottom: 5px;"></div></center>');
}
function createMarker() {
 
    Marker = new GMarker(new GLatLng(32.753616064928934, -97.33086079359054), {title: "Kress Fort Worth", icon: getIcon(), zIndexProcess: function(){return 100;}});

    // add popup bubble to marker
    GEvent.addListener(Marker, "click", popupBubble);

    return Marker;
}
function createPoiMarker(coord, name, address, image)
{
    var count = PoiCount;
    PoiMarkers.push(new GMarker(coord, {title: name}));
    
    // add popup bubble to marker
    GEvent.addListener(PoiMarkers[count], "click", function(){PoiMarkers[count].openInfoWindowHtml('<table cellspacing="0" cellpadding="0" style="height:80px;"><tr><td align="left" valign="top"><table cellspacing="0" cellpadding="2"><tr><td valign="center" style="text-align:left;"><img src="' + image + '" alt="" style="margin:auto;border:solid 1px #000;"/></td><td valign="top" style="padding-left:5px;" align="left"><span style="font-size:0.9em;font-weight: bold;">' + name + '</span><br/><span style="font-size:0.6em;line-height:1.2em;">' + address + '</span></td></tr></table></td></tr><tr><td align="left" valign="top"><center><div id="divDirectionError" style="color:#ff0000;font-size: 0.7em;margin-bottom: 5px;"></div></center>');})
    
    // add marker to global collection
    PoiCount = PoiCount + 1;
    
    return PoiMarkers[PoiCount-1];
}

function displayDirections()
{
    var input = d("txtStart").value;
    if (input == "")
    {
        alert("Please enter your starting location.");
        d("txtStart").focus();
        return;
    }
    
    // clear the directions
    if (Directions != null)
    {
        Directions.clear();
    }
    else
    {
        // initialize the directions
        Directions = new GDirections(Map, d("divDirectionText"));
        GEvent.addListener(Directions, "error", handleDirectionError);
        GEvent.addListener(Directions, "addoverlay", handleDirectionComplete);
    }
   

    // load the directions
    Directions.load(input + ' to 604 Main St, 76102');
}
function handleDirectionError()
{
    d("divDirectionError").innerHTML = 'Unable to locate your starting address.  Please try again.';

    // focus on the text box
    d("txtStart").focus();
}
function handleDirectionComplete()
{
    // get the directions div
    showDirections();
}
function hideDirections()
{
    // get the directions div
    var divDirections = d("divDirections");
    divDirections.style.visibility = 'hidden';
    divDirections.style.display = 'none';
    Directions.clear();
    Map.setCenter(MapCenter, ZoomLevel);
    popupBubble();
    
    d("divGeneralDirections").style.visibility = 'visible';
    d("divGeneralDirections").style.display = 'block';
}
function showDirections()
{
    // close the pop up bubble
    Map.closeInfoWindow();

    // hide any error text
    d("divDirectionError").innerHTML = "";

    // get the directions div
    var divDirections = d("divDirections");
    divDirections.style.visibility = 'visible';
    divDirections.style.display = 'block';

    d("divGeneralDirections").style.visibility = 'hidden';
    d("divGeneralDirections").style.display = 'none';
}
function d(e) {
    var i = document.getElementById(e);
    if (i == null || i == 'undefined')
    {
        return(false);
    }
    else
    {
        return i;
    }
}
function getIcon(){
    var icon = new GIcon();
    icon.image = "/images/map_kress_icon.png";
    icon.iconSize = new GSize(71,39);
    icon.iconAnchor = new GPoint(10,10);
    icon.infoWindowAnchor = new GPoint(8,8);
    icon.shadow = "/images/map_kress_icon_shadow.png";
    icon.shadowSize = new GSize(71,39);
    KressIcon = icon;
    return icon;
}
