var map;
var geocoder;
var iconBlue = new GIcon();
iconBlue.image = 'http://www.buyearlygetnow.com/images/begn_google_map_dot.png';
// iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
iconBlue.iconSize = new GSize(20,20);
iconBlue.shadowSize = new GSize(22, 20);
iconBlue.iconAnchor = new GPoint(6, 20);
iconBlue.infoWindowAnchor = new GPoint(5, 1);
var iconRed = new GIcon();
iconRed.image = 'http://www.buyearlygetnow.com/images/begn_google_map_dot.png';
//iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
iconRed.iconSize = new GSize(20,20);
iconRed.shadowSize = new GSize(22, 20);
iconRed.iconAnchor = new GPoint(6, 20);
iconRed.infoWindowAnchor = new GPoint(5, 1);
var customIcons = [];
customIcons["restaurant"] = iconBlue;
customIcons["bar"] = iconRed;
function load() {
if (GBrowserIsCompatible()) {
geocoder = new GClientGeocoder();
map = new GMap2(document.getElementById("map"));
// map.addControl(new GSmallMapControl());
// map.addControl(new GMapTypeControl());
var customUI = map.getDefaultUI();
customUI.controls.scalecontrol = false;
map.setUI(customUI);
if (google.loader.ClientLocation){
var center = new google.maps.LatLng(
google.loader.ClientLocation.latitude,
google.loader.ClientLocation.longitude
);
map.setCenter(center);
$('#mapCaption').html(google.loader.ClientLocation.latitude+' '+google.loader.ClientLocation.longitude);
}else{
map.setCenter(new GLatLng(38, -90), 3);
}
GDownloadUrl("googleMapFeeder.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var city = markers[i].getAttribute("city");
var state = markers[i].getAttribute("state");
var zip = markers[i].getAttribute("zip");
var country = markers[i].getAttribute("country");
var url = markers[i].getAttribute("url");
var image_path = markers[i].getAttribute("image_path");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, name, address,city,state,zip,country,image_path,url);
map.addOverlay(marker);
}
});
}
}
function createMarker(point, name, address,city,state,zip,country,image_path,url) {
if(url!=''){
var nameDisplay=''+name+'';
}else{
var nameDisplay=name;
}
var marker = new GMarker(point, customIcons['bar']);
var image_var='';
if(image_path!=''){
image_var="
"
image_var+="

";
}else image_var='';
var html = ""+image_var;
html+="" + nameDisplay + "
" + address+"
"+city+" "+state+" "+zip+''+'
';
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
/*
*/
function searchLocations() {
var address = document.getElementById('addressInput').value;
geocoder.getLatLng(address, function(latlng) {
if (!latlng) {
alert(address + ' not found');
} else {
searchLocationsNear(latlng);
}
});
}
/*
*/
function searchLocationsNear(center) {
var radius = document.getElementById('radiusSelect').value;
var searchUrl = 'googleMapSearch.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
GDownloadUrl(searchUrl, function(data) {
var sidebar = document.getElementById('sidebar');
var xml = GXml.parse(data);
var div2 = document.createElement('div');
/*
var description = xml.documentElement.getElementsByTagName('extraMessage')[0];
//alert(description.childNodes[0].nodeValue);
if(description!=''){
div2.innerHTML = description.childNodes[0].nodeValue+"
";
}
*/
var markers = xml.documentElement.getElementsByTagName('marker');
map.clearOverlays();
sidebar.innerHTML = '';
sidebar.appendChild(div2);
if (markers.length == 0) {
sidebar.innerHTML = 'No results found.';
map.setCenter(new GLatLng(40, -100), 4);
return;
}
var bounds = new GLatLngBounds();
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute('name');
var address = markers[i].getAttribute('address');
var distance = parseFloat(markers[i].getAttribute('distance'));
var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),parseFloat(markers[i].getAttribute('lng')));
var city = markers[i].getAttribute("city");
var state = markers[i].getAttribute("state");
var zip = markers[i].getAttribute("zip");
var country = markers[i].getAttribute("country");
var url = markers[i].getAttribute("url");
var image_path = markers[i].getAttribute("image_path");
var marker = createMarker(point, name, address,city,state,zip,country,image_path,url);
map.addOverlay(marker);
var sidebarEntry = createSidebarEntry(marker, name, address,city,state,distance,image_path,url);
sidebar.appendChild(sidebarEntry);
bounds.extend(point);
}
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
});
}
/*
*/
function createSidebarEntry(marker, name, address,city,state,distance,image_path,url) {
var div = document.createElement('div');
var useImg='';
if(image_path!=''){
useImg="";
}
if(url!=''){
var siteName=''+name+'';
}else{
var siteName=name;
}
var html = useImg;
//(' + distance.toFixed(1) + ')
html+=''+ siteName + '
'+city+' '+state+'
';
div.innerHTML = html;
div.style.cursor = 'pointer';
div.style.marginBottom = '0px';
div.style.padding = '2px';
div.style.marginTop = '0px';
div.style.display = 'block';
div.style.clear = 'both';
div.style.height = '45px';
div.style.borderBottom = '1px solid #CCCCCC';
div.style.backgroundColor = '#FFFFFF';
GEvent.addDomListener(div, 'click', function() {
GEvent.trigger(marker, 'click');
});
GEvent.addDomListener(div, 'mouseover', function() {
div.style.backgroundColor = '#eee';
});
GEvent.addDomListener(div, 'mouseout', function() {
div.style.backgroundColor = '#fff';
});
return div;
}
$(function(){
load();
$('#addressInput').click(function(){
if($(this).val()=='Enter a city or zip/postal code'){
$(this).val('');
}
});
});
//$('body').unload(GUnload());