﻿var markersLoaded = false;

function infoMaker(id,name,street,city,state,zip){
    var address = street + "," + city + "," + state + "," + zip;
    var html = "<div id=\"bubble\"><b>" + unescape(name) + "</b>" + "<br />" + unescape(street) + "<br />";
    html += unescape(city) + ", " + unescape(state) + " "  + unescape(zip)+ "<br />";
    html += "<a href=\"business_information.php?id=" + id + "\" />more information</a></div>";
    return html;
}


function loadMarkers(map) {
    var mkr;
    //set up a Geocoder
    geocoder = new GClientGeocoder();
    GDownloadUrl("xml_mapdata.php?btype=" + type_id , 
    function(data, responseCode) {
        if(responseCode == 200) {
            var xml = GXml.parse(data);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var id = markers[i].getAttribute('id');
                var name = markers[i].getElementsByTagName("name")[0].firstChild.nodeValue;
                var street = markers[i].getElementsByTagName("street")[0].firstChild.nodeValue;
                var city = markers[i].getElementsByTagName("city")[0].firstChild.nodeValue;
                var state = markers[i].getElementsByTagName("state")[0].firstChild.nodeValue;
                var zip = "";
                if(markers[i].getElementsByTagName("zip")[0]){
                    zip = markers[i].getElementsByTagName("zip")[0].firstChild.nodeValue;
                }
                var lat = markers[i].getAttribute('lat');
                var lng = markers[i].getAttribute('lng');

                var infoHtml = infoMaker(id,name,street,city,state,zip);
                
                mkr = new ClusterMapMarker(lat, lng, id, name, infoHtml);
                map.addClusterMapMarker(mkr);

            } //end for
            markersLoaded = true;
        } //end  function(data, responseCode)
    } );
}

function checkRender() {
    if (markersLoaded) {
        gmap.renderClusterMapMarkers();
    } else {
        setTimeout("checkRender()", 100);
    }
}

function initializeMap() {
    var div = document.getElementById("map");
    if (div) {
        gmap = new ClusterMapMap(div, init_lat, init_lng, init_zoom);
        loadMarkers(gmap);
        setTimeout("checkRender()", 100);
    }
}

function startLoadMap(){
    setTimeout("initializeMap()",500);
}

