// JavaScript Document

$(function(){						   
	
	$('.hidepayment').click(function() { $('.hide4booking').hide('fast');  });	
	$('.showpayment').click(function() { $('.hide4booking').show('fast'); });		
	$('.selectone').click(function() { $('.hide2begin').hide('fast'); });
	
	$("input.triggerbookingrequired").click(function(){ 
		$("label.bookingrequired").addClass("inputrequired"); 
		$('#starthidden').fadeIn('slow');
	});
	$("input.triggerinputrequired").click(function(){ 
		$("label.bookingrequired").removeClass("inputrequired"); 
		$('#starthidden').fadeIn('slow');
	});
	
	
	$("#check_in_date_820").focus(function(){ $("#check_in_date_820").addClass("nobg"); });
	$("#check_out_date_821").focus(function(){ $("#check_out_date_821").addClass("nobg"); });
	$("#arrival_time_a_825").focus(function(){ $("#arrival_time_a_825").addClass("nobg"); });
	
	$(".selectHeadingPop_book").click(function(){
		$("label.selectHeadingPop_enq").addClass("selectHeadingPop");
		$("label.selectHeadingPop_enq").removeClass("selectHeadingPop_active");
		$("label.selectHeadingPop_book").addClass("selectHeadingPop_active");
		$('#submitbtton').show('fast');
	});
	
	$(".selectHeadingPop_enq").click(function(){
		$("label.selectHeadingPop_enq").addClass("selectHeadingPop_active");
		$("label.selectHeadingPop_book").removeClass("selectHeadingPop_active");
		$("label.selectHeadingPop_book").addClass("selectHeadingPop");
		$('#submitbtton').show('fast');
	});
	
	$('.dateRange').datepicker({beforeShow: customRange, showOn: 'both', buttonImage: 'images/calendar.gif', buttonImageOnly: true, closeAtTop: false, showStatus: true });
	$("form.bmform").each(function() { resetUndo.init(this); })
});	
	
// CODE for fValidation
$(document).ready(function() {
	var container = $('div.errorContainer');
	// validate the form when it is submitted
	$("#shortstayform").validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		meta: "validate",
		event: "onsubmit",
		onblur: false,
		onkeyup: false,
		onfocusout: false,
		onsubmit: true,	
		
		highlight: function(element, errorClass) {
		 $(element).addClass(errorClass);
		 $(element.form).find("label[for=" + element.id + "]")
						.addClass(errorClass);
		},
		
		unhighlight: function(element, errorClass) {
		 $(element).removeClass(errorClass);
		 $(element.form).find("label[for=" + element.id + "]")
						.removeClass(errorClass);
		}
	});
});

// CODE for fReset
var resetUndo =  {		
		init : function(arg){			
		form = $(arg);
		resetInput = form.find("input[@type=reset]");	
		resetInput.click(resetUndo.reset);
	},
	
	reset : function(){			
		var inputform =  $(this.form);			
		inputform.find("div.ResetNotify").remove();
		$("<div class=\"ResetNotify\"><strong>The contents of the form have been cleared.<\/strong> Click here to <a href=\"#\" class=\"undoResetLink\">undo reset<\/a>.<\/div>").appendTo(inputform);				
		var link = inputform.find("a.undoResetLink");				
		console.log(link);			
		this.form.undoBuffer = inputform.formToArray(true);				
		link.click(function() { resetUndo.undo(inputform); });
	},			
	undo : function (form){			
		form.deserialize(form.get(0).undoBuffer);				
		form.find("div.ResetNotify").remove();				
		return false;
	}
};