﻿// JavaScript Document
window.CDT = window.CDT || {};
CDT.Comm = CDT.Comm || {};
(function(){
	/*
		获取对象
	*/
	CDT.Comm.$ = function(id) {
		return typeof(id)=='string'?document.getElementById(id):id;
	},
	/*
		获取对象
	*/
	CDT.Comm.$v = function(id) {
		return CDT.Comm.$(id).value;
	},
	/*
		判断为数字
	*/
	CDT.Comm.isNumber = function(v) {
		return (/^\d+$/i.test(v));
	},
	/*
		判断为空
	*/
	CDT.Comm.isEmpty = function(v) {
		return ((v==''));
	},
	/*
		判断为空并提示并设置焦点
	*/
	CDT.Comm.isEmptyAlert = function(id,txt) {
		var o = CDT.Comm.$(id);
		if(o.value=='') {
			alert(txt);
			o.focus();
			return false;
		}
		return true;
	}
	/*
		判断相等并提示并设置焦点
	*/
	CDT.Comm.isEqualAlert = function(id,id2,txt) {
		var o = CDT.Comm.$(id);
		var o2 = CDT.Comm.$(id2);
		if(o.value!=o2.value) {
			alert(txt);
			o2.focus();
			return false;
		}
		return true;
	}
	/*
		提示并设置焦点
	*/
	CDT.Comm.Alert = function(id,txt) {
		var o = CDT.Comm.$(id);
		alert(txt);
		o.focus();
		return false;
	},
	/*
		字符转化日期
	*/
	CDT.Comm.ConvertoDate = function(v,sp) {
		if(v!='') {
			var date = v.split(sp);
			return new Date(date[2],(date[0]-1),date[1]);
		}
		return new Date();
	}
	/*
		日期比较
	*/
	CDT.Comm.DateDiff = function(sd,ed) {
		return parseInt((sd.getTime()-ed.getTime())/24/3600/1000);
	}
})();
CDT.Member = CDT.Member || {};
(function(){
	/*
		检测email
	*/
	CDT.Member.isEmail = function(v) {
		var re = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/i;
		return re.test(v);
	},
	/*
		检测用户名合法
	*/
	CDT.Member.checkU = function(v) {
		var re = /^(\w+)$/i;
		return re.test(v);		
	},	
	/*
		检测注册表单
	*/
	CDT.Member.checkform = function() {
		var result = true;
		result = result && CDT.Comm.isEmptyAlert('username','Please input username');
		result = result && CDT.Comm.isEmptyAlert('useremail','Please input useremail');
		var ev = CDT.Member.isEmail(CDT.Comm.$v('useremail'));
		if(result && !ev) {
			CDT.Comm.Alert('useremail','Please input vaild email');
		}
		result = result && ev;
		result = result && CDT.Comm.isEmptyAlert('password','Please input password');
		result = result && CDT.Comm.isEmptyAlert('replypass','Please input replypass');
		result = result && CDT.Comm.isEqualAlert('password','replypass','Please input equal string')
		return result;
	}
})();
CDT.Tour = CDT.Tour || {};
(function(){
	CDT.Tour.checkform = function() {
		try {
			var result  = true;
			var ev = CDT.Comm.isNumber(CDT.Comm.$v('adult'));
			if(result && !ev) {
				CDT.Comm.Alert('adult','Please input the number of adult');
			}
			result = result && ev;
			ev = CDT.Comm.isNumber(CDT.Comm.$v('child'));
			if(result && !ev) {
				CDT.Comm.Alert('child','Please input the number of child');
			}
			result = result && ev;
			ev = CDT.Comm.isNumber(CDT.Comm.$v('infant'));
			if(result && !ev) {
				CDT.Comm.Alert('infant','Please input the number of infant');
			}
			result = result && ev;
			result = result && CDT.Comm.isEmptyAlert('startdate','Please select the start date');
			result = result && CDT.Comm.isEmptyAlert('enddate','Please select the end date');
			ev = (CDT.Comm.DateDiff(CDT.Comm.ConvertoDate(CDT.Comm.$v('startdate'),'-'),CDT.Comm.ConvertoDate(CDT.Comm.$v('enddate'),'-'))<1);
			if(result && !ev) {
				CDT.Comm.Alert('enddate','End date must be more than start date');
			}
			result = result && ev;
			result = result && CDT.Comm.isEmptyAlert('firstname','Please input your full name');
			result = result && CDT.Comm.isEmptyAlert('email','Please input your email');
			ev = CDT.Member.isEmail(CDT.Comm.$v('email'));
			if(result && !ev) {
				CDT.Comm.Alert('email','Please input vaild email');
			}
			result = result && ev;
			result = result && CDT.Comm.isEmptyAlert('phone','Please input your phone number');
			return result;
		}
		catch(e) {
			return false;
		}
	}
})();
CDT.QA = CDT.QA || {};
(function(){
	CDT.QA.Answer = function(id) {
		var o = CDT.Comm.$('Answer'+id);
		var old = CDT.Comm.$('QAform');
		var temp = old.innerHTML;
		temp = temp.replace('[0]',id);
		o.innerHTML = (o.innerHTML!='')?'':temp;
		o.className = (o.innerHTML!='')?'Answer2':'';
		var _close = CDT.Comm.$('btnClose');
		_close.style.display = (o.innerHTML!='')?'':'none';
		CDT.Comm.$('ReplyID').value = (o.innerHTML!='')?id:0;
		CDT.Comm.$('li_title').style.display = (o.innerHTML!='')?'none':'';
	},
	CDT.QA.Goto = function(id,p) {
		var o = CDT.Comm.$('iframe_QA');
		o.src = '/cgi/showQA.asp?fid=' + id + '&p=' + p + '&rnd=' + Math.random();
	},
	CDT.QA.checkform = function() {
		var result = true;
		result = result && CDT.Comm.isEmptyAlert('GuestName','Please input guestname');
		if (CDT.Comm.$v('Email')!='') {
			var ev = CDT.Member.isEmail(CDT.Comm.$v('Email'));
			if(result && !ev) {
				CDT.Comm.Alert('Email','Please input vaild email');
			}
			result = result && ev;
		}
		if (CDT.Comm.$v('ReplyID')==0) result = result && CDT.Comm.isEmptyAlert('Title','Please input title');
		result = result && CDT.Comm.isEmptyAlert('Content','Please input content');
		return result;
	}
})();
CDT.FeedBack = CDT.FeedBack || {};
(function(){
	CDT.FeedBack.Goto = function(id,p) {
		var o = CDT.Comm.$('iframe_feedback');
		o.src = '/cgi/showFeedback.asp?id=' + id + '&p=' + p + '&rnd=' + Math.random();
	}
})();
CDT.Vacation = CDT.Vacation || {};
(function(){
	CDT.Vacation.checkform = function() {
		try {
			var result  = true;
			result = result && CDT.Comm.isEmptyAlert('firstname','Please input full name');
			result = result && CDT.Comm.isEmptyAlert('email','Please input email');
			ev = CDT.Member.isEmail(CDT.Comm.$v('email'));
			if(result && !ev) {
				CDT.Comm.Alert('email','Please input vaild email');
			}
			result = result && ev;
			result = result && CDT.Comm.isEmptyAlert('phone','Please input phone');
			var ev = CDT.Comm.isNumber(CDT.Comm.$v('adult'));
			if(result && !ev) {
				CDT.Comm.Alert('adult','Please input the number of adult');
			}
			result = result && ev;
			ev = CDT.Comm.isNumber(CDT.Comm.$v('child'));
			if(result && !ev) {
				CDT.Comm.Alert('child','Please input the number of child');
			}
			result = result && ev;
			ev = CDT.Comm.isNumber(CDT.Comm.$v('infant'));
			if(result && !ev) {
				CDT.Comm.Alert('infant','Please input the number of infant');
			}
			result = result && ev;
			result = result && CDT.Comm.isEmptyAlert('startdate','Please select the start date');
			result = result && CDT.Comm.isEmptyAlert('enddate','Please select the end date');
			ev = (CDT.Comm.DateDiff(CDT.Comm.ConvertoDate(CDT.Comm.$v('startdate'),'-'),CDT.Comm.ConvertoDate(CDT.Comm.$v('enddate'),'-'))<1);
			if(result && !ev) {
				CDT.Comm.Alert('enddate','Enddate must mort than start date');
			}
			result = result && ev;
			return result;
		}
		catch(e) {
			return false;
		}
	}
})();


