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.

334 lines
12 KiB
JavaScript

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

//函数定义
var Daytrip = {Data:{},Fun:{}};
function changingOverTab(o) {
var a_current = o;
var a_parent = a_current.parent();
var a_current_name = a_current.attr("class");
a_parent.siblings().each(function(){
var sibling = $(this).find("a");
var sibling_name = sibling.attr("class");
if(testReg(/active/, sibling_name)){
sibling.removeClass('active');
}
});
if(testReg(/active/, a_current_name)){
}else{
a_current.addClass("active");
}
}
//正则测试
function testReg(reg,str){
return reg.test(str);
}
//滚动条移动
var currentPosition,timer;
function GoTop(){
timer=setInterval("runToTop()",1);
}
function runToTop(){
currentPosition=document.documentElement.scrollTop || document.body.scrollTop;
currentPosition-=(10+Math.pow(currentPosition/200,3))
if(currentPosition>0)
{
window.scrollTo(0,currentPosition);
}
else
{
window.scrollTo(0,0);
clearInterval(timer);
}
}
//翻页函数
//page 页码
//$search['city']
//.$search['code2'] 扩展类型
//.$search['order'] 排序
function goToPage(page,city,code2,code3,order){
code2=code2.replace(/(^\s*)|(\s*$)/g, '').replace(/[&]/g, '%26').replace(/\s+/g,'-');
code3=code3.replace(/(^\s*)|(\s*$)/g, '').replace(/[&]/g, '%26').replace(/\s+/g,'-');
$.ajax({
type: "GET",
url: "/daytrip/search_" + city +'_'+ code2 +'_'+ code3 +'_'+ order +'_'+ page,
success: function(msg){
$("#dataGrid").html(msg);
GoTop();
}
});
}
function geginSearch(){
if($('#city').val().length<2){
alert('Please Select a city from the drop-down.');
return;
}
code2 = $('#code2').val().replace(/(^\s*)|(\s*$)/g, '').replace(/[&]/g, '%26').replace(/\s+/g,'-');
code2 = (code2!='')?'?code2='+code2:'';
window.location='/daytrip/list_'+$('#city').val().toLowerCase().replace(/(^\s*)|(\s*$)/g, '').replace(/\s+/g,'-')+'/' + code2;
}
function setTourPrice(data,date){
var ExRate = data.ExRate;
var toUsd = function(rmb){rmb = Number(rmb);if(isNaN(rmb)){return 0;}return Math.ceil( rmb*1.025 / ExRate);}
var toUsdU= function(rmb,Ext){return Ext + toUsd(rmb);}
var toDateObj = function(str){ var result = str.split("-"); return (result.length==3)?new Date(result[0],result[1],result[2]):new Date();}
var echoPrice = function(priceD,i){
//输出人等价格,如果有锯齿状
lastKey = 0;
for(var key in priceD){if(priceD[key]=='0')break;lastKey = key;}
}
$(data.data).each(function(i){
var Item = this;
var T1 = toDateObj(Item.date_start);
var T2 = toDateObj(Item.date_end);
var Tnow = new Date();
if( T2.getTime() > Tnow.getTime() && Tnow.getTime() > T1.getTime()){
window.tripPrice = jQuery.parseJSON(Item.price);
if(Item.person_type == 0){
$("#priceTable tr:eq(0)").html("<th height=\"24\">1 Person</th><th>2-3 Persons</th>\
<th>4-5 Persons</th><th>6-9 Persons</th><th>> 10 Persons</th>");
$("#priceTable tr:eq(1)").html( '<td>' + (tripPrice[0]?toUsdU(tripPrice[0],'$'):'--') + '</td>'+
'<td>' + (tripPrice[1]?toUsdU(tripPrice[1],'$'):'--') + '</td>'+
'<td>' + (tripPrice[2]?toUsdU(tripPrice[2],'$'):'--') + '</td>'+
'<td>' + (tripPrice[3]?toUsdU(tripPrice[3],'$'):'--') + '</td>' +
'<td>' + (tripPrice[4]?toUsdU(tripPrice[4],'$'):'--') + '</td>');
$(".bestPrice").text(toUsd(tripPrice[2]));
}else if(Item.person_type == 1){
$("#priceTable tr:eq(0)").html("<th height=\"24\">1 - 2 Person</th><th>3 - 5 Persons</th>\
<th>6 - 9 Persons</th><th>> 10 Persons</th>");
$("#priceTable tr:eq(1)").html( '<td>' + (tripPrice[0]?toUsdU(tripPrice[0],'$'):'--') + '</td>'+
'<td>' + (tripPrice[1]?toUsdU(tripPrice[1],'$'):'--') + '</td>'+
'<td>' + (tripPrice[2]?toUsdU(tripPrice[2],'$'):'--') + '</td>'+
'<td>' + (tripPrice[3]?toUsdU(tripPrice[3],'$'):'--') + '</td>');
$(".bestPrice").text(toUsd(tripPrice[2]));
}else if(Item.person_type == 2){
$("#priceTable tr:eq(0)").html("<th height=\"24\">Per Person</th>");
$("#priceTable tr:eq(1)").html('<td>' + toUsdU(tripPrice[0],'$') + '</td>');
$(".bestPrice").text(toUsd(tripPrice[0]));
}
}
})
}
//上述函数替代
function iniPriceTable(D){
TB = $("#priceTable");
if(D.statu==1){
TB.find('tr:eq(0)').empty();
TB.find('tr:eq(1)').append('<td><a href="/hotel/contactus.asp">On Request</a></td>');
}
if(D.data.length==0){
TB.find('tr:eq(0)').empty();
TB.find('tr:eq(1)').append('<td><a href="/hotel/contactus.asp">On Request</a></td>');
}
var ExRate = D.ExRate;
var toUsd = function(rmb){rmb = Number(rmb);if(isNaN(rmb)){return 0;}return Math.ceil( rmb*1.03 / ExRate);}
var toUsdU = function(rmb,Ext){return Ext + toUsd(rmb);}
var pershow= function(p1,p2){if(p1==p2){return p1;}else if(p1==1 && p2>20){ return 'Per'; }else if(p2>20){return ">"+p1;}else{return p1+' - '+p2;}}
for(i=0;i<D.data.length;i++){
var p = D.data[i].PKP_AdultPrice;
TB.find('tr:eq(0)').append('<th>'+ pershow(D.data[i].PKP_PersonStart, D.data[i].PKP_PersonStop) +' Person</th>');
TB.find('tr:eq(1)').append('<td>'+ toUsdU(p,'$') +'</td>');
}
}
//js formate date string
function formateDT(date,formate){
var yyyy = date.getFullYear();
var mm = date.getUTCMonth()+1;
var dd = date.getUTCDate();
var hh = date.getHours();
var ii = date.getMinutes();
var ss = date.getSeconds();
mm = ("00"+mm).slice(-2);
dd = ("00"+dd).slice(-2);
hh = ("00"+hh).slice(-2);
ii = ("00"+ii).slice(-2);
ss = ("00"+ss).slice(-2);
if(formate == 1){
return mm +'/'+ dd + '/'+ yyyy;
}else if(formate == 2){
return yyyy +'-'+ mm +'-'+ dd;
}
}
function clearSelectCity(){
$("#select_city").hide();$("#select_city>div").html('');
}
function setSelectCity(e){
if(e.target != $('#city').get(0)){
clearSelectCity();return;
}
$("#select_city>div").html('').append('<div class="close" align="right"><span style="float:left">Top City</span>X</div>');
$.each(Daytrip.Data.city,function(){
$("#select_city>div").append('<span><a href="##" onclick="$(\'#city\').val(\''+this.Name+'\');$(\'#triptype\').val(\'\')">'+this.Name+'</a></span>');
});
$("#select_city").fadeIn("fast");
}
function setCode2(Text){
$("#triptype").val(Text);
$("#code2").val(Text);
}
function setSelectType(e){
if(e.target != $('#triptype').get(0)){
if($("#triptype").val().length<1){//If Extern Type was Empty
$("#code2").val('');
}
$("#select_type").hide().html('');return;
}
var types={};
$.each(Daytrip.Data.city,function(){
if(this.Name==$('#city').val()){
types=this;
return false;
}
});
if(typeof types.type =='undefined' || types.type.length<1){
$("#triptype").css("background-color","rgb(240, 240, 240)").val('');
}else{
$("#triptype").css("background-color","");
$("#select_type").html('<div></div>');
$("#select_type>div").html('').append('<div class="close" align="right"><span style="float:left">Trip Type</span>X</div>');
$.each(types.type,function(){
$("#select_type>div").append('<span><a href="javascript:setCode2(\''+this.n+'\');void(0)">'+this.n+'</a></span>');
});
$("#select_type").fadeIn("fast");
}
}
function setTourcommon(msg){
var i=msg.data.length;
var obj=$("#review");
if(i>0){
obj.append('<h3 class="review">Customer Review</h3>');
}
for(ii=0;ii<i;ii++){
obj.append('<div class="customerReview">\
<span class="star star'+ msg.data[ii].rate +'"></span>\
<p>by '+ msg.data[ii].UserName +' '+ msg.data[ii].PostTime +'</p>\
<p>'+ msg.data[ii].commentbody +'</p>\
</div>')
}
}
//-----split line-----------------------------------------------
//-----Data Segment-----
Daytrip.Data={"city":[
{"Name":"Beijing","type":[
{"n":"Essence","c":"39010"},{"n":"Great Wall Tours","c":"39011"},{"n":"Night Tours","c":"39016"},{"n":"Hutong Tour","c":"39027"},{"n":"Beijing Forbidden City Tours","c":"39042"},{"n":"Beijing City Tours","c":"39043"},{"n":"Beijing Discovery Tours","c":"39045"},{"n":"Beijing Sightseeing Tours","c":"39046"},{"n":"Beijing Summer Palace Tours","c":"39050"},{"n":"Beijing Temple of Heaven Tours","c":"39052"},{"n":"Beijing Night Tours","c":"39058"},{"n":"Beijing Great Wall Tours","c":"39065"},{"n":"Beijing Hutong Tours","c":"39066"}]
},
{"Name":"Shanghai","type":[
{"n":"Culture Experience","c":"39001"},{"n":"Essence","c":"39010"},{"n":"Night Tours","c":"39016"},{"n":"Watertown Tours","c":"39017"},{"n":"Shanghai Night Tours","c":"39070"},{"n":"Shanghai City Tours","c":"39074"},{"n":"Shanghai Local Tours","c":"39076"},{"n":"Shanghai Hangzhou Tours","c":"39080"}
]},
{"Name":"Guilin","type":[
{"n":"Essence","c":"39010"},{"n":"Neighbor Tours","c":"39018"},{"n":"Guilin Li River Tours","c":"39127"},{"n":"Guilin Countryside Tours","c":"39132"}]
},
{"Name":"Hong Kong","type":[
{"n":"Essence","c":"39010"},{"n":"Countryside Tours","c":"39014"},{"n":"Night Tours","c":"39016"},{"n":"Hong Kong Island Tours","c":"39093"},{"n":"Hong Kong Night Tours","c":"39094"},{"n":"Hong Kong Big Bus Tours","c":"39098"},{"n":"Hong Kong Half Day Tours","c":"39109"}]
}
]
};
//-----End Data Segment-----
// JavaScript Document
//首页的切换
$(function(){
//首页
if($(".otherCityList li").size()>0){
$(".otherCityList li").each(function(i){
$(this).bind("click",function(){
$(this).siblings().find('a').removeClass("active").end();
$(this).find('a').addClass("active");
$(".tourPro").filter(":not(:eq("+i+"))").hide().end().eq(i).show();
});
});
}
$('#index_search_btn').click(function(){
var code2 = $('#triptype').val();
if(code2 != ''){
code2 = code2.replace(/(^\s*)|(\s*$)/g, '').replace(/[&]/g, '%26').replace(/\s+/g,'-');
code2 = (code2!='')?'?code2='+code2:'';
window.location='/daytrip/list_'+$('#city').val().toLowerCase().replace(/(^\s*)|(\s*$)/g, '').replace(/\s+/g,'-')+'/'+code2;
}else{
window.location='/daytrip/list_'+$('#city').val().toLowerCase().replace(/(^\s*)|(\s*$)/g, '').replace(/\s+/g,'-')+'/';
}
});
//详细页
//价格包括与不包括,切换
$(".priceIncl .title li").click(function(){
$(this).siblings('li').removeClass('active').end().addClass('active');
$(".priceIncl .priceList").hide();
$(".priceIncl .priceList").eq($(this).index()).show();
});
//图片切换播放效果
if(typeof $().orbit == 'function'){
$('#featured').orbit({animation: 'fade', bullets: true, 'bulletThumbs': false, captions: false});
$(".advertising-container").mouseover(function(){
$(".slider-nav .right,.slider-nav .left").show();
}).mouseout(function(){
$(".slider-nav .right,.slider-nav .left").hide();
});
}
//左则漂浮,效果
var sTags = $(".smallCRight");
if(sTags.size()>0){
window.r_i = 0;
var ma_default = {anchortag: "href", anchorSmooth: true};
$(".tourType li").each(function(i){
r_i = i+1;
$(".at"+r_i).mAnchor(ma_default);
});
sTags_top = sTags.offset().top;
$(window).unbind("scroll");
$(window).bind("scroll", function() {
try{
var arr_t = [];
//console.log(r_i);
for(var i = 0; i < r_i; i++){
arr_t.push($("#t"+(i+1)).eq(0));
}
var self_top = $(this).scrollTop();
if( self_top > sTags_top ){
sTags.css({"position": "fixed", "top": 0, "z-index": 10});
for(var i = 0; i < r_i; i++){
if(self_top > arr_t[i].offset().top - 10 && arr_t[i].offset().top != 0){
//console.log(i);
changingOverTab($(".smallCRight .at"+(i+1)));
}
}
}else{
sTags.css({"position": "static", "background": "none"});
changingOverTab($("#smallCityLeft .at1"));
}
}catch(err){}
});
}
if(typeof $.datepicker =="object"){
$("#Starting_Date").datepicker(
{showAnim:"fadeIn",duration:0,minDate: "+3", numberOfMonths: 2,showButtonPanel: true}
);//detail page
}
//List page
if($("#city").size()>0){
$("body").click(function(e){setSelectCity(e);setSelectType(e);});
}
});