var markerHash=new Array();var markerTypeHash=new Array();var restaurantsMarkerHash=new Array();var campingsuppliesMarkerHash=new Array();var xmlHttp=new Array();var map;var defaultMarkerFound=false;var defaultMarker;function createMarker(k,j,c,a,e,f,i,b,d){var g=new GMarker(k,markerTypeHash[j]);var h;if("camping"==j){h="<a href='/"+e+"/"+f+"/"+i+"/c"+c+"-"+textToUrlPath(a)+".html'>"+a+"</a>"}else{if("hostels"==j){h="<a href='/"+e+"/"+f+"/"+i+"/h"+c+"-"+d+"-"+textToUrlPath(a)+".html'>"+a+"</a>"}else{h="<a href='/"+e+"/"+f+"/"+i+"/"+j+".html#"+c+"'>"+a+"</a>"}}if(b){h=h+"<br /><br /><a href='http://"+b+"'>Go to Website</a>"}GEvent.addListener(g,"click",function(){g.openInfoWindowHtml(h)});return g}function createGoogleTypeMarker(j,i,c,a,d,e,h,b){var f=new GMarker(j,markerTypeHash[i]);var g="NULL"==h?"<a href='"+b+"'>"+a+"</a>":"<a href='/"+d+"/"+e+"/"+h+"/r"+c+"-"+textToUrlPath(a)+".html'>"+a+"</a>";GEvent.addListener(f,"click",function(){f.openInfoWindowHtml(g)});return f}function addData(b){xmlHttp=new Array();var d=map.getBounds();for(var a=0;a<b.length;a++){var c=b[a];xmlHttp[a]=getRequestObject();setUpAjax(a,c,d)}nearbyResources()}function setUpAjax(c,a,b){if(null!=xmlHttp[c]){xmlHttp[c].open("GET","/cgi-bin/ajax/latlong.pl?minLat="+b.getSouthWest().lat()+"&maxLat="+b.getNorthEast().lat()+"&minLong="+b.getSouthWest().lng()+"&maxLong="+b.getNorthEast().lng()+"&type="+a,true);xmlHttp[c].onreadystatechange=function(){processResult(c)};xmlHttp[c].send(null)}}function processResult(d){if(4==xmlHttp[d].readyState){var b=xmlHttp[d].responseText.split("\n");for(var a=0;a<b.length-1;a++){if(!markerHash[b[a]]){var c=b[a].split("|");if(/^\w+$/.test(c[0])&&/^\d+$/.test(c[1])&&/^[\w\-]+$/.test(c[3])&&/^[\w\-]+$/.test(c[4])&&/^[\w\-]+$/.test(c[5])&&/^[\d\.\-]+$/.test(c[6])&&/^[\d\.\-]+$/.test(c[7])){markerHash[b[a]]=createMarker(new GLatLng(c[6],c[7]),c[0],c[1],c[2],c[3],c[4],c[5],c[8],c[9]);map.addOverlay(markerHash[b[a]]);if(!defaultMarkerFound&&defaultMarker==c[0]+"|"+c[1]){GEvent.trigger(markerHash[b[a]],"click");defaultMarkerFound=true}}}}xmlHttp[d]=false}}function createIcons(){markerTypeHash.camping=new GIcon();markerTypeHash.camping.image="http://www.interhike.com/images/campingmapIcon.png";markerTypeHash.camping.shadow="http://www.interhike.com/images/campingmapIconShadow.png";markerTypeHash.camping.iconSize=new GSize(15,20);markerTypeHash.camping.shadowSize=new GSize(25,20);markerTypeHash.camping.iconAnchor=new GLatLng(20,7);markerTypeHash.camping.infoWindowAnchor=new GLatLng(1,5);markerTypeHash.hostels=new GIcon();markerTypeHash.hostels.image="http://www.interhike.com/images/hostelsmapIcon.png";markerTypeHash.hostels.shadow="http://www.interhike.com/images/hostelsmapIconShadow.png";markerTypeHash.hostels.iconSize=new GSize(15,20);markerTypeHash.hostels.shadowSize=new GSize(25,20);markerTypeHash.hostels.iconAnchor=new GLatLng(20,7);markerTypeHash.hostels.infoWindowAnchor=new GLatLng(1,5);markerTypeHash.attractions=new GIcon();markerTypeHash.attractions.image="http://www.interhike.com/images/attractionsmapIcon.png";markerTypeHash.attractions.iconSize=new GSize(37,34);markerTypeHash.attractions.iconAnchor=new GLatLng(20,7);markerTypeHash.attractions.infoWindowAnchor=new GLatLng(1,5);markerTypeHash.restaurants=new GIcon();markerTypeHash.restaurants.image="http://www.interhike.com/images/restaurantsmapIcon.png";markerTypeHash.restaurants.shadow="http://www.interhike.com/images/restaurantsmapIconShadow.png";markerTypeHash.restaurants.iconSize=new GSize(18,34);markerTypeHash.restaurants.shadowSize=new GSize(36,34);markerTypeHash.restaurants.iconAnchor=new GLatLng(20,7);markerTypeHash.restaurants.infoWindowAnchor=new GLatLng(1,5);markerTypeHash.googlerestaurants=markerTypeHash.restaurants;markerTypeHash.campingsupplies=new GIcon();markerTypeHash.campingsupplies.image="http://www.interhike.com/images/campingsuppliesmapIcon.png";markerTypeHash.campingsupplies.iconSize=new GSize(25,25);markerTypeHash.campingsupplies.iconAnchor=new GLatLng(20,7);markerTypeHash.campingsupplies.infoWindowAnchor=new GLatLng(1,5);markerTypeHash.googlecampingsupplies=markerTypeHash.campingsupplies}function drawMap(c,b,a){map=new google.maps.Map2(document.getElementById("map"));map.addControl(new GSmallMapControl());map.setCenter(new GLatLng(c,b),a)}function drawMapFixedSize(e,d,b,c,a){map=new google.maps.Map2(document.getElementById("map"),{size:new GSize(c,a)});map.addControl(new GSmallMapControl());map.setCenter(new GLatLng(e,d),b)}function loadMapWithDefault(e,c,a,b,d){defaultMarker=d;loadMap(e,c,a,b)}function loadMap(d,c,a,b){createIcons();drawMap(d,c,a);GEvent.addListener(map,"moveend",function(){addData(b)});addData(b)}function loadMapFixedSize(f,e,b,c,d,a){createIcons();drawMapFixedSize(f,e,b,d,a);GEvent.addListener(map,"moveend",function(){addData(c)});addData(c)}function nearbyResources(){$("#progress").show();var b=map.getBounds();if($("#restaurants").attr("checked")){$.ajax({type:"GET",url:"/cgi-bin/ajax/getrestaurants.pl?minLat="+b.getSouthWest().lat()+"&maxLat="+b.getNorthEast().lat()+"&minLong="+b.getSouthWest().lng()+"&maxLong="+b.getNorthEast().lng(),success:function(f){if(""==f||null==f){}else{var d=f.split("\n");if(d[0]){for(var c=0;c<d.length-1;c++){var e=d[c].split("|");if(/^\w+$/.test(e[0])&&/^\d+$/.test(e[1])&&/^\w+$/.test(e[3])&&/^\w+$/.test(e[4])&&/^\w+$/.test(e[5])&&/^[\d\.\-]+$/.test(e[6])&&/^[\d\.\-]+$/.test(e[7])){if(!restaurantsMarkerHash[d[c]]){restaurantsMarkerHash[d[c]]=createGoogleTypeMarker(new GLatLng(e[6],e[7]),e[0],e[1],e[2],e[3],e[4],e[5],e[8]);map.addOverlay(restaurantsMarkerHash[d[c]])}}}}}},error:function(){}})}else{for(var a in restaurantsMarkerHash){map.removeOverlay(restaurantsMarkerHash[a])}}if($("#campingsupplies").attr("checked")){$.ajax({type:"GET",url:"/cgi-bin/ajax/getcampingsupplies.pl?minLat="+b.getSouthWest().lat()+"&maxLat="+b.getNorthEast().lat()+"&minLong="+b.getSouthWest().lng()+"&maxLong="+b.getNorthEast().lng(),success:function(f){if(""==f||null==f){}else{var d=f.split("\n");if(d[0]){for(var c=0;c<d.length-1;c++){var e=d[c].split("|");if(/^\w+$/.test(e[0])&&/^\d+$/.test(e[1])&&/^\w+$/.test(e[3])&&/^\w+$/.test(e[4])&&/^\w+$/.test(e[5])&&/^[\d\.\-]+$/.test(e[6])&&/^[\d\.\-]+$/.test(e[7])){if(!campingsuppliesMarkerHash[d[c]]){campingsuppliesMarkerHash[d[c]]=createGoogleTypeMarker(new GLatLng(e[6],e[7]),e[0],e[1],e[2],e[3],e[4],e[5],e[8]);map.addOverlay(campingsuppliesMarkerHash[d[c]])}}}}}},error:function(){}})}else{for(var a in campingsuppliesMarkerHash){map.removeOverlay(campingsuppliesMarkerHash[a])}}if($("#wifi").attr("checked")){$.ajax({type:"GET",url:"/cgi-bin/ajax/getwifi.pl?minLat="+b.getSouthWest().lat()+"&maxLat="+b.getNorthEast().lat()+"&minLong="+b.getSouthWest().lng()+"&maxLong="+b.getNorthEast().lng(),success:function(f){if(""==f||null==f){}else{var d=f.split("\n");if(d[0]){for(var c=0;c<d.length-1;c++){var e=d[c].split("|");if(/^\w+$/.test(e[0])&&/^\d+$/.test(e[1])&&/^\w+$/.test(e[3])&&/^\w+$/.test(e[4])&&/^\w+$/.test(e[5])&&/^[\d\.\-]+$/.test(e[6])&&/^[\d\.\-]+$/.test(e[7])){if(!campingsuppliesMarkerHash[d[c]]){campingsuppliesMarkerHash[d[c]]=createGoogleTypeMarker(new GLatLng(e[6],e[7]),e[0],e[1],e[2],e[3],e[4],e[5],e[8]);map.addOverlay(campingsuppliesMarkerHash[d[c]])}}}}}},error:function(){}})}else{for(var a in campingsuppliesMarkerHash){map.removeOverlay(campingsuppliesMarkerHash[a])}}$("#progress").hide()};

