var xmlsrcs=null;var xi;var imageItem=document.getElementById('image');var titleItem=document.getElementById('title');var descriptionItem=document.getElementById('description');var groupsItem=document.getElementById('groups');var panelItem=document.getElementById('panel');var mailtoItem=document.getElementById('mailto');var yahooMapItem=document.getElementById('yahooMap');var googleMapItem=document.getElementById('googleMap');var mapDiv=document.getElementById('map');var om=null;var map=null;var channels=null;var markers=null;var clusterer=null;var icon=new GIcon(G_DEFAULT_ICON);icon.iconSize=new GSize(20,34);icon.iconAnchor=new GPoint(9,34);icon.shadow='http://www.acme.com/resources/images/markers/shadow.PNG';icon.shadowSize=new GSize(37,34);icon.infoWindowAnchor=new GPoint(9,2);icon.infoShadowAnchor=new GPoint(18,25);var blueIcon=new GIcon(icon);blueIcon.image='http://www.acme.com/resources/images/markers/blue.PNG';blueIcon.smallImage='http://www.acme.com/resources/images/markers/blue_small.PNG';var redIcon=new GIcon(icon);redIcon.image='http://www.acme.com/resources/images/markers/red.PNG';redIcon.smallImage='http://www.acme.com/resources/images/markers/red_small.PNG';var greenIcon=new GIcon(icon);greenIcon.image='/resources/images/markers/green.PNG';greenIcon.smallImage='http://www.acme.com/resources/images/markers/green_small.PNG';var purpleIcon=new GIcon(icon);purpleIcon.image='http://www.acme.com/resources/images/markers/purple.PNG';purpleIcon.smallImage='http://www.acme.com/resources/images/markers/purple_small.PNG';var yellowIcon=new GIcon(icon);yellowIcon.image='http://www.acme.com/resources/images/markers/yellow.PNG';yellowIcon.smallImage='http://www.acme.com/resources/images/markers/yellow_small.PNG';var brownIcon=new GIcon(icon);brownIcon.image='http://www.acme.com/resources/images/markers/brown.PNG';brownIcon.smallImage='http://www.acme.com/resources/images/markers/brown_small.PNG';var orangeIcon=new GIcon(icon);orangeIcon.image='http://www.acme.com/resources/images/markers/orange.PNG';orangeIcon.smallImage='http://www.acme.com/resources/images/markers/orange_small.PNG';var whiteIcon=new GIcon(icon);whiteIcon.image='http://www.acme.com/resources/images/markers/white.PNG';whiteIcon.smallImage='http://www.acme.com/resources/images/markers/white_small.PNG';var blackIcon=new GIcon(icon);blackIcon.image='http://www.acme.com/resources/images/markers/black.PNG';blackIcon.smallImage='http://www.acme.com/resources/images/markers/black_small.PNG';var icons=[blueIcon,redIcon,greenIcon,purpleIcon,yellowIcon,brownIcon,orangeIcon,whiteIcon,blackIcon];var iconIdx;function Setup() {try {if(!GBrowserIsCompatible()) {mapDiv.innerHTML='Sorry, your browser is not compatible with Google Maps.';return;} xmlsrcs=[];var query_string=location.search.substring(1,location.search.length);var namevals=query_string.split('&');for(var i=0;i=xmlsrcs.length) {om.Clear();return;} om.Set('Loading map '+(xi+1)+' of '+xmlsrcs.length);HttpGet('geocode_proxy.cgi?url='+encodeURIComponent(xmlsrcs[xi]),RequestChecker);} function RequestChecker(request) {try {if(request.responseXML==null) alert('XML parse failed!');else {TraverseDocument(request.responseXML.documentElement);Display();} ++xi;FetchNextXmlSrc();} catch(e) {GLog.write('RequestChecker:\n'+Props(e));}} function TraverseDocument(element) {var child=element.firstChild;while(child) {if(child.nodeName=='channel') TraverseChannel(child);child=child.nextSibling;}} function TraverseChannel(element) {var channel=new Object();channel.groups=[];channel.groupIdxLookup=[] channel.items=[];var child=element.firstChild;while(child) {if(child.nodeName=='link') TraverseChannelLink(child,channel);else if(child.nodeName=='title') TraverseChannelTitle(child,channel);else if(child.nodeName=='description') TraverseChannelDescription(child,channel);else if(child.nodeName=='managingEditor') TraverseChannelManagingEditor(child,channel);else if(child.nodeName=='webMaster') TraverseChannelWebMaster(child,channel);else if(child.nodeName=='image') TraverseChannelImage(child,channel);else if(child.nodeName=='geo:lat'||child.nodeName=='lat') TraverseChannelGeoLat(child,channel);else if(child.nodeName=='geo:long'||child.nodeName=='geo:lon'||child.nodeName=='geo:lng'||child.nodeName=='long'||child.nodeName=='lon'||child.nodeName=='lng') TraverseChannelGeoLong(child,channel);else if(child.nodeName=='georss:point'||child.nodeName=='point') TraverseChannelGeorssPoint(child,channel);else if(child.nodeName=='ymaps:ZoomLevel'||child.nodeName=='ZoomLevel') TraverseChannelYmapsZoomLevel(child,channel);else if(child.nodeName=='ymaps:Groups'||child.nodeName=='Groups') TraverseYmapsGroups(child,channel);else if(child.nodeName=='item') TraverseItem(child,channel);child=child.nextSibling;} if(channel.yZoom!=null) channel.gZoom=17-Math.round(channel.yZoom*3/2);channels.push(channel);} function TraverseChannelLink(element,channel) {channel.link=GetXmlText(element);} function TraverseChannelTitle(element,channel) {channel.title=GetXmlText(element);} function TraverseChannelDescription(element,channel) {channel.description=GetXmlText(element);} function TraverseChannelManagingEditor(element,channel) {channel.managingEditor=GetXmlText(element);} function TraverseChannelWebMaster(element,channel) {channel.webMaster=GetXmlText(element);} function TraverseChannelImage(element,channel) {var child=element.firstChild;while(child) {if(child.nodeName=='url') TraverseChannelImageUrl(child,channel);else if(child.nodeName=='title') TraverseChannelImageTitle(child,channel);else if(child.nodeName=='description') TraverseChannelImageDescription(child,channel);else if(child.nodeName=='link') TraverseChannelImageLink(child,channel);else if(child.nodeName=='width') TraverseChannelImageWidth(child,channel);else if(child.nodeName=='height') TraverseChannelImageHeight(child,channel);child=child.nextSibling;}} function TraverseChannelImageUrl(element,channel) {channel.imageUrl=GetXmlText(element);} function TraverseChannelImageTitle(element,channel) {channel.imageTitle=GetXmlText(element);} function TraverseChannelImageDescription(element,channel) {channel.imageDescription=GetXmlText(element);} function TraverseChannelImageLink(element,channel) {channel.imageLink=GetXmlText(element);} function TraverseChannelImageWidth(element,channel) {channel.imageWidth=parseInt(GetXmlText(element));} function TraverseChannelImageHeight(element,channel) {channel.imageHeight=parseInt(GetXmlText(element));} function TraverseChannelGeoLat(element,channel) {channel.lat=parseFloat(GetXmlText(element));} function TraverseChannelGeoLong(element,channel) {channel.lng=parseFloat(GetXmlText(element));} function TraverseChannelGeoPoint(element,channel) {var vals=GetXmlText(element).split(' ');if(vals.length==2) {channel.lat=parseFloat(vals[0]);channel.lng=parseFloat(vals[1]);}} function TraverseChannelYmapsZoomLevel(element,channel) {channel.yZoom=parseInt(GetXmlText(element));} function TraverseYmapsGroups(element,channel) {var child=element.firstChild;while(child) {if(child.nodeName=='group'||child.nodeName=='Group') TraverseGroup(child,channel);child=child.nextSibling;}} function TraverseGroup(element,channel) {var group=new Object();var child=element.firstChild;while(child) {if(child.nodeName=='title'||child.nodeName=='Title') TraverseGroupTitle(child,group);else if(child.nodeName=='id'||child.nodeName=='Id') TraverseGroupId(child,group);else if(child.nodeName=='ymaps:BaseIcon'||child.nodeName=='BaseIcon') TraverseGroupBaseIcon(child,group);else if(child.nodeName=='ymaps:HoverIcon'||child.nodeName=='HoverIcon') TraverseGroupHoverIcon(child,group);else if(child.nodeName=='ymaps:PopupIcon'||child.nodeName=='PopupIcon') TraverseGroupPopupIcon(child,group);child=child.nextSibling;} if(group.id) channel.groupIdxLookup[group.id]=channel.groups.length if(group.icon==null) {group.icon=icons[iconIdx];iconIdx=(iconIdx+1)%icons.length;} channel.groups.push(group);} function TraverseGroupTitle(element,group) {group.title=GetXmlText(element);} function TraverseGroupId(element,group) {group.id=GetXmlText(element);} function TraverseGroupBaseIcon(element,group) {group.baseIcon=GetXmlText(element);group.icon=new GIcon(icon);group.icon.image=group.baseIcon;group.icon.smallImage=null;group.icon.shadow=null;LookupIconSize(group.icon);} function TraverseGroupHoverIcon(element,group) {group.hoverIcon=GetXmlText(element);} function TraverseGroupPopupIcon(element,group) {group.popupIcon=GetXmlText(element);} function TraverseItem(element,channel) {var item=new Object();item.groupIdx=-1;item.extraLinks=[];item.extraImages=[];var child=element.firstChild;while(child) {if(child.nodeName=='title') TraverseItemTitle(child,item);else if(child.nodeName=='link') TraverseItemLink(child,item);else if(child.nodeName=='description') TraverseItemDescription(child,item);else if(child.nodeName=='author') TraverseItemAuthor(child,item);else if(child.nodeName=='geo:lat'||child.nodeName=='lat') TraverseItemGeoLat(child,item);else if(child.nodeName=='geo:long'||child.nodeName=='geo:lon'||child.nodeName=='geo:lng'||child.nodeName=='long'||child.nodeName=='lon'||child.nodeName=='lng') TraverseItemGeoLong(child,item);else if(child.nodeName=='georss:point'||child.nodeName=='point') TraverseItemGeorssPoint(child,item);else if(child.nodeName=='ymaps:Address'||child.nodeName=='Address') TraverseItemYmapsAddress(child,item);else if(child.nodeName=='ymaps:CityState'||child.nodeName=='CityState') TraverseItemYmapsCityState(child,item);else if(child.nodeName=='ymaps:Zip'||child.nodeName=='Zip') TraverseItemYmapsZip(child,item);else if(child.nodeName=='ymaps:Country'||child.nodeName=='Country') TraverseItemYmapsCountry(child,item);else if(child.nodeName=='ymaps:PhoneNumber'||child.nodeName=='PhoneNumber') TraverseItemYmapsPhoneNumber(child,item);else if(child.nodeName=='ymaps:GroupId'||child.nodeName=='GroupId') TraverseItemYmapsGroupId(child,item);else if(child.nodeName=='ymaps:BaseIcon'||child.nodeName=='BaseIcon') TraverseItemYmapsBaseIcon(child,item);else if(child.nodeName=='ymaps:HoverIcon'||child.nodeName=='HoverIcon') TraverseItemYmapsHoverIcon(child,item);else if(child.nodeName=='ymaps:PopupIcon'||child.nodeName=='PopupIcon') TraverseItemYmapsPopupIcon(child,item);else if(child.nodeName=='ymaps:ExtraLink'||child.nodeName=='ExtraLink') TraverseItemYmapsExtraLink(child,item);else if(child.nodeName=='ymaps:ExtraImage'||child.nodeName=='ExtraImage') TraverseItemYmapsExtraImage(child,item);else if(child.nodeName=='ymaps:ItemUrl'||child.nodeName=='ItemUrl') TraverseItemYmapsItemUrl(child,item);child=child.nextSibling;} if(item.groupId!=null) item.groupIdx=channel.groupIdxLookup[item.groupId];channel.items.push(item);} function TraverseItemTitle(element,item) {item.title=GetXmlText(element);} function TraverseItemLink(element,item) {item.link=GetXmlText(element);} function TraverseItemDescription(element,item) {item.description=GetXmlText(element);} function TraverseItemAuthor(element,item) {item.author=GetXmlText(element);} function TraverseItemGeoLat(element,item) {item.lat=parseFloat(GetXmlText(element));} function TraverseItemGeoLong(element,item) {item.lng=parseFloat(GetXmlText(element));} function TraverseItemGeorssPoint(element,item) {var vals=GetXmlText(element).split(' ');if(vals.length==2) {item.lat=parseFloat(vals[0]);item.lng=parseFloat(vals[1]);}} function TraverseItemYmapsAddress(element,item) {item.address=GetXmlText(element);} function TraverseItemYmapsCityState(element,item) {item.cityState=GetXmlText(element);} function TraverseItemYmapsZip(element,item) {item.zip=GetXmlText(element);} function TraverseItemYmapsCountry(element,item) {item.country=GetXmlText(element);} function TraverseItemYmapsPhoneNumber(element,item) {item.phoneNumber=GetXmlText(element);} function TraverseItemYmapsGroupId(element,item) {item.groupId=GetXmlText(element);if(item.groupIdx==null) item.groupIdx=-1;} function TraverseItemYmapsBaseIcon(element,item) {item.baseIcon=GetXmlText(element);item.icon=new GIcon(icon);item.icon.image=item.baseIcon;item.icon.smallImage=null;item.icon.shadow=null;LookupIconSize(item.icon);} function TraverseItemYmapsHoverIcon(element,item) {item.hoverIcon=GetXmlText(element);} function TraverseItemYmapsPopupIcon(element,item) {item.popupIcon=GetXmlText(element);} function TraverseItemYmapsExtraLink(element,item) {var extraLink=new Object();extraLink.text=GetXmlText(element);extraLink.href=element.getAttribute('href');item.extraLinks.push(extraLink);} function TraverseItemYmapsExtraImage(element,item) {var extraImage=new Object();var child=element.firstChild;while(child) {if(child.nodeName=='url') TraverseExtraImageUrl(child,extraImage);else if(child.nodeName=='title') TraverseExtraImageTitle(child,extraImage);else if(child.nodeName=='link') TraverseExtraImageLink(child,extraImage);else if(child.nodeName=='width') TraverseExtraImageWidth(child,extraImage);else if(child.nodeName=='height') TraverseExtraImageHeight(child,extraImage);child=child.nextSibling;} item.extraImages.push(extraImage);} function TraverseExtraImageUrl(element,extraImage) {extraImage.url=GetXmlText(element);} function TraverseExtraImageTitle(element,extraImage) {extraImage.title=GetXmlText(element);} function TraverseExtraImageLink(element,extraImage) {extraImage.link=GetXmlText(element);} function TraverseExtraImageWidth(element,extraImage) {extraImage.imageWidth=parseInt(GetXmlText(element));} function TraverseExtraImageHeight(element,extraImage) {extraImage.imageHeight=parseInt(GetXmlText(element));} function TraverseItemYmapsItemUrl(element,item) {item.itemUrl=GetXmlText(element);} function GetGroupIcon(channel,groupIdx) {if(groupIdx==-1||channel.groups[groupIdx]==null) {if(channel.defaultIcon==null) {channel.defaultIcon=icons[iconIdx];iconIdx=(iconIdx+1)%icons.length;} return channel.defaultIcon;} var groupIcon=channel.groups[groupIdx].icon;if(groupIcon==null) return icons[0];return groupIcon;} function GetItemIcon(channel,item) {if(item.icon) return item.icon;return GetGroupIcon(channel,item.groupIdx);} function GetGroupImage(channel,groupIdx) {var groupIcon=GetGroupIcon(channel,groupIdx);var groupImage=groupIcon.image;return groupImage;} function GetItemImage(channel,item) {var itemIcon=GetItemIcon(channel,item);var itemImage=itemIcon.image;return itemImage;} function GetGroupSmallImage(channel,groupIdx) {var groupIcon=GetGroupIcon(channel,groupIdx);var groupSmallImage=groupIcon.smallImage;if(groupSmallImage==null) groupSmallImage=groupIcon.image;return groupSmallImage;} function GetItemSmallImage(channel,item) {var itemIcon=GetItemIcon(channel,item);var itemSmallImage=itemIcon.smallImage;if(itemSmallImage==null) itemSmallImage=itemIcon.image;return itemSmallImage;} function Display() {var i,j,channel,item,same,html,address,title;var imageHtml='';var titleHtml='';var descriptionHtml='';var groupsHtml='';var panelHtml='';var mailtoHtml='';var yahooMapHtml='';var googleMapHtml='';for(i=0;i';html+='';if(channel.imageLink) html+='';html+=''} if(channel.imageDescription) {html+='' if(channel.imageLink) html+='';html+=channel.imageDescription;if(channel.imageLink) html+='';html+=''} html+='' imageHtml+=html;}} if(channel.title) {same=false;for(j=0;j';html+=channel.title;if(channel.link) html+='';html+='
';titleHtml+=html;}} if(channel.description) {same=false;for(j=0;j';} if(channel.groups.length>0) {html='';var perRow=0;for(j=0;j=5) {html+='';perRow=0;} html+='';++perRow;} html+='
'+channel.groups[j].title+'

';groupsHtml+=html;} for(j=0;j';html+=link+' '+link+item.title+'';} else if(item.link) html+=''+item.title+'';else html+=item.title;html+='
';panelHtml+=html;}} if(channel.managingEditor||channel.webMaster) {same=false;for(j=0;j'+address+'
';mailtoHtml+=html;}} if(channel.title) title=channel.title;else title=xmlsrcs[xi];html=''+title+' via Yahoo! Simple Maps.
';yahooMapHtml+=html;html=''+title+' via Google Maps.
';googleMapHtml+=html;} if(channels.length==1&&channels[0].lat!=null&&channels[0].lng!=null&&channels[0].gZoom!=null) map.setCenter(new GLatLng(channels[0].lat,channels[0].lng),channels[0].gZoom);else ZoomToMarkers(map,markers);imageItem.innerHTML=imageHtml;titleItem.innerHTML=titleHtml;descriptionItem.innerHTML=descriptionHtml;groupsItem.innerHTML=groupsHtml;panelItem.innerHTML=panelHtml;mailtoItem.innerHTML=mailtoHtml;yahooMapItem.innerHTML=yahooMapHtml;googleMapItem.innerHTML=googleMapHtml;} function PopUp(m) {try {var i;var marker=markers[m];if(marker.channelIdx==null||marker.itemIdx==null) return;var item=channels[marker.channelIdx].items[marker.itemIdx];var html='';if(item.link) html+='';if(item.title) html+=''+item.title+'';if(item.link) html+='';html+='
';if(item.address) html+=item.address+'
';if(item.cityState||item.zip||item.country) {if(item.cityState) html+=item.cityState+' ';if(item.zip) html+=item.zip+' ';if(item.country) html+=item.country+' ';html+='
';} if(item.phoneNumber) html+=item.phoneNumber+'
';if(item.description) html+='

'+item.description+'

';if(item.author) html+='

'+item.author+'

';for(i=0;i'+item.extraLinks[i].text+'
';for(i=0;i';if(item.extraImages[i].url) {html+='';} if(item.extraImages[i].link) html+='';} if(item.itemUrl) html+='

';marker.openInfoWindowHtml(html,{maxWidth:300});} catch(e) {GLog.write('PopUp:\n'+Props(e));}} var iconSizeHelper=[];iconSizeHelper['http://www.dbaclick.com/images/train8.gif']=new GSize(28,30);function LookupIconSize(icon) {var size=iconSizeHelper[icon.image];if(size) icon.iconSize=size;}