// jQuery Validation for Volunteer Registration - DPCD Volunteer Portal
function validateVolunteerRegistration(){

        $('input[type=password]').val("");
		
		if($('.checkbox-list').size() > 0){
			$('.checkbox-list input').change(function(){
				if($(this).parents('.checkbox-list').find('input:checked').size() > 0){
					$('.checkbox-list span.error').hide();
				}else{
					$('.checkbox-list span.error').show();
				};
			});
		};
		
	jQuery.validator.addMethod("phone", function(value, element) {
		return this.optional(element) || /^[0-9-.,()'\"\s]+$/i.test(value);
	}, "Invalid phone number");
	jQuery.validator.addMethod('required_group', function(val, el) {
	var $module = $(el).parents('div.panel');
		return $module.find('.required_group:filled').length;
	}, 'Please fill out at least one of these fields.');
	jQuery.validator.addMethod('requireAtLeastOne', function(val, el, param) {
		return !param || $(el).parents("div.checkbox-options-box, div.table-checkbox, div.checkbox-list ul").find("input:checked").size() > 0;
	}, 'Please select at least one');

        // Emergency Volunteer Form
        $('#page_asset_builder_49224, #page_asset_builder_85088').validate({
		rules: {
			
			/*
				-- Account Details --
			*/
			// Username
			"simple_edit_user_0_373": {
				required: true,
				email: true
			},
			
			// Password (and confirm password)
			"simple_edit_user_0_371_one": {
				required: true,
				minlength: 6
			},
			"simple_edit_user_0_371_two": {
				required: true,
				equalTo: '#simple_edit_user_0_371_one',
				minlength: 6
			},
			
			
			/*
				-- Personal Details --
			*/
			// First Name
			"simple_edit_user_0_368": {
				required: true
			},
			
			// Surname
			"simple_edit_user_0_369": {
				required: true
			},
			
			// Mobile phone number
			"metadata_field_text_2026_value": {
				required: true,
				phone: true
			},
			
			// Postcode
			"metadata_field_text_2025_value": {
				required: true,
				digits: true,
				minlength: 4,
				maxlength: 4
			},

			/*
				-- Avaibility Details --
			*/
			//What is your availability?
			"metadata_field_select_85063":{
				required: true
			},
					
			//Do you have your own transport
			"metadata_field_select_85062":{
				required: true
			},

			//Do you have your own accomdation
			"metadata_field_select_85066[0]":{
				required: true
			},
						
			/*
				-- Skills and checks --
			*/
			//Police check
			"metadata_field_select_46041": {
				required: true
			},
			//Working with children check
			"metadata_field_select_46042": {
				required: true
			},
			//First aid certificate
			"metadata_field_select_46043": {
				required: true
			},
			//Emergency skills
			"metadata_field_select_46044[0]": {
				requireAtLeastOne: true
			},
			
			
			/*
				-- Subscribe to receive email updates about volunteering opportunities --
			*/
			//Subscription Options
			"metadata_field_select_2027": {
				required: true
			},
			
			
			/*
				-- Terms & Conditions --
			*/			
			// T&C Confirmation
			"metadata_field_select_2028[0]": {
				required: true
			}
			
		},
		unhighlight: function(element) {
			
		},
		/*wrapper: "li",*/
		errorElement: "span",
		errorPlacement: function(error, element) {
			if (element.hasClass("date-adv")){
				error.appendTo(element.parents("div.form-item"));
			}else if(element.parents('fieldset.last-child').size() > 0) {
				error.insertAfter(element.parents('ul').next('p'));
			}else if(element.parents('div.checkbox-options-box').size() > 0) {
				error.insertAfter(element.parents('div.checkbox-options-box'));
			} else if (element.parents('div.table-checkbox').size() > 0) {
				error.insertAfter(element.parents('ul'));
			} else if (element.parents('ul').size() > 0) {
				error.insertAfter(element.parents('ul'));
			} else if (element.parents('div.checkbox-options-box').size() > 0) {
				error.insertAfter(element.parent('div.checkbox-options-box'));
			} else if (element.parent('fieldset').size() > 0) {
				error.insertAfter(element);
				$('fieldset>li label').unwrap();
				$('div>li label').unwrap();
			} else if (element.parent('div').size() > 0) {
				error.insertAfter(element.parent('div'));
				$('fieldset>li label').unwrap();
				$('div>li label').unwrap();
			}
		},
		invalidHandler: function(){
			window.scrollTo(0,0);
		},
		submitHandler: function(form){
			SQ_FORM_SUBMITTED = false;
			if (jQuery(form).valid()) {
				showOverlay('Please wait...');
				if (submit_form) { 
					submit_form(form); 
				} else {
					form.submit();
					$('#sq_commit_button').disabled = 'disabled'; 
				}
			}
		},
		showErrors: function(errorMap, errorList) {
			if (this.numberOfInvalids() > 0) {
				$(".errors").remove();
				$(".form-content-box").before("<div class='errors'><p>Your form contains " + this.numberOfInvalids() + " errors, see details below.</p></div>");
				this.defaultShowErrors();
			} else {
				$('span.error').hide();
				$('.errors').remove();
			}
			SQ_FORM_SUBMITTED = false;
		},
		focusInvalid: false
	});

        // Regular Volunteer Form
	$('#page_asset_builder_2667').validate({
		rules: {
			
			/*
				-- Account Details --
			*/
			// Username
			"simple_edit_user_0_373": {
				required: true,
				email: true
			},
			
			// Password (and confirm password)
			"simple_edit_user_0_371_one": {
				required: true,
				minlength: 6
			},
			"simple_edit_user_0_371_two": {
				required: true,
				equalTo: '#simple_edit_user_0_371_one',
				minlength: 6
			},
			
			
			/*
				-- Tell us a little about yourself --
			*/
			// First Name
			"simple_edit_user_0_368": {
				required: true
			},
			
			// Surname
			"simple_edit_user_0_369": {
				required: true
			},
			
			// Postcode
			"metadata_field_text_2025_value": {
				required: true,
				digits: true,
				minlength: 4,
				maxlength: 4
			},
			
			// Mobile phone number
			"metadata_field_text_2026_value": {
				required: true,
				phone: true
			},
			
			//Skills
			"metadata_field_select_5812[0]": {
				requireAtLeastOne: true
			},
			
			//Interests
			"metadata_field_select_5811[0]": {
				requireAtLeastOne: true
			},
			
			
			/*
				-- Subscribe to receive email updates about volunteering opportunities --
			*/
			//Subscription Options
			"metadata_field_select_2027": {
				required: true
			},
			
			
			/*
				-- Terms & Conditions --
			*/			
			// T&C Confirmation
			"metadata_field_select_2028[0]": {
				required: true
			}
			
		},
		unhighlight: function(element) {
			
		},
		/*wrapper: "li",*/
		errorElement: "span",
		errorPlacement: function(error, element) {
			if (element.hasClass("date-adv")){
				error.appendTo(element.parents("div.form-item"));
			}else if(element.parents('fieldset.last-child').size() > 0) {
				error.insertAfter(element.parents('ul').next('p'));
			}else if(element.parents('div.checkbox-options-box').size() > 0) {
				error.insertAfter(element.parents('div.checkbox-options-box'));
			} else if (element.parents('div.table-checkbox').size() > 0) {
				error.insertAfter(element.parents('ul'));
			} else if (element.parents('ul').size() > 0) {
				error.insertAfter(element.parents('ul'));
			} else if (element.parents('div.checkbox-options-box').size() > 0) {
				error.insertAfter(element.parent('div.checkbox-options-box'));
			} else if (element.parent('fieldset').size() > 0) {
				error.insertAfter(element);
				$('fieldset>li label').unwrap();
				$('div>li label').unwrap();
			} else if (element.parent('div').size() > 0) {
				error.insertAfter(element.parent('div'));
				$('fieldset>li label').unwrap();
				$('div>li label').unwrap();
			}
		},
		invalidHandler: function(){
			window.scrollTo(0,0);
		},
		submitHandler: function(form){
			SQ_FORM_SUBMITTED = false;
			if (jQuery(form).valid()) {
				showOverlay('Please wait...');
				if (submit_form) { 
					submit_form(form); 
				} else {
					form.submit();
					$('#sq_commit_button').disabled = 'disabled'; 
				}
			}
		},
		showErrors: function(errorMap, errorList) {
			if (this.numberOfInvalids() > 0) {
				$(".errors").remove();
				$(".form-content-box").before("<div class='errors'><p>Your form contains " + this.numberOfInvalids() + " errors, see details below.</p></div>");
				this.defaultShowErrors();
			} else {
				$('span.error').hide();
				$('.errors').remove();
			}
			SQ_FORM_SUBMITTED = false;
		},
		focusInvalid: false
	});

};


$(document).ready(function() {
	$('#page_asset_builder_35190').validate({
		rules: {
			
			/*
				-- Terms & Conditions --
			*/			
			// T&C Confirmation
			"metadata_field_select_2028[0]": {
				required: true
			}
		}
	});
});

function showOverlay(message) {
    hideOverlay();
    window.scrollTo(0,0);
    jQuery('body').append('<div id="interaction-overlay" class="interaction-overlay">' + message + '<img src="http://www.volunteer.vic.gov.au/__data/assets/image/0004/38182/overlay-loader.gif" alt="Loading..." class="overlay-loading" /></div>');
    if (document.all) {
        jQuery('#interaction-overlay').css({
             position: 'absolute',
             height: jQuery(window).height() + 'px'
        });
    }// End if
}

function hideOverlay() {
    jQuery('#interaction-overlay').remove();
}
