

var g_map = null;
var _accomDisplaying = false;
var pointsZoomListener;
var zoomLevel;
var pointsDragListener;
var jsonSearch;
var _showProp = false;

function startMap() {

    //g_map = new AGMap(document.getElementById("MapPanel"));
    //g_map.centreAndScale(new AGCoord(-25.708744, 28.2882474), 10);
    //var zoomControl = new AGZoomControl(5);
    //var zcPosition = new AGControlPosition(new AGPoint(5, 5), AGAnchor.TOP_LEFT);
    //g_map.addControl(zoomControl, zcPosition);
    //zoomLevel = g_map.getZoomLevel();
    pointsZoomListener = new AGEvent.addListener(g_map, "onzoomend", function(prevZoomLvl, curZoomLvl) { GetPrivatePropertyPoints(); });
    pointsDragListener = new AGEvent.addListener(g_map, "ondragend", function(prevZoomLvl, curZoomLvl) { GetPrivatePropertyPoints(); });

    GetPrivatePropertyPoints();
}
function DisplayProp() {
    if (_showProp == false) {
        _showProp = true;
        GetPrivatePropertyPoints();
        document.getElementById("btnProperty").innerHTML = "Private Property <img  border='0' src='images/Tick3.gif'/>";
    }
    else {
        _showProp = false;
        document.getElementById("btnProperty").innerHTML = "Private Property";
 g_map.removeGroupOverlay("Property");
    }
}
function GetPrivatePropertyPoints() {
    g_map.removeGroupOverlay("Property");
    if (g_map.getZoomLevel() > 11 &&  _showProp == true) {
      
            var _blCoord, _trCoord, _curBB;
            var _parBB = "";
            _curBB = g_map.getBoundingBox();
            _blCoord = _curBB.getSouthWest();
            _trCoord = _curBB.getNorthEast();
			_parBB += "Bottomlat="+_blCoord.latitude().toString() + "&Bottomlon=" + _blCoord.longitude().toString() + "&Toplat=" + _trCoord.latitude().toString() + "&Toplon=" + _trCoord.longitude().toString() + "&size=" + zoomLevel;
             url = "ashx/PointsByBoundingBox.ashx?" + _parBB;
            url += "&rnd=" + Math.random();
            _accomDisplaying = true;
            $.getJSON(url,
            function(json) {
                jsonSearch = json;
                ParsePrivatePropertyResult(json);
            });
      
    }
}

function ParsePrivatePropertyResult(jsonSearch) {

    if (jsonSearch.NewDataSet.Product.length != 0) {
        for (var i = 0; i < jsonSearch.NewDataSet.Product.length; ++i) {

            _html = "<img id='" + imgID + "' src=Images/PPPin.png />";
            var imgID = "myMarker";
            var _iconAnchor = new AGPoint(-10, -40);
            var myHTMLObj = document.createElement('div');
            myHTMLObj.style.zIndex = 1;
            myHTMLObj.innerHTML = "<img src=Images/PPPin.png onclick='ShowBubblePopupProperty(" + i + ");' cursor=pointer/>";
            myHTMLObj.setAttribute("id", i);
            var _options = new AGHTMLOverlayOptions(_iconAnchor, new AGSize(30,30));
            var myHTMLOverlay = new AGHTMLOverlay(myHTMLObj, new AGCoord(parseFloat(jsonSearch.NewDataSet.Product[i].Latitude), parseFloat(jsonSearch.NewDataSet.Product[i].Longitude)), _options);
            g_map.addOverlay(myHTMLOverlay, "Property");
            AGEvent.addListener(myHTMLOverlay, "onclick", HTMLPropclick);
       
        }
        _accomDisplaying = true;
    } 
    else {
        alert(json.result[0].Error);
    }
}
function HTMLPropclick(oLatLong, caller)
{
     var obj = caller.getObject();
        var objId = obj.id;
        ShowBubblePopupProperty(obj.id);
}
function ShowBubblePopupProperty(id) {
    iWidth = 400;
    height = 380;
    var _value = jsonSearch.NewDataSet.Product[id].LocationName;
    Log(_value, "Point Viewed");
    var _strLink = "Link Clicked";
    coord = new AGCoord(parseFloat(jsonSearch.NewDataSet.Product[id].Latitude), parseFloat(jsonSearch.NewDataSet.Product[id].Longitude));
    bubbleString = "<table width=100% cellspacing=1>" +
                          "<tr><td width=100% align=left><img src=Images/PPLogo1.png><p /></td></tr>" +
                          "<tr><td width=100%>" +
                                  "<table with=100%>" +
                                  "<tr><td valign=Top><font-family=verdana><font color=#EE1413><img src='" + jsonSearch.NewDataSet.Product[id].ImageName + "'/><br /><b>" + AddressCheck(id) + "</td>" +
                                  "<td><font size=3px><font color=#00367C><b>" + jsonSearch.NewDataSet.Product[id].LocationName + "</b>" +
                                  "<p /><font size=3px><font color=#006600><b>" + "R " + jsonSearch.NewDataSet.Product[id].Price + "</b>" +
                                  "<p /><font size=2px><font color=#00367C>" + jsonSearch.NewDataSet.Product[id].Description +
                                  "</td>" +
                                  "</tr></table>" +
                          "</td></tr>" +
                          "<tr><td align=\"center\"><a href=\"http://www.privateproperty.co.za/search/ref.asp?r=" + jsonSearch.NewDataSet.Product[id].Ref + "&partnerid=24\" target=\"blank\" onclick=\"Log('" + _value + "', '" + _strLink + "');\" >More</a></td></tr></table>";
    _options = new AGInfoDisplayOptions();
    _options.width = parseInt(iWidth);
    _options.height = parseInt(height);
    _options.pixelOffset = new AGPoint(10, -40);
    _options.noCloseOnClick = true;
    g_map.openInfoDisplayHTML(coord, bubbleString, _options);
}

function AddressCheck(id) {
    if (jsonSearch.NewDataSet.Product[id].Address == null)
        return "";
    else
        return jsonSearch.NewDataSet.Product[id].Address
}

function Log(value, description){
    pageTracker._trackEvent("Private Property", description, value); 
}


