$(document).ready(function() {

/* ENGLISH */
	
	/* LDA Entry */
	
	$('.ldaEN #ldaDate, .ldaEN #ldaMonth, .ldaEN #ldaYear').change(function() { $('.ldaEN #birthday').val($('.ldaEN #ldaDate').val()+$('.ldaEN #ldaMonth').val()+$('.ldaEN #ldaYear').val()); });
	
	$('.ldaEN').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Select your country",
			birthday: { 
				required: "Enter your date of birth",
				digits: "Please use numeric characters only",
				minlength: "Enter your date of birth"
			}
		}
	});

	$('body.en form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Enter a username",
			password: "Enter a password"
		}
	});
	
	/* Main registration form */
	
	$('body.en form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Select a title",
			first_name: "Enter a first name",
			last_name: "Enter a last name",
			regCountry: "Select a country",
			postcode: "Enter a postcode / zip code",
			'email[0]': { 
				required: "Enter your email",
				email: "Enter a valid email"
			},
			'email[1]': { 
				required: "Confirm your email",
				email: "Enter a valid email",
				equalTo: "Email does not match"
			},
			username: "Enter a username",
			'password[0]': "Enter a password",
			'password[1]': { 
				required: "Confirm your password",
				equalTo: "Passwords do not match"
			}
		}
	});
	
	//* Main login *//
	
	$('body.en form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Enter a username",
			password: "Enter a password"
		}
	});
	
	// Validation - Generic //

	$('body.en form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: true,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Enter your email",
				email: "Enter a valid email"
			}
		}
	});
			
	// Validation - Generic //

	$('body.en form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Select a title",
			first_name: "Enter a first name",
			last_name: "Enter a last name",
			
			email: { 
				required: "Enter your email",
				email: "Enter a valid email"
			},
			email_confirm: { 
				required: "Confirm your email",
				email: "Enter a valid email",
				equalTo: "Email does not match"
			},
			username: "Enter a username",
			password: "Enter a password",
			password_confirm: { 
				required: "Confirm your password",
				equalTo: "Passwords do not match"
			},
			postcode: "Enter a postcode",
			country: "Select a country"
		}
	});
	
/* ECUADOR */
	
	/* LDA Entry */
	
	$('.ldaEC #ldaDate, .ldaEC #ldaMonth, .ldaEC #ldaYear').change(function() { $('.ldaEC #birthday').val($('.ldaEC #ldaDate').val()+$('.ldaEC #ldaMonth').val()+$('.ldaEC #ldaYear').val()); });
	
	$('.ldaEC').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Seleccione un país",
			birthday: { 
				required: "Ingrese su fecha de nacimiento",
				digits: "Utilice sólo caracteres numéricos",
				minlength: "Ingrese su fecha de nacimiento"
			}
		}
	});

	$('body.ec form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Ingrese su nombre de usuario",
			password: "Ingrese su contraseña"
		}
	});
	
	/* Main registration form */
	
	$('body.ec form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Seleccione un tratamiento",
			first_name: "Ingrese su nombre",
			last_name: "Ingrese su apellido",
			regCountry: "Seleccione un país",
			postcode: "Ingrese su código postal",
			'email[0]': { 
				required: "Ingrese su correo electrónico",
				email: "Ingrese un correo electrónico válido"
			},
			'email[1]': { 
				required: "Confirmación de correo electrónico",
				email: "Ingrese un correo electrónico válido",
				equalTo: "Los correos electrónicos no coinciden"
			},
			username: "Ingrese su nombre de usuario",
			password: "Ingrese su contraseña",
			password_confirm: { 
				required: "Confirmación de contraseña",
				equalTo: "Las contraseñas no coinciden"
			}
		}
	});
	
	//* Main login *//
	
	$('body.ec form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Ingrese su nombre de usuario",
			password: "Ingrese su contraseña"
		}
	});
	
	// Validation - Generic //

	$('body.ec form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Ingrese su correo electrónico",
				email: "Ingrese un correo electrónico válido"
			}
		}
	});
			
	// Validation - Generic //

	$('body.ec form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Seleccione un tratamiento",
			first_name: "Ingrese su nombre",
			last_name: "Ingrese su apellido",
			
			email: { 
				required: "Ingrese su correo electrónico",
				email: "Ingrese un correo electrónico válido"
			},
			email_confirm: { 
				required: "Confirmación de correo electrónico",
				email: "Ingrese un correo electrónico válido",
				equalTo: "Los correos electrónicos no coinciden"
			},
			username: "Ingrese su nombre de usuario",
			password: "Ingrese su contraseña",
			password_confirm: { 
				required: "Confirmación de contraseña",
				equalTo: "Las contraseñas no coinciden"
			},
			postcode: "Ingrese su código postal",
			country: "Seleccione un país"
		}
	});	
	
