/**
 * Vakantieparadijs.com
 * Controls voor de reserveringspagina
 *
 * Copyright Thomas Smit 2009
 * http://tsmit.nl - http://lunaticasylum.nl
 */


$(document).ready(function(){

	$('input.Number').keydown(function(Event)
		{
			return (Event.keyCode == 9 || Event.keyCode == 8 || Event.keyCode == 45 || 
				(Event.keyCode >= 48 && Event.keyCode <= 57) || (Event.keyCode >= 96 && Event.keyCode <= 105)
			);
		}
	).focus(function(){
		$(this).select();
	}).attr('maxlength', 2);
	
	
	$('a.House').click(function(){
		
		$('p#villaError').slideUp();
		
		var Selected = $(this).attr('id');
		$('input[name=villa]').val(Selected);
		
		if(Selected  == 'comfort')
		{
			$('#' + Selected).addClass('Selected');
			$('#luxes').removeClass('Selected');
		} else {
			$('#' + Selected).addClass('Selected');
			$('#comfort').removeClass('Selected');
		}
		
		$('.SelectVilla p span').fadeOut(200, function(){
			$(this).text((Selected == 'comfort'? 'Villa Comfort' : 'Villa Luxus')).fadeIn(200);
		});
		
			
	}).attr('href', 'javascript:void(0)');
	
	var SelectedVilla = $('input[name=villa]').val();
	if(SelectedVilla != '')	
	{
		$('a#' + SelectedVilla).addClass('Selected');	
		$('.SelectVilla p span').text((SelectedVilla == 'comfort'? 'Villa Comfort' : 'Villa Luxus'));
	}
		
});


var PeopleSelector = {

	Max: 0,
	Name: '',
	
	Text: {
		Empty: 'Geen',
		One: 'persoon',
		More: 'personen'
	},
	
	
	Init: function(Name)
	{
		$('.PeopleSelector .Amount a').mouseover(function(){
			PeopleSelector.Hover($(this).attr('amount'));					
		}).click(function(){
			PeopleSelector.Select($(this).attr('amount'));					
		});
		
		$('.PeopleSelector .Amount').mouseleave(function(){
			
			$('.PeopleSelector .Amount a').removeClass('Hover');
		});
		
		PeopleSelector.Max = $('.PeopleSelector .Amount a').size();
		PeopleSelector.Name = Name;
		PeopleSelector.Select(parseInt($('#' + PeopleSelector.Name + 'Amount').val()));
	},


	Hover: function(Amount)
	{
		for(var Index = 1; Index <= PeopleSelector.Max; Index++)
			if(Index <= Amount)
				$('a#Human' + Index).addClass('Hover');
			else
				$('a#Human' + Index).removeClass('Hover');
	},


	Select: function(Amount)
	{
		if(isNaN(Amount))
			Amount = 0;
			
		for(var Index = 1; Index <= PeopleSelector.Max; Index++)
		{
			if(Index <= Amount)
				$('a#Human' + Index).addClass('Selected');
			else
				$('a#Human' + Index).removeClass('Selected');
			$('a#Human' + Index).removeClass('Hover');	
				
		}		
		
		PeopleSelector.SetAmount(Amount);
	},


	SetAmount: function(Amount)
	{
		$('#' + PeopleSelector.Name + 'AmountText').fadeOut(200, function(){
			$(this).text(
				Amount + ' ' +
				((Amount < 2)? PeopleSelector.Text.One : PeopleSelector.Text.More)
			).fadeIn(200)
		});
	
		$('#' + PeopleSelector.Name + 'Amount').val(Amount);
	}
}


var Daterange = {

	Initializing: true,
	Max: 0,
	Name: '',
	
	Text: {
		Days: {
			Zo: '',
			Ma: '',
			Di: '',
			Wo: '',
			Do: '',
			Vr: '',
			Za: ''
			
		},
		
		Months: {
		
			Jan: '',
			Feb: '',
			Maa: '',
			Apr: '',
			Mei: '',
			Jun: '',
			Jul: '',
			Aug: '',
			Sep: '',
			Okt: '',
			Nov: '',
			Dec: ''		
		},
		
		Prev: '',
		Next: ''
	},
	
	
	Init: function(Name)
	{
		Daterange.Name = Name;
		
		$.datepicker.setDefaults({
			firstDay: 1,
			altFormat: 'dd-mm-yy',
			dateFormat: 'dd-mm-yy',
			dayNamesMin: Daterange.GetDayNames(),
			monthNames: Daterange.GetMonthNames(),
			nextText: Daterange.Text.Next,
			prevText: Daterange.Text.Prev,
			yearRange: '2008:2020',
			onSelect: function(Text, Instance){
			
				Daterange.SelectDate(
					$(Instance.dpDiv).parent().hasClass('FirstDate'),
					Text
				);
			}
		});
		
		var DateFrom = $('#' + Daterange.Name + 'From').val();
		var DateTo = $('#' + Daterange.Name + 'To').val();
		
		Daterange.SetInfo(DateFrom, true);
		Daterange.SetInfo(DateTo, false);
		
		$('.Daterange .FirstDate').datepicker({
			defaultDate: $.datepicker.parseDate('dd-mm-yy', DateFrom)
		});
		
		$('.Daterange .LastDate').datepicker({
			defaultDate: $.datepicker.parseDate('dd-mm-yy', DateTo)
		});
		
		Daterange.Initializing = false;
	},
	
	
	GetMonthNames: function()
	{
		var Result = [];
		for(Month in Daterange.Text.Months)
			Result.push(Daterange.Text.Months[Month]);
		
		return Result;
	},
	
	
	GetDayNames: function()
	{
		var Result = [];
		for(Day in Daterange.Text.Days)
			Result.push(Daterange.Text.Days[Day]);
		return Result;
	},
	
	
	SelectDate: function(FirstDate, Date)
	{
		if(FirstDate)
		{
			$('#' + Daterange.Name + 'From').val(Date);
			Daterange.SetInfo(Date, true);
		
		} else {
			$('#' + Daterange.Name + 'To').val(Date);
			Daterange.SetInfo(Date, false);
		}
	},
	
	
	SetInfo: function(Date, isFromDate)
	{
		if(Daterange.Initializing)
			$('span.' + (isFromDate? 'From' : 'To')).text(Date);
		else
			$('span.' + (isFromDate? 'From' : 'To')).fadeOut(200, function(){
				$(this).fadeIn(200).text(Date);
			
			});
	}

}


var Breakvest = {

	Text: {
		Breakvest: '',
		Halfpension: ''
	},

	
	Init: function(Name)
	{
		Breakvest.Name = Name;
	},


	ChangeDescription: function(isBreakvest)
	{
		$('.Breakvest p').text(isBreakvest? Breakvest.Text.Breakvest : Breakvest.Text.Halfpension);
	}

}
