// JavaScript Document
//


//function appendURLparam(name, value) { //for single var to post
//	form = new Element('form', {
//		'name': 'form',
//		'method': 'post',
//		'action': window.location.href
//	});
////	data = new Element('input', {
////		'type': 'hidden',
////		'name': name,
////		'value': value
////	});
//	$(form).update('<input type="hidden" name="'+name+'" value="'+value+'" />');
//	document.getElementsByTagName('body')[0].appendChild(form);
//	form.submit();
//}
//
//function appendURLparamwithURL(name, value, url) { //for single var to post
//	form = new Element('form', {
//		'name': 'form',
//		'method': 'post',
//		'action': url
//	});
////	data = new Element('input', {
////		'type': 'hidden',
////		'name': name,
////		'value': value
////	});
//	$(form).update('<input type="hidden" name="'+name+'" value="'+value+'" />');
//	document.getElementsByTagName('body')[0].appendChild(form);
//	form.submit();
//}
//
//function appendURLparams(params) { // for multi var 
//	form = new Element('form', {
//		'name': 'form',
//		'method': 'post',
//		'action': window.location.href
//	});
//	for (var key in params) {
//		$(form).insert({'bottom':'<input type="hidden" name="'+key+'" value="'+$H(params).get(key)+'" />'});
//	}
//	document.getElementsByTagName('body')[0].appendChild(form);
//	form.submit();
//}
//
//function appendURLparamswithURL(params, url) { // for multi var 
//	form = new Element('form', {
//		'name': 'form',
//		'method': 'post',
//		'action': url
//	});
//	for (var key in params) {
//		$(form).insert({'bottom':'<input type="hidden" name="'+key+'" value="'+$H(params).get(key)+'" />'});
//	}
//	document.getElementsByTagName('body')[0].appendChild(form);
//	form.submit();
//}

function uncheckInput(name, type){
	var radioArr = document.getElementsByTagName("input");
	$A(radioArr).each(function(e){
		if (e.name==name && e.type==type && e.checked) {
			//new Effect.ScrollTo($(e));
			e.checked = false;
			//alert(e.checked);
			//e.scrollTo();
		}
	});
	//document.getElementsByTagName("input").each(function(e){ alert(e.type); });
	//for (i = 0; i != radioArr.length; i++) {
	//	radioArr[i].style.visibility = "visible";
	//}
}

var updateCurrency = function (target) {
	if (!Object.isElement(target)) {
		var rate = null;
		var symbol = null;
		//var currency_title = null;
		var currency_title = $('currency').getValue();
		$('currency').childElements().each(function(e) {
			if ($(e).readAttribute('value')==$('currency').getValue()) {
				rate = parseFloat($(e).readAttribute('rate'));
				symbol = $(e).readAttribute('symbol');
				//currency_title = $(e).innerHTML;
			}
		});
		$$('.currency').each(function(element) {
			//AppLogs.Add($H(element));
			if ($(element).readAttribute('value')==null) {
				$(element).update('-');
			} else {
				if (parseInt($(element).readAttribute('value'))>0) {
					if ($(element).readAttribute('nosymbol')=='true') {
						element.update('&nbsp;'+Math.round($(element).readAttribute('value')*rate));
					} else {
						element.update(symbol+Math.round($(element).readAttribute('value')*rate));
					}
				} else {
					$(element).update('-');
				}
			}
		});
		$$('.currency_symbol').each(function(element) {
			$(element).update($F('currency'));
		});	
		$$('.currency_symbol[show_currency_title="true"]').each(function(element) {
			$(element).update(currency_title);
		});
	} else {
		var rate = null;
		var symbol = null;
		var currency_title = null;
		$('currency').childElements().each(function(e) {
			if ($(e).readAttribute('value')==$('currency').getValue()) {
				rate = parseFloat($(e).readAttribute('rate'));
				symbol = $(e).readAttribute('symbol');
				currency_title = $(e).innerHTML;
			}
		});
		$(target).getElementsBySelector('.currency').each(function(element) {
			//AppLogs.Add($H(element));
			if ($(element).readAttribute('value')==null) {
				$(element).update('-');
			} else {
				if (parseInt($(element).readAttribute('value'))>0) {
					if ($(element).readAttribute('nosymbol')=='true') {
						element.update('&nbsp;'+Math.round($(element).readAttribute('value')*rate));
					} else {
						element.update(symbol+Math.round($(element).readAttribute('value')*rate));
					}
				} else {
					$(element).update('-');
				}
			}
		});
		$(target).getElementsBySelector('.currency_symbol').each(function(element) {
			$(element).update($F('currency'));
		});	
		$$('.currency_symbol[show_currency_title="true"]').each(function(element) {
			$(element).update(currency_title);
		});
	}
};

