var routeMarker=null;var routeSegmentPolyline=null;var response_google;var routingEntryList={};var routingEntryListCounter=0;var directionsDisplay=new google.maps.DirectionsRenderer();var directionsService=new google.maps.DirectionsService();function setRoutePointFrom(C,A){var B=findMarkerOnMap(C,A);
contextmenu.style.visibility="hidden";route_from=markersOnMap[B];alert(B);jQuery("#from_point_desc").html('<font color="green">'+route_from.name+"</font>");jQuery("#find_route_results").empty();panelManagerLeft.showPanel("panel_find_route");if($("#from_point_desc").html()!=""&&$("#to_point_desc").html()!=""){$("#find_route").removeAttr("disabled")
}$("#panel_find_road1").css("display","none");$("#panel_find_intersection1").css("display","none")}function setRoutePointTo(C,A){var B=findMarkerOnMap(C,A);contextmenu.style.visibility="hidden";route_to=markersOnMap[B];jQuery("#to_point_desc").html('<font color="red">'+route_to.name+"</font>");jQuery("#find_route_results").empty();
panelManagerLeft.showPanel("panel_find_route");if($("#from_point_desc").html()!=""&&$("#to_point_desc").html()!=""){$("#find_route").removeAttr("disabled")}$("#panel_find_road1").css("display","none");$("#panel_find_intersection1").css("display","none")}function show_Routing(C,A){var B=routingEntryList[C].directions;
show(A,false,B,C)}function show_RoutingNGI(C,A){var B=routingEntryList[C];B.show(A,false)}function showRoutingPoint(C,A){var B=routingEntryList[C].directions.getRoute(0).getStep(A).getLatLng();if(!map.getBounds().contains(B)){map.panTo(B)}if(routeMarker==null){routeMarker=new google.maps.Marker({map:map,position:B,icon:iconRouteMark});
routeMarker.setMap(map)}else{routeMarker.setPoint(B)}routeMarker.hide();flashRouteOverlay(routeMarker,300,30)}function showRoutingSegment(F,A){var B=routingEntryList[F].directions.routes[0].legs[0];if(A==B.steps.length){return }var E=B.steps[A].path;if(routeSegmentPolyline!=null){routeSegmentPolyline.setMap(null)
}routeSegmentPolyline=new google.maps.Polyline({map:map,path:E,strokeColor:"#00ff00",strokeWeight:8,strokeOpacity:0.1});routeSegmentPolyline.setMap(map);var D=new google.maps.LatLngBounds();for(var C=0;C<E.length;C++){D.extend(E[C])}if(!map.getBounds().contains(D.getCenter())){map.panTo(D.getCenter())
}flashRouteOverlay(routeSegmentPolyline,300,30)}var flashRouteMarker_timer=null;var flashRouteMarker_ovl=null;function flashRouteOverlay(A,C,B){flashRouteMarker_ovl=A;flashRouteMarker(C,B)}function flashRouteMarker(C,B,A){if(A===undefined){if(flashRouteMarker_timer!=null){clearTimeout(flashRouteMarker_timer);
flashRouteMarker_timer=null}}if(B>0){if(flashRouteMarker_ovl.getMap()==null){flashRouteMarker_ovl.setMap(map)}else{flashRouteMarker_ovl.setMap(null)}flashRouteMarker_timer=setTimeout("flashRouteMarker("+C+","+(B-1)+",0);",C)}else{flashRouteMarker_ovl.setMap(null);flashRouteMarker_timer=null}}function show(N,Q,H,B){if(N===undefined){N=0
}if(Q===undefined){Q=true}if(Q){var O=map.getZoom(directionsDisplay.getMap().getBounds());if(O!=map.getZoom()){map.setZoom(O)}map.panTo(directionsDisplay.getMap().getBounds().getCenter())}var A=jQuery("#find_route_results");A.empty();var D=H.routes;var C=D.length;var K=false;if(C==1){var M=D[0].legs[0];
var G=D[0].legs[0].steps.length;if(G<=0){K=true}}else{K=true}if(K){A.append("<br />");P='<div align="center">Δεν βρέθηκαν αποτελέσματα</div>';A.append(P);A.append("<br />");return }var I=N+SEARCH_RESULTS_PER_PAGE;if(I>G){I=G}A.append("<br />");var F=getResultsPager_Routing(G,N,B);A.append(F);var P="<table>";
for(var J=N;J<I;J++){var E=M.steps[J];P+="<tr>";P+='<td valign="top">'+(J+1)+".</td>";P+="<td>";P+='<a href="javascript:showRoutingSegment('+B+","+J+')">';P+=E.instructions;P+="</a>";var L=E.distance;if(L.meters>0){P+=" ("+L.meters+"m)"}P+="</td>";P+="</tr>"}P+="</table>";A.append("<br />");A.append(P);
A.append("<br />")}function getResultsPager_Routing(E,A,F){var C=A+SEARCH_RESULTS_PER_PAGE;if(C>E){C=E}var B="";if((A>0)||(C<E)){B+='<table align="center" width="100%">';B+='<tr><td align="center">';if(A>0){var D=A-SEARCH_RESULTS_PER_PAGE;if(D<0){D=0}B+='<a href="javascript:show_Routing('+F+","+D+')">';
B+='<img src="images/velaki_aristera.png" style="border:0px;" title="Προηγούμενη σελίδα" alt="Προηγούμενη σελίδα" />';B+="</a>"}else{B+='<img src="images/velaki_aristera_gray.png" style="border:0px;" />'}B+='</td><td align="center" width="70%">';B+="<b>Βήματα:</b> "+(A+1)+"-"+C+"/"+E;B+='</td><td align="center">';
if(C<E){B+='<a href="javascript:show_Routing('+F+","+C+')">';B+='<img src="images/velaki_deksia.png" style="border:0px;" title="Επόμενη σελίδα" alt="Επόμενη σελίδα" />';B+="</a>"}else{B+='<img src="images/velaki_deksia_gray.png" style="border:0px;" />'}B+="</td></tr>";B+="</table>"}else{B+='<table align="center" width="100%">';
B+='<tr><td align="center">';B+="<b>Βήματα:</b> "+E;B+="</td></tr>";B+="</table>"}return B}function RoutingEntry(A,B){this.pointfrom=A;this.pointto=B;this.directions=null;this.pline=null;this.frommarker=null;this.tomarker=null;this.id=routingEntryListCounter++;routingEntryList[this.id]=this;this.hide=function(){};
this.remove=function(){jQuery("#find_route_results").empty();directionsDisplay.setMap(null)};this.show=function(C,D){show(C,D,this.directions,this.id)};this.getHtml=function(){var C="Από: ";C+=this.pointfrom.name;C+=" Προς: ";C+=this.pointto.name;return C};this.getText=function(){var C="<b>Από:</b> ";
C+=this.pointfrom.name;C+=" <b>Προς:</b> ";C+=this.pointto.name;return C};this.getType=function(){return ELTYPE_ROUTING};this.getIdent=function(){return this.intersident};this.equals=function(C){if(C.getType()==this.getType()){if((this.pointfrom==C.pointfrom)&&(this.pointto==C.pointto)){return true}}return false
};this.init=function(C,G){var H=new google.maps.LatLng(this.pointfrom.lat,this.pointfrom.lng);var E=new google.maps.LatLng(this.pointto.lat,this.pointto.lng);directionsDisplay.suppressMarkers=true;var F={origin:H,destination:E,optimizeWaypoints:true,travelMode:google.maps.DirectionsTravelMode.DRIVING};
var D=this.id;directionsService.route(F,function(L,M){if(M==google.maps.DirectionsStatus.OK){directionsDisplay.setDirections(L)}directionsDisplay.setMap(map);routingEntryList[D].directions=L;show(0,true,L,D);if(C){var J=L.routes;var I=J.length;var O=false;if(I==1){var Q=J[0].legs[0]}var R="<table>";R+='<tr><td colspan="2">&nbsp;</td></tr>';
R+='<tr><td colspan="2" align="left"><b>Οδηγίες Διαδρομής</td></tr>';R+="<table>";for(var N=1;N<Q.steps.length;N++){var K=Q.steps[N];R+="<tr>";R+='<td valign="top">'+(N+1)+".</td>";R+="<td>";R+='<a href="javascript:showRoutingSegment('+D+","+N+')">';R+=K.instructions;R+="</a>";var P=K.distance;if(P.meters>0){R+=" ("+P.meters+"m)"
}R+="</td>";R+="</tr>"}R+="</table>";$("#route_data_"+G).html(R)}});this.frommarker=new google.maps.Marker({map:map,position:H,icon:iconRouteFrom});this.tomarker=new google.maps.Marker({map:map,position:E,icon:iconRouteTo});this.frommarker.setMap(map);this.tomarker.setMap(map)};this.getAttributes=function(){return[]
};this.toJSONString=function(){var C={};C.type="routingGOOGLE";C.point_from={"lat":this.pointfrom.lat,"lng":this.pointfrom.lng,"name":this.pointfrom.name};C.point_to={"lat":this.pointto.lat,"lng":this.pointto.lng,"name":this.pointto.name};return toJSONString(C)}}RoutingEntry.prototype.fromJSONString=function(C,A,D){var B=new RoutingEntry(C.point_from,C.point_to);
B.init(A,D);return B};RoutingEntry.prototype.fromJSONString_old=function(D){if(D.pfdata){var C={"lat":D.pflatlng.lat,"lng":D.pflatlng.lng,"name":D.pfdata.comments}}else{var C={"lat":D.pflatlng.lat,"lng":D.pflatlng.lng,"name":D.pfresponse.foundAs}}if(D.ptdata){var A={"lat":D.ptlatlng.lat,"lng":D.ptlatlng.lng,"name":D.ptdata.comments}
}else{var A={"lat":D.ptlatlng.lat,"lng":D.ptlatlng.lng,"name":D.ptresponse.foundAs}}var B=new RoutingEntry(C,A);B.init();return B};
