var route_from=null;var route_to=null;var routeMarker=null;var routeSegmentPolyline=null;var routingEntryList={};var routingEntryListCounter=0;function setRoutePointFrom(C,A){var B=findMarkerOnMap(C,A);contextmenu.style.visibility="hidden";route_from=markersOnMap[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];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 GMarker(B,iconRouteMark);map.addOverlay(routeMarker)}else{routeMarker.setPoint(B)}routeMarker.hide();flashRouteOverlay(routeMarker,300,30)}function showRoutingSegment(B,G){var F=routingEntryList[B].directions.getRoute(0);if(G==F.getNumSteps()-1){return }var H=F.getStep(G).getPolylineIndex();
var D=F.getStep(G+1).getPolylineIndex();var A=[];for(var C=H;C<=D;C++){var I=routingEntryList[B].pline.getVertex(C);A.push(I)}if(routeSegmentPolyline!=null){map.removeOverlay(routeSegmentPolyline)}routeSegmentPolyline=new GPolyline(A,"#00ff00",12);map.addOverlay(routeSegmentPolyline);var E=routeSegmentPolyline.getBounds();
if(!map.getBounds().containsBounds(E)){map.panTo(E.getCenter())}routeSegmentPolyline.hide();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.isHidden()){flashRouteMarker_ovl.show()}else{flashRouteMarker_ovl.hide()}flashRouteMarker_timer=setTimeout("flashRouteMarker("+C+","+(B-1)+",0);",C)}else{flashRouteMarker_ovl.hide();flashRouteMarker_timer=null}}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.getResultsPager_Routing=function(G,C){var E=C+SEARCH_RESULTS_PER_PAGE;if(E>G){E=G}var D="";if((C>0)||(E<G)){D+='<table align="center" width="100%">';
D+='<tr><td align="center">';if(C>0){var F=C-SEARCH_RESULTS_PER_PAGE;if(F<0){F=0}D+='<a href="javascript:show_Routing('+this.id+","+F+')">';D+='<img src="images/velaki_aristera.png" style="border:0px;" title="Προηγούμενη σελίδα" alt="Προηγούμενη σελίδα" />';D+="</a>"}else{D+='<img src="images/velaki_aristera_gray.png" style="border:0px;" />'
}D+='</td><td align="center" width="70%">';D+="<b>Βήματα:</b> "+(C+1)+"-"+E+"/"+G;D+='</td><td align="center">';if(E<G){D+='<a href="javascript:show_Routing('+this.id+","+E+')">';D+='<img src="images/velaki_deksia.png" style="border:0px;" title="Επόμενη σελίδα" alt="Επόμενη σελίδα" />';D+="</a>"}else{D+='<img src="images/velaki_deksia_gray.png" style="border:0px;" />'
}D+="</td></tr>";D+="</table>"}else{D+='<table align="center" width="100%">';D+='<tr><td align="center">';D+="<b>Βήματα:</b> "+G;D+="</td></tr>";D+="</table>"}return D};this.show=function(M,P){if(M===undefined){M=0}if(P===undefined){P=true}if(P){var N=map.getBoundsZoomLevel(this.directions.getBounds());
if(N!=map.getZoom()){map.setZoom(N)}map.panTo(this.directions.getBounds().getCenter())}var C=jQuery("#find_route_results");C.empty();var D=this.directions.getNumRoutes();var J=false;if(D==1){var L=this.directions.getRoute(0);var G=L.getNumSteps();if(G<=0){J=true}}else{J=true}if(J){C.append("<br />");
O='<div align="center">Δεν βρέθηκαν αποτελέσματα</div>';C.append(O);C.append("<br />");return }var H=M+SEARCH_RESULTS_PER_PAGE;if(H>G){H=G}C.append("<br />");var F=this.getResultsPager_Routing(G,M);C.append(F);var O="<table>";for(var I=M;I<H;I++){var E=L.getStep(I);O+="<tr>";O+='<td valign="top">'+(I+1)+".</td>";
O+="<td>";O+='<a href="javascript:showRoutingSegment('+this.id+","+I+')">';O+=E.getDescriptionHtml();O+="</a>";var K=E.getDistance();if(K.meters>0){O+=" ("+K.meters+"m)"}O+="</td>";O+="</tr>"}O+="</table>";C.append("<br />");C.append(O);C.append("<br />")};this.remove=function(){jQuery("#find_route_results").empty();
map.removeOverlay(this.frommarker);map.removeOverlay(this.tomarker);map.removeOverlay(this.pline)};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.getText()==C.getText()){return true}}return false};this.init=function(C,E){var F=new GLatLng(this.pointfrom.lat,this.pointfrom.lng);
var D=new GLatLng(this.pointto.lat,this.pointto.lng);this.directions=new GDirections();this.directions.loadFromWaypoints([F,D],{"locale":"el_GR","getSteps":true,"getPolyline":true,"travelMode":"G_TRAVEL_MODE_WALKING"});GEvent.bind(this.directions,"load",this,function(){this.pline=this.directions.getPolyline();
this.frommarker=new GMarker(F,iconRouteFrom);this.tomarker=new GMarker(D,iconRouteTo);if(C){var K=this.directions.getNumRoutes();var G=false;if(K==1){var H=this.directions.getRoute(0)}var I="<table>";I+='<tr><td colspan="2">&nbsp;</td></tr>';I+='<tr><td colspan="2" align="left"><b>Οδηγίες Διαδρομής</td></tr>';
I+="<table>";for(var J=1;J<H.getNumSteps();J++){var L=H.getStep(J);I+="<tr>";I+='<td valign="top">'+(J+1)+".</td>";I+="<td>";I+='<a href="javascript:showRoutingSegment('+this.id+","+J+')">';I+=L.getDescriptionHtml();I+="</a>";var M=L.getDistance();if(M.meters>0){I+=" ("+M.meters+"m)"}I+="</td>";I+="</tr>"
}I+="</table>";$("#route_data_"+E).html(I)}map.addOverlay(this.pline);map.addOverlay(this.frommarker);map.addOverlay(this.tomarker);this.show(0,true)})};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};