OSM=window.OSM||{};OSM.DataModel=function(){this.points_names=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];this.travel_modes={DRIVING:"car",WALKING:"foot",CYCLING:"bicycle"};this.projections={CM:new OpenLayers.Projection("EPSG:4326"),OSM:new OpenLayers.Projection("EPSG:900913")};this.routing_options={units:"km",language:"en"};this.output_panel=$("#output_panel")[0];this.NO_RESPONSE_TEXT="We couldn't find what you were looking for, why not ";this.polyline_style={strokeColor:"#762DA5",strokeOpacity:0.8,strokeWidth:5,pointRadius:6,pointerEvents:"visiblePainted"};this.host="http://routes.cloudmade.com";this.key="f6d67db6ccda5d199fe9b498a9291f3f"};OSM.DataModel.prototype={getPointName:function(a){return this.points_names[a]},getTravelMode:function(a){return this.travel_modes[a]},getCMProjection:function(){return this.projections.CM},getOSMProjection:function(){return this.projections.OSM},getPanel:function(){return this.output_panel},getRoutingOption:function(a){return this.routing_options[a]},getNoResponseText:function(){return this.NO_RESPONSE_TEXT},getPolylineStyle:function(){return this.polyline_style},getHost:function(){return this.host},getKey:function(){return this.key}};OSM.Utils=function(){};OSM.Utils.prototype={translate:function(a){var b=["Mergeți spre sud pe","Mergeți spre nord pe","Mergeți spre vest pe","Mergeți spre est pe","Mergeți spre sud-est pe","Mergeți spre nord-est pe","Mergeți spre sud-vest pe","Mergeți spre nord-vest pe","Continuați pe","Continuați","Virați la dreapta pe","Virați strâns la dreapta pe","Virați ușor la dreapta pe","Virați la dreapta","Virați strâns la dreapta","Virați ușor la dreapta","Virați la stânga pe","Virați strâns la stânga pe","Virați ușor la stânga pe","Virați la stânga","Virați strâns la stânga","Virați ușor la stânga","Intrați în sensul giratoriu, și părăsiți-l la","ieșire","prima","a doua","a treia","a patra","a cincea","a șasea","a șaptea","a opta","a noua"," pe ","Întoarcere la 180 de grade"];var e=["Head south on","Head north on","Head west on","Head east on","Head southeast on","Head northeast on","Head southwest on","Head northwest on","Continue on","Continue","Turn right at","Sharp right at","Slight right at","Turn right","Sharp right","Slight right","Turn left at","Sharp left at","Slight left at","Turn left","Sharp left","Slight left","At the roundabout, take the","exit","1st","2nd","3rd","4th","5th","6th","7th","8th","9th"," onto ","Make a U-turn"];var d=a;for(var c=0;c<e.length;c++){d=d.replace(e[c],b[c])}return d},loadScript:function(b,d,c){var a=document.createElement("script");a.type="text/javascript";a.src=b;if(d){a.onload=a.onreadystatechange=function(){if(a.readyState&&a.readyState!="loaded"&&a.readyState!="complete"){return}a.onload=a.onreadystatechange=null;d.call(c)}}document.getElementsByTagName("head")[0].appendChild(a)},getJson:function(b,e,a,d,c){if(c){this.loadScript(b,function(){e.call(d,window[a])})}else{window[a]=function(f){e.call(d,f)};this.loadScript(b)}},transformLatLngToCM:function(a){var b=a.clone().transform(directionsData.getOSMProjection(),directionsData.getCMProjection());return b},transformLatLngToOSM:function(a){var b=a.transform(directionsData.getCMProjection(),directionsData.getOSMProjection());return b},convertUnits:function(a){var c,e;switch(directionsData.getRoutingOption("units")){case"km":e=1000;c=["m","km"];break;case"miles":e=5280;c=["ft",phrases[directionsData.getRoutingOption("language")].mile];a=a*3.24;break}var d;var b;if(a>=e/10&&a<e*100){d=/^.+\..{0,1}/.exec((parseInt(a)/e).toString());b=" "+c[1]}else{if(a<e/10){d=Math.round(a);b=" "+c[0]}else{d=Math.round(parseInt(a)/e);b=" "+c[1]}}return{distance:d,points:b}},convertTime:function(c){var b;var a;if(c<60){b=parseInt(c);a=" s"}else{if(c>=60&&c<3600){b=Math.round(parseInt(c)/60);a=" m"}else{b=Math.round(parseInt(c)/3600);a=" h"}}return{duration:b,points:a}},extend:function(a,c){for(var b in c){if(c.hasOwnProperty(b)){a[b]=c[b]}}return a}};OSM.FieldsManager=function(a){this.coordinates_array=[];this.locations_array=[];this.target=document.getElementById(a);this.resetCoordFields()};OSM.FieldsManager.prototype={resetCoordFields:function(){this.coord_fields=$(this.target).find("input.point_description");for(var a=0;a<this.getCoordFieldsNum();a++){this.setCoords(this.getCoordField(a).value,a)}},setDescr:function(b,a){this.locations_array[a]=b},getDescr:function(a){return this.locations_array[a]},setCoords:function(b,a){if(b&&b.match(/\d+(\.\d+)/g)&&b.match(/\d+(\.\d+)/g).length==2){this.coordinates_array[a]=b}},getCoords:function(a){return this.coordinates_array[a]},removePoint:function(a){if(this.coordinates_array&&this.locations_array[a]){this.coordinates_array.splice(a,1)}if(this.locations_array&&this.locations_array[a]){this.locations_array.splice(a,1)}},showCoords:function(a){this.getCoordField(a).value=this.getCoords(a)},getCoordsNum:function(){return this.coordinates_array.length},showDescr:function(a){this.getCoordField(a).value=this.getDescr(a)},getCoordField:function(a){return this.coord_fields[a]},getCoordFieldsNum:function(){return this.coord_fields.length},clearFields:function(){for(var a=0;a<this.getCoordFieldsNum();a++){this.getCoordField(a).value=""}},addNewLocation:function(e){this.resetCoordFields();var c=document.createElement("li");var d=document.createElement("a");d.className="label";d.href="#";d.innerHTML=directionsData.getPointName(e);this.lonlat_field=document.createElement("input");this.lonlat_field.className="point_description";this.lonlat_field.type="text";$(this.lonlat_field).bind("keyup",getCoordinatesNew);var f=document.createElement("div");f.className="loader hidden";var b=document.createElement("img");b.src="/images/directions/indicator2.gif";f.appendChild(b);var h=document.createElement("a");h.href="#";h.className="set_point";var a=document.createElement("a");a.href="#";a.className="replace_points";var g=document.createElement("a");g.href="#";g.className="remove_point";c.appendChild(d);c.appendChild(this.lonlat_field);c.appendChild(f);c.appendChild(h);c.appendChild(a);c.appendChild(g);this.target.insertBefore(c,$("#add_destination")[0].parentNode);this.resetCoordFields();return c},getSearchSelect:function(a){this.resetCoordFields();if(this.hasSearchSelect(a)){return this.search_results_selects[a]}if(!this.search_results_selects){this.search_results_selects=[]}this.search_results_selects[a]=document.createElement("select");$(this.search_results_selects[a]).addClass("waypoint_search_results hidden");this.getCoordField(a).parentNode.insertBefore(this.search_results_selects[a],this.getCoordField(a));return this.search_results_selects[a]},hasSearchSelect:function(a){if(this.search_results_selects&&this.search_results_selects[a]){return true}},destroySearchSelect:function(a){if(this.search_results_selects[a]){this.search_results_selects[a].parentNode.removeChild(this.search_results_selects[a]);if(this.getDescr(a)){this.showDescr(a)}else{if(this.getCoords(a)){this.showCoords(a)}}$(this.getCoordField(a)).removeClass("hidden");this.search_results_selects[a]=undefined}}};OSM.DirectionsManager=function(){var b=this;if(!this.fieldsManager){this.fieldsManager=new OSM.FieldsManager("inputs_list")}this.fieldsManager.resetCoordFields();this.fieldsManager.clearFields();if(!this.permalink_control){this.permalink_control=new OSM.permalinkControl("permalinkanchor")}this.permalink_control.init(this);parseUrl=function(){b.parseUrl()};var a=setTimeout("parseUrl()",2000);this.travel_mode=directionsData.getTravelMode("DRIVING");this.setListeners();this.activateFieldsControls()};OSM.DirectionsManager.prototype={setListeners:function(){var a=this;$("#add_destination").bind("click",this.addRouteStep);$("#transport_switcher a").each(function(){var b=this;var c=function(d){if($("#by_car").parent().hasClass("active")){a.saved_travel_preference=$("#preferences")[0].selectedIndex}$("#transport_switcher a").each(function(){$(this).parent().removeClass("active")});$(b).parent().addClass("active");switch(b.id){case"by_car":$("#preferences")[0].disabled="";if(a.saved_travel_preference){$("#preferences")[0].selectedIndex=a.saved_travel_preference}a.travel_mode=directionsData.getTravelMode("DRIVING");break;case"by_walking":$("#preferences")[0].selectedIndex=0;$("#preferences")[0].disabled="disabled";a.travel_mode=directionsData.getTravelMode("WALKING");break;case"by_cycling":$("#preferences")[0].selectedIndex=0;$("#preferences")[0].disabled="disabled";a.travel_mode=directionsData.getTravelMode("CYCLING");break}a.reloadFields()};$(this).bind("click",function(d){c(d)});$(this).bind("keypress",function(e){var d=e||window.event;if(d.keyCode==13){c(d)}})});$("#clear_route").bind("click",function(){$("#clear_route").addClass("unvisible");$("#start_text").removeClass("hidden");a.fieldsManager.clearFields();a._removePolyline();a.reloadFields();a.hideIndicator();a._resetSetter()});$("#preferences").bind("change",function(){a.travel_mode=directionsData.getTravelMode("DRIVING");if($("#preferences")[0].selectedIndex==1){a.travel_mode=directionsData.getTravelMode("DRIVING")+"/shortest"}a.reloadFields()});$("#map").bind("contextmenu",function(b){if(b.target.id!="permalinkanchor"){b.preventDefault();if(!a.context_menu){a.context_menu=new OSM.ContextMenu({obj:a})}if(a.dragging_on!=true){a.context_menu.show(b)}else{a.refreshMarkerCoordinates()}}});$("#close_routing").bind("click",function(){$("#directions").addClass("hidden");handleResize()})},activateFieldsControls:function(){var e=this;var d=$("#inputs_list").find("a.remove_point");var b=$("#inputs_list").find("a.replace_points");var c=$("#inputs_list").find("a.set_point");(function(){for(var f=0;f<b.length;f++){if(f==0){$(b[f]).addClass("unvisible")}else{$(b[f]).removeClass("unvisible")}}})();for(var a=0;a<c.length;a++){(function(){var f=a;var g=function(){e.field=e.fieldsManager.getCoordField(f);$("#map_OpenLayers_ViewPort").css({cursor:"crosshair"});$(c[f]).addClass("set_point_active");var h=function(k){var j=f;if(e.fieldsManager.hasSearchSelect(j)){e.fieldsManager.destroySearchSelect(j);$(e.fieldsManager.getCoordField(j)).removeClass("hidden");deleteSearchResultsNew()}e.fieldsManager.setDescr("",j);e.getCoords(k);$("#map").unbind("click",h)};$("#map").bind("click",h)};c[f].onclick=function(){if(!$(c[f]).hasClass("set_point_active")){e._resetSetter();$(c[f]).addClass("set_point_active");g()}else{e._resetSetter()}}})()}for(var a=0;a<b.length;a++){(function(){var f=a;b[f].onclick=function(){b.each(function(){$(this).addClass("unvisible")});var n=e.fieldsManager.getCoordField(f);var l=e.fieldsManager.getCoords(f);var m=e.fieldsManager.getDescr(f);var k=e.fieldsManager.getCoordField(f-1);var g=k.parentNode;var h=e.fieldsManager.getCoords(f-1);var j=e.fieldsManager.getDescr(f-1);n.parentNode.insertBefore(k,n);g.insertBefore(n,g.getElementsByTagName("a")[1]);e.fieldsManager.setCoords(l,f-1);e.fieldsManager.setDescr(m,f-1);e.fieldsManager.setCoords(h,f);e.fieldsManager.setDescr(j,f);e.reloadFields()}})()}for(var a=0;a<d.length;a++){(function(){var f=a;if(d.length>2){$(d[f]).removeClass("unvisible")}else{$(d[f]).addClass("unvisible")}d[f].onclick=function(){if(d.length>2){e.destroyWaypoint(f);e.reloadFields()}}})()}this.reloadIndexes()},reloadIndexes:function(){var a=$("#inputs_list").find("input.point_description");for(var b=0;b<a.length;b++){$(a[b]).data("idx",b)}},parseFieldSearchResult:function(c,d){var g=this;g.fieldsManager.getCoordField(d).addClass("hidden");var b=g.fieldsManager.getSearchSelect(d);b.removeClass("hidden");var a=document.createElement("option");a.innerHTML="Select result";b.appendChild(a);for(var e=0;e<c.features.length;e++){var f=document.createElement("option");f.innerHTML=c.features[e].properties.name;b.appendChild(f)}$(b).bind("change",function(){if(b.selectedIndex>0){var h=c.features[b.selectedIndex-1].centroid.coordinates[0]+" "+c.features[b.selectedIndex-1].centroid.coordinates[1];var j=c.features[b.selectedIndex-1].properties.name;g.fieldsManager.setCoords(h,d);g.fieldsManager.setDescr(j,d);g.fieldsManager.showDescr(d);g.fieldsManager.destroySearchSelect(d);g.fieldsManager.getCoordField(d).removeClass("hidden");g.reloadFields()}})},getCoords:function(d){var b=d||window.event;var f=directionsManager;var a=map.events.getMousePosition(b);var c=map.getLonLatFromViewPortPx(a);if(f.field){f.field.value=c.lon+" "+c.lat}f._resetSetter();f.reloadFields()},destroyWaypoint:function(a){$(this.fieldsManager.getCoordField(a).parentNode).remove();this.fieldsManager.removePoint(a);$("#map").unbind("click",this.getCoords)},addRouteStep:function(d){var b;if(d){b=directionsManager}else{b=this}var c=b.fieldsManager;var f=c.getCoordFieldsNum();var a;if(c.getCoordField(0).value!=""&&c.getCoordField(1).value!=""){if(c.getCoordField(f-1).value!=""){a=c.addNewLocation(f+1)}else{a=c.getCoordField(f-1).parentNode}}b.refreshIcons();b.activateFieldsControls();return a},refreshIcons:function(){var c=this;var a=$("#inputs_list").find("a.label");for(var b=0;b<a.length;b++){a[b].innerHTML=directionsData.getPointName(b);(function(){var d=b;a[d].onclick=function(){if(c.lonlats[d]){map.setCenter(c.lonlats[d])}}})()}},reloadFields:function(){this._resetSetter();this.destroyPopups();this.filled_fields=[];this.fields_to_remove=[];this.validation_key="";this.response_key="";this.total_distance=0;this.total_duration=0;this._removePolyline();this.fieldsManager.resetCoordFields();for(var b=0;b<this.fieldsManager.getCoordFieldsNum();b++){var d=this.fieldsManager.getCoordField(b);if(this.fieldsManager.getCoords(b)){var c=this.fieldsManager.getCoords(b)}if((d.value.match(/\d+(\.\d+)?/g)&&d.value.match(/\d+(\.\d+)?/g).length==2)||(c&&c.match(/\d+(\.\d+)?/g)&&c.match(/\d+(\.\d+)?/g).length==2&&d.value!="")){this.filled_fields.push({field:d,index:b})}else{this.fields_to_remove.push({field:d,index:b})}}var a;if(this.filled_fields.length>=2){a=0}else{if(this.filled_fields.length==0){a=2}else{a=this.filled_fields.length}}for(var b=a;b<this.fields_to_remove.length;b++){this.destroyWaypoint(this.fields_to_remove[b].index)}this.field_from=this.fieldsManager.getCoordField(0);this.getRoutes();this.activateFieldsControls();this.refreshIcons();if(locMarker){this.markers_layer.addFeatures([locMarker])}},getRoutes:function(){this.removeMarkers();this.lonlats=[];this._requests=[];for(var b=0;b<this.filled_fields.length;b++){var f=this.filled_fields[b].field;if(this.fieldsManager.getCoords(b)){var d=this.fieldsManager.getCoords(b)}var e;var g;if(f.value.match(/\d+(\.\d+)/g)&&f.value.match(/\d+(\.\d+)/g).length==2){e=parseFloat(/^.+ /.exec(f.value).toString().replace(/\s/,""));g=parseFloat(/ .+$/.exec(f.value).toString().replace(/\s/,""))}else{if(d&&d.match(/\d+(\.\d+)?/g)&&d.match(/\d+(\.\d+)?/g).length==2&&f.value!=""){e=parseFloat(/^.+ /.exec(d).toString().replace(/\s/,""));g=parseFloat(/ .+$/.exec(d).toString().replace(/\s/,""))}}var c=new OpenLayers.LonLat(e,g);this.lonlats.push(c)}directionsData.getPanel().innerHTML="";this.permalink_control.update();if(this.lonlats.length>1){var a=this.travel_mode;this.showIndicator();this.responses=[];for(b=0;b<(this.lonlats.length-1);b++){this._requests.push(this.lonlats[b].lon.toString()+this.lonlats[b].lat.toString()+this.lonlats[b+1].lon.toString()+this.lonlats[b+1].lat.toString()+a.toString())}for(b=0;b<(this.lonlats.length-1);b++){end_point=(b==(this.lonlats.length-2)?true:false);this._sendRequest(this.lonlats[b],this.lonlats[b+1],b,end_point,a)}}if(this.lonlats.length>0){$("#start_text").addClass("hidden");$("#clear_route").removeClass("unvisible")}this.addMarkers()},addMarkers:function(){var c=this;this.markers=[];if(!this.markers_layer){this.markers_layer=new OpenLayers.Layer.Vector("Markers");map.addLayer(this.markers_layer)}for(var b=0;b<this.lonlats.length;b++){var a;if(this.fieldsManager.getCoordField(0).value==""&&this.fieldsManager.getCoordFieldsNum()==2){a=this.getMarker(this.lonlats[b],b+1)}else{a=this.getMarker(this.lonlats[b],b)}this.markers.push(a);this.markers_layer.addFeatures([a])}},removeMarkers:function(){if(this.markers_layer){this.markers_layer.destroyFeatures()}},getMarker:function(c,b){var d={pointRadius:17,externalGraphic:"/images/directions/markers/"+(b+1)+".png",graphicXOffset:-17,graphicYOffset:-35};var a=new OpenLayers.Geometry.Point(c.lon,c.lat);var e=new OpenLayers.Feature.Vector(a,null,d);return e},addWaypoint:function(b,c){if(c.markers.length<24){var a=c.addRouteStep();c.fieldsManager.getCoordField(c.fieldsManager.getCoordFieldsNum()-1).value=b.lon+" "+b.lat;c.reloadFields()}},addStartPoint:function(a,b){b.field_from=b.fieldsManager.getCoordField(0);$(b.field_from).removeClass("hidden");b.field_from.value=a.lon+" "+a.lat;b.reloadFields()},addEndPoint:function(a,b){b.field_to=b.fieldsManager.getCoordField(b.fieldsManager.getCoordFieldsNum()-1);$(b.field_to).removeClass("hidden");b.field_to.value=a.lon+" "+a.lat;b.reloadFields()},refreshMarkerCoordinates:function(){for(var a=0;a<this.markers.length;a++){this.fieldsManager.getCoordField(a).value=this.markers[a].geometry.x+" "+this.markers[a].geometry.y,a}this.reloadFields()},showIndicator:function(){$("#loadingIndicator").removeClass("hidden")},hideIndicator:function(){$("#loadingIndicator").addClass("hidden")},destroyPopups:function(){for(var a=0;a<map.popups.length;a++){if(map.popups[a]){map.removePopup(map.popups[a])}}},_resetSetter:function(){$("#map_OpenLayers_ViewPort").css({cursor:"default"});$("#inputs_list").find("a.set_point").each(function(){$(this).removeClass("set_point_active")});$("#map").unbind("click",this.getCoords)},_sendRequest:function(m,l,j,c,h){var j=j;var g=m;var e=l;if(!this.cache){this.cache={}}var m=Utils.transformLatLngToCM(m);var l=Utils.transformLatLngToCM(l);var f=this._generateId();var d=directionsData.getHost()+"/"+directionsData.getKey()+"/api/0.3/"+m.lat+","+m.lon+","+l.lat+","+l.lon+"/";d+=this.travel_mode+".js?callback=getRoute"+f;var k=g.lon.toString()+g.lat.toString()+e.lon.toString()+e.lat.toString()+h.toString();if(!this.cache[k]){this.cache[k]="requesting";Utils.getJson(d,function(a){this.cache[k]=a;this._checkIfReadyToRender()},"getRoute"+f,this)}else{if(this.cache[k]!="requesting"){this._checkIfReadyToRender()}}},_checkIfReadyToRender:function(){var b=true,a;for(i=0;i<(this.lonlats.length-1);i++){a=this.cache[this._requests[i]];if(!a||a=="requesting"){b=false;break}}if(b&&this._requests.length){for(i=0;i<this._requests.length;i++){if(i==(this._requests.length-1)){this._responseHandler(this.cache[this._requests[i]],i,true)}else{this._responseHandler(this.cache[this._requests[i]],i)}}this._requests=[];this.hideIndicator()}},_responseHandler:function(b,c,a){if(b.status){if(!this.error_messages){this.error_messages=[]}this.error_messages.push(directionsData.getNoResponseText());if(directionsData.getPanel()){this._displayError(b)}}else{this._addPolyline(b);if(directionsData.getPanel()){this._displayRoute(b,c,a)}}},_addPolyline:function(b){var d=[];if(!this.polyline){this.polylines=[]}for(var c=0;c<b.route_geometry.length;c++){var e=Utils.transformLatLngToOSM(new OpenLayers.LonLat(b.route_geometry[c][1],b.route_geometry[c][0]));var a=new OpenLayers.Geometry.Point(e.lon,e.lat);d.push(a)}if(!this.vectors_layer){this.vectors_layer=new OpenLayers.Layer.Vector("Vectors");map.addLayer(this.vectors_layer)}this.polyline=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString(d),null,directionsData.getPolylineStyle());this.polylines.push(this.polyline);this.vectors_layer.addFeatures(this.polyline)},_removePolyline:function(){if(this.polylines){for(var a=0;a<this.polylines.length;a++){this.polylines[a].destroy()}}},_displayRoute:function(d,B,k){var w=this;var E={en:{total_length:"Total length",total_duration:"Time",route:"Route",mile:"mile",point:"Point",total_route_distance:"Total route distance",total_route_duration:"Total route time"},de:{total_length:"Gesamtlange",total_duration:"Zeit",route:"Weg",mile:"meile",point:"Punkt",total_route_distance:"Gesamtweg-Entfernung",total_route_duration:"Gesamtweg-Zeit"},ro:{total_length:"Lungimea totală",total_duration:"Durata",route:"Ruta",mile:"mila",point:"Punct",total_route_distance:"Lungimea totală a rutei",total_route_duration:"Durata totală a rutei"}};var G=document.createElement("div");G.className="osm-routes-output";if(document.getElementById("totalRoutesLength")){var h=document.getElementById("totalRoutesLength");var q=h.getElementsByTagName("span")[0]}else{var h=document.createElement("div");h.id="totalRoutesLength";h.className="osm-total-length";var D=document.createTextNode(E.ro.total_length+": ");var q=document.createElement("span");q.innerHTML="0";h.appendChild(D);h.appendChild(q);G.appendChild(h)}if(document.getElementById("totalRoutesDuration")){var m=document.getElementById("totalRoutesDuration");var z=m.getElementsByTagName("span")[0]}else{var m=document.createElement("div");m.id="totalRoutesDuration";m.className="osm-total-duration";var o=document.createTextNode(E.ro.total_duration+": ");var z=document.createElement("span");z.innerHTML="0";m.appendChild(o);m.appendChild(z);G.appendChild(m)}var s=document.createElement("dl");s.className="osm-waypoints-list";var I=document.createElement("dt");var n=document.createElement("a");n.href="#";n.className="osm-label-large";n.innerHTML=directionsData.getPointName(B);var g=this.fieldsManager.getDescr(B);if(g==""){this.fieldsManager.setDescr(d.route_summary.start_point,B)}else{if(g!=d.route_summary.start_point){d.route_summary.start_point=g}}var H=document.createTextNode(d.route_summary.start_point);I.appendChild(n);I.appendChild(H);s.appendChild(I);for(var A=0;A<d.route_instructions.length;A++){(function(){var J=A;var j=document.createElement("dd");var K=document.createElement("a");K.href="#";var L=Utils.convertUnits(d.route_instructions[J][1]);K.innerHTML=Utils.translate(d.route_instructions[J][0])+" <span>"+L.distance+"</span> "+L.points;j.appendChild(K);s.appendChild(j);$(K).bind("click",function(){var M=new OpenLayers.Popup.FramedCloud("Popup",Utils.transformLatLngToOSM(new OpenLayers.LonLat(d.route_geometry[d.route_instructions[J][2]][1],d.route_geometry[d.route_instructions[J][2]][0])),null,Utils.translate(d.route_instructions[J][0])+" <span>"+L.distance+"</span> "+L.points,null,true);w.destroyPopups();map.addPopup(M);M.div.style.zIndex="999999999"})})()}var b=document.createElement("div");b.className="osm-route-length";var f=document.createElement("div");f.className="osm-route-duration";var y=document.createTextNode(E.ro.total_route_distance+": ");var x=document.createElement("span");var p=document.createTextNode(E.ro.total_route_duration+": ");var c=document.createElement("span");var u=Utils.convertUnits(d.route_summary.total_distance);var l=Utils.convertTime(d.route_summary.total_time);var v=document.createTextNode(u.distance+" "+u.points);var C=document.createTextNode(l.duration+" "+l.points);x.appendChild(v);b.appendChild(y);c.appendChild(C);f.appendChild(p);b.appendChild(x);f.appendChild(c);this.total_distance+=d.route_summary.total_distance;this.total_duration+=d.route_summary.total_time;var e=Utils.convertUnits(this.total_distance);var F=Utils.convertTime(this.total_duration);q.innerHTML=e.distance+" "+e.points;z.innerHTML=F.duration+" "+F.points;if(k==true){var r=document.createElement("dt");var a=document.createElement("a");a.href="#";a.className="osm-label-large";a.innerHTML=directionsData.getPointName(B+1);var g=this.fieldsManager.getDescr(B+1);if(g==""){this.fieldsManager.setDescr(d.route_summary.end_point,B+1)}else{if(g!=d.route_summary.end_point){d.route_summary.end_point=g}}var t=document.createTextNode(d.route_summary.end_point);r.appendChild(a);r.appendChild(t);s.appendChild(r)}G.appendChild(s);directionsData.getPanel().appendChild(G);directionsData.getPanel().appendChild(b);directionsData.getPanel().appendChild(f);if(k==true){for(var B=0;B<this.fieldsManager.getCoordsNum();B++){this.fieldsManager.showDescr(B)}}},_displayError:function(a){var b=document.createElement("div");b.className="osm-error-message";b.innerHTML=a.status_message;directionsData.getPanel().insertBefore(b,directionsData.getPanel().firstChild)},_generateId:function(){this._lastId=(this._lastId||0)+1;return this._lastId},parseUrl:function(){var e={};var c=window.location.href.replace(/^.+\?/,"").replace("#","");var k=c.split("&");var d=false;for(var f=0;f<k.length;f++){var g=k[f].split("=");e[g[0]]=g[1]}for(var f in e){if(f=="waypoints"){d=true}}if(d==true){var b=[];this.permalink_params=e;var h=unescape(this.permalink_params.waypoints);var a=h.split(",");for(var f=0;f<a.length;f++){if(f%2){b.push([a[f-1],a[f]])}}$("#transport_switcher a").each(function(){$(this).parent().removeClass("active")});switch(e.travel_mode){case"car":$("#by_car").parent().addClass("active");$("#preferences")[0].selectedIndex=0;$("#preferences")[0].disabled="";this.travel_mode=directionsData.getTravelMode("DRIVING");break;case"car/shortest":$("#by_car").parent().addClass("active");$("#preferences")[0].selectedIndex=1;$("#preferences")[0].disabled="";this.travel_mode=directionsData.getTravelMode("DRIVING")+"/shortest";break;case"foot":$("#by_walking").parent().addClass("active");$("#preferences")[0].selectedIndex=0;$("#preferences")[0].disabled="disabled";this.travel_mode=directionsData.getTravelMode("WALKING");break;case"bicycle":$("#by_cycling").parent().addClass("active");$("#preferences")[0].selectedIndex=0;$("#preferences")[0].disabled="disabled";this.travel_mode=directionsData.getTravelMode("CYCLING");break}for(var f=0;f<b.length;f++){var j=Utils.transformLatLngToOSM(new OpenLayers.LonLat(b[f][0],b[f][1]));if(f==0){this.addStartPoint(j,this)}else{if(f==1){this.addEndPoint(j,this)}else{this.addWaypoint(j,this)}}}}}};OSM.ContextMenu=function(a){this.params=a;this.menu_structure={links:[{link:"#",params:{id:"osm-menulink-from",className:""},text:"Punct de plecare",action:this.params.obj.addStartPoint},{link:"#",params:{id:"osm-menulink-to",className:""},text:"Punct de sosire",action:this.params.obj.addEndPoint},{link:"#",params:{id:"osm-menulink-addpoint",className:"hidden"},text:"Adaugă destinație",action:this.params.obj.addWaypoint},{link:"#",params:{id:"osm-menulink-addmarker",className:""},text:"Marchează locația",action:addLocMarker},{link:"#",params:{id:"osm-menulink-removemarker",className:"hidden"},text:"Șterge marcaj",action:removeLocMarker}]};this.createMarkup()};OSM.ContextMenu.prototype={createMarkup:function(){var b=this;this.context_menu_bg=document.createElement("div");this.context_menu_bg.id="osm-context-menu";this.context_menu=document.createElement("ul");this.context_menu_bg.appendChild(this.context_menu);for(var a=0;a<this.menu_structure.links.length;a++){(function(){var e=a;var c=document.createElement("li");var f=document.createElement("a");f.href=b.menu_structure.links[e].link;f.innerHTML=b.menu_structure.links[e].text;$(f).bind("mousemove",function(){$(this).addClass("hover")});$(f).bind("mouseout",function(){$(this).removeClass("hover")});$(f).bind("click",function(){b.menu_structure.links[e].action(b.lonlat,b.params.obj);b.hide()});c.appendChild(f);for(var d in b.menu_structure.links[e].params){f.parentNode[d]=b.menu_structure.links[e].params[d]}b.context_menu.appendChild(c)})()}document.getElementById("map").appendChild(this.context_menu_bg)},show:function(f){var c=f||window.event;var b=directionsManager.fieldsManager.getCoordField(0);var d=directionsManager.fieldsManager.getCoordField(directionsManager.fieldsManager.getCoordFieldsNum()-1);var a=map.events.getMousePosition(c);this.lonlat=map.getLonLatFromViewPortPx(a);$(this.context_menu_bg).css({left:a.x+"px",top:a.y+"px"});$(this.context_menu_bg).removeClass("hidden");this.hide.bind(this);$("#map").bind("click",this.hide);if(b.value==""){$("#osm-menulink-from").removeClass("hidden");$("#osm-menulink-addpoint").addClass("hidden")}if(d.value==""){$("#osm-menulink-to").removeClass("hidden");$("#osm-menulink-addpoint").addClass("hidden")}if(b.value!=""&&d.value!=""){$("#osm-menulink-from").addClass("hidden");$("#osm-menulink-to").addClass("hidden");$("#osm-menulink-addpoint").removeClass("hidden")}if(locMarker){$("#osm-menulink-removemarker").removeClass("hidden")}else{$("#osm-menulink-removemarker").addClass("hidden")}},hide:function(){$(map).unbind("click",this.hide);this.lonlat=null;$("#osm-context-menu").addClass("hidden")}};OSM.permalinkControl=function(a){this.target=document.getElementById(a)};OSM.permalinkControl.prototype={init:function(a){this._obj=a},update:function(){this._getPermalinkParams();this._getRoutingParams()},_getPermalinkParams:function(){this.params={};var a=/^.+\?/.exec(this.target.href)[0];this._url_base=a.replace(/\?$/,"").replace("#","");this.params_string=/\?.+$/.exec(this.target.href)[0].replace(/^\?/,"");var c=this.params_string.split("&").length;for(var b=0;b<c;b++){if(!this.params[this.params_string.split("&")[b].split("=")[0]]){this.params[this.params_string.split("&")[b].split("=")[0]]=this.params_string.split("&")[b].split("=")[1]}}},_getRoutingParams:function(){if(this._obj.travel_mode){this.travel_mode=this._obj.travel_mode}if(this._obj.lonlats){this.lonlats=this._obj.lonlats}this._setParams()},_setParams:function(){var d=[];if(this.lonlats){for(var b=0;b<this.lonlats.length;b++){var a=Utils.transformLatLngToCM(this.lonlats[b]);d.push((Math.round(a.lon*100000)/100000).toString()+","+(Math.round(a.lat*100000)/100000).toString())}}if(d.length>0){this.params.waypoints=d.join(",");this.params.travel_mode=this.travel_mode}else{delete this.params.waypoints;delete this.params.travel_mode}if(locMarker){var c=Utils.transformLatLngToCM(new OpenLayers.LonLat(Math.round(locMarker.geometry.x*100000)/100000,Math.round(locMarker.geometry.y*100000)/100000));this.params.mlat=c.lat;this.params.mlon=c.lon}else{delete this.params.mlat;delete this.params.mlon}this.showParams()},showParams:function(){var b="?";for(var a in this.params){b+=(a+"="+this.params[a])+"&"}b=b.replace(/\&$/,"");this.target.href=this._url_base+b}};