//<![CDATA[
    var iconBlue = new GIcon(); 
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconBlue.iconSize = new GSize(12, 20);
    iconBlue.shadowSize = new GSize(22, 20);
    iconBlue.iconAnchor = new GPoint(6, 20);
    iconBlue.infoWindowAnchor = new GPoint(5, 1);

    var map;
    var gmarkers = [];
    var side_html = '<ul>';
    var lastlinkid;
    
    function load(state, lat, lng, zoom) {
        
        if(GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map"));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
            map.setCenter(new GLatLng(lat, lng), zoom);

            GDownloadUrl("/map/"+state, function(data) {
                var xml = GXml.parse(data);
                var markers = xml.documentElement.getElementsByTagName("marker");
                for(var i = 0; i < markers.length; i++) {
                    var name = markers[i].getAttribute("name");
                    var address = markers[i].getAttribute("address");
                    var address_two = markers[i].getAttribute("address_two");
                    var city = markers[i].getAttribute("city");
                    var state = markers[i].getAttribute("state");
                    var zip = markers[i].getAttribute("zip");
                    var phone = markers[i].getAttribute("phone");
                    var website = markers[i].getAttribute("website");
                    var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")), parseFloat(markers[i].getAttribute("longitude")));
                    var marker = createMarker(point, name, address, address_two, city, state, zip, phone, website);
                    map.addOverlay(marker);
                }
                
                side_html += '</ul>';
                document.getElementById('dealer_links').innerHTML = side_html;
            });
        }
    }

    function createMarker(point, name, address, address_two, city, state, zip, phone, website) {
        var marker = new GMarker(point, iconBlue);
        var linkid = "link"+(gmarkers.length);
        lastlinkid = linkid;
        var html = "<b>" + name + "</b><br />";
        html += address + "<br />";
        if(address_two != '') {
            html += address_two + "<br />";
        }
        html += city + ", " + state + " " + zip;
        if(phone != '') {
            html += "<br />" + phone;
        }
        if(website != '') {
            html += "<br />" + "<a href='" + website + "'>" + website + "</a>";
        }
        GEvent.addListener(marker, 'click', function() {
            marker.openInfoWindowHtml(html);
            document.getElementById(lastlinkid).removeClassName('active');
            document.getElementById(linkid).addClassName('active');
            lastlinkid = linkid;
        });
        gmarkers.push(marker);
        side_html += '<li><a id="'+ linkid + '" href="#" onclick="return displayInfo('+ (gmarkers.length - 1) +');">';
        side_html += '<b>' + name + '</b><br />';
        side_html += address + '<br />';
        if(address_two != '') {
            side_html += address_two + '<br />';
        }
        side_html += city + ', ' + state + ' ' + zip;
        if(phone != '') {
            side_html += "<br />" + phone;
        }
        if(website != '') {
            side_html += "<br />" + website;
        }
        side_html += "</a></li>";
        return marker;
    }
    
    function displayInfo(i) {
            GEvent.trigger(gmarkers[i], "click");
    }
    
    function switchState(obj) {
        parent.window.location.href = '/dealers/' + obj.options[obj.selectedIndex].value;
    }
//]]>