
var map;var google_map_center_latitude;var google_map_center_longitude;var google_map_default_zoom;function initialize(mapElementId){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById(mapElementId));map.setCenter(new GLatLng(google_map_center_latitude,google_map_center_longitude),google_map_default_zoom);var customUI=map.getDefaultUI();customUI.controls.largemapcontrol3d=false;customUI.zoom.scrollwheel=true;customUI.maptypes.normal=true;customUI.maptypes.satellite=true;customUI.maptypes.hybrid=true;customUI.maptypes.physical=false;customUI.controls.largemapcontrol3d=true;customUI.controls.smallzoomcontrol3d=false;customUI.controls.scalecontrol=false;map.setUI(customUI);changed_view(1);GEvent.addListener(map,"move",function(){dragging_move();});GEvent.addListener(map,"moveend",function(){dragging_ended();});GEvent.addListener(map,"zoomend",function(){changed_view(1);});}}
function CenterMap(lngNew,latNew,zoomNew){if(GBrowserIsCompatible()){if(map!=null){map.setCenter(new GLatLng(latNew,lngNew),zoomNew);}else{google_map_center_latitude=latNew;google_map_center_longitude=lngNew;google_map_default_zoom=zoomNew;}}}
var time_last_drag_move=-1;var time_diff_drag_abs=1100;var old_drag_lon=-1;var old_drag_lat=-1;var lastZoom=-1;var lastBounds;var cached_Mks={};function dragging_move(){var now=new Date();now=now.getTime();if(now-time_last_drag_move>time_diff_drag_abs){changed_view(0);time_last_drag_move=now;return;}}
function dragging_ended(){time_last_drag_move=-1;changed_view(0);}
function changed_view(zoomp){var bounds=map.getBounds();var southWest=bounds.getSouthWest();var nE=bounds.getNorthEast();if(map.getZoom()==lastZoom&&typeof(lastBounds)=='object'){var tmp=lastBounds.getSouthWest();if(southWest.lng()==tmp.lng()&&southWest.lat()==tmp.lat()){tmp=lastBounds.getNorthEast();if(nE.lng()==tmp.lng()&&nE.lat()==tmp.lat()){return;}}}
if(zoomp){clear_all_overlays();}
lastBounds=new GLatLngBounds(southWest,nE);lastZoom=map.getZoom();var bounds=map.getBounds();var southWest=bounds.getSouthWest();var northEast=bounds.getNorthEast();get_json_pts('/'+northEast.toUrlValue()+'/'+southWest.toUrlValue());}
function clear_all_overlays(){map.clearOverlays();cached_Mks={};}
function get_json_pts(area){var request=mk_xmlhttpreq();var urltxt='points/BeginProcces'+area+'/'+map.getZoom();request.open('GET',urltxt,true);request.onreadystatechange=mkUpdateFun(request);request.send(null);}
var zoffset=0;function mkMarker(point,tag,opts,url,multi){var marker;var icon=opts['icon'];var markerOptions={};if(opts['z']){var z=opts['z'];markerOptions['zIndexProcess']=function(marker,b){zoffset++;return z*(10000000+zoffset);};}
if(tag){markerOptions['title']=tag;}
if(icon){markerOptions['icon']=icon;}
marker=new GMarker(point,markerOptions);if(url!=null){GEvent.addListener(marker,"click",function(){document.location.href=url;});}
if(multi!=null){GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(multi,{pixelOffset:new GSize(10,10)});});}
return marker;}
var aggregI,multipI,mulbigtipI;function getAggregIcon(){if(!aggregI){aggregI=new GIcon(G_DEFAULT_ICON,"/img/flag_full.png");aggregI.iconSize=new GSize(32,29);aggregI.shadow="";}
return aggregI;}
function getMultiPtIcon(){if(!multipI){multipI=new GIcon(G_DEFAULT_ICON,"/img/flag_full.png");multipI.iconSize=new GSize(32,29);multipI.shadow="";}
return multipI;}
function getMultiPtBigIcon(){if(!mulbigtipI){mulbigtipI=new GIcon(G_DEFAULT_ICON,"/img/flag_big.png");mulbigtipI.iconSize=new GSize(40,26);mulbigtipI.shadow="";}
return mulbigtipI;}
var uppdateID=1;var presentUpd=-1;function mkUpdateFun(request){var localUpdate=++uppdateID;var f=function(){if(request.readyState!=4){return;}
var now=new Date();now=now.getTime()%1000000;if(presentUpd>localUpdate){return 0;}
presentUpd=localUpdate;var jscript=request.responseText;var points=undefined;eval(jscript);var zoomnow=map.getZoom();for(i in points){if(points.errormsg){delete points;continue;}
if(cached_Mks[i]){points[i]=cached_Mks[i];cached_Mks[i]=null;continue;}
if(points[i].lat>89.99){continue;}
var aggIcon=getAggregIcon(points[i]);var mulIcon=getMultiPtIcon(points[i]);var m;var pll=new GLatLng(points[i].lat,points[i].lon);if(points[i].typ=='+'){m=mkMarker(pll,points[i].t,{icon:mulIcon});}else{m=mkMarker(pll,points[i].t,{icon:aggIcon});}
points[i]=m;map.addOverlay(m);}
for(i in cached_Mks){var marker=cached_Mks[i];if(marker){map.removeOverlay(marker);}}
cached_Mks=points;};return f;}
function mk_xmlhttpreq(){var xh=GXmlHttp.create();if(xh!=null){return xh;}
try{xh=new ActiveXObject("Msxml2.XMLHTTP");return xh;}catch(e){}
try{xh=new ActiveXObject("Microsoft.XMLHTTP");return xh;}catch(e){}
try{xh=new XMLHttpRequest();return xh;}catch(e){}
try{xh=window.createRequest();return xh;}catch(e){}
return undefined;}
