(function(){var a=SS.entities.Query=function(d,g,l,e,f,i,k,h,c,m,b,j){this.queryType=d;this.queryStatus=SS.queryStatusType.notstarted;this.queryErrorMessage="";this.isReturn=g;this.originPlaceId=l;this.destinationPlaceId=e;this.oDatecode=f;this.formattedOutboundDate=SS.util.formatDate(SS.util.parseDateFromCode(f.substr(2)),"ddd d MMM yyyy");this.iDatecode=i;this.formattedInboundDate=SS.util.formatDate(SS.util.parseDateFromCode(i.substr(2)),"ddd d MMM yyyy");this.filterState=k||new SS.entities.FilterState();this.adults=h||1;this.children=c||0;this.infants=m||0;this.currency=null;this.apiKey="";this.originAirports=(b||"").split(",").filter(function(n){return n.length==3});this.destinationAirports=(j||"").split(",").filter(function(n){return n.length==3});this.results=new SS.entities.QueryResults(this);this.isLongHaul=false;this.originCityId="";this.destinationCityId="";this.requestid="";this.gaCombinedPageName=null;this.gaSinglesPageName=null;this.gaAirlinesPageName=null;this.owfc="";this.iwfc="";this.oqrid="";this.iqrid="";this.hasDirectFlights=true;this.forceShowingIndirects=false};SS.entities.Query.getQueryFromJsonObject=function(b,d){var c=(b==SS.queryType.exactdates&&d==SS.data.dayview),g=(b==SS.queryType.selectedflights&&d==SS.data.selectedflightsview),f,i;if(c||g){var e,h;if(c){e=SS.data.dayview}else{if(g){e=SS.data.selectedflightsview}}i=e.q;f=new a(b,i.ret,i.dep,i.dst,"20"+i.ddate,"20"+i.rdate,null,i.adults,i.children,i.infants,null,null);f.originAirports=i.oairp.filter(function(j){return j.length==3});f.destinationAirports=i.iairp.filter(function(j){return j.length==3});f.isLongHaul=e.q.lh==1;f.originCityId=i.ocid;f.destinationCityId=i.icid;f.requestId=i.reqid;f.owfc=i.owfc;f.iwfc=i.iwfc;f.oqrid=i.oqrid;f.iqrid=i.iqrid;if(e.ga){f.gaCombinedPageName=e.ga.combined;f.gaSinglesPageName=e.ga.singles;f.gaAirlinesPageName=e.ga.airlines}f.hasDirectFlights=i.df;f.forceShowingIndirects=i.si;f.forceShowingIndirects=i.si;h=e.cur;f.currency=new SS.entities.Currency(h.i,h.symb,h.tsep,h.dsep,h.sleft,h.sbas,h.rcoef/1000,h.xrates);f.queryStatus=SS.queryStatusType.success}else{i=d.query;f=new a(b,i.isReturn,i.oPlaceId,i.iPlaceId,i.oDatecode,i.iDatecode,null,i.adults,i.children,i.infants,i.oAirports,i.iAirports);f.currency=SS.entities.Currency.getCurrencyFromJsonObject(d);f.apiKey=d.apiKey;f.queryStatus=SS.queryStatusType.success}return f};SS.entities.Query.prototype={matches:function(d,h,l,e,f,j,k,i,c,m){var b=false;if(k){b=this.filterState.matches(k)}else{b=true}var g=((this.queryType==d)&&(this.isReturn==h)&&(this.originPlaceId==l)&&(this.destinationPlaceId==e)&&(this.oDatecode==f)&&(this.iDatecode==j)&&(this.adults==i)&&(this.children==c)&&(this.infants==m)&&(b));return(g)},matchesRoute:function(c,b){if((c!=this.originPlaceId)&&(this.originAirports.indexOf(c)==-1)&&(c!=this.originCityId)){return false}return(b==this.destinationPlaceId)||(this.destinationAirports.indexOf(b)>-1)||(this.destinationCityId==b)},getPassengers:function(){return{adults:this.adults,children:this.children,infants:this.infants}},getDataApiUrl:function(){var h=this,b=SS.factories.ItineraryFactory.getItinerary(),c=SS.entities.Datecode,e=c.getYYDatecodeFromDate,g=c.getDateFromDatecode,i=e(g(h.oDatecode)).slice(0,4),f=h.isReturn?e(g(h.iDatecode)).slice(0,4):"",d=["/api.ashx?mode=Data&output=xml&method=flightsearch&rtn=",h.isReturn?"1":"0","&oplace=",h.originPlaceId,"&iplace=",h.destinationPlaceId,"&ddate=",i,h.isReturn?"&rdate="+f:"","&currency=",h.currency.id,"&adults=",h.adults,"&children=",h.children,"&infants=",h.infants,"&airlines=",h.filterState.selectedAirlines.join(","),"&otimeofday=",h.filterState.selectedOutboundDepartureTimeWindows.join(","),"&itimeofday=",h.filterState.selectedInboundDepartureTimeWindows.join(","),"&di=",b.directOnly?"1":"0","&key=",h.apiKey].join("");return d}}})();