/* FRENCH */	

	/* LDA Entry */
	
	$('.ldaFR #ldaDate, .ldaFR #ldaMonth, .ldaFR #ldaYear').change(function() { $('.ldaFR #birthday').val($('.ldaFR #ldaDate').val()+$('.ldaFR #ldaMonth').val()+$('.ldaFR #ldaYear').val()); });
	
	$('.ldaFR').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Sélectionnez un pays",
			birthday: { 
				required: "Saisissez votre date de naissance",
				digits: "Veuillez utiliser uniquement des caractères numériques",
				minlength: "Saisissez votre date de naissance"
			}	
		}
	});

	$('body.fr form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Saisissez un nom d'utilisateur",
			password: "Saisissez un mot de passe"
		}
	});
	
	/* Main registration form */
	
	$('body.fr form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Sélectionnez une civilité",
			first_name: "Saisissez votre prénom",
			last_name: "Saisissez votre nom",
			regCountry: "Sélectionnez un pays",
			postcode: "Saisissez un code postal",
			'email[0]': { 
				required: "Saisissez votre adresse e-mail",
				email: "Saisissez une adresse e-mail valide"
			},
			'email[1]': { 
				required: "Confirmation de l'e-mail",
				email: "Saisissez une adresse e-mail valide",
				equalTo: "L'adresse e-mail est incorrecte"
			},
			username: "Saisissez un nom d'utilisateur",
			'password[0]': "Saisissez un mot de passe",
			'password[1]': { 
				required: "Confirmation du mot de passe",
				equalTo: "Les mots de passe ne se correspondent pas"
			}
		}
	});
	
	//* Main login *//
	
	$('body.fr form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Saisissez un nom d'utilisateur",
			password: "Saisissez un mot de passe"
		}
	});
	
	// Validation - Generic //

	$('body.fr form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Saisissez votre adresse e-mail",
				email: "Saisissez une adresse e-mail valide"
			}
		}
	});
			
	// Validation - Generic //

	$('body.fr form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Sélectionnez une civilité",
			first_name: "Saisissez votre prénom",
			last_name: "Saisissez votre nom",
			
			email: { 
				required: "Saisissez votre adresse e-mail",
				email: "Saisissez une adresse e-mail valide"
			},
			email_confirm: { 
				required: "Confirmation de l'e-mail",
				email: "Saisissez une adresse e-mail valide",
				equalTo: "L'adresse e-mail est incorrecte"
			},
			username: "Saisissez un nom d'utilisateur",
			password: "Saisissez un mot de passe",
			password_confirm: { 
				required: "Confirmation du mot de passe",
				equalTo: "Les mots de passe ne se correspondent pas"
			},
			postcode: "Saisissez un code postal",
			country: "Sélectionnez un pays"
		}
	});