//// temp create ,fred by 2011-09-30
//tour tab
function showdiv(n) {
	var lis = document.getElementById('tab').getElementsByTagName('li');
	if(lis) {
		for(var i=0;i<6;i++) {
			lis.item(i).className = (n==i)?'current1':'';
			var o = document.getElementById('div_'+i);
			if(o) {
				o.style.display = (n==i)?'':'none';
			}
		}
	}
}

//set current optaional tab
function setCurrent(n) {
	var lis = document.getElementById('optionaltour').getElementsByTagName('li');
	if(lis) {
		for(var i=0;i<lis.length;i++) {
			lis.item(i).className = (i==n)?'current2':'';
		}
	}
}

//tour optionall tab
function showdivOptional(n,name) {
	setCurrent(n);
	var divs = document.getElementsByTagName('div');
	if(divs) {
		for(var i=0;i<divs.length;i++) {
			if(divs.item(i).id.indexOf('optional_')!=-1) {
				divs.item(i).style.display = 'none';
				if(divs.item(i).id.indexOf('optional_'+name)!=-1) {
					divs.item(i).style.display = '';
				}
			}
		}
	}
}

//check optional
function checkthis(id,t,p) {
	var o = document.getElementById("img"+id);
	var tempstr = document.getElementById('addons').value;
//	var price = parseInt(document.getElementById('addonsprice').value);
	var addonsid = document.getElementById('addonsid').value;
	if (o.src.indexOf('_after')!=-1) {
		o.src = o.src.replace('_after','_before');
		t = t.replace('(','\\(');
		t = t.replace(')','\\)');
//		price -= parseInt(p);
		tempstr = replacestr(tempstr,t + '[$' + p + ']');
		addonsid = replacestr(addonsid,id);
	}
	else {
		o.src = o.src.replace('_before','_after');
		if(tempstr!='') tempstr += ',';
		tempstr += t + '[$' + p + ']';
//		price += parseInt(p);
		if(addonsid!='') addonsid += ',';
		addonsid += id;
	}
//	document.getElementById('addonsprice').value = price;
	document.getElementById('addons').value = tempstr;
	document.getElementById('addonsid').value = addonsid;
}

