var cityWay=cityWay||{};cityWay.namespace=function(n){var t=n.split("."),r=cityWay,i;for(t[0]==="cityWay"&&(t=t.slice(1)),i=0;i<t.length;i+=1)typeof r[t[i]]=="undefined"&&(r[t[i]]={}),r=r[t[i]];return r};cityWay.namespace("cityWay.texts.map");cityWay.namespace("cityWay.forms");cityWay.namespace("cityWay.ui");cityWay.namespace("cityWay.links");cityWay.namespace("cityWay.events");cityWay.namespace("cityWay.consts");cityWay.namespace("cityWay.config.map");cityWay.namespace("cityWay.tasks");cityWay.namespace("cityWay.tools");cityWay.namespace("cityWay.helpers"),function(){String.prototype.format||(String.prototype.format=function(){var n=arguments;return this.replace(/{(\d+)}/g,function(t,i){return typeof n[i]!="undefined"?n[i]:t})})}();cityWay.Lazy=function(n){if(!$.isFunction(n))throw new Error("instanceFactory parameter must be a function that returns the instance of the object to lazy load.");var t=this;return Object.defineProperty(t,"value",{get:function(){var t=arguments.callee;return t.cache||(t.cache=n()),t.cache}}),t};cityWay.Lazy.empty=function(){return{}};cityWay.events.favorites={journeyChanged:"favorites:journey:changed",pointChanged:"favorites:point:changed",journeyHasToChange:"favorites:journey:hasToChange",stopChanged:"favorites:stop:changed",lineChanged:"favorites:line:changed"};cityWay.events.map={initialized:"map:initialized",clicked:"map:clicked",boundsChanged:"map:boundsChanged",nodeClicked:"map:nodeClicked",legendStateChanged:"map:legendStateChanged",zoomChanged:"map:zoomChanged",nearestRoadNotFound:"map:nearestRoadNotFound",departureNodeDragged:"map:departureNodeDragged",viaNodeDragged:"map:viaNodeDragged",arrivalNodeDragged:"map:arrivalNodeDragged",departureSelected:"map:popupDepartureSelected",viaSelected:"map:popupViaSelected",arrivalSelected:"map:popupArrivalSelected",consultTimeToStopRequested:"map:popupConsultTimeToStopRequested",directTripFromLocalitySelected:"map:directTripFromLocalitySelected",directTripToLocalitySelected:"map:directTripToLocalitySelected",directTripFromStopSelected:"map:directTripFromStopSelected",directTripToStopSelected:"map:directTripToStopSelected",radiusChanged:"map:radiusChanged",locationSelected:"map:locationSelected",lineTimeTablePOIFrom:"map:lineTimeTablePOIFrom"};cityWay.events.journeyPlanner={searchFormChanged:"journeyPlanner:searchFormChanged"};cityWay.events.lineTimeTable={stopLinkClicked:"lineTimeTable:stopLinkClicked"};cityWay.events.animations={end:"webkitAnimationEnd oanimationend msAnimationEnd animationend"};cityWay.events.form={inputShouldBeCleared:"form:inputShouldBeCleared"};cityWay.events.ws={getPointsByCategoriesSuccess:"ws:getPointsByCategoriesSuccess"};cityWay.events.autocomplete={itemSelected:"autocomplete:itemSelected"};cityWay.events.geolocation={found:"geolocation:found",error:"geolocation:error",get:"geolocation:get"};cityWay.eventManager=function(n){"use strict";function i(i){if(arguments.length<2)throw new Error("The event id and source are required");var r=n.makeArray(arguments);r.shift();t.trigger.apply(t,[i,r])}function r(i,r){if(!n.isFunction(r))throw new Error("The event handler must be a function");r._actualHandler=function(){var i=n.makeArray(arguments);i.shift();r.apply(t,i)};t.on(i,r._actualHandler)}function u(n,i){t.off(n,i._actualHandler)}var t=n({});return{publish:i,subscribe:r,unsubscribe:u}}(jQuery);cityWay.notificationManager=function(n){"use strict";function t(t){n("#"+t).modal("show")}function i(t){n("#"+t).modal("hide")}return{modalId:{roadNotFound:"modal-road-notfound"},showModal:t,hideModal:i}}(jQuery);$(function(){cityWay.keys={backspace:8,del:46};cityWay.StatusCode={Ok:0,NoSolution:400,Error:500};cityWay.TypeDate={LeaveAt:68,ArriveAt:65};cityWay.GeolocationErrorCode={PermissionDenied:1,PositionUnavailable:2,Timeout:3,NotSupported:101}});cityWay.eventManager.subscribe(cityWay.events.geolocation.get,function(n){var t=function(n){cityWay.eventManager.publish(cityWay.events.geolocation.found,n)},i=function(n){cityWay.eventManager.publish(cityWay.events.geolocation.error,n.code)};geoPosition.init()?geoPosition.getCurrentPosition(t,i,n||{}):cityWay.eventManager.publish(cityWay.events.geolocation.error,cityWay.GeolocationErrorCode.NotSupported)})