var icon;
var _aa=0;
var _ba=100;
var _ca=_ba;
var _da=new Array(_ba);
var _ea=new Array(_ba);
for(aa in _ea){_ea[aa]=0;}
var _fa=0;
var _ga=0;
var gm_icon=new Array();
gm_icon["trans"]=new GIcon();
gm_icon["trans"].image="/images/maps/trans.png";
gm_icon["trans"].shadow=null;
gm_icon["trans"].iconSize=new GSize(12,20);
gm_icon["trans"].iconAnchor=new GPoint(6,20);
gm_icon["trans"].infoWindowAnchor=new GPoint(5,1);
gm_icon["brewery"]=new GIcon();
gm_icon["brewery"].image="/images/maps/mm_20_red.png";
gm_icon["brewery"].iconSize=new GSize(12,20);
gm_icon["brewery"].shadowSize=new GSize(22,20);
gm_icon["brewery"].iconAnchor=new GPoint(6,20);
gm_icon["brewery"].infoWindowAnchor=new GPoint(5,1);
gm_icon["bar"]=new GIcon();
gm_icon["bar"].image="/images/maps/mm_20_blue.png";
gm_icon["bar"].iconSize=new GSize(12,20);
gm_icon["bar"].shadowSize=new GSize(22,20);
gm_icon["bar"].iconAnchor=new GPoint(6,20);
gm_icon["bar"].infoWindowAnchor=new GPoint(5,1);
gm_icon["store"]=new GIcon();
gm_icon["store"].image="/images/maps/mm_20_green.png";
gm_icon["store"].iconSize=new GSize(12,20);
gm_icon["store"].shadowSize=new GSize(22,20);
gm_icon["store"].iconAnchor=new GPoint(6,20);
gm_icon["store"].infoWindowAnchor=new GPoint(5,1);
gm_icon["rest"]=new GIcon();
gm_icon["rest"].image="/images/maps/mm_20_yellow.png";
gm_icon["rest"].iconSize=new GSize(12,20);
gm_icon["rest"].shadowSize=new GSize(22,20);
gm_icon["rest"].iconAnchor=new GPoint(6,20);
gm_icon["rest"].infoWindowAnchor=new GPoint(5,1);
o_icon=new GIcon();
o_icon.image="/images/maps/mm_20_orange.png";
o_icon.iconSize=new GSize(12,20);
o_icon.shadowSize=new GSize(22,20);
o_icon.iconAnchor=new GPoint(6,20);
o_icon.infoWindowAnchor=new GPoint(5,1);
var _ha=document.createElement("div");
var menu=document.createElement("div");
menu.style.visibility="hidden";
_ha.setAttribute("id","div_marker_tooltip");
_ha.style.border="1px #000000 solid";
_ha.style.backgroundColor="#ffffff";
_ha.style.fontWeight="bold";
_ha.style.fontFamily="Verdana, sans-serif";
_ha.style.fontSize="10px";
_ha.style.opacity="0.85";
_ha.style.filter="alpha(opacity=85)";
_ha.style.padding="2px 0.5ex";
_ha.style.margin="0";
_ha.style.zIndex=5;
var _ia;
var clusterer;

