if(!MREITTI){var MREITTI={}}MREITTI.UTIL={};MREITTI.UTIL.routeLocationToString=function(A){var B="";if(A.getCategory()==RouteLocation.CATEGORY_POINT&&A.getName()===null){B+=Dictionary.CoordinateLocationPrefix+" ["+Math.round(A.getX())+";"+Math.round(A.getY())+"]"}else{B=A.getName();if(A.getNumber()!==null){B+=" "+A.getNumber()}if(A.getCity()!==null){B+=", "+A.getCity()}}return B};MREITTI.UTIL.formatDate=function(G,F){if(!F){F=""}var C=G.getFullYear();var E=G.getMonth()+1;var B=(E<10)?"0"+E:E;var A=G.getDate();var D=(A<10)?"0"+A:A;return""+C+F+B+F+D};MREITTI.UTIL.formatTime=function(F,E){if(!E){E=""}var A=F.getHours();var D=(A<10)?"0"+A:A;var B=F.getMinutes();var C=(B<10)?"0"+B:B;return""+D+E+C};var CssSettings={AboutFrame:{visible:"AboutFrame",invisible:"AboutFrameInvisible"},SearchFrameMenu:{visible:"SearchFrameMenu",invisible:"SearchFrameMenuInvisible"},SearchFrameMenuItem:{enabled:"SearchFrameMenuItem",selected:"SearchFrameMenuItemSelected",disabled:"SearchFrameMenuItemDisabled",invisible:"SearchFrameMenuItemInvisible"},IndexSearchFrame:{visible:"IndexSearchFrame",invisible:"IndexSearchFrameInvisible",MainTabs:{Tab:{enabled:{selected:"MainTabSelected",unSelected:{noMouse:"MainTab",mouseOver:"MainTabMouseOver",mouseDown:"MainTab"}},disabled:"MainTabDisabled",invisible:""}},AlphabeticalIndex:{Frame:{visible:"AlphabeticalIndex",invisible:"AlphabeticalIndexInvisible"},Char:{enabled:{selected:"CharButtonSelected",unSelected:{noMouse:"CharButton",mouseOver:"CharButtonMouseOver",mouseDown:"CharButton"}},disabled:{selected:"CharButtonSelected",unSelected:""},invisible:""}},LocationButton:{enabled:{noMouse:"LocationButton",mouseOver:"LocationButtonMouseOver",mouseDown:"LocationButton"},disabled:"LocationButton",invisible:"LocationButtonInvisible"}},CalendarFrame:{visible:"CalendarFrame",invisible:"CalendarFrameInvisible",DateButton:{enabled:{noMouse:"DateButton",mouseOver:"DateButtonMouseOver",mouseDown:"DateButtonMouseOver"},disabled:"DateButtonDisabled",invisible:""},CurrentDateButton:{enabled:{noMouse:"CurrentDateButton",mouseOver:"CurrentDateButtonMouseOver",mouseDown:"CurrentDateButtonMouseOver"},disabled:"CurrentDateButtonDisabled",invisible:""},SelectedDateButton:{enabled:{noMouse:"SelectedDateButton",mouseOver:"SelectedDateButtonMouseOver",mouseDown:"SelectedDateButtonMouseOver"},disabled:"SelectedDateButtonDisabled",invisible:""},ChangeMonthButton:{enabled:{noMouse:"ChangeMonthButton",mouseOver:"ChangeMonthButtonMouseOver",mouseDown:"ChangeMonthButtonMouseOver"},disabled:"ChangeMonthButtonDisabled",invisible:""}},SearchingRouteFrame:{visible:"SearchingRouteFrame",invisible:"SearchingRouteFrameInvisible"},RoutingErrorFrame:{visible:"RoutingErrorFrame",invisible:"RoutingErrorFrameInvisible"},AdvancedSearchFrame:{visible:{toggled:"AdvancedSearchFrameToggled",unToggled:"AdvancedSearchFrameUnToggled"},invisible:"AdvancedSearchFrameInvisible"},OwnRoutesFrame:{visible:{toggled:"OwnRoutesFrameToggled",unToggled:"OwnRoutesFrameUnToggled"},invisible:"OwnRoutesFrameInvisible"},MapAreaHeader:{SaveRouteButton:{enabled:{noMouse:"SaveRouteButton",mouseOver:"SaveRouteButtonMouseOver",mouseDown:"SaveRouteButtonMouseOver"},disabled:"SaveRouteButtonDisabled",invisible:""}},MapLegend:{visible:"MapLegend",invisible:"MapLegendInvisible"},DisclaimerTextArea:{visible:"DisclaimerTextArea",invisible:"DisclaimerTextAreaInvisible"},RouteDescription:{LocationButton:{enabled:{noMouse:"LocationButton",mouseOver:"LocationButtonMouseOver",mouseDown:"LocationButton"},disabled:"",invisible:""},SaveRouteButton:{enabled:{noMouse:"SaveRouteButton",mouseOver:"SaveRouteButtonMouseOver",mouseDown:"SaveRouteButtonMouseOver"},disabled:"SaveRouteButtonDisabled",invisible:""}},RouteSuggestion:{enabled:{selected:"RouteSuggestionSelected",unSelected:{noMouse:"RouteSuggestion",mouseOver:"RouteSuggestionMouseOver",mouseDown:"RouteSuggestion"}},disabled:{selected:"RouteSuggestionSelected",unSelected:{noMouse:"RouteSuggestion",mouseOver:"RouteSuggestionMouseOver",mouseDown:"RouteSuggestion"}},invisible:""},RouteSuggestionLinkButton:{enabled:{noMouse:"RouteSuggestionLinkButton",mouseOver:"RouteSuggestionLinkButtonMouseOver",mouseDown:"RouteSuggestionLinkButtonMouseOver"},disabled:"",invisible:""},InputField:{enabled:"InputField",validating:"InputFieldValidating",valid:"InputFieldValid",invalid:"InputFieldInvalid",disabled:"InputField",invisible:"InputField"},SuggestionList:{Item:{enabled:{noMouse:"Suggestion",mouseOver:"SuggestionMouseOver",mouseDown:"Suggestion"},selected:{noMouse:"SuggestionSelected",mouseOver:"SuggestionSelected",mouseDown:"SuggestionSelected"},disabled:{noMouse:"",mouseOver:"",mouseDown:""},invisible:{noMouse:"",mouseOver:"",mouseDown:""}},ScrollUpButton:{enabled:{noMouse:"ScrollUpButtonEnabled",mouseOver:"ScrollUpButtonEnabledMouseOver",mouseDown:"ScrollUpButtonEnabledMouseDown"},disabled:"ScrollUpButtonDisabled",invisible:"ScrollButtonInvisible"},ScrollDownButton:{enabled:{noMouse:"ScrollDownButtonEnabled",mouseOver:"ScrollDownButtonEnabledMouseOver",mouseDown:"ScrollDownButtonEnabledMouseDown"},disabled:"ScrollDownButtonDisabled",invisible:"ScrollButtonInvisible"}},SearchButton:{enabled:{noMouse:"SearchButtonEnabled",mouseOver:"SearchButtonEnabledMouseOver",mouseDown:"SearchButtonEnabledMouseDown"},disabled:"SearchButtonDisabled",invisible:"SearchButtonInvisible"}};var LocationsCookieManager=new function(){var A=LBS.UTIL.COOKIE;this.locationToCookieString=function(B){if(B===null){return null}var G=Math.round(B.getX())+"*"+Math.round(B.getY());var D=MREITTI.UTIL.routeLocationToString(B);D=D.replace(/[\\]/g,"\\\\");D=D.replace(/[(]/g,"\\(");D=D.replace(/[)]/g,"\\)");var E="";if(B.getCategory()==RouteLocation.CATEGORY_POINT){E="kkj3"}else{if(B.getCategory()==RouteLocation.CATEGORY_STREET){E="street"}else{if(B.getCategory()==RouteLocation.CATEGORY_ADDRESS){E="address"}else{if(B.getCategory()==RouteLocation.CATEGORY_POI){E="poi"}else{E="kkj3"}}}}var C=B.getName();if(C===null){C=D}var F=B.getNumber();if(F==null){F=""}var H=B.getCity();if(H==null){H=""}return"("+G+"*"+D+"*"+E+"*"+C+"*"+F+"*"+H+")"};this.saveLocation=function(B){if(B===null){return false}var D=LocationsCookieManager.locationToCookieString(B);var C=A.readCookie("locations");if(C!==null){D=C+D}A.writeCookie("locations",D,200*24*60*60);return true};this.getLocations=function(){var B=A.readCookie("locations");return LocationsCookieManager.parseLocationsFromCookieString(B)};this.parseLocationsFromCookieString=function(D){var B=[];if(D===null||D.length<5){return B}var F="";var H="";for(var C=0;C<D.length;C++){var G=D.charAt(C);if(H=="\\"){F+=G}else{if(G=="("){}else{if(G==")"){var E=LocationsCookieManager.parseLocationFromCookieString(F);if(E!==null){B.push(E)}F=""}else{if(G!="\\"){F+=G}}}}H=G}return B};this.parseLocationFromCookieString=function(E){var D={};var C=0;function B(){var F="";while(C<E.length){var G=E.charAt(C);if(G=="*"){C++;return F}else{F+=G;C++}}return F}D.x=B();D.y=B();D.alias=B();D.type=B();D.name=B();D.number=B();D.city=B();return D};this.deleteLocation=function(B){var E=A.readCookie("locations");if(E===null||E.length<5){A.eraseCookie("locations");return}var D=-1;var F="";var H="";for(var C=0;C<E.length;C++){var G=E.charAt(C);if(H=="\\"){if(D!=B){F+=G}}else{if(G=="("){D++;if(D!=B){F+=G}}else{if(D!=B){F+=G}}}H=G}if(F.length<5){A.eraseCookie("locations")}else{A.writeCookie("locations",F)}}};var RoutesCookieManager=new function(){var A=LBS.UTIL.COOKIE;this.saveRoute=function(D){startLocationStr=LocationsCookieManager.locationToCookieString(D[0]);endLocationStr=LocationsCookieManager.locationToCookieString(D[1]);if(startLocationStr!==null&&endLocationStr!==null){var G="("+startLocationStr+endLocationStr+")";var E=A.readCookie("routes");var H=G;if(E!==null){H=E+H}A.writeCookie("routes",H,200*24*60*60);for(var F in B){B[F](C)}return true}return false};this.getRoutes=function(){var K=[];var D=A.readCookie("routes");if(D===null||D.length<5){return K}var E="";var L="";var F=0;var G=false;for(var H=0;H<D.length;H++){var J=D.charAt(H);if(L=="\\"){E+=J}else{if(J=="("){if(F==0){G=true}else{E+=J}F++}else{if(J==")"){F--;if(F==0&&G==true){var I=LocationsCookieManager.parseLocationsFromCookieString(E);E="";G=false;if(I.length==2){K.push(I)}}else{E+=J}}else{if(J!="\\"){E+=J}}}}L=J}return K};this.deleteRoute=function(J){var E=A.readCookie("routes");if(E===null||E.length<5){A.eraseCookie("routes");return}var D=-1;var G=0;var F="";var L="";for(var I=0;I<E.length;I++){var K=E.charAt(I);if(L=="\\"){if(D!=J){F+=K}}else{if(K=="("){if(G==0){D++}if(D!=J){F+=K}G++}else{if(K==")"){G--;if(D!=J){F+=K}}else{if(D!=J){F+=K}}}}L=K}if(F.length<5){A.eraseCookie("routes")}else{A.writeCookie("routes",F)}for(var H in B){B[H](C)}};this.addValueChangeCBF=function(D){B.push(D)};var B=[];var C=this};function OwnLocationsMenu(G,J,H){var K=LBS.GUI;var P=LBS.UTIL.DOM;var B=P.appendNewElement;var N=P.appendText;this.update=function(){P.clearElement(E);var Q=LocationsCookieManager.getLocations();if(Q.length<1){I.setState(K.MenuItem.STATE.DISABLED);return}for(var T=0;T<Q.length;T++){var V=Q[T];var R=new RouteLocation(V.x,V.y);if(V.type=="address"){R.setCategory(RouteLocation.CATEGORY_ADDRESS);R.setName(V.name);R.setNumber(V.number);R.setCity(V.city)}else{if(V.type=="street"){R.setCategory(RouteLocation.CATEGORY_STREET);R.setName(V.name);R.setCity(V.city)}else{if(V.type=="poi"){R.setCategory(RouteLocation.CATEGORY_POI);R.setName(V.name);R.setCity(V.city)}else{if(V.type=="kkj3"){R.setName(V.alias)}else{R.setName(V.alias)}}}}var S=B(E,"div");N(S,V.alias);var U=new K.MenuItem(S,K.MenuItem.STATE.ENABLED,R);F.addMenuItem(U);L.addMenuItem(U);U.addMouseClickCBF(A)}S=B(E,"div");N(S,Dictionary.SearchArea["Menu"]["editOwnLocations"]);U=new K.MenuItem(S,K.MenuItem.STATE.ENABLED,"OwnLocations");F.addMenuItem(U);L.addMenuItem(U);U.addMouseClickCBF(M);I.setState(K.MenuItem.STATE.ENABLED)};this.addLocationSelectCBF=function(Q){C.push(Q)};var A=function(S){var Q=S.getData();for(var R in C){C[R](Q)}};this.addEditLocationsCBF=function(Q){O.push(Q)};var M=function(R){for(var Q in O){O[Q](R)}};var C=[];var O=[];var F=J;var I=G;var L=H;var E=J.getDomNode();var D=this;D.update()}function IndexSearchFrame(e,d,B){var W=LBS.GUI;W.Frame.call(this,e,d,B);var f=LBS.UTIL.DOM;var c=f.createElement;var H=f.createTextNode;var N=f.appendElement;var M=f.appendNewElement;var T=f.appendText;var Q=Dictionary.IndexSearchFrame;var h=this.setState;this.setState=function(j){if(j===W.Frame.STATE.INVISIBLE){C()}h(j)};this.clear=function(){C()};this.showContent=function(j){if(j==null){j="Street"}C();var k=F(j);N(R,L(j));N(R,K(j));N(R,k);N(R,b());N(R,Z());I()};var Z=function(){var l=function(){C();Y.setState(W.Frame.STATE.INVISIBLE)};var k=c("div","CloseButton");var j=new W.Button(k,W.Button.STATE.ENABLED);j.addMouseClickCBF(l);return k};var L=function(v){var u=function(Ab){var z=Ab.getSelectedRadioButton();var Aa=z.getData();U(Aa);I()};var n=c("div","MainTabs");var y=M(n,"table");var r=M(y,"tbody");var m=M(r,"tr");var l=new W.RadioButtonStyleManager(CssSettings.IndexSearchFrame["MainTabs"]["Tab"]);var p=M(m,"td");var t=M(p,"div");T(t,Q.AddressTab["tabName"]);var x=W.RadioButton.SELECTION_STATE.UNSELECTED;if(v=="Street"||v===null){x=W.RadioButton.SELECTION_STATE.SELECTED}var k=new W.RadioButton(t,W.Button.STATE.ENABLED,x,"Street");l.addRadioButton(k);p=M(m,"td");t=M(p,"div");T(t,Q.StopTab["tabName"]);var j=W.RadioButton.SELECTION_STATE.UNSELECTED;if(v=="Stop"){j=W.RadioButton.SELECTION_STATE.SELECTED}var s=new W.RadioButton(t,W.Button.STATE.ENABLED,j,"Stop");l.addRadioButton(s);p=M(m,"td");t=M(p,"div");T(t,Q.OwnLocationsTab["tabName"]);var o=W.RadioButton.SELECTION_STATE.UNSELECTED;if(v=="OwnLocations"){o=W.RadioButton.SELECTION_STATE.SELECTED}ownLocationsState=W.Button.STATE.ENABLED;var q=LocationsCookieManager.getLocations();if(q.length<1){ownLocationsState=W.Button.STATE.DISABLED}O=new W.RadioButton(t,ownLocationsState,o,"OwnLocations");l.addRadioButton(O);var w=new W.RadioButtonGroup();G=w;w.addRadioButton(k);w.addRadioButton(s);w.addRadioButton(O);w.addSelectionChangeCBF(u);return n};var K=function(j){E=c("div","Title");U(j);return E};var U=function(j){if(E!==null){f.clearElement(E);if(j==="Stop"){T(E,Q.StopTab["title"]);V.setState(W.Frame.STATE.VISIBLE)}else{if(j==="Street"){T(E,Q.AddressTab["title"]);V.setState(W.Frame.STATE.VISIBLE)}else{if(j==="OwnLocations"){T(E,Q.OwnLocationsTab["title"]);V.setState(W.Frame.STATE.INVISIBLE)}}}}};var F=function(){var k=new W.FrameStyleManager(CssSettings.IndexSearchFrame["AlphabeticalIndex"]["Frame"]);var m=c("div");V=new W.Frame(m,W.Frame.STATE.VISIBLE);k.addFrame(V);var t=M(m,"table");var q=M(t,"tbody");var l=M(q,"tr");var s=new W.RadioButtonGroup();var o=new W.RadioButtonStyleManager(CssSettings.IndexSearchFrame["AlphabeticalIndex"]["Char"]);for(var n in D){var p=M(l,"td");var j=M(p,"div");T(j,D[n]);var r=new W.RadioButton(j,W.Button.STATE.ENABLED,W.RadioButton.SELECTION_STATE.UNSELECTED,D[n]);o.addRadioButton(r);s.addRadioButton(r)}A=s;s.addSelectionChangeCBF(I);return m};var C=function(){f.clearElement(R);J=null};var b=function(){if(J===null){J=c("div","SearchResult")}return J};var I=function(){if(J){f.clearElement(J)}var o=G.getSelectedRadioButton();if(o===null){return}var n=o.getData();if(n==="OwnLocations"){P();return}var j=A.getSelectedRadioButton();if(j===null){return}X=j.getData();J.appendChild(H(Q.Searching));var m=Settings.Geocoding["cities"];var k=m[0];for(var l=1;l<m.length;l++){k+=","+m[l]}var p=new GeoserverGeocodingXml();p.addLocationRestriction("Municipality",null,"All",k);p.setMaxResults(10000);if(n=="Street"){p.addLocationRestriction("Street",X,"Start")}else{p.addLocationRestriction("POI",X,"Start")}naviciAjaxApi.getAddressByObject(null,p,S)};var a=function(k){for(var j in i){i[j](k.getData())}};var S=function(j,t,r,l){f.clearElement(J);if(l!=0){alert("Error in geocoding (status: "+l+")");return}var u=c("table");var q=M(u,"tbody");var p=new W.ButtonStyleManager(CssSettings.IndexSearchFrame["LocationButton"]);for(var m=0;m<r.length;m++){var k=M(q,"tr");var o=M(k,"td");var s=M(o,"div");T(s,r[m].getName()+", "+r[m].getCity());routeLocation=new RouteLocation(r[m].getX(),r[m].getY());routeLocation.setName(r[m].getName());routeLocation.setCity(r[m].getCity());if(r[m].getCategory()=="poi"){routeLocation.setCategory(RouteLocation.CATEGORY_POI)}else{if(r[m].getCategory()=="street"){if(r[m].getNumber()!==null&&r[m].getNumber()>0){routeLocation.setCategory(RouteLocation.CATEGORY_ADDRESS);routeLocation.setNumber(r[m].getNumber())}else{routeLocation.setCategory(RouteLocation.CATEGORY_STREET)}}}var n=new W.Button(s,W.Button.STATE.ENABLED,routeLocation);p.addButton(n);n.addMouseClickCBF(a)}J.appendChild(u)};this.addLocationSelectCBF=function(j){i.push(j)};var P=function(){var q=LocationsCookieManager.getLocations();if(q.length<1){T(J,Q.OwnLocationsTab["noOwnLocations"]);return}var s=c("table");var p=M(s,"tbody");var o=new W.ButtonStyleManager(CssSettings.IndexSearchFrame["LocationButton"]);for(var k=0;k<q.length;k++){var n=q[k];var j=M(p,"tr");var m=M(j,"td");var r=M(m,"div");T(r,n.alias);routeLocation=new RouteLocation(n.x,n.y);if(n.type=="address"){routeLocation.setCategory(RouteLocation.CATEGORY_ADDRESS);routeLocation.setName(n.name);routeLocation.setNumber(n.number);routeLocation.setCity(n.city)}else{if(n.type=="street"){routeLocation.setCategory(RouteLocation.CATEGORY_STREET);routeLocation.setName(n.name);routeLocation.setCity(n.city)}else{if(n.type=="poi"){routeLocation.setCategory(RouteLocation.CATEGORY_POI);routeLocation.setName(n.name);routeLocation.setCity(n.city)}else{if(n.type=="kkj3"){routeLocation.setName(n.alias)}else{routeLocation.setName(n.alias)}}}}var l=new W.Button(r,W.Button.STATE.ENABLED,routeLocation);o.addButton(l);l.addMouseClickCBF(a);m=M(j,"td");r=M(m,"div");T(r,Q.OwnLocationsTab["deleteLocation"]);l=new W.Button(r,W.Button.STATE.ENABLED,k);o.addButton(l);l.addMouseClickCBF(g)}N(J,s)};var g=function(k){LocationsCookieManager.deleteLocation(k.getData());var j=LocationsCookieManager.getLocations();if(j.length<1){O.setState(W.Button.STATE.DISABLED)}I()};var i=[];var R=this.getDomNode();var E=null;var J=null;var X=null;var G=null;var A=null;var D=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Å","Ä","Ö"];var O=null;var V=null;var Y=this}function CalendarFrame(U,T,A){var O=LBS.GUI;O.Frame.call(this,U,T,A);var W=LBS.UTIL.DOM;var S=W.createElement;var E=W.createTextNode;var J=W.appendElement;var H=W.appendNewElement;var N=W.appendText;var L=Dictionary.SearchArea["Calendar"];var Y=this.setState;this.setState=function(Z){if(Z===O.Frame.STATE.INVISIBLE){B()}Y(Z)};this.clear=function(){B()};this.showContent=function(a,b,c,Z){P=a;V=b;X=Z;I(c)};this.addDateSelectCBF=function(Z){D.push(Z)};var B=function(){W.clearElement(M)};var I=function(b){B();var p=new O.ButtonStyleManager(CssSettings.CalendarFrame["ChangeMonthButton"]);var e=new O.ButtonStyleManager(CssSettings.CalendarFrame["DateButton"]);var c=new Date(b.getFullYear(),b.getMonth(),1);c.setHours(10);var k=c.getFullYear();var v=c.getMonth();var x=null;var a=null;if(v==0){x=new Date(k-1,11,1)}else{x=new Date(k,v-1,1)}if(v==11){a=new Date(k+1,0,1)}else{a=new Date(k,v+1,1)}var Z=S("table","CalendarTable");var l=H(Z,"tbody");var q=H(l,"tr");var m=H(q,"th");var s=H(m,"div");N(s,"<<");var o=O.Button.STATE.ENABLED;if(x.getFullYear()<P.getFullYear()||(x.getFullYear()==P.getFullYear()&&x.getMonth()<P.getMonth())){o=O.Button.STATE.DISABLED}var g=new O.Button(s,o,x);p.addButton(g);g.addMouseClickCBF(C);m=H(q,"th");m.colSpan=5;N(m,F[c.getMonth()]+" "+c.getFullYear());m=H(q,"th");s=H(m,"div");N(s,">>");o=O.Button.STATE.ENABLED;if(a.getFullYear()>V.getFullYear()||(a.getFullYear()==V.getFullYear()&&a.getMonth()>V.getMonth())){o=O.Button.STATE.DISABLED}g=new O.Button(s,o,a);p.addButton(g);g.addMouseClickCBF(C);q=H(l,"tr");var u=L.DayNames;N(H(q,"th"),u.Mon);N(H(q,"th"),u.Tue);N(H(q,"th"),u.Wed);N(H(q,"th"),u.Thu);N(H(q,"th"),u.Fri);N(H(q,"th"),u.Sat);N(H(q,"th"),u.Sun);var f=c;q=H(l,"tr");var j=1;while(j!=f.getDay()){H(q,"td");if(j==6){j=0}else{j+=1}}v=f.getMonth();while(f.getMonth()==v){if(f.getDay()==1&&f.getDate()!=1){q=H(l,"tr")}tdElem=H(q,"td");s=H(tdElem,"div");N(s,f.getDate());var n=O.Button.STATE;var h=n.ENABLED;if(f.getFullYear()<P.getFullYear()||(f.getFullYear()==P.getFullYear()&&f.getMonth()<P.getMonth())||(f.getFullYear()==P.getFullYear()&&f.getMonth()==P.getMonth()&&f.getDate()<P.getDate())||f.getFullYear()>V.getFullYear()||(f.getFullYear()==V.getFullYear()&&f.getMonth()>V.getMonth())||(f.getFullYear()==V.getFullYear()&&f.getMonth()==V.getMonth()&&f.getDate()>V.getDate())){h=n.DISABLED}var t=e;for(var r in X){var d=X[r]["date"];if(f.getFullYear()==d.getFullYear()&&f.getMonth()==d.getMonth()&&f.getDate()==d.getDate()){t=new O.ButtonStyleManager(X[r]["style"]);break}}var w=new O.Button(s,h,f);if(t){t.addButton(w)}w.addMouseClickCBF(G);f=new Date(f.getTime()+24*60*60*1000)}j=f.getDay();while(j!=1){H(q,"td");if(j==6){j=0}else{j+=1}}J(M,Z);J(M,R())};var R=function(){function b(){Q.setState(O.Frame.STATE.INVISIBLE)}var c=S("div","CloseButton");var a=H(c,"span");N(a,L.CloseButton);var Z=new O.Button(a,O.Button.STATE.ENABLED);Z.addMouseClickCBF(b);return c};var C=function(Z){var a=Z.getData();I(a)};var G=function(a){var b=a.getData();for(var Z in D){if(D[Z]!=null){D[Z](b)}}};var Q=this;var M=Q.getDomNode();var X=[];var D=[];var P=null;var V=null;var K=L.MonthNames;var F=[K.Jan,K.Feb,K.Mar,K.Apr,K.May,K.Jun,K.Jul,K.Aug,K.Sep,K.Oct,K.Nov,K.Dec]}function OwnRoutesFrame(D,I,B,Q,G,F){var K=LBS.GUI;K.ToggleFrame.call(this,D,I,B,Q,F);var P=LBS.UTIL.DOM;var L=P.createElement;var E=P.appendElement;var C=P.appendNewElement;var N=P.appendText;var M=this.setState;this.setState=function(R){if(R===K.Frame.STATE.INVISIBLE){J()}M(R)};this.clear=function(){J()};this.showContent=function(){J();var b=RoutesCookieManager.getRoutes();if(b.length<1){N(O,Dictionary.OwnRoutesFrame["noOwnRoutes"])}else{var d=C(O,"table");var Y=C(d,"tbody");for(var U in b){var T=C(Y,"tr");var W=C(T,"td");var V=b[U][0];var c=b[U][1];var a=C(W,"div");var S=C(a,"a");N(S,V.alias+" - "+c.alias);var X=LBS.STATESAVER;var R=new X.State();R.setLocation("from",new X.Point(V.x,V.y,X.Point.COORDINATE_SYSTEM.KKJ3));R.setLocation("to",new X.Point(c.x,c.y,X.Point.COORDINATE_SYSTEM.KKJ3));S.href=window.location.pathname+window.location.search+"#"+R.getUrlHash();W=C(T,"td");a=C(W,"div","DeleteButton");N(a,Dictionary.OwnRoutesFrame["deleteRoute"]);var Z=new K.Button(a,K.Button.STATE.ENABLED,U);Z.addMouseClickCBF(A)}}};var A=function(R){RoutesCookieManager.deleteRoute(R.getData())};var J=function(){P.clearElement(O)};var H=this;var O=G;RoutesCookieManager.addValueChangeCBF(H.showContent)}function CurrentTimeManager(B,D){this.getCurrentDateTime=function(){var E=new Date();var F=E.getTime()-A.getTime();return new Date(C.getTime()+F)};var A=B;var C=D}function SearchArea(c,X,S,E,A,R,U,J,b){var N=LBS.GUI;this.searchRoute=function(){a.setState(N.Button.STATE.DISABLED);var u=B.getStartLocation();var t=B.getEndLocation();var x=K.getDateTime();var k=new RouteRequest();k.setStartLocation(u);k.setEndLocation(t);if(u!==null&&t!==null&&x!==null){var s=[];s[0]=u;s[1]=t;if(H!==null){naviciAjaxApi.clearDynamicLayer()}var o=I.selectedIndex;var w=I.options[o].value;o=L.selectedIndex;var m=L.options[o].value;o=F.selectedIndex;var r=F.options[o].value;o=D.selectedIndex;var q=D.options[o].value;o=e.selectedIndex;var n=e.options[o].value;var p="";var f=LineManager.getLines();for(var l in f){if(f[l].getState()==LineManager.Line.STATE.DISABLED){var g=f[l].getIds();for(var h in g){if(p.length>0){p+=","}p+=g[h]}}}var v=[{attributename:"TimeDirection",attributevalue:w},{attributename:"Date",attributevalue:MREITTI.UTIL.formatDate(x)},{attributename:"Time",attributevalue:MREITTI.UTIL.formatTime(x)},{attributename:"WalkSpeed",attributevalue:m},{attributename:"MaxWalk",attributevalue:r},{attributename:"RoutingMethod",attributevalue:q},{attributename:"ChangeMargin",attributevalue:n},{attributename:"NumberRoutes",attributevalue:"5"},{attributename:"ExcludedLines",attributevalue:p}];H=naviciAjaxApi.searchRoute(null,s,v,new Q(k));for(var l in G){if(G[l]!=null){G[l](k)}}}};this.validateAllInput=function(){var h=searchFrom.getRouteLocation();var f=searchTo.getRouteLocation();var g=K.getDateTime();if(h!==null&&f!==null&&g!==null){return true}else{return false}};this.addRouteRequestSentCBF=function(f){return O(G,f)};this.removeRouteRequestSentCBF=function(f){G[f]=null};this.addRouteResponseReadyCBF=function(f){return O(Z,f)};this.removeRouteResponseReadyCBF=function(f){Z[f]=null};var G=[];var Z=[];function O(f,h){for(var g=0;g<f.length;g++){if(f[g]==null){f[g]=h;return g}}f.push(h);return g}var Q=function(g){var f=g;return function(m,l,j){var h=null;if(l==null||j!=0){h=null}else{h=LBS.MTRAVEL.parseResponse(l)}for(var k in Z){if(Z[k]!=null){Z[k](m,h,f)}}}};var C=function(){P.searchRoute()};var B=new RouteRequest();B.setStartLocation(null);B.setEndLocation(null);searchFrom=c;searchFrom.addRouteLocationChangeCBF(new V("StartLocationMarker",null));searchFrom.addRouteLocationChangeCBF(B.setStartLocation);searchTo=X;searchTo.addRouteLocationChangeCBF(new V("EndLocationMarker",null));searchTo.addRouteLocationChangeCBF(B.setEndLocation);var K=new DateTimeInputArea(S,E);var I=A;var L=R;var F=U;var D=J;var e=b;var a=new N.Button(LBS.UTIL.DOM.getElement("SearchButton"),N.Button.STATE.DISABLED);var d=new N.ButtonStyleManager(CssSettings.SearchButton);d.addButton(a);a.addMouseClickCBF(C);var W=function(){var h=searchFrom.getRouteLocation();var f=searchTo.getRouteLocation();var g=K.getDateTime();if(h!==null&&f!==null&&g!==null){a.setState(N.Button.STATE.ENABLED)}else{a.setState(N.Button.STATE.DISABLED)}};K.addDateTimeChangeCBF(W);this.addRouteResponseReadyCBF(W);function V(g,f){var i=null;var h=g;var j=f;return function(k){if(i!==null){naviciAjaxApi.deleteDivMarker(i)}if(k===null){}else{i=naviciAjaxApi.addDivMarker("LocationMarker",k.getX(),k.getY(),"",0,0,"");var l=LBS.UTIL.DOM.appendNewElement(i,"div",h);if(f!==null){LBS.UTIL.DOM.appendText(l,j)}}W()}}var P=this;var H=null;var Y={x:null,y:null};function M(g){var f=g;return function(m,i,l,h,j){if(j!==0){alert("Error occured in getAddressByCoordinates")}if(j===0&&h!==null&&Y.x==i&&Y.y==l){if(h.length>0){var k=new RouteLocation(i,l);k.setCategory(RouteLocation.CATEGORY_POINT);k.setName(h[0].getName());k.setCity(h[0].getCity());if(h[0].getNumber()!==null&&h[0].getNumber()>0){k.setNumber(h[0].getNumber())}f(k)}}}}function T(h){var g=[{attributename:"radius",attributevalue:Settings.ReverseGeocoding["radius"]}];var f=h;return function(l,i,k){var j=new RouteLocation(i,k);j.setCategory(RouteLocation.CATEGORY_POINT);f(j);Y={x:i,y:k};naviciAjaxApi.getAddressByCoordinates(l,i,k,1,g,new M(f))}}naviciAjaxApi.addMapMenuItem(null,Dictionary.MapMenu["startLocation"],new T(searchFrom.setRouteLocation),[{attributename:"class",attributevalue:"StartLocationMapMenuItem"},{attributename:"className",attributevalue:"StartLocationMapMenuItem"}]);naviciAjaxApi.addMapMenuItem(null,Dictionary.MapMenu["endLocation"],new T(searchTo.setRouteLocation),[{attributename:"class",attributevalue:"EndLocationMapMenuItem"},{attributename:"className",attributevalue:"EndLocationMapMenuItem"}])}function SearchFrame(A,b,O){var P=LBS.GUI;this.getRouteLocation=function(){return C};this.setRouteLocation=function(e){if(e===null){return}var d=MREITTI.UTIL.routeLocationToString(e);B=d;S.setInput(d);H.setState(SelectionList.STATE_INVISIBLE);H.clear();G(e)};this.setInput=function(d){S.setInput(d)};this.setSuggestions=function(d){if(d.length<1){H.setState(SelectionList.STATE_INVISIBLE);if(C!==null){G(null)}}else{H.clear();var e=[];for(var g in d){var f=MREITTI.UTIL.routeLocationToString(d[g]);var h="Poi";if(d[g].getCategory()==RouteLocation.CATEGORY_ADDRESS){h="Address"}else{if(d[g].getCategory()==RouteLocation.CATEGORY_STREET){h="Street"}}var l=LBS.UTIL.DOM.createElement("div");var k=LBS.UTIL.DOM.appendNewElement(l,"div",h);LBS.UTIL.DOM.appendText(k,f);var j=new SelectionList.Item(l,d[g],SelectionList.Item.STATE.ENABLED);j.addMouseClickCBF(L);Z.addSelectionListItem(j);e.push(j)}H.addArrayOfItems(e);H.setSelectedIndex(0);H.setState(SelectionList.STATE_ENABLED);G(H.getSelectedItem().getData())}};this.addRouteLocationChangeCBF=function(d){M.push(d)};var G=function(d){var f=P.InputField.STATE;if(d===null){if(S.getInput().length>2){S.setState(f.INVALID)}else{S.setState(f.ENABLED)}}else{S.setState(f.VALID)}if(d===C){return}C=d;for(var e in M){M[e](d)}};var N=function(j,g,d,e){c=false;if(S.getInput()==g){if(e!=0){V.setSuggestions(new Array());S.setState(P.InputField.STATE.INVALID)}else{if(d.length<1){S.setState(P.InputField.STATE.INVALID)}else{S.setState(P.InputField.STATE.VALID)}var h=[];for(var f in d){h[f]=new RouteLocation(d[f].getX(),d[f].getY());h[f].setName(d[f].getName());h[f].setCity(d[f].getCity());if(d[f].getCategory()=="poi"){h[f].setCategory(RouteLocation.CATEGORY_POI)}else{if(d[f].getCategory()=="street"){if(d[f].getNumber()!==null&&d[f].getNumber()>0){h[f].setCategory(RouteLocation.CATEGORY_ADDRESS);h[f].setNumber(d[f].getNumber())}else{h[f].setCategory(RouteLocation.CATEGORY_STREET)}}}}V.setSuggestions(h)}}else{D()}};var D=function(){var d=S.getInput();if(d==B||c){return}else{B=null}if(d.length<3){G(null);V.setSuggestions(new Array());S.setState(P.InputField.STATE.ENABLED)}else{var g=Settings.Geocoding["cities"];var e=g[0];for(var f=1;f<g.length;f++){e+=","+g[f]}var h=new GeoserverGeocodingXml();h.addLocationRestriction("Municipality",null,"All",e);h.setMaxResults(Settings.SuggestionList["maxSuggestions"]);h.setFreeFormKey(d);naviciAjaxApi.getAddressByObject(null,h,N);c=true;S.setState(P.InputField.STATE.VALIDATING);H.setState(SelectionList.STATE_INVISIBLE);H.clear()}};var L=function(d){H.setState(SelectionList.STATE_INVISIBLE);V.setRouteLocation(d.getData())};var a=function(e){var d=e.getSelectedItem();if(d!==null){G(d.getData())}};var F=function(){if(X.timer===null){X.timer=setInterval(X.CBF,X.interval)}};var K=function(){if(E.timer===null){E.timer=setInterval(E.CBF,E.interval)}};var W=function(){if(X.timer!==null){clearInterval(X.timer);X.timer=null}};var I=function(){if(E.timer!==null){clearInterval(E.timer);E.timer=null}};var V=this;A.autocomplete="off";if(O){A.value=O}else{A.value=""}var S=new P.InputField(A,P.InputField.STATE.ENABLED);var R=new P.InputFieldStyleManager(CssSettings.InputField);R.addInputField(S);var B=null;var c=false;var H=b;H.setState(SelectionList.STATE_INVISIBLE);H.addSelectionChangeCBF(a);var C=null;var M=[];var T=Settings.SuggestionList["scrollInterval"];var X={CBF:H.selectNextItem,interval:T,timer:null};var E={CBF:H.selectPreviousItem,interval:T,timer:null};var Z=new SelectionList.Item.StyleManager(CssSettings.SuggestionList["Item"]);S.addKeyReleaseCBF(I,null);S.addKeyReleaseCBF(W,null);S.addInputChangeCBF(D,Settings.LocationInputField["onChangeReactionTime"]);var Y=function(d,e){if(H.getState()!=SelectionList.STATE_ENABLED){if(H.getLength()>0){H.setState(SelectionList.STATE_ENABLED)}}else{if(X.timer===null){H.selectNextItem();F()}}};var J=function(d,e){if(H.getState()!=SelectionList.STATE_ENABLED){}else{if(H.getSelectedIndex()===null){}else{if(E.timer===null){H.selectPreviousItem();K()}}}};var U=function(d,e){if(H.getSelectedIndex()===null){if(H.getState()!=SelectionList.STATE_INVISIBLE){H.setState(SelectionList.STATE_INVISIBLE)}else{H.setState(SelectionList.STATE_INVISIBLE)}}else{V.setRouteLocation(H.getSelectedItem().getData())}};var Q=function(d,e){if(e!=40){W()}if(e!=38){I()}};S.addKeyPressCBF(U,[13]);S.addKeyPressCBF(Y,[40]);S.addKeyPressCBF(J,[38]);S.addKeyPressCBF(Q,null);D()}function DateTimeInputArea(D,B){this.setHours=function(G){A.setHours(G)};this.setMinutes=function(G){A.setMinutes(G)};this.getDateTime=function(){if(A.validateTime()===false||C.validateDate()===false){return null}return new Date(C.getYear(),C.getMonth()-1,C.getDay(),A.getHours(),A.getMinutes())};this.addDateTimeChangeCBF=function(G){E.push(G)};_timeChangeHandler=function(G){for(var H in E){if(E[H]!=null){E[H](F)}}};_dateChangeHandler=function(H){for(var G in E){if(E[G]!=null){E[G](F)}}};var F=this;var E=[];var C=D;C.addDateChangeCBF(_dateChangeHandler);var A=B;A.addTimeChangeCBF(_timeChangeHandler)}function SelectionList(P,W,M,V,D){var N=LBS.GUI;this.getState=function(){return C.state};this.setState=function(Z){var X=N.Button.STATE;var Y;if(Z==SelectionList.STATE_ENABLED){L.className=H;C.state=Z}else{if(Z==SelectionList.STATE_DISABLED){L.className=E;for(Y in Q){Q[Y].setState(X.DISABLED)}for(Y in U){U[Y].setState(X.DISABLED)}C.state=Z}else{if(Z==SelectionList.STATE_INVISIBLE){L.className=J;for(Y in Q){Q[Y].setState(X.INVISIBLE)}for(Y in U){U[Y].setState(X.INVISIBLE)}C.state=Z}}}};this.clear=function(){B=[];R=null;A=0;S=0;F()};this.addItem=function(X){B.push(X);if(S<(C.size-1)){S++}F()};this.addArrayOfItems=function(X){for(var Y in X){B.push(X[Y])}if(S<(C.size-1)){if(B.length>C.size){S=C.size-1}else{S=B.length-1}}F()};this.getLength=function(){return B.length};this.setSelectedIndex=function(X){if(X===null){R=null}else{if(X>=0&&X<B.length){R=X}}F()};this.getSelectedIndex=function(){return R};this.getSelectedItem=function(){if(R===null){return null}else{return B[R]}};this.getItems=function(){return B};this.selectNextItem=function(){if(R===null){}else{if(R<(B.length-1)){R++;B[R-1].setState(SelectionList.Item.STATE.ENABLED);B[R].setState(SelectionList.Item.STATE.SELECTED);if(S<B.length-1){if(R>(A+C.selectNextScrollLimit)){O.scrollDown()}}for(var X in K){K[X](O)}}}return R};this.selectPreviousItem=function(){if(R===null){}else{if(R===0){}else{if(R>0){R--;B[R+1].setState(SelectionList.Item.STATE.ENABLED);B[R].setState(SelectionList.Item.STATE.SELECTED);if(A>0){if(R<(A+C.selectPreviousScrollLimit)){O.scrollUp()}}for(var X in K){K[X](O)}}}}return R};this.scrollDown=function(){if(S<(B.length-1)){S++;A++;for(var X=L.childNodes.length-1;X>=0;X--){L.replaceChild(B[X+A].getDomNode(),L.childNodes[X])}G()}};this.scrollUp=function(){if(A>0){S--;A--;var X=L.childNodes.length;for(var Y=0;Y<X;Y++){L.replaceChild(B[Y+A].getDomNode(),L.childNodes[Y])}G()}};this.addScrollUpButton=function(Y,X){Y.addMouseClickCBF(T);Y.setState(N.Button.STATE.INVISIBLE);Y.addMouseDownCBF(T,X);Q.push(Y)};this.addScrollDownButton=function(Y,X){Y.addMouseClickCBF(I);Y.setState(N.Button.STATE.INVISIBLE);Y.addMouseDownCBF(I,X);U.push(Y)};this.addSelectionChangeCBF=function(X){K.push(X)};var I=function(){if(R===null){O.setSelectedIndex(0)}else{if(S>=(B.length-1)){}else{O.scrollDown()}}};var T=function(){if(R===null){O.setSelectedIndex(0)}else{if(A<=0){}else{O.scrollUp()}}};var F=function(){var X=L.childNodes.length;var Z;for(Z=X-1;Z>=0;Z--){L.removeChild(L.childNodes[Z]);X--}var Y=0;for(Z=A;Z<B.length&&Z<=S;Z++){if(R===null){B[Z].setState(SelectionList.Item.STATE.ENABLED)}else{if(Z==R){B[Z].setState(SelectionList.Item.STATE.SELECTED)}else{B[Z].setState(SelectionList.Item.STATE.ENABLED)}}if(Y<X){L.replaceChild(B[Z].getDomNode(),L.childNodes[Y]);Y++}else{L.appendChild(B[Z].getDomNode())}}G()};var G=function(){var Y=N.Button.STATE;var X;if(B.length>C.size){for(X in Q){if(A===null||A<=0){Q[X].setState(Y.DISABLED)}else{Q[X].setState(Y.ENABLED)}}for(X in U){if(S>=(B.length-1)){U[X].setState(Y.DISABLED)}else{U[X].setState(Y.ENABLED)}}}else{for(X in Q){Q[X].setState(Y.INVISIBLE)}for(X in U){U[X].setState(Y.INVISIBLE)}}};var O=this;var L=P;var H=W;var E=M;var J=V;var B=[];var R=null;var C=D;var A=0;var S=C.size-1;var Q=[];var U=[];var K=[];this.setState(C.state)}SelectionList.STATE_ENABLED=1;SelectionList.STATE_DISABLED=2;SelectionList.STATE_INVISIBLE=3;SelectionList.parameters=function(C,A,B,D){this.size=C;if(A<0){this.selectNextScrollLimit=0}else{if(A>(C-1)){this.selectNextScrollLimit=C-1}else{this.selectNextScrollLimit=A}}if(B<0){this.selectPreviousScrollLimit=0}else{if(B>(C-1)){this.selectPreviousScrollLimit=C-1}else{this.selectPreviousScrollLimit=B}}this.state=D};SelectionList.Item=function(E,B,A){LBS.GUI.GuiItem.call(this,E,B,(A==SelectionList.Item.STATE.ENABLED||A==SelectionList.Item.STATE.SELECTED)?true:false);this.getState=function(){return C};this.setState=function(H){if(H===SelectionList.Item.STATE.ENABLED||H==SelectionList.Item.STATE.SELECTED){F.enableEvents()}else{F.disableEvents()}if(C!==H){C=H;for(var G in D){D[G](F)}}};this.addStateChangeCBF=function(G){D.push(G)};var D=[];var C=A;var F=this};SelectionList.Item.STATE={ENABLED:1,SELECTED:2,DISABLED:3,INVISIBLE:4};SelectionList.Item.StyleManager=function(J){var F=LBS.GUI;var G=SelectionList.Item.STATE;var C=F.GuiItem.MOUSE_STATE;var K=[[G.ENABLED,"enabled"],[G.SELECTED,"selected"],[G.DISABLED,"disabled"],[G.INVISIBLE,"invisible"]];var A=[[C.NO_MOUSE,"noMouse"],[C.MOUSE_OVER,"mouseOver"],[C.MOUSE_DOWN,"mouseDown"]];var H=[];for(var D in K){H[K[D][0]]=[];for(var B in A){H[K[D][0]][A[B][0]]=J[K[D][1]][A[B][1]]}}F.GuiItemStyleManager.call(this,H);this.addSelectionListItem=function(L){I(L);L.addStateChangeCBF(E.updateStyle)};var I=this.addGuiItem;this.addGuiItem=null;this.updateStyle=function(M){var L=M.getDomNode();var N=M.getState();var O=M.getMouseState();L.className=H[N][O]};var E=this};function RouteLocation(E,C){this.getX=function(){return D};this.getY=function(){return B};this.setX=function(I){D=I};this.setY=function(I){B=I};this.setCategory=function(I){G=I};this.getCategory=function(){return G};this.setCity=function(I){F=I};this.getCity=function(){return F};this.setName=function(I){A=I};this.getName=function(){return A};this.setNumber=function(I){H=I};this.getNumber=function(){return H};var D=E;var B=C;var G=null;var F=null;var A=null;var H=null}RouteLocation.CATEGORY_POI=1;RouteLocation.CATEGORY_STREET=2;RouteLocation.CATEGORY_ADDRESS=3;RouteLocation.CATEGORY_POINT=4;function RouteRequest(){this.setStartLocation=function(D){C=D};this.getStartLocation=function(){return C};this.setEndLocation=function(D){B=D};this.getEndLocation=function(){return B};this.setViaLocation=function(D,E){A[D]=E};this.getViaLocations=function(){return A};var C=null;var B=null;var A=[]}function RouteSuggestionsFrame(S,O){var L=LBS.GUI;var Q=LBS.UTIL.DOM;var P=Q.createElement;var D=Q.createTextNode;var H=Q.appendElement;var G=Q.appendNewElement;var K=Q.appendText;var I=Dictionary.RouteSuggestions;this.clear=function(){Q.clearElement(J)};this.getRoutes=function(){return E};this.getRouteResponse=function(){return R};this.getRouteRequest=function(){return A};this.getRouteResponseId=function(){return T};this.getSelectedRouteNumber=function(){return U};this.addRouteSelectionChangeCBF=function(W){V.push(W)};this.showRouteSuggestions=function(Ah,r,w,Ap){A=w;R=r;var Aq=function(AH,AJ){var AK=AH[0].getLegs();var AN=AK[0].getStartDateTime();var AI=B[AN.getDay()];var AE=AN.getDate();var z=AN.getMonth()+1;var AD=AN.getFullYear();var s=AI+" "+AE+"."+z+"."+AD;var AG=MREITTI.UTIL.routeLocationToString(AJ.getStartLocation());var y=MREITTI.UTIL.routeLocationToString(AJ.getEndLocation());var AF=P("div","RouteSuggestionsHeader");var AM=G(AF,"table");var AC=G(AM,"tbody");var i=G(AC,"tr");tdElem=G(i,"td");var x=G(tdElem,"div","Title");K(x,I.Header["title"]+" "+AG+" - "+y);tdElem=G(i,"td");var AL=G(tdElem,"div","Date");K(AL,s);return AF};var Af=function(){var z=M.getState();var AF=0;var AE=0;var AD=0;var x=0;var i=0;var s=z.getParam("date");if(s!==null&&s.length==8){AF=parseInt(s.substring(0,4),10);AE=parseInt(s.substring(4,6),10);AD=parseInt(s.substring(6,8),10)}var AC=z.getParam("time");if(AC!==null&&AC.length==4){x=parseInt(AC.substring(0,2),10);i=parseInt(AC.substring(2),10)}return new Date(AF,AE-1,AD,x,i)};var c=function(x,y){var s=M.getState();s.setParam("mapcenter",null);s.setParam("mapzoom",null);s.setParam("routesuggestion",null);s.setParam("date",MREITTI.UTIL.formatDate(x));s.setParam("time",MREITTI.UTIL.formatTime(x));var i=P("a");i.href=window.location.pathname+window.location.search+"#"+s.getUrlHash();i.appendChild(D(y));return i};var Aj=function(x){var i=x[0];var z=i.getStartDateTime();var AD=x[x.length-1];var y=AD.getStartDateTime();var s=Af();var AC=new Date(s.getTime()-(y.getTime()-z.getTime()));var AE=P("div","EarlierSuggestionsButtonDeparture");H(AE,c(AC,I.earlierRoutesLink));return AE};var Ab=function(i){var s=i[i.length-1];var x=s.getStartDateTime();var y=new Date(x.getTime()+60*1000);var z=P("div","LaterSuggestionsButtonDeparture");H(z,c(y,I.laterRoutesLink));return z};var e=function(i){var s=i[i.length-1];var x=s.getEndDateTime();var y=new Date(x.getTime()-60*1000);var z=P("div","EarlierSuggestionsButtonArrival");H(z,c(y,I.earlierRoutesLink));return z};var t=function(s){var i=Af();var x=new Date(i.getTime()+15*60*1000);var y=P("div","LaterSuggestionsButtonArrival");H(y,c(x,I.laterRoutesLink));return y};var AB=M.getState();var At=AB.getParam("timetype");routes=r.getRoutes();N.clear();J.style.display="block";H(J,Aq(routes,w));if(At=="arrival"){H(J,t(routes))}else{H(J,Aj(routes))}var d=P("table");d.id="RouteSuggestionsTable";var Ad=G(d,"tbody");var p=G(Ad,"tr");G(p,"th","SuggestionNumber");K(G(p,"th","DepartureTime"),I.Table["departureTime"]);K(G(p,"th","FromStopTime"),I.Table["fromStopTime"]);K(G(p,"th","ArrivalTime"),I.Table["arrivalTime"]);K(G(p,"th","Line"),I.Table["route"]);K(G(p,"th","Duration"),I.Table["duration"]);K(G(p,"th","WalkLength"),I.Table["totalWalkingLength"]);G(p,"th","SuggestionLink");var Au=new L.RadioButtonStyleManager(CssSettings.RouteSuggestion);var Ax=new L.RadioButtonGroup();var l=new L.ButtonStyleManager(CssSettings.RouteSuggestionLinkButton);var Y=null;for(var Aw=0;Aw<routes.length;Aw++){var W=routes[Aw].getStartDateTime();if(Y!==null&&Y.getDate()!==W.getDate()){p=G(Ad,"tr");tdElem=G(p,"td","NextDay");tdElem.colSpan="8";var Az=B[W.getDay()];var v=W.getDate();var X=W.getMonth()+1;var g=W.getFullYear();K(tdElem,Az+" "+v+"."+X+"."+g)}Y=W;var As=routes[Aw].getLegs();p=G(Ad,"tr");K(G(p,"td","SuggestionNumber"),(Aw+1)+".");K(G(p,"td","DepartureTime"),MREITTI.UTIL.formatTime(W,":"));var Ag=null;for(var Ak=0;Ak<As.length;Ak++){if(As[Ak] instanceof LBS.MTRAVEL.Line){Ag=As[Ak];break}}var Ar="-";if(Ag!==null){var Ay=Ag.getLocations();var j=Ay[0].getDepartureDateTime();Ar=MREITTI.UTIL.formatTime(j,":")}K(G(p,"td","FromStopTime"),Ar);var Z=routes[Aw].getEndDateTime();K(G(p,"td","ArrivalTime"),MREITTI.UTIL.formatTime(Z,":"));tdElem=G(p,"td","Line");var b=G(tdElem,"table","TransportTypeTable");var n=G(b,"tbody");var o=G(n,"tr");for(var Al=0;Al<As.length;Al++){var Ac="";var f="";var u="";if(As[Al] instanceof LBS.MTRAVEL.Walk){Ac="WalkIcon";f="WalkCode";u="-"}else{if(As[Al] instanceof LBS.MTRAVEL.Line){Ac="LineIcon";f="LineCode";u=As[Al].getCode()}}var q=G(o,"td");var Av=G(q,"div",Ac);var Ai=G(q,"div",f);K(Ai,u)}var Aa=routes[Aw].getDuration();var Ao=Math.round(Aa/60);var h=Math.floor(Ao/60);if(h>0){Ao=Ao-h*60;durationText=h+" h "+Ao+" min"}else{durationText=Ao+" min"}K(G(p,"td","Duration"),durationText);var Ae=0;for(var Am=0;Am<As.length;Am++){if(As[Am] instanceof LBS.MTRAVEL.Walk){Ae+=As[Am].getLength()}}var a=new Number(Ae/1000).toFixed(1)+" km";K(G(p,"td","WalkLength"),a);tdElem=G(p,"td","SuggestionLink");Av=G(tdElem,"div");var k=new L.Button(Av,L.Button.STATE.ENABLED);l.addButton(k);var m=G(Av,"a");var An=M.getState();An.setParam("routesuggestion",(Aw+1));An.setParam("mapzoom",null);An.setParam("mapcenter",null);m.href=window.location.pathname+window.location.search+"#"+An.getUrlHash();m.target="_blank";Av=G(m,"div","NewPageIcon");Av.title=I.Table["openInNewPageTooltip"];var AA=L.RadioButton.SELECTION_STATE.UNSELECTED;if(Aw==Ap){AA=L.RadioButton.SELECTION_STATE.SELECTED}radioButton=new L.RadioButton(p,L.Button.STATE.ENABLED,AA,Aw);Ax.addRadioButton(radioButton);Au.addRadioButton(radioButton)}J.appendChild(d);E=routes;T=Ah;U=0;Ax.addSelectionChangeCBF(F);if(At=="arrival"){H(J,e(routes))}else{H(J,Ab(routes))}};var F=function(Y){var X=Y.getSelectedRadioButton();U=X.getData();for(var W in V){V[W](N)}};var J=S;var M=O;var N=this;var V=[];var E=null;var R=null;var U=null;var T=null;var A=null;var C=I.Header["DayNames"];var B=[C.Sun,C.Mon,C.Tue,C.Wed,C.Thu,C.Fri,C.Sat]}function RouteDescriptionFrame(S,O){var L=LBS.GUI;var Q=LBS.UTIL.DOM;var P=Q.createElement;var B=Q.createTextNode;var G=Q.appendElement;var E=Q.appendNewElement;var J=Q.appendText;var H=Dictionary.RouteDescription;this.clear=function(){while(I.firstChild){I.removeChild(I.firstChild)}F=null};this.showRouteDescription=function(Z,w,u,o){var V=function(){var z=P("div","RouteDescriptionHeader");J(z,(u+1)+". "+H.Header["title"]);return z};var Y=function(z,Af){var Ab=o.getStartLocation();var Ae=z.getLocations();var Aa=Ae[0].getArrivalDateTime();var Ad=P("tr",Af);var Ag=E(Ad,"td","WalkStartTime");Ag.colSpan="2";J(Ag,MREITTI.UTIL.formatTime(Aa,":"));Ag=E(Ad,"td","WalkStartLocation");var Ac=E(Ag,"div");J(Ac,MREITTI.UTIL.routeLocationToString(Ab));A(Ac,{x:Ab.getX(),y:Ab.getY()});return Ad};var W=function(Aa,Ae){var Ad=P("tr",Ae);E(Ad,"td","WalkLineLeft");E(Ad,"td","WalkLineRight");var Ac=E(Ad,"td","WalkInformation");var Ab=P("div","WalkDetailsToggleButtonUnToggled");G(Ac,x(Aa,Ab));var z=q(Aa);G(Ac,z);var Af=new L.ToggleButton(Ab,L.Button.STATE.ENABLED,L.ToggleButton.TOGGLE_STATE.UNTOGGLED,z);Af.addToggleStateChangeCBF(C);return Ad};var c=function(z,Af){var Ag=o.getEndLocation();var Ae=k[h].getLocations();var Aa=Ae[Ae.length-1].getDepartureDateTime();var Ad=P("tr",Af);var Ac=E(Ad,"td","WalkEndTime");Ac.colSpan="2";J(Ac,MREITTI.UTIL.formatTime(Aa,":"));var Ac=E(Ad,"td","WalkEndLocation");var Ab=E(Ac,"div");J(Ab,MREITTI.UTIL.routeLocationToString(Ag));A(Ab,{x:Ag.getX(),y:Ag.getY()});return Ad};var r=function(Ah){var Af=Ah.getLocations();var Ad=P("div","LineDetailsInvisible");var Ag=E(Ad,"table");var Ae=E(Ag,"tbody");for(var Ac in Af){var z=Af[Ac].getDepartureDateTime();if(Ac==Af.length-1){z=Af[Ac].getArrivalDateTime()}var Aa=E(Ae,"tr");J(E(Aa,"td"),MREITTI.UTIL.formatTime(z,":"));var Ab=E(E(Aa,"td"),"div");J(Ab,Af[Ac].getName("1"));A(Ab,Af[Ac].getCoordinates())}return Ad};var x=function(Ag,Ac){var Ah=P("table");var Ad=E(Ah,"tbody");var z=E(Ad,"tr");var Aa=E(z,"td");G(Aa,Ac);var Aa=E(z,"td");var Ab=E(Aa,"div","WalkTransportTypeIcon");var Aa=E(z,"td");var Af=E(Aa,"div","WalkTransportTypeInformation");var Ae=new Number(Ag.getLength()/1000).toFixed(1)+" km";J(Af,H.Table["walk"]+" "+Ae);return Ah};var q=function(Ai){var Ah=Ai.getLocations();var Aa=P("div","WalkDetailsInvisible");var Aj=E(Aa,"table");var Ag=E(Aj,"tbody");for(var Ae in Ah){var Ac=Ah[Ae].getDepartureDateTime();if(Ae==Ah.length-1){Ac=Ah[Ae].getArrivalDateTime()}var z=Ah[Ae].getName("1");if(z===null){z="|"}var Ab=E(Ag,"tr");var Af=E(Ab,"td");J(Af,MREITTI.UTIL.formatTime(Ac,":"));var Ad=E(E(Ab,"td"),"div");J(Ad,z);A(Ad,Ah[Ae].getCoordinates())}return Aa};M.clear();F=new L.ButtonStyleManager(CssSettings.RouteDescription["LocationButton"]);I.appendChild(V());var k=w.getLegs();var d=P("table","RouteDescriptionTable");var s=E(d,"tbody");for(var h=0;h<k.length;h++){var y=(h%2)?"LegRowEven":"LegRowOdd";if(k[h] instanceof LBS.MTRAVEL.Walk){if(h==0){G(s,Y(k[h],y))}G(s,W(k[h],y));if(h==(k.length-1)){G(s,c(k[h],y))}}else{var p=k[h].getLocations();var f=p[0].getDepartureDateTime();var l=p[p.length-1].getArrivalDateTime();var b=p[0].getName("1");var v=p[p.length-1].getName("1");var m=E(s,"tr",y);var e=E(m,"td","LineStartTime");e.colSpan="2";J(e,MREITTI.UTIL.formatTime(f,":"));e=E(m,"td","LineStartLocation");locationElem=E(e,"div");J(locationElem,b),A(locationElem,p[0].getCoordinates());m=E(s,"tr",y);E(m,"td","LineLineLeft");E(m,"td","LineLineRight");e=P("td","LineInformation");var T=P("table");var j=E(T,"tbody");var n=E(j,"tr");var U=E(n,"td");var t=E(U,"div","LineDetailsToggleButtonUnToggled");U=E(n,"td");var a=E(U,"div","LineTransportTypeIcon");U=E(n,"td");var i=E(U,"div","LineTransportTypeInformation");J(i,H.Table["bus"]+" "+k[h].getCode());e.appendChild(T);var g=G(e,r(k[h]));var X=new L.ToggleButton(t,L.Button.STATE.ENABLED,L.ToggleButton.TOGGLE_STATE.UNTOGGLED,g);X.addToggleStateChangeCBF(R);m.appendChild(e);m=E(s,"tr",y);e=E(m,"td","LineEndTime");e.colSpan="2";J(e,MREITTI.UTIL.formatTime(l,":"));e=E(m,"td","LineEndLocation");locationElem=E(e,"div");J(locationElem,v);A(locationElem,p[p.length-1].getCoordinates())}}G(I,d);G(I,D(Z,w,u,o))};var D=function(Z,a,b,c){function d(f){var h=K.getState();var g=f.getEndDateTime();var i=new Date(g.getTime()+60*1000);var l=h.getParam("to");var k=h.getParam("from");var j=P("div","ReturnRoute");h.setParam("mapcenter",null);h.setParam("mapzoom",null);h.setParam("date",MREITTI.UTIL.formatDate(i));h.setParam("time",MREITTI.UTIL.formatTime(i));h.setParam("timetype","departure");h.setParam("from",l);h.setParam("to",k);h.setParam("routesuggestion",null);var e=E(j,"a");e.href=window.location.pathname+window.location.search+"#"+h.getUrlHash();J(e,H.Links["returnRoute"]);return j}function W(f){var h=K.getState();var g=f.getEndDateTime();var i=new Date(g.getTime()+60*1000);var k=h.getParam("to");var j=P("div","ContinueRoute");h.setParam("mapcenter",null);h.setParam("mapzoom",null);h.setParam("date",MREITTI.UTIL.formatDate(i));h.setParam("time",MREITTI.UTIL.formatTime(i));h.setParam("timetype","departure");h.setParam("from",k);h.setParam("to",null);h.setParam("routesuggestion",null);var e=E(j,"a");e.href=window.location.pathname+window.location.search+"#"+h.getUrlHash();J(e,H.Links["continueRoute"]);return j}function Y(g){var i=function(k){g=k.getData();var l=g.getStartLocation();var m=g.getEndLocation();var n=RoutesCookieManager.saveRoute([l,m]);if(n==true){h.setState(L.Button.STATE.DISABLED)}};var j=P("div","SaveRoute");var e=E(j,"span");var f=E(e,"span","LinkName");J(f,H.Links["saveRoute"]);f=E(e,"span","SavedNote");J(f,H.Links["routeSaved"]);saveButtonSM=new L.ButtonStyleManager(CssSettings.RouteDescription["SaveRouteButton"]);var h=new L.Button(e,L.Button.STATE.ENABLED,g);saveButtonSM.addButton(h);h.addMouseClickCBF(i);return j}var V=function(j,h){var g=function(k){var l=k.getData();l.submit()};var i=P("div","PrintRoute");var f=E(i,"span");J(f,h);var e=new L.Button(f,L.Button.STATE.ENABLED,j);e.addMouseClickCBF(g);return i};var U=Q.getElement("PrintForm");var T=P("div","Links");var X=G(T,d(a));X.insertBefore(B("\u2022 "),X.firstChild);X=G(T,W(a));X.insertBefore(B("\u2022 "),X.firstChild);X=G(T,V(U,H.Links["routeDetails"]));X.insertBefore(B("\u2022 "),X.firstChild);X=G(T,V(U,H.Links["printRoute"]));X.insertBefore(B("\u2022 "),X.firstChild);X=G(T,Y(c));X.insertBefore(B("\u2022 "),X.firstChild);return T};var R=function(V){var T=V.getDomNode();var U=V.getData();if(V.getToggleState()===L.ToggleButton.TOGGLE_STATE.TOGGLED){T.className="LineDetailsToggleButton";U.className="LineDetails"}else{T.className="LineDetailsToggleButtonUnToggled";U.className="LineDetailsInvisible"}};var C=function(V){var T=V.getDomNode();var U=V.getData();if(V.getToggleState()===L.ToggleButton.TOGGLE_STATE.TOGGLED){T.className="WalkDetailsToggleButton";U.className="WalkDetails"}else{T.className="WalkDetailsToggleButtonUnToggled";U.className="WalkDetailsInvisible"}};var N=function(T){var U=T.getData();naviciAjaxApi.setMapCenter(U.x,U.y)};var A=function(V,T){var U=new L.Button(V,L.Button.STATE.ENABLED,T);U.addMouseClickCBF(N);F.addButton(U)};var I=S;var F=null;var K=O;var M=this}function MapAreaHeaderFrame(C,G){var H=LBS.GUI;var M=LBS.UTIL.DOM;var I=M.createElement;var D=M.appendElement;var B=M.appendNewElement;var J=M.appendText;var L=Dictionary.MapAreaHeader;this.clear=function(){M.clearElement(K);K.style.display="none"};this.show=function(U,P,S,T){E.clear();K.style.display="block";var V=I("table");var Q=B(V,"tbody");var N=B(Q,"tr");var O=B(N,"td");var R=B(O,"div","Title");J(R,(T+1)+". "+L.title);O=B(N,"td");R=B(O,"div","Links");D(R,A(U,P,S,T));D(K,V)};var A=function(U,Q,S,T){function P(Y){var a=function(b){Y=b.getData();var c=Y.getStartLocation();var d=Y.getEndLocation();var e=RoutesCookieManager.saveRoute([c,d]);if(e==true){Z.setState(H.Button.STATE.DISABLED)}};var W=I("span","SaveRoute");var X=B(W,"span","LinkName");J(X,L.Links["saveRoute"]);X=B(W,"span","SavedNote");J(X,L.Links["routeSaved"]);saveButtonSM=new H.ButtonStyleManager(CssSettings.MapAreaHeader["SaveRouteButton"]);var Z=new H.Button(W,H.Button.STATE.ENABLED,Y);saveButtonSM.addButton(Z);Z.addMouseClickCBF(a);return W}function V(X){var a=F.getState();var Z=X.getEndDateTime();var b=new Date(Z.getTime()+60*1000);var d=a.getParam("to");var c=a.getParam("from");var Y=I("span","ReturnRoute");a.setParam("mapcenter",null);a.setParam("mapzoom",null);a.setParam("date",MREITTI.UTIL.formatDate(b));a.setParam("time",MREITTI.UTIL.formatTime(b));a.setParam("timetype","departure");a.setParam("from",d);a.setParam("to",c);a.setParam("routesuggestion",null);var W=B(Y,"a");W.href=window.location.pathname+window.location.search+"#"+a.getUrlHash();J(W,L.Links["returnRoute"]);return Y}var N=function(a,Z){var Y=function(b){var c=b.getData();c.submit()};var X=I("span","PrintRoute");J(X,Z);var W=new H.Button(X,H.Button.STATE.ENABLED,a);W.addMouseClickCBF(Y);return X};var O=M.getElement("PrintForm");var R=I("div");D(R,P(U));D(R,V(S));D(R,N(O,L.Links["printRoute"]));return R};var K=C;var F=G;var E=this}function PrintForm(E){var F=LBS.UTIL.DOM;var D=F.createElement;var C=F.appendElement;var B=F.appendNewElement;this.update=function(K,J,G){F.clearElement(A);var I=B(A,"div");function H(L,N){var M=D("input");M.type="hidden";M.name=L;M.value=N;return M}C(I,H("routeResponse",util.xml2text(J.getResponseDom())));C(I,H("startLocation",MREITTI.UTIL.routeLocationToString(K.getStartLocation())));C(I,H("endLocation",MREITTI.UTIL.routeLocationToString(K.getEndLocation())));C(I,H("routeNumber",G));C(I,H("language",Dictionary.LanguageId))};var A=E}var LineManager=new function(){this.addLine=function(B){A.push(B)};this.setLineState=function(D,C){for(var B in A){if(A[B].getCode()==D){A[B].setState(C);return}}};this.getLines=function(){return A};var A=[]};LineManager.Line=function(F,D,A){this.getCode=function(){return C};this.getIds=function(){return E};this.getState=function(){return B};this.setState=function(G){B=G};var C=F;var E=D;var B=A};LineManager.Line.STATE={ENABLED:1,DISABLED:2};function AdvancedSearchLinesFrame(C,H,R,O){var M=LBS.GUI;var T=LBS.UTIL.DOM;var P=T.createElement;var F=T.appendElement;var D=T.appendNewElement;var K=T.appendText;this.clear=function(){B()};this.showContent=function(){E()};this.setMode=function(U){if(U!=A){A=U;N();I()}};var E=function(){B();var V=LineManager.getLines();if(G.length<1){var d=D(J,"div","NoLinesSelectedNote");K(d,Dictionary.SearchArea["AdvancedSearch"]["IncludeExcludeLines"]["noLinesSelectedNote"])}else{var g=D(J,"table");var c=D(g,"tbody");for(var a in G){var X=D(c,"tr");var b=D(X,"td");var d=D(b,"div","LineCode");K(d,G[a]);b=D(X,"td");d=D(b,"div","DeleteButton");K(d,Dictionary.SearchArea["AdvancedSearch"]["IncludeExcludeLines"]["removeLine"]);var U=function(h){S(h.getData())};var f=new M.Button(d,M.Button.STATE.ENABLED,G[a]);f.addMouseClickCBF(U)}}if(G.length<V.length){var d=D(J,"div");K(d,Dictionary.SearchArea["AdvancedSearch"]["IncludeExcludeLines"]["addLine"]+" ");var Y=D(d,"select");var W=D(Y,"option");for(var a in V){var e=false;for(var Z in G){if(V[a].getCode()==G[Z]){e=true;break}}if(e==false){var W=D(Y,"option");W.value=V[a].getCode();K(W,V[a].getCode());Y.onchange=function(){var i=Y.selectedIndex;var h=Y.options[i].value;Q(h);E()}}}}};var Q=function(Z){var X=LineManager.getLines();var Y=G;G=[];for(var V in X){var W=false;for(var U in Y){if(X[V].getCode()==Y[U]){W=true;break}}if(W==true){G.push(X[V].getCode())}else{if(X[V].getCode()==Z){G.push(Z)}}}N();E();I()};var S=function(Z){var X=LineManager.getLines();var Y=G;G=[];for(var V in X){var W=false;for(var U in Y){if(X[V].getCode()==Y[U]){W=true;break}}if(W==true&&X[V].getCode()!=Z){G.push(X[V].getCode())}}N();E();I()};var N=function(){var V=LineManager.Line.STATE;var Z=LineManager.getLines();for(var W in Z){var Y=false;var a=Z[W].getCode();if(G.length<1){LineManager.setLineState(a,V.ENABLED);continue}for(var U in G){if(a==G[U]){Y=true;break}}var X=V.DISABLED;if(Y==true){if(A==AdvancedSearchLinesFrame.MODE.INCLUDE_SELECTED){X=V.ENABLED}}else{if(A!=AdvancedSearchLinesFrame.MODE.INCLUDE_SELECTED){X=V.ENABLED}}LineManager.setLineState(a,X)}};var B=function(){T.clearElement(J)};var I=function(){var U=AdvancedSearchLinesFrame.MODE;if(G.length>0&&A==U.INCLUDE_SELECTED){L.setArrayParam("includelines",G)}else{L.setArrayParam("includelines",null)}if(G.length>0&&A==U.EXCLUDE_SELECTED){L.setArrayParam("excludelines",G)}else{L.setArrayParam("excludelines",null)}};var J=C;var A=H;var G=R;var L=O;N()}AdvancedSearchLinesFrame.MODE={INCLUDE_SELECTED:1,EXCLUDE_SELECTED:2};var naviciAjaxApi=null;var pageLoadTimestamp=new Date();function main(){var A=new LBS.STATESAVER.UrlHandler(500);initService(A,startService)}function startService(Ab,p,Ao,Ba,R,D){var Ay=LBS.GUI;var v=LBS.UTIL;var Ap=v.DOM.getElement;var Aa=CssSettings;var Ai=D;var Y=Ap("Timestamp");var Bh=new CurrentTimeManager(pageLoadTimestamp,new Date(Y.value*1000));var y=null;var A5=true;if(Ai.getLocation("mapcenter")!==null){A5=false}if(Ai.getParam("routesuggestion")!==null){y=Ai.getParam("routesuggestion")}var A1=Ap(Settings.Map["placeHolderId"]);var Bk=getMapDimensions();A1.style.height=Bk.height+"px";A1.style.width=Bk.width+"px";util.setUseFormData(false);naviciAjaxApi=new NaviciAjaxApi();naviciAjaxApi.start(Ab);var AY=new PrintForm(Ap("PrintForm"));var AS=new Ay.FrameStyleManager(Aa.AboutFrame);var i=new Ay.Frame(Ap("AboutFrame"),Ay.Frame.STATE.VISIBLE);AS.addFrame(i);var A9=new Ay.ToggleButton(Ap("OwnRoutesFrameToggleButton"),Ay.Button.STATE.ENABLED,Ay.ToggleButton.TOGGLE_STATE.TOGGLED);var Bc=new Ay.ToggleFrameStyleManager(Aa.OwnRoutesFrame);var A8=new OwnRoutesFrame(Ap("OwnRoutesFrame"),A9,Ay.Frame.STATE.VISIBLE,Ay.ToggleFrame.TOGGLE_STATE.TOGGLED,Ap("OwnRoutesFrameContent"));Bc.addToggleFrame(A8);A8.showContent();var Bb=new Ay.FrameStyleManager(Aa.MapLegend);var AB=new Ay.Frame(Ap("MapLegend"),Ay.Frame.STATE.INVISIBLE);Bb.addFrame(AB);var AW=new Ay.FrameStyleManager(Aa.DisclaimerTextArea);var Bs=new Ay.Frame(Ap("DisclaimerTextArea"),Ay.Frame.STATE.INVISIBLE);AW.addFrame(Bs);var c=new Ay.FrameStyleManager(Aa.SearchingRouteFrame);var A6=new Ay.Frame(Ap("SearchingRouteFrame"),Ay.Frame.STATE.INVISIBLE);c.addFrame(A6);var AE=new Ay.FrameStyleManager(Aa.RoutingErrorFrame);var As=new Ay.Frame(Ap("RoutingErrorFrame"),Ay.Frame.STATE.INVISIBLE);AE.addFrame(As);var e=new Ay.ToggleButton(Ap("AdvancedSearchFrameToggleButton"),Ay.Button.STATE.ENABLED,Ay.ToggleButton.TOGGLE_STATE.UNTOGGLED);var A=new Ay.ToggleFrame(Ap("AdvancedSearchFrame"),e,Ay.Frame.STATE.VISIBLE,Ay.ToggleFrame.TOGGLE_STATE.UNTOGGLED);var Bn=new Ay.ToggleFrameStyleManager(Aa.AdvancedSearchFrame);Bn.addToggleFrame(A);var Aj=Ap("IncludeLinesRadioButton");var AN=Ap("ExcludeLinesRadioButton");var Bi=[];var AC=AdvancedSearchLinesFrame.MODE.INCLUDE_SELECTED;var W=Ai.getArrayParam("includelines");var T=Ai.getArrayParam("excludelines");if(T!=null&&W==null){Aj.checked=false;AN.checked=true;AC=AdvancedSearchLinesFrame.MODE.EXCLUDE_SELECTED;Bi=T}else{if(W!=null){Aj.checked=true;AN.checked=false;Bi=W}else{Aj.checked=true;AN.checked=false}}var Bd=new AdvancedSearchLinesFrame(Ap("AdvancedSearchLinesFrame"),AC,Bi,Ai);Bd.showContent();Aj.onclick=function(){Bd.setMode(AdvancedSearchLinesFrame.MODE.INCLUDE_SELECTED)};AN.onclick=function(){Bd.setMode(AdvancedSearchLinesFrame.MODE.EXCLUDE_SELECTED)};var x=function(Bt){var Bu=Bt;return function(Bv){if(Bv===null){Ai.setParam(Bt,null);return}var Bx=LBS.STATESAVER;var By=null;var Bw=null;if(Bv.getCategory()==RouteLocation.CATEGORY_POI){Bw=Bv.getName();if(Bv.getCity()!==null){Bw+=", "+Bv.getCity()}By=new Bx.NamedLocation(Bw,Bx.NamedLocation.TYPE.POI)}else{if(Bv.getCategory()==RouteLocation.CATEGORY_ADDRESS){Bw=Bv.getName()+" "+Bv.getNumber();if(Bv.getCity()!==null){Bw+=", "+Bv.getCity()}By=new Bx.NamedLocation(Bw,Bx.NamedLocation.TYPE.ADDRESS)}else{if(Bv.getCategory()==RouteLocation.CATEGORY_STREET){Bw=Bv.getName();if(Bv.getCity()!==null){Bw+=", "+Bv.getCity()}By=new Bx.NamedLocation(Bw,Bx.NamedLocation.TYPE.STREET)}else{if(Bv.getCategory()==RouteLocation.CATEGORY_POINT){By=new Bx.Point(Math.round(Bv.getX()),Math.round(Bv.getY()),Bx.Point.COORDINATE_SYSTEM.KKJ3)}else{By=new Bx.Point(Math.round(Bv.getX()),Math.round(Bv.getY()),Bx.Point.COORDINATE_SYSTEM.KKJ3)}}}}Ai.setLocation(Bu,By)}};var A7=new Ay.ButtonStyleManager(Aa.SuggestionList["ScrollUpButton"]);var AU=new Ay.ButtonStyleManager(Aa.SuggestionList["ScrollDownButton"]);var M=new SelectionList(Ap("SearchFromSuggestionList"),"SuggestionListEnabled","SuggestionListDisabled","SuggestionListInvisible",new SelectionList.parameters(7,6,0,SelectionList.STATE_ENABLED));var V=new Ay.Button(Ap("SearchFromScrollUpButton"),Ay.Button.STATE.INVISIBLE);A7.addButton(V);var Af=new Ay.Button(Ap("SearchFromScrollDownButton"),Ay.Button.STATE.INVISIBLE);AU.addButton(Af);M.addScrollUpButton(V,Settings.SuggestionList["scrollInterval"]);M.addScrollDownButton(Af,Settings.SuggestionList["scrollInterval"]);var AD=new SearchFrame(Ap("SearchFromInputField"),M,null);AD.addRouteLocationChangeCBF(new x("from"));Ap("SearchFromInputField").focus();var Bl=new SelectionList(Ap("SearchToSuggestionList"),"SuggestionListEnabled","SuggestionListDisabled","SuggestionListInvisible",new SelectionList.parameters(7,6,0,SelectionList.STATE_ENABLED));var C=new Ay.Button(Ap("SearchToScrollUpButton"),Ay.Button.STATE.INVISIBLE);A7.addButton(C);var AR=new Ay.Button(Ap("SearchToScrollDownButton"),Ay.Button.STATE.INVISIBLE);AU.addButton(AR);Bl.addScrollUpButton(C,Settings.SuggestionList["scrollInterval"]);Bl.addScrollDownButton(AR,Settings.SuggestionList["scrollInterval"]);var Ad=new SearchFrame(Ap("SearchToInputField"),Bl,null);Ad.addRouteLocationChangeCBF(new x("to"));var AK=new Ay.InputFieldStyleManager(Aa.InputField);var Ah=new Ay.InputField(Ap("DayInputField"),Ay.InputField.STATE.ENABLED);var Am=new Ay.InputField(Ap("MonthInputField"),Ay.InputField.STATE.ENABLED);var E=new Ay.InputField(Ap("YearInputField"),Ay.InputField.STATE.ENABLED);AK.addInputField(Ah);AK.addInputField(Am);AK.addInputField(E);var L=new Ay.DateInputArea(E,Am,Ah);var Br=new Ay.InputField(Ap("HourInputField"),Ay.InputField.STATE.ENABLED);var b=new Ay.InputField(Ap("MinuteInputField"),Ay.InputField.STATE.ENABLED);AK.addInputField(Br);AK.addInputField(b);var Bf=new Ay.TimeInputArea(Br,b);var H=new Ay.Button(Ap("CurrentTimeButton"),Ay.Button.STATE.ENABLED);var AG=function(Bx){var Bv=Bh.getCurrentDateTime();L.setYear(Bv.getFullYear());var By=Bv.getMonth()+1;L.setMonth((By<10?"0":"")+By);var Bu=Bv.getDate();L.setDay((Bu<10?"0":"")+Bu);var Bt=Bv.getHours();Bf.setHours((Bt<10?"0":"")+Bt);var Bw=Bv.getMinutes();Bf.setMinutes((Bw<10?"0":"")+Bw)};H.addMouseClickCBF(AG);var B=Ap("TimeTypeInputField");var r=Ap("WalkSpeedInputField");var AX=Ap("MaxWalkInputField");var Al=Ap("RoutingMethodInputField");var A3=Ap("ChangeMarginInputField");var U=new SearchArea(AD,Ad,L,Bf,B,r,AX,Al,A3);(function(Bx,By,Bv,Bw){var Bt=function(){var Bz=Bx.parentNode.removeChild(Bx);By.appendChild(Bz);Bw(Bu)};var Bu=Bv(Bt)})(A1,Ap("MapAreaContainer"),U.addRouteRequestSentCBF,U.removeRouteRequestSentCBF);(function(Bx,Bv,Bw){var Bt=function(){Bx.setState(Ay.Frame.STATE.INVISIBLE);Bw(Bu)};var Bu=Bv(Bt)})(i,U.addRouteRequestSentCBF,U.removeRouteRequestSentCBF);function Bo(Bt){As.setState(Ay.Frame.STATE.INVISIBLE);A6.setState(Ay.Frame.STATE.VISIBLE);j.clear();d.clear();Az.clear();A8.setToggleState(Ay.ToggleFrame.TOGGLE_STATE.UNTOGGLED)}U.addRouteRequestSentCBF(Bo);function AO(Bu,Bt){naviciAjaxApi.clearDynamicLayer();naviciAjaxApi.setRouteVisibility(Bu,true,Bt);naviciAjaxApi.redrawDynamicLayer()}function Ac(Bz,Bt,Bw){var Bu=LBS.MTRAVEL;A6.setState(Ay.Frame.STATE.INVISIBLE);if(Bt==null){As.setState(Ay.Frame.STATE.VISIBLE)}else{if(Bt instanceof Bu.ErrorResponse){As.setState(Ay.Frame.STATE.VISIBLE)}else{if(Bt instanceof Bu.RouteResponse){_dateChangeHandler(L);_timeChangeHandler(Bf);AF();routes=Bt.getRoutes();var Bv=routes[0].getStartLocation();var By=Bv.getCoordinates();if(A5===true){naviciAjaxApi.setMapCenter(By.x,By.y)}else{A5=true}var Bx=0;if(y!==null&&y>0&&y<=routes.length){Bx=y-1;y=null}else{Ai.setParam("routesuggestion",null)}AY.update(Bw,Bt,Bx);j.showRouteSuggestions(Bz,Bt,Bw,Bx);Az.show(Bw,Bt,routes[Bx],Bx);AO(Bz,Bx);d.showRouteDescription(Bt,routes[Bx],Bx,Bw);AB.setState(Ay.Frame.STATE.VISIBLE);Bs.setState(Ay.Frame.STATE.VISIBLE)}else{alert("Unknown route response type!")}}}}function Bj(){var Bx=j.getRouteResponseId();var Bu=j.getSelectedRouteNumber();var Bt=j.getRoutes();var Bv=j.getRouteResponse();var Bw=j.getRouteRequest();Ai.setParam("routesuggestion",(Bu+1));AY.update(Bw,Bv,Bu);Az.show(Bw,Bv,Bt[Bu],Bu);AO(Bx,Bu);d.showRouteDescription(Bv,Bt[Bu],Bu,Bw)}var j=new RouteSuggestionsFrame(Ap("RouteSuggestions"),Ai);j.addRouteSelectionChangeCBF(Bj);var d=new RouteDescriptionFrame(Ap("RouteDescription"),Ai);var Az=new MapAreaHeaderFrame(Ap("MapAreaHeader"),Ai);U.addRouteResponseReadyCBF(Ac);var a=function(){var Bw=naviciAjaxApi.getMapInfos();var Bu=Math.round(Bw.centerX);var Bv=Math.round(Bw.centerY);var Bt=new LBS.STATESAVER.Point(Bu,Bv,LBS.STATESAVER.Point.COORDINATE_SYSTEM.KKJ3);Ai.setLocation("mapcenter",Bt)};var A4=function(){var Bt=naviciAjaxApi.getMapInfos();Ai.setParam("mapzoom",Bt.zoom)};var AQ=naviciAjaxApi.getMap();AQ.addZoomChangeCallback(A4);AQ.addMapMovedCallback(a);_dateChangeHandler=function(Bw){if(Bw.validateDate()!==true){Ai.setParam("date",null)}else{var Bv=Bw.getYear();var Bx=Bw.getMonth();var Bu=Bw.getDay();var Bt=""+Bv;if(Bx<10){Bt+="0"}Bt+=Bx;if(Bu<10){Bt+="0"}Bt+=Bu;Ai.setParam("date",Bt)}};L.addDateChangeCBF(_dateChangeHandler);_timeChangeHandler=function(Bu){var Bt=Bu.getHours();var Bv=Bu.getMinutes();if(Bt===null||Bv===null){Ai.setParam("time",null)}else{var Bw="";if(Bt<10){Bw+="0"}Bw+=Bt;if(Bv<10){Bw+="0"}Bw+=Bv;Ai.setParam("time",Bw)}};Bf.addTimeChangeCBF(_timeChangeHandler);var AF=function(){var Bt=B.selectedIndex;var Bu=B.options[Bt].value;switch(Bu){case"forward":Ai.setParam("timetype","departure");break;case"backward":Ai.setParam("timetype","arrival");break;default:Ai.setParam("timetype",null)}};B.onchange=function(){AF()};r.onchange=function(){var Bt=r.selectedIndex;var Bu=r.options[Bt].value;Ai.setParam("walkspeed",Bu)};AX.onchange=function(){var Bt=AX.selectedIndex;var Bu=AX.options[Bt].value;Ai.setParam("maxwalk",Bu)};Al.onchange=function(){var Bu=Al.selectedIndex;var Bt=Al.options[Bu].value;Ai.setParam("method",Bt)};A3.onchange=function(){var Bt=A3.selectedIndex;var Bu=A3.options[Bt].value;Ai.setParam("changemargin",Bu)};var AJ=function(Bt){var Bu=Bt.getParam("date");if(Bu!==null&&Bu.length==8){L.setYear(Bu.substring(0,4));L.setMonth(Bu.substring(4,6));L.setDay(Bu.substring(6,8))}};var Bq=function(Bt){var Bu=Bt.getParam("time");if(Bu!==null){if(Bu.length<3){Bf.setHours(Bu);Bf.setMinutes("00")}else{if(Bu.length==3){Bf.setHours(Bu.substring(0,1));Bf.setMinutes(Bu.substring(1))}else{Bf.setHours(Bu.substring(0,2));Bf.setMinutes(Bu.substring(2))}}}};var Q=function(Bt){var Bw=Bt.getParam("timetype");if(Bw!==null){switch(Bw){case"departure":Bw="forward";break;case"arrival":Bw="backward";break;default:Bw="forward"}var Bu=B.options;for(var Bv=0;Bv<Bu.length;Bv++){if(B.options[Bv].value==Bw){B.selectedIndex=Bv;break}}}};var Aw=function(Bt){var Bw=Bt.getParam("walkspeed");var Bu=r.options;for(var Bv=0;Bv<Bu.length;Bv++){if(r.options[Bv].value==Bw){r.selectedIndex=Bv;break}}};var At=function(Bt){var Bw=Bt.getParam("maxwalk");var Bu=AX.options;for(var Bv=0;Bv<Bu.length;Bv++){if(AX.options[Bv].value==Bw){AX.selectedIndex=Bv;break}}};var Bm=function(Bt){var Bv=Bt.getParam("method");var Bx="default";var Bu=Al.options;for(var Bw=0;Bw<Bu.length;Bw++){var By=Al.options[Bw].value;if(By==Bv){Al.selectedIndex=Bw;break}else{if(By==Bx){Al.selectedIndex=Bw}}}};var A2=function(Bt){var Bw=Bt.getParam("changemargin");var Bu=A3.options;for(var Bv=0;Bv<Bu.length;Bv++){if(A3.options[Bv].value==Bw){A3.selectedIndex=Bv;break}}};AJ(Ai);Bq(Ai);Q(Ai);Aw(Ai);At(Ai);Bm(Ai);A2(Ai);if(p!==null){AD.setRouteLocation(p)}else{if(Ao!==null){AD.setInput(Ao)}}if(Ba!==null){Ad.setRouteLocation(Ba)}else{if(R!==null){Ad.setInput(R)}}if(p!==null&&Ba!==null){U.searchRoute()}var AZ=function(){X.setState(Ay.Frame.STATE.INVISIBLE)};var h=function(){m.setState(Ay.Frame.STATE.INVISIBLE)};var S=function(){AA.setState(Ay.Frame.STATE.INVISIBLE)};var F=function(){LocationsCookieManager.saveLocation(AD.getRouteLocation())};var q=function(){LocationsCookieManager.saveLocation(Ad.getRouteLocation())};var s=function(){AD.setInput("")};var G=function(){Ad.setInput("")};var Z=function(Bu){var Bw=Ap("IndexSearchFrame");var Bv=Ap("IndexSearchFramePlaceHolder");var Bt=v.getElementPosition(Bv);Bw.style.position="absolute";Bw.style.top=Bt.y+"px";Bw.style.left=Bt.x+"px";Bw.style.zIndex=255;Au.setState(Ay.Frame.STATE.VISIBLE);Au.showContent(Bu.getData())};var Ae=new Ay.FrameStyleManager(Aa.SearchFrameMenu);var w=new Ay.MenuItemStyleManager(Aa.SearchFrameMenuItem);var X=new Ay.MenuFrame(Ap("SearchFromMainMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(X);var k=new Ay.MenuItem(Ap("SearchFromMainMenuItemIndexSearch"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(k);k.addMouseClickCBF(AZ);k.addMouseClickCBF(Z);var o=new Ay.MenuFrame(Ap("SearchFromIndexSearchMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(o);var Bp=new Ay.MenuItem(Ap("SearchFromIndexSearchMenuItemAddress"),Ay.MenuItem.STATE.ENABLED,"Street");o.addMenuItem(Bp);w.addMenuItem(Bp);Bp.addMouseClickCBF(AZ);Bp.addMouseClickCBF(Z);var u=new Ay.MenuItem(Ap("SearchFromIndexSearchMenuItemStop"),Ay.MenuItem.STATE.ENABLED,"Stop");o.addMenuItem(u);w.addMenuItem(u);u.addMouseClickCBF(AZ);u.addMouseClickCBF(Z);k.setSubMenu(o);var P=new Ay.MenuItem(Ap("SearchFromMainMenuItemOwnLocations"),Ay.MenuItem.STATE.DISABLED,"OwnLocations");w.addMenuItem(P);P.addMouseClickCBF(AZ);P.addMouseClickCBF(Z);var n=new Ay.MenuFrame(Ap("SearchFromOwnLocationsMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(n);P.setSubMenu(n);var An=new OwnLocationsMenu(P,n,w);An.addLocationSelectCBF(AZ);An.addLocationSelectCBF(AD.setRouteLocation);An.addEditLocationsCBF(AZ);An.addEditLocationsCBF(Z);var AM=new Ay.MenuItem(Ap("SearchFromMainMenuItemSave"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(AM);AM.addMouseClickCBF(AZ);AM.addMouseClickCBF(F);var K=new Ay.MenuItem(Ap("SearchFromMainMenuItemClear"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(K);K.addMouseClickCBF(AZ);K.addMouseClickCBF(s);X.addMenuItem(k);X.addMenuItem(P);X.addMenuItem(AM);X.addMenuItem(K);var m=new Ay.MenuFrame(Ap("SearchToMainMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(m);var I=new Ay.MenuItem(Ap("SearchToMainMenuItemIndexSearch"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(I);I.addMouseClickCBF(h);I.addMouseClickCBF(Z);var AL=new Ay.MenuFrame(Ap("SearchToIndexSearchMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(AL);var AP=new Ay.MenuItem(Ap("SearchToIndexSearchMenuItemAddress"),Ay.MenuItem.STATE.ENABLED,"Street");AL.addMenuItem(AP);w.addMenuItem(AP);AP.addMouseClickCBF(h);AP.addMouseClickCBF(Z);var Av=new Ay.MenuItem(Ap("SearchToIndexSearchMenuItemStop"),Ay.MenuItem.STATE.ENABLED,"Stop");AL.addMenuItem(Av);w.addMenuItem(Av);Av.addMouseClickCBF(h);Av.addMouseClickCBF(Z);I.setSubMenu(AL);var AI=new Ay.MenuItem(Ap("SearchToMainMenuItemOwnLocations"),Ay.MenuItem.STATE.DISABLED,"OwnLocations");w.addMenuItem(AI);AI.addMouseClickCBF(h);AI.addMouseClickCBF(Z);var J=new Ay.MenuFrame(Ap("SearchToOwnLocationsMenuFrame"),Ay.Frame.STATE.INVISIBLE);Ae.addFrame(J);AI.setSubMenu(J);var A0=new OwnLocationsMenu(AI,J,w);A0.addLocationSelectCBF(h);A0.addLocationSelectCBF(Ad.setRouteLocation);A0.addEditLocationsCBF(h);A0.addEditLocationsCBF(Z);var AT=new Ay.MenuItem(Ap("SearchToMainMenuItemSave"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(AT);AT.addMouseClickCBF(h);AT.addMouseClickCBF(q);var Ar=new Ay.MenuItem(Ap("SearchToMainMenuItemClear"),Ay.MenuItem.STATE.ENABLED);w.addMenuItem(Ar);Ar.addMouseClickCBF(h);Ar.addMouseClickCBF(G);m.addMenuItem(I);m.addMenuItem(AI);m.addMenuItem(AT);m.addMenuItem(Ar);var z=function(Bt){if(Bt===null){AM.setState(Ay.MenuItem.STATE.DISABLED)}else{AM.setState(Ay.MenuItem.STATE.ENABLED)}};AD.addRouteLocationChangeCBF(z);z(AD.getRouteLocation());var Ag=function(Bt){if(Bt===null){AT.setState(Ay.MenuItem.STATE.DISABLED)}else{AT.setState(Ay.MenuItem.STATE.ENABLED)}};Ad.addRouteLocationChangeCBF(Ag);Ag(Ad.getRouteLocation());var Ak=function(Bu){var Bw=X.getDomNode();if(X.getState()==Ay.Frame.STATE.INVISIBLE){var Bv=Ap("SearchFromMenuPlaceHolder");var Bt=v.getElementPosition(Bv);Bw.style.position="absolute";Bw.style.top=Bt.y+"px";Bw.style.left=Bt.x+"px";Bw.style.zIndex=255;X.setState(Ay.Frame.STATE.VISIBLE);AV=AD;An.update()}else{X.setState(Ay.Frame.STATE.INVISIBLE)}};var AH=function(Bu){var Bw=m.getDomNode();if(m.getState()==Ay.Frame.STATE.INVISIBLE){var Bv=Ap("SearchToMenuPlaceHolder");var Bt=v.getElementPosition(Bv);Bw.style.position="absolute";Bw.style.top=Bt.y+"px";Bw.style.left=Bt.x+"px";Bw.style.zIndex=255;m.setState(Ay.Frame.STATE.VISIBLE);AV=Ad;A0.update()}else{m.setState(Ay.Frame.STATE.INVISIBLE)}};var g=function(){Au.setState(Ay.Frame.STATE.INVISIBLE)};var Ax=function(Bt){AV.setRouteLocation(Bt);g()};var Bg=new Ay.FrameStyleManager(Aa.IndexSearchFrame);var Au=new IndexSearchFrame(Ap("IndexSearchFrame"),Ay.Frame.STATE.INVISIBLE);Bg.addFrame(Au);Au.addLocationSelectCBF(Ax);var Aq=new Ay.Button(Ap("SearchFromMenuButton"),Ay.Button.STATE.ENABLED);Aq.addMouseClickCBF(Ak);Aq.addMouseClickCBF(g);Aq.addMouseClickCBF(h);Aq.addMouseClickCBF(S);var l=new Ay.Button(Ap("SearchToMenuButton"),Ay.Button.STATE.ENABLED);l.addMouseClickCBF(AH);l.addMouseClickCBF(g);l.addMouseClickCBF(AZ);l.addMouseClickCBF(S);var AV=AD;var Be=new Ay.Button(Ap("CalendarButton"),Ay.Button.STATE.ENABLED);var f=new Ay.FrameStyleManager(Aa.CalendarFrame);var AA=new CalendarFrame(Ap("CalendarFrame"),Ay.Frame.STATE.INVISIBLE);f.addFrame(AA);var O=function(){var Bz=Ap("CalendarFrame");var Bx=Ap("CalendarFramePlaceHolder");var Bu=v.getElementPosition(Bx);Bz.style.position="absolute";Bz.style.top=Bu.y+"px";Bz.style.left=Bu.x+"px";Bz.style.zIndex=255;AA.setState(Ay.Frame.STATE.VISIBLE);var Bt=new Date(Ap("TimeTableValidFrom").value*1000);var By=new Date(Ap("TimeTableValidTo").value*1000);var Bw=Bh.getCurrentDateTime();var Bv=[];Bv.push({date:Bw,style:Aa.CalendarFrame["CurrentDateButton"]});if(L.getYear()!==null&&L.getMonth()!==null&&L.getDay()!==null){Bv.push({date:new Date(L.getYear(),L.getMonth()-1,L.getDay()),style:Aa.CalendarFrame["SelectedDateButton"]})}AA.showContent(Bt,By,Bw,Bv)};var t=function(){if(AA.getState()===Ay.Frame.STATE.INVISIBLE){O()}else{S()}};Be.addMouseClickCBF(t);Be.addMouseClickCBF(g);Be.addMouseClickCBF(AZ);Be.addMouseClickCBF(h);var N=function(Bu){S();L.setYear(Bu.getFullYear());var Bv=Bu.getMonth()+1;if(Bv<10){Bv="0"+Bv}L.setMonth(Bv);var Bt=Bu.getDate();if(Bt<10){Bt="0"+Bt}L.setDay(Bt)};AA.addDateSelectCBF(N)}function initService(S,Z){var K=LBS.STATESAVER;var V=Settings;var G=V.NaviciAjaxApi;var X=new NaviciAjaxConfiguration();var W=getMapDimensions();X.MAP_AREA=V.Map["placeHolderId"];X.MAP_FIXEDSIZE=true;X.MAP_WIDTH=W.width;X.MAP_HEIGHT=W.height;X.CREATE_INDEXMAP=G.CREATE_INDEXMAP;X.INDEXMAP_WIDTH=W.width*0.3;X.INDEXMAP_HEIGHT=W.height*0.3;X.SERVER_SIDE_FILE=G.SERVER_SIDE_FILE;X.LANGUAGE=G.LANGUAGE;X.IE_FIX_CSS=G.IE_FIX_CSS;X.MAP_MIN_X=G.MAP_MIN_X;X.MAP_MAX_X=G.MAP_MAX_X;X.MAP_MIN_Y=G.MAP_MIN_Y;X.MAP_MAX_Y=G.MAP_MAX_Y;X.MAP_START_X=G.MAP_START_X;X.MAP_START_Y=G.MAP_START_Y;X.scales=G.scales;X.availableImages=G.availableImages;X.MAP_MIN_ZOOM=G.MAP_MIN_ZOOM;X.MAP_MAX_ZOOM=G.MAP_MAX_ZOOM;X.MAP_INI_ZOOM=G.MAP_INI_ZOOM;X.MAP_IMAGEPATH=G.MAP_IMAGEPATH;X.PAN_CURSOR_STYLE=G.PAN_CURSOR_STYLE;X.MAP_SMOOTHMOVE=G.MAP_SMOOTHMOVE;X.CREATE_TYPE_MENU=G.CREATE_TYPE_MENU;X.CREATE_PRINT_MENU=G.CREATE_PRINT_MENU;X.LAYERS=G.LAYERS;var B=S.getParam("mapzoom");if(B!==null){var N=parseInt(B);if(isNaN(N)===false&&N>=X.MAP_MIN_ZOOM&&N<=X.MAP_MAX_ZOOM){X.MAP_INI_ZOOM=N}}for(var T in Lines){LineManager.addLine(new LineManager.Line(Lines[T].lineCode,Lines[T].lineIds,LineManager.Line.STATE.ENABLED))}var L=null;var D=null;var O=null;var I=null;var a=null;var R=false;var H=false;var C=false;var Q=new AjaxObject(G.SERVER_SIDE_FILE);var F=new Geocoding();F.start(Q);function P(b){var c=K.Point.COORDINATE_SYSTEM;if(b.getCoordinateSystem()===c.KKJ3){return{x:b.getX(),y:b.getY()}}else{if(b.getCoordinateSystem()===c.WGS84){var d=LBS.COORDINATECONVERTER.WGS84ToKKJ3(b.getX(),b.getY());return d}else{return{x:b.getX(),y:b.getY()}}}}function E(n,p){var c=p;function g(q,Ac,w,u){if(u==0&&w.length==1){var Ab=w[0].getX();var Aa=w[0].getY();var z=w[0].getType();var i=w[0].getName();var r=w[0].getStreet();var s=w[0].getNumber();var t=w[0].getCity();var v=new RouteLocation(Ab,Aa);v.setCategory(RouteLocation.CATEGORY_POINT);if(z=="Poi"){v.setCategory(RouteLocation.CATEGORY_POI);v.setName(i);v.setCity(t)}else{if(z=="Street"){v.setName(r);v.setCity(t);if(s!==null&&s>0){v.setCategory(RouteLocation.CATEGORY_ADDRESS);v.setNumber(s)}else{v.setCategory(RouteLocation.CATEGORY_STREET)}}else{if(z=="Address"){v.setCategory(RouteLocation.CATEGORY_ADDRESS);v.setName(r);v.setNumber(s);v.setCity(t)}}}c(v)}else{c(null)}}function b(u,q,t,i,r){var s=new RouteLocation(q,t);s.setCategory(RouteLocation.CATEGORY_POINT);if(r==0&&i!==null&&i.length>0){s.setName(i[0].getName());s.setCity(i[0].getCity());if(i[0].getNumber()!==null&&i[0].getNumber()>0){s.setNumber(i[0].getNumber())}}c(s)}var h=V.Geocoding["cities"];var f=h[0];for(var j=1;j<h.length;j++){f+=","+h[j]}var e=new GeoserverGeocodingXml();e.addLocationRestriction("Municipality",null,"All",f);e.setMaxResults(2);var m=S.getLocation(n);if(m===null){var o=S.getParam(n);if(o===null||o.length<3){c(null);return}e.setFreeFormKey(o);F.getAddressByObject(null,e,g)}else{if(m instanceof K.Point){var l=P(m);var d=[{attributename:"radius",attributevalue:Settings.ReverseGeocoding["radius"]}];var k=new GeocodingReversed();k.start(Q);k.getAddress(null,l.x,l.y,"fi",1,d,b)}else{if(m instanceof K.NamedLocation){e.setFreeFormKey(m.getName());if(m.getType()===K.NamedLocation.TYPE.POI){e.deleteAllLocationType();e.addLocationType("POI")}else{if(m.getType()===K.NamedLocation.TYPE.STREET){e.deleteAllLocationType();e.addLocationType("Street")}else{if(m.getType()===K.NamedLocation.TYPE.ADDRESS){e.deleteAllLocationType();e.addLocationType("Street")}}}F.getAddressByObject(null,e,g)}else{c(null)}}}}function J(b){if(b!==null){X.MAP_START_X=b.getX();X.MAP_START_Y=b.getY();a=b}R=true;U()}E("mapcenter",J);var A=S.getLocation("from");if(A!==null&&A instanceof K.NamedLocation){O=A.getName()}else{O=S.getParam("from")}function Y(b){L=b;H=true;U()}E("from",Y);A=S.getLocation("to");if(A!==null&&A instanceof K.NamedLocation){I=A.getName()}else{I=S.getParam("to")}function M(b){D=b;C=true;U()}E("to",M);Q.sendRequest();function U(){if(R===true&&H===true&&C===true){if(L!==null&&D!==null&&a===null){X.MAP_START_X=L.getX();X.MAP_START_Y=L.getY()}Z(X,L,O,D,I,S)}}}function getMapDimensions(){var F=LBS.UTIL;var G=F.getWindowDimensions();var D=F.DOM.getElement(Settings.Map["placeHolderId"]);var B=F.getElementPosition(D);var C=G.width-B.x;var E=G.height-B.y;var A=Settings.Map["dimensions"];C-=A.marginRight;E-=A.marginBottom;if(C<A.minWidth){C=A.minWidth}else{if(C>A.maxWidth){C=A.maxWidth}}if(E<A.minHeight){E=A.minHeight}else{if(E>A.maxHeight){E=A.maxHeight}}return{width:C,height:E}}function poll(C,G,F,B){var A=LBS.UTIL.DOM.getElement;var E=null;var D=function(){if(A(G)){window.clearTimeout(E);var H=A(F);H.parentNode.removeChild(H);var I=A(G);I.parentNode.removeChild(I);A(B).style.display="block";C()}};E=window.setInterval(D,10)}poll(main,"TheLastElementInBody","NoScript","Page");