var g_map_on_this_page=null;var g_route_from={}
var g_route_to={}
var g_route_colors=["#8309e1","#fa8f00","#0f8f00"];var g_color_idx=0;$().ready(function(){$(".hide").click(function(){$(".search_wrapper").fadeOut("slow");return false;});var from_lon=extractParam("from_lon");var from_lat=extractParam("from_lat");var from_seg=extractParam("from_seg");var to_lon=extractParam("to_lon");var to_lat=extractParam("to_lat");var to_seg=extractParam("to_seg");if(from_lon.length>0&&from_lat.length>0&&to_lon.length>0&&to_lat.length>0){g_route_from.location=new OpenLayers.LonLat(lon=parseFloat(from_lon),lat=parseFloat(from_lat));g_route_from.seg_id=from_seg;g_route_to.location=new OpenLayers.LonLat(lon=parseFloat(to_lon),lat=parseFloat(to_lat));g_route_to.seg_id=to_seg;var interval=window.setInterval(function(){if(g_map){if(extractParam("zoom").length>0)
reroute(true);else
reroute();window.clearInterval(interval);}},200);}
$("#form_find").keypress(function(e){if($("#form_find .search_indicator:visible").length>0)
return;if(e.which==13){find();return false;}});$("#form_route").keypress(function(e){if($("#form_route .search_indicator:visible").length>0)
return;if(e.which==13){navigate();return false;}});$(".find_tab").click(function(e){$(".find_tab").removeClass("find_tab_selected");if($(this).is(".routing_related")){$(".routing_related").addClass("find_tab_selected");}else{$(".find_tab:not(.routing_related)").addClass("find_tab_selected");}
$(".query_form").hide();var form_id=$(this).attr("id").replace("tab","form")
$("#"+form_id).show();$("#"+form_id+" :input:first").focus();return false;});$("#route_details").click(function(){$("#route_details").fadeOut();return false;});});var markLocation=function(location,raw_bounds,name){var center=null;var bounds=new OpenLayers.Bounds();if(raw_bounds){var bounds=new OpenLayers.Bounds();if(g_map.map_info.base_layer_type=="OSM"||g_map.projection=="EPSG:900913"){center=OpenLayers.Layer.SphericalMercator.forwardMercator(lon=location.lon,lat=location.lat);bounds.extend(OpenLayers.Layer.SphericalMercator.forwardMercator(raw_bounds.left,raw_bounds.top));bounds.extend(OpenLayers.Layer.SphericalMercator.forwardMercator(raw_bounds.right,raw_bounds.bottom));}
else{center=new OpenLayers.LonLat(lon=location.lon,lat=location.lat);bounds.extend(new OpenLayers.LonLat(raw_bounds.left,raw_bounds.top));bounds.extend(new OpenLayers.LonLat(raw_bounds.right,raw_bounds.bottom));}
g_map.zoomToExtent(bounds,true);}
else{center=location;g_map.setCenter(center);}
g_map.markersLayer.clearMarkers();var icon=new OpenLayers.Icon(url="/images/mark_location.png",size=new OpenLayers.Size(19,24),offset=new OpenLayers.Pixel(-12,-21));var marker=new OpenLayers.Marker(center,icon);g_map.markersLayer.addMarker(marker);var popup=new OpenLayers.Popup.FramedCloud(null,center,new OpenLayers.Size(200,100),"<div class='search_result_name'>"+name+"</div>",icon,true,function(){g_map.removePopup(popup);g_map.markersLayer.removeMarker(marker);});g_map.addPopup(popup,true);}
var formatResults=function(json,results_wrapper,input_field,is_navigate){$(".search_indicator").hide();$("#find_btn").show();$(".go_img_find").show();$(results_wrapper).fadeOut("fast");if(json.length==1){if(is_navigate){if($(input_field).attr("name")=="from"){g_route_from.location=json[0].location;g_route_from.name=json[0].name;g_route_from.seg_id=json[0].segmentId;g_route_from.st_id=json[0].streetId;}
else{g_route_to.location=json[0].location;g_route_to.name=json[0].name;g_route_to.seg_id=json[0].segmentId;g_route_to.st_id=json[0].streetId;}
if(g_route_from.location&&g_route_to.location)
reroute();}
else{var location=json[0].location;var raw_bounds=json[0].bounds;markLocation(location,raw_bounds,json[0].name);var server_output=json[0].name+";"+json[0].location.lon+";"+json[0].location.lat+"\n";var center=null;if(g_map.map_info.base_layer_type=="OSM")
center=OpenLayers.Layer.SphericalMercator.inverseMercator(g_map.getCenter().lon,g_map.getCenter().lat);else
center=g_map.getCenter();var params={user_input:$(input_field).val(),server_output:server_output,item_selected:json[0].name,index_of_item_selected:0,lon:center.lon,lat:center.lat}
$.post("/WAS/mozi_stat",data=params);}
return;}
$(".search_results",results_wrapper).empty();$(results_wrapper).fadeIn("slow");$(results_wrapper).fadeTo("fast",0.9);if(json.length==0){var list=$(".search_results",results_wrapper);var next_item=$("<li></li>");next_item.text($("#not_found",results_wrapper).text());$(list).append(next_item);return;}
var list=$(".search_results",results_wrapper);var center=null;if(g_map.map_info.base_layer_type=="OSM")
center=OpenLayers.Layer.SphericalMercator.inverseMercator(g_map.getCenter().lon,g_map.getCenter().lat);else
center=g_map.getCenter();var server_output="";$.each(json,function(){server_output+=this.name+";"+this.location.lon+";"+this.location.lat+"\n";});$.each(json,function(idx){var next_item=$("<li><a></a></li>");$(list).append(next_item);var location=this.location;var raw_bounds=this.bounds;var seg_id=this.segmentId;var st_id=this.streetId;var name=this.name;$("a",next_item).attr("href","#").text(name).click(function(e){if(typeof(g_map)=="undefined"||!location)
return false;$(".search_results a",results_wrapper).removeClass("selected_result");$(this).addClass("selected_result");$(results_wrapper).hide();$(input_field).val(name);if(is_navigate){if($(input_field).attr("name")=="from"){g_route_from.location=location;g_route_from.name=name;g_route_from.seg_id=seg_id;g_route_from.st_id=st_id;}
else{g_route_to.location=location;g_route_to.name=name;g_route_to.seg_id=seg_id;g_route_to.st_id=st_id;}
if(g_route_from.location&&g_route_to.location)
reroute();}
else{markLocation(location,raw_bounds,name);var params={user_input:$(input_field).val(),server_output:server_output,item_selected:name,index_of_item_selected:idx,lon:center.lon,lat:center.lat}
$.post("/WAS/mozi_stat",data=params);}
return false;});});var bad_search=$("<li></li>");bad_search.html($("#bad_search",results_wrapper).html());$("a",bad_search).click(function(e){$(results_wrapper).hide();var params={user_input:$(input_field).val(),server_output:server_output,item_selected:"",index_of_item_selected:0,lon:center.lon,lat:center.lat};$.post("/WAS/mozi_stat",data=params);return false;});$(list).append(bad_search);$(results_wrapper).fadeIn("slow");$(results_wrapper).fadeTo("fast",0.9);}
var find=function(){var url="/WAS/mozi";var lang_table={'english':'eng','hebrew':'heb','spanish':'espanol'};var params={lang:lang_table[$("#interface_language").text().trim()]};$.each($("#form_find").serializeArray(),function(){params[this.name]=this.value;});var q_str=params["q"];var possible_lon_lat=q_str.split(",");if(possible_lon_lat.length==2){var lon=parseFloat(possible_lon_lat[0]);var lat=parseFloat(possible_lon_lat[1]);if(!isNaN(lon)&&!isNaN(lat)){var location=new OpenLayers.LonLat(lon=lon,lat=lat);if(g_map.getProjection()=="EPSG:900913")
location.transform(new OpenLayers.Projection("EPSG:4326"),g_map.getProjectionObject());var name="lon: "+lon+", lat: "+lat;markLocation(location,null,name);return;}}
var center=null;if(g_map.map_info.base_layer_type=="OSM"||g_map.getProjection()=="EPSG:900913")
center=OpenLayers.Layer.SphericalMercator.inverseMercator(g_map.getCenter().lon,g_map.getCenter().lat);else
center=g_map.getCenter();$("#find_btn").hide();$(".go_img_find").hide();$(".search_indicator").show();params["lon"]=center.lon;params["lat"]=center.lat;$.getJSON(url=url,data=params,function(json){formatResults(json,$(".search_wrapper:first").eq(0),$("#form_find :input[name=q]").eq(0));});}
var reroute=function(do_not_alter_extent_and_zoom,alternate_url,is_exclusive,post_destroy_function,post_routing_request_function){$(".search_wrapper").hide();$("#navigate_btn").hide();$(".go_img_nav").hide();$(".search_indicator").show();var data={from:"x:"+g_route_from.location.lon+" y:"+g_route_from.location.lat+" bd:true",to:"x:"+g_route_to.location.lon+" y:"+g_route_to.location.lat+" bd:true",returnJSON:true,returnGeometries:true,returnInstructions:true,timeout:60000,nPaths:2};if(g_route_from.seg_id>0)
data.from=data.from+" s:"+g_route_from.seg_id;if(g_route_from.st_id>0)
data.from=data.from+" st_id:"+g_route_from.st_id;if(g_route_to.seg_id>0)
data.to=data.to+" s:"+g_route_to.seg_id;if(g_route_to.st_id>0)
data.to=data.to+" st_id:"+g_route_to.st_id;var jUrl="/RoutingManager/routingRequest";if(alternate_url&&alternate_url.length>1)
jUrl=alternate_url;var routeBounds=new OpenLayers.Geometry.Collection();var div=$("<div></div>");$(div).html($("#navigate_mold").html());var popup;$.getJSON(url=jUrl,data=data,function(nav_json){$(".search_indicator").hide();$("#navigate_btn").show();$(".go_img_nav").show();var nav_layer=null;var navCount=0;var list=g_map.getLayersByName("routes");nav_layer=list[0];g_map.markersLayer.clearMarkers();nav_layer.removeFeatures(nav_layer.features);if(nav_json.error)
return;$.each(nav_json.alternatives?nav_json.alternatives:[nav_json],function(){var route=new OpenLayers.Geometry.LineString();for(var i in this.coords){var next=this.coords[i];var point=new OpenLayers.Geometry.Point(next.x,next.y);if(g_map.map_info.base_layer_type=="OSM")
point=OpenLayers.Layer.SphericalMercator.projectForward(point);route.addPoint(point);}
var vec=new OpenLayers.Feature.Vector(geometry=route);if(navCount==0)
vec.style={strokeWidth:3,strokeColor:g_route_colors[g_color_idx],strokeOpacity:1.0};else
if(navCount==1)
vec.style={strokeWidth:3,strokeColor:'rgb(82,186,217)',strokeOpacity:1.0};nav_layer.addFeatures(vec);navCount++;var from_icon=new OpenLayers.Icon(url="/images/from.png",size=new OpenLayers.Size(21,19),offset=new OpenLayers.Pixel(-2,-17));var from_lon_lat=new OpenLayers.LonLat(lon=route.components[0].x,lat=route.components[0].y);var from_marker=new OpenLayers.Marker(from_lon_lat,from_icon);g_map.markersLayer.addMarker(from_marker);var to_icon=new OpenLayers.Icon(url="/images/to.png",size=new OpenLayers.Size(21,19),offset=new OpenLayers.Pixel(-2,-17));var to_lon_lat=new OpenLayers.LonLat(lon=route.components[route.components.length-1].x,lat=route.components[route.components.length-1].y);var to_marker=new OpenLayers.Marker(to_lon_lat,to_icon);g_map.markersLayer.addMarker(to_marker);var segs=route.getSortedSegments();var mid_seg=segs[Math.floor(0)];var centroid=new OpenLayers.LonLat(lon=(mid_seg.x1+mid_seg.x2)/2,lat=(mid_seg.y1+mid_seg.y2)/2);if(g_route_from.name&&g_route_from.name.length>0&&g_route_to.name&&g_route_to.name.length>0){$(".from_text strong",div).text(g_route_from.name);$(".to_text strong",div).text(g_route_to.name);$(".from_text",div).show();$(".to_text",div).show();$(".to_text",div).css({"padding-bottom":"5px"});}
var cross_time_in_secs=0;var distance_in_meters=0;$.each(this.response.results,function(){cross_time_in_secs+=this.crossTime;distance_in_meters+=this.length;});var mins=Math.floor(cross_time_in_secs/60);var secs=cross_time_in_secs%60;if(mins==0){$(".seconds"+navCount+" span",div).text(secs);$(".seconds"+navCount+"",div).show();}
else{if(secs<10)
secs="0"+secs;$(".minutes"+navCount+" span",div).text(mins+":"+secs);$(".minutes"+navCount,div).show();}
var measurement_system=$(".measurement_system").text();if(measurement_system=="imperial")
$(".distance"+navCount+" .number",div).text((distance_in_meters/1609).toFixed(1));else
$(".distance"+navCount+" .number",div).text((distance_in_meters/1000).toFixed(2));var unit=$("."+measurement_system+"_distance").text();$(".distance"+navCount+" .distance_unit",div).text(unit);$(".distance"+navCount,div).show();$(".via_text"+navCount+" strong",div).text(this.response.routeName);if(this.response.routeName!="")
$(".via_text"+navCount,div).show();routeBounds.addComponents(vec.geometry);});if(!do_not_alter_extent_and_zoom){routeBounds.calculateBounds();g_map.zoomToExtent(routeBounds.bounds);}
$("#route_details").html($(div).html());$("#route_details").fadeIn();if(nav_json.alternatives&&nav_json.alternatives.length>1)
$("#route_details .route_2").show();g_route_from={};g_route_to={}
if(post_routing_request_function){post_routing_request_function();}});}
var navigate=function(reroute_is_exclusive,reroute_alternate_url,reroute_post_destroy_function,reroute_post_routing_request_function){$("#navigate_btn").hide();$(".go_img_nav").hide();$(".search_indicator").show();var url="/WAS/mozi";var from=$("#form_route input[name=from]").val();var to=$("#form_route input[name=to]").val();var center=null;if(g_map.map_info.base_layer_type=="OSM")
center=OpenLayers.Layer.SphericalMercator.inverseMercator(g_map.getCenter().lon,g_map.getCenter().lat);else
center=g_map.getCenter();if(g_route_from.is_from_click&&g_route_to.is_from_click){reroute(null,reroute_alternate_url,reroute_is_exclusive,reroute_post_destroy_function,reroute_post_routing_request_function);return;}
if(!g_route_from.is_from_click&&g_route_to.is_from_click){$.getJSON(url=url,data={q:from,lon:center.lon,lat:center.lat},function(from_json){$(".search_indicator").hide();$("#navigate_btn").show();$(".go_img_nav").show();g_route_from={};formatResults(from_json,$(".search_wrapper").eq(0),$("#form_route :input[name=from]").eq(0),true);});return;}
if(g_route_from.is_from_click&&!g_route_to.is_from_click){$.getJSON(url=url,data={q:to,lon:center.lon,lat:center.lat},function(to_json){$(".search_indicator").hide();$("#navigate_btn").show();$(".go_img_nav").show();g_route_to={};formatResults(to_json,$(".search_wrapper").eq(1),$("#form_route :input[name=to]").eq(0),true);});return;}
$("#find_btn").show();$(".go_img_find").show();$.getJSON(url=url,data={q:from,lon:center.lon,lat:center.lat},function(from_json){$.getJSON(url=url,data={q:to,lon:center.lon,lat:center.lat},function(to_json){$(".search_indicator").hide();$("#navigate_btn").show();$(".go_img_nav").show();g_route_from={};g_route_to={};formatResults(from_json,$(".search_wrapper").eq(0),$("#form_route :input[name=from]").eq(0),true);formatResults(to_json,$(".search_wrapper").eq(1),$("#form_route :input[name=to]").eq(0),true);});});}