function onLoad(ra,sa,ta){
	_ia=new GMap2(document.getElementById("map"));
	clusterer=new Clusterer(_ia);
	_ia.addControl(new GLargeMapControl());
	_ia.addControl(new GMapTypeControl());
	_ia.setCenter(new GLatLng(ra,sa),ta);
	_ia.enableScrollWheelZoom();
	document.getElementById("map").appendChild(_ha);
	document.getElementById("map").appendChild(menu);
	_ha.style.visibility="hidden";
	menu.style.visibility="hidden";
	menu.innerHTML='<div class=menu><br>Zoom in to view places<br><br></div>';
	_ja();
	GEvent.addListener(_ia,"moveend",function(){
		if(_ia.getZoom()>8){
			menu.style.visibility="hidden";
			_ja();
		}else{
			hx=_ia.getSize().height/2-50;
			hy=_ia.getSize().width/2-225;
			var ua=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(hy,hx));
			ua.apply(menu);
			menu.style.visibility="visible";
			_fa=0;
			_ia.clearOverlays();
			for(j in _ea){
				_ia.removeOverlay(_da[j]);
				_ca=_ba;
				_ea[j]=0;
			}
		}
	});
	function _ja(){
		var A=_ia.getBounds();
		_ka=A.getNorthEast().lat();
		_la=A.getSouthWest().lat();
		_ma=A.getNorthEast().lng();
		_na=A.getSouthWest().lng();
		var va=0;
		for(i in _da){
			var B=_da[i].getPoint();
			if(B.lat()<_la||B.lat()>_ka||B.lng()<_na||B.lng()>_ma){
				if(_ea[i]){
					if(_da[i]){
						_ia.removeOverlay(_da[i]);
						_ca++;
						va++;
						_ea[i]=0;
					}
				}
			}
		}
		_oa(_la,_ka,_na,_ma)
	}

	function _oa(wa,xa,ya,za){
		if(_ca>0){
	
			url='/Places/getmarkers.asp?l1='+wa+'&g1='+ya+'&l2='+xa+'&g2='+za;
			//alert(url);
			var E=GXmlHttp.create();
			E.open("GET",url,true);
			E.onreadystatechange=function(){
				if(E.readyState==4){
					response=E.responseText.split("|");
					c=response.length-1;
					var Aa=0;
					if(c>0){
						for(var I=0;I<c;I++){
							_aa=0;v=response[I].split(";");
							var H=new Array();
							H["n"]=v[0];
							H["id"]=v[1];
							H["name"]=v[2];
							H["type"]=v[3];
							H["str"]=v[4];
							H["color"]=v[5];
							H["addy"]=v[6];
							H["phone"]=v[7];
							H["score"]=v[8];
							H["ratings"]=v[9];
							H["url"]=v[10];
							H["surl"]=v[11];
							H["lat"]=v[12];
							H["lng"]=v[13];
							H["html"]="<table border=0 width=300 cellpadding=0 cellspacing=0><tr width=300><td width=12><img src=/images/dot.gif width=12 height=1></td><td width=216 nowrap><font size=4><a target=_new href=http://ratebeer.com/Places/ShowPlace.asp?PlaceID="+H["id"]+">"+H["name"]+"</a></font><br><br><font size=1><strong>"+H["str"]+"</strong><br>"+H["addy"]+"<br>"+H["phone"]+"<br><a target=_new href="+H["url"]+">"+H["surl"]+"</a> </font></td><td width=72 valign=top><table width=72 border=0 cellpadding=0 cellspacing=0><tr width=72><td valign=center width=72 height=72 background=/images/maps/scoreBG.jpg bgcolor=#337700><center><font size=7 color=white><b>"+H["score"]+"</b></font></center></td></tr><tr><td align=center valign=bottom width=72 height=22 background=/images/maps/numBG2.jpg bgcolor=DDDDDD><center><font size=1><a target=_new href=http://ratebeer.com/Places/ShowPlace.asp?PlaceID="+H["id"]+">"+H["ratings"]+" Reviews</a></center></td></tr><tr><td class=beerfoot valign=bottom align=center><br><a target=_new href=/Maps/PrintPlace-"+H["id"]+".htm><img src=/images/print.gif border=0> print</a></td></tr></table></td><td width=12><img src=/images/dot.gif width=12 height=1></td></td></tr><tr height=10 width=300><td colspan=4 height=10 width=300></td></tr></table>";
							H["icon"]=gm_icon[H["color"]];
							for(j in _ea){
								if(_ea[j]==H["id"]){
									_aa=1;
									Aa++;
								}
							}
							if(_aa==0&&_ca>0){
								for(p in _ea){
									if(_ea[p]==0){
										H["n"]=p;
										break;
									}
								}
								var G=new GLatLng(H["lat"],H["lng"]);
								_pa(G,H);
							}
						}
					}
					var Ba=c-Aa;
				}
			};
			E.send(null)
		}
	}

	function _pa(Ca,H){
		if(H["score"]>74){
			scoreStr=H["name"]+" (<font color=#ff0000>"+H["score"]+"</font>)"
		}else{
			scoreStr=H["name"]+" ("+H["score"]+")"
		}
		icon=H["icon"];
		var Da=new GMarker(Ca,icon);
		Da._ha="<div class='tooltip'>"+scoreStr+"</div>";
		_ia.addOverlay(Da);
		_ca--;
		_ea[H["n"]]=H["id"];
		_da[H["n"]]=Da;
		GEvent.addListener(Da,"click",function(){
			_ha.style.visibility="hidden";
			Da.openInfoWindowHtml(H["html"]);
		});
		GEvent.addListener(Da,"mouseover",function(){
			_qa(Da);
		});
		GEvent.addListener(Da,"mouseout",function(){
			_ha.style.visibility="hidden";
		});
		Da.title=scoreStr;
		_fa=_da.length;
	}

	function _qa(B){
		_ha.innerHTML=B._ha;
		var A=_ia.getCurrentMapType().getProjection().fromLatLngToPixel(_ia.getBounds().getSouthWest(),_ia.getZoom());
		var E=_ia.getCurrentMapType().getProjection().fromLatLngToPixel(B.getPoint(),_ia.getZoom());
		var C=B.getIcon().iconAnchor;
		var D=B.getIcon().iconSize.width;
		var F=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(E.x-A.x-C.x+D,-E.y+A.y+C.y));
		F.apply(_ha);
		_ha.style.visibility="visible";
	}
}