﻿/* version 
   2.x = get latest version number (updated every wk),
   2.s = get stable version number (updated once in 2 month),
   2.179 = get specific (here it is .179) version number which will not updated automatically for new feature (recommonded) 
*/

var m_map;
var m_geocoder;
var m_strPropertyAddress;
var m_strPopupInfo;
var m_strMapDivId="OnMap";
var m_strStreetViewMapId="divStreetView";


function loadMaps(strPropertyFullAddress, strPopupInfo) {

    m_strPropertyAddress = strPropertyFullAddress;
    m_strPopupInfo = strPopupInfo;

    google.load("maps", "2.x", { "callback": locateAddress });
    
}

function locateAddress() {

    m_map = new google.maps.Map2(document.getElementById(m_strMapDivId), { size: new GSize(930, 500) });

    m_geocoder = new GClientGeocoder();
    
    if (m_geocoder) {
        m_geocoder.getLatLng(m_strPropertyAddress, function(point) {
            if (!point) {
                alert("Address not found!");
            }
            else {
                m_map.addControl(new GSmallMapControl());
                m_map.addControl(new GMapTypeControl());
                /****** place marker scripts starts here ******/
                m_map.setCenter(point, 13);
                var marker = new GMarker(point);
                m_map.addOverlay(marker);
                marker.openInfoWindowHtml(m_strPopupInfo);

                google.maps.Event.addListener(marker, "click", function()
                { marker.openInfoWindowHtml(m_strPopupInfo); });
                /****** place marker scripts ends here ******/
                /****** generate street view scripts starts here ******/
                    var myPano;
                    google.maps.Event.addListener(marker, "dblclick", function() {
                    panoramaOptions = { latlng: point };
                    document.getElementById(m_strStreetViewMapId).style.display = "block";
                    myPano = new GStreetviewPanorama(document.getElementById(m_strStreetViewMapId), panoramaOptions);

                    GEvent.addListener(myPano, "error", handleException);
                });
                /****** generate street view scripts ends here ******/
            }
        } //end of fun point
       );         //end of m_geocoder.getLatLng
    } //end of m_geocoder
} //end of showAddress

function handleException(errorCode) {
    alert('Sorry, street view is not available for this location! ');
    document.getElementById(m_strStreetViewMapId).style.display = "none";
    return true;
}


