You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

421 lines
13 KiB
JavaScript

//CHT train phone script
//搜索表单检测
//传this即当前表单过来
//检测日期是否大于上一天日期 2014-5-22 modyfy
function Chk_searchForm(form){
var isSub = true;
var showTip = function(o,msg){
$(o).after('<span style="display: block; position: absolute; color:#B00101;font-weight: bold;font-size: 10px;background-color:#FFF">'+msg+'</span>');
}
if($(form).length == 0){form = $('#ZZform1').get(0);}
if($(form).length == 0){return false;}//try again
$("[name^='Txt_FZ_']").css('border-color',"").next("span").remove();
$("[name^='Txt_DZ_']").css('border-color',"").next("span").remove();
$("[name^='stationDate_']").css('border-color',"").next("span").remove();
var count = $(form).find("[id^='Txt_FZ_']").length;
for(var i=1;i<=count;i++){
o1 = $(form).find("[name='Txt_FZ_"+i+"']");
o2 = $(form).find("[name='Txt_DZ_"+i+"']");
o3 = $(form).find("[name='stationDate_"+i+"']");
if( count==2 && i==2 && $.trim(o1.val())=='' && $.trim(o2.val())=='' && $.trim(o3.val())=='' ){
subRoute();
}else{
if($.trim(o1.val())==''){
showTip(o1,'Please enter your departure city ');
o1.css('border-color',"#B00101");isSub = false;
}
if($.trim(o2.val())==''){
showTip(o2,'Please enter your arrival city');
o2.css('border-color',"#B00101");isSub = false;
}
if($.trim(o3.val())==''){
showTip(o3,'Please select a travel date.');
o3.css('border-color',"#B00101");isSub = false;
}
}
}
//check Next Date has behand current data.
var prevewVal = (new Date($(form).find("[name='stationDate_1']").val())).getTime();
for(i=2;i<=count;i++){
var curenVal = (new Date($(form).find("[name='stationDate_"+i+"']").val())).getTime();
if(curenVal < prevewVal){//当前日期不能小于头一天
alert("Departing date of Train "+i+" is error!");isSub=false;
}
prevewVal = curenVal;
}
return isSub;
}
//更新车次代码
function _getObj(o){
if($(o).size()>0) {
return $(o);
} else {
return $("body");
}
};
function CkFromCode(Obj){
var o = _getObj(Obj);
var cityName = $("#stationFrom",o).val();
$("#stationFromCode",o).val("");
if(cityName.length>0){
$("#stationFromCode",o).val(getStationCode(cityName));
}
}
function CkToCode(Obj){
var o = _getObj(Obj);
var cityName = $("#stationTo",o).val();
$("#stationToCode",o).val("");
if(cityName.length>0){
$("#stationToCode",o).val(getStationCode(cityName));
}
}
function checkCode(Obj){
var o = _getObj(Obj);
CkFromCode(Obj);
CkToCode(Obj);
if($("#stationFromCode",o).val() == ""){
alert("Train station doesn't exist!");
$("#stationFrom",o).focus();
return false;
}
if($("#stationToCode",o).val() == ""){
alert("Train station doesn't exist!");
$("#stationTo",o).focus();
return false;
}
}
function getStationCode(EnName){
for(var i=0;i<stationArr.length;i++){
if($.trim(stationArr[i][1]) == $.trim(EnName)){
return stationArr[i][0];
}
}
return "";
}
function getStationENname(CnName){
for(var i=0;i<stationArr.length;i++){
if($.trim(stationArr[i][2]).toLowerCase() == $.trim(CnName).toLowerCase()){
return stationArr[i][1];
}
}
return "";
}
function morEreaShow(){
$("#officeErea").toggle().hover(function(){},function(){$(this).hide()});
}
function fitterOffice(Str, _o){
$(".ticketOffice").show();
if(Str != ""){
$(".ticketOffice[val!="+Str+"]").hide();
}
$("a.cityList").html($(_o).html());
$("#officeErea").hide();
$(".ticketOffice:visible").each(function(i){$(this).find(" span").html(i+1)});
}
//新增项目
function addRoute(){
var Obj = $("#routerline").clone().attr('id','');
var nowindex = $("#routerline").siblings().size()+2;
//属性处理
Obj.find('label').text('Train ' + nowindex + ':');
Obj.find("input[name='Txt_FZ_1']").attr({'id':'Txt_FZ_'+nowindex,'name':'Txt_FZ_'+nowindex ,'onblur':'','onfocus':''});
Obj.find("input[name='Txt_DZ_1']").attr({'id':'Txt_DZ_'+nowindex,'name':'Txt_DZ_'+nowindex ,'onblur':'','onfocus':''});
Obj.find("input[name='stationDate_1']").attr({'id':'stationDate_'+nowindex,'name':'stationDate_'+nowindex});
Obj.find("[type=hidden]").remove();
//插入
$("#routerline").parent().append(Obj);
//事件
//auto complete
if(typeof $.fn.autoCPT=='function'){
Obj.find("input[name^='Txt_']").val('').autoCPT({'stationData':stationArr,'yOffset':0});
}
//datepicker
if(typeof $.datepicker =="object"){
Obj.find("input[name^='stationDate']").val('').removeClass("hasDatepicker").datepicker(
{showAnim:"fadeIn",duration:0,minDate: "2d", numberOfMonths: 2,showButtonPanel: true}
);
}
IniDatePicker('stationDate_'+nowindex);
}
//删除条目
function subRoute(){
if($("#routerline").siblings().size()>0){
$("#routerline").nextAll(":last").remove();
}
}
function strHot(str){
return '<div style="display: block; position: absolute; left: 200px; top: 317px; background-color: rgb(255, 255, 255); width: 559px; line-height: 30px;border: 1px solid #CCCCCC; z-index:444" id="hotStation" class="hidden-xs hidden-sm">\
<div style="float: left; width: 100px; margin: 0px 3px;">\
<div data="Beijing|BJP" onclick="setDv(\''+str+'\',this)">Beijing(北京)</div>\
<div data="Hangzhou|HZH" onclick="setDv(\''+str+'\',this)">Hangzhou(杭州)</div>\
<div data="Pingyao|PYV" onclick="setDv(\''+str+'\',this)">Pingyao(平遥)</div>\
<div data="Changsha|CSQ" onclick="setDv(\''+str+'\',this)">Changsha(长沙)</div>\
</div>\
<div style="float: left; width: 100px; margin: 0px 3px;">\
<div data="Shanghai|SHH" onclick="setDv(\''+str+'\',this)">Shanghai(上海)</div>\
<div data="Kunming|KMM" onclick="setDv(\''+str+'\',this)">Kunming(昆明)</div>\
<div data="Shenzhen|SZQ" onclick="setDv(\''+str+'\',this)">Shenzhen(深圳)</div>\
<div data="Nanjing|NJH" onclick="setDv(\''+str+'\',this)">Nanjing(南京)</div>\
</div>\
<div style="float: left; width: 90px; margin: 0px 3px;">\
<div data="Datong Railway Station|DTV" onclick="setDv(\''+str+'\',this)">Datong(大同)</div>\
<div data="Ningbo|NGH" onclick="setDv(\''+str+'\',this)">Ningbo(宁波)</div>\
<div data="Chengdu|CDW" onclick="setDv(\''+str+'\',this)">Chendu(成都)</div>\
<div data="Taiyuan|TYV" onclick="setDv(\''+str+'\',this)">Taiyuan(太原)</div>\
</div>\
<div style="float: left; width: 90px; margin: 0px 3px;">\
<div data="Guilin|GLZ" onclick="setDv(\''+str+'\',this)">Guilin(桂林)</div>\
<div data="Xian|XAY" onclick="setDv(\''+str+'\',this)">Xian(西安)</div>\
<div data="Suzhou(Jiangsu province)|SZH" onclick="setDv(\''+str+'\',this)">Suzhou(苏州)</div>\
<div data="Nanning|NNZ" onclick="setDv(\''+str+'\',this)">Nanning(南宁)</div>\
</div>\
<div style="float: left; width: 150px; ">\
<div data="Guangzhou|GZQ" onclick="setDv(\''+str+'\',this)">Guangzhou(广州)</div>\
<div data="Zhangjiajie|DIQ" onclick="setDv(\''+str+'\',this)">Zhangjiajie(张家界)</div>\
<div data="Huangshan|HKH" onclick="setDv(\''+str+'\',this)">Huangshan(黄山)</div>\
</div><div style="clear:both"></div>\
</div>';}
function showDv(id){
if(typeof showHotCity == 'undefined')return;
if(!showHotCity) return;
var t = $("#"+id).offset();
var th = $("#"+id).outerHeight();
var tp = $("#"+id).parents('table').offset();
$("[id=hotStation]").remove();
$(strHot(id)).appendTo('.container:eq(0)');
$("#hotStation").css('top',(t.top+th)).css('left',tp.left);
$("#hotStation").find('div>div').css('cursor','pointer').hover(function(){$(this).css('background-color','#ccc')},function(){$(this).css('background-color','')});
}
function hideDv(){ $("#hotStation").remove();}
function setDv(o1,o2)
{
data = $(o2).attr('data').split('|') ;
$('#'+o1).val( data[0] );
var CHid = "Code_"+o1;
if($("#"+CHid).size()==0){
$('#'+o1).after('<input type="hidden" name="'+CHid+'" value="'+data[1]+'" id="'+CHid+'" />');
}
$("#"+CHid).val(data[1]);
hideDv();
}
//对象,开始时间偏移,结束时间偏移(天)
function IniDatePicker(_o,_s,_e){
var D = new Date();
var s = _s?_s:3;var e = _e?_e:240;
var DateStart = new Date((D.getTime()+3600*24*s*1000));
var DateEnd = new Date((D.getTime()+3600*24*e*1000));
$('#'+_o).pickadate({ format: 'mm/dd/yyyy',formatSubmit: 'mm/dd/yyyy', min: DateStart, max: DateEnd, clear: 'Close'});
}
$(function(){
window.stationArr = new Array();
if( typeof StationInfo == "string" ){
var station_names_Arr_tmp = StationInfo.split('@');
for(var i=0;i<station_names_Arr_tmp.length;i++){
var tmp = station_names_Arr_tmp[i].split('|')
//station_names_Arr.push(tmp);
stationArr.push(Array(tmp[1],tmp[2],tmp[3],tmp[4],tmp[5])); //code,name,cnName,group,province
}
}
if(typeof $.fn.pickadate == "function"){
IniDatePicker('stationDate_1');
}
if(typeof $.fn.autoCPT=='function'){
$("input[name^='Txt_FZ'],input[name^='Txt_DZ']").autoCPT({'stationData':stationArr,'yOffset':0});
$("#Txt_FZ,#Txt_DZ").autoCPT({'stationData':stationArr,'yOffset':0});
}
if($('#tipIndex').size()>0){
(function(){
var d=new Date();
var m = d.getTimezoneOffset();
var mn= d.getTime() + m * 1000;
d.setTime(mn+ 480 * 1000)
d2 = new Date();
d2.setTime(d.getTime()+59*3600*24*1000)
var DTU = function (dd){
M = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
return M[dd.getMonth()] + '. '+ dd.getDate() + ' ' + dd.getFullYear();
}
$('#tipIndex').html(DTU(d) + ' to ' + DTU(d2));
})();
}
//设置默认日期
var df_date=adddays();
$("#stationDate").val(df_date);
if( window.location.pathname == "/china-trains/" ){
$("#stationDate_1").val(df_date);
}
});
function adddays(days) {
var DaysToAdd=parseInt(days);
if(isNaN(days)){DaysToAdd=3}
var newdate=new Date();
var newtimems=newdate.getTime()+(DaysToAdd*24*60*60*1000);
newdate.setTime(newtimems);
var yy=newdate.getFullYear(),
mm='0'+(newdate.getMonth()+1),
dd='0'+newdate.getDate();
return mm.substr(-2)+'/'+dd.substr(-2)+'/'+yy;
}
function is_mbAgent(){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){
return true;
}else{
return false;
}
}
function initSearchFrom(){
var getAvalue = function(key) {
for (var i = 0; i < cookies.length; i++) {
if (cookies[i][0] == key) {
return cookies[i][1];
}
}
}
var cookies = GetCookie('trainSeach').replace(/[+]/g," ").split('|');
for (var i = 0; i < cookies.length; i++) {
cookies[i] = cookies[i].split('=');
}
var i = 1;
do {
si = getAvalue('si');
Txt_FZ = getAvalue('Txt_FZ_' + i);
Txt_DZ = getAvalue('Txt_DZ_' + i);
stationDate = getAvalue('stationDate_' + i);
Code_Txt_FZ = getAvalue('Code_Txt_FZ_' + i);
Code_Txt_DZ = getAvalue('Code_Txt_DZ_' + i);
if($('#Txt_FZ_'+i).size()==0){addRoute();}
$('#Txt_FZ_'+i).val(Txt_FZ);
$('#Txt_DZ_'+i).val(Txt_DZ);
$('#stationDate_'+i).val(stationDate);
if($('#Code_Txt_FZ_'+i).size()==0){
$('#Txt_FZ_'+i).after('<input type="hidden" name="Code_Txt_FZ_'+i+'" id="Code_Txt_FZ_'+i+'">');
}
if($('#Code_Txt_DZ_'+i).size()==0){
$('#Txt_DZ_'+i).after('<input type="hidden" name="Code_Txt_DZ_'+i+'" id="Code_Txt_DZ_'+i+'">');
}
$('#Code_Txt_FZ_'+i).val(Code_Txt_FZ);
$('#Code_Txt_DZ_'+i).val(Code_Txt_DZ);
i++;
} while (getAvalue('Txt_FZ_' + i) != undefined);
}
//搜索结果面页
function showFtDiv(s){
$("#ftTool .filterSel").hide();
$("#"+s).show();
//filter,Time,Duration
$('#ftTool .trainFilter :checkbox').attr('checked',false);
$('#ftTool').css({'position':'absolute','top':$(window).height(),'height':$(window).height()}).show()
.animate({'top':0},500,function(){
$('#resultContent').hide();
})
}
function hideFtDiv(){
$('#resultContent').show();$('#ftTool').hide();
}
function startFilter(){
var getcheckboxVal = function (n){
var s=new Array();$('[name='+n+']:checked').each(function(){s.push($(this).val());});
return s.join('|');
}
var v1 = getcheckboxVal('TT'),
v2 = getcheckboxVal('DT'),
v3 = getcheckboxVal('ST');
if(v1 != ''){
v = v1.split('|');
}else if(v2 != ''){
v = v2.split('|');
}else if(v3 != ''){
v = v3.split('|');
}else{
v = new Array();
}
if(v.length == 0){
$('#resultDiv table tr:not(:first)').show();
}else{
$('#resultDiv table tr:not(:first)').hide().each(function(){
var o = $(this);
var arr = o.attr('data').split('|');
for(var ii=0;ii<v.length;ii++){
if(v[ii]!="")
if(jQuery.inArray(v[ii], arr) >=0){
o.show();
break;
}
}
});
}
var visiID = $("#typeFilter,#DepartFilter,#stationFilter").filter(':visible').attr('id');
var index_i = (visiID=='typeFilter')?0:(visiID=='DepartFilter')?1:(visiID=='stationFilter')?2:0;
$('#sortBar li').eq(index_i).addClass("active1").siblings().removeClass("active1");
hideFtDiv();
if($('#resultDiv table tr:gt(0)').filter(':visible').length==0){$('#filterTr').show();}else{$('#filterTr').hide();}
}
//跳到下一页
function nextPage(i){
$('#line').val(i).parents('form').submit();
}
//上一天,下一天事件
function UpDownDay(act){
var i = $('#si').val();
var s = (act=="u")?(-86399000):(86401000);
var DateStart = new Date(Date.parse($("#stationDate_"+i).val()) + s);
if( ((new Date()).getTime() +3600*24*3*1000) > DateStart.getTime() ){
alert('Date invalid.');return;
}
var get2c = function(str){str='00'+str;return str.substring(str.length-2);}
$("#stationDate_"+i).val(get2c(DateStart.getMonth()+1) +'/'+ get2c(DateStart.getDate()) +'/'+ DateStart.getFullYear());
$('#ZZform1').attr('action','search-result-mb.asp').submit();
}
$(function(){
//搜索页
$('#ftTool .trainFilter :checkbox').click(function(){
if($(this).val()==''){
$(this).parent().parent().siblings().find(":checkbox").attr('checked',false);
}else{
$('[name='+$(this).attr('name')+']:first').attr('checked',false);
}
})
})