function replacestr(str,v) {
	var arr = str.split(',');
	var tmp = '';
	for(var i=0;i<arr.length;i++) {
		if(v!=arr[i]) {
			if(tmp!='') tmp+=',';
			tmp+= arr[i];
		}
	}
	return tmp;
}

//show hotel
function showhotel(id) {
	var o = document.getElementById('divhotel' + id);
	if(o) {
		o.style.display = (o.style.display=='')?'none':'';
	}
}

/****************************** fred 2011-10-31 ************************************/

function setTab(n) {
	for(var i=0;i<2;i++) {
		document.getElementById('tab'+i).style.display = (n==i)?'':'none';
		document.getElementById('li'+i).className = (n==i)?'current':'';
	}
}

function setHTab(n,maxn) {
	for(var i=0;i<maxn;i++) {
		document.getElementById('divTab'+i).style.display = (n==i)?'':'none';	
		document.getElementById('Hli'+i).className = (n==i)?'current':'';
	}
}

function setCurrentHole(n,maxn) {
	if(n<1) {
		alert("out min no");
		return;
	}
	if(n>maxn*9) {
		alert("out max no");
		return;
	}
	for(var i=1;i<maxn*9+1;i++) {
		document.getElementById('hole'+i).className = (n==i)?'golfbg1current':'golfbg1';
		document.getElementById('holeinfo'+i).style.display = (n==i)?'':'none';
	}
	setHTab(parseInt((n-1)/9),maxn);
}


/* --------------------------------- 2011-12-27 -----------------------------------*/
CDT.TourReviews = CDT.TourReviews || {};
(function(){
	CDT.TourReviews.Goto = function(id,p) {
		var o = CDT.Comm.$('iframe_feedback');
		o.src = '/cgi/showTourReviews.asp?id=' + id + '&p=' + p + '&rnd=' + Math.random();
	}
})();