/* GREEK */	

	/* LDA Entry */
	
	$('.ldaGR #ldaDate, .ldaGR #ldaMonth, .ldaGR #ldaYear').change(function() { $('.ldaGR #birthday').val($('.ldaGR #ldaDate').val()+$('.ldaGR #ldaMonth').val()+$('.ldaGR #ldaYear').val()); });
	
	$('.ldaGR').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Επιλέξτε χώρα",
			birthday: { 
				required: "Εισαγάγετε την ημερομηνία γέννησής σας",
				digits: "Παρακαλούμε χρησιμοποιήστε μόνο αριθμητικούς χαρακτήρες",
				minlength: "Εισαγάγετε την ημερομηνία γέννησής σας"
			}
		}
	});

	$('body.gr form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Εισαγάγετε όνομα χρήστη",
			password: "Εισαγάγετε κωδικό"
		}
	});
	
	/* Main registration form */
	
	$('body.gr form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Επιλέξτε τίτλο",
			first_name: "Εισαγάγετε όνομα",
			last_name: "Εισαγάγετε επώνυμο",
			regCountry: "Επιλέξτε χώρα",
			postcode: "Εισάγετε ταχ. κώδικα/κώδ. περιοχής",
			'email[0]': { 
				required: "Εισαγάγετε την ηλεκτρονική σας διεύθυνση",
				email: "Εισαγάγετε μια έγκυρη ηλεκτρονική διεύθυνση"
			},
			'email[1]': { 
				required: "Επιβεβαίωση ηλεκτρονικής διεύθυνσης",
				email: "Εισαγάγετε μια έγκυρη ηλεκτρονική διεύθυνση",
				equalTo: "Η ηλεκτρονική διεύθυνση δεν αντιστοιχεί"
			},
			username: "Εισαγάγετε όνομα χρήστη",
			'password[0]': "Enter a password",
			'password[1]': { 
				required: "Επιβεβαίωση κωδικού",
				equalTo: "Δεν υπάρχει συμφωνία μεταξύ των κωδικών"
			}
		}
	});
	
	//* Main login *//
	
	$('body.gr form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Εισαγάγετε όνομα χρήστη",
			password: "Εισαγάγετε κωδικό"
		}
	});
	
	// Validation - Generic //

	$('body.gr form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Εισαγάγετε την ηλεκτρονική σας διεύθυνση",
				email: "Εισαγάγετε μια έγκυρη ηλεκτρονική διεύθυνση"
			}
		}
	});
			
	// Validation - Generic //

	$('body.gr form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Επιλέξτε τίτλο",
			first_name: "Εισαγάγετε όνομα",
			last_name: "Εισαγάγετε επώνυμο",
			
			email: { 
				required: "Εισαγάγετε την ηλεκτρονική σας διεύθυνση",
				email: "Εισαγάγετε μια έγκυρη ηλεκτρονική διεύθυνση"
			},
			email_confirm: { 
				required: "Επιβεβαίωση ηλεκτρονικής διεύθυνσης",
				email: "Εισαγάγετε μια έγκυρη ηλεκτρονική διεύθυνση",
				equalTo: "Η ηλεκτρονική διεύθυνση δεν αντιστοιχεί"
			},
			username: "Εισαγάγετε όνομα χρήστη",
			password: "Εισαγάγετε κωδικό",
			password_confirm: { 
				required: "Επιβεβαίωση κωδικού",
				equalTo: "Δεν υπάρχει συμφωνία μεταξύ των κωδικών"
			},
			postcode: "Εισάγετε ταχ. κώδικα/κώδ. περιοχής",
			country: "Επιλέξτε χώρα"
		}
	});

