$(document).ready(function() {
	$('#booknow').bind('click', function() {
		track_room_search_click();
	});
}); 

/*validation functions*/
function isValidEmail(str) {
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

/*newsletter subcription*/
$(function(){
	$('#frmloading').addClass('frmhidden');
	$('#btnsubscribe').bind('click',function(){
		var email = $('#txtjoin').val();
		
		if(!isValidEmail(email)){
			$.prompt('Please check your email again.');
			return false;
		}
		
		$('#frmjoin').css('display','none');
		$('#frmloading').css({'display':'block', 'padding-left':'100px'});
		
		$.ajax({
			   type: 'POST',
			   url: 'submit_enewsletter.php?' + 1 * new Date(),
			   data: ({email : email}),
			   
			   success:
			   function(t){
				   if(t==1){
					   $.prompt('Thank you for requesting our E-newsletter and we will send you our next edition.');
					   $('#txtjoin').attr('value','');
				   }else{
					   $.prompt('This email already in use. Please try again.');
				   }
				   $('#frmjoin').css('display','block');
				   $('#frmloading').css('display','none');
			   },
			   
				error:
				function(t){
					$.prompt('This email already in use. Please try again.');
				}
		   });
		
	});
});

/*
* languages
*/
$(document).ready(function() {
	 $('#lang').cluetip({activation: 'click', width: 290,positionBy: 'bottomTop', showTitle: false});
});

/*
Validate fast booking form
*/
function checkValidate(){
	/*process normal form*/

	var checkin = $('#chk_in').val();
	var checkout = $('#chk_out').val();
	var adults=$('#selAdults').val();
	
	if(checkin=='' || !isValidDate(checkin)){
		$.prompt('Please select your Check-In date.');
		return false;
	}
	if(checkout=='' || !isValidDate(checkout)){
		$.prompt('Please select your Check-Out date.');
		return false;
	}
	
	if(adults =="0"){
		$.prompt('Please select number of adults');
		return false;
	}	
	return true;
}



function bind_dates(check_in,check_out){
	var dates = $('#' + check_in + ',' + '#' + check_out).datepicker({
		defaultDate: "+1w",
		showAnim: 'slideDown',
		minDate: 0,
		dateFormat: 'dd/mm/yy',
		changeMonth: true,
		changeYear: true,
		numberOfMonths: 2,
		//showOn: 'button',
		buttonImageOnly: true,
		onSelect: function(selectedDate) {
			var dd=selectedDate.split("/");
			var pdate = Date.parse(dd[1] + "/" + dd[0] + "/" + dd[2]);//need to split it as Date.prase method expects parameters in format mm/dd/yy
			var nextdate =  new Date(pdate + 86400000);
			//var newdate = nextdate.getFullYear() + "/" + (nextdate.getMonth() + 1) + '/' + nextdate.getDate();
			var newdate = nextdate.getDate() + "/" + (nextdate.getMonth() + 1) + '/' + nextdate.getFullYear();
			
			var option = this.id == check_in ? "minDate" : "maxDate";
			var instance = $(this).data("datepicker");
			var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, newdate, instance.settings);
			
			dates.not(this).datepicker("option", option, date);
		}
	});
}



/* TODO: Remove below code and iinstead use bind_dates function */
$(function(){
	<!-- Date Picker -->
	var dates = $('#chk_in, #chk_out').datepicker({
		defaultDate: "+1w",
		showAnim: 'slideDown',
		minDate: 0,
		dateFormat: 'dd/mm/yy',
		changeMonth: true,
		changeYear: true,
		numberOfMonths: 2,
		//showOn: 'button',
		buttonImageOnly: true,
		onSelect: function(selectedDate) {
			var dd=selectedDate.split("/");
			var pdate = Date.parse(dd[1] + "/" + dd[0] + "/" + dd[2]);//need to split it as Date.prase method expects parameters in format mm/dd/yy
			var nextdate =  new Date(pdate + 86400000);
			//var newdate = nextdate.getFullYear() + "/" + (nextdate.getMonth() + 1) + '/' + nextdate.getDate();
			var newdate = nextdate.getDate() + "/" + (nextdate.getMonth() + 1) + '/' + nextdate.getFullYear();

			var option = this.id == "chk_in" ? "minDate" : "maxDate";
			var instance = $(this).data("datepicker");
			var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, newdate, instance.settings);
			//alert(date);
			dates.not(this).datepicker("option", option, date);
		}
	});
});




function track_room_search_click(){
	/*add event tracking code*/
	try{
		_gaq.push(['_trackEvent', 'UI', 'Room-Search']);
	}catch(err){}

	return true;
}

function track_specials_book_click(){
	try{
		_gaq.push(['_trackEvent', 'UI', 'Specials-Search']);
	}catch(err){}
	
	return true;
}

function track_360_click(){
	try{
		_gaq.push(['_trackEvent', 'UI', '360-View']);
	}catch(err){}
	
	return true;
}

/*
* functions to handle clear/reset default values
*/
$(document).ready(function() { 
	$("textarea,input[type=text]").focus(function(){ 
	  clear_field(this); 
	});
	$("textarea,input[type=text]").blur(function(){ 
	  reset_field(this); 
	});
});

function clear_field(obj){
	if($(obj).attr('placeholder')!='' && $(obj).attr('placeholder') == $(obj).val()){
		$(obj).val('');
	}
}

function reset_field(obj){
	if($(obj).attr('placeholder')!='' && $(obj).val() ==''){
		$(obj).val($(obj).attr('placeholder'));
	}
}

/*footer contact form*/
function submit_footer_contact_form(){
	if($("#txtContactName").val()=='' || $("#txtContactName").val() == $("#txtContactName").attr('placeholder')){
		$.prompt('Please enter your name.');
		$("#txtContactName").focus();
		return false;
	}else if($("#txtContactEmail").val()=='' || $("#txtContactEmail").val() == $("#txtContactEmail").attr('placeholder')){
		$.prompt('Please enter your email.');
		$("#txtContactEmail").focus();
		return false;
	}else if(!isValidEmail($("#txtContactEmail").val())){
		$.prompt('Please enter valid email address.');
		$("#txtContactEmail").focus();
		return false;
	}else if($("#txtContactMessage").val()=='' || $("#txtContactMessage").val() == $("#txtContactMessage").attr('placeholder')){
		$.prompt('Please enter your message.');
		$("#txtContactMessage").focus();
		return false;
	}
	
	return true;
}

/*
* toggle element visibility
*/
function toggle(tdiv){
	if($("#" + tdiv + "_show_symbol").html()=="+"){
		$("#" + tdiv + "_show_symbol").html("-");
	}else{
		$("#" + tdiv + "_show_symbol").html("+");
	}
	$("#" + tdiv).toggle('slow');
}

/*
* check if date is valid
* dd/mm/yyyy
*/
function isValidDate(s) {   
	var bits = s.split('/');   
	var d = new Date(bits[2] + '/' + bits[1] + '/' + bits[0]);   
	return !!(d && (d.getMonth() + 1) == bits[1] && d.getDate() == Number(bits[0])); 
}

function check_rooms(frm)
{
	if($(frm).children('.default').val()==0){
		$.prompt("Please select number of rooms.");
		return false;
	}
	return true;
}
