﻿(function(){var A=SS.views.SearchControlsOptionsView=function(){};A.onScMinMaxPerformed=function(B){};A.prototype={name:"SearchControlsOptionsView",optionsPanelMainContainer:null,contentEl:null,ftContainer:null,previousEl:null,toogleEl:null,expanded:false,keepOpenOnCollapse:false,showHideText:"",onExpandCollpase:function(){this.expand(!this.expanded);this.refresh();var C=SS.factories.SessionFactory.getSession();if(C.view=="day"){var B=new SS.core.Cookie("scanner");B.dayviewfiltersopened=this.expanded?1:2;B.store(240,"/","",false)}},init:function(J,H){var E=this.optionsPanelMainContainer=$D.get(J);$D.setStyle(E,"display","block");var C=this.contentEl=$D.getElementsByClassName("content","div",E)[0];var D=this.ftContainer=$D.getElementsByClassName("sc_options_ft","div",E)[0];var B=$D.getElementsByClassName("toggle_inner","span",D)[0];if(H!=undefined&&H!=""){B.innerHTML=this.showHideText=H}else{var I=document.createElement("span");I.className="arrow";I.innerHTML="&nbsp;";B.appendChild(I)}var G=this.toogleEl=$D.getElementsByClassName("toggle","div",D)[0];$E.addListener(G,"click",this.onExpandCollpase,this,true);this.previousEl=this.getPreviousElement();var F=this;A.onScMinMaxPerformed=function(K){F.refresh()};this.viewSpecificInit()},viewSpecificInit:function(){},getPreviousElement:function(){var B=this.optionsPanelMainContainer.previousSibling;while(B.nodeType==3){B=B.previousSibling}return B},refresh:function(){var F=this.optionsPanelMainContainer,K=this.isSearchControlsBlockVisible(),G=this.keepOpenOnCollapse||this.expanded;if(G){if(K){$D.addClass(F,"sc_maximized_expanded")}else{$D.removeClass(F,"sc_maximized_expanded")}$D.removeClass(F,"sc_maximized")}else{if(K){$D.addClass(F,"sc_maximized")}else{$D.removeClass(F,"sc_maximized")}$D.removeClass(F,"sc_maximized_expanded")}if(this.expanded){$D.addClass(F,"expanded");$D.removeClass(F,"collapsed")}else{$D.addClass(F,"collapsed");$D.removeClass(F,"expanded")}var J=$D.getElementsByClassName("top_edge","div",F)[0];F.style.marginTop="";F.style.marginBottom="";var C="",L="";if(K){if(G){var B=$D.getRegion(J);C=-B.height;L=B.height-5}else{C=-5;L=5;if(YAHOO.env.ua.ie>0&&YAHOO.env.ua.ie<7){C=-4;L=4}}}else{var E=0;if(this.getPreviousElement()!=this.previousEl){var B=$D.getRegion(this.getPreviousElement());var D=$D.getRegion(this.previousEl);E=Math.abs(B.bottom-D.bottom);if(E>1){this.contentEl.style.paddingTop=E+"px"}else{E=0}}var H=$D.getRegion(this.previousEl);var I=$D.getRegion(F);C=-(I.top-H.bottom);L=-C;if(E>0){if(G){L-=E}else{L-=E;var B=$D.getRegion(this.toogleEl);L+=Math.round(B.height/2+0.1);L+=8}}}if(L!=""){L-=10;L=Math.max(0,L)}F.style.marginTop=C!=""?C+"px":"";F.style.paddingBottom=L!=""?L+"px":""},isSearchControlsBlockVisible:function(){var B=$D.get("searchcontrols");if(!B){return false}return $D.getStyle(B,"display")=="block"},updateContentElementVisibility:function(B){$D.setStyle(this.contentEl,"display",B?"block":"none")},expand:function(B){this.updateContentElementVisibility(B);this.expanded=B;this.refresh()}}}());
(function(){SS.views.BlurbView=function(){this.blurbExpanded=new YAHOO.util.CustomEvent("blurbExpanded",this)};SS.views.BlurbView.prototype.init=function(E){var C=this;var G=$D.getElementsByClassName("sm_show_more_less_info","a",E);if(G!=null&&G.length>0){for(var B=0;B<G.length;B++){var A=G[B];var F=$D.getElementsByClassName("sm_more_info","span",A.parentNode);if(F!=null&&F.length>0){var D={};D.moreInfoParagr=F[0];D.more=$D.hasClass(D.moreInfoParagr,"sm_more_info_expanded");D.anchor=A;this.showMoreLess=D;$E.addListener(A,"click",function(K,I){I.more=!I.more;var J=$D.getRegion(I.anchor.parentNode);I.heightBefore=J.bottom-J.top;if(I.more){$D.removeClass(I.moreInfoParagr,"sm_more_info_collapsed");$D.addClass(I.moreInfoParagr,"sm_more_info_expanded");var H=SS.util.gettext("sm_show_less_info");I.anchor.innerHTML=H}else{$D.removeClass(I.moreInfoParagr,"sm_more_info_expanded");$D.addClass(I.moreInfoParagr,"sm_more_info_collapsed");var H=SS.util.gettext("more2")+"+";I.anchor.innerHTML=H}var J=$D.getRegion(I.anchor.parentNode);I.heightAfter=J.bottom-J.top;C.blurbExpanded.fire(I);YAHOO.util.Event.preventDefault(K)},D,true)}}}}})();
(function(){SS.views.SmTableView=function(){};SS.views.SmTableView.prototype.enableHightlightingForAllTables=function(){var C=$D.getElementsByClassName("sm_table_hightlighted","table","sm_content");if(C!=null){for(var B=0;B<C.length;B++){var A=C[B];this.enableHightlightForTable(A)}}};SS.views.SmTableView.prototype.enableHightlightForTable=function(A){var B=$D.getChildren(A);if(B!=null){var D=$D.getChildren(B[0]);for(var C=0;C<D.length;C++){$E.addListener(D[C],"mouseover",function(){$D.addClass(this,"sm_table_row_hightlight")},D[C]);$E.addListener(D[C],"mouseout",function(){$D.removeClass(this,"sm_table_row_hightlight")},D[C])}}}})();
(function(){SS.views.TabView=function(B,D,E,C){this.tabLabelCss=B;this.tabLabelActiveCss=D;this.tabElCssPrefix=E;this.clearContent=C;this.tabs=new Array();this.mainContEl=null;this.tabChanged=new YAHOO.util.CustomEvent("tabChanged",this)};var A=SS.views.TabView.prototype;A.onClickTabLabel=function(E,F,B){if(F!=null){for(var C=0;C<this.tabs.length;C++){var D=this.tabs[C];if(this.clearContent){if(D.tabEl.innerHTML==""){D.tabEl.innerHTML=D.content}else{D.content=D.tabEl.innerHTML}}if(F.idx==D.idx){if(!$D.hasClass(D.el,this.tabLabelActiveCss)){$D.addClass(D.el,this.tabLabelActiveCss)}if(D.tabEl!=null){if($D.getStyle(D.tabEl,"display")=="none"){$D.setStyle(D.tabEl,"display","block")}}D.active=true}else{if(this.clearContent){D.tabEl.innerHTML=""}if($D.hasClass(D.el,this.tabLabelActiveCss)){$D.removeClass(D.el,this.tabLabelActiveCss)}if($D.getStyle(D.tabEl,"display")!="none"){$D.setStyle(D.tabEl,"display","none")}D.active=false}}}this.tabChanged.fire(F);this.refreshView();if(!B){$E.preventDefault(E)}};A.refreshView=function(){if(YAHOO.env.ua.ie<7){var B=this.mainContEl;B.style.zoom="1";B.style.zoom="0";B.style.zoom="1"}};A.init=function(E){this.mainContEl=E;var F=$D.getElementsByClassName(this.tabLabelCss,"div",E);if(F!=null&&F.length>0){for(var C=0;C<F.length;C++){var B=this.tabs[C]={};B.idx=C;B.el=F[C];B.tabId=B.el.getAttribute("tab_id");B.active=$D.hasClass(F[C],this.tabLabelActiveCss);B.tabEl=null;var D=$D.getElementsByClassName(this.tabElCssPrefix+(C+1),"div",E);if(D!=null&&D.length>0){B.tabEl=D[0];B.initContent=D[0].innerHTML;if(!B.active){D[0].style.display="none"}B.content=""}$E.addListener(B.el,"click",this.onClickTabLabel,B,this)}}this.refreshView()};A.getTab=function(B){return this.tabs[B]};A.getActiveTab=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];if(C.active){return C}}return null};A.clear=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];C.tabEl.innerHTML=C.initContent}};A.updateTabsContent=function(){for(var B=0;B<this.tabs.length;B++){var C=this.tabs[B];C.content=C.tabEl.innerHTML;if(!C.active){C.tabEl.innerHTML=""}}};SS.views.TabView.initCodeWizardTabbedFrames=function(){var D=$D.getElementsByClassName("tabbed_frame","div","inf_page");if(D!=null&&D.length>0){D=D[0];var C=new SS.views.TabView("tab_lab","tab_lab_active","tab",true);C.init(D);var B;B=$D.getElementsByClassName("tabbed_frame_tabs","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_footer","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_bottom_right_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_top_right_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}B=$D.getElementsByClassName("tab_top_left_corner","div",D);if(B!=null&&B.length>0){SS.util.disableTextSelecting(B[0])}return C}else{return null}}})();
(function(){var A=SS.views;var B=A.SmView=function(C){this.model=C;this.gettext=SS.util.gettext;this.tables=new Array();this.showMoreLess=new Array()};B.create=function(C){if(A.SmCitiesSitemapView.isShowed()){return new A.SmCitiesSitemapView(C)}if(A.SmCountriesSitemapView.isShowed()){return new A.SmCountriesSitemapView(C)}if(A.SmAirportsSitemap.isShowed()){return new A.SmAirportsSitemap(C)}if(A.SmAirlinesSitemapView.isShowed()){return new A.SmAirlinesSitemapView(C)}if(A.SmAirlineRouteMapView.isShowed()){return new A.SmAirlineRouteMapView(C)}if(A.SmAirportsInCountryRegionView.isShowed()){return new A.SmAirportsInCountryRegionView(C)}if(A.SmAirportsView.isShowed()){return new A.SmAirportsView(C)}return new A.SmView(C)};B.prototype={replaceElementWithHtml:function(D,E){if(D){var C=document.createElement("div");if(E){C.innerHTML=E;D.parentNode.insertBefore(C.childNodes[0],D);D.parentNode.removeChild(D)}else{D.innerHTML=""}}},getConstants:function(){var C=$D.get("page_constants");if(C!=null){this.model.CONST=YAHOO.lang.JSON.parse(C.value)}},getFrameBodyEl:function(C){var E=$D.get(C);if(E!=null){var D=$D.getElementsByClassName("bd","div",E);if(D!=null){return D[0]}}return null},onClickTableExpandCollapse:function(F,G){if(G!=null){if(G.collapsed){var D=$D.getChildrenBy(G.tbody,function(H){return $D.hasClass(H,"toExp")});for(var C=0;C<D.length;C++){$D.removeClass(D[C],"toExp")}$D.removeClass(G.expAnchor,"sm_table_expand");$D.addClass(G.expAnchor,"sm_table_collapse")}else{var E=$D.getChildrenBy(G.tbody,function(H){return !$D.hasClass(H,"expandbox")});for(var C=G.minRowsCount-1;C<E.length;C++){$D.addClass(E[C],"toExp")}$D.removeClass(G.expAnchor,"sm_table_collapse");$D.addClass(G.expAnchor,"sm_table_expand")}G.collapsed=!G.collapsed}YAHOO.util.Event.preventDefault(F)},initExpandableTables:function(){this.getConstants();var D=$D.getElementsByClassName("expandbox","tr","rhs_sm");for(var C=0;C<D.length;C++){var G=new Object();G.expEl=D[C];G.tbody=D[C].parentNode;var F=$D.getChildren(G.tbody);if(F!=null&&F.length>0){var E=$D.getChildrenBy(G.tbody,function(H){return $D.hasClass(H,"toExp")});G.minRowsCount=F.length;G.minRowsCount-=E!=null?E.length:0;G.collapsed=true;G.expAnchor=G.expEl.firstChild!=null?G.expEl.firstChild.firstChild:null;this.tables[C]=G;$E.addListener(G.expEl,"click",this.onClickTableExpandCollapse,G)}}},enableHightlighting:function(D){var C=$D.getElementsByClassName("sm_table_hightlighted","table",D);if(C!=null){var E=new A.SmTableView();E.enableHightlightForTable(C[0])}},enableHightlightForTables:function(){var C=new A.SmTableView();C.enableHightlightingForAllTables()},showLoadingInCont:function(M,K,L){var H=this.gettext("results_loading");var G=SS.html.el({tag:"span",txt:H,cls:"sm_loading_box"});M.appendChild(G);var D=$D.getRegion(M);var J=D.right-D.left;var F=D.bottom-D.top;if(F<40){F=40;$D.setStyle(M,"height",F+"px")}var C=$D.getRegion(G);var I=C.right-C.left;var E=C.bottom-C.top;if(J>=I||K){$D.setStyle(G,"margin-left","-"+(I/2)+"px")}else{$D.setStyle(G,"margin-left","0px");$D.setStyle(G,"left","auto")}if(!L){$D.setStyle(G,"margin-top","-"+(E/2)+"px")}$D.setStyle(G,"visibility","visible")},enableShowMoreInfo:function(){var C=new A.BlurbView();C.init("sm_content");C.blurbExpanded.subscribe(function(F,E){if(YAHOO.env.ua.gecko<=1.8){var D=$D.get("sm_see_also");if(D!=null){D.style.display="none";setTimeout(function(){D.style.display="block"},0)}}},this,true)},fitToContentFrame:function(G,E){var F=$D.getRegion(G);var C=F.bottom-F.top;if(G.firstChild.nodeType!=3){var D=$D.getRegion(G.firstChild);var H=D.bottom-D.top;if(E!=null){if(H<E){E=H}G.style.height=E+"px";C=E}else{if(H<C){G.style.height=H+"px"}}}},enablePageSizeSelects:function(){var G=$D.getElementsByClassName("frame_size_sel","select",$D.get("sm_content"));if(G!=null&&G.length>0){for(var F=0;F<G.length;F++){if(!G[F].pagingEnalbed){var E="";var D=G[F].options;for(var C=0;C<D.length;C++){if(D[C].getAttribute("sel")=="1"){E=D[C].value;break}}if(E!=""){G[F].value=E}$E.addListener(G[F],"change",function(H,I){window.location=this.value});G[F].pagingEnalbed=true}}}},init:function(){this.initExpandableTables();this.enableHightlightForTables();this.enableShowMoreInfo();this.enablePageSizeSelects()}}})();
(function(){SS.views.SmIsopricesView=function A(C){SS.views.SmIsopricesView.superclass.constructor.call(this,C);this.selectEl=null;this.oPlaceChanged=new YAHOO.util.CustomEvent("oPlaceChanged",this);this.toggleIsoprcesFlashMap=new YAHOO.util.CustomEvent("toggleMaps",this)};$L.extend(SS.views.SmIsopricesView,SS.views.SmView);SS.views.SmIsopricesView.isShowed=function(){var C=$D.get("isoprices");if(C==null){return false}return true};function B(C,D,E){return $D.getElementsByClassName(E,D,C)[0]}SS.views.SmIsopricesView.prototype.setFrame=function(E){var F=B("isoprices","div","hd");var D=B("isoprices","div","bd");var C=B("isoprices","button","switch_button");if(E){F.style.display="none";D.style.display="block";C.innerHTML="Switch to Map"}else{F.style.display="block";D.style.display="none";C.innerHTML="Switch to Isoprices&trade;"}};SS.views.SmIsopricesView.prototype.onChangeOPlace=function(C){this.oPlaceChanged.fire(false)};SS.views.SmIsopricesView.prototype.onToogleMaps=function(C){this.toggleIsoprcesFlashMap.fire(false)};SS.views.SmIsopricesView.prototype.init=function(){var E=new skyscanner.snippets.IsopricesControl();E.setCurrency(this.model.qs.currency);E.setWidth(558);var C=SS.util.isRegion(this.model.qs.oPlaceId)?this.model.qs.oCountryId:this.model.qs.oPlaceId;var G=SS.util.isRegion(this.model.qs.iPlaceId)?this.model.qs.iCountryId:this.model.qs.iPlaceId;E.setDeparture(C);E.setDestination(G);E.draw(document.getElementById("iso_snippet"));E.onDisplay=function(J){var I=$D.get("isoprices");if(I!=null){I.style.zoom="1";I.style.zoom="0";I.style.zoom="1"}var H=document.getElementById("link_isoprices");H.href=J.isoGifUrl;H=document.getElementById("oP");if(H){H.value=this.getDeparture()}};var D=$D.getElementsByClassName("switch_button","button","isoprices");if(D[0]){$E.addListener(D,"click",this.onToogleMaps,this,true);var F=new skyscanner.maps.Map();F.setCulture(this.model.qs.language);F.setCurrency(this.model.qs.currency);var C=SS.util.isRegion(this.model.qs.oPlaceId)?this.model.qs.oCountryId:this.model.qs.oPlaceId;var G=SS.util.isRegion(this.model.qs.iPlaceId)?this.model.qs.iCountryId:this.model.qs.iPlaceId;F.setInitialRoute(C,G);F.setSize(660,540);F.draw(document.getElementById("mapwithiso"))}}})();
(function(){SS.views.SmSitemapView=function(B){SS.views.SmSitemapView.superclass.constructor.call(this,B);this.allFrId=null;this.allFrEl=null;this.titleEl=null;this.titles=new Array();this.tabView=null;this.pageChanged=new YAHOO.util.CustomEvent("pageChanged",this);this.filterChanged=new YAHOO.util.CustomEvent("filterChanged",this)};$L.extend(SS.views.SmSitemapView,SS.views.SmView);var A=SS.views.SmSitemapView.prototype;A.showLoading=function(){var C=this.allFrEl;var E=$D.getRegion(C);var D=(E.bottom-E.top)||0;if(D<120){D=120}C.innerHTML="";var B=document.createElement("div");$D.setStyle(B,"height",D+"px");C.appendChild(B);this.tabView.refreshView();this.showLoadingInCont(B,false)};A.getFilterState=function(){var C=null;var B=this.tabView.getActiveTab();if(B.idx==0){C=this.model.sitemapView.FILTER.POPULAR}else{C=this.model.sitemapView.FILTER.ALL}return C};A.onChangeFilter=function(){var B=this.getFilterState();if(B!=this.model.sitemapView.filter){this.filterChanged.fire(B);this.refreshTitle()}};A.onChangePageLetter=function(D){var B=null;if(D.target){B=D.target}else{if(D.srcElement){B=D.srcElement}}if(B.nodeType==3){B=B.parentNode}if(B!=null){var C=B.getAttribute("p");this.pageChanged.fire(C)}$E.preventDefault(D)};A.updateAllContainer=function(D){if(D!=null){var C=this.allFrEl;C.innerHTML=D;this.tabView.refreshView();var B=$D.getElementsByClassName("nav","div",C);if(B!=null&&B.length>0){B=B[0];var E=$D.getElementsBy(function(){return true},"a",B);if(E!=null&&E.length>0){$E.addListener(E,"click",this.onChangePageLetter,this,this)}}}};A.refreshTitle=function(){this.titleEl.innerHTML=this.titles[this.tabView.getActiveTab().idx]};A.initPopularAllFrame=function(){var C=$D.getElementsByClassName("tabbed_frame","div","sm_content");if(C!=null&&C.length>0){C=C[0];this.tabView=new SS.views.TabView("tab_lab","tab_lab_active","tab");this.tabView.init(C)}var H=$D.getElementsByClassName("tabbed_frame","div","sm_content");if(H){H=H[0];var J=$D.getElementsByClassName("ti","div",H);if(J){var F=$D.getElementsBy(function(L){return true},"h2",J[0]);if(F){this.titleEl=F[0];for(var D=0;D<this.tabView.tabs.length;D++){var E=$D.getElementsByClassName("tab_ti"+(D+1),"h2","sm_content");if(E){this.titles[D]=E[0].innerHTML}}this.refreshTitle()}var G=$D.getElementsByClassName("tab_headers","div",H);if(G){var B=$D.getRegion(G[0]);var I=B.right-B.left;var B=$D.getRegion(J[0]);var K=B.right-B.left-I-5;$D.setStyle(J[0],"width",K+"px")}}}};A.init=function(){SS.views.SmView.prototype.init.call(this);this.allFrEl=$D.get(this.allFrId);if(this.allFrEl!=null){$D.setStyle(this.allFrEl,"display","none")}this.initPopularAllFrame();this.model.sitemapView.filter=this.getFilterState();this.tabView.tabChanged.subscribe(this.onChangeFilter,this,true)}})();
(function(){SS.views.SmCitiesSitemapView=function(A){A.sitemapView.sitemap=A.FRAGMENTS.CITIES_SITEMAP;SS.views.SmCitiesSitemapView.superclass.constructor.call(this,A);this.allFrId="all_cities_container"};$L.extend(SS.views.SmCitiesSitemapView,SS.views.SmSitemapView);SS.views.SmCitiesSitemapView.isShowed=function(){var A=$D.get("all_cities");if(A==null){return false}return true}})();
(function(){SS.views.SmCountriesSitemapView=function(A){A.sitemapView.sitemap=A.FRAGMENTS.COUNTRIES_SITEMAP;SS.views.SmCountriesSitemapView.superclass.constructor.call(this,A);this.allFrId="all_countries_container"};$L.extend(SS.views.SmCountriesSitemapView,SS.views.SmSitemapView);SS.views.SmCountriesSitemapView.isShowed=function(){var A=$D.get("all_countries");if(A==null){return false}return true}})();
(function(){SS.views.SmAirlinesSitemapView=function(A){A.sitemapView.sitemap=A.FRAGMENTS.AIRLINES_SITEMAP;SS.views.SmAirlinesSitemapView.superclass.constructor.call(this,A);this.allFrId="all_airlines_container"};$L.extend(SS.views.SmAirlinesSitemapView,SS.views.SmSitemapView);SS.views.SmAirlinesSitemapView.isShowed=function(){var A=$D.get("all_airlines");if(A==null){return false}return true}})();
(function(){var B=SS.views.SmView;var A=SS.views.SmAirlineRouteMapView=function(C){A.superclass.constructor.call(this,C)};A.isShowed=function(){var C=SS.data;return C!=undefined&&C.SmAirlineRouteMap!=undefined};$L.extend(A,B,{init:function(){var F=this;B.prototype.init.call(F);var H=new skyscanner.maps.Map(),C=new SS.entities.QueryState(),I=$D.get("route_map"),G=$D.getRegion(I);H.setFilter("airline",SS.data.SmAirlineRouteMap.airlineId);C.init();H.setCurrency(C.currency);H.setCulture(C.language);var D=G.right-G.left;if(YAHOO.env.ua.ie<=6){D-=2}H.setSize(D,500);H.draw(I);var E=$D.getElementsByClassName("bd_ft_container","div");SS.html.forceRefreshElements(E)}})})();
(function(){SS.views.SmAirportsSitemap=function(A){A.sitemapView.sitemap=A.FRAGMENTS.AIRPORTS_SITEMAP;SS.views.SmAirportsSitemap.superclass.constructor.call(this,A);this.allFrId="all_airports_frame"};$L.extend(SS.views.SmAirportsSitemap,SS.views.SmSitemapView);SS.views.SmAirportsSitemap.isShowed=function(){var A=$D.get("sm_airports_sitemap");if(A==null){return false}return true}})();
(function(){var A=SS.views.SmAirportsInCountryRegionView=function(B){SS.views.SmAirportsInCountryRegionView.superclass.constructor.call(this,B);this.map=null;this.mapEl=null};A.isShowed=function(){var B=$D.get("sm_airports_in_region");var C=$D.get("sm_airports_in_country");if(B==null&&C==null){return false}return true};$L.extend(A,SS.views.SmView,{init:function(){SS.views.SmView.prototype.init.call(this);var B=new SS.entities.QueryState();B.init();var G=this.mapEl=$D.get("route_map");var F=this.map=new skyscanner.maps.Map();F.setCurrency(B.currency);F.setCulture(B.language);F.setTypeOfMap("wwsmap");var E=$D.getRegion(G);var C=E.right-E.left-1-10;if(YAHOO.env.ua.gecko>0){C-=1}F.setSize((C|0)-1,500);F.setRoute(SS.data.AirportsInRegionCountry.countryid,"");F.draw(G);var D=$D.getElementsByClassName("bd_ft_container","div");SS.html.forceRefreshElements(D)}})})();
(function(){SS.views.SmAirportsView=function A(C){SS.views.SmAirportsView.superclass.constructor.call(this,C);this.tabView=null;this.map=null;this.isopriceSnippet=null;this.isFlightStats=false};$L.extend(SS.views.SmAirportsView,SS.views.SmView);SS.views.SmAirportsView.isShowed=function(){var C=$D.getElementsByClassName("airport_data","input","sm_content");if(C.length==0){return false}return true};var B=SS.views.SmAirportsView.prototype;B.updateView=function(C){};B.loadApiLoader=function(E){var F=SS.data.sc.api;var D=document.getElementsByTagName("head")[0];var C=document.createElement("script");C.type="text/javascript";C.src=F.apiLoaderUrl;C.onreadystatechange=function(){if(!this._loaded&&(this.readyState=="complete"||this.readyState=="loaded")){E();this._loaded=true}};C.onload=E;D.appendChild(C)};B.onChangeTab=function(){var E=this;var C=this.tabView.getActiveTab();if(C.tabId=="tab_location"){if(YAHOO.env.ua.ie>0){startGoogleMapOnSM()}}else{if(C.tabId=="tab_route_map"){if(E.map==null){this.loadApiLoader(function(){skyscanner.loadAndWait("maps","1",null,function(){var F=E.map=new skyscanner.maps.Map();F.setCulture(E.model.qs.language);F.setCurrency(E.model.qs.currency);F.setInitialRoute(E.model.airportView.placeid,"");F.setTypeOfMap("wwsmap");F.setSize(652,540);F.draw($D.get("flash_map"))})})}}else{if(C.tabId=="tab_price_map"){if(this.isopriceSnippet==null){this.loadApiLoader(function(){skyscanner.loadAndWait("snippets","1",{cultureid:E.model.qs.language},function(){E.isopriceSnippet=initPriceMap();E.isopriceSnippet.onDisplay=function(){E.tabView.refreshView()}})})}}else{if(C.tabId=="tab_dep_arr"){if(!this.isFlightStats){this.isFlightStats=true;var D=new SS.views.FlightStatsView();D.init();D.frameLoaded.subscribe(function(){this.tabView.refreshView()},this,true)}}}}}};B.init=function(){SS.views.SmView.prototype.init.call(this);var H=$D.getElementsByClassName("travel_ad","button","mh_bookings_container");for(F=0;F<H.length;F++){$E.addListener(H[F],"click",function(){window.open(this.getAttribute("url"),"_blank")},H[F])}var I=$D.getElementsByClassName("airport_data","input","sm_content");if(I){this.model.airportView=YAHOO.lang.JSON.parse(I[0].value)}var J=$D.getElementsByClassName("tabbed_frame","div","sm_content");var G;if(J!=null&&J.length>0){J=J[0];G=new SS.views.TabView("tab_lab","tab_lab_active","tab");this.tabView=G;G.init(J);G.tabChanged.subscribe(this.onChangeTab,this,true)}var D=$D.get("sm_search_controls");for(var F=0;F<G.tabs.length;F++){var E=G.tabs[F];if(E.tabId==null||E.tabId==""){continue}var C=$D.getElementsBy(function(K){return K.href.indexOf("#"+E.tabId)>=0},"a",D);if(C.length>0){C[0].tab=E;$E.addListener(C[0],"click",function(L,K){G.onClickTabLabel(L,K.tab)},C[0],this)}}}})();
(function(){SS.views.FlightStatsView=function(){this.Url="";this.iframe=null;this.loaded=false;this.count=0;this.frameLoaded=new YAHOO.util.CustomEvent("frameLoaded",this)};var A=SS.views.FlightStatsView.prototype;A.init=function(){this.iframe=$D.get("sm_flight_stats");if(this.iframe==null){return }this.Url=$D.get("flight_stats_url").value;this.forceRefresh();$E.addListener(this.iframe,"load",this.onLoad,this,true)};A.forceRefresh=function(){var B=this;if(B.loaded){return }if(B.count==5){return }B.iframe.src="";B.iframe.src=B.Url;if(YAHOO.env.ua.ie){setTimeout(function(){B.onTimeOut()},5000)}B.count++};A.onTimeOut=function(){if(!this.loaded){this.forceRefresh()}};A.onLoad=function(){this.loaded=true;this.frameLoaded.fire()}})();
(function(){var A=function(){var G=new SS.models.SmModel();var D=SS.views.SmView.create(G);var C=new SS.controllers.SmController(G,D);G.init();D.init();if(SS.views.SmIsopricesView.isShowed()){D.isopricesView=new SS.views.SmIsopricesView(G)}if(D.isopricesView){D.isopricesView.init()}C.init();var E=$D.get("sc_options_content_tmp");var F=$D.getElementsByClassName("sm_scdd_content","div",E)[0];if(F.innerHTML!=""){var H=$D.getElementsByClassName("content","div","sc_options");if(H&&H.length>0){H[0].innerHTML=E.innerHTML;var B=new SS.views.SearchControlsOptionsView();B.init("sc_options");B.expand(true);SS.global.scView.fixIE6LayoutOfSecondaryPanel()}}};SS.mainContentReady.subscribe(A,this)}());
(function(){SS.models.SmModel=function(){this.qs=null;this.PARAMS={FRAGMENT:"f",OPLACE:"op",IPLACE:"ip",LANG:"l",SITEMAP_FILTER:"sm_flt",PAGE:"pg",LEG:"leg"};this.AJAX_HANDLER="/dc.ashx?m=sm";this.FRAGMENTS={CITIES_SITEMAP:"sm_cities_sm",COUNTRIES_SITEMAP:"sm_countries_sm",AIRPORTS_SITEMAP:"sm_airports_sm",AIRLINES_SITEMAP:"sm_airlines_sm"};this.LEG={OUTBOUND:"o",INBOUND:"i"};this.dataReceived=new YAHOO.util.CustomEvent("dataReceived",this);this.callback=null;this.trans=null;this.oPlaceId="";this.oPlaceName="";this.iPlaceId="";this.CONST={};this.CONST.SORT_ORDER={};this.CONST.SORT_ORDER.POPULARITY="";this.CONST.SORT_ORDER.DESTINATION="";this.sitemapView={};this.sitemapView.dataLoaded=false;this.sitemapView.FILTER={};this.sitemapView.FILTER.ALL="all";this.sitemapView.FILTER.POPULAR="popular";this.sitemapView.filter=this.sitemapView.FILTER.ALL;this.sitemapView.sitemap="";this.sitemapView.page="";this.airportView={};this.isIsopricesFrame=true;this.oPlaceChanged=new YAHOO.util.CustomEvent("oPlaceChanged",this);this.oToggleMaps=new YAHOO.util.CustomEvent("toggleMaps",this)};SS.models.SmModel.prototype.standardOnSuccess=function(B,A){var C=YAHOO.lang.JSON.parse(B);A.dataReceived.fire(C)};SS.models.SmModel.prototype.standardOnFailure=function(B,A){A.dataReceived.fire(null)};SS.models.SmModel.prototype.init=function(){this.qs=new SS.entities.QueryState();this.qs.init();if(this.qs.leg!="i"){this.qs.leg="o"}};SS.models.SmModel.prototype.sendAjax=function(A,C,B){if(this.callback!=null&&this.trans!=null){YAHOO.util.Connect.abort(this.trans,this.callback)}this.callback={success:function(E){var D=E.responseText;if(D!=""){C(D,this)}else{B(null,this)}},failure:function(D){B(null,this)},cache:true,scope:this};this.trans=YAHOO.util.Connect.asyncRequest("get",A,this.callback)};SS.models.SmModel.prototype.getIsopricesFrame=function(A){A=!this.isIsopricesFrame;if(this.isIsopricesFrame!=A){this.isIsopricesFrame=A;this.oPlaceChanged.fire(A)}};SS.models.SmModel.prototype.toogleMaps=function(){this.isIsopricesFrame=!this.isIsopricesFrame;this.oToggleMaps.fire(this.isIsopricesFrame)};SS.models.SmModel.prototype.getSitemapViewData=function(){var A=this.AJAX_HANDLER;A=SS.util.appendParamToUrl(A,this.PARAMS.FRAGMENT,this.sitemapView.sitemap);A=SS.util.appendParamToUrl(A,this.PARAMS.SITEMAP_FILTER,this.sitemapView.filter);A=SS.util.appendParamToUrl(A,this.PARAMS.LEG,this.qs.leg);A=SS.util.appendParamToUrl(A,this.PARAMS.PAGE,this.sitemapView.page);A=SS.util.appendParamToUrl(A,this.PARAMS.LANG,this.qs.language);var B=function(C,D){D.dataReceived.fire(C);D.sitemapView.dataLoaded=true};this.sendAjax(A,B,this.standardOnFailure)}})();
(function(){SS.controllers.SmController=function(C,B){this.model=C;this.view=B};var A=SS.controllers.SmController.prototype;A.initIsopricesToPlace=function(){var C=this.model,B=this.view;C.oPlaceChanged.subscribe(function(E,D){B.setFrame(D[0])},this,true);C.oToggleMaps.subscribe(function(E,D){B.isopricesView.setFrame(D[0])},this,true);B.isopricesView.oPlaceChanged.subscribe(function(E,D){C.getIsopricesFrame(D[0])},this,true);B.isopricesView.toggleIsoprcesFlashMap.subscribe(function(E,D){C.toogleMaps(D[0])},this,true)};A.onChangeSitemapState=function(F,D){var C=this.model;var B=this.view;var E=(F=="filterChanged");var G=false;if(E){G=!C.sitemapView.dataLoaded;C.sitemapView.filter=D[0]}else{if(C.sitemapView.page!=D[0]){G=true}C.sitemapView.page=D[0]}if(C.sitemapView.filter!=C.sitemapView.FILTER.POPULAR){if(G){B.showLoading();C.getSitemapViewData()}}};A.initSitemapView=function(){var C=this.model;var B=this.view;B.pageChanged.subscribe(this.onChangeSitemapState,this,true);B.filterChanged.subscribe(this.onChangeSitemapState,this,true);C.dataReceived.subscribe(function(E,D){if(C.sitemapView.FILTER.ALL==C.sitemapView.filter){B.updateAllContainer(D[0])}},this,true)};A.init=function(){var C=this.view;var B=SS.views;if(C.isopricesView){this.initIsopricesToPlace()}if(C instanceof B.SmCitiesSitemapView||C instanceof B.SmCountriesSitemapView||C instanceof B.SmAirportsSitemap||C instanceof B.SmAirlinesSitemapView){this.initSitemapView()}}})();
