$(document).ready(function(){
	
	/*-------------------------------------------------------
		Evento para abrir Formulario de Contacto
	-------------------------------------------------------*/
	$('#abrirFormContacto').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 740,
		'height'			: 640,
		'padding'			: 0,
		'scrolling'			: "hidden",
		'hideOnContentClick': false,
		'onComplete'		: validarContacto
	});

	/*-------------------------------------------------------
		Evento para abrir Formulario del Hotel
	-------------------------------------------------------*/
	$('#abrirFormHotel').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 740,
		'height'			: 694,
		'padding'			: 0,
		'scrolling'			: "hidden",
		'hideOnContentClick': false,
		'onComplete'		: validarHotel,
		'onClosed'			: function(){
			if ($('.ui-datepicker').is(':visible')) {
				$('.ui-datepicker').hide();
			}
		}
	});
	
	/*-------------------------------------------------------
		Evento para abrir Formulario del Tour
	-------------------------------------------------------*/
	$('#abrirFormTour').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 740,
		'height'			: 750,
		'padding'			: 0,
		'scrolling'			: "hidden",
		'hideOnContentClick': false,
		'onComplete'		: validarTour,
		'onClosed'			: function(){
			if ($('.ui-datepicker').is(':visible')) {
				$('.ui-datepicker').hide();
			}
		}
	});
	
	/*-------------------------------------------------------
		Evento para abrir Formulario del Restaurant
	-------------------------------------------------------*/
	$('#abrirFormRestaurant').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 740,
		'height'			: 750,
		'padding'			: 0,
		'scrolling'			: "hidden",
		'hideOnContentClick': false,
		'onComplete'		: validarRestaurant,
		'onClosed'			: function(){
			if ($('.ui-datepicker').is(':visible')) {
				$('.ui-datepicker').hide();
			}
		}
	});
	
	/*-------------------------------------------------------
		Evento para abrir Formulario de Compartir
	-------------------------------------------------------*/
	$('.abrirFormCompartir').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 740,
		'height'			: 750,
		'padding'			: 0,
		'scrolling'			: "hidden",
		'hideOnContentClick': false,
		'titleShow'			: false,
		'onComplete'		: validarCompartir
	});

});

