var fdSliderController=function(){function B(Ay){function At(){AK();try{var S=As.offsetWidth,R=As.offsetHeight,T=Aw.offsetWidth,W=Aw.offsetHeight;AJ=Ao?R-W:S-T;AO=AJ/Aa;AI=AJ/Math.ceil(AS/AH);D=S;Ab=R;AG()}catch(V){}Av("redraw")}function Av(S){var R={elem:Au,value:Ag=="select"?Au.options[Au.selectedIndex].value:Au.value};if(S in l){for(var T=0,V;V=l[S][T];T++){V(R)}}}function An(){As.className=As.className.replace("focused","")+" focused";if(K&&!h){G(window,"DOMMouseScroll",Aq);G(document,"mousewheel",Aq);window.opera||G(window,"mousewheel",Aq)}Av("focus")}function AQ(){As.className=As.className.replace(/focused|fd-fc-slider-hover|fd-slider-hover/g,"");if(K&&!h){I(document,"mousewheel",Aq);I(window,"DOMMouseScroll",Aq);window.opera||I(window,"mousewheel",Aq)}Av("blur")}function Aq(S){if(Ah){S=S||window.event;var R=0;if(S.wheelDelta){R=S.wheelDelta/120;if(window.opera&&window.opera.version()<9.2){R=-R}}else{if(S.detail){R=-S.detail/3}}if(Ao){R=-R}if(R){var T=Ao?Aw.offsetTop:Aw.offsetLeft;T=R<0?Math.ceil(T+AI):Math.floor(T-AI);AF(Math.min(Math.max(T,0),AJ))}return A(S)}}function AP(R){R=R||document.parentWindow.event;if(R.keyCode>=33&&R.keyCode<=40||!Ah||R.keyCode==45||R.keyCode==46){return A(R)}return true}function Ax(S){if(!Ah){return true}S=S||document.parentWindow.event;var R=S.keyCode!=null?S.keyCode:S.charCode;if(R<33||R>40&&R!=45&&R!=46){return true}var T=Ag=="input"?parseFloat(Au.value):Au.selectedIndex;if(isNaN(T)||T<Math.min(Ar,Aj)){T=Math.min(Ar,Aj)}if(R==37||R==40||R==46||R==34){T-=S.ctrlKey||R==34?AH:Ai}else{if(R==39||R==38||R==45||R==33){T+=S.ctrlKey||R==33?AH:Ai}else{if(R==35){T=Aj}else{if(R==36){T=Ar}}}}AG(T);Av("update");return A(S)}function Am(){this.className=this.className.replace(/fd\-slider\-hover/g,"")+" fd-slider-hover"}function AN(){this.className=this.className.replace(/fd\-slider\-hover/g,"")}function Ad(S){S=S||window.event;I(document,"mousemove",Ae);I(document,"mouseup",Ad);Ah=true;if(window.opera){try{setTimeout(function(){onfocus()},0)}catch(R){}}document.body.className=document.body.className.replace(/slider-drag-vertical|slider-drag-horizontal/g,"");return A(S)}function AM(S){S=S||window.event;b=Ao?S.clientY:S.clientX;AT=parseInt(Ao?Aw.offsetTop:Aw.offsetLeft)||0;Ah=false;clearTimeout(Ak);Ak=null;G(document,"mousemove",Ae);G(document,"mouseup",Ad);if(window.devicePixelRatio||document.all&&!window.opera){try{setTimeout(function(){Aw.focus()},0)}catch(R){}}document.body.className+=" slider-drag-"+(Ao?"vertical":"horizontal")}function AB(R){R=R||window.event;I(document,"mouseup",AB);if(!a){clearTimeout(Ak);Ak=null;Ah=true}return A(R)}function Ae(R){R=R||window.event;AF(AE(AT+(Ao?R.clientY-b:R.clientX-b)))}function AL(S){S=S||window.event;var R;if(S.target){R=S.target}else{if(S.srcElement){R=S.srcElement}}if(R.nodeType==3){R=R.parentNode}if(R.className.search("fd-slider-handle")!=-1){return true}try{setTimeout(function(){Aw.focus()},0)}catch(T){}clearTimeout(Ak);AK();Ak=null;Ah=false;var W=R=0,V=0;if(document.documentElement&&document.documentElement.scrollTop){V=document.documentElement.scrollTop;W=document.documentElement.scrollLeft}else{if(document.body){V=document.body.scrollTop;W=document.body.scrollLeft}}if(S.pageX){R=Ao?S.pageY:S.pageX}else{if(S.clientX){R=Ao?S.clientY+V:S.clientX+W}}R-=Ao?P+Math.round(Aw.offsetHeight/2):Ac+Math.round(Aw.offsetWidth/2);R=AE(R);if(a){AW(R)}else{if(AA){AF(R)}else{G(document,"mouseup",AB);AD=R;AU()}}}function AE(S){var R=S%AO;if(R&&R>=AO/2){S+=AO-R}else{S-=R}return Math.min(Math.max(parseInt(S,10),0),AJ)}function AK(){var S=0,R=0,T=As;try{for(;T.offsetParent;){S+=T.offsetLeft;R+=T.offsetTop;T=T.offsetParent}}catch(V){}Ac=S;P=R}function AU(){var R=Ao?Aw.offsetTop:Aw.offsetLeft;R=Math.round(AD<R?Math.max(AD,Math.floor(R-AI)):Math.min(AD,Math.ceil(R+AI)));AF(R);if(R!=AD){Ak=setTimeout(AU,Aa>20?50:100)}else{Ah=true}}function AW(R){Ah=false;Q=parseInt(R,10);AZ=parseInt(Ao?Aw.style.top:Aw.style.left,10);U=Q-AZ;AR=0;Ak||(Ak=setTimeout(Af,20))}function AF(R){Aw.style[Ao?"top":"left"]=R+"px";R=Ar+Math.round(R/AO)*Ai;AV(Ag=="select"||Ai==1?Math.round(R):R)}function AG(R){R=isNaN(R)?Ag=="input"?parseFloat(Au.value):Au.selectedIndex:R;if(isNaN(R)||R<Math.min(Ar,Aj)){R=Math.min(Ar,Aj)}else{if(R>Math.max(Ar,Aj)){R=Math.max(Ar,Aj)}}AV(R);Aw.style[Ao?"top":"left"]=Math.round((R-Ar)/Ai*AO)+"px"}function AV(S){S=isNaN(S)?Ar:S;if(Ag=="select"){try{S=parseInt(S,10);if(Au.selectedIndex==S){return }Au.options[S].selected=true}catch(R){}}else{S=(Ar+Math.round((S-Ar)/Ai)*Ai).toFixed(Al);if(Au.value==S){return }Au.value=S}k();Av("update")}function k(){Aw.setAttribute("aria-valuenow",Ag=="select"?Au.options[Au.selectedIndex].value:Au.value);Aw.setAttribute("aria-valuetext",Ag=="select"?Au.options[Au.selectedIndex].text:Au.value)}function AX(){AG();Av("update");return true}var Au=Ay.inp,Ag=Au.tagName.toLowerCase(),Ar=+Ay.range[0],Aj=+Ay.range[1],AS=Math.abs(Aj-Ar),Ai=Ag=="select"?1:+Ay.inc||1,AH=Ay.maxInc?Ay.maxInc:Ai*2,Al=Ay.inc.search(".")!=-1?Ay.inc.substr(Ay.inc.indexOf(".")+1,Ay.inc.length-1).length:0,Aa=Math.ceil(AS/Ai),a=!!Ay.tween,AC=!!Ay.fullARIA,Ap=!!Ay.hideInput,AA=a?false:!!Ay.clickJump,Ao=!!Ay.vertical,l=Ay.callbacks,AY=Ay.classNames,h=!!Ay.noMouseWheel,Ak=null,Ah=true,Ab=0,D=0,Q=0,AZ=0,U=0,AR=0,Ac=0,P=0,AJ=0,AT=0,AD=0,b=0,AI=0,AO=0,As,v,Aw,o;if(Aj<Ar){Ai=-Ai;AH=-AH}var Af=function(){AR++;var S=U,R=AR,T=AZ;S=Math.ceil(R==20?T+S:S*(-Math.pow(2,-10*R/20)+1)+T);AF(R==20?Q:S);Av("move");if(R!=20){Ak=setTimeout(Af,20)}else{clearTimeout(Ak);Ak=null;Ah=true}};(function(){if(Ap){Au.className+=" fd_hide_slider_input"}else{G(Au,"change",AX)}As=document.createElement("div");As.className="fd-slider"+(Ao?"-vertical ":" ")+AY;As.id="fd-slider-"+Au.id;v=document.createElement("span");v.className="fd-slider-inner";o=document.createElement("span");o.className="fd-slider-bar";if(AC){Aw=document.createElement("span");Aw.setAttribute("tabIndex","0")}else{Aw=document.createElement("button");Aw.setAttribute("type","button")}Aw.className="fd-slider-handle";Aw.appendChild(document.createTextNode(String.fromCharCode(160)));As.appendChild(v);As.appendChild(o);As.appendChild(Aw);Au.parentNode.insertBefore(As,Au);G(As,"mouseover",Am);G(As,"mouseout",AN);G(As,"mousedown",AL);if(window.opera){G(Aw,"keypress",Ax)}else{G(Aw,"keydown",Ax);G(Aw,"keypress",AP)}G(Aw,"focus",An);G(Aw,"blur",AQ);G(Aw,"mousedown",AM);G(Aw,"mouseup",Ad);Aw.setAttribute("role","slider");Aw.setAttribute("aria-valuemin",Ar);Aw.setAttribute("aria-valuemax",Aj);var S;if(Au.parentNode&&Au.parentNode.tagName.toLowerCase()=="label"){S=Au.parentNode
}else{for(var R=document.getElementsByTagName("label"),T=0,V;V=R[T];T++){if(V.htmlFor&&V.htmlFor==Au.id||V.getAttribute("for")==Au.id){S=V;break}}}if(S&&!S.id){S.id=Au.id+"_label"}if(S=S){Aw.setAttribute("aria-labelledby",S.id);Aw.id="fd-slider-handle-"+Au.id;S.setAttribute("for",Aw.id)}document.getElementById("fd_slider_describedby")&&Aw.setAttribute("aria-describedby","fd_slider_describedby");k();Av("create");At()})();return{onResize:function(){if(As.offsetHeight!=Ab||As.offsetWidth!=D){At()}},destroy:function(){try{I(As,"mouseover",Am);I(As,"mouseout",AN);I(As,"mousedown",AL);I(Aw,"focus",An);I(Aw,"blur",AQ);if(window.opera){I(Aw,"keypress",Ax)}else{I(Aw,"keydown",Ax);I(Aw,"keypress",AP)}I(Aw,"mousedown",AM);I(Aw,"mouseup",Ad);if(K&&!h){if(window.addEventListener&&!window.devicePixelRatio){window.removeEventListener("DOMMouseScroll",Aq,false)}else{I(document,"mousewheel",Aq);I(window,"mousewheel",Aq)}}}catch(R){}v=o=Aw=As=Ak=null;Av("destroy");l=null},reset:function(){AG()},increment:function(S){var R=Ag=="input"?parseFloat(Au.value):Au.selectedIndex;if(isNaN(R)||R<Math.min(Ar,Aj)){R=Math.min(Ar,Aj)}R+=Ai*S;AG(R)}}}var O={},H=0,K=true,G=function(Q,D,P){if(Q.attachEvent){Q["e"+D+P]=P;Q[D+P]=function(){Q["e"+D+P](window.event)};Q.attachEvent("on"+D,Q[D+P])}else{Q.addEventListener(D,P,true)}},I=function(R,D,Q){if(R.detachEvent){try{R.detachEvent("on"+D,R[D+Q]);R[D+Q]=null}catch(P){}}else{R.removeEventListener(D,Q,true)}},A=function(D){if(D==null){D=document.parentWindow.event}if(D.stopPropagation){D.stopPropagation();D.preventDefault()}return false},E=function(){if(!arguments.length){return[]}for(var R=[],D=0;D<arguments.length;D++){for(var Q=0,P;P=arguments[D][Q];Q++){R[R.length]=P}}return R},N=function(W){if(W==null){return{}}for(var T,U,P={},R,S,Q=0,V;V=W[Q];Q++){U=V.match(/(fd_slider_cb_(update|create|destroy|redraw|move|focus|blur)_)([^\s|$]+)/i)[1];V=V.replace(RegExp("^"+U),"").replace(/-/g,".");U=U.replace(/^fd_slider_cb_/i,"").replace(/_$/,"");try{if(V.indexOf(".")!=-1){R=V.split(".");S=window;V=0;for(var D;D=S[R[V]];V++){if(D instanceof Function){(function(){var Y=D;T=function(Z){Y.apply(S,[Z])}})()}else{S=D}}}else{T=window[V]}if(T instanceof Function){U in P||(P[U]=[]);P[U][P[U].length]=T}}catch(X){}}return P},F=function(a){for(var V=/fd_range_([-]{0,1}[0-9]+(d[0-9]+){0,1}){1}_([-]{0,1}[0-9]+(d[0-9]+){0,1}){1}/i,W=/fd_inc_([-]{0,1}[0-9]+(d[0-9]+){0,1}){1}/,P=/fd_maxinc_([-]{0,1}[0-9]+(d[0-9]+){0,1}){1}/,S=/((fd_slider_cb_(update|create|destroy|redraw|move|focus|blur)_)([^\s|$]+))/ig,T=/(fd_slider_cn_([a-zA-Z0-9_\-]+))/ig,Q=a&&a.tagName&&a.tagName.search(/input|select/i)!=-1?[a]:E(document.getElementsByTagName("input"),document.getElementsByTagName("select")),Y,D,l=0;Y=Q[l];l++){if(Y.tagName.toLowerCase()=="input"&&Y.type=="text"&&(Y.className.search(V)!=-1||Y.className.search(/fd_slider/)!=-1)||Y.tagName.toLowerCase()=="select"&&Y.className.search(/fd_slider/)!=-1){if(!(!a&&Y.id&&document.getElementById("fd-slider-"+Y.id))){Y.id||H++;D=Y;var Z=Y.className.search(W)!=-1?Y.className.match(W)[0].replace("fd_inc_","").replace("d","."):"1",k=Y.className.search(P)!=-1?Y.className.match(P)[0].replace("fd_maxinc_","").replace("d","."):false,U=N(Y.className.match(S)),b;b=Y.className.match(T);if(b==null){b=""}else{for(var h=[],X=0,g=void 0;g=b[X];X++){h[h.length]=g.replace(/^fd_slider_cn_/,"")}b=h.join(" ")}D={inp:D,inc:Z,maxInc:k,range:[0,100],callbacks:U,classNames:b,tween:Y.className.search(/fd_tween/i)!=-1,vertical:Y.className.search(/fd_vertical/i)!=-1,hideInput:Y.className.search(/fd_hide_input/i)!=-1,clickJump:Y.className.search(/fd_jump/i)!=-1,fullARIA:Y.className.search(/fd_full_aria/i)!=-1,noMouseWheel:Y.className.search(/fd_disable_mousewheel/i)!=-1};if(Y.tagName.toLowerCase()=="select"){D.range=[0,Y.options.length-1]}else{if(Y.className.search(V)!=-1){Y=Y.className.match(V)[0].replace("fd_range_","").replace(/d/g,".").split("_");D.range=[Y[0],Y[1]]}}Y=D;if(Y.inp&&Y.inp.id){C(Y.inp.id);O[Y.inp.id]=new B(Y)}}}}return true},C=function(D){if(D in O){O[D].destroy();delete O[D];return true}return false},M=function(){for(slider in O){O[slider].destroy()}},J=function(){M();O=null;I(window,"unload",J);I(window,"resize",L);I(window,"load",F)},L=function(){for(slider in O){O[slider].onResize()}};G(window,"load",F);G(window,"unload",J);G(window,"resize",L);return{create:function(D){F(D)},destroyAll:function(){M()},destroySlider:function(D){return C(D)},redrawAll:function(){L()},increment:function(P,D){if(!(P in O)){return false}O[P].increment(D)},addEvent:G,removeEvent:I,stopEvent:A,disableMouseWheel:function(){K=false},removeOnLoadEvent:function(){I(window,"load",F)}}}();var lt={options:{},init:function(A,B){this.options=A;this.options.autoRefreshTime=120000;this.options.$parent=B;this.options.$earlier=$("a.earlier",B);this.options.$later=$("a.later",B);this.options.$arriving=$("li.arriving",B);this.options.$departing=$("li.departing",B);this.options.$tableContainer=$("div.tbl-cont",B);this.options.$table=$("table",B);this.options.$timestamp=$("li strong",B);this.options.$update=$("li a.update",B);this.options.$autoRefresh=$("#livetrain-section-detail a.refresh-link");this.options.JSONHandler=A.homepage?this.homepageJSONHandler:this.ldbTableHandler;this.options.autoRefreshTimer="";this.options.firstRun=true;this.callAjax();this.initUpdate();this.initButtons();this.options.$tableContainer.css("overflow","hidden");this.options.$tableContainer.css("position","relative")},initLDD:function(A,B){this.options=A;this.options.autoRefreshTime=120000;this.options.$parent=B;this.options.$table=B.find("table");this.options.$timestamp=B.find(".first strong");this.options.$update=B.find("a.update");this.options.$autoRefresh=B.parent().find("a.refresh-link");this.options.JSONHandler=this.LDDJSONHandler;this.options.autoRefreshTimer="";this.options.firstRun=true;this.callAjax();this.initUpdate()},callAjax:function(){if(lt.options.firstRun){if($("tbody tr",lt.options.$table).length>1){lt.options.JSONHandler({},false,false);lt.options.firstRun=false;return false}}lt.options.ajaxData.from=lt.options.$parent.find("#train-from").val();lt.options.ajaxData.to=lt.options.$parent.find("#train-to").val();lt.options.ajaxData.departing=$(".timetable-tabs a").text()==="Arriving";$.ajax({url:lt.options.url,dataType:"jsonp",data:lt.options.ajaxData,jsonpCallback:"xyz",error:function(B,A,C){},success:lt.options.JSONHandler})},homepageJSONHandler:function(C,B,E){var D=lt.options;var A;if(B!==false){if(C.trains.length===0){D.$table.find("tbody").html('<tr><td colspan="5">Sorry, no trains found</td></tr>');
lt.setTimestamp(C.time);return }D.$table.find("tbody").html(lt.buildTableRows(C.trains));A=C.trains.length}else{A=D.$table.find("tbody tr").length}D.rh=D.$table.find("td:first-child").outerHeight();D.thh=D.$table.find("th:first-child").outerHeight();if(A>D.rows){D.th=(D.rh*D.rows)+D.thh;D.$tableContainer.css("height",D.th)}else{D.$earlier.hide();D.$later.hide()}lt.setTimestamp(C.time)},ldbTableHandler:function(C,B,H){var G=lt.options;var E=null;var D=null;var F="auto";var A;G.$table.each(function(I){A=$("tbody tr",this).length;if(E===null){E=G.$table.find("td:first-child").outerHeight()}if(D===null){D=G.$table.find("th:first-child").outerHeight()}if(A>G.rows){F=(E*G.rows)+D;G.$tableContainer.eq(I).css("height",F)}else{G.$later.eq(I).hide()}G.$earlier.eq(I).hide()});lt.options.firstRun=false;lt.options.JSONHandler=lt.ldbJSONHandler},ldbJSONHandler:function(K,I,H){var F=["trains","buses","ferries"];var C=0;var B=lt.options;var J=null;var E=null;var A="auto";while(F.length){var G=F.shift();var D;if(K[G].length===0){continue}B.$table.eq(C).find("tbody").html(lt.buildTableRows(K[G]));if(J===null){J=B.$table.find("td:first-child").outerHeight()}if(E===null){E=B.$table.find("th:first-child").outerHeight()}if(K[G].length>B.rows){A=(J*B.rows)+E;B.$tableContainer.eq(C).css("height",A)}else{B.$earlier.eq(C).hide();B.$later.eq(C).hide()}lt.setTimestamp(K.time);C++}lt.initStatusUpdates();lt.writeStatusUpdates(K.updates)},LDDJSONHandler:function(B,A,D){var C=lt.options;if(C.firstRun){C.firstRun=false}else{if(B.trains.length===0){return }C.$table.find("tbody").html(lt.buildDetailsTableRows(B.trains));lt.setTimestamp(B.time);lt.initStatusUpdates();lt.writeStatusUpdates(B.updates)}FC.callingPoints(true)},initButtons:function(){lt.options.$earlier.click(function(A){A.preventDefault();lt.scrollTable(lt.options.$earlier.index(this),"UP")});lt.options.$later.click(function(A){A.preventDefault();lt.scrollTable(lt.options.$later.index(this),"DOWN")})},scrollTable:function(C,E){var F=lt.options;var D=F.$table.eq(C);var H=F.$tableContainer.eq(C).height();var G=D.position().top;var B=G+(E==="UP"?H:-H);var A=F.$tableContainer.eq(C).height()-D.height();lt.options.$earlier.eq(C).show();lt.options.$later.eq(C).show();if(B>10||E==="RESET"){B=0;lt.options.$earlier.eq(C).hide()}if(B<A+10){B=A;lt.options.$later.eq(C).hide()}D.animate({top:B},300)},refresh:function(){lt.callAjax()},initSwitcher:function(){lt.options.$arriving.click(function(A){A.preventDefault();lt.switcher("ARRIVING")});lt.options.$departing.click(function(A){A.preventDefault();lt.switcher("DEPARTING")})},switcher:function(A){var G=lt.options;var B=G.$arriving;var F=G.$departing;var E=G.$parent.find("form > div > label");var D="active";var C=G.$table;B.removeClass(D);F.removeClass(D);if(A==="ARRIVING"){B.addClass(D);F.html('<a href="#">Departing</a> |');B.html("<span>Arriving</span>");E.eq(0).text("at");E.eq(1).text("from");C.find("th.destination").text("Origin")}else{F.addClass(D);F.html("<span>Departing</span> |");B.html('<a href="#">Arriving</a>');E.eq(0).text("from");E.eq(1).text("to");C.find("th.destination").text("Destination")}G.ajaxData.departing=A==="DEPARTING";G.ajaxData.from=G.$parent.find("#train-from").val();G.ajaxData.to=G.$parent.find("#train-to").val();lt.refresh()},initUpdate:function(){var A=lt.options.$autoRefresh;lt.options.$update.click(function(B){B.preventDefault();lt.refresh()});A.click(function(B){B.preventDefault();if(A.hasClass("do-refresh")){lt.stopAutoRefresh();A.removeClass("do-refresh");A.html("<span>Automatically refresh this page</span>")}else{lt.startAutoRefresh();A.addClass("do-refresh");A.html("<span>Stop automatic refresh</span>")}});if(lt.options.$autoRefresh.hasClass("do-refresh")){lt.startAutoRefresh()}},startAutoRefresh:function(){this.options.autoRefreshTimer=setInterval(lt.refresh,this.options.autoRefreshTime)},stopAutoRefresh:function(){clearInterval(this.options.autoRefreshTimer)},setTimestamp:function(A){lt.options.$timestamp.text(A)},initStatusUpdates:function(){lt.options.serviceUpdatesContainer=$(".disruptions").eq(0);lt.clearServiceUpdatesContainer()},writeStatusUpdates:function(B){var D=lt.options.serviceUpdatesContainer;var E=[];var C=0,A;if(!D){return }if(typeof (B)!=="object"||B.length===0){lt.hideServiceUpdatesContainer();return }else{lt.showServiceUpdatesContainer()}B=B.slice(0,4);A=B.length;while(C<A){E[E.length]="<li";E[E.length]=C===A-1?" class='last'>":">";E[E.length]=B[C].text.replace(/&#034;/g,'"').replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">");E[E.length]="</li>";C++}D.find("ul.disruption-ul").append(E.join(""))},clearServiceUpdatesContainer:function(){lt.options.serviceUpdatesContainer.find(".disruption ul").empty()},hideServiceUpdatesContainer:function(){lt.options.serviceUpdatesContainer.css("display","none")},showServiceUpdatesContainer:function(){lt.options.serviceUpdatesContainer.css("display","block")},buildTableRows:function(F){var B=F.length;var D=[];var G=lt.options.homepage;if(!F){return'<td colspan="6">Sorry, No results found.</td>'}for(var C=0;C<B;C++){D[D.length]='<tr class="';if(C%2===0){D[D.length]=" alt"}if(C===F.length-1){D[D.length]=" last"}if(C===0){D[D.length]=" first"}if(F[C][0]=="ed"){D[D.length]=" delayed"}D[D.length]='">';D[D.length]="<td>";D[D.length]=F[C][1];D[D.length]="</td>";D[D.length]='<td class="destination">';D[D.length]=F[C][2];D[D.length]="</td>";if(F[C][0]=="d"||F[C][0]=="ed"||F[C][0]=="e"||F[C][0]=="od"){var A=F[C][3].split("&lt;br/&gt;");var E="";switch(F[C][0]){case"ed":E="status status-delay";break;case"d":E="status status-minor-delay";break;case"e":E="status status-early";break}if(A.length===1){A[1]="&nbsp;"}A[1]=A[1].replace(/mins/,'<abbr title="minutes">mins</abbr>');if(F[C][0]=="od"){D[D.length]='<td title="The expected report for this service is overdue"> On Time *</td>'}else{D[D.length]='<td class="'+E+'">'+A[0]+'<br/><span class="unbold">'+A[1]+"</span></td>"}}else{if(G){D[D.length]='<td class="status on-time"><img alt="'+F[C][3]+'" class="sprite-main" src="/images/clear.gif" width="15" height="22" /></td>'}else{var A=F[C][3].split("&lt;br/&gt;");if(A&&A[0]&&A[1]){D[D.length]='<td class="status">'+A[0]+'<br/><span class="unbold">'+A[1]+"</span></td>"}else{D[D.length]='<td class="status">'+F[C][3]+"</td>"}}}D[D.length]="<td>";D[D.length]=F[C][4];D[D.length]="</td>";D[D.length]='<td><a href="'+F[C][5]+'">';D[D.length]=G?"View":"Details";D[D.length]="</td>";D[D.length]="</tr>"}return D.join("")},buildDetailsTableRows:function(D){var A=D.length;
var C=[];var E="";for(var B=0;B<A;B++){C[C.length]='<tr class=" ';if(B===0){C[C.length]=" first"}if(B===D.length-1){C[C.length]=" last"}if(B%2===0){C[C.length]=" alt"}if(D[B][0]==="d"){C[C.length]=" delayed"}if(D[B][6]){C[C.length]=" "+D[B][6]}if(D[B][9]==="to"||D[B][9]==="from"){C[C.length]=" station"}C[C.length]='">';C[C.length]="<td>"+D[B][1]+"</td>";if(D[B][7]==="branch"){C[C.length]='<td class="station">'+D[B][2]+'<div class="callingpointdesc">Train divides here with a portion going to '+D[B][8][D[B][8].length-1][2]+"</div></td>"}else{if(D[B][7]==="merge"){C[C.length]='<td class="station">'+D[B][2]+'<div class="callingpointdesc">Train merges here with traffic from '+D[B][8][D[B][8].length-1][2]+"</div></td>"}else{C[C.length]='<td class="station">'+D[B][2]+"</td>"}}E="<td><span>"+D[B][3]+'</span><br/><span class="unbold">'+D[B][4]+"</span></td>";C[C.length]=E.replace(/mins/,'<abbr title="minutes">mins</abbr>');C[C.length]="<td>"+D[B][5]+"</td>";if(B===0){C[C.length]='<td class="start'+D[B][6]+'">'}else{if(B===(D.length-1)){C[C.length]='<td class="end'+D[B][6]+'">'}else{if(D[B][6]===""){C[C.length]='<td class="progress">'}else{C[C.length]='<td class="'+D[B][6]+'">'}}}if(D[B][6]=="atstation"||D[B][6]=="inmotion"){C[C.length]='<div class="current"><span>Train last reported</span></div>'}C[C.length]="</td></tr>";if(D[B][7]==="branch"||D[B][7]==="merge"){C[C.length]='<tr class="callingpoints"><td colspan="5"><div class="callingpointslide" style="display: none"><table cellspacing="0" cellpadding="0" border="1" class="innertable"><tbody>';for(j=0;j<D[B][8].length;j++){if(D[B][8][j][0]==="d"){C[C.length]='<tr class="delayed '+((j%2===0)?"alt":null)+'">'}else{C[C.length]='<tr class="'+((j%2===0)?"alt":null)+'">'}C[C.length]='<td class="calling-points">'+D[B][8][j][1]+"</td>";C[C.length]='<td class="station">'+D[B][8][j][2]+"</td>";C[C.length]="<td><span>"+D[B][8][j][3]+'</span><br/><span class="unbold">'+D[B][8][j][4]+"</span></td>";C[C.length]="</tr>"}C[C.length]="</tbody></table></div></td></tr>"}}return C.join("")}};FC.resultsTable=function(B){var A=$(B).find("tr");A.bind("mouseover",function(){$(this).addClass("selected")});A.bind("mouseout",function(){var C=$(this).find(".alert input[type=checkbox]");if(C.attr("checked")!==true){$(this).removeClass("selected")}})};FC.accordianTable=function(L){var B=$,O=document,R=FC.vars.slowSafari,F=/expanded/,J=L.find("tr.accordian-header"),K,E,M=J.length,N,H,C,D=O.createDocumentFragment(),S=O.createElement("A"),P=O.createElement("IMG"),Q,A=function(U){var T=/hlt/;if(!T.test(this.className)){this.className+=" hlt"}},I=function(T){this.className=this.className.replace(/ hlt/g,"")},G=function(W){var T,V,U;if(W.keyCode&&W.keyCode!==13){return }V=B(this);T=$.data(this,"vars"),U=/expanded/;if(U.test(this.className)){T.img.alt="expand "+T.title+" panel";R?T.$content.hide().removeClass("expanded-content"):T.$content.slideUp(300).removeClass("expanded-content");this.className=this.className.replace(/ expanded/g,"")}else{T.img.alt="collapse "+T.title+" panel";R?T.$content.show().addClass("expanded-content"):T.$content.slideDown(500).addClass("expanded-content");this.className+=" expanded"}return false};P.width="26";P.height="26";P.src="/images/clear.gif";P.className="sprite-main";S.appendChild(P);S.href="#";D.appendChild(S);while(M--){K=J[M];E=B(K);N=E.find("td.last");C=E.next("tr.acc-c").find(".exp-c");__title=E.find("td.first").text();P.alt=(F.test(K.className))?"collapse "+__title+" panel":P.alt="expand "+__title+" panel";N[0].innerHTML="";N[0].appendChild(D.cloneNode(true));__$anchor=N.find("a");(function(){E.bind("mouseover focusin",A).bind("mouseout focusout",I).bind("click",G).bind("keypress",G)})();$.data(K,"vars",{title:__title,$arrowContainer:N,img:__$anchor.find("img")[0],$content:C})}while(D.firstChild){D.firstChild.innerHTML="";D.removeChild(D.firstChild)}};FC.showMore=function(A){$(A).each(function(){$this=$(this);$this.before('<a href="#" class="show-more-link">Find out more about topic</a>');function B(C){var D=FC.vars.slowSafari;if($(C).next().hasClass("show-more-expanded")){$(C).removeClass("show-more-link-expanded");D?$(C).next().removeClass("show-more-expanded").hide():$(C).next().removeClass("show-more-expanded").slideUp(200)}else{$(C).addClass("show-more-link-expanded");D?$(C).next().addClass("show-more-expanded").show():$(C).next().addClass("show-more-expanded").slideDown(400)}}$this.prev().bind("click",function(C){B(this);return false}).bind("keypress",function(C){if(C.keyCode==13){B(this);return false}})})};FC.chooseTOC=function(){if($("#operatorLogo").children().size()>0){$("div.ticket-provider").hide();$("div.ticket-provider-btn").hide();$("p.change-provider").append('<a href="#" class="arrowlink-dark">Buy from another ticket provider</a>')}else{$("p.change-provider").hide();$("div.ticket-provider").show()}$("p.change-provider a").bind("click",function(){$("p.change-provider").hide();$("div.ticket-provider").show();return false});$("select.sltProvider").change(function(){if($(this).val()!="null"){var A=($(this).val()).split(" ").join("");$("div.operator-price img").attr("src","/images/logo-toc-"+A+".gif").attr("alt",A)}})};FC.CtfChooseTOC=function(){$("div.ticket-provider").hide();$("p.change-provider a").bind("click",function(A){A.preventDefault();$("p.change-provider").hide();$("div.ticket-provider").show();return false});$("select.sltProvider").change(function(){if($(this).val()!="null"){var B=($(this).val());var B=$(this).val();var A=B.indexOf(" ")>-1?B.split(" ").join(""):B;$("div.operator-price img").attr("src","/images/logo-toc-"+A+".gif").attr("alt",B);$("div.operator-price img").show()}})};FC.addRailcards=function(){var B=$(FC.vars.selectors.ADD_RAILCARDS);var A=$("div.rcards");B.bind("click",C);function C(D){A.css({display:"block"});$("#rcards",A).focus();B.remove();return false}};FC.rcards=function(){var B=this,D=this.vars.selectors,H=$("div.rcards"),C=H.find("select#rcards"),G=H.find("fieldset"),F=$(D.RAILCARD_BUTTON),A=200;function E(K){var J=$("#field-"+K+" .actions li:eq(1) a");var I=$("#field-"+K+" input#card-"+K);J.bind("click",function(){if(I.val()==0){G.find("div#field-"+K).fadeOut(250,function(){$(this).remove()})}})}if(G.find("div.card").length){$(D.ADD_RAILCARDS).remove();H.css({display:"block"});G.find("div.card").css({opacity:1});G.find("div.card input").each(function(){FC.increment(this);thisVal=this.id.split("-");E(thisVal[1])})}else{this.addRailcards()}F.bind("click",function(){var J=C.val(),I=["<div id='field-",undefined,"' class='card'><div class='field clear'><label for='card-",undefined,"'>",undefined,"<span class='accessibility'> - enter number of passengers</span>:</label><div class='input-border'><input type='text' class='text' id='card-",undefined,"' value='1' name='numberOfEachRailcard'/></div></div><input type='hidden' name='railcardCodes' value='",undefined,"'/></div>"];
if(J!==""&&$("div#field-"+J).length===0){I[1]=J;I[3]=J;I[5]=C.find("option:selected").text();I[7]=J;I[9]=J;G.append(I.join(""));B.formBorders(G);B.increment("#card-"+J+"");G.find("#field-"+J).animate({opacity:1},250,function(){E(J)})}return false})};FC.tocs=function(){var A=$("div.TOC input");var B=$("div.TOC label");A.bind("click keypress",function(){var C=this;if(C.checked){A.parent().removeClass("selected");A.parent().removeClass("active");$(C).parent().addClass("selected");$(C).parent().addClass("active")}}).bind("keyup",function(C){switch(C.keyCode){case 9:$(this).parents("div.operators").find("input").css({left:"-3px"}).css({top:"0"});return ;default:return }}).bind("keydown",function(C){switch(C.keyCode){case 9:$(this).parents("div.operators").find("input").css({left:"-500em"}).css({top:"auto"});return ;default:return }});B.bind("mouseover",function(){$(this).parent().addClass("active")}).bind("mouseout",function(){if($(this).parent().hasClass("selected")===false){$(this).parent().removeClass("active")}}).bind("click",function(){A.parent().removeClass("selected");A.parent().removeClass("active");$(this).parent().addClass("selected");$(this).parent().addClass("active");$(this).parent().find("input").attr("checked","checked");return false})};FC.increment=function(F){var B=$(F);var G=B.parent().prev("label").text();if(B.parent().parent().find("ul").length==0){B.parent().after("<ul class='actions clear'><li><a href='#' class='increment-add'><img alt='Add "+G.replace(/:/,"")+"' class='sprite-main sprite-add' src='/images/clear.gif' width='22' height='30' /></a></li><li><a href='#' class='increment-remove'><img alt='Remove "+G.replace(/:/,"")+"' class='sprite-main sprite-remove' src='/images/clear.gif' width='22' height='30' /></a></li></ul>")}var E=B.parents("div.field");var H=$(E).find("input");var I=$(E).find("ul.actions li:eq(0) a");var C=$(E).find("ul.actions li:eq(1) a");var A;var D;B.val()===0?B.css({color:"#A2A2A2"}):B.css({color:"#404040"});B.bind("blur",function(){if(!$(this).val()){B.attr("id")=="adults"?B.val(1):B.val(0);B.css({color:"#A2A2A2"})}else{if($(this).val()===0){B.css({color:"#A2A2A2"})}else{if($(this).val()>8){B.val(8)}else{B.css({color:"#404040"})}}}});I.unbind("click").bind("click",function(){D=0;A=H.val();if(A!==""){D=A}if(D<8){D++;B.val(D);B.css({color:"#404040"})}return false});C.unbind("click").bind("click",function(){D=0;A=H.val();if(A!==""){D=A}if(D>0){D--;B.val(D);B.css({color:"#404040"})}if(D===0){B.css({color:"#A2A2A2"})}return false})};FC.callingPoints=function(B){var A=B;$(FC.vars.selectors.CALLING_POINTS).each(function(){var C=$(this);if(A){C.prev().find("div.callingpointdesc").append($("<a></a>").attr("href","#").addClass("callingpointplus").text("show calling points"));C.prev().find("a.callingpointplus").bind("click",function(){var D=$(this).parents("tr").next().find("div.callingpointslide");if(D.css("display")=="none"){$(this).text("hide calling points").removeClass("callingpointplus").addClass("callingpointminus");if(FC.vars.slowSafari){D.show()}else{D.slideDown(400)}}else{$(this).text("show calling points").removeClass("callingpointminus").addClass("callingpointplus");if(FC.vars.slowSafari){D.hide()}else{D.slideUp(400)}}return false}).bind("keypress",function(E){switch(E.keyCode){case 9:case 16:case 18:case 17:return ;default:var D=$(this).parents("tr").next().find("div.callingpointslide");if(D.css("display")=="none"){$(this).text("hide calling points").removeClass("callingpointplus").addClass("callingpointminus");if(FC.vars.slowSafari){D.show()}else{D.slideDown(400)}}else{$(this).text("show calling points").removeClass("callingpointminus").addClass("callingpointplus");if(FC.vars.slowSafari){D.hide()}else{D.slideUp(400)}}return false}})}else{C.next().find("div.callingpointdesc").append($("<a></a>").attr("href","#").addClass("callingpointplus").text("show calling points"));C.next().find("a.callingpointplus").bind("click",function(){var D=$(this).parents("tr").prev().find("div.callingpointslide");if(D.css("display")=="none"){$(this).text("hide calling points").removeClass("callingpointplus").addClass("callingpointminus");if(FC.vars.slowSafari){D.show()}else{D.slideDown(400)}}else{$(this).text("show calling points").removeClass("callingpointminus").addClass("callingpointplus");if(FC.vars.slowSafari){D.hide()}else{D.slideUp(400)}}return false}).bind("keypress",function(){switch(e.keyCode){case 9:case 16:case 18:case 17:return ;default:var D=$(this).parents("tr").prev().find("div.callingpointslide");if(D.css("display")=="none"){$(this).text("hide calling points").removeClass("callingpointplus").addClass("callingpointminus");if(FC.vars.slowSafari){D.show()}else{D.slideDown(400)}}else{$(this).text("show calling points").removeClass("callingpointminus").addClass("callingpointplus");if($.browser.safari&&$.browser.version<523){D.hide()}else{D.slideUp(400)}}return false;break}})}})};FC.routeMap=function(B){var A;var C;$("ul.companies a").bind("mouseover focus",function(){A=$(this).attr("rel");alt=$(this).text();B.attr({src:"/images/map-"+A+".jpg",alt:alt})})};FC.smsOptions=function(E){var G=$(".day-names");var D=$(E);var A=$(".more-options");var F=A.find("input[type='checkbox']");B();D.bind("change",function(){B()});function B(){var H=D.children("option:selected");if(D.val()==0){document.getElementById("alertActive").setAttribute("disabled","disabled");$(".form-panel .weeks").html("one time");G.html("for this journey");F.removeAttr("checked");A.css({display:"none"})}else{if(D.val()==3){A.css({display:"block"});C();document.getElementById("alertActive").removeAttribute("disabled");$("#alertActive").change()}else{A.css({display:"none"});F.removeAttr("checked");G.html("every "+H.text());document.getElementById("alertActive").removeAttribute("disabled");$("#alertActive").change()}}}$("#alertActive").bind("change",function(){var H=$(this).children("option:selected").val();var I=$(".form-panel .weeks");I.html(H)});function C(){F.bind("change",function(){var H=new Array;$("input:checked").each(function(){var J=$(this).attr("name");H.push(J)});if(H.length>=2){var I=H.pop();G.html("every "+H.join(", ")+" and "+I)}else{G.html("every "+H.join(", "))}})}};FC.resetUnknownStation=function(B){var C=B[0].id.indexOf("To")>0?"To":"From";var E=$("#txt"+C);var A=$("#hideSelect"+C);B.bind("change",function(F){F.preventDefault();if(this.value=="HIDE"){D()}});A.bind("click",function(F){F.preventDefault();D()});function D(){B.hide();E.show();E.focus()}};FC.PT=function(D){var L=$("div.from div.field div.clear:first");
var A=$("div.from a.add");var F=$("div.to div.field div.clear:first");var J=$("div.to a.add");var H=$("input","div.from").length;var E=$("input","div.to").length;var K=$("span.remove-from");var G=$("span.remove-to");sp.init();sp.addInputSet({from:$("#fromList0"),useDLRLU:false,useGroups:true});sp.addInputSet({from:$("#toList0"),useDLRLU:false,useGroups:true});sp.addInputSet({from:$("#txtViaAvDest"),useGroups:true});sp.addInputSet({from:$("#txtCallingStn"),useGroups:true});K.bind("click",function(){H--;$("input",$($(this).parent().parent())).val("");$(this).parent().parent().attr("style","display:none");return false});G.bind("click",function(){E--;$("input",$($(this).parent().parent())).val("");$(this).parent().parent().attr("style","display:none");return false});A.bind("click",function(){if(H<3){var M=L.clone();M.addClass("morefrom");$("input",M).attr("id","fromList"+H);$("input",M).val($("input",M)[0].defaultValue);$("label",M).attr("for","fromList"+H);$("input",M).attr("name","fromList["+H+"].searchTerm");$(".input-border",M).css({background:"none"});$(M).removeClass("invalid").addClass("valid");A.before(M);if(sp){sp.addInputSet({from:$("input",M),useDLRLU:false,useGroups:true})}FC.formBorders(M);FC.clearFields(M);$("a.remove-station",M).bind("click",function(){H--;$(this).parent().remove();return false});H++}return false});J.bind("click",function(){if(E<3){var M=F.clone();M.addClass("moreto");$("input",M).attr("id","toList"+E);$("input",M).val($("input",M)[0].defaultValue);$("label",M).attr("for","toList"+E);$("input",M).attr("name","toList["+E+"].searchTerm");J.before(M);if(sp){sp.addInputSet({from:$("input",M),useDLRLU:false,useGroups:true})}FC.formBorders(M);FC.clearFields(M);$("a.remove-station",M).bind("click",function(){E--;$(this).parent().remove();return false});E++}return false});var I=$("a.adv-search");var B=$("div.advanced-search");if($("#jpState","div.pocket-timetable").val()=="advanced"){B.removeClass("search-closed").addClass("search-open");I.addClass("hide-search")}I.bind("click",function(){if(I.hasClass("hide-search")){$("#jpState","div.pocket-timetable").val("");B.removeClass("search-open").addClass("search-closed");I.removeClass("hide-search");return false}else{$("#jpState","div.pocket-timetable").val("advanced");B.removeClass("search-closed").addClass("search-open");C();I.addClass("hide-search");return false}});function C(){if($("#sltIntCalling").val()!="SHOW_SPECIFIC"){$("#txtCallingStn").attr("disabled","disabled");$("div.btn-callingpoint").hide()}$("#sltIntCalling").change(function(){var M=($(this).val());if(M=="SHOW_SPECIFIC"){$("div.btn-callingpoint").show();$("#txtCallingStn").attr("disabled","")}else{$("#txtCallingStn").attr("disabled","disabled");$("div.btn-callingpoint").hide()}})}};FC.fareSwticher=function(){var D=$("th.fare .ctf-fare");if(D.children("div").length>1){var B=D.find("a").click(A),C=B.eq(0).hasClass("no-return")||D.parents("#ctf-results").hasClass("single")?B.eq(1):B.eq(0);C.trigger("click",[false])}function A(H,E){H.preventDefault();E=E===undefined?true:E;var I=this.innerHTML.indexOf("Single")>0;var G=$(this);if(I){$("#ctf-results").removeClass("return").addClass("single")}else{$("#ctf-results").removeClass("single").addClass("return");if(E){if($(H.target).hasClass("no-return")){$("#ctf-results").find("table tr").removeClass("sel")}}}var F=$("td.fare .cheapest").parent(".return, .single");if(F.is(":visible")){$(".has-cheapest-disabled").removeClass("has-cheapest-disabled").addClass("has-cheapest")}else{$(".has-cheapest").removeClass("has-cheapest").addClass("has-cheapest-disabled")}}};FC.setFaresAccordian=function(D){var C=FC.vars.selectors;var G={wrapper:C.FARES_ACCORDIAN,direction:"",content:C.FARES_ACCORDIAN_CONTENT,trigger:C.FARES_ACCORDIAN_TRIGGER,trigger_anchor:C.FARES_ACCORDIAN_TRIGGER_ANCHOR,effectOpen:"slideDown",effectClose:"slideUp"};var F=$.extend(G,D);var E=$(F.content);if(F.trigger){if(F.trigger){var B=$(F.trigger);B.each(function(){var H=$(this);H.find("h4").wrap('<a href="#" class="further-fares-trigger" />')});$(F.trigger_anchor).bind("click",function(H){H.preventDefault();A(this)})}}function A(L){var H=$(L);var J=H.siblings(F.content);var K=$(F.content);var I=H.parent("li");if(!I.hasClass("open")){J.slideDown(400,function(){J.children().addClass("show")});I.addClass("open")}else{J.children().removeClass("show");J.slideUp();I.removeClass("open")}}};FC.faresMore=function(){var A=$("#ctf-results .more-fares a");A.click(F);$("#ctf-results").bind("HIDE_ALL",function(H,G){C(G,false)});function F(G){G.preventDefault();if(G.target.parentNode.className.indexOf("more-fares")>=0){E();D(G.target)}else{C(G.target)}}function D(O){var N=A.index(O);var I=O.parentNode;var G=I.parentNode.parentNode;var M=I.parentNode;var K='<div class="more-fares-list"><div class="more-fares-list-top"><div class="more-fares-list-top-right"></div></div><div class="shadow-right"><div class="inner"><div class="loading">Loading Fares</div></div></div></div>';I.className="hide-fares";O.innerHTML="Hide Fares";G.className+=" show-more-fares";$(M).append(K);H(false);function H(Q){var P=O.href.toString().slice(O.href.toString().lastIndexOf("?")+1);url=FC.vars.paths.ALL_FARES_JSON;$.ajax({dataType:"json",data:P,url:url,error:function(S,R,T){$(M).find(".loading").text("Sorry, service error.")},success:J})}function L(Q,P){return Q.price-P.price}function J(l,n,m){var Y=l.fares;var Z=['<h3 class="hidden">More fares</h3><ul>'],d=[],X=[],k=l.fares.length;if(Y.length===0){$(M).find(".loading").text("Sorry, no fares found.");return }var h=0;var f="";while(Y.length){var o=Y.shift(),V=new Object(),U=[],Q=[],g="morefares-"+N+"-"+Y.length,P="morefares2-"+N+"-"+Y.length;V.price=o.price;V.ticketType=o.ticketType;U.push('<li class="clear">');U.push('<label for="'+g+'">');if(parseInt(o.price)>-1){U.push('<input id="'+g+'" name="'+l.bindField+'" type="radio" value="'+o.radioValue+'"');if(l.isReturn){U.push(" onclick=\"selectOutboundReturnFare('"+o.ticketPriceID+"')\"")}U.push(">&nbsp;&pound;");U.push(o.price)}else{U.push("Unavailable:")}U.push("</label>");U.push('<span class="fare-type tooltip"><a href="#" title="');U.push(o.tooltip);U.push('">');U.push(o.ticketType);U.push("</a></span>");U.push('<span class="fare-breakdown">');while(o.inputs.length){U.push('<input type="hidden" value="'+o.inputs.shift()+'">')}U.push("</span>");U.push("</li>");if(f!=o.ticketType){V.html=U.join("");X.push(V);V=null;if(f!=""){d.push("</ul></li>")}d.push('<li class="further-fares"><h4><img alt="" class="sprite-main fares-plus" src="/images/clear.gif" width="11" height="11" />'+o.ticketType+"<strong>from &pound;"+o.price+"</strong></h4><ul>");
U[1]='<label for="'+g+'">';d.push(U.join(""))}else{d.push(U.join(""))}f=o.ticketType}d.push("</ul></li>");X.sort(L);var R=$(M).find("label").text().toLowerCase();var T=R.replace(/\s/gi,"");T=T.replace("�","");T=T.replace("&pound;","");MatType=$(M).find("span.fare-type").text().toLowerCase();if(X.length>0){var S=X.length>=5?5:X.length;for(var W=0;W<S;W++){if(T==X[W].price&&MatType==X[W].ticketType.toLowerCase()){if(typeof X[S]!="undefined"){S+=1}}else{Q.push(X[W].html)}}X=null}Z.push(Q.join(""));Z.push(d.join(""));if(!l.firstAvailable){Z.push('<li class="clear"><span class="unavailable">Unavailable:</span><span class="fare-type">First Class</span></li>')}Z.push("</ul>");$(M).find("div.shadow-right div.inner").html(Z.join(""));FC.setFaresAccordian({});$("p.see-all a",M).click(function(a){a.preventDefault();H(true)});FC.tooltip($(M).find("div.shadow-right div.inner span.tooltip"))}}function E(){A.each(function(){C(this,true)})}function C(J,H){var I=J.parentNode;var L=I.parentNode;var K=I.parentNode.parentNode;var G=$(K).find(".more-fares-list");B(J);J.innerHTML="More Fares";I.className="more-fares";K.className=K.className.replace(/show-more-fares/,"");if(G.length){G.remove()}}function B(M){var O=M.href.toString().slice(M.href.toString().lastIndexOf("?")+1);var H=O.split("&")[0];var I=O.split("&")[1];var L=O.split("&")[2];var K=O.split("&")[3];var N=$(M).text("More fares").attr("id");var G=$("input:radio",M.parentNode.parentNode).attr("value").split("-")[0];var J="/service/timesandfares/moreFares?"+H+"&"+I+"&"+L+"&"+K+"&currentlySelectedFareId="+G+"&id="+N;$(M).text("More fares").attr("href",J)}};FC.basket=function(){function C(M,K,P){var F=false;var G;if(K!=null){G=K}else{G=$(M.target)}var H;if(M.target.nodeName.toLowerCase()=="input"||M.target.nodeName.toLowerCase()=="label"||M.which==27){if(M.target.nodeName.toLowerCase()=="input"||M.which==27){if(G.parents("label").parent()[0].nodeName=="LI"){H=G.parents("label").parent().find(".fare-breakdown input")}else{H=G.parents("label").parent().find("span.fare-breakdown:first input")}}else{if(G.parent()[0].nodeName=="LI"){H=G.parent().find(".fare-breakdown input")}else{H=G.parent().find("span.fare-breakdown:first input")}}var N="",I;H.each(function(T){var Z=this.value.split("|");var S=$("#minibasket");F=typeof Z[7]!=="undefined"&&Z[7]==="true";switch(Z[3]){case FC.vars.links.ADVANCE_INFO:var X=FC.vars.links.ADVANCE_INFO_LINK;break;case FC.vars.links.ANYTIME_INFO:var X=FC.vars.links.ANYTIME_INFO_LINK;break;case FC.vars.links.OFF_PEAK_INFO:var X=FC.vars.links.OFF_PEAK_INFO_LINK;break;default:var X=FC.vars.links.ADVANCE_INFO_LINK;break}if(N==""){if(typeof Z[10]!=="undefined"&&Z[10]!=="null"&&typeof Z[7]!=="undefined"&&Z[7]==="false"){N=Z[10]}}if(typeof Z[10]!=="undefined"&&Z[10]!==""&&typeof Z[7]!=="undefined"&&Z[7]==="false"&&N==Z[10]){$("a.view-summary").css({display:"inline"});$("span.view-summary").css({display:"inline"});FC.viewSummary}else{$("a.view-summary").css({display:"none"});$("span.view-summary").css({display:"none"});var U=$("a.view-summary").eq($("a.view-summary").index(this)),Q=U.attr("data-formid"),R=$("#"+Q),W=$("button[type=submit]",R);if(FC.hasIE6){W=$("input[type=submit]",R)}W.unbind("click")}if(Z[8]!==""){X+="&ticketTypeCode="+Z[8]}if(Z[9]!==""){X+="&ticketRestriction="+Z[9]}X+="&callingPage="+window.location.pathname.toString();var V='<tr class="miniBasketFare"><td><strong>'+Z[1]+" x "+Z[2]+'</strong> - <a href="'+X+'">'+Z[3]+"</a>";if(Z[4]!==""){V+='<span class="type">('+Z[4]+")</span>"}if(Z[6]!==""){V+='<strong class="saving">Saving &pound;'+Z[6]+"</strong>"}V+='</td><td class="price">&pound;'+Z[5]+"</td></tr>";var Y=$("div.ticket-details");if(G.parent().parent().hasClass("return-only")&&Z[0]=="ReturnFare"){}else{S.find("tbody").hide()}switch(Z[0]){case"SingleFare":if(T===0){S.find("tbody.miniBasketSingleFare tr.miniBasketFare").remove()}S.find("tbody.miniBasketNone").hide();S.find("tbody.miniBasketSingleFare tr.sub-total").before(V);S.find("tbody.miniBasketSingleFare").show();Y.find("p.td-ret").hide();Y.find("span.td-rname-out").text(Z[15]);if(Z[16]=="FLEXIBLE"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on trains travelling between certain times.")}else{if(Z[16]=="RESTRICTED"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on the train(s) specified.")}else{Y.find("span.td-rdesc-out").text(Z[14])}}break;case"SingleFareOutward":if(T===0){S.find(".miniBasketSingleFareOutward tr.miniBasketFare").remove()}if(S.find("tbody.miniBasketSingleFareReturn tr.miniBasketFare").length===0){S.find("tbody.miniBasketNone").show().find("th").text("Please select return journey")}else{S.find("tbody.miniBasketSingleFareReturn").show()}S.find("tbody.miniBasketSingleFareOutward").show().find("tr.sub-total").before(V);Y.find("p.td-ret").show();Y.find("span.td-rname-out").text(Z[15]);if(Z[16]=="FLEXIBLE"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on trains travelling between certain times.")}else{if(Z[16]=="RESTRICTED"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on the train(s) specified.")}else{Y.find("span.td-rdesc-out").text(Z[14])}}break;case"SingleFareReturn":if(T===0){S.find(".miniBasketSingleFareReturn tr.miniBasketFare").remove()}if(S.find("tbody.miniBasketSingleFareOutward tr.miniBasketFare").length===0){S.find("tbody.miniBasketNone").show().find("th").text("Please select outward journey")}else{S.find("tbody.miniBasketSingleFareOutward").show()}S.find("tbody.miniBasketSingleFareReturn").show().find("tr.sub-total").before(V);Y.find("p.td-ret").show();Y.find("span.td-rname-ret").text(Z[15]);if(Z[16]=="FLEXIBLE"){Y.find("span.td-rdesc-ret").text(Z[14]+" This fare is only valid on trains travelling between certain times.")}else{if(Z[16]=="RESTRICTED"){Y.find("span.td-rdesc-ret").text(Z[14]+" This fare is only valid on the train(s) specified.")}else{Y.find("span.td-rdesc-ret").text(Z[14])}}break;case"ReturnFare":if(!G.parent().parent().hasClass("return-only")){if(T===0){S.find(".miniBasketReturnFare .miniBasketFare").remove()}S.find(".miniBasketReturnFare").show().find("tr.sub-total").before(V);Y.find("p.td-ret").show();Y.find("span.td-rname-out").text(Z[15]);if(Z[16]=="FLEXIBLE"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on trains travelling between certain times.")}else{if(Z[16]=="RESTRICTED"){Y.find("span.td-rdesc-out").text(Z[14]+" This fare is only valid on the train(s) specified.")}else{Y.find("span.td-rdesc-out").text(Z[14])
}}}else{Y.find("p.td-ret").show();Y.find("span.td-rname-ret").text(Z[15]);if(Z[16]=="FLEXIBLE"){Y.find("span.td-rdesc-ret").text(Z[14]+" This fare is only valid on trains travelling between certain times.")}else{if(Z[16]=="RESTRICTED"){Y.find("span.td-rdesc-ret").text(Z[14]+" This fare is only valid on the train(s) specified.")}else{Y.find("span.td-rdesc-ret").text(Z[14])}}}break}I=Z[11]});var E=0;$("#minibasket").find("tbody").each(function(){var Q=0;if(this.style.display!=="none"){var R=$(this);Q=0;R.find(".miniBasketFare .price").each(function(){Q+=parseFloat(this.innerHTML.slice(1))});R.find("tr.sub-total td.price").html("&pound;"+Q.toFixed(2));E+=Q}});$("#minibasket").parent().find(".ticket-total .price").html("&pound;"+E.toFixed(2));var D=$(M.target).parent().parent();var O=(D.parent().hasClass("has-cheapest"))?"Buy cheapest for \u00A3":"Buy now for \u00A3";if($.browser.msie&&$.browser.version.substr(0,1)<7){$("#ctf-cf input").val(O+E.toFixed(2))}else{$("#ctf-cf span.cheapestFare").html(O+E.toFixed(2))}$(".ticket-total .multiple-ticket").remove();if(F){$(".ticket-total .total").after('<p class="note multiple-ticket" style="clear:both;">You need to buy multiple tickets for this journey</p>')}F=false;if(M.target.nodeName.toLowerCase()=="input"||M.target.nodeName.toLowerCase()=="label"||M.which==27){if(P!="updown"){A(G,M)}}G.parents("table").find("tr").removeClass("sel");G.parents("tr").addClass("sel");if(typeof I!="undefined"){var L=$("div.operator-price img");var J=I.indexOf(" ")>-1?I.split(" ").join(""):I;if(I==""){$("p.change-provider a").click();L.hide()}else{L.attr("src","/images/logo-toc-"+J+".gif").attr("alt",I);L.show();$("select.sltProvider").val(I)}}}}function A(U,D){if(U.parents(".shadow-right").length){var F;var I;var L=U.parents("td > div");if(D.target.nodeName.toLowerCase()=="input"||U[0].nodeName.toLowerCase()=="input"){F=U.parent("label").parent("li");I=F.children()}else{F=U.parent("li");I=F.children()}var G=F.find(".tooltip-top").text();L.children("span.fare-type").remove();L.children("span.fare-breakdown").remove();L.children("label").remove();L.children("p").remove();var J=I.find("input[type='hidden']");var O=false,E=[],V,M,H="#";if(J){var P=[];for(var S=0;S<J.length;S++){P.push(J[0].value.split("|"))}O=P[0][3].toLowerCase().indexOf("off-peak")>-1?true:false;if(O){E.push("?journeyId=");E.push(P[0][13]);E.push("&fareId=");E.push(P[0][12]);var T;for(var N=0;N<P.length;N++){E.push("&fareCode=");E.push(P[N][8])}H=E.join("")}}L.find("h4.accessibility").after(I);if(O){L.append('<p><a class="other-fares-popup-link" href="'+H+'">Other off peak trains you can travel on with this ticket</a></p>');L.find("a.other-fares-popup-link").bind("click",FC.altTrains);if(L.attr("class")=="return clear"){var Q=$("div.return-only");Q.each(function(f){var h=$(this);h.children("p").remove();var c=h.find("input[type='hidden']");var g=[],d,b,a="#";if(c){var X=[];for(var Z=0;Z<c.length;Z++){X.push(c[0].value.split("|"))}g.push("?journeyId=");g.push(X[0][13]);g.push("&fareId=");g.push(X[0][12]);var Y;for(var f=0;f<X.length;f++){g.push("&fareCode=");g.push(X[f][8])}a=g.join("")}h.append('<p><a class="other-fares-popup-link" href="'+H+'">Other off peak trains you can travel on with this ticket</a></p>');h.find("a.other-fares-popup-link").bind("click",FC.altTrains)})}}else{if(L.attr("class")=="return clear"){var Q=$("div.return-only");Q.each(function(X){thebutton=$(this).find("p");thebutton.remove()})}}L.find("input").eq(0).attr("checked","true");if(D.keyCode==27||D.keyCode==13){L.find("input").eq(0).focus()}$("#ctf-results").trigger("HIDE_ALL",[L.find(".hide-fares a")[0],false]);FC.tooltip(L.find(".tooltip:first"))}else{var R;if(U[0].nodeName.toUpperCase()=="LABEL"){R=U.parent()}else{R=U.parent().parent()}var K=false;if(R.attr("class")=="return clear"){var W=R.find("input[type='hidden']");if(W.length>0){var P=[];for(var S=0;S<W.length;S++){P.push(W[0].value.split("|"))}K=P[0][3].toLowerCase().indexOf("off-peak")>-1?true:false}if(K){var Q=$("div.return-only");Q.each(function(f){var h=$(this);h.children("p").remove();var c=h.find("input[type='hidden']");var g=[],d,b,a="#";if(c.length>0){var X=[];for(var Z=0;Z<c.length;Z++){X.push(c[0].value.split("|"))}g.push("?journeyId=");g.push(X[0][13]);g.push("&fareId=");g.push(X[0][12]);var Y;for(var f=0;f<X.length;f++){g.push("&fareCode=");g.push(X[f][8])}a=g.join("")}h.append('<p><a class="other-fares-popup-link" href="'+H+'">Other off peak trains you can travel on with this ticket</a></p>');h.find("a.other-fares-popup-link").bind("click",FC.altTrains)})}else{var Q=$("div.return-only");Q.each(function(X){thebutton=$(this).find("p");thebutton.remove()})}}}}var B=$("#ctf-results");B.bind("mousedown",function(D){if(D.which==1){C(D,null)}}).find("input[type=radio]:checked").each(function(){C.call(B[0],{target:this},null)});B.bind("keypress",function(D){if(D.keyCode==13){D.preventDefault();C(D,null,null)}});B.bind("keyup",function(F){if(F.keyCode==40||F.keyCode==38){C(F,null,"updown")}else{if(F.keyCode==27){var G=$(F.target);var D=G.parents("td > div");D.find("input").eq(0).focus();var E=$("div.more-fares-list").find("input[type=radio]:checked");if(E.length>0){C(F,E,null)}else{$("#ctf-results").trigger("HIDE_ALL",[D.find(".hide-fares a")[0],false])}}}})};FC.printButton=function(){$("#ctf-h-nav").find(".ctf-h-nav-print").click(function(){try{window.print()}catch(A){}return false})};FC.printButtonOld=function(){$(".multi-button ul").prepend("<li class='first'><a class='print' href='javascript:window.print()'><span class='border'><span class='image'>Print</span></span></a></li>")};FC.fareStates=function(){if($(FC.vars.selectors.DATE_STATE).val()=="multiple"){FC.showHide("div.single-date","div.multiple-dates","a.toggle-date","#travel-date-1","#travel-date")}else{FC.showHide("div.multiple-dates","div.single-date","a.toggle-date","#travel-date-1","#travel-date")}if($(FC.vars.selectors.TIME_STATE).val()=="specific"){FC.showHideSli("div.time-range","div.specific-time","a.toggle-time","#txtHrs","#fd-slider-handle-outboundTimeband")}else{FC.showHideSli("div.specific-time","div.time-range","a.toggle-time","#txtHrs","#fd-slider-handle-outboundTimeband")}$("a.toggle-date").bind("click keypress",function(){if($(FC.vars.selectors.DATE_STATE).val()=="multiple"){$(FC.vars.selectors.DATE_STATE).val("specific")}else{$(FC.vars.selectors.DATE_STATE).val("multiple")}});$("a.toggle-time").bind("click keypress",function(){if($(FC.vars.selectors.TIME_STATE).val()=="specific"){$(FC.vars.selectors.TIME_STATE).val("range")
}else{$(FC.vars.selectors.TIME_STATE).val("specific")}})};function updateTime(){var A=$(FC.vars.selectors.TIME_RANGE);var B=$("div.time-range li.times");B.empty().append(A.val())}FC.timeRange=function(){var C=$(FC.vars.selectors.TIME_RANGE);C.before("<ul class='clear'><li class='earlier'><a href='#'>earlier</a></li><li class='later'><a href='#'>later</a><li class='times'>12:00-16:00</li></li></ul>");C.after("<ul class='time-labels clear'><li class='step1'>Night</li><li class='step2'>Morning</li><li class='step3'>Afternoon</li><li class='step4'>Evening</li><li class='step5'>Night</li></ul>");var E=$("div.time-range li.times");E.empty().append(C.val());var D=$("div.time-range li.earlier a");var B=$("div.time-range li.later a");var A=C.attr("selectedIndex");D.bind("click",function(){A=C.attr("selectedIndex");if(A>0){A--;C.attr("selectedIndex",A);if(FC.hasIE===true){C[0].fireEvent("onchange")}else{var F=document.createEvent("UIEvents");F.initUIEvent("change",true,true,window,0,0,0,0,0,false,false,false,false,0,null);C[0].dispatchEvent(F)}}return false});B.bind("click",function(){A=C.attr("selectedIndex");if(A<C.find("option").length-1){A++;C.attr("selectedIndex",A);if(FC.hasIE===true){C[0].fireEvent("onchange")}else{var F=document.createEvent("UIEvents");F.initUIEvent("change",true,true,window,0,0,0,0,0,false,false,false,false,0,null);C[0].dispatchEvent(F)}}return false})};FC.viewSummary=function(D){var A=D.eq(D.index(this)),E=A.attr("data-formid"),C=$("#"+E),B=$("button[type=submit]",C);if(FC.hasIE6){B=$("input[type=submit]",C)}if(C.length){D.click(function(){$("#jp-button-pressed").attr("name","buttonPressed");$("#jp-button-pressed").val(this.value);C.submit();return false});B.click(function(F){F.preventDefault();C.attr("target","_blank");$("#jp-button-pressed").attr("name","buttonPressed");$("#jp-button-pressed").val("buy");C.submit();C.attr("target","");$("#jp-button-pressed").attr("name","");$("#jp-button-pressed").val("")})}};FC.editJourneyLink=function(A){A.click(function(C){var B=$("#num2");if(!B.hasClass("expanded")){B.click()}})};FC.initLTHP=function(A){lt.init({homepage:true,url:"/javascript/livetrains.js",rows:5,ajaxData:{departing:true,liveTrainsFro:A.find("#train-from").val(),liveTrainsTo:A.find("#train-to").val(),serviceId:$serviceId}},A)};FC.initLTLDB=function(A){lt.init({homepage:false,url:"/javascript/livetrains.js",rows:10,ajaxData:{departing:true,liveTrainsFrom:A.find("#train-from").val(),liveTrainsTo:A.find("#train-to").val(),serviceId:$serviceId}},A)};FC.initLTLDD=function(A){lt.initLDD({homepage:false,url:"/service/ldbdetailsJson",ajaxData:{departing:true,liveTrainsFrom:"",liveTrainsTo:"",serviceId:$serviceId}},A)};FC.otherCheapFaresReveal=function(A){A.bind("click",function(){$("#ctf-ocfr").toggle();return false})};FC.shareMenu=function(K){var H=$("#share-menu");var N=false;var O;var G=$("#share-details");var D=H.children("a");var I=H.children("a.email");var B=$("#share-page-by-email");var C=B.children("a.share-close");K.find("span.sharelink").replaceWith("<a href='#' class='sharelink'>Share<img src='/images/clear.gif' alt='' width='11' height='8' class='sprite-main share-open' /></a>");function L(P){clearTimeout(O);if(!N){B.hide();N=true;__isMenuAnimating=true;H.show();G.show();D.show();K.addClass("open")}}function J(P){if(N){H.blur();H.hide();K.removeClass("open");N=false}}function E(P){O=setTimeout(J,300)}function A(P){O=setTimeout(J,200)}function M(P){D.hide();G.hide();B.show();return false}function F(P){B.hide();return false}K.bind("focusin",L);K.bind("mouseenter",L);K.children("a.sharelink").bind("click",function(){return false});H.bind("mouseenter",L);K.bind("focusout",A);K.bind("mouseleave",E);D.each(function(){var P=$(this);P.bind("mouseenter",function(){G.text(P.text())});P.bind("mouseleave",function(){G.text(" ")});P.bind("focusin",function(){G.text(P.text())});P.bind("focusout",function(){G.text(" ")})});I.bind("click",M);C.bind("click",F)};FC.ppShare=function(B){function A(C){C.preventDefault();B.hide();$("#share-pp-email").show()}B.bind("click",A)};
