chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
	//开始刷票时隐藏
	if (request.ticketEvent == 'refresh' && request.times == 0) {
		chrome.tabs.sendRequest(sender.tab.id, {ticketEvent: 'flightHide'});
		return ;
	}

	if (request.ticketEvent !== 'refresh' || request.times !== config.for12306.ticketTimes) {
		return ;
	}

	//满足次数要求
	chrome.tabs.sendRequest(sender.tab.id, {ticketEvent: 'get12306Query'}, function(query) {
		var flightsData = [],
			flight,
			count = (query.date[1] - query.date[0]) / 86400000 + 1;

		for (var i=query.date[0]; i<=query.date[1]; i+=86400000) {
			flight = FlightFactory.getFromShort({
				shortFrom: query.shortFrom,
				shortTo: query.shortTo,
				date: [i, i]
			});

			flight.getData(false, true, function(data) {
				flightsData.push(data.main);
			}, function(error) {
			}, function() {
				count--;
				if (count == 0) {
					if (flightsData.length) { //查询到数据时命令显示
						flightsData.sort(function(flight1, flight2) {
							if (flight1.date > flight2.date) {
								return 1;
							} else if (flight1.date < flight2.date) {
								return -1;
							} else{
								return 0;
							}
						});

						chrome.tabs.sendRequest(sender.tab.id, {
							ticketEvent: 'flightShow',
							version: baseInfo.getInstance().info.version,
							query: {from: flight.query.from, to: flight.query.to},
							data: flightsData,
							context: query.context === undefined ? {} : query.context
						}, function(response) {
							if (response.status) {
								Statistics.trigger(57);
							}
						});
					}
				}
			});
		}		
	});
});