$(function() {
	toggleOptions('#travel_dates')	
	$('#travel_dates input:radio').click(function(){
		toggleOptions('#travel_dates')	;
		($('#travel_dates .toggle').children('input:radio:checked').val() == 1) ? $('input#RequestEndDate').parent().hide() : $('input#RequestEndDate').parent().show();
	})
	
	$('#RequestsAddForm input').blur(function() {
		validate_fields(this);
	})
	$('form').click(function(e){
		if ($(e.target).attr('href') == '/travelers/login') {
			e.preventDefault();
			showAjaxLogin();
		}
	}).submit(function(){
		if ($('.ajax_login:visible').size() != 0) {
			return false;
		}
	});
	$('.ajax_login input[type="button"]').click(function(){
		inputs = $('#TravelerEmail, #TravelerPassword, .ajax_login input[type="button"]');
		$('#RequestsAddForm img.loader').show();
		$('#authMessage').remove();
		$.post('/travelers/ajax_login', inputs.serialize() ,function(data){
			if (data.success) {
				$('h1').before(data.html);
				inputs.parent().remove();
				$('.ajax_login').remove();
			} else {
				$('#TravelerEmail').parent().before(data.auth_message);
			}
			$('#RequestsAddForm img.loader').hide();
		}, 'json');
	});
	
	$('#RequestsAddForm').submit(function(){
		if(!$('#RequestsTC')[0].checked) {
			alert('You must agree to the Terms and Conditions before submitting your request.');
			return false;
		}
	});
});

function showAjaxLogin() {
	$('.ajax_login').slideDown('normal');
}

function constrainDate() {
	if (this.id == 'RequestStartDate') {
		$('#RequestEndDate').datepicker('option', 'minDate', $('#'+this.id).datepicker('getDate'));
	} else if (this.id == 'RequestEndDate') {
		$('#RequestStartDate').datepicker('option', 'maxDate', $('#'+this.id).datepicker('getDate'));
	}
}

function toggleOptions(container) {
	toggle = $(container+' .toggle').children('input:radio:checked')
	if(toggle.size() == 1) {
		(toggle.val() == 1) ? datePicker.disable() : datePicker.enable();
		$('#'+container+' .input.text').show();
		$('#'+container+' .input.textarea').show();
	} else {
		$('#'+container+' .input.text').hide();
		$('#'+container+' .input.textarea').hide();
	}
}

var datePicker = {
	
	fields: ['RequestStartDate','RequestEndDate'], 
	
	disable: function() {
		$(this.fields).each(function(){
			$('#'+this).siblings('.example').show()
			$('#'+this).datepicker('destroy').attr('disabled',false);
		})
	}, 
	
	enable: function() {
		$(this.fields).each(function(){
			$('#'+this).siblings('.example').hide()
			$('#'+this).datepicker({
				changeMonth: true, 
				changeYear: true, 
				showOn: 'button', 
				buttonImage: '/img/calendar.gif', 
				buttonImageOnly: true,
				minDate: new Date(),
				maxDate: '+1y',
				onSelect: constrainDate
			});
		})
	}
	
}