<!--鼠标经过切换层js-->
function getNames(obj,name,tij) {
	var p = document.getElementById(obj);
	var plist = p.getElementsByTagName(tij);
	var rlist = new Array();
	for(i=0;i<plist.length;i++) {
		if(plist[i].getAttribute("name") == name) {
			rlist[rlist.length] = plist[i];
		}
	}
	return rlist;
}

function butong_net(obj,name) {
	var p = obj.parentNode.getElementsByTagName("li");
	var p1 = getNames(name,"f","div");
	for(i=0;i<p1.length;i++) {
		if(obj==p[i]) {
			p[i].className = "s";
			p1[i].className = "dis";
		}
		else {
			p[i].className = "";
			p1[i].className = "undis";
		}
	}
}

function li_mouseover(obj,name) {
	var p = obj.parentNode.getElementsByTagName("li");
	for(var i=0;i<p.length;i++) {
		p[i].className = (p[i]==obj)?'Current':'';
	}
	$(".touradds").each(function(){
		$(this).hide();
		$("div[name=" + name + "]").each(function(){
			$(this).show();
		});
	});
}

//get ajax data
function getData(c) {
	flag = true;
	var url = '/weather/weather.asp?c='+ c +'&rn='+Math.random();
	$.getJSON(url,function(data,mm){
		showresult(data,c);
	});
}

//get ajax data
function getDataMin(c) {
	flag = true;
	var url = '/weather/weather.asp?c='+ c +'&rn='+Math.random();
	$.getJSON(url,function(data,mm){
		if(mm=="success") {
			showresultMin(data,c);
		}
	});
}

function showresult(data,c) {
	var html = '<div class="WeatherBg">';
	for (var i=0;i<2;i++) {
		var src = 'http://l.yimg.com/a/i/us/we/52/' + data.code[i] + '.gif';
		html += '<div class="fl Weather">';
		html += '<ul>';
		html += '<li>' + data.day[i] + ', ' + data.date[i] + '</li>';
		html += '<li><img src="' + src + '" width="52" height="52" alt="' + data.text[i] + '" /></li>';
		html += '<li>' + data.text[i] + '</li>';
		html += '<li>' + data.tmp[i] + '°F</li>';
		html += '</ul>';
		html += '</div>';
	}
	html += '<br class="clear" />';
	html += '</div>';
	var city = c.replace("'","");
	city = city.replace(" ","");
	$('#weather_'+city).html(html);
}

function showresultMin(data,c) {
	var html = '<div class="WeatherBg1">';
	for (var i=0;i<2;i++) {
		var src = 'http://l.yimg.com/a/i/us/we/52/' + data.code[i] + '.gif';
		html += '<div class="fl Weather1">';
		html += '<ul>';
		html += '<li>' + data.day[i] + ', ' + data.date[i] + '</li>';
		html += '<li><img src="' + src + '" width="52" height="52" alt="' + data.text[i] + '" /></li>';
		html += '<li>' + data.text[i] + '</li>';
		html += '<li>' + data.tmp[i] + '°F</li>';
		html += '</ul>';
		html += '</div>';
	}
	html += '<br class="clear" />';
	html += '</div>';
	var city = c.replace("'","");
	city = city.replace(" ","");
	$('#weather_'+city).html(html);
}

/* --------------------------------- 2012-2-14 -----------------------------------*/
CDT.Contact = CDT.Contact || {};
(function(){
	CDT.Contact.checkform = function() {
		try {
			var fn = document.getElementById('fullname');
			if(fn.value=='') {
				alert('Please fill out your name');
				fn.focus();
				return false;
			}
			var e = document.getElementById('email');
			if(e.value=='') {
				alert('Please fill out your email');
				e.focus();
				return false;
			}
			if(!CDT.Member.isEmail(e.value)) {
				alert('Please input vaild email');
				e.focus();
				return false;
			}
			var c = document.getElementById('content');
			if(c.value=='') {
				alert('Please fill out content');
				c.focus();
				return false;
			}
		}
		catch(e) {
			return false;
		}
	}
})();

