if(typeof(usig)=="undefined"){usig={}}if(typeof(usig.defaults)=="undefined"){usig.defaults={}}usig.TripTemplate=function(b,a){this.index=b;this.color=a;this.cls="trip_"+b};usig.defaults.Recorridos={debug:false,trackVisits:true,piwikBaseUrl:"//usig.buenosaires.gob.ar/piwik/",piwikSiteId:4,server:"//recorridos.usig.buenosaires.gob.ar/2.0/",serverTimeout:30000,maxRetries:2,consultaRecorridos:{tipo:"transporte",gml:true,precargar:3,opciones_caminata:800,opciones_medios_colectivo:true,opciones_medios_subte:true,opciones_medios_tren:true,opciones_prioridad:"avenidas",opciones_incluir_autopistas:true,opciones_cortes:true,max_results:10},colorTemplates:[new usig.TripTemplate(1,"#0074FF"),new usig.TripTemplate(2,"#DD0083"),new usig.TripTemplate(3,"#009866"),new usig.TripTemplate(4,"#FF9E29"),new usig.TripTemplate(5,"#FF6633"),new usig.TripTemplate(6,"#5B3BA1"),new usig.TripTemplate(7,"#98C93C"),new usig.TripTemplate(8,"#EE3A39"),new usig.TripTemplate(9,"#4ED5F9"),new usig.TripTemplate(10,"#FFCC05"),new usig.TripTemplate(11,"#84004F"),new usig.TripTemplate(12,"#00A5EB"),new usig.TripTemplate(13,"#016406"),new usig.TripTemplate(14,"#AB62D2"),new usig.TripTemplate(15,"#C49F25"),new usig.TripTemplate(16,"#9F2510"),new usig.TripTemplate(17,"#0003CF"),new usig.TripTemplate(18,"#CBA4FA"),new usig.TripTemplate(19,"#00FFC9"),new usig.TripTemplate(20,"#DC6767")]};usig.Recorridos=(function(a){return new (usig.AjaxComponent.extend({lastRequest:null,init:function(c){var d=a.extend({},usig.defaults.Recorridos,c);d.consultaRecorridos=a.extend({},usig.defaults.Recorridos.consultaRecorridos,c);this._super("Recorridos",usig.defaults.Recorridos.server,d);var b=function(e){try{var g=Piwik.getTracker(d.piwikBaseUrl+"piwik.php",e);g.trackPageView();g.enableLinkTracking()}catch(f){}};if(usig.Recorridos&&d.trackVisits){if(typeof(Piwik)=="undefined"){usig.loadJs(d.piwikBaseUrl+"piwik.js",b.createDelegate(this,[d.piwikSiteId]))}else{b(d.piwikSiteId)}}return this},getUbicacion:function(b){var c={coordenadas:{x:0,y:0},codigo_calle:0,altura:0,codigo_calle2:0};if(b.x!=undefined&&b.y!=undefined){c.coordenadas=b}if(usig.Direccion&&b instanceof usig.Direccion){if(b.getTipo()==usig.Direccion.CALLE_Y_CALLE){c.codigo_calle2=b.getCalleCruce().codigo}c.coordenadas=b.getCoordenadas();c.codigo_calle=b.getCalle().codigo;c.altura=b.getAltura()}if(usig.inventario&&usig.inventario.Objeto&&b instanceof usig.inventario.Objeto){if(b.direccionAsociada){c.coordenadas=b.direccionAsociada.getCoordenadas();c.codigo_calle=b.direccionAsociada.getCalle().codigo;c.altura=b.direccionAsociada.getAltura()}else{c.coordenadas=b.ubicacion.getCentroide()}}if(usig.DireccionMapabsas&&b instanceof usig.DireccionMapabsas){if(b.tipo==usig.Direccion.CALLE_Y_CALLE){c.codigo_calle2=b.cod_calle_cruce}c.codigo_calle=b.cod;c.altura=b.alt}return c},onBuscarRecorridosSuccess:function(d,e){var b=[],c=this.opts.colorTemplates;if(this.opts.debug){usig.debug("usig.Recorridos onBuscarRecorridosSuccess")}a.each(d.planning,function(g,h){var f=JSON.parse(h);switch(f.type){case"car":template=c[1];break;case"bike":template=c[0];break;case"walk":template=c[2];break;case"transporte_publico":template=c[g];break}b.push(new usig.Recorrido(JSON.parse(h),{template:template}))});if(typeof(e)=="function"){e(b)}},loadTripPlan:function(c,d,b){this.lastRequest=this.mkRequest(c,d,b,this.opts.server+"load_plan")},consultarRecorridos:function(d,c,e,b){this.lastRequest=this.mkRequest(d,e,b,this.opts.server+"recorridos_"+c)},InfoTransporte:function(c,d,b){this.lastRequest=this.mkRequest(c,d,b,this.opts.server+"info_transporte/")},buscarRecorridos:function(e,d,h,c,b){var f=a.extend({},this.opts.consultaRecorridos,b);var g=this.getUbicacion(e);if(g.coordenadas){f.origen=g.coordenadas.x+","+g.coordenadas.y}f.origen_calles2=g.codigo_calle2;f.origen_calles=g.codigo_calle;f.origen_calle_altura=g.altura;var j=this.getUbicacion(d);if(j.coordenadas){f.destino=j.coordenadas.x+","+j.coordenadas.y}f.destino_calles2=j.codigo_calle2;f.destino_calles=j.codigo_calle;f.destino_calle_altura=j.altura;this.lastRequest=this.mkRequest(f,this.onBuscarRecorridosSuccess.createDelegate(this,[h],1),c,this.opts.server+"consultar_recorridos")},cargarPlanRecorrido:function(f,e,c,b){var d=a.extend({},this.opts.consultaRecorridos,b);d.trip_id=f;d.tipo="loadplan";this.lastRequest=this.mkRequest(d,e,c,this.opts.server+"consultar_recorridos")},transportesCercanos:function(e,f,c){var b=this.getUbicacion(e);var d={x:b.coordenadas.x,y:b.coordenadas.y};this.lastRequest=this.mkRequest(d,f,c,this.opts.server+"info_transporte/")},cicloviasCercanas:function(f,g,d,c){var b=this.getUbicacion(f);var e={lon:b.coordenadas.x,lat:b.coordenadas.y};if(c){if(c.radio){e.radio=c.radio}if(c.cantidad){e.cantidad=c.cantidad}}this.lastRequest=this.mkRequest(e,g,d,this.opts.server+"ciclovias_cercanas/")}}))})(jQuery);if(typeof(usig)=="undefined"){usig={}}if(typeof(usig.Recorrido)=="undefined"){usig.Recorrido=(function(a){return function(q,g){var p=0,e=0,o,s,d,j,c,u,l,h="Sin datos",v="Sin datos",r=[],f=0,m=a.extend({},usig.Recorrido.defaults,g);getServiceIcon=function(w){var x="";if(w==0){x="recorrido_pie"}if(w==1){x="recorrido_subte"}if(w==2){x="recorrido_tren"}if(w==3){x="recorrido_colectivo"}if(w==4){x="recorrido_bici"}return''};function t(){var w=[];v="";if(d=="transporte_publico"){estadoAnterior=null;a.each(j,function(x,z){if(z.type=="Board"){if(estadoAnterior=="Alight"){v+=''}if(z.service_type==3){v+='
";w.push(z.service)}else{if(z.service_type==1){lineas=z.service.split("-");a.each(lineas,function(A,B){v+=''+B.replace("Premetro","P")+"
"});w.push(z.service)}else{if(z.service_type==2){var y=z.long_name?z.long_name:z.service;v+='
'+z.service.replace(/\./g,"")+" ";w.push(z.service)}}}}estadoAnterior=z.type});h=w.join(", ")}else{if(d=="walk"){h=m.texts.descWalk;a.each(j,function(x,y){if(y.type!=undefined&&y.type=="StartWalking"){v+=' '+h}})}else{if(d=="car"){h=m.texts.descCar;a.each(j,function(x,y){if(y.type!=undefined&&y.type=="StartDriving"){v+=' '+h}})}else{if(d=="bike"){h=m.texts.descBike;a.each(j,function(x,y){if(y.type!=undefined&&y.type=="StartBiking"){v+=' '+h;return false}});if(v==""){v+=' '}}}}}}function n(){if(d=="transporte_publico"){var C=null;var y=false;var J=0;var w=null;var H=null;var A=new Array();var F=new Array();for(i=0;i'+c[i+1].name+" "+c[i+1].from+""}else{C='Caminar desde '+c[i-1].stop_description+""}H="pie"}else{if(L.type=="FinishWalking"){if(C){C+=" hasta destino.";r.push({text:C,type:H,features:A});C=null;H=null;A=[]}y=false}else{if(L.type=="Board"){var x=y;if(y){if(L.service_type=="3"){C+=' hasta '+L.stop_description+""}else{C+=' hasta la estación '+L.stop_name+' en '+L.stop_description+""}if(!(C.charAt(C.length-1)==".")){C+="."}r.push({text:C,type:H,features:A});y=false;C=null;H=null;A=[]}if(L.service_type=="1"){C='Tomar el SUBTE '+L.service.toUpperCase()+" (en dirección "+L.trip_description+") ";if(J>0){C+=' en la estación '+L.stop_name+" "}H="subte"}else{if(L.service_type=="3"){if(L.trip_description!=""&&!L.any_trip){w=" (Ramales: "+L.trip_description.replace(/\$/g,", ")+")"}else{w=(!L.any_trip)?" ("+m.texts.hayRamales+")":""}C='Tomar el COLECTIVO '+L.service+w+" ";if(L.metrobus){C+=' en la estación '+L.stop_name+" "}H="colectivo"}else{if(L.service_type=="2"){if(L.trip_description!=""){w=" ("+L.trip_description.replace("$"," y ")+")"}else{w=(!L.any_trip)?" ("+m.texts.hayRamales+")":""}C='Tomar el TREN '+L.service.toUpperCase()+w+" ";H="tren";if(J>0){C+=' en la estación '+L.stop_name+" "}}}}if(!x){C+=' en '+L.stop_description+""}J+=1}else{if(L.type=="Alight"){if(L.service_type!=undefined&&(L.service_type=="2"||L.service_type=="1")){C+=' y bajar en la estación '+L.stop_name+" "}else{C+=" y bajar en ";if(L.metrobus){C+=' la estación '+L.stop_name+" en "}C+=' '+L.stop_description+""}if(!(C.charAt(C.length-1)==".")){C+="."}r.push({text:C,type:H,features:A});C=null;H=null;A=[]}else{if(L.type=="Bus"&&L.gml){A.push(L.gml)}else{if(L.type=="SubWay"&&L.gml){if(A.length==0){A.push(L.gml)}else{var E=A[A.length-1];if(E.search("gml:LineString")>=0&&E.search("subway")>=0){var D=L.gml}else{A.push(L.gml)}}}else{if(L.type=="SubWayConnection"){r.push({text:C,type:H,features:A});C='Bajarse en la estación '+L.stop_from+' y combinar con el SUBTE '+L.service_to.toUpperCase()+" (en dirección "+L.trip_description+') en estación '+L.stop+"";H="subte";A=[];A.push(D)}else{if(L.type=="Street"&&L.gml){A.push(L.gml)}}}}}}}}}}}else{if(d=="walk"){var B=new Array();var G=0;for(i=0;i'+L.name+" ";if(L.from){K+=''+L.from+" "}if(L.to){K+=' hasta el '+L.to+" "}B.push({text:K,turn_indication:I,index:G,distance:L.distance,type:"car",id:L.id})}}}r=B}else{if(d=="bike"){var y=false;B=new Array();var G=0;var K;var z={walking:[{texto:"Caminar $metros por $calle$desde$hasta",turn_indication:"seguir"},{texto:"Doblar a la izquierda en $calle$desde y caminar $metros$hasta",turn_indication:"izquierda"},{texto:"Doblar a la derecha en $calle$desde y caminar $metros$hasta",turn_indication:"derecha"}],biking:[{texto:"Seguir $metros por $via$calle$desde$hasta",turn_indication:"seguir"},{texto:"Doblar a la izquierda en $via$calle$desde y seguir $metros$hasta",turn_indication:"izquierda"},{texto:"Doblar a la derecha en $via$calle$desde y seguir $metros$hasta",turn_indication:"derecha"}]};for(i=0;i'+L.name+"");if(L.from){K=K.replace("$desde",' '+L.from+"")}else{K=K.replace("$desde","")}if(L.to){K=K.replace("$hasta",' hasta el '+L.to+"")}else{K=K.replace("$hasta","")}modo=y?"walk":"bike";B.push({text:K,turn_indication:I,modo:modo,index:G,distance:L.distance,type:"bike",id:L.id})}}}}}r=B}}}}}function b(w){try{p=w.id;e=w.tiempo;o=w.origen;s=w.destino;d=w.type;j=w.summary;f=w.traveled_distance;u=a.extend({},w);u.options=m;t();k(w)}catch(x){usig.debug(x)}}function k(w,x){if(!c&&w.plan){c=w.plan;u.plan=w.plan;n()}if(typeof(x)=="function"){x(r,c)}}this.load=function(w){b(w)};this.toString=function(){return h};this.toHtmlString=function(){return v};this.getTime=function(){return e};this.getTraveledDistance=function(){return f};this.getTimeString=function(){time="";if(e>60){hs=Math.floor(e/60);mins=e%60;time+=hs+(hs>1?"hs ":"h ")+mins+" '"}else{time+=e+" '"}return time};this.getDistanceString=function(){distance="";if(f>999){distance+=((f/1000).toFixed(2)+" Km").replace(".",",")}else{distance+=f+" m"}return distance};this.getPlan=function(x,w,y){if(!c){usig.Recorridos.cargarPlanRecorrido(p,k.createDelegate(this,[x],1),w,y)}else{if(typeof(x)=="function"){x(c)}}return c};this.getDetalle=function(x,w,y){if(!c){if(u.plan){k(u,x)}else{usig.Recorridos.cargarPlanRecorrido(p,k.createDelegate(this,[x],1),w,y)}}else{if(typeof(x)=="function"){x(r)}}};this.getId=function(){return p};this.getTemplate=function(){return m.template};this.getColor=function(){return m.template.color};this.getTipo=function(){return d};this.setColor=function(w){m.template.color=w};this.getCoordenadaOrigen=function(){return o};this.getCoordenadaDestino=function(){return s};this.toJson=function(){return u};this.isEqual=function(w){return d==w.getTipo()&&h==w.toString()&&o==w.getCoordenadaOrigen()&&s==w.getCoordenadaDestino()};if(q){b(q)}}})(jQuery);usig.Recorrido.fromObj=function(a){return new usig.Recorrido(a,a.options)};usig.Recorrido.defaults={icons:{recorrido_pie:"//mapa.buenosaires.gob.ar/images/recorrido_pie20x20.png",recorrido_subte:"//mapa.buenosaires.gob.ar/images/recorrido_subte20x20.png",recorrido_tren:"//mapa.buenosaires.gob.ar/images/recorrido_tren20x20.png",recorrido_colectivo:"//mapa.buenosaires.gob.ar/images/recorrido_colectivo20x20.png",recorrido_auto:"//mapa.buenosaires.gob.ar/images/recorrido_auto20x20.png",recorrido_bici:"//servicios.usig.buenosaires.gob.ar/usig-js/3.0/images/recorrido_bici20x20.png"},template:new usig.TripTemplate(1,"#8F58C7"),texts:{descWalk:"Recorrido a pie",descCar:"Recorrido en auto",descBike:"Recorrido en bici",hayRamales:"No todos los ramales conducen a destino"}}};