var s;
var sections = 14;

$(document).ready(init);

function init() {
	s = new Section();
			
	$(".next").click(function() {
		var n = Number($(this).attr('rel'));
		s.next(n);
	});
	$(".prev").click(function() {
		var n = Number($(this).attr('rel'));
		s.prev(n);
	});
	
	// Validate form
	var validation = $("#enroll_form").validate({
		rules: {
			first_name: 'required',
			last_name: 'required',
			address1: 'required',
			city: 'required',
			state: 'required',
			zip: 'required',
			country: 'required',
			phone_1: 'required',
			phone_2: 'required',
			phone_3: 'required',
			em_first_name: 'required',
			em_last_name: 'required',
			em_phone_1: 'required',
			em_phone_2: 'required',
			em_phone_3: 'required',
			initials: 'required',
			uniform_name: 'required'
   		},
   		invalidHandler: function(form, validator) {
      var errors = validator.numberOfInvalids();
      if (errors) {
        var message = errors == 1
          ? 'You missed 1 field. It has been highlighted'
          : 'You missed ' + errors + ' fields. They have been highlighted';
        $("div.error span").html(message);
        $("div.error").show();
      } else {
        $("div.error").hide();
      }
    }

	});
	
	$('#saveForm').click(function() {
		if (validation.form()) {
			$(this).submit();
		} else {
			alert('Please fill all required fields.');
		}
	});
	
	$('#accordion h3 > a').click(function() {
		var n = $(this).attr('rel');
		s.hideAll();
		s.show(n);
	});
	
	$('#level_1').click(function () {
		$('#session1').show();
		$('#session2').hide();
		$('#asession1').show();
		$('#asession2').hide();
		
		$('#group_1').attr('disabled', 'disabled');
		$('#group_2').attr('disabled', 'disabled');
		
		$('#foli22').fadeIn('fast');
		$('#foli26').fadeOut('fast');
		$('#foli27').fadeOut('fast');
		
		$('#fee2_1').removeAttr('disabled');
		$('#fee2_1').attr('checked', true);
		$('#fee2_2').attr('disabled', 'disabled');
		$('#fee3_1').removeAttr('disabled');
		$('#fee3_1').attr('checked', true);
		$('#fee4_1').attr('disabled', 'disabled');
		$('#fee4_2').attr('disabled', 'disabled');
		$('#fee4_3').attr('disabled', 'disabled');
		
		$('#foli32').fadeIn('fast');
		$('#foli33').fadeOut('fast');
		
		$('.level1').show();
		$('.level2').hide();
		
		calcTuition();
	});
	$('#level_2').click(function () {
		$('#session1').hide();
		$('#session2').show();
		$('#asession1').hide();
		$('#asession2').show();
		
		$('#group_1').removeAttr('disabled');
		$('#group_2').removeAttr('disabled');
		
		$('#foli22').fadeOut('fast');
		$('#foli26').fadeIn('fast');
		$('#foli27').fadeIn('fast');
		
		$('#fee2_1').attr('disabled', 'disabled');
		$('#fee2_2').removeAttr('disabled');
		$('#fee2_2').attr('checked', true);
		$('#fee3_1').attr('disabled', 'disabled');
		$('#fee4_1').attr('checked', true);
		$('#fee4_1').removeAttr('disabled');
		$('#fee4_2').removeAttr('disabled');
		$('#fee4_3').removeAttr('disabled');
		
		$('#foli32').fadeOut('fast');
		$('#foli33').fadeIn('fast');
		
		$('.level1').hide();
		$('.level2').show();
		
		calcTuition();
	});
	
	$('#gender_1').click(function () {
		$('#foli64').fadeOut('fast');
		$('#foli65').fadeIn('fast');
	});
	$('#gender_2').click(function () {
		$('#foli64').fadeIn('fast');
		$('#foli65').fadeOut('fast');
	});
	
	$('#fee1_1').click(calcTuition);
	$('#fee2_1').click(calcTuition);
	$('#fee2_2').click(calcTuition);
	$('#fee3_1').click(calcTuition);
	$('#fee4_1').click(calcTuition);
	$('#fee4_2').click(calcTuition);
	$('#fee4_3').click(calcTuition);
	
	$('#citizenship_1, #citizenship_2').click(function() {
		$('#foli44').fadeOut('fast');
		$('#foli45').fadeOut('fast');
		$('#foli47').fadeOut('fast');
	});
	$('#citizenship_3').click(function() {
		$('#foli44').fadeIn('fast');
		$('#foli45').fadeIn('fast');
		$('#foli47').fadeIn('fast');
	});
}

function calcTuition() {
	var level = $('#level_1').attr('checked') ? 1 : 2;
	var tuition = 0;
	
	switch (level) {
		case 1:
			fields = ['fee1_1', 'fee2_1', 'fee3_1'];
			break;
		case 2:
			fields = ['fee1_1', 'fee2_2', 'fee4_1', 'fee4_2', 'fee4_3'];
			break;
	}
	
	for (i=0; i < fields.length; i++) {
		field = $('#' + fields[i]);
		tuition += field.attr('checked') ? Number(field.val()) : 0;
	}
	$('#cost').html(tuition);
}

function Section () {
	var self = this;

	this.show = function (n) {
		$('#section' + n).show();
	}
	this.hide = function (n) {
		$('#section' + n).hide();
	}
	this.hideAll = function () {
		$('ul.section').hide();
	}
	this.next = function (n) {
		self.hideAll();
		n = Number(n+1);
		self.show(n);
	}
	this.prev = function (n) {
		self.hideAll();
		n = Number(n-1);
		self.show(n);
	}
	
	this.validate = function (n) {
		var valid = true;
		
		switch(n) {
			case 1:
			/*v = $('#first_name').val();
				if (
				alert('invalid');
				valid = false;*/
				break;
			case 2:
				break;
			case 3:
				break;
			case 4:
				break;
			case 5:
				break;
			case 6:
				break;
			case 7:
				break;
			case 8:
				break;
			case 9:
				break;
			case 10:
				break;
			case 11:
				break;
			case 12:
				break;
			case 13:
				break;
			case 14:
				break;
		}
		
		return valid;
	}
	this.validateAll = function () {
		var valid = true;
		
		for (i=1; i<15; i++) {
			if (!self.validate(i)) {
				valid = false;
			}
		}
		
		return valid;
	}
}