/* PORTUGESE */

	/* LDA Entry */
	
	$('.ldaPT #ldaDate, .ldaPT #ldaMonth, .ldaPT #ldaYear').change(function() { $('.ldaPT #birthday').val($('.ldaPT #ldaDate').val()+$('.ldaPT #ldaMonth').val()+$('.ldaPT #ldaYear').val()); });
	
	$('.ldaPT').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Seleccione o país",
			birthday: { 
				required: "Introduza a sua data de nascimento",
				digits: "Utilize apenas caracteres numéricos",
				minlength: "Introduza a sua data de nascimento"
			}
		}
	});
	
	/* Login Country */

	$('body.pt form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Introduza um nome de utilizador",
			password: "Introduza uma palavra-passe"
		}
	});
	
	/* Main registration form */
	
	$('body.pt form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Seleccione um título",
			first_name: "Introduza o nome próprio",
			last_name: "Introduza o apelido",
			regCountry: "Seleccione o país",
			postcode: "Introduza o código postal",
			'email[0]': { 
				required: "Introduza o seu e-mail",
				email: "Introduza um e-mail válido"
			},
			'email[1]': { 
				required: "Confirmar e-mail",
				email: "Introduza um e-mail válido",
				equalTo: "O e-mail não corresponde"
			},
			username: "Introduza um nome de utilizador",
			'password[0]': "Introduza uma palavra-passe",
			'password[1]': { 
				required: "Confirmar palavra-passe",
				equalTo: "As palavras-passe não correspondem"
			}
		}
	});
	
	//* Main login *//
	
	$('body.pt form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Introduza um nome de utilizador",
			password: "Introduza uma palavra-passe"
		}
	});
	
	// Validation - Generic //

	$('body.pt form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Introduza o seu e-mail",
				email: "Introduza um e-mail válido"
			}
		}
	});
			
	// Validation - Generic //

	$('body.pt form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Seleccione um título",
			first_name: "Introduza o nome próprio",
			last_name: "Introduza o apelido",
			
			email: { 
				required: "Introduza o seu e-mail",
				email: "Introduza um e-mail válido"
			},
			email_confirm: { 
				required: "Confirmar e-mail",
				email: "Introduza um e-mail válido",
				equalTo: "O e-mail não corresponde"
			},
			username: "Introduza um nome de utilizador",
			password: "Introduza uma palavra-passe",
			password_confirm: { 
				required: "Confirmar palavra-passe",
				equalTo: "As palavras-passe não correspondem"
			},
			postcode: "Introduza o código postal",
			country: "Seleccione o país"
		}
	});