//******************************dreamwaver functions start*************************
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//***************************dreamwaver functions end******************************


var login = function() {
	//alert('test');
	new Ajax.Request('/_login.php', {
		method: 'get',
		parameters: {
			email: $('email').getValue(),
			password: $('password').getValue()
		},
		onSuccess: function(transport) {
			return true;
		},
		onFailure: function(transport) {
			return false;
		}
	});
};

var isLogon = function() {
	new Ajax.Request('_islogon.php', {
		method: 'get',
		onSuccess: function() { return true; },
		onFailure: function() { return false; }
	});
}

//***************************destination ajax function start*********************
//function genCountryByRegionCode(code) {
//	if (!code.blank()) {
//	new Ajax.Request('_destination.php',
//						{	method: "get", 
//							parameters:{
//								ajax:true, 
//								action:'genCountryByRegionCode', 
//								code:code
//							},
//							onSuccess: function(transport, json) {
//								for ( var i=$('country_code').length-1; i>0; i-- ) $('country_code').remove(i);
//								$('country_code').options.length = json.length;
//								for ( i=0; i<json.length; i++ ) {
//									$('country_code').options[i+1] = new Option(json[i].name,json[i].code);
//									//if (json[i].id==selected_id) $('city').options[i+1].selected=true;
//								}
//								//$('country_code').focus();
//							} 
//						}
//				  );
//	}
//}
//
//function genCityByCountryCode(code) {
//	if (!code.blank()) {
//	new Ajax.Request('_destination.php',
//						{	method: "get", 
//							parameters:{
//								ajax:true, 
//								action:'genCityByCountryCode', 
//								code:code
//							},
//							onSuccess: function(transport, json) {
//								for ( var i=$('city_code').length-1; i>0; i-- ) $('city_code').remove(i);
//								$('city_code').options.length = json.length;
//								for ( i=0; i<json.length; i++ ) {
//									$('city_code').options[i+1] = new Option(json[i].name,json[i].code);
//									//if (json[i].id==selected_id) $('city').options[i+1].selected=true;
//								}
//								//$('city_code').focus();
//							} 
//						}
//				  ); 
//	}
//}
//
//function genAreaByCityCode(code) {
//	if (!code.blank()) {
//	new Ajax.Request('_destination.php',
//						{	method: "get", 
//							parameters:{
//								ajax:true, 
//								action:'genAreaByCityCode', 
//								code:code
//							},
//							onSuccess: function(transport, json) {
//								for ( var i=$('area_code').length-1; i>0; i-- ) $('area_code').remove(i);
//								$('area_code').options.length = json.length;
//								for ( i=0; i<json.length; i++ ) {
//									$('area_code').options[i+1] = new Option(json[i].name,json[i].code);
//									//if (json[i].id==selected_id) $('city').options[i+1].selected=true;
//								}
//								//$('area_code').focus();
//							}
//						}
//				  );
//	}
//}

function extenalData() {
	
}
//***********************ajax function end***********************

//******************* clock function start **********************
function leadingZero(num) {
	return (num < 10) ? "0" + num : num.toString();
}

function UpdateClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }

   var tDate = new Date();
//
//   document.theClock.theTime.value = "" 
//                                   + tDate.getHours() + ":" 
//                                   + tDate.getMinutes() + ":" 
//                                   + tDate.getSeconds();
   if (Object.isElement('clock2'))
      $('clock2').innerHTML = tDate.getHours() + ":"  + leadingZero(tDate.getMinutes());
   
   clockID = setTimeout("UpdateClock()", 1000);
}

function StartClock() {
   clockID = setTimeout("UpdateClock()", 500);
}

function KillClock() {
   if(clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }
}
//************************clock function end*******************


//***********************onload init
var clockID  = 0;

Object.extend(Event, {
		wheel:function (event){
			var delta = 0;
			if (!event) event = window.event;
			if (event.wheelDelta) {
				delta = event.wheelDelta/120; 
				if (window.opera) delta = -delta;
			} else if (event.detail) { delta = -event.detail/3;	}
			return Math.round(delta); //Safari Round
		}
});

