var offsetxpoint=-50;var offsetypoint=25;var ie=document.all;var ns6=document.getElementById&&!document.all;var enabletip=false;var tipobj;$(document).ready(function(){tipobj=document.getElementById("dhtmltooltip")});function ietruebody(){return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body}function showhelp(b,c,a){if(typeof a!="undefined"){tipobj.style.width=a+"px"}if(typeof c!="undefined"&&c!=""){tipobj.style.backgroundColor=c}tipobj.innerHTML=b;enabletip=true;return false}function positiontip(h){if(enabletip){var b=(ns6)?h.pageX:event.clientX+ietruebody().scrollLeft;var a=(ns6)?h.pageY:event.clientY+ietruebody().scrollTop;var f=ie&&!window.opera?ietruebody().clientWidth-event.clientX-offsetxpoint:window.innerWidth-h.clientX-offsetxpoint-20;var c=ie&&!window.opera?ietruebody().clientHeight-event.clientY-offsetypoint:window.innerHeight-h.clientY-offsetypoint-20;var j=(offsetxpoint<0)?offsetxpoint*(-1):-1000;if(f<tipobj.offsetWidth){tipobj.style.left=ie?ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px":window.pageXOffset+h.clientX-tipobj.offsetWidth+"px"}else{if(b<j){tipobj.style.left="5px"}else{tipobj.style.left=b+offsetxpoint+"px"}}if(c<tipobj.offsetHeight){tipobj.style.top=ie?ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px":window.pageYOffset+h.clientY-tipobj.offsetHeight-offsetypoint+"px"}else{tipobj.style.top=a+offsetypoint+"px"}tipobj.style.visibility="visible"}}function hidehelp(){if(ns6||ie){enabletip=false;tipobj.style.visibility="hidden";tipobj.style.left="-1000px";tipobj.style.backgroundColor="";tipobj.style.width=""}}var map;var map_width;var map_height;var fullscreen=false;var myRoute=new Route();var myRoutes=[];var mySearch;var directions;var geocoder;var mouseOverMarker=0;var userPoints=[];var markers=[];var userLine;var lastMarker;var helpMarker;var tempIndex=-1;var addTempPoint=0;var tempPoint;var timeout=500;var edit=false;var edit_link=false;var normalProj;var marker;var routePixels=$.protify([],true);var isDragged=0;var routePartIndex=1;var markerIndex=1;var routePartsToDraw=$.protify([],true);var scale_control=new GScaleControl();var large_control=new GLargeMapControl3D();var type_control=new GMapTypeControl();var mouse_move=0;var markerNode;var toolsMsg={general:"Skorzystaj z poniższych narzędzi, aby wyznaczyć trasę. Aby dodać punkt trasy kliknij na mapie.",polyline:"Rysuj trasę w linii prostej",polyline_offset:"4px",direction:"Rysuj trasę, trzymając się dróg",direction_offset:"40px",deletee:"Usuń punkt na trasie",delete_offset:"78px",image:"Dodaj zdjęcie na trasie",image_offset:"116px"};var city_link=0;var isImagesLoaded=false;$("a.js_ajaxLoad").live("click",function(){var a=$(this).attr("rel");var b=a?$("#"+a):$();$.ajax({type:$(this).hasClass("js_ajaxPost")?"POST":"GET",url:$(this).attr("href"),success:function(c){if(b.size()>0){b.html(c);b.show()}}});return false});GMarker.prototype.setIcon=function(f){var a=this;if(edit){newMarker=new GMarker(a.getLatLng(),{draggable:true,icon:f})}else{newMarker=new GMarker(a.getLatLng(),{icon:f})}if(a.index){newMarker.index=a.index}if(a.myRouteParts){newMarker.myRouteParts=a.myRouteParts}if(a.title){newMarker.title=a.title}if(a.descr){newMarker.descr=a.descr}if(a.myRouteParts){if(a.myRouteParts.length>0){var b=a.myRouteParts[0].myRoute}else{var b=myRoute}b.addUserPointEventListeners(newMarker);for(var c=0;c<b.userPoints.length;c++){if(b.userPoints[c]==a){if(a==b.startMarker){b.startMarker=newMarker}if(a==b.endMarker){b.endMarker=newMarker}b.userPoints[c]=newMarker;a.remove();map.addOverlay(newMarker)}}}return newMarker};GMap2.prototype.tiles=[];function presentationRouteOnLoad(){$(document).ready(function(){myRoute.add_mode=false;myRoute.presentation_mode=true;edit=false;map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP]});addTools();normalProj=G_NORMAL_MAP.getProjection();map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(52,19.1),7);var a=map.getDefaultUI();map.setUI(a);GEvent.addListener(map,"mousemove",getProximity);GEvent.addListener(map,"click",mapClick);GEvent.addListener(map,"zoomend",function(){myRoute.kmMarkers.each(function(b){map.removeOverlay(b)});myRoute.kmMarkers.clear();myRoute.showKm();afterZoomRefresh()});loadRoutePresentation();createMarkerNode();document.onmousemove=positiontip;geocoder=new GClientGeocoder();normalProj=G_NORMAL_MAP.getProjection();$(".planning_route").click(function(b){$.ajax({type:"POST",url:"/users/addPlanningRoute",data:"route_id="+myRoute.id,beforeSend:function(){$("#planning_route_preloader").show()},success:function(c){var f="";switch(c){case"ok":f="Trasa została dodana do planowanych";break;case"exists":f="Trasa znajduje się już w planowanych trasach";break;case"completed":f="Trasa znajduje się już w ukończonych trasach";break;case"login":f="Prosimy o zalogowanie lub rejestracje";break}$("#msg").html(f);$("#msg").show();$("#planning_route_preloader").hide();window.scrollTo(0,0)}})});$("#fade").click(function(b){$("#fade").hide();$("#light").hide()});$(".completed_route").click(function(b){$("#fade").show();$("#light").show(200)});$("#add_to_completed_submit").click(function(b){if($("#completed_form").valid()){$.ajax({type:"POST",url:"/users/addCompletedRoute",data:$("#completed_form").serialize(),beforeSend:function(){$("#completed_route_preloader").show();$("#fade").hide();$("#light").hide()},success:function(c){var f="";switch(c){case"ok":f="Trasa została dodana do ukończonych";break;case"exists":f="Trasa znajduje się już w ukończonych trasach";break;case"login":f="Prosimy o zalogowanie lub rejetracje";break}$("#msg").html(f);$("#msg").show();$("#completed_route_preloader").hide();window.scrollTo(0,0)}})}})})}function adminRouteOnLoad(){map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP]});normalProj=G_NORMAL_MAP.getProjection();map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(52,19.1),7);map.addControl(scale_control);map.addControl(large_control);map.addControl(type_control);myRoute=new Route();myRoutes.push(myRoute);adminLoad()}function LoadGPXFileIntoGoogleMap(f,b){TrkColor=new Array(5);TrkColor[0]="#ff0000";TrkColor[1]="#0000ff";TrkColor[2]="#00ffff";TrkColor[3]="#761414";TrkColor[4]="#ea0a64";var a=0;var c=GXmlHttp.create();c.open("GET",b,true);c.onreadystatechange=function(){if(c.readyState==4){parser=new GPXParser(c.responseXML,f);parser.AddTrackpointsToMap();if(myRoute.userPoints.length==0){parser.AddRtepointsToMap()}}};c.send(null)}function addRouteOnLoad(a){$(document).ready(function(){edit=true;map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP]});map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(52,19.1),7);var b=map.getDefaultUI();map.setUI(b);GEvent.addListener(map,"click",mapClick);GEvent.addListener(map,"mousemove",getProximity);GEvent.addListener(map,"zoomend",afterZoomRefresh);myRoutes.push(myRoute);createMarkerNode();geocoder=new GClientGeocoder();normalProj=G_NORMAL_MAP.getProjection();addTools();if($("#polyline_button").length>0){$("#tip_msg").text(toolsMsg.general)}else{$("#tip_msg").hide()}if(a!=undefined&&a!=false){if($("#polyline_button").length>0){GEvent.trigger($("#polyline_button")[0],"click")}LoadGPXFileIntoGoogleMap(map,"/"+a)}else{if($("#direction_button").length>0){GEvent.trigger($("#direction_button")[0],"click")}}})}function editRouteOnLoad(){$(document).ready(function(){addRouteOnLoad(false);loadUserRoutes();document.onmousemove=positiontip})}function searchRoutesOnLoad(){$(document).ready(function(){edit=false;if(mySearch==undefined){mySearch=new Search()}map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(52,21.9),6);GEvent.addListener(map,"moveend",function(){mySearch.doSearch()});normalProj=G_NORMAL_MAP.getProjection();mySearch.setTiles([3,3],new GLatLng(54.833333333,24.15),new GLatLng(49,14.116666667));var a=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,0));a.apply($("#welcome")[0]);map.getContainer().appendChild($("#welcome")[0]);map.getContainer().style.overflow="hidden";$("#welcome").show();initSlider()})}function searchShortcutOnLoad(c,a,b){$(document).ready(function(){edit=false;if(mySearch==undefined){mySearch=new Search()}map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(c,a),b);mySearch.doSearch();GEvent.addListener(map,"moveend",function(){mySearch.doSearch()});normalProj=G_NORMAL_MAP.getProjection();var f=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,0));f.apply($("#welcome")[0]);map.getContainer().appendChild($("#welcome")[0]);map.getContainer().style.overflow="hidden";$("#welcome").hide();initSlider()})}function drawInContest(){$(document).ready(function(){var b=new GMap2(document.getElementById("map"));b.setCenter(new GLatLng(52,19),6);var a=new GPolyline([new GLatLng(49.2963600159,19.9662780762),new GLatLng(54.3813552856,18.6781311035)],"#ff0000",10);b.addOverlay(a);b.setUIToDefault()})}function userRoutesOnLoad(){edit_link=true;mySearch=new Search();mySearch.location="userRoutes";searchRoutesOnLoad()}function userRoutesProfileOnLoad(){edit_link=false;mySearch=new Search();mySearch.location="profileRoutes"}function userPlanningRoutesOnLoad(){mySearch=new Search();mySearch.location="userPlanningRoutes";searchRoutesOnLoad()}function userCompletedRoutesOnLoad(){mySearch=new Search();mySearch.location="userCompletedRoutes";searchRoutesOnLoad()}function galleryImageOnLoad(){$(document).ready(function(){$("#voiceConfirm").dialog({title:"Dodaj głos",modal:true,draggable:false,resizable:false,autoOpen:false});$("a.star_voice").click(function(){var a=$(this).attr("href");var b=$(this).text();$("#voiceConfirm").html("Czy napewno chcesz dać ocenę: "+b+"?");$("#voiceConfirm").dialog("option","buttons",{"Dodaj głos":function(){ajaxAddVoice(a);$("#voiceConfirm").dialog("close")}});$("#voiceConfirm").dialog("open");return false})})}function konkursOnLoad(kilometers){$(document).ready(function(){myRoute.add_mode=false;myRoute.presentation_mode=true;edit=false;map=new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP]});normalProj=G_NORMAL_MAP.getProjection();map_width=$("#map").css("width");map_height=$("#map").css("height");map.setCenter(new GLatLng(52,19.1),6);var customUI=map.getDefaultUI();map.setUI(customUI);map.disableScrollWheelZoom();var pos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(0,0));$("#map_overlay").css("width",map_width);$("#map_overlay").css("height",map_height);pos.apply($("#map_overlay")[0]);map.getContainer().appendChild($("#map_overlay")[0]);map.getContainer().style.overflow="hidden";$("#map_overlay").show();$.ajax({type:"POST",url:"/lr/",data:"route_id=1448",success:function(response){eval(response);var json_obiekt=route;var points=[];$.each(json_obiekt.vertex,function(){points.push(new GLatLng(this.y,this.x))});map.addOverlay(new GMarker(points[0],{icon:Icons.markerStart()}));map.addOverlay(new GMarker(points[points.length-1],{icon:Icons.markerEnd()}));var metres=kilometers*1000;if(metres>0){var dist=0;var olddist=0;var i=0;for(i=1;(i<points.length&&dist<metres);i++){olddist=dist;dist+=points[i].distanceFrom(points[i-1])}var p1=points[i-2];var p2=points[i-1];var m=(metres-olddist)/(dist-olddist);var p=new GLatLng(p1.lat()+(p2.lat()-p1.lat())*m,p1.lng()+(p2.lng()-p1.lng())*m);map.addOverlay(new GMarker(p,{icon:Icons.markerRoute()}));var p1_points=[];var p2_points=[p];for(var y=1;y<points.length;y++){if(y<i-1){p1_points.push(points[y])}else{if(y>i-1){p2_points.push(points[y])}}}p1_points.push(p);map.addOverlay(new GPolyline(p1_points,"#cc0000"));map.addOverlay(new GPolyline(p2_points))}else{var poly=new GPolyline(points);map.addOverlay(polyline)}$("#map_overlay").hide()}});document.onmousemove=positiontip})}function initSlider(){$("#slider").slider({range:true,min:0,max:100,step:5,values:[10,80]});$("#slider").bind("slide",function(a,b){$("#zoom-debug").html(b.values[0]+" - "+(b.values[1]!=100?b.values[1]:b.values[1]+"+")+" km")});$("#slider").bind("slidechange",function(a,b){mySearch.length_min=b.values[0];mySearch.length_max=b.values[1]})}function addTools(){if($("#fullscreen").length>0){var pos=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,30));pos.apply(document.getElementById("fullscreen"));map.getContainer().appendChild(document.getElementById("fullscreen"));document.getElementById("fullscreen").style.display="block"}if($("#tools")){var pos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(70,0));pos.apply(document.getElementById("tools"));map.getContainer().appendChild(document.getElementById("tools"));document.getElementById("tools").style.display="block";if($("#polyline_button").length>0&&$("#direction_button").length>0){var add_actions=["polyline","direction"];$.each(add_actions,function(){var action=this;GEvent.addDomListener($("#"+this+"_button")[0],"click",function(){if(myRoute.add_mode!=this){$("#"+action+"_button").attr("src","/images/"+action+"_s.png");myRoute.add_mode=action;$.each(add_actions,function(){if(this.toString()!=action.toString()){$("#"+this+"_button").attr("src","/images/"+this+".png")}})}else{$("#"+action+"_button").attr("src","/images/"+action+".png");myRoute.add_mode=false}});GEvent.addDomListener($("#"+this+"_button")[0],"mouseover",function(){$("#tip_arrow").css("padding-left",eval("toolsMsg."+action+"_offset"));$("#tip_arrow").show();$("#tip_msg").text(eval("toolsMsg."+action))});GEvent.addDomListener($("#"+this+"_button")[0],"mouseout",function(){$("#tip_arrow").hide();$("#tip_msg").text(toolsMsg.general)})})}if($("#delete_button").length>0){GEvent.addDomListener($("#delete_button")[0],"click",function(){if(myRoute.delete_mode){$("#delete_button")[0].src="/images/delete.png";myRoute.delete_mode=false}else{$("#delete_button")[0].src="/images/delete_s.png";myRoute.delete_mode=true}});GEvent.addDomListener($("#delete_button")[0],"mouseover",function(){$("#tip_arrow").css("padding-left",toolsMsg.delete_offset);$("#tip_arrow").show();$("#tip_msg").text(toolsMsg.deletee)});GEvent.addDomListener($("#delete_button")[0],"mouseout",function(){$("#tip_arrow").hide();$("#tip_msg").text(toolsMsg.general)})}if($("#image_button").length>0){GEvent.addDomListener($("#image_button")[0],"click",function(){if(myRoute.image_mode){$("#image_button")[0].src="/images/image.png";myRoute.image_mode=false;if(myRoute.old_mode){GEvent.trigger($("#"+myRoute.old_mode+"_button")[0],"click")}}else{$("#image_button")[0].src="/images/image_s.png";myRoute.image_mode=true;if(myRoute.imageMarker){map.removeOverlay(myRoute.imageMarker)}myRoute.imageMarker=new ImageMarker();map.addOverlay(myRoute.imageMarker);if(myRoute.add_mode&&$("#"+myRoute.add_mode+"_button").length>0){$("#"+myRoute.add_mode+"_button")[0].src="/images/"+myRoute.add_mode+".png";myRoute.old_mode=myRoute.add_mode;myRoute.add_mode=false}}});GEvent.addDomListener($("#image_button")[0],"mouseover",function(){$("#tip_arrow").css("padding-left",toolsMsg.image_offset);$("#tip_arrow").show();$("#tip_msg").text(toolsMsg.image)});GEvent.addDomListener($("#image_button")[0],"mouseout",function(){$("#tip_arrow").hide();$("#tip_msg").text(toolsMsg.general)})}}}function createMarkerNode(){iconNode=new GIcon();iconNode.image="/images/node.gif";iconNode.shadow="";iconNode.iconSize=new GSize(10,10);iconNode.shadowSize=new GSize(0,0);iconNode.iconAnchor=new GPoint(5,5);iconNode.infoWindowAnchor=new GPoint(5,5);iconNode.maxHeight=1;helpMarker=new GMarker(map.getCenter());map.addOverlay(helpMarker);helpMarker.hide();if(edit){markerNode=new GMarker(map.getCenter(),{icon:iconNode,draggable:true});GEvent.addListener(markerNode,"dragstart",function(){isDragged=1;var b=markerNode.myNeighbour.myRoutePart;var f=null;var a=99999999;for(var c=1;c<b.points.length;c++){var n=b.points[c-1];var l=b.points[c];var j=n.distanceFrom(l);var k=n.distanceFrom(markerNode.getPoint());var h=l.distanceFrom(markerNode.getPoint());if((k+h-j)<a){f=c;a=k+h-j}}markerNode.oldPoint=markerNode.getPoint();tempIndex=f;b.addPoint(markerNode.getPoint(),tempIndex);addTempPoint=1});GEvent.addListener(markerNode,"dragend",function(){var b=myRoute.addUserPoint(markerNode.getPoint());var a=markerNode.myNeighbour.myRoutePart;a.removePointOnIndex(tempIndex);a.addPoint(markerNode.getPoint(),tempIndex);a.draw();b.myRouteParts.push(a);tempIndex=-1;addTempPoint=0;isDragged=0});GEvent.addListener(markerNode,"drag",function(){setTimeout(function(){if(markerNode.getPoint().distanceFrom(markerNode.oldPoint)>50){var a=markerNode.myNeighbour.myRoutePart;a.points[tempIndex]=markerNode.getPoint();a.draw();markerNode.oldPoint=markerNode.getPoint()}},timeout)})}else{markerNode=new GMarker(map.getCenter(),{icon:Icons.markerChart(),draggable:false});GEvent.addListener(markerNode,"mouseover",function(){})}map.addOverlay(markerNode);markerNode.hide()}function fullScreen(b){var a=$("#map");if(fullscreen){a.css("position","relative");a.css("top","0px");a.css("left","0px");a.css("width",map_width);a.css("height",map_height);a.css("z-index","1000");fullscreen=false;$("#tip_arrow").show();$("#tip_msg").show()}else{a.css("position","fixed");a.css("top","0px");a.css("left","0px");a.css("width","100%");a.css("height","100%");a.css("z-index","9999");fullscreen=true;$("#tip_arrow").hide();$("#tip_msg").hide()}map.checkResize();if(b){calculateBestZoom()}}function mapLocation(){if(geocoder){geocoder.getLatLng($("#location").val(),function(a){if(!a){alert($("#location").val()+" nie został znaleziony")}else{map.setCenter(a,13)}})}}function loadRoute(json,id,name){time=0;if(!json.routeParts){eval(json);var json_obiekt=route}else{var json_obiekt=json}myRoute.name=name;myRoute.id=id;myRoutes.push(myRoute);if(edit){var i=0;var ii=1;$.each(json_obiekt.routeParts,function(){var points=[];$.each(this.points,function(){points.push(new GLatLng(this.y,this.x))});if(this.type=="direction"){var route=myRoute.createRoutePart(points,this.index,this.type);routePartsToDraw.push(route);var index=routePartsToDraw.indexOf(route);var s="routePartsToDraw["+index+'].draw(); $("#loading_p").text(('+ii+"/routePartsToDraw.length*100).toFixed(0));";setTimeout(s,time+=1000);ii++}else{var route=myRoute.createRoutePart(points,this.index,this.type);route.draw()}if(this.index>=routePartIndex){routePartIndex=this.index+1}if($("#map_overlay").length>0&&++i==json_obiekt.routeParts.length){s='$("#map_overlay").hide();';setTimeout(s,time+=1000)}});$.each(json_obiekt.userPoints,function(){var newMarker=myRoute.addUserPoint(new GLatLng(this.y,this.x),this.myRouteParts);newMarker.index=this.index;if(this.descr){newMarker.descr=this.descr}if(this.title){newMarker.title=this.title}if(newMarker.index==json_obiekt.endMarker){myRoute.setAsEndMarker(newMarker)}if(newMarker.index==json_obiekt.startMarker){myRoute.setAsStartMarker(newMarker)}if(this.index>=markerIndex){markerIndex=this.index+1}})}else{var points=[];$.each(json_obiekt.vertex,function(){points.push(new GLatLng(this.y,this.x))});var route=myRoute.createRoutePart(points,1,"polyline");route.draw();$.each(json_obiekt.userPoints,function(){var newMarker=myRoute.addUserPoint(new GLatLng(this.y,this.x),[1]);newMarker.index=this.index;newMarker.title=this.title;newMarker.descr=this.descr;if(newMarker.index==json_obiekt.endMarker){myRoute.setAsEndMarker(newMarker)}else{if(newMarker.index==json_obiekt.startMarker){myRoute.setAsStartMarker(newMarker)}else{if((this.descr!=""&&this.descr!=undefined)||(this.title!=""&&this.title!=undefined)){var info_marker=new InfoMarker(new GLatLng(this.y,this.x),this.title,this.descr);map.addOverlay(info_marker)}}}})}if(id!=1448){calculateBestZoom()}}function mapClick(a,b){if(myRoute.add_mode){if(edit){if(b){myRoute.addRoutePart(b)}else{if(a.isEnd){myRoute.addRoutePart(a.getPoint())}}}}else{if(myRoute.image_mode){GEvent.trigger($("#image_button")[0],"click");myRoute.imageMarker.openInfoWindow()}}}function afterZoomRefresh(){for(g=0;g<myRoutes.length;g++){for(p=0;p<myRoutes[g].routeParts.length;p++){myRoutes[g].routeParts[p].routePixels.clear();if(myRoutes[g].routeParts[p].polyline){for(var b=0;b<myRoutes[g].routeParts[p].polyline.getVertexCount();b++){var a=normalProj.fromLatLngToPixel(myRoutes[g].routeParts[p].polyline.getVertex(b),map.getZoom());a.myRoutePart=myRoutes[g].routeParts[p];myRoutes[g].routeParts[p].routePixels.push(a)}}}}loadImages()}function searchRouteOnId(a){for(g=0;g<myRoutes.length;g++){if(myRoutes[g].id==a){return myRoutes[g]}}}function showInfo(a,c,h){if(!$("#route_info")){d=document.createElement("div");d.id="route_info"}else{d=$("#route_info")}if(!c&&!h){if(a.myNeighbour){var b=a.myNeighbour.myRoutePart.myRoute}else{if(a.myRouteParts.length>0){var b=a.myRouteParts[0].myRoute}}var c=b.name;var h=Math.round(b.getLenght()/10)/100}var f="<b>"+c+"</b> ("+h+"km)";if(edit_link){if(map.getZoom()<13){f+='<div class="pmap_click">Kliknij aby przybliżyć</div>'}else{f+='<div class="pmap_click">Kliknij aby edytować</div>'}}d.innerHTML=f;p=G_NORMAL_MAP.getProjection().fromLatLngToPixel(a.getPoint(),map.getZoom());m=G_NORMAL_MAP.getProjection().fromLatLngToPixel(map.getBounds().getNorthEast(),map.getZoom());pos=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(Math.abs(p.x-m.x)-180,Math.abs(p.y-m.y)-40));pos.apply(d);d.style.display="block";map.getContainer().appendChild(d);map.getContainer().style.overflow="hidden"}function getProximity(V,U){if(!myRoute.image_mode&&(myRoute.add_mode||myRoute.presentation_mode)){if(isDragged){return}var X=map.getZoom();var j=normalProj.fromLatLngToPixel(V,X);var W=999;var l=j.x;var n=j.y;var a=0;var k=0;for(var aa=0;aa<myRoutes.length;aa++){for(i=0;i<myRoutes[aa].routeParts.length;i++){var z=myRoutes[aa].routeParts[i].routePixels;if(z.length>1){for(var q=0;++q<z.length;){var O=z[q].x;var S=z[q].y;var w=j.x-z[q-1].x;var x=j.y-z[q-1].y;var b=w*w+x*x;w=j.x-O;x=j.y-S;var f=w*w+x*x;w=O-z[q-1].x;x=S-z[q-1].y;var o=w*w+x*x;var v=((j.x-O)*w+(j.y-S)*x)/(w*w+x*x);O=O+v*w;S=S+v*x;w=j.x-O;x=j.y-S;var t=w*w+x*x;if((b-t)+(f-t)>o){if(b<f){t=b;O=z[q-1].x;S=z[q-1].y}else{t=f;O=z[q].x;S=z[q].y}}if(W>t){W=t;l=O;n=S;markerNode.myNeighbour=z[q];k=q}}if(myRoute.presentation_mode){var Z=500}else{var Z=25}if(W<Z){markerNode.setPoint(normalProj.fromPixelToLatLng(new GPoint(l,n),X));markerNode.show();if(myRoute.presentation_mode){for(var ab=0;ab<myRoutes.length;ab++){for(ii=0;ii<myRoutes[ab].routeParts.length;ii++){var z=myRoutes[ab].routeParts[ii].routePixels;for(var r=1;r<=k;r++){a+=normalProj.fromPixelToLatLng(z[r],map.getZoom()).distanceFrom(normalProj.fromPixelToLatLng(z[r-1],map.getZoom()))}}}a-=markerNode.getPoint().distanceFrom(normalProj.fromPixelToLatLng(markerNode.myNeighbour,map.getZoom()));old_distance=a;a=parseInt(a/10)/100;var Y=a-parseInt(a);old_h=Y;if(myRoute.chart){for(var T=0;T<1;T+=myRoute.chart.step/1000){if(Y>=T&&Y<T+myRoute.chart.step/1000){Y=T;break}}Y=parseFloat(Y.toFixed(2));a=parseInt(a)+Y;myRoute.chart.refresh(a*myRoute.chart.scale)}break}}else{markerNode.hide();if(!edit&&!mouseOverMarker&&$("#route_info").length>0){$("#route_info").css("display","none")}}}}}}else{if(myRoute.image_mode){myRoute.imageMarker.setPoint(V)}}}function Route(){this.id;this.name;this.userPoints=$.protify([],true);this.markers=$.protify([],true);this.routeParts=$.protify([],true);this.startMarker;this.endMarker;this.activeRoutePart;this.add_mode;this.presentation_mode=false;this.old_mode;this.delete_mode=false;this.image_mode=false;this.imageMarker;this.kmMarkers=$.protify([],true);this.infoMarkers=$.protify([],true);this.chart;this.imageMarkers=$.protify([],true);this.addUserPoint=function(point,route_parts){if(edit){var newMarker=new GMarker(point,{draggable:true,icon:Icons.markerVertex()})}else{var newMarker=new GMarker(point,{draggable:false})}newMarker.myRouteParts=$.protify([],true);newMarker.index=markerIndex++;if(route_parts){for(i=0;i<route_parts.length;i++){for(y=0;y<this.routeParts.length;y++){if(this.routeParts[y].index==route_parts[i]){newMarker.myRouteParts.push(this.routeParts[y])}}}}map.addOverlay(newMarker);newMarker.descr="";newMarker.title="";this.userPoints.push(newMarker);this.addUserPointEventListeners(newMarker);return newMarker};this.addUserPointEventListeners=function(newMarker){if(edit){GEvent.addListener(newMarker,"dragstart",function(){newMarker.oldPoint=newMarker.getPoint();newMarker.closeInfoWindow()});GEvent.addListener(newMarker,"drag",function(){setTimeout(function(){if(newMarker.getPoint().distanceFrom(newMarker.oldPoint)>50){for(i=0;i<newMarker.myRouteParts.length;i++){for(y=0;y<newMarker.myRouteParts[i].points.length;y++){if(newMarker.myRouteParts[i].points[y].equals(newMarker.oldPoint)){newMarker.myRouteParts[i].points[y]=newMarker.getPoint();newMarker.myRouteParts[i].draw()}}}newMarker.oldPoint=newMarker.getPoint()}},timeout)});GEvent.addListener(newMarker,"dragend",function(){for(i=0;i<myRoute.routeParts.length;i++){for(y=0;y<myRoute.routeParts[i].points.length;y++){if(myRoute.routeParts[i].points[y].equals(newMarker.oldPoint)){myRoute.routeParts[i].points[y]=newMarker.getPoint();myRoute.routeParts[i].draw()}}}newMarker.oldPoint=newMarker.getPoint()});GEvent.addListener(newMarker,"click",function(){if(myRoute.delete_mode){var first=0;var points=$.protify([],true);myRoute.userPoints=myRoute.userPoints.without(newMarker);if(myRoute.endMarker==newMarker){if(myRoute.userPoints.length>0){var endMarker_point;for(var i=0;i<newMarker.myRouteParts[0].points.length;i++){var p=newMarker.myRouteParts[0].points[i];if(p.equals(newMarker.getPoint())){endMarker_point=newMarker.myRouteParts[0].points[i-1]}}for(var i=0;i<myRoute.userPoints.length;i++){if(myRoute.userPoints[i].getPoint().equals(endMarker_point)){myRoute.setAsEndMarker(myRoute.userPoints[i]);break}}if(myRoute.startMarker==myRoute.endMarker){myRoute.setAsStartMarker(myRoute.endMarker)}}else{myRoute.setAsEndMarker(null)}}if(myRoute.startMarker==newMarker){if(myRoute.userPoints.length>0){myRoute.setAsStartMarker(myRoute.userPoints[0])}else{myRoute.setAsStartMarker(null);if(newMarker.myRouteParts.length>0){myRoute.removeRoutePart(newMarker.myRouteParts[0])}}}var r=$.protify([],true);if(newMarker.myRouteParts.length>1){newMarker.myRouteParts.each(function(route_part){r.clear();route_part.points.each(function(point){if(point.equals(newMarker.getPoint())){r=route_part.points.without(point)}});r.each(function(point){if(points.indexOf(point)==-1){points.push(point)}})});var newRoutePart=myRoute.createRoutePart(points);newMarker.myRouteParts.each(function(route_part){myRoute.userPoints.each(function(user_point){var index=user_point.myRouteParts.indexOf(route_part);if(index!=-1){user_point.myRouteParts.splice(index,1,newRoutePart)}});myRoute.removeRoutePart(route_part)});newRoutePart.draw()}else{if(newMarker.myRouteParts.length==1){newMarker.myRouteParts[0].points.each(function(point){if(point.equals(newMarker.getPoint())){newMarker.myRouteParts[0].points=newMarker.myRouteParts[0].points.without(point)}});if(newMarker.myRouteParts[0].points.length>1){newMarker.myRouteParts[0].draw()}else{myRoute.removeRoutePart(newMarker.myRouteParts[0])}}}map.removeOverlay(newMarker);GEvent.trigger($("#delete_button")[0],"click");myRoute.updateAddedKilometers()}else{newMarker.openInfoWindowHtml('<div class="pmap_window"><table><tr><td>Tytuł:</td><td><input onkeyup="updateMarkerTitle(this.name, this.value)" name="'+newMarker.index+'" type="text" value="'+(newMarker.title?newMarker.title:"")+'" /></td></tr><tr><td>Opis:</td><td><textarea onkeyup="updateMarkerDescr(this.name, this.value)" name="'+(newMarker.index)+'">'+(newMarker.descr?newMarker.descr:"")+'</textarea></td></tr></table><a onclick="myRoute.delete_mode=1; GEvent.trigger(findMarker(this.className), \'click\'); myRoute.delete_mode=0;return false" class="'+newMarker.index+'" style="cursor: pointer"><img src="/images/p_del.png" alt="[del]" /> Usuń punkt</a></div>')}})}else{newMarker.hide()}};this.createEndMarker=function(point){var baseIcon=new GIcon(G_DEFAULT_ICON);baseIcon.image="/images/marker_end.png";baseIcon.shadow="http://www.google.com/mapfiles/shadow50.png";baseIcon.iconSize=new GSize(20,34);baseIcon.shadowSize=new GSize(37,34);baseIcon.iconAnchor=new GPoint(9,34);baseIcon.infoWindowAnchor=new GPoint(9,2);baseIcon.infoShadowAnchor=new GPoint(18,25);markerOptions={icon:baseIcon};var marker=new GMarker(point,markerOptions);return marker};this.addZoomOrEditOnClickListener=function(marker){GEvent.addListener(marker,"click",function(){if(marker.myNeighbour){var route=marker.myNeighbour.myRoutePart.myRoute}else{if(marker.myRouteParts){var route=marker.myRouteParts[0].myRoute}}if(route){if(map.getZoom()<13){calculateBestZoom(route.userPoints)}else{parent.location.href="/edytuj-trase/"+route.id}}})};this.setAsEndMarker=function(marker){if(marker){if(this.endMarker&&this.endMarker!=this.startMarker){this.endMarker.setIcon(Icons.markerVertex())}marker=marker.setIcon(Icons.markerEnd());marker.show();this.endMarker=marker}else{this.endMarker=null}if(edit_link&&marker.myRouteParts.length>0){this.addZoomOrEditOnClickListener(marker)}else{if((marker.title&&marker.title!="")||(marker.descr&&marker.descr!="")){GEvent.addListener(marker,"mouseover",function(){show_marker_help(marker.title,marker.descr)});GEvent.addListener(marker,"mouseout",function(){hidehelp()})}}if(marker){return marker}};this.setAsStartMarker=function(marker){if(marker){marker=marker.setIcon(Icons.markerStart());marker.show();this.startMarker=marker}else{this.startMarker=null}if(edit_link&&marker.myRouteParts.length>0){this.addZoomOrEditOnClickListener(marker)}else{if((marker.title&&marker.title!="")||(marker.descr&&marker.descr!="")){GEvent.addListener(marker,"mouseover",function(){show_marker_help(marker.title,marker.descr)});GEvent.addListener(marker,"mouseout",function(){hidehelp()})}}if(marker){return marker}};this.addRoutePart=function(clickedPoint){var newMarker=this.addUserPoint(clickedPoint);if(this.startMarker){var points=[this.endMarker.getPoint(),clickedPoint];var routePart=this.createRoutePart(points);routePart.draw();newMarker.myRouteParts.push(routePart);indexOfEndMarker=this.userPoints.indexOf(this.endMarker);this.userPoints[indexOfEndMarker].myRouteParts.push(routePart)}if(!this.startMarker){this.endMarker=this.setAsStartMarker(newMarker)}else{this.setAsEndMarker(newMarker)}};this.createRoutePart=function(points,index,type){if(!index&&!type){if(myRoute.add_mode=="polyline"){var routePart=new RoutePart("polyline",points,false,this)}else{if(myRoute.add_mode=="direction"){var routePart=new RoutePart("direction",points,false,this)}}}else{var routePart=new RoutePart(type,points,index,this)}this.routeParts.push(routePart);return routePart};this.removeRoutePart=function(route_part){route_part.removePolyline();this.routeParts=this.routeParts.without(route_part);myRoute.userPoints.each(function(user_point){user_point.myRouteParts=user_point.myRouteParts.without(route_part)})};this.searchRoutePartOnIndex=function(index){for(i=0;i<this.routeParts.length;i++){if(this.routeParts[i].index==index){return this.routeParts[i]}}};this.getLenght=function(){var lenght=0;this.routeParts.each(function(route_part){if(route_part.getPolyline()!=undefined){lenght+=route_part.getPolyline().getLength()}});return lenght};this.getElevation=function(marker){marker.getElevation()};this.setDistanceMarker=function(length){var zoom=map.getZoom();var km=0;u=250;var distance=0;var vertex=[];$.each(this.routeParts,function(){var poly=this.getPolyline();for(var i=0;i<poly.getVertexCount();i++){vertex.push(poly.getVertex(i))}});var point=vertex[0];for(var i=1;i<vertex.length;i++){var point2=vertex[i];var d=point.distanceFrom(point2);distance+=d;if(distance>=length){var vx=(parseFloat(point.lat())-parseFloat(point2.lat()))/d;var vy=(parseFloat(point.lng())-parseFloat(point2.lng()))/d;var lat=parseFloat(point2.lat())+vx*(distance-length);var lng=parseFloat(point2.lng())+vy*(distance-length);markerNode.setPoint(new GLatLng(lat,lng));markerNode.show();return}point=point2}};this.showKm=function(admin,step){var zoom=map.getZoom();var km=0;if(admin){var u=this.chart.step}else{if(step){var u=step}else{var u=map.getZoom()<9?10000:map.getZoom()<12?5000:1000}}var u2=u/1000;var distance=0;var vertex=[];$.each(this.routeParts,function(){var poly=this.getPolyline();for(var i=0;i<poly.getVertexCount();i++){vertex.push(poly.getVertex(i))}});var point=vertex[0];this.kmMarkers.push(new KmMarker(this.startMarker.getLatLng(),0));for(var i=1;i<vertex.length;i++){var point2=vertex[i];var d=point.distanceFrom(point2);distance+=d;var vx=(parseFloat(point.lat())-parseFloat(point2.lat()))/d;var vy=(parseFloat(point.lng())-parseFloat(point2.lng()))/d;while(distance>u){distance-=u;var lat=parseFloat(point2.lat())+distance*vx;var lng=parseFloat(point2.lng())+distance*vy;km+=u2;km=parseFloat(km.toFixed(2));var marker=new KmMarker(new GLatLng(lat,lng),km);map.addOverlay(marker);this.kmMarkers.push(marker)}point=point2}};this.getPointAtDistance=function(metres){if(metres==0){return this.getVertex(0)}if(metres<0){return null}var dist=0;var olddist=0;log(this.routeParts.length);var poly;var i=0;$.each(this.routeParts,function(){poly=this.getPolyline();for(i=1;(i<poly.getVertexCount()&&dist<metres);i++){olddist=dist;dist+=poly.getVertex(i).distanceFrom(poly.getVertex(i-1))}});if(dist<metres){return null}var p1=poly.getVertex(i-2);var p2=poly.getVertex(i-1);var m=(metres-olddist)/(dist-olddist);var p=new GLatLng(p1.lat()+(p2.lat()-p1.lat())*m,p1.lng()+(p2.lng()-p1.lng())*m);map.addOverlay(new GMarker(p,{icon:Icons.markerRoute()}))};this.getDistance=function(p){var distance=0;var min_distance=99999999;var vertex=[];$.each(this.routeParts,function(){var poly=this.getPolyline();for(var i=0;i<poly.getVertexCount();i++){vertex.push(poly.getVertex(i))}});var point=vertex[0];for(var i=1;i<vertex.length;i++){var point2=vertex[i];var d=point.distanceFrom(point2);var s=point2.distanceFrom(p.getPoint());if(s<min_distance){min_distance=s}point=point2}return distance};this.toJSON=function(){var p=[];var i=0;var json=new MyJson();myRoute.userPoints.each(function(marker){json.userPoints[i]={};json.userPoints[i].index=marker.index;json.userPoints[i].x=marker.getPoint().x;json.userPoints[i].y=marker.getPoint().y;json.userPoints[i].myRouteParts=$.protify([],true);marker.myRouteParts.each(function(route_part){json.userPoints[i].myRouteParts.push(route_part.index)});json.userPoints[i].descr=marker.descr;json.userPoints[i].title=marker.title;i++});if(myRoute.startMarker){var point;var route_part=myRoute.startMarker.myRouteParts[0];var temp=$.protify([route_part],true);point=route_part.points[route_part.points.length-1];route_part.points.each(function(s){myRoute.routeParts.each(function(r){if(r!=route_part){r.points.each(function(p){if(p.equals(s)){point=s}})}})});var next;var i=0;do{if(!route_part.polyline){route_part.draw()}for(var y=0;y<route_part.polyline.getVertexCount();y++){json.vertex[i]={};json.vertex[i].x=route_part.polyline.getVertex(y).x;json.vertex[i].y=route_part.polyline.getVertex(y).y;i++}next=0;myRoute.routeParts.each(function(r){if(r!=route_part&&temp.indexOf(r)==-1){$.each(r.points,function(){if(this.equals(point)){route_part=r;temp.push(r);next=1}})}});if(next==0){route_part.points.each(function(s){myRoute.routeParts.each(function(r){if(r!=route_part&&temp.indexOf(r)==-1){r.points.each(function(p){if(p.equals(s)){route_part=r;temp.push(r);point=s;next=1}})}})})}}while(next==1)}i=0;myRoute.routeParts.each(function(route_part){json.routeParts[i]={};json.routeParts[i]=route_part.toJSON();i++});json.startMarker=myRoute.startMarker.index;json.endMarker=myRoute.endMarker.index;return $.toJSON(json)};this.prepareToSave=function(){if($("#myRoute_json").length>0){var result=true;if(myRoute.userPoints.length>1||myRoute.markers.length>0){$("#myRoute_json").val(myRoute.toJSON());$("#route_length").val(myRoute.getLenght());$("#map_advice").hide()}else{$("#map_advice").show();result=false}if(result==true){var t=calculateBestZoom(myRoute.userPoints,1);$("#route_zoom").val(t[0]);$("#route_min_x").val(t[1]);$("#route_min_y").val(t[2]);$("#route_max_x").val(t[3]);$("#route_max_y").val(t[4]);$("#route_start_x").val(myRoute.startMarker.getPoint().x);$("#route_start_y").val(myRoute.startMarker.getPoint().y);$("#route_end_x").val(myRoute.endMarker.getPoint().x);$("#route_end_y").val(myRoute.endMarker.getPoint().y)}return result}else{return true}};this.setId=function(json){eval("var json_object = ("+json+")");if(json_object.id){$("#route_id").val(json_object.id)}};this.updateAddedKilometers=function(){if($("#kilometers").length>0){$("#kilometers").text((this.getLenght()/1000).toFixed(1))}}}function Chart(a){this.container=a;this.elevation_px=new Object();this.elevation=[];this.scale;this.step;this.offset=parseInt($("#chart_slider").css("left"));this.arrow_offset=(-1)*$("#chart_arr").width()/2;$("#chart_ov").css("margin-left",this.arrow_offset);if($("#chart").width()+parseInt($("#chart_slider").css("left"))>$("#chart_cont").width()){this.slide=true;this.slide_min=$("#chart_cont").width()/2-this.offset;this.slide_max=$("#chart").width()-this.slide_min}else{this.slide=false}this.max_slider_offset=(-1)*($("#chart").width()-2*this.slide_min-parseInt(this.offset));this.height=$("#chart_ov").height();this.arrow_height=$("#chart_arr").height();if(this.container){this.container.mousemove(function(c){if(mouse_move==0||Math.abs(mouse_move-c.pageX)<25){mouse_move=c.pageX;var f=parseInt($("#chart_slider").offset().left-myRoute.chart.offset);var b=c.pageX-f-1;if(myRoute.chart.refresh(b)){myRoute.setDistanceMarker(b/myRoute.chart.scale*1000)}}})}}Chart.prototype={setElevation:function(c){this.elevation=c;var a;for(var b in this.elevation){if(this.elevation[b]==-9999){this.elevation[b]=0}if(this.elevation[b]>800){this.elevation[b]=800}a=Math.floor(this.height-c[b]/800*this.height-this.arrow_height);this.elevation_px[b/1000*this.scale]=a}},setScale:function(a){this.scale=a},setStep:function(a){this.step=a},refresh:function(a){var c=this.elevation_px[a];if(c){if(this.slide&&a>this.slide_min&&a<this.slide_max){$("#chart_slider").css("margin-left",(-1)*(a-this.slide_min));$("#chart_arr").css("padding-left",this.slide_min)}else{var b=a-3+parseInt($("#chart_slider").css("margin-left"));if(b<0){b=0}$("#chart_arr").css("padding-left",b);if(this.slide){if(a<this.slide_min){$("#chart_slider").css("margin-left",0)}else{$("#chart_slider").css("margin-left",this.max_slider_offset)}}}$("#chart_arr").css("margin-top",c);return true}return false},calculateScaleAndStep:function(a){if(a<=20000){this.step=100;this.scale=30}else{if(a>80000){this.step=1000;this.scale=4}else{this.step=250;this.scale=12}}},getElevations:function(){if(this.route.kmMarkers.length>0){var c=0;for(var a=0;a<this.route.kmMarkers.length;a++){var b="myRoute.getElevation(myRoute.kmMarkers["+a+"])";setTimeout(b,c);c+=1500}}},draw:function(){var l=[];var a=[];var k=Math.floor(this.route.kmMarkers[this.route.kmMarkers.length-1].km/5);this.route.kmMarkers.each(function(n){if(n.height==-9999){n.height=0}else{if(n.height>800){n.height=800}}l.push(n.height);if(n.km!=0&&n.km%k==0){a.push(n.km)}else{a.push("")}});var f=this.route.getLenght()/5;if(l.length>0){var b=document.createElement("img");e=Math.round(k/this.route.kmMarkers[this.route.kmMarkers.length-1].km*10000)/100;for(var c=0;c<l.length;c++){l[c]=extendedEncoding(l[c],800)}var h=this.route.kmMarkers[this.route.kmMarkers.length-1].km*this.scale+23;b.src="http://chart.apis.google.com/chart?cht=lc&chd=e:"+l.join("")+"&chds=0,800&chxr=1,0,200&chco=339933&chls=2.0,0.0,0.0&chxt=x,y&chs="+h+"x200&chg="+e+",25,1,5&chm=B,E2F5E2,0,0,0&chf=bg,s,ffffff00&chxl=0:|"+a.join("|")+"|1:|0||200||400||600||800";$("#chart")[0].appendChild(b);var j=document.createElement("img");j.src="http://chart.apis.google.com/chart?cht=lc&chd=e:"+l.join("")+"&chds=0,800&chxr=1,0,200&chco=339933&chls=2.0,0.0,0.0&chs=400x200&chm=B,E2F5E2,0,0,0&chf=bg,s,ffffff00";$("#chart")[0].appendChild(j);$.post("/admin.php/routes/saveChart",{id:this.route.id,chart:b.src,chart2:j.src,step:this.step,scale:this.scale},function(n){alert(n)})}}};var Tile=function(j,f,c,h){this.map;this.coord_w=j;this.coord_n=f;this.coord_e=c;this.coord_s=h;var b=new GLatLngBounds(new GLatLng(this.coord_s,this.coord_w),new GLatLng(this.coord_n,this.coord_e));this.bounds=b;var a="["+this.coord_n+","+this.coord_w+","+this.coord_s+","+this.coord_e+"]";this.html1='<div class="routes_area_div" onmouseover="this.parentNode.className=\'routes_area routes_area2\'" onmouseout="this.parentNode.className=\'routes_area\'" onclick=\'map.setCenter(new GLatLng('+b.getCenter().lat()+", "+b.getCenter().lng()+"), "+map.getBoundsZoomLevel(b)+")'><br><br><span>";this.html2="</span></div>";this.initialize=function(k){this.map=k;this.span=document.createElement("span");this.redraw()};this.redraw=function(l){var k=map.fromLatLngToDivPixel(new GLatLng(this.bounds.getCenter().lat(),this.bounds.getCenter().lng()));var q=map.fromLatLngToDivPixel(new GLatLng(this.coord_n,this.coord_e));var w=map.fromLatLngToDivPixel(new GLatLng(this.coord_s,this.coord_w));this.span.className="routes_area";var v=map.fromLatLngToContainerPixel(new GLatLng(this.coord_n,this.coord_w));var t=map.fromLatLngToContainerPixel(new GLatLng(this.coord_s,this.coord_e));var x=Math.abs(w.y-q.y);var n=Math.abs(q.x-w.x);var r=q.y;var o=w.x;this.span.style.left=o+"px";this.span.style.top=r+"px";this.span.style.width=n+"px";this.span.style.height=x+"px";this.span.innerHTML=this.html1+this.html2;map.getPane(G_MAP_MAP_PANE).appendChild(this.span)};this.copy=function(){};this.setNumber=function(k){if(this.span){this.span.innerHTML=this.html1+k+" Tras"+this.html2}};this.remove=function(){if(this.span){map.getPane(G_MAP_MAP_PANE).removeChild(this.span)}}};Tile.prototype=new GOverlay();function MyJson(){this.userPoints=[];this.markers=[];this.routeParts=[];this.startMarker;this.endMarker;this.vertex=[]}function RoutePart(f,c,b,a){this.myRoute=a;this.type=f;this.polyline;this.points=$.protify(c,true);this.routePixels=$.protify([],true);if(b){this.index=b}else{this.index=routePartIndex++}this.overlays=$.protify([],true);this.draw=function(){if(this.polyline){}if(this.type=="polyline"){var k=new GPolyline(this.points);this.overlays.push(k);$.each(this.overlays,function(){map.removeOverlay(this)});map.addOverlay(k);this.routePixels.clear();for(var j=0;j<k.getVertexCount();j++){var h=normalProj.fromLatLngToPixel(k.getVertex(j),map.getZoom());h.myRoutePart=this;this.routePixels.push(h)}this.polyline=k;myRoute.updateAddedKilometers()}else{if(this.type=="direction"){var l=new GDirections();l.myRoutePart=this;GEvent.addListener(l,"load",function(q){k=q.getPolyline();if(k){$.each(q.myRoutePart.overlays,function(){map.removeOverlay(this)});map.addOverlay(k);q.myRoutePart.overlays.push(k);q.myRoutePart.routePixels.clear();for(var o=0;o<k.getVertexCount();o++){var n=normalProj.fromLatLngToPixel(k.getVertex(o),map.getZoom());n.myRoutePart=q.myRoutePart;q.myRoutePart.routePixels.push(n)}}q.myRoutePart.polyline=k;myRoute.updateAddedKilometers()});l.loadFromWaypoints(this.points,{getPolyline:true})}}};this.addPoint=function(h,j){this.points.splice(j,0,h)};this.removePoint=function(h){this.points=this.points.without(h)};this.removePointOnIndex=function(h){this.points.splice(h,1)};this.removePolyline=function(){this.overlays.each(function(h){map.removeOverlay(h)})};this.getPolyline=function(){return this.polyline};this.toJSON=function(){var j={};j.index=this.index;j.type=this.type;j.points=[];var h=0;this.points.each(function(k){j.points[h]={x:k.x,y:k.y};h++});return j}}var Icons={icons:{},markerEnd:function(){if(!this.icons.markerEnd){this.icons.markerEnd=$.extend(new GIcon(),{image:"/images/marker/route_end.png",shadow:"/images/marker/route_shadow.png",iconSize:new GSize(32,32),hadowSize:new GSize(49,32),iconAnchor:new GPoint(16,32),infoWindowAnchor:new GPoint(16,32),infoShadowAnchor:new GPoint(16,32)})}this.icons.markerEnd.prototype=new GIcon();return this.icons.markerEnd},markerStart:function(){if(!this.icons.markerStart){this.icons.markerStart=$.extend(new GIcon(),{image:"/images/marker/route_start.png",shadow:"/images/marker/route_shadow.png",iconSize:new GSize(32,32),hadowSize:new GSize(49,32),iconAnchor:new GPoint(16,32),infoWindowAnchor:new GPoint(16,32),infoShadowAnchor:new GPoint(16,32)})}return this.icons.markerStart},markerVertex:function(){if(!this.icons.markerVertex){this.icons.markerVertex=$.extend(new GIcon(),{image:"/images/marker/route_vertex.png",shadow:"/images/marker/shadow.png",iconSize:new GSize(12,20),shadowSize:new GSize(22,20),iconAnchor:new GPoint(6,20),infoWindowAnchor:new GPoint(6,1),infoShadowAnchor:new GPoint(13,13)})}return this.icons.markerVertex},markerKm:function(){if(!this.icons.markerKm){this.icons.markerKm=$.extend(new GIcon(),{image:"/images/marker/km.gif",iconSize:new GSize(10,10),shadowSize:new GSize(0,0),iconAnchor:new GPoint(5,5),infoWindowAnchor:new GPoint(5,5),infoShadowAnchor:new GPoint(0,0)})}return this.icons.markerKm},markerImage:function(){if(!this.icons.markerImage){this.icons.markerImage=$.extend(new GIcon(),{image:"/images/marker/route_photo.png",shadow:"/images/marker/route_shadow.png",iconSize:new GSize(32,32),hadowSize:new GSize(49,32),iconAnchor:new GPoint(16,32),infoWindowAnchor:new GPoint(16,32),infoShadowAnchor:new GPoint(16,32)})}return this.icons.markerImage},markerRoute:function(){if(!this.icons.markerRoute){this.icons.markerRoute=$.extend(new GIcon(),{image:"/images/marker/route.png",shadow:"/images/marker/shadow.png",iconSize:new GSize(32,32),shadowSize:new GSize(49,32),iconAnchor:new GPoint(16,32),infoWindowAnchor:new GPoint(16,32),infoShadowAnchor:new GPoint(16,32)})}return this.icons.markerRoute},markerRoute_h:function(){if(!this.icons.markerRoute_h){this.icons.markerRoute_h=$.extend(new GIcon(),{image:"/images/marker/route_h.png",shadow:"/images/marker/shadow.png",iconSize:new GSize(32,32),shadowSize:new GSize(49,32),iconAnchor:new GPoint(16,32),infoWindowAnchor:new GPoint(16,32),infoShadowAnchor:new GPoint(16,32)})}return this.icons.markerRoute_h},markerChart:function(){if(!this.icons.markerChart){this.icons.markerChart=$.extend(new GIcon(),{image:"/images/marker/route_arrow.png",shadow:"/images/marker/shadow.png",iconSize:new GSize(22,40),shadowSize:new GSize(46,40),iconAnchor:new GPoint(11,40),infoWindowAnchor:new GPoint(11,40),infoShadowAnchor:new GPoint(11,40)})}return this.icons.markerChart}};var RouteMarker=function(latlng,id,name,length,points){this.inheritFrom=GMarker;this.inheritFrom(latlng,{icon:Icons.markerRoute()});this.name=name;this.length=length;this.id=id;this.highlight=0;this.div;this.polyline;this.load=0;GEvent.addListener(this,"mouseover",function(){if(this.highlight==0){this.highlight=1;if(!this.div){this.createInfoDiv()}this.showInfoDiv();this.setImage("images/marker/route_h.png");if(!this.polyline||!(this.polyline instanceof GPolyline)){this.loadPolyline()}else{this.polyline.show()}}});GEvent.addListener(this,"mouseout",function(){if(this.highlight==1){this.highlight=0;this.setImage("images/marker/route.png");if(this.polyline){this.polyline.hide()}if(this.div){this.div.style.display="none"}}});if(edit_link){GEvent.addListener(this,"click",function(){document.location.href="/edytuj-trase/"+this.id})}else{GEvent.addListener(this,"click",function(){document.location.href="/trasa/"+this.id})}this.loadPolyline=function(){if(!this.load){var that=this;that.load=1;new $.post("/routes/loadRoute",{route_id:that.id},function(response){eval(response);if(route){var points=[];$.each(route.vertex,function(){points.push(new GLatLng(this.y,this.x))});that.polyline=new GPolyline(points);map.addOverlay(that.polyline);if(that.highlight!=1){that.polyline.hide()}}})}},this.createInfoDiv=function(){this.div=document.createElement("div");this.div.className="route_info";var html="<b>"+this.name+"</b> ("+this.length+"km)";html+='<div class="pmap_click">Kliknij po szczegóły</div>';this.div.innerHTML=html;this.div.style.display="block";map.getContainer().appendChild(this.div);map.getContainer().style.overflow="hidden"},this.showInfoDiv=function(){p=G_NORMAL_MAP.getProjection().fromLatLngToPixel(this.getPoint(),map.getZoom());m=G_NORMAL_MAP.getProjection().fromLatLngToPixel(map.getBounds().getNorthEast(),map.getZoom());pos=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(Math.abs(p.x-m.x)-180,Math.abs(p.y-m.y)-40));pos.apply(this.div);this.div.style.display="block"}};RouteMarker.prototype=new GMarker(new GLatLng(1,1));var ImageMarker=function(k,j,h,b,c,f,a){this.inheritFrom=GMarker;if(k){this.inheritFrom(k,{icon:Icons.markerImage()});this.disableDragging()}else{GEvent.addListener(this,"dragstart",function(){this.closeInfoWindow()})}this.id=j?j:null;this.image=h?h:null;this.name=b?b:"";this.source=c?c:"";this.source_own=false;this.highlight=0;this.div="";this.status=a;this.delete_link=f!=undefined?f:true;this.isAlwaysVisible=false;this.loadInfo='<div style="text-align: center"><br><br>Trwa wysyłanie zdjęcia...<br><br><img src="/images/loading.gif"></div>';this.updateInfoDiv();GEvent.addListener(this,"click",function(){if(!this.name||this.delete_link){this.openInfoWindow()}else{$("#im_"+this.id).lightBox();$("#im_"+this.id).trigger("click")}});GEvent.addListener(this,"mouseover",function(){if(this.name){this.updateInfoDiv();showhelp(this.div)}});GEvent.addListener(this,"mouseout",function(){hidehelp()});this.openInfoWindow=function(){this.updateInfoDiv();this.openInfoWindowHtml(this.div);if(myRoute.image_mode){myRoute.image_mode=false}};this.save=function(){if(this.name){if($("#add_route_form").valid()&&myRoute.prepareToSave()){$("#imageMarker_json").val(this.toJSON());if(myRoute.id&&!$.browser.opera){var l=this;log($("#imageMarker_json, #route_id"));$.ajaxFileUpload({url:"/routes/uploadRouteImage",secureuri:false,fileElementId:"imageMarker_file",dataType:"json",inputs:$("#imageMarker_json, #route_id"),send:function(){log("beforeSend");$("#imageMarker_div").html(l.loadInfo);$("#msg").hide()},success:function(q,n){if(q.status=="ok"){var o=new ImageMarker(l.getLatLng(),q.image.id,q.image.image,q.image.name,false,true,0);myRoute.imageMarkers.push(o);map.addOverlay(o);o.openInfoWindow();map.removeOverlay(myRoute.imageMarker)}else{if(q.status=="error"){alert("Podczas wysyłania pliku wystąpił błąd")}}$("#msg").html(q.msg);$("#msg").show()},error:function(o,n,q){log(q)}});return false}else{$("#image_div")[0].appendChild($("#imageMarker_file")[0]);$("#imageMarker_div").html(this.loadInfo);$("#add_route_form")[0].submit()}}else{alert("Aby dodać zdjęcie prosimy najpierw podać informacje o trasie")}}else{alert("Prosimy podać krótki opis zdjęcia")}};this.toJSON=function(){var l=[];l[0]=this.name;l[1]=this.source_own?"":this.source;l[2]=this.getPoint().lat();l[3]=this.getPoint().lng();return $.toJSON(l)}};ImageMarker.prototype=new GMarker(new GLatLng(1,1),{icon:Icons.markerImage(),draggable:true});ImageMarker.prototype.updateInfoDiv=function(){if(!this.id){this.div='<div id="imageMarker_div">Wybierz zdjęcie:<br><input type="file" name="imageMarker_file" id="imageMarker_file"><br>Opis:<br><input type="text" name="imageMarker_name" value="'+this.name+'" id="imageMarker_name" onchange="myRoute.imageMarker.name=this.value"><br><input type="submit" id="imageMarker_file" value="Dodaj zdjęcie" onclick="myRoute.imageMarker.save()">'}else{this.div='<div id="imageMarker_div2"><a id="im_'+this.id+'" href="/'+this.image+'""><img src="/thumb.php?img='+this.image+'&w=100&h=100" alt="'+this.source+'"></a><br>'+this.name}if(this.delete_link&&(this.status!=1)){if(this.status==0){this.div+="<br/>(czeka na akceptację)"}else{if(this.status==3){this.div+="<br/>(odrzucone)"}}this.div+='<br><a href="" onclick="if (confirm(\'Czy na pewno usunąć to zdjęcie?\')) { ';if(this.id){this.div+="deleteImageMarker("+this.id+")"}else{this.div+="map.removeOverlay(myRoute.imageMarker)"}this.div+='};return false;">usuń</a>'}this.div+="</div>"};function deleteImageMarker(a){log(window.location.pathname);$.ajax({type:"POST",url:"/routes/deleteRouteImage",data:"d="+a,dataType:"json",success:function(b){log(b);if(b.status=="ok"){$.each(myRoute.imageMarkers,function(){if(this.id==a){map.removeOverlay(this);return}});$("#msg").html(b.msg);$("#msg").show()}}});return false}var KmMarker=function(b,a){this.inheritFrom=GMarker;this.inheritFrom(b,{icon:Icons.markerKm()});this.km=a;if($("#chart_debug").length>0){this.div=document.createElement("div");this.lat=b.y;this.lng=b.x;this.div.innerHTML=this.km+" ("+this.lat+" "+this.lng+")";this.div.id="km"+parseInt(this.km*100);this.height;$("#chart_debug")[0].appendChild(this.div);this.getElevation=function(){var c=this;$.ajax({type:"POST",url:"/admin.php/routes/getElevation",data:"lat="+c.lat+"&lng="+c.lng+"&m="+c.km+"&route_id="+myRoute.id,beforeSend:function(f){$("#"+c.div.id)[0].innerHTML=c.km+" <b>wysyłam żądaniee</b>"},success:function(f){c.height=f;$("#"+c.div.id)[0].innerHTML=c.km+" <b>"+c.height+"</b>"}})}}else{GEvent.addListener(this,"mouseover",function(){showhelp(this.km+". km")});GEvent.addListener(this,"mouseout",function(){hidehelp()})}};KmMarker.prototype=new GMarker(new GLatLng(1,1));var InfoMarker=function(c,b,a){this.inheritFrom=GMarker;this.inheritFrom(c,{icon:Icons.markerVertex()});this.title=b;this.descr=a;GEvent.addListener(this,"mouseover",this.openInfoWindow);GEvent.addListener(this,"mouseout",function(){hidehelp()})};InfoMarker.prototype=new GMarker(new GLatLng(1,1));InfoMarker.prototype.openInfoWindow=function(){show_marker_help(this.title,this.descr)};function Search(){this.oldSearch=$.protify([],true);this.newSearch=$.protify([],true);this.tiles=$.protify([],true);this.city="";this.routeTypes=$.protify([],true);this.length_min=0;this.length_max=10000;this.current_page=1;this.updateRouteTypes();this.location="search"}Search.prototype={updateRouteTypes:function(){var b=$("input.route_type_check");this.routeTypes.clear();for(var a=0;a<b.length;a++){if(b[a].checked){this.routeTypes.push(b[a].value)}}},searchLocation:function(){if($("#scity").val()!=$("#scity").attr("title")&&$("#scity").val()!=this.city){this.city=$("#scity").val();var a=this.city+", Poland";var b=new GClientGeocoder();if(b){if(a!=""){b.getLatLng(a,function(c){if(!c){alert("Podana miejscowość nie została odnaleziona. Upewnij się czy wpisana nazwa jest poprawna.")}else{map.setCenter(c,9);mySearch.doSearch()}})}}}else{this.doSearch()}},doSearch:function(){this.updateRouteTypes();if(map.getZoom()==6){if(!map.getCenter().equals(new GLatLng(52,21.9))){map.setCenter(new GLatLng(52,21.9),6);return}map.removeControl(scale_control);map.removeControl(large_control);map.removeControl(type_control);$("#welcome").show();this.setTiles([3,3],new GLatLng(54.833333333,24.15),new GLatLng(49,14.116666667))}else{map.addControl(scale_control);map.addControl(large_control);map.addControl(type_control);if($("#welcome")){$("#welcome").hide()}if(map.getZoom()<8){this.setTiles([4,3],map.getBounds().getNorthEast(),map.getBounds().getSouthWest())}else{mySearch.tiles.each(function(tile){map.removeOverlay(tile)});var q=[];q[0]=map.getBounds().getSouthWest().x;q[1]=map.getBounds().getNorthEast().y;q[2]=map.getBounds().getNorthEast().x;q[3]=map.getBounds().getSouthWest().y;var that=this;if(this.location=="search"){var options={coord:$.toJSON(q),length_min:that.length_min,length_max:that.length_max,types:$.toJSON(that.routeTypes),location:"search"}}else{var options={coord:$.toJSON(q),location:this.location}}$.post("/routes/load",options,function(response){eval(response);for(var i=0;i<routes.length;i++){mySearch.load(routes[i])}for(var i=0;i<mySearch.oldSearch.length;i++){if(mySearch.oldSearch[i].polyline){map.removeOverlay(mySearch.oldSearch[i].polyline)}if(mySearch.oldSearch[i].div){map.getContainer().removeChild(mySearch.oldSearch[i].div)}map.removeOverlay(mySearch.oldSearch[i])}mySearch.oldSearch.clear();mySearch.oldSearch=mySearch.newSearch.clone();mySearch.newSearch.clear()})}}},load:function(h){var a=new GLatLng(h[0],h[1]);var f=[];for(var c=0;c<this.oldSearch.length;c++){if(this.oldSearch[c].getPoint().equals(a)){this.newSearch.push(this.oldSearch[c]);this.oldSearch.splice(c,1);return}}var b=new RouteMarker(a,h[2],h[3],h[4]);this.newSearch.push(b);map.addOverlay(b)},setTiles:function(x,f,v){map.clearOverlays();mySearch.oldSearch.clear();mySearch.newSearch.clear();var l=Math.abs(f.x-v.x);var t=Math.abs(f.y-v.y);var j=l/x[0];var a=t/x[1];var b=1;var c=v.x;var n=[];for(var k=0;k<x[0]+1;k++){var q=f.y;n[k]=[];for(var r=0;r<x[1]+1;r++){n[k][r]=[];lat=q-r*a;lng=c+k*j;n[k][r].push(lat);n[k][r].push(lng)}}mySearch.tiles.clear();for(var k=0;k<x[0];k++){for(var r=0;r<x[1];r++){var o=new Tile(n[k][r][1],n[k][r][0],n[k+1][r+1][1],n[k+1][r+1][0]);this.tiles.push(o);map.addOverlay(o);b++}}this.setRouteNumbers()},setRouteNumbers:function(){var q=$.protify([],true);for(var i=0;i<mySearch.tiles.length;i++){q[i]=[];q[i][0]=mySearch.tiles[i].coord_w;q[i][1]=mySearch.tiles[i].coord_n;q[i][2]=mySearch.tiles[i].coord_e;q[i][3]=mySearch.tiles[i].coord_s}var that=this;if(this.location=="search"){var options={coord:$.toJSON(q),length_min:that.length_min,length_max:that.length_max,types:$.toJSON(that.routeTypes),location:"search"}}else{var options={coord:$.toJSON(q),location:this.location}}$.post("/routes/numbers",options,function(response){eval(response);for(var i=0;i<numbers.length;i++){mySearch.tiles[i].setNumber(numbers[i])}})},setResults:function(c,b,a){if($("#results"+c).length==0){var c=c;var b=b;var a=a;$.ajax({type:"POST",url:b,data:"page="+c,success:function(f){if($("#results"+c).length==0){var h=document.createElement("div");h.id="results"+c;h.innerHTML=f;h.style.display="none";$("#results")[0].appendChild(h);if(a){mySearch.showResultsPage(c,b)}}}})}else{mySearch.showResultsPage(c,b)}},showResultsPage:function(b,a){$("#results"+this.current_page).hide();$("#results"+b).show();$("#page_"+this.current_page).html(this.current_page);$("#page_"+b).html("<b>"+b+"</b>");this.current_page=b;if($("#results"+(b+1)).length==0){this.setResults(b+1,a,false)}if(b>1&&$("#results"+(b-1)).length==0){this.setResults(b-1,a,false)}}};function calculateBestZoom(o,j){var l=-99999999;var h=-99999999;var k=99999999;var f=99999999;var n;if(!o&&myRoutes.length>0){for(g=0;g<myRoutes.length;g++){for(s=0;s<myRoutes[g].userPoints.length;s++){if(myRoutes[g].userPoints[s].getLatLng().x>l){l=myRoutes[g].userPoints[s].getLatLng().x}if(myRoutes[g].userPoints[s].getLatLng().x<k){k=myRoutes[g].userPoints[s].getLatLng().x}if(myRoutes[g].userPoints[s].getLatLng().y>h){h=myRoutes[g].userPoints[s].getLatLng().y}if(myRoutes[g].userPoints[s].getLatLng().y<f){f=myRoutes[g].userPoints[s].getLatLng().y}}}}else{for(s=0;s<o.length;s++){if(typeof(o[s].getPoint)=="function"){n=o[s].getPoint()}else{n=o[s]}if(n.x>l){l=n.x}if(n.x<k){k=n.x}if(n.y>h){h=n.y}if(n.y<f){f=n.y}}}var b=new GLatLngBounds(new GLatLng(f,k),new GLatLng(h,l));var a=new GLatLng((h+f)/2,(l+k)/2);var c=map.getBoundsZoomLevel(b);if(j){tab=[];tab[0]=parseFloat(c);tab[1]=b.getSouthWest().x;tab[2]=b.getSouthWest().y;tab[3]=b.getNorthEast().x;tab[4]=b.getNorthEast().y;return tab}else{map.setCenter(a,c)}}function loadRouteImages(json,deleteLink){eval(json);if(typeof(images)=="object"&&images.length>0){$.each(images,function(){map.addOverlay(new ImageMarker(new GLatLng(this.lat,this.lng),this.id,this.image,this.name,this.source,this.deleteLink,this.status))})}}function loadImages(json,deleteLink){var minZoom=12;if(myRoute.id){if(!myRoute.isImagesLoaded&&map.getZoom()>8){var q={};q.sw_x=map.getBounds().getSouthWest().x;q.sw_y=map.getBounds().getSouthWest().y;q.ne_y=map.getBounds().getNorthEast().y;q.ne_x=map.getBounds().getNorthEast().x;var routeMarker;if(document.location.pathname=="/front_dev.php/trasa/2556/swinoujscie-trassenheide-swinoujscie/"){}$.ajax({type:"POST",url:"/lri/",data:"bounds="+$.toJSON(q),success:function(response){eval(response);if(typeof(images)=="object"&&images.length>0){$.each(images,function(){imageMarker=new ImageMarker(new GLatLng(this.lat,this.lng),this.id,this.image,this.name,this.source,this.deleteLink,this.status);myRoute.imageMarkers.push(imageMarker);map.addOverlay(imageMarker);if(map.getZoom()<minZoom){imageMarker.hide()}});myRoute.isImagesLoaded=true}}})}if(map.getZoom()>=minZoom){$.each(myRoute.imageMarkers,function(){if(!this.isAlwaysVisible){this.show()}})}else{$.each(myRoute.imageMarkers,function(){if(!this.isAlwaysVisible){this.hide()}})}}}function tile_zoom(a){var b=[];b.push(new GMarker(new GLatLng(a[0],a[1])));b.push(new GMarker(new GLatLng(a[2],a[3])));calculateBestZoom(b)}function updateMarkerDescr(a,f){for(var b=0;b<myRoutes.length;b++){for(var c=0;c<myRoutes[b].userPoints.length;c++){if(myRoutes[b].userPoints[c].index==a){myRoutes[b].userPoints[c].descr=f}}}}function updateMarkerTitle(a,f){for(var b=0;b<myRoutes.length;b++){for(var c=0;c<myRoutes[b].userPoints.length;c++){if(myRoutes[b].userPoints[c].index==a){myRoutes[b].userPoints[c].title=f}}}}function findMarker(a){for(var b=0;b<myRoutes.length;b++){for(var c=0;c<myRoutes[b].userPoints.length;c++){if(myRoutes[b].userPoints[c].index==a){return myRoutes[b].userPoints[c]}}}}function log(b){if(typeof(console)!="undefined"){console.log(b)}}function show_marker_help(c,b){var a="";if(c&&c!=""){a+="<b>"+c+"</b><br>"}if(b&&b!=""){a+=b}showhelp(a)}function Navigation(){this.routes_add_to_passed=function(){$("#chart").hide();if(is_logged){$("#add_to_passed").show()}else{$("#register").show()}}}var simpleEncoding="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";function simpleEncode(c,h){var f=["s:"];for(var a=0;a<c.length;a++){var b=c[a];if(!isNaN(b)&&b>=0){f.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1)*b/h)))}else{f.push("_")}}return f.join("")}var EXTENDED_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.";function extendedEncode(c,h){var f=["s:"];for(var a=0;a<c.length;a++){var b=c[a];if(!isNaN(b)&&b>=0){f.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1)*b/h)))}else{f.push("_")}}return f.join("")}function extendedEncoding(k,a){var h=new Number(k);if(isNaN(h)){return""}else{if(h<0||h>EXTENDED_MAP.length*EXTENDED_MAP.length-1){return""}}var l=4095;var b=a;var j=l/b;var h=h*j;var c=Math.floor(h/EXTENDED_MAP.length);var f=h-EXTENDED_MAP.length*c;return EXTENDED_MAP.charAt(c)+EXTENDED_MAP.charAt(f)}function Pager(b){this.pager=b.find(".pager");this.container=b.find(".container");if(this.pager.length>0&&this.container.length>0){this.overlay=$('<div class="overlay"></div>').prependTo(this.container).hide();var c=this.overlay;this.container.ajaxStart(function(){c.show()});this.container.ajaxComplete(function(){c.hide()});var a=this;this.pager.find("a:not(.next):not(.prev)").click(function(){a.load($(this));return false});this.pager.find("a.next").click(function(){var j=$(this).siblings(".bold");var f=j.nextAll("a");if(f.size()>0&&$(f.get(0)).index(this)==-1){var h=$(f.get(0));a.load(h);j.removeClass("bold");h.addClass("bold")}return false});this.pager.find("a.prev").click(function(){var j=$(this).siblings(".bold");var f=j.prevAll("a");if(f.size()>0&&$(f.get(0)).index(this)==-1){var h=$(f.get(0));a.load(h);j.removeClass("bold");h.addClass("bold")}return false})}}Pager.prototype={load:function(b){this.container.load(b.attr("href"),function(){b.addClass("bold");b.siblings().removeClass("bold")})}};function ajaxKonkurs(){$.ajax({url:"/routes/konkurs",type:"POST",dataType:"json",data:$("#konkurs_form").serialize(),complete:function(response){eval("var response="+response.responseText);if(response.msg=="voice_ok"){var points=response.points;$("#promo_form").hide();$("#promo_km").html(response.points+"km");$("#promo_rank").html(response.rank);$("#promo_info_ok").show()}else{if(response.msg="voice_error"){$("#promo_form").hide();$("#promo_info_error").show()}}}})}function ajaxAddVoice(href){$.ajax({url:href,type:"POST",dataType:"json",complete:function(response){eval("var response="+response.responseText);if(response.msg=="voice_ok"){$("#amount").html(response.amount_voices);$("#avg").html(response.avg_voices);$("#voice_form").hide();$("#voice_added_info").show()}else{if(response.msg="voice_error"){$("#msg_voice_err").html("Zdjęcie zostało ocenione wcześniej przez Ciebie.");$("#msg_voice_err").show()}}}})}function ajaxAddComment(){$.ajax({url:"/gallery/addComment",type:"POST",dataType:"json",data:$("#comment").serialize(),beforeSend:function(){$("#completed_route_preloader").show()},complete:function(response){eval("var response="+response.responseText);if(response.msg=="add_ok"){$("#msg_comm").html("Komentarz został dodany.");$("#msg_err").hide();$("#msg_comm").show();$("#comment_form").hide()}else{if(response.msg=="add_empty"){$("#msg_err").html("Podaj treść komentarza.");$("#msg_comm").hide();$("#msg_err").show()}}}})}function videoPresentation(a){$("#videoPresentation").dialog({title:"Filmy - serwis Pedaluj.pl",modal:true,draggable:false,width:500,resizable:false,autoOpen:false,});$("#videoPresentation").html('<div style="display: block";><embed src="http://www.youtube.com/v/'+a+'" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"></div>');$("#videoPresentation").dialog("open");return false}function imagesInAlbum(b,a,c){$("#albumContent").hide();$("#galleryAlbumContent").hide();$("#galleryRouteContent").hide();$("#routesContent").hide();$("#completedContent").hide();$("#planningContent").hide();$("#friendsContent").hide();if(b>0){$("#galleryAlbumContent").html('<div id="user_album" style="display: none";>   <img id="u_album_preloader" src="/images/preloader.gif" /> Trwa ładowanie galerii zdjęć użytkownika ...</div>');$("#galleryAlbumContent").load("/galeria/"+a+"/"+b,function(){$("#u_album_preloader").hide()});$("#user_album").show();$("#galleryAlbumContent").show()}else{if(c>0){$("#galleryRouteContent").html('<div id="route_album" style="display: none";>   <img id="r_album_preloader" src="/images/preloader.gif" /> Trwa ładowanie zdjęć trasy ...</div>');$("#galleryRouteContent").load("/album-tras/"+a+"/"+c+"/",function(){$("#r_album_preloader").hide()});$("#route_album").show();$("#galleryRouteContent").show()}}return false};