var map;var geocoder;var gads;var countryzoom=3;var cityzoom=6;var citydetailzoom=8;var logged_in=false;var map_privacy=-1;function membersmapload(B,C,A){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map"));map.enableContinuousZoom();geocoder=new GClientGeocoder();map.addControl(new GLargeMapControl());GEvent.addListener(map,"dragstart",startdrag);GEvent.addListener(map,"dragend",enddrag);GEvent.addListener(map,"zoomend",enddrag);GEvent.addListener(map,"moveend",enddrag);map_privacy=B;if(B!=-1){logged_in=true}if((B!=0)&&(C!=0)&&(A!=0)){map.setCenter(new GLatLng(C,A),citydetailzoom)}else{map.setCenter(new GLatLng(25,10),2)}mgr=new MarkerManager(map);city_mgr=new MarkerManager(map);map.openInfoWindow();map.closeInfoWindow();enddrag()}}function showAddress(A){if(geocoder){geocoder.getLocations(A,function(B){if(!B||B.Status.code!=200){alert("Sorry, we were unable to locate that address. Try entering your city and country/state/zip.")}else{place=B.Placemark[0];var D=citydetailzoom;var C=4;if(place.AddressDetails.Accuracy){C=place.AddressDetails.Accuracy}if(C<4){D=cityzoom}document.getElementById("address").value=place.address;point=new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);map.setCenter(point,D);enddrag()}})}}function getDiameter(A){var B=Math.round(Math.pow(2,4+Math.log(A)/Math.log(128)));if(B<16){B=16}if(B>256){B=256}return B}function createIcon(B){var A=new GIcon();A.image=static_url+"js/map/icons/clicktozoom.png";A.shadow="";var C=getDiameter(B);A.infoWindowAnchor=new GPoint(Math.round(3*C/5,0),Math.round(2*C/5,0));A.iconSize=new GSize(C,Math.round(C*1.15625));A.iconAnchor=new GPoint(Math.round(C/2,0),Math.round(C/2,0));return A}function createCityIcon(B){var A=new GIcon();A.image=static_url+"js/map/icons/citymarker.png";A.shadow="";var C=getDiameter(B);A.infoWindowAnchor=new GPoint(Math.round(3*C/5,0),Math.round(2*C/5,0));A.iconSize=new GSize(C,C);A.iconAnchor=new GPoint(Math.round(C/2,0),Math.round(C/2,0));return A}var lockReload=false;var reloadTimer=null;function startdrag(){clearTimeout(reloadTimer)}function enddrag(){clearTimeout(reloadTimer);if(map.getInfoWindow().isHidden()==false){return false}if(map.getZoom()>=cityzoom){if(lockReload){return false}setLoadTimeout("loadCityPoints()",1000)}else{if(map.getZoom()>countryzoom){setLoadTimeout("loadRegionPoints()",1000);setLoadTimeout("loadCountryPoints()",1000)}else{setLoadTimeout("loadCountryPoints()",1000)}}}function setLoadTimeout(B,A){setLoadStatus("loading map data...");reloadTimer=setTimeout(B,A)}function setLoadStatus(A){if(document.getElementById("maploadstatus")){document.getElementById("maploadstatus").innerHTML=A}}function showNearestToLatLng(C,A){map.setCenter(new GLatLng(C,A),citydetailzoom);setLoadStatus("loading map data...");var B="map-bounds-search.php?type=closest&public=true&lat="+C+"&lng="+A+"&privacy="+map_privacy;lockReload=true;GDownloadUrl(B,function(E){var D=document.createElement("div");D.innerHTML=E;map.openInfoWindowHtml(new GLatLng(C,A),"Searching for members near you...",{maxContent:D,maxTitle:"Local Members Info"});setLoadTimeout("map.getInfoWindow().maximize();lockReload=false;",1000);setLoadStatus("")})}var cityBounds=null;var cityBoundsZoom=null;function loadCityPoints(){var A=map.getBounds();if(cityBounds!=null){if((cityBoundsZoom==map.getZoom())&&(cityBounds.containsBounds(A))){setLoadStatus("");return true}}var H=A.getSouthWest();var E=A.getNorthEast();var J=E.lat()-H.lat();var D=E.lng()-H.lng();var I=H.lat()-J;var C=E.lat()+J;var B=H.lng()-D;var F=E.lng()+D;A.extend(new GLatLng(I,B));A.extend(new GLatLng(C,F));cityBounds=A;H=A.getSouthWest();E=A.getNorthEast();cityBoundsZoom=map.getZoom();var G="map-bounds-search.php?type=cities&z="+map.getZoom()+"&w="+map.getSize().width+"&h="+map.getSize().height+"&latmin="+H.lat()+"&latmax="+E.lat()+"&lngmin="+H.lng()+"&lngmax="+E.lng();GDownloadUrl(G,parseCityPoints)}var countryLoaded=false;var countryData=[];function loadCountryPoints(){if(countryLoaded){return true}var A="map-bounds-search.php?type=countries";GDownloadUrl(A,parseCountryPoints)}var loadedRegions=false;function loadRegionPoints(){if(loadedRegions){return true}loadedRegions=true;var A="map-bounds-search.php?type=regions";GDownloadUrl(A,parseRegionPoints)}function parseCountryPoints(D){countryData=D;countryLoaded=true;var C=D.split("$");var A=[];var F=[];for(var B=0;B<C.length;B++){result=C[B].split("|");if(result.length>=4){if((result[0]!="")&&(result[1]!="")&&(result[2]!="")&&(result[3]!="")){var E=result[3];if((E=="United States")||(E=="Canada")){A.push(createCountryMarker({"posn":new GLatLng(parseFloat(result[0]),parseFloat(result[1])),"num":result[2],"name":result[3]}))}else{F.push(createCountryMarker({"posn":new GLatLng(parseFloat(result[0]),parseFloat(result[1])),"num":result[2],"name":result[3]}))}}}}mgr.addMarkers(A,1,countryzoom);mgr.addMarkers(F,1,cityzoom-1);mgr.refresh();setLoadStatus("")}function parseRegionPoints(D){var C=D.split("$");var A=[];for(var B=0;B<C.length;B++){result=C[B].split("|");if(result.length>=4){if((result[0]!="")&&(result[1]!="")&&(result[2]!="")&&(result[3]!="")){A.push(createRegionMarker({"posn":new GLatLng(parseFloat(result[0]),parseFloat(result[1])),"num":result[2],"name":result[3]}))}}}mgr.addMarkers(A,countryzoom+1,cityzoom-1);loadedRegions=true;mgr.refresh();setLoadStatus("")}function parseCityPoints(D){if((D==null)||(D=="")){setLoadStatus("");return true}var C=D.split("$");var A=[];for(var B=0;B<C.length;B++){result=C[B].split("|");var E=new GLatLng(parseFloat(result[0]),parseFloat(result[1]));A.push(createCityMarker({"posn":E,"num":result[2],"name":result[3]}))}city_mgr.clearMarkers();city_mgr.addMarkers(A,cityzoom,15);city_mgr.refresh();setLoadStatus("")}function createCountryMarker(D){var B;if(D["num"]<10){B="markerfont1"}else{if(D["num"]<100){B="markerfont10"}else{if(D["num"]<1000){B="markerfont100"}else{if(D["num"]<10000){B="markerfont1000"}else{if(D["num"]<100000){B="markerfont10000"}else{B="markerfont100000"}}}}}var C={"icon":createIcon(D["num"]),"clickable":true,"labelText":D["num"],"title":D["name"],"labelOffset":new GSize(0,0),"labelClass":B};var A=new LabeledMarker(D["posn"],C);GEvent.addListener(A,"click",function(){if((D["name"]=="United States")||(D["name"]=="Canada")){map.setZoom(countryzoom+1);map.panTo(D["posn"]);enddrag()}else{if(map.getZoom()<(countryzoom+1)){map.setZoom(countryzoom+1);map.panTo(D["posn"]);enddrag()}else{map.setZoom(cityzoom);map.panTo(D["posn"]);enddrag()}}});return A}function createRegionMarker(D){var B;if(D["num"]<10){B="markerfont1"}else{if(D["num"]<100){B="markerfont10"}else{if(D["num"]<1000){B="markerfont100"}else{if(D["num"]<10000){B="markerfont1000"}else{if(D["num"]<100000){B="markerfont10000"}else{B="markerfont100000"}}}}}var C={"icon":createIcon(D["num"]),"clickable":true,"labelText":D["num"],"title":D["name"],"labelOffset":new GSize(0,0),"labelClass":B};var A=new LabeledMarker(D["posn"],C);GEvent.addListener(A,"click",function(){map.setZoom(cityzoom);map.panTo(D["posn"]);enddrag()});return A}function showClosestCityMembers(A,C){lockReload=true;if((logged_in==false)||(map_privacy==0)){A.openInfoWindowHtml(C);lockReload=false;return }var B=document.createElement("div");B.innerHTML=C;A.openInfoWindowHtml("Searching for members near here...",{maxContent:B,maxTitle:"Local Members Info"});setTimeout("map.getInfoWindow().maximize();lockReload=false;",1000)}function showClosestMembers(A,D){A.openInfoWindowHtml(D);var C=document.createElement("div");C.innerHTML="Loading...";A.openInfoWindowHtml(D,{maxContent:C,maxTitle:"Local Members Info"});var B=map.getInfoWindow();var E="map-bounds-search.php?type=closest&public=true&lat="+A.getLatLng().lat()+"&lng="+A.getLatLng().lng();GEvent.addListener(B,"maximizeclick",function(){GDownloadUrl(E,function(F){C.innerHTML=F})})}function zoomTo(A){map.setZoom(A);reloadTimer=setTimeout("loadCityPoints()",500)}function createCityMarker(E){var B;if(E["num"]<10){B="markerfont1"}else{if(E["num"]<100){B="markerfont10"}else{if(E["num"]<1000){B="markerfont100"}else{if(E["num"]<10000){B="markerfont1000"}else{if(E["num"]<100000){B="markerfont10000"}else{B="markerfont100000"}}}}}var C;if(map.getZoom()>=citydetailzoom){C=createCityIcon(E["num"])}else{C=createIcon(E["num"])}var D={"icon":C,"clickable":true,"labelText":E["num"],"title":E["name"],"labelOffset":new GSize(0,0),"labelClass":B};var A=new LabeledMarker(E["posn"],D);if(map.getZoom()>=citydetailzoom){GEvent.addListener(A,"click",function(){map.panTo(E["posn"]);var F="map-bounds-search.php?type=closest&lat="+E["posn"].lat()+"&lng="+E["posn"].lng()+"&city="+encodeURIComponent(E["name"])+"&privacy="+map_privacy;if((logged_in)&&(map_privacy==0)){F+="&nolocation=true"}else{if(logged_in){F+="&public=true"}}lockReload=true;A.openInfoWindowHtml("Searching for members near here...");GDownloadUrl(F,function(G){showClosestCityMembers(A,G)})})}else{GEvent.addListener(A,"click",function(){map.setCenter(E["posn"],citydetailzoom);enddrag()})}return A}