(function() {
var flight_train_map = {
"WYW":"WXN","SEQ":"SYX","SHH":"SHA","SNH":"SHA","AOH":"SHA","SXH":"SHA",
"DPK":"DOY","ZWJ":"ZHY","ZSQ":"ZGN","ZGQ":"ZGN","LVK":"LYI","UYK":"LYI",
"DUT":"DDG","LHM":"LJG","YWH":"YIW","WWT":"HLH","WVC":"WUA","WXC":"WUA",
"WMR":"URC","JJG":"JIU","JGG":"JGS","YMR":"YIN","YNR":"YIN","YCB":"LDS",
"FSQ":"FUO","JMB":"JMU","KHR":"KRY","LZJ":"LHW","LVJ":"LHW","LAJ":"LHW",
"XRZ":"ACX","JGX":"JGD","BTC":"BAV","BDC":"BAV","BJP":"BJS","VAP":"BJS",
"BOP":"BJS","VNP":"BJS","BXP":"BJS","BHZ":"BHY","NJH":"NKG","NKH":"NKG",
"NCW":"NAO","NNZ":"NNG","NCG":"KHN","NUH":"NTG","NFF":"NNY","BOR":"BPL",
"XMS":"XMN","XKS":"XMN","TZH":"HYN","HFH":"HFE","COH":"HFE","JLL":"JIL",
"HHC":"HET","NDC":"HET","VTR":"HTN","HMR":"HMI","HLR":"HMI","HBB":"HRB",
"VBB":"HRB","VAB":"HRB","TSP":"TVS","FUP":"TVS","KSR":"KHG","JGJ":"JGN",
"GUJ":"GYU","DTV":"DAT","DZX":"DQA","DKM":"DLU","DLT":"DLC","DFT":"DLC",
"TSJ":"THQ","TBP":"TSN","TJP":"TSN","TIP":"TSN","TXP":"TSN","TYV":"TYN",
"TBV":"TYN","TDV":"TYN","WKK":"WEH","NVH":"NGB","AQH":"AQG","APH":"AQG",
"AKY":"AKA","ASW":"AVA","YBW":"YBP","YCN":"YIH","HAN":"YIH","CZH":"CZX",
"ESH":"CZX","VGQ":"CGD","GYW":"GYS","GBQ":"CAN","GGQ":"CAN","GZQ":"CAN",
"IZQ":"CAN","GHW":"GHN","KLR":"KRL","KCR":"KCA","YJL":"YNJ","YWY":"ENY",
"DIQ":"DYG","ZYJ":"YZY","XCH":"XUZ","UUH":"XUZ","ESN":"ENH","ICW":"CTU",
"CNW":"CTU","CDW":"CTU","YLH":"YTY","LSO":"LXA","JRQ":"SWA","PRW":"PZI",
"DHJ":"DNH","WXH":"WUX","WGH":"WUX","IFH":"WUX","KMM":"KMG","KXM":"KMG",
"ZDW":"ZAT","JCG":"JDZ","CYD":"CHG","HGH":"HGH","HZH":"HGH","XHH":"HGH",
"LXC":"LXI","LZZ":"LZH","GRO":"GOQ","GBZ":"KWL","GLZ":"KWL","TCH":"580",
"UQW":"LIA","WZZ":"WUZ","ALY":"UYN","WAS":"WUS","WHN":"WUH","AOQ":"LLF",
"HOY":"HZG","SYT":"SHE","SBT":"SHE","SDT":"SHE","QRS":"JJN","QYS":"JJN",
"LYF":"LYA","LDF":"LYA","JNK":"TNA","JAK":"TNA","JGK":"TNA","JIK":"JNG",
"HMQ":"HAK","VUQ":"HAK","HRX":"HLD","AUH":"HIA","AMH":"HIA","SZQ":"SZX",
"OSQ":"SZX","BJQ":"SZX","IOQ":"SZX","RZH":"WNZ","VRH":"WNZ","ZJZ":"ZHA",
"ZWQ":"ZHA","MLX":"NZH","MVX":"OHE","WFK":"WEF","YAK":"YNT","MDB":"MDG",
"ZHQ":"ZUH","ZIQ":"ZUH","BIZ":"AEB","AFH":"YNZ","VVP":"SJW","SJP":"SJW",
"FZS":"FOC","FYS":"FOC","QTP":"SHP","MYW":"MIG","SZH":"SZV","OHH":"SZV",
"KAH":"SZV","ITH":"SZV","QEH":"JUZ","XFN":"XFN","XWN":"XFN","XXO":"XNN",
"EAY":"SIA","XAY":"SIA","CAY":"SIA","XXO":"SIA","ECW":"XIC","ENW":"XIC",
"GIW":"KWE","GZG":"KOW","CFD":"CIF","CID":"CIF","RXW":"DAX","YNV":"YCU",
"UIH":"LYG","UKH":"LYG","TLD":"TGO","ZIW":"ZYI","HDP":"HDG","HPP":"HDG",
"ZZF":"CGO","ZAF":"CGO","CUW":"CKG","CQW":"CKG","CRW":"CKG","JCJ":"JIC",
"RDQ":"TEN","YIJ":"INC","XTC":"XIL","JZD":"JNZ","JOD":"JNZ","CCT":"CGQ",
"CET":"CGQ","CRT":"CGQ","CSQ":"CSX","CWQ":"CSX","CBF":"CIH","CZF":"CIH",
"FYH":"FUG","ASR":"AKU","ART":"YIE","QDK":"TAO","AST":"AOG","AXT":"AOG",
"JXB":"JXA","HKH":"TXN","HJB":"HEK","QNW":"JIQ","QHX":"NDG"
};
var flight_train_styleHtml = [
//''
];
var flight_train_scriptHtml = [
//''
];
//top负责显示/隐藏膏药
if (top === window) {
chrome.extension.onRequest.addListener(function (request, sender, sendResponse) {
if (request.ticketEvent == 'flightHide') {
document.getElementsByClassName("_bb_flight_container")[0].style.display = "none";
return ;
}
if (request.ticketEvent != 'flightShow') {
return ;
}
if (!request.query || !request.data || request.data.length == 0) {
return ;
}
var flight_train_tip = [
'
',
'',
'
快来看看特价机票
',
'
' + request.query.from + '—' + request.query.to + '
',
'
',
''
];
var flight_train_tickets = request.data;
for (var i = 0; i < flight_train_tickets.length ; i++) {
flight_train_tip.push(
'- ',
'
' + flight_train_tickets[i].date.replace(/-/g,'/') + '
',
'¥' + flight_train_tickets[i].price + '
',
'' + parseInt(flight_train_tickets[i].discount, 10) / 10 + '折
',
'抢票',
' '
);
}
flight_train_tip.push('
');
var flight_train_container;
if (!document.getElementsByClassName('_bb_flight_container').length) {
var flight_train_style = document.createElement('style');
flight_train_style.innerHTML = flight_train_styleHtml.join("\n");
document.body.appendChild(flight_train_style);
var flight_train_script = document.createElement('script');
flight_train_script.type = 'text/javascript';
flight_train_script.innerHTML = flight_train_scriptHtml.join("\n").replace(/####version####/, request.version);
document.body.appendChild(flight_train_script);
flight_train_container = document.createElement('div');
flight_train_container.className = '_bb_flight_container';
document.body.appendChild(flight_train_container);
} else {
flight_train_container = document.getElementsByClassName('_bb_flight_container')[0];
flight_train_container.style.display = 'block';
}
flight_train_container.innerHTML = flight_train_tip.join("\n");
flight_train_container.style.position = 'absolute';
//计算膏药相对于整个页面的位置
var trainIframe = document.getElementById('iframepage');
if (trainIframe !== null) { //在框架中订票
flight_train_container.style.top = (trainIframe.offsetTop + request.context.positionOffset.y ) + 'px';
flight_train_container.style.left = Math.max(trainIframe.offsetLeft + request.context.positionOffset.x - 171, 0) + 'px';
window.onresize = function() {
flight_train_container.style.left = Math.max(trainIframe.offsetLeft + request.context.positionOffset.x - 171, 0) + 'px';
};
} else { //全屏订票
flight_train_container.style.top = flight_train_main.offsetTop + 'px';
flight_train_container.style.left = Math.max(flight_train_main.offsetLeft - 171, 0) + 'px';
window.onresize = function() {
flight_train_container.style.left = Math.max(flight_train_main.offsetLeft - 171, 0) + 'px';
};
}
sendResponse({status: true});
});
}
//主界面(不管是在iframe里还是顶级)负责查询信息反馈
var flight_train_main = document.getElementById('main');
if (flight_train_main && flight_train_main.contentWindow) {
chrome.extension.onRequest.addListener(function (request, sender, sendResponse) {
if (request.ticketEvent != 'get12306Query') {
return ;
}
var flight_train_document = flight_train_main.contentWindow.document,
flight_train_fromInput = flight_train_document.getElementById('fromStation'),
flight_train_toInput = flight_train_document.getElementById('toStation'),
flight_train_dateInput = flight_train_document.getElementById('startdatepicker');
if (!flight_train_document || !flight_train_fromInput || !flight_train_toInput || !flight_train_dateInput) {
return ;
}
var flight_train_from = flight_train_fromInput.value,
flight_train_to = flight_train_toInput.value,
flight_train_date = flight_train_dateInput.value;
if (!flight_train_from || !flight_train_to || !flight_train_date) {
return ;
}
if (!flight_train_map[flight_train_from] || !flight_train_map[flight_train_to]) {
return ;
}
var flight_train_timestamp = Date.parse(flight_train_date);
sendResponse({
shortFrom: flight_train_map[flight_train_from],
shortTo: flight_train_map[flight_train_to],
date: flight_train_timestamp < Date.now() ? //今天
[flight_train_timestamp, flight_train_timestamp + 172800000] :
[flight_train_timestamp - 86400000, flight_train_timestamp + 86400000],
context: {
trainTimestamp: flight_train_timestamp,
positionOffset: {x: flight_train_main.offsetLeft, y: flight_train_main.offsetTop}
}
});
});
}
})();