
$(document).ready(
  function() {
		var jj=0;
		var jj_t = $('.galeria .thumbs ul li').length - 8;
		$('.calendario').datepicker({
			dateFormat: "yy-mm-dd",
			showOn: "focus"
		});
		$('.botaoCalendario, .botaoCalendario > a').click(
			function() {
				$(this).parents('.linhaForm').find('.calendario').focus();
				return false;
			}
		);
		$('.navFotos .setaRight').click(
			function() {
				if (jj < jj_t) {
					jj = jj+1;
					$('.galeria .thumbs ul').animate({
						left: '-=61'
					}, 500, function() {
						// Animation complete.
					});
				}
				return false;
			}
		);
		$('.navFotos .setaLeft').click(
			function() {
				if (jj > 0) {
					jj = jj-1;
					$('.galeria .thumbs ul').animate({
						left: '+=61'
					}, 500, function() {
						// Animation complete.
					});
				}
				return false;
			}
		);
		$('.galeria .thumbs ul li a').click(
			function() {
				$(this).parents('.galeria').find('.imagens_ambiente_cycle_div').cycle(1 * $(this).attr('href').replace(/#/, ''));
				return false;
			}
		);
		$('.form_reserva').submit(
			function() {
				return true;
			}
		);
	}
);

	$.fn.hideOption = function() {
			return this.each(function() {
					if ($(this).is('option') && (!$(this).parent().is('span'))) {
							$(this).wrap('<span>').hide()
					}
			});
	}

	$.fn.showOption = function() {
			return this.each(function() {
					if (this.nodeName.toLowerCase() === 'option') {
							var p = $(this).parent(),
									o = this;
							$(o).show();
							$(p).replaceWith(o)
					} else {
							var opt = $('option', $(this));
							$(this).replaceWith(opt);
							opt.show();
					}
			});
	}
	$(document).ready(
		function() {
			$('.form_reserva').each(
				function() {
					$(this).submit(
						function() {
							var capacidade = parseInt($(this).find('.tipocama option:selected').attr("rel").match("capacidade=[0-9]+")[0].replace(/capacidade=/, ''));
							var ocupados = parseInt($(this).find('.numero_adultos option:selected').text()) + parseInt($(this).find('.numero_criancas option:selected').text());
							if ((capacidade > 0) && (ocupados > capacidade)) {	
								alert('Capacidade excedida: ' + capacidade);
								return false;
							}
						}
					);
					var form_reserva = $(this);
					form_reserva.find('.tipocama option').hideOption();
					form_reserva.find('.tipocama').val((form_reserva.find('.tipocama option.tipoquarto_' + form_reserva.find('.tipoquarto').val()).showOption().eq(0).val()));
					form_reserva.find('.tiporefeicao option').hideOption();
					form_reserva.find('.tiporefeicao').val((form_reserva.find('.tiporefeicao option.tipoquarto_' + form_reserva.find('.tipoquarto').val()).showOption().eq(0).val()));
					var capacidade = parseInt(form_reserva.find('.tipocama option:selected').attr("rel").match("capacidade=[0-9]+")[0].replace(/capacidade=/, ''));
					form_reserva.find('.numero_adultos option, .numero_criancas option').each(
						function() {
							if ((capacidade > 0) && (parseInt($(this).text()) > capacidade)) {
								$(this).hideOption();
							}
						}
					);
					$(this).find('.tipocama').change(
						function() {
							form_reserva.find('.numero_adultos option, .numero_criancas option').each(
								function() {
									var capacidade = parseInt(form_reserva.find('.tipocama option:selected').attr("rel").match("capacidade=[0-9]+")[0].replace(/capacidade=/, ''));
									$(this).hideOption();
									if ((capacidade <= 0) || (parseInt($(this).text()) <= capacidade)) {
										$(this).showOption();
									}
								}
							);
						}
					);
					$(this).find('.tipoquarto').change(
						function() {
							var form_reserva = $(this).parents('.form_reserva');
							form_reserva.find('.tipocama option').hideOption();
							form_reserva.find('.tipocama').val((form_reserva.find('.tipocama option.tipoquarto_' + form_reserva.find('.tipoquarto').val()).showOption().eq(0).val()));
							form_reserva.find('.tiporefeicao option').hideOption();
							form_reserva.find('.tiporefeicao').val((form_reserva.find('.tiporefeicao option.tipoquarto_' + form_reserva.find('.tipoquarto').val()).showOption().eq(0).val()));
							form_reserva.find('.numero_adultos option, .numero_criancas option').each(
								function() {
									var capacidade = parseInt(form_reserva.find('.tipocama option:selected').attr("rel").match("capacidade=[0-9]+")[0].replace(/capacidade=/, ''));
									$(this).hideOption();
									if ((capacidade <= 0) || (parseInt($(this).text()) <= capacidade)) {
										$(this).showOption();
									}
								}
							);
						}
					);
				}
			);
		}
	);
