
dojo.config.usePlainJson=true;dojo.require("dojo.cookie");if(!window.czen)window.czen={};if(!czen.gMap){czen.gMap=(function(){return{init:function(props){this.props=props||window.gMapProps;if(!this.props)throw new Error('No gMap props available');this.centerLat=this.props.centerLat||null;this.centerLong=this.props.centerLong||null;this.centerZIP=this.props.centerZIP||'';if(!this.centerLat||!this.centerLong||!this.centerZIP)throw new Error('Missing required map location properties');this.defaultServiceId=this.props.defaultServiceId||'CHILDCARE';this.zoomLevel=this.props.zoomLevel||13;if(this.props.jsonResponse){this.dataMeta=this.props.jsonResponse[0];this.data=[];for(var i=1,j=this.props.jsonResponse.length;i<j;i++){this.data.push(this.props.jsonResponse[i]);}}else{this.data=null;this.dataMeta=null;};this.inMyTown=this.props.inMyTown||false;this.useMapContext=this.props.useMapContext||false;this.mapContext={};this.isSeekerLoggedIn=this.props.isSeekerLoggedIn||false;this.showHouse=this.props.showHouse||false
this.cookiedProvider=null;this.markers=[];this.clickedProviderNumber=-1;this.photoWrapperBegin='<div class="imageContainer"><table cellpadding="0" cellspacing="0" border="0" frame="void"><tr><td class="image"><div class="border">';this.photoWrapperEnd='</div></td><td class="right"><img src="/img/sright-t.gif?v=1" alt=""/></td></tr><tr><td class="bottom"><img src="/img/sbottom-t.gif?v=1" alt="" /></td><td class="corner"></td></tr></table></div>';if(!window.google)throw new Error('google jsapi not loaded');if(!google.maps)throw new Error('maps wasn\'t loaded');this.loadMap();},loadMap:function(){if(!document.getElementById('map')||!GBrowserIsCompatible())throw new Error('No element with id \'map\' on the page or your browser is not compatible');this.map=new google.maps.Map2(document.getElementById('map'));this.map.addControl(new GSmallMapControl());this.map.addControl(new GScaleControl());var mt=this.map.getMapTypes();for(var i=0;i<mt.length;i++){mt[i].getMinimumResolution=function(){return 9;}
mt[i].getMaximumResolution=function(){return 13;}}
GEvent.addListener(this.map,"infowindowclose",dojo.hitch(this,this.onHideInfoWindow));GEvent.addListener(this.map,"infowindowopen",dojo.hitch(this,this.onShowInfoWindow));GEvent.addListener(this.map,"moveend",dojo.hitch(this,this.onMoveMap));dojo.connect(window,'onunload',function(){GUnload()})
if(this.showHouse){this.houseCenterLat=this.centerLat;this.houseCenterLong=this.centerLong;};if(!this.inMyTown)this.configureMap();},configureMap:function(){this.map.setCenter(new GLatLng(this.centerLat,this.centerLong),this.zoomLevel);if(this.showHouse){this.markHouse();}
if(this.data){this.populateMap();if(this.useMapContext){this.loadCookie();if(this.mapContext.available)this.map.setCenter(new GLatLng(this.centerLat,this.centerLong),this.zoomLevel);if(this.cookiedProvider&&this.cookiedProvider>=1)this.showInfoWindow(this.cookiedProvider);}else{this.showFeaturedOrFirst();}}},loadCookie:function(){this.cookie=dojo.fromJson(dojo.cookie("mapContext"));try{this.cookie.providerNumber&&this.cookie.providerId}
catch(err){this.mapContext.available=false;return;};if(this.cookie.providerNumber>0&&this.markers[this.cookie.providerNumber-1]&&this.cookie.providerId==this.markers[this.cookie.providerNumber-1].providerId){this.mapContext.available=true;this.cookiedProvider=this.cookie.providerNumber;this.centerLat=this.cookie.centerLat;this.centerLong=this.cookie.centerLong;this.zoomLevel=this.cookie.zoomLevel;}else{this.mapContext.available=false;};this.useMapContext=false;},saveCookie:function(clearProvider){if(!this.markers.length)return;this.cookie={zoomLevel:this.zoomLevel||9,centerLat:this.centerLat||null,centerLong:this.centerLong||null,providerNumber:this.clickedProviderNumber,providerId:(this.clickedProviderNumber>=1)?this.markers[this.clickedProviderNumber-1].providerId:-1};if(clearProvider){this.clickedProviderNumber=-1
this.cookie.providerNumber=-1;this.cookie.providerId=-1;}
dojo.cookie("mapContext",dojo.toJson(this.cookie));},markHouse:function(){var icon=new GIcon();icon.image="/img/mapIcons/house.gif?v=1";icon.iconSize=new GSize(18,18);icon.iconAnchor=new GPoint(0,0);var point=new GLatLng(this.houseCenterLat,this.houseCenterLong);this.map.addOverlay(new GMarker(point,icon));},markOnMap:function(providerNumber,index,serviceId,myNeighborHood){var icon=new GIcon();if(providerNumber<=1000){icon.image="/img/mapIcons/"+providerNumber+".png";}else{icon.image="/img/mapIcons/1000plus.png";}
icon.shadow="/img/mapIcons/shadow.png";icon.iconSize=new GSize(26,35);icon.shadowSize=new GSize(44,35);icon.iconAnchor=new GPoint(13,35);icon.infoWindowAnchor=new GPoint(12,1);var point=new GLatLng(this.data[index].lat,this.data[index].longitude);var v_marker=new GMarker(point,{icon:icon});var photoSrc="/img/photo_placeholder.gif?v=1";if(this.data[index].isCompany=="true"&&this.data[index].hasPhoto=="false"){photoSrc=this.data[index].photoSrc;}else if(this.data[index].hasPhoto=="true"){photoSrc="/visitor/displayPhoto.do?photoId="+this.data[index].photoId+"&dimension=80X60&sc="
+encodeURIComponent(this.data[index].securityCode);}
var profileLink="/visitor/browseSitterProfile.do?";var messageLinkURL="/seeker/sitterContact.do?";if(myNeighborHood==true){profileLink+="comeFrom=localPage&";messageLinkURL+="comeFrom=localPage&";}
profileLink+="sitterId="+this.data[index].id+"&serviceId="+serviceId+"&rowNumber="+providerNumber+"&serviceProfileId="+this.data[index].serviceProfileId;messageLinkURL+="sitterId="+this.data[index].id+"&serviceId="+serviceId+"&recipientId="+this.data[index].id+"&sc="+encodeURIComponent(this.data[index].securityCode)+"&tabId=contactDetails&rowNumber="+providerNumber+"&serviceProfileId="+this.data[index].serviceProfileId;var videoLink=profileLink+"&tabId=videos";var referenceLink=profileLink+"&tabId=references";var backgroundCheckLink=profileLink+"&tabId=backgroundCheck";var videoImageLink="<img src='/img/icons/icon_video_small.gif?v=1' alt='' title='Video interview on file' />";var referenceImageLink="<img src='/img/icons/ma_references.gif?v=1' alt='' title='References on file' />";var backgroundCheckImageLink="<img src='/img/icons/ma_bg.gif?v=1' alt='' title='Background check on file' />";var shortNoticeImageLink="<img src='/img/icons/icon_careOnCall_small.gif?v=1' alt='' title='Available on Short Notice' />";var iconLinks="";if(this.data[index].hasPlayableVideo=="true"&&this.isSeekerLoggedIn==true){iconLinks+="<a href='"+videoLink+"'>"+videoImageLink+"</a>";}else if(this.data[index].hasPlayableVideo=="true"&&this.isSeekerLoggedIn==false){iconLinks+=videoImageLink;}
if(this.data[index].hasActiveReference=="true"&&this.isSeekerLoggedIn==true){iconLinks+="<a href='"+referenceLink+"'>"+referenceImageLink+"</a>";}else if(this.data[index].hasActiveReference=="true"&&this.isSeekerLoggedIn==false){iconLinks+=referenceImageLink;}
if(this.data[index].hasValidBackgroundCheck=="true"&&this.isSeekerLoggedIn==true){iconLinks+="<a href='"+backgroundCheckLink+"'>"+backgroundCheckImageLink+"</a>";}else if(this.data[index].hasValidBackgroundCheck=="true"&&this.isSeekerLoggedIn==false){iconLinks+=backgroundCheckImageLink;}
if(this.data[index].isAvailableOnShortNotice=="true"){iconLinks+="<a href='"+profileLink+"'>"+shortNoticeImageLink+"</a>";}
var functionLinks="";if(this.isSeekerLoggedIn==true){functionLinks+=" | <a href='"+messageLinkURL+"'>Send a Message</a>"}
var serviceColor=getServiceColor(serviceId);var isFeatured=this.data[index].isFeatured;var isFullListingCompany=this.data[index].isFullListingCompany;if(isFeatured=='true'||isFullListingCompany=='true'){var feat="<span class=\"loud "+serviceColor+"\">FEATURED!</span><br />"}
else var feat="";var v_infoWindowHTML=feat+"<b>"+providerNumber+". "+this.data[index].completeName+" from "
+this.data[index].city+", "+this.data[index].state+"</b>"
+"<p><table class='infoWindow' border='0' cellspacing='0' cellpadding='0' width='285px' height='125px'><tr><td valign='top'>"
+this.photoWrapperBegin+"<a href='"+profileLink+"'><img src='"+photoSrc+"'/></a>"
+this.photoWrapperEnd+"</td><td valign='top' rowspan='2'>"
+this.data[index].experienceSummary
+"</td><tr><td class='icons' colspan='2'>"
+iconLinks
+"</td></tr></tr><tr><td colspan='2' style='text-align:center; padding-top:5px; white-space:nowrap;'>"
+"<a href='"+profileLink+"' style='position:relative;'>View Profile</a>"
+functionLinks
+"</td></tr></table></p>";this.markers[providerNumber-1]={marker:v_marker,infoWindowHTML:v_infoWindowHTML,providerId:this.data[index].id};GEvent.addListener(v_marker,"click",dojo.hitch(this,function(){this.showInfoWindow(providerNumber)}));if(this.inMyTown){GEvent.addListener(v_marker,"infowindowopen",function(){czen.myTown.setSelectedProvider(index,false)});GEvent.addListener(v_marker,"infowindowclose",function(){czen.myTown.unSetSelectedProvider(index)});};this.map.addOverlay(v_marker);},showInfoWindow:function(providerNumber){if(!this.markers.length)return;this.markers[providerNumber-1].marker.openInfoWindowHtml(this.markers[providerNumber-1].infoWindowHTML);this.clickedProviderNumber=providerNumber;},clearMap:function(){if(!this.markers||!this.markers.length)return;this.map.clearOverlays();if(this.showHouse){this.markHouse();};this.markers=[];},onShowInfoWindow:function(){if(!this.useMapContext){this.saveCookie();}},onHideInfoWindow:function(){if(!this.useMapContext){this.saveCookie(true);}},onMoveMap:function(){if(!this.useMapContext){var center=this.map.getCenter();this.centerLat=center.lat();this.centerLong=center.lng();this.zoomLevel=this.map.getZoom();this.saveCookie();}},populateMap:function(response,serviceId){if(!this.data&&!response)throw new Error('Can\'t populate the map, no data.');if(response){this.dataMeta=response[0];this.data=[];for(var i=1,j=response.length;i<j;i++){this.data.push(response[i]);}}
var serviceId=serviceId||this.defaultServiceId;for(var i=0,j=this.data.length;i<j;i++){var providerNumber=this.dataMeta.rowStartNumber+i;this.markOnMap(providerNumber,i,serviceId,this.inMyTown);}
if(!this.useMapContext)this.map.panTo(new GLatLng(this.centerLat,this.centerLong));},showFeaturedOrFirst:function(){if((this.markers&&this.markers.length)&&(this.data&&this.data.length)&&!this.useMapContext){for(var i=0,j=this.data.length;i<j;i++){if(this.data[i].isFeatured=='true'){this.showInfoWindow(this.dataMeta.rowStartNumber+i);return;}
this.showInfoWindow(this.dataMeta.rowStartNumber);};}}};})()};if(window.google)google.load('maps','2.150');function getServiceColor(serviceId){var serviceColor="";switch(serviceId){case'CHILDCARE':serviceColor="orange"
break;case'TUTORINGX':serviceColor="purple"
break;case'SENIRCARE':serviceColor="blue"
break;case'PETCAREXX':serviceColor="green"
break;case'HOUSEKEEP':serviceColor="mulberry"
break;case'CAREGIGSX':serviceColor="turquoise"
break;case'SPCLNEEDS':serviceColor="mint"
break;default:break;}
return serviceColor;}