/* RUSSIA */
	
	/* LDA Entry */
	
	$('.ldaRU #ldaDate, .ldaRU #ldaMonth, .ldaRU #ldaYear').change(function() { $('.ldaRU #birthday').val($('.ldaRU #ldaDate').val()+$('.ldaRU #ldaMonth').val()+$('.ldaRU #ldaYear').val()); });
	
	$('.ldaRU').validate({

		rules: {
			ldaCountry: "required",
			birthday: { 
				required: true,
				digits: true,
				minlength: 8
			}
		},
		
		messages: { 
			ldaCountry: "Выберите страну",
			birthday: { 
				required: "Введите дату своего рождения",
				digits: "В этом поле допустимы только цифры",
				minlength: "Enter your date of birth"
			}
		}
	});

	$('body.ru form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Введите имя пользователя",
			password: "Введите пароль"
		}
	});
	
	/* Main registration form */
	
	$('body.ru form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Выберите название",
			first_name: "Укажите имя",
			last_name: "Укажите фамилию",
			regCountry: "Выберите страну",
			postcode: "Укажите почтовый индекс",
			'email[0]': { 
				required: "Укажите адрес электронной почты",
				email: "Укажите действительный адрес электронной почты"
			},
			'email[1]': { 
				required: "Введите адрес электронной почты еще раз",
				email: "Укажите действительный адрес электронной почты",
				equalTo: "Указанные адреса электронной почты не совпадают"
			},
			username: "Введите имя пользователя",
			'password[0]': "Введите пароль",
			'password[1]': { 
				required: "Введите пароль еще раз",
				equalTo: "Пароли не совпадают"
			}
		}
	});
	
	//* Main login *//
	
	$('body.ru form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Введите имя пользователя",
			password: "Введите пароль"
		}
	});
	
	// Validation - Generic //

	$('body.ru form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Укажите адрес электронной почты",
				email: "Укажите действительный адрес электронной почты"
			}
		}
	});
			
	// Validation - Generic //

	$('body.ru form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Выберите название",
			first_name: "Укажите имя",
			last_name: "Укажите фамилию",
			
			email: { 
				required: "Укажите адрес электронной почты",
				email: "Укажите действительный адрес электронной почты"
			},
			email_confirm: { 
				required: "Введите адрес электронной почты еще раз",
				email: "Укажите действительный адрес электронной почты",
				equalTo: "Указанные адреса электронной почты не совпадают"
			},
			username: "Введите имя пользователя",
			password: "Введите пароль",
			password_confirm: { 
				required: "Введите пароль еще раз",
				equalTo: "Пароли не совпадают"
			},
			postcode: "Укажите почтовый индекс",
			country: "Выберите страну"
		}
	});	
	
	/* Login Country */

	$('form#ldaVerification').validate({
		rules: {
			ldaCountry: "required"
		},
		
		messages: { 
			ldaCountry: "Select your country"
		}
	});
	
	
	/* Login Country */

	$('form.validateUser').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: { 
			username: "Enter a username",
			password: "Enter a password"
		}
	});
	
	/* Main registration form */
	
	$('form#registerForm').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			'date[0]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[1]': { 
				required: true,
				digits: true,
				minlength: 2
			},
			'date[2]': { 
				required: true,
				digits: true,
				minlength: 4
			},
			regCountry: "required",
			postcode: "required",
			'email[0]': { 
				required: true,
				email: true
			},
			'email[1]': { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			'password[0]': "required",
			'password[1]': { 
				required: true,
				equalTo: "#password"
			},
			telephone: { 
				required: false
			}
		},
		
		messages: {
			title: "Select a title",
			first_name: "Enter a first name",
			last_name: "Enter a last name",
			regCountry: "Select a country",
			postcode: "Enter a postcode / zip code",
			'email[0]': { 
				required: "Enter your email",
				email: "Enter a valid email"
			},
			'email[1]': { 
				required: "Confirm your email",
				email: "Enter a valid email",
				equalTo: "Email does not match"
			},
			username: "Enter a username",
			'password[0]': "Enter a password",
			'password[1]': { 
				required: "Confirm your password",
				equalTo: "Passwords do not match"
			}
		}
	});
	
	//* Main login *//
	
	$('form#loginForm').validate({
		rules: {
			username: "required",
			password: "required"
		},
		
		messages: {
			username: "Enter a username",
			password: "Enter a password"
		}
	});
	
	// Validation - Generic //

	$('form.validateBookSuggest').validate({
		rules: {
			suggest_title: "required",
			suggest_author: "required",
			suggest_email: { 
				required: false,
				email: true
			}
		},
		
		messages: {
			suggest_title: "Enter a title",
			suggest_author: "Enter an author",
			suggest_email: { 
				required: "Enter your email",
				email: "Enter a valid email"
			}
		}
	});
			
	// Validation - Generic //

	$('form.validateLogin').validate({
		rules: {
			title: "required",
			first_name: "required",
			last_name: "required",
			email: { 
				required: true,
				email: true
			},
			email_confirm: { 
				required: true,
				email: true,
				equalTo: "#email"
			},
			username: "required",
			password: "required",
			password_confirm: { 
				required: true,
				equalTo: "#password"
			},
			postcode: "required",
			country: "required",
			date: { 
				required: true,
				digits: true,
				minlength: 2
			},
			month: { 
				required: true,
				digits: true,
				minlength: 2
			},
			year: { 
				required: true,
				digits: true,
				minlength: 4
			}
		},

		messages: {
			title: "Select a title",
			first_name: "Enter a first name",
			last_name: "Enter a last name",
			
			email: { 
				required: "Enter your email",
				email: "Enter a valid email"
			},
			email_confirm: { 
				required: "Confirm your email",
				email: "Enter a valid email",
				equalTo: "Email does not match"
			},
			username: "Enter a username",
			password: "Enter a password",
			password_confirm: { 
				required: "Confirm your password",
				equalTo: "Passwords do not match"
			},
			postcode: "Enter a postcode",
			country: "Select a country"
		}
	});
});