$(document).ready(function() {
		var loader = jQuery('<div id="loader"><img src="/images/loading.gif" width="16" height="16" alt="Loading"></div>')
			.insertAfter("#submit")
			.hide();
		jQuery().ajaxStart(function() {
			loader.fadeIn(100);
		}).ajaxStop(function() {
			loader.fadeOut(100);
		}).ajaxError(function(a, b, e) {
			throw e;
		});
	
	$.validator.addMethod("phone", function(value, element) {  
	        return this.optional(element) || /^[0-9-+]+$/i.test(value);  
	    }, "Phone must contain only numbers and -.");
	$.validator.addMethod("date", function(value, element) {  
	        return this.optional(element) || /^[0-9\/]+$/i.test(value);  
	    }, "Date must contain only numbers.");
	$('#theAssistanceForm').validate({
		submitHandler: function(form) {
			$(form).ajaxSubmit({
				target: "#result"
			});
		}
	});
	initApplyForm();
});

function initApplyForm(){
	var cntrls = $('input.no');
	$('.paymentDetails').css('opacity', '.5');
	$(cntrls).each(function(i,el){
		var inputName = $(el).attr('name');
		var inputs = $(el).next('.paymentDetails').children('input:text');
		$('input[name='+inputName +']').change(function(){
			var chosen = $('input[name='+inputName+']:checked').val();
			if(chosen == 'no'){
				$(el).next('.paymentDetails').animate({
					'opacity': .5
				}, 200);
				$(inputs).each(function(j, el){
					$(el).attr('disabled', 'disabled');
				});
			}else if(chosen == 'yes'){
				$(el).next('.paymentDetails').animate({
					'opacity': 1
				}, 200);
				$(inputs).each(function(j, el){
					$(el).removeAttr('disabled');
				});
			}
		});

	});
}