function confirmation() {
	var myConfirmation = confirm('This action is irreversible.\nAre you sure you want to do this?');
	
	if(myConfirmation) {
		return true;
	}
	return false;
}

$(document).ready(function() {
	$('textarea').jGrow();
	
	var profileForm = $("#profileForm").validate({
		rules: {
			userTitle: "required",
			userForename: "required",
			userSurname: "required",
			userEmailHome: {
				email: true
			},
			userEmailWork: {
				email: true
			}
		},
		messages: {
			userTitle: "Please enter a title",
			userForename: "Please enter a forename",
			userSurname: "Please enter a family name",
			userEmailHome: {
				minlength: "Please enter a valid email address"
			},
			userEmailWork: {
				minlength: "Please enter a valid email address"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var blogForm = $("#blogForm").validate({
		rules: {
			blogTitle: "required",
			blogContent: "required"
		},
		messages: {
			blogTitle: "Please enter a title",
			blogContent: "Please enter some content"
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var newsForm = $("#newsForm").validate({
		rules: {
			newsTitle: "required",
			newsContent: "required"
		},
		messages: {
			newsTitle: "Please enter a title",
			newsContent: "Please enter some content"
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var changeEmailForm = $("#changeEmailForm").validate({
		rules: {
			userCurrentEmail: {
				required: true,
				email: true
			},
			userNewEmail: {
				required: true,
				email: true
			},
			userNewEmailCheck: {
				required: true,
				email: true,
				equalTo: "#userNewEmail"
			}
		},
		messages: {
			userCurrentEmail: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			},
			userNewEmail: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			},
			userNewEmailCheck: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				equalTo: "The email addresses entered do not match"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var changePasswordForm = $("#changePasswordForm").validate({
		rules: {
			userCurrentPassword: {
				required: true,
				minlength: 5
			},
			userNewPassword: {
				required: true,
				minlength: 5
			},
			userNewPasswordCheck: {
				required: true,
				minlength: 5,
				equalTo: "#userNewPassword"
			}
		},
		messages: {
			userCurrentPassword: {
				required: "Please enter a password",
				minlength: jQuery.format("Please enter at least {0} characters")
			},
			userNewPassword: {
				required: "Please enter a password",
				minlength: jQuery.format("Please enter at least {0} characters")
			},
			userNewPasswordCheck: {
				required: "Please enter a password",
				minlength: jQuery.format("Please enter at least {0} characters"),
				equalTo: "The passwords entered do not match"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var profileForm = $("#photoForm").validate({
		rules: {
			filePath: {
				required: true,
				accept: "jpg|jpeg|bmp|gif"
			}
		},
		messages: {
			filePath: {
				required: "Please choose a file",
				accept: "Please only select a jpg, bmp or gif file"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var profileForm = $("#fileForm").validate({
		rules: {
			filePath: {
				required: true,
				accept: "pdf|doc|xls|csv|txt"
			}
		},
		messages: {
			filePath: {
				required: "Please choose a file",
				accept: "Please only select a pdf, doc, xls, csv or txt file"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var forgottenForm = $("#forgottenForm").validate({
		rules: {
			forgottenEmail: {
				required: true,
				email: true
			},
			forgottenEmailCheck: {
				required: true,
				email: true,
				equalTo: "#forgottenEmail"
			}
		},
		messages: {
			forgottenEmail: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			},
			forgottenEmailCheck: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address",
				equalTo: "The email addresses entered do not match"
			}
		},
		errorPlacement: function(error, element) {
			error.appendTo(element.parent().next());
		}
	});
	
	var registerForm = $("#registerForm").validate({
		rules: {
			registerUserForename: "required",
			registerUserSurname: "required",
			registerUserEmail: {
				required: true,
				email: true
			},
			registerUserPassword: {
				required: true,
				minlength: 5
			}
		},
		messages: {
			registerUserForename: "Please enter your forename",
			registerUserSurname: "Please enter your family name",
			registerUserEmail: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			},
			registerUserPassword: {
				required: "Please enter a password",
				minlength: jQuery.format("Please enter at least {0} characters")
			}
		},
		errorPlacement: function(error, element) {
			element.parent().next().html("")
			error.appendTo(element.parent().next());
		}
	});
});