/*-------------------------------------------------------
	Validar Contacto:
	Función para validar el Formulario de Contacto.
-------------------------------------------------------*/
function validarContacto(){

	hoverFancybox();
	
	$(document).ready(function(){
	
		$('#bloqueMensajes').hide();
		
		$('input').keypress(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('select').change(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		if ($("form#formEn").length == 1) {
			
			$("form#formEn").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					email: {
						required: true,
						email: true
					},
					asunto: {
						required: true,
						min: 1
					}
				},
				messages: {
					nombre: {
						required: "Enter your name."
					},
					pais: {
						required: "Select your country.",
						min: "Select your country."
					},
					cod_pais: {
						required: "Enter the country code."
					},
					cod_area: {
						required: "Enter the area code."
					},
					telefono: {
						required: "Enter your phone number."
					},
					email: {
						required: "Enter your email address.",
						email: "Enter a valid email address."
					},
					asunto: {
						required: "Select a subject.",
						min: "Select a subject."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#formEn").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#formEn").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarContacto").click(function(){
				if ($("form#formEn").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_contacto.php",
						type: "POST",
						data: $("form#formEn").serialize()+'&sitio=internacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Message sent successfully.").show(200);
								setTimeout(function(){
									$.fancybox.close();
								},2000);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problem to send the message. Try again.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
			
		}
		else {
		
			$("form#form").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					email: {
						required: true,
						email: true
					},
					asunto: {
						required: true,
						min: 1
					}
				},
				messages: {
					nombre: {
						required: "Ingresa tu nombre."
					},
					pais: {
						required: "Selecciona tu pa&iacute;s.",
						min: "Selecciona tu pa&iacute;s."
					},
					cod_pais: {
						required: "Ingresa el c&oacute;digo del pa&iacute;s."
					},
					cod_area: {
						required: "Ingresa el c&oacute;digo de &aacute;rea."
					},
					telefono: {
						required: "Ingresa tu tel&eacute;fono."
					},
					email: {
						required: "Ingresa la direcci&oacute;n de email.",
						email: "Ingresa una direcci&oacute;n de email v&aacute;lida."
					},
					asunto: {
						required: "Selecciona un asunto.",
						min: "Selecciona un asunto."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#form").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#form").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarContacto").click(function(){
				if ($("form#form").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_contacto.php",
						type: "POST",
						data: $("form#form").serialize()+'&sitio=nacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Mensaje enviado exit&oacute;samente.").show(200);
								setTimeout(function(){
									$.fancybox.close();
								},2000);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problema para enviar el mensaje. Intenta nuevamente.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
	});
	
	function mostrarAlerta(elemento){
		var itemFormContacto = $(elemento).parents('.formItem:first');
		itemFormContacto.addClass('itemError');
	}
}

/*-------------------------------------------------------
	Validar Hotel:
	Función para validar el Formulario de Hotel.
-------------------------------------------------------*/
function validarHotel(){
	
	$('<link type="text/css" rel="stylesheet" href="' + urlGlobal + '/css/ui.all.css" />').insertBefore($('#formContenedor'));

	hoverFancybox();

	$(document).ready(function(){

		$('#habitaciones').change(function(){
			var idioma = $(this).parents('form:first').attr('id');
			var cantidad = parseInt($(this).find('option:selected').val());
			if (idioma == "form") {
				generarDetalleHabitaciones(cantidad);
			}
			else{
				generarDetalleHabitacionesIngles(cantidad);
			}
		});
		
		$('.tipo_habitacion').live("change",function(){
			var tipo = $(this).find('option:selected').val();
			var padre = $(this).parents('.formBloqueEspecial:first');
			if (tipo == "standar"){
				padre.find('.standar:first').show();
				padre.find('.suite:first').hide();
			}
			else{
				padre.find('.standar:first').hide();
				padre.find('.suite:first').show();
			}
		});

		$('#bloqueMensajes').hide();
		
		$('input').keypress(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('.ui-datepicker-trigger').click(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('select').change(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		if ($("form#formEn").length == 1) {
			$("form#formEn").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					apellido: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					email: {
						required: true,
						email: true
					},
					direccion: {
						required: true
					},
					fecha_in: {
						required: true
					},
					fecha_out: {
						required: true
					},
					hora_llegada: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					habitaciones: {
						required: true,
						min: 1
					}
				},
				messages: {
					nombre: {
						required: "Enter your name."
					},
					apellido: {
						required: "Enter your last name."
					},
					pais: {
						required: "Select your country.",
						min: "Select your country."
					},
					email: {
						required: "Enter your email address.",
						email: "Enter a valid email address."
					},
					direccion: {
						required: "Enter your address."
					},
					fecha_in: {
						required: "Select a date for check in."
					},
					fecha_out: {
						required: "Select a date for check out."
					},
					hora_llegada: {
						required: "Enter a hour arrival."
					},
					cod_pais: {
						required: "Enter the country code."
					},
					cod_area: {
						required: "Enter the area code."
					},
					telefono: {
						required: "Enter your phone number."
					},
					habitaciones: {
						required: "Select the number of rooms.",
						min: "Select the number of rooms."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#formEn").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#formEn").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarHotel").click(function(){
				if ($("form#formEn").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_hotel.php",
						type: "POST",
						data: $("form#formEn").serialize()+'&sitio=internacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Message sent successfully.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problem to send the message. Try again.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
		else {
			$("form#form").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					apellido: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					email: {
						required: true,
						email: true
					},
					direccion: {
						required: true
					},
					fecha_in: {
						required: true
					},
					fecha_out: {
						required: true
					},
					hora_llegada: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					habitaciones: {
						required: true,
						min: 1
					}
				},
				messages: {
					nombre: {
						required: "Ingresa tu nombre."
					},
					apellido: {
						required: "Ingresa tu apellido."
					},
					pais: {
						required: "Selecciona tu pa&iacute;s.",
						min: "Selecciona tu pa&iacute;s."
					},
					email: {
						required: "Ingresa la direcci&oacute;n de email.",
						email: "Ingresa una direcci&oacute;n de email v&aacute;lida."
					},
					direccion: {
						required: "Ingresa tu direcci&oacute;n."
					},
					fecha_in: {
						required: "Selecciona una fecha para check in."
					},
					fecha_out: {
						required: "Selecciona una fecha para check out."
					},
					hora_llegada: {
						required: "Ingresa una hora de llegada."
					},
					cod_pais: {
						required: "Ingresa el c&oacute;digo del pa&iacute;s."
					},
					cod_area: {
						required: "Ingresa el c&oacute;digo de &aacute;rea."
					},
					telefono: {
						required: "Ingresa tu tel&eacute;fono."
					},
					habitaciones: {
						required: "Selecciona el n&uacute;mero de habitaciones.",
						min: "Selecciona el n&uacute;mero de habitaciones."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#form").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#form").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarHotel").click(function(){
				if ($("form#form").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_hotel.php",
						type: "POST",
						data: $("form#form").serialize()+'&sitio=nacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Mensaje enviado exit&oacute;samente.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problema para enviar el mensaje. Intenta nuevamente.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
	});
	
	function mostrarAlerta(elemento){
		var itemFormHotel = $(elemento).parents('.formItem:first');
		itemFormHotel.addClass('itemError');
	}
}

/*-------------------------------------------------------
	Validar Tour:
	Función para validar el Formulario de Tour.
-------------------------------------------------------*/
function validarTour(){

	$('<link type="text/css" rel="stylesheet" href="' + urlGlobal + '/css/ui.all.css" />').insertBefore($('#formContenedor'));
	
	hoverFancybox();
	
	$(document).ready(function(){
	
		$('#bloqueMensajes').hide();
		
		$('input').keypress(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('.ui-datepicker-trigger').click(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('select').change(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		if ($("form#formEn").length == 1) {
			$("form#formEn").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					apellido: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					email: {
						required: true,
						email: true
					},
					fecha: {
						required: true
					},
					fecha_alt: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					}
				},
				messages: {
					nombre: {
						required: "Enter your name."
					},
					apellido: {
						required: "Enter your last name."
					},
					pais: {
						required: "Select your country.",
						min: "Select your country."
					},
					email: {
						required: "Enter your email address.",
						email: "Enter a valid email address."
					},
					fecha: {
						required: "Select a date."
					},
					fecha_alt: {
						required: "Select an alternative date."
					},
					cod_pais: {
						required: "Enter the country code."
					},
					cod_area: {
						required: "Enter the area code."
					},
					telefono: {
						required: "Enter your phone number."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#formEn").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#formEn").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarTour").click(function(){
				if ($("form#formEn").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_tour.php",
						type: "POST",
						data: $("form#formEn").serialize()+'&sitio=internacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Message sent successfully.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problem to send the message. Try again.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
		else {
			$("form#form").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					apellido: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					email: {
						required: true,
						email: true
					},
					fecha: {
						required: true
					},
					fecha_alt: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					}
				},
				messages: {
					nombre: {
						required: "Ingresa tu nombre."
					},
					apellido: {
						required: "Ingresa tu apellido."
					},
					pais: {
						required: "Selecciona tu pa&iacute;s.",
						min: "Selecciona tu pa&iacute;s."
					},
					email: {
						required: "Ingresa la direcci&oacute;n de email.",
						email: "Ingresa una direcci&oacute;n de email v&aacute;lida."
					},
					fecha: {
						required: "Selecciona una fecha."
					},
					fecha_alt: {
						required: "Selecciona una fecha alternativa."
					},
					cod_pais: {
						required: "Ingresa el c&oacute;digo del pa&iacute;s."
					},
					cod_area: {
						required: "Ingresa el c&oacute;digo de &aacute;rea."
					},
					telefono: {
						required: "Ingresa tu tel&eacute;fono."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#form").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#form").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarTour").click(function(){
				$('.formItem').removeClass('itemError');
				if ($("form#form").valid()) {
					$.ajax({
						url: urlGlobal + "/formularios/procesa_tour.php",
						type: "POST",
						data: $("form#form").serialize()+'&sitio=nacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Mensaje enviado exit&oacute;samente.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problema para enviar el mensaje. Intenta nuevamente.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
	});
	
	function mostrarAlerta(elemento){
		var itemFormTour = $(elemento).parents('.formItem:first');
		itemFormTour.addClass('itemError');
	}
}

/*-------------------------------------------------------
	Validar Restaurant:
	Función para validar el Formulario de Restaurant.
-------------------------------------------------------*/
function validarRestaurant(){

	$('<link type="text/css" rel="stylesheet" href="' + urlGlobal + '/css/ui.all.css" />').insertBefore($('#formContenedor'));
	
	hoverFancybox();
	
	$(document).ready(function(){
	
		$('#bloqueMensajes').hide();
		
		$('input').keypress(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('.ui-datepicker-trigger').click(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		$('select').change(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		if ($("form#formEn").length == 1) {
			$("form#formEn").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					idioma: {
						required: true,
						min: 1
					},
					fecha: {
						required: true
					},
					personas: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					email: {
						required: true,
						email: true
					}
				},
				messages: {
					nombre: {
						required: "Enter your name."
					},
					pais: {
						required: "Select your country.",
						min: "Select your country."
					},
					idioma: {
						required: "Select your language.",
						min: "Select your language."
					},
					fecha: {
						required: "Select a date."
					},
					personas: {
						required: "Enter a number of people."
					},
					cod_pais: {
						required: "Enter the country code."
					},
					cod_area: {
						required: "Enter the area code."
					},
					telefono: {
						required: "Enter your phone number."
					},
					email: {
						required: "Enter your email address.",
						email: "Enter a valid email address."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#formEn").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#formEn").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarRestaurant").click(function(){
				if ($("form#formEn").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_restaurant.php",
						type: "POST",
						data: $("form#formEn").serialize()+'&sitio=internacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Message sent successfully.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problem to send the message. Try again.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
		else {
			$("form#form").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					nombre: {
						required: true
					},
					pais: {
						required: true,
						min: 1
					},
					idioma: {
						required: true,
						min: 1
					},
					fecha: {
						required: true
					},
					personas: {
						required: true
					},
					cod_pais: {
						required: true
					},
					cod_area: {
						required: true
					},
					telefono: {
						required: true
					},
					email: {
						required: true,
						email: true
					}
				},
				messages: {
					nombre: {
						required: "Ingresa tu nombre."
					},
					pais: {
						required: "Selecciona tu pa&iacute;s.",
						min: "Selecciona tu pa&iacute;s."
					},
					idioma: {
						required: "Selecciona tu idioma.",
						min: "Selecciona tu idioma."
					},
					fecha: {
						required: "Selecciona una fecha."
					},
					personas: {
						required: "Ingresa un n&uacute;mero de personas."
					},
					cod_pais: {
						required: "Ingresa el c&oacute;digo del pa&iacute;s."
					},
					cod_area: {
						required: "Ingresa el c&oacute;digo de &aacute;rea."
					},
					telefono: {
						required: "Ingresa tu tel&eacute;fono."
					},
					email: {
						required: "Ingresa la direcci&oacute;n de email.",
						email: "Ingresa una direcci&oacute;n de email v&aacute;lida."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#form").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("form#form").find('select').change(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarRestaurant").click(function(){
				$('.formItem').removeClass('itemError');
				if ($("form#form").valid()) {
					$.ajax({
						url: urlGlobal + "/formularios/procesa_restaurant.php",
						type: "POST",
						data: $("form#form").serialize()+'&sitio=nacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Mensaje enviado exit&oacute;samente.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problema para enviar el mensaje. Intenta nuevamente.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
	});
	
	function mostrarAlerta(elemento){
		var itemFormRestaurant = $(elemento).parents('.formItem:first');
		itemFormRestaurant.addClass('itemError');
	}
}

/*-------------------------------------------------------
	Generar Detalle Habitacion:
	Función para generar el detalle de la habitacion.
-------------------------------------------------------*/
function generarDetalleHabitaciones(cantidad){
	var salida = new Array();
	for (i = 1; i <= cantidad; i++) {
		var html =	'<div id="detalleHabitacion_' + i + '" class="formItem detalleHabitacion clearfix">' +
						'<label class="labelAlto">Habitaci&oacute;n ' + i + ':</label>' +
						'<div class="formBloqueEspecial">' +
							'<span>Adultos</span>' +
							'<select name="adultos[]" class="selectBoxEspecial" style="width:50px;">' +
								'<option value="1">1</option>' +
								'<option value="2">2</option>' +
							'</select>' +
						'</div>' +
						'<div class="formBloqueEspecial">' +
							'<span>Tipo Habitaci&oacute;n</span>' +
							'<div class="clearfix">' +
								'<select name="tipo_habitacion[]" class="tipo_habitacion selectBoxEspecial" style="width:80px;">' +
									'<option value="standar">Standard</option>' +
									'<option value="suite">Suite</option>' +
								'</select>' +
							'</div>' +
							'<span class="standar">U$350,00<br /> por noche</span>' +
							'<span class="suite" style="display:none;">U$400,00<br /> por noche</span>' +
						'</div>' +
						'<div class="formBloqueEspecial">' +
							'<span>Tipo Camas</span>' +
							'<div class="clearfix">' +
								'<select name="tipo_camas[]" class="selectBoxEspecial" style="width:100px;">' +
									'<option value="king">King Bed</option>' +
									'<option value="twin">Twin Beds</option>' +
									'<option value="together">Beds Together</option>' +
								'</select>' +
							'</div>' +
						'</div>' +
					'</div>';
		salida.push(html);
	}
	var out = salida.join("");
	$('#detalleHabitacion').html(out);
	$('.selectBoxEspecial').selectBox();
	correccionZIndex();
}

/*-------------------------------------------------------
	Generar Detalle Habitacion Ingles:
	Función para generar el detalle de la habitacion.
-------------------------------------------------------*/
function generarDetalleHabitacionesIngles(cantidad){
	var salida = new Array();
	for (i = 1; i <= cantidad; i++) {
		var html =	'<div id="detalleHabitacion_' + i + '" class="formItem detalleHabitacion clearfix">' +
						'<label class="labelAlto">Room ' + i + ':</label>' +
						'<div class="formBloqueEspecial">' +
							'<span>Adults</span>' +
							'<select name="adultos[]" class="selectBoxEspecial" style="width:50px;">' +
								'<option value="1">1</option>' +
								'<option value="2">2</option>' +
							'</select>' +
						'</div>' +
						'<div class="formBloqueEspecial">' +
							'<span>Room type</span>' +
							'<div class="clearfix">' +
								'<select name="tipo_habitacion[]" class="tipo_habitacion selectBoxEspecial" style="width:80px;">' +
									'<option value="standar">Standard</option>' +
									'<option value="suite">Suite</option>' +
								'</select>' +
							'</div>' +
							'<span class="standar">U$350,00<br /> per night</span>' +
							'<span class="suite" style="display:none;">U$400,00<br /> per night</span>' +
						'</div>' +
						'<div class="formBloqueEspecial">' +
							'<span>Beds type</span>' +
							'<div class="clearfix">' +
								'<select name="tipo_camas[]" class="selectBoxEspecial" style="width:100px;">' +
									'<option value="king">King Bed</option>' +
									'<option value="twin">Twin Beds</option>' +
									'<option value="together">Beds Together</option>' +
								'</select>' +
							'</div>' +
						'</div>' +
					'</div>';
		salida.push(html);
	}
	var out = salida.join("");
	$('#detalleHabitacion').html(out);
	$('.selectBoxEspecial').selectBox();
	correccionZIndex();
}

/*-------------------------------------------------------
	Validar Compartir:
	Función para validar el Formulario de Compartir.
-------------------------------------------------------*/
function validarCompartir(){

	hoverFancybox();
	obtenerUrl();
	
	$(document).ready(function(){
	
		$('#bloqueMensajes').hide();
		
		$('input').keypress(function(){
			$('#bloqueMensajes').hide(200);
			$('.formItem').removeClass('itemError');
			if ($(this).get(0).disableError) 
				$(this).get(0).disableError();
		});
		
		if ($("form#formEn").length == 1) {
			
			$("form#formEn").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					para: {
						required: true
					},
					de: {
						required: true
					},
					email: {
						required: true,
						email: true
					}
				},
				messages: {
					para: {
						required: "Enter recipient's name."
					},
					de: {
						required: "Enter your name."
					},
					email: {
						required: "Enter recipient's email.",
						email: "Enter a valid recipient's email."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#formEn").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarCompartir").click(function(){
				if ($("form#formEn").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_compartir.php",
						type: "POST",
						data: $("form#formEn").serialize()+'&sitio=internacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Message sent successfully.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problem to send the message. Try again.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
			
		}
		else {
		
			$("form#form").validate({
				onkeyup: false,
				onfocusout: false,
				rules: {
					para: {
						required: true
					},
					de: {
						required: true
					},
					email: {
						required: true,
						email: true
					}
				},
				messages: {
					para: {
						required: "Ingresa el nombre del destinatario."
					},
					de: {
						required: "Ingresa tu nombre."
					},
					email: {
						required: "Ingresa la direcci&oacute;n de email del destinatario.",
						email: "Ingresa una direcci&oacute;n de email v&aacute;lida."
					}
				},
				errorPlacement: function(error, element){
					var $form = element.parents('form');
					var firstError = $form.validate().errorList[0].message;
					mostrarAlerta($form.validate().errorList[0].element)
					
					$('#bloqueMensajes').html(firstError);
					$('#bloqueMensajes').show(200);
				}
			});
			
			$("form#form").find('input').focus(function(){
				if ($(this).parents('form').validate().toShow.length == 0) {
					$('#bloqueMensajes').hide(200);
					$('.formItem').removeClass('itemError');
				}
			});
			
			$("#enviarCompartir").click(function(){
				if ($("form#form").valid()) {
					$('.formItem').removeClass('itemError');
					$.ajax({
						url: urlGlobal + "/formularios/procesa_compartir.php",
						type: "POST",
						data: $("form#form").serialize()+'&sitio=nacional',
						success: function(data){
							if (data == "OK") {
								$('#bloqueMensajes').removeClass('formError').addClass('formExito');
								$('#bloqueMensajes').html("Mensaje enviado exit&oacute;samente.").show(200);
							}
							else {
								$('#bloqueMensajes').addClass('formExito');
								$('#bloqueMensajes').html("Problema para enviar el mensaje. Intenta nuevamente.").show(200);
							}
						}
					});
				}
				else {
					return false;
				}
			});
		}
	});
	
	function mostrarAlerta(elemento){
		var itemFormContacto = $(elemento).parents('.formItem:first');
		itemFormContacto.addClass('itemError');
	}
}

function obtenerUrl(){
	var url = window.location.href;
	$('#url').val(url);
}