function makeCalendarField(target) {
	switch (Cookie.get('lang')) {
		case 'cs':
			var lang = 'zh'
			break
		case 'ct':
			var lang = 'zh-tw'
			break
		case 'jp':
			var lang = 'ja'
			break
		case 'kr':
			var lang = 'ko'
			break
		default:
			var lang = 'en'
			break
	}
	if (target==null || target == 'undefined') {
		$$('input.calendarField').each(function(element) {
			if ($(element).Controls == undefined) $(element).Controls = {};
			if (element.onblur) element.onchange = element.onblur;
			$(element).Controls.Datepicker = new Control.DatePicker(element, { locale: lang+'_iso8601' });
		});
	} else {
		$(target).getElementsBySelector('input.calendarField').each(function(element) {
			if ($(element).Controls == undefined) $(element).Controls = {};
			if (element.onblur) element.onchange = element.onblur;
			$(element).Controls.Datepicker = new Control.DatePicker(element, { locale: lang+'_iso8601' });
		});
	}
	
	$$('.calendarFields').each(function(elm) {
		var input_date_from = $(elm).getElementsBySelector('input.calendarField[name="date_from"]').first();
		var input_date_to = $(elm).getElementsBySelector('input.calendarField[name="date_to"]').first();
		//AppLogs.Add(input_date_to.name);
		Event.observe(input_date_from, 'change', function(evt) {
			//console.log("e");
			if(this.Controls.Datepicker.valueDate){
				checkoutDate = new Date(this.Controls.Datepicker.valueDate.getFullYear(),this.Controls.Datepicker.valueDate.getMonth(),this.Controls.Datepicker.valueDate.getDate()+1);
			
			
				if($(input_date_from).present() && $F(input_date_from).match(/[0-9]*-[0-9]*-[0-9]*/)==$F(input_date_from)){
					start_ts = Date.parse($F(input_date_from).gsub(/-/,'/'));
					var date = new Date();
					date.setTime(start_ts);;
					
					input_date_from.value=("#{year}-#{month}-#{day}").interpolate({ year:date.getFullYear(),
																				   month:Number(date.getMonth()+1).toPaddedString(2),
																				   day:Number(date.getDate()).toPaddedString(2)
																				  });
				}
				$(input_date_to).value = DateFormat.format(checkoutDate, input_date_from.Controls.Datepicker.options.currentFormat);
			}
		});
		
		$(input_date_from).onchange = function() {
			if(this.Controls.Datepicker.valueDate && $F(this).match(/[0-9]*-[0-9]*-[0-9]*/)==$F(this)){
				checkoutDate = new Date(input_date_from.Controls.Datepicker.valueDate.getFullYear(),input_date_from.Controls.Datepicker.valueDate.getMonth(),input_date_from.Controls.Datepicker.valueDate.getDate()+1);
				
			//AppLogs.Add('date change = '+checkoutDate);
			
				if (!$(input_date_to).present()){
					$(input_date_to).value = DateFormat.format(checkoutDate, input_date_from.Controls.Datepicker.options.currentFormat);
				}
			}
			//input_date_to.Controls.Datepicker.currentDate = checkoutDate;
		};
	});
}

Event.observe(document, 'dom:loaded', function() {
	/*favicon = new Element('link',{
		'rel': 'Shortcut Icon',
		'type': 'image/x-icon',
		'href': 'images/favicon.ico'
	});
	$(document.getElementsByTagName('head')[0]).appendChild(favicon);*/
	if (Object.isElement($('clock2')))
		StartClock();
	//make link onclick return false
	$$('a[href="#"]').each(function(e) {
		if ($(e).readAttribute('onclick')==null) {
			$(e).writeAttribute('onclick','return false;');
		}
	});
	makeCalendarField.defer();
	//make date field calendar event

//	MM_preloadImages('images/img_header04_o.jpg','images/img_header05_o.jpg','images/img_header06_o.jpg','images/menu_hotel_o.jpg','images/menu_flight_o.jpg','images/menu_package_o.jpg','images/menu_transportation_o.jpg','images/menu_ticket_o.jpg','images/menu_tour_o.jpg','images/menu_visa_o.jpg','images/menu_apartment_o.jpg','images/menu_insurance_o.jpg','images/btn_more_o.jpg','images/loading01.gif');
	
	//setCookie($('lang').name,$('lang').value,60*60*24*365); //_header.php set lang cookie for 1 year

	//apply currency selector change event
	if (Object.isElement($('currency'))) {
		Event.observe($('currency'), 'change', updateCurrency);
		//make default currency
		updateCurrency.defer();
	}
});
Event.observe(window, 'unload', function() {
	KillClock();
});
