function Locator(D,J,G,L,F,C,M,E,P,A,O,B,K,I,N,H){this.baseURL=D;this.phpDir=J;this.name=G;this.areaName=L;this.businessType=C;this.businessXmlTag=M;this.map=A;this.app=E;this.dbTable=P;this.areaCenter=O;this.zoomLevel=A.getZoom();this.boards=B;this.columnIds=K;this.maxEntriesCol=I;if(N==null){this.lng="eng"}else{this.lng=N.toLowerCase()}this.cashe=new Cashe(this,4,K,I,this.lng);if(H==null){H="/photos"}initMarker(A,H);this.businessClass=F}Locator.prototype.select=LocatorSelect;Locator.prototype.search=LocatorSearch;Locator.prototype.show=LocatorShow;Locator.prototype.hide=LocatorHide;Locator.prototype.showWithWeb=LocatorShowWithWeb;Locator.prototype.hideWithWeb=LocatorHideWithWeb;Locator.prototype.neighbors=LocatorNeighbors;Locator.prototype.showHere=LocatorShowHere;Locator.prototype.locateNeighbors=LocatorLocateNeighbors;Locator.prototype.adjustView=LocatorAdjustView;function LocatorSelect(){var A=this.baseURL+this.phpDir+"/search.php?action=browse&app="+this.app+"&root="+this.businessXmlTag+"s&tag="+this.businessXmlTag;this.cashe.request(A)}function LocatorSearch(B,C){var A=this.baseURL+this.phpDir+"/search.php?action="+B+"&app="+this.app+"&"+C+"&root="+this.businessXmlTag+"s&tag="+this.businessXmlTag;this.cashe.request(A)}function showArea(B,A){for(i in A){A[i].show(B)}}function LocatorShowWithWeb(){var A=new Array();for(i in this.cashe.curFrame){if(this.cashe.curFrame[i].site!=null){this.cashe.curFrame[i].show();A.push(this.cashe.curFrame[i])}}this.adjustView(A)}function LocatorHideWithWeb(){for(i in this.cashe.curFrame){if(this.cashe.curFrame[i].site!=null){this.cashe.curFrame[i].hide()}}}function LocatorHide(){for(var A in this.cashe.curFrame){this.cashe.curFrame[A].hide()}}function goToArea(B,A){B.panTo(A)}function LocatorShow(){this.adjustView(this.cashe.curFrame);showArea(this.map,this.cashe.curFrame)}function LocatorNeighbors(A,E){var C=new Array();for(var B in this.business){var D=this.business[B].position.distanceFrom(A)/1000;if(D<=E){C.push(this.business[B])}}return C}function LocatorShowHere(A){if(hereMarker!=null){this.map.removeOverlay(hereMarker)}hereMarker=new GMarker(A,{icon:hereIcon});this.map.addOverlay(hereMarker);this.map.setCenter(A);if(this.lng=="fr"){this.map.openInfoWindowHtml(A,'<div style="color:#FF1904;font-weight:bold;font-size:18px;"> Vous &#234;tes ici!</div><br/>')}else{this.map.openInfoWindowHtml(A,'<div style="color:#FF1904;font-weight:bold;font-size:18px;"> You are here!</div><br/>')}}function LocatorLocateNeighbors(B,D){var A=this;var C=new GClientGeocoder();C.getLatLng(B,function(E){if(!E){if(A.lng=="eng"){document.getElementById("locate_status").innerHTML='<div style="color:red;">Google Could not locate your address, don\'t forget to specify the <strong>city</strong>.</div>'}else{if(A.lng=="fr"){document.getElementById("locate_status").innerHTML="<div style=\"color:red;\">Google n'a pas r&#233;ussi &#224; localiser cette adresse...N'oubliez pas de pr&#233;ciser la <strong>ville</strong>.</div>"}}}else{var F=A.neighbors(E,D);A.hide();A.showNeighbors(B,E,F)}})}function LocatorAdjustView(B){if(B.length<=1){return }var C=B[0].position.lat();var E=B[0].position.lng();var F=B[0].position.lat();var I=B[0].position.lng();for(var G in B){if(B[G].position.lat()<C){C=B[G].position.lat()}if(B[G].position.lat()>F){F=B[G].position.lat()}if(B[G].position.lng()<E){E=B[G].position.lng()}if(B[G].position.lng()>I){I=B[G].position.lng()}}var J=new GLatLng(C,E);var D=new GLatLng(F,I);var H=new GLatLngBounds(J,D);var A=new GLatLng((J.lat()+D.lat())/2,(J.lng()+D.lng())/2);var K=this.map.getBoundsZoomLevel(H);this.map.setCenter(A,K)}
