/*
 * default messages for the jQuery validation plugin.
 */
/*
ENGLISH:
jQuery.extend(jQuery.validator.messages, {
	required: "This field is required.",
	remote: "Please fix this field.",
	email: "Please enter a valid email address.",
	url: "Please enter a valid URL.",
	date: "Please enter a valid date.",
	dateISO: "Please enter a valid date (ISO).",
	dateDE: "Bitte geben Sie ein gültiges Datum ein.",
	number: "Please enter a valid number.",
	numberDE: "Bitte geben Sie eine Nummer ein.",
	digits: "Please enter only digits",
	creditcard: "Please enter a valid credit card number.",
	equalTo: "Please enter the same value again.",
	accept: "Please enter a value with a valid extension.",
	maxlength: $.format("Please enter no more than {0} characters."),
	minlength: $.format("Please enter at least {0} characters."),
	rangelength: $.format("Please enter a value between {0} and {1} characters long."),
	range: $.format("Please enter a value between {0} and {1}."),
	max: $.format("Please enter a value less than or equal to {0}."),
	min: $.format("Please enter a value greater than or equal to {0}.")
});
*/
/*
 * Translated default messages for the jQuery validation plugin.
 * Language: TR
 * Author: kara <kara {at} karalamalar {dot} net>
 */
jQuery.extend(jQuery.validator.messages, {
	required: "Bu alanın doldurulması zorunludur.",
	remote: "Lütfen bu alanı düzeltin.",
	email: "Lütfen geçerli bir e-posta adresi giriniz.",
	url: "Lütfen geçerli bir web adresi (URL) giriniz.",
	date: "Lütfen geçerli bir tarih giriniz.",
	dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)",
	number: "Lütfen geçerli bir sayı giriniz.",
	digits: "Lütfen sadece sayısal karakterler giriniz.",
	creditcard: "Lütfen geçerli bir kredi kartı giriniz.",
	equalTo: "Lütfen aynı değeri tekrar giriniz.",
	accept: "Lütfen geçerli uzantıya sahip bir değer giriniz.",
	maxlength: jQuery.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."),
	minlength: jQuery.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."),
	rangelength: jQuery.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."),
	range: jQuery.format("Lütfen {0} ile {1} arasında bir değer giriniz."),
	max: jQuery.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."),
	min: jQuery.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz.")
});

// Declare custom error msgs here
window.validationMessages = { 
	firstname: "Ad alanın doldurulması zorunludur",
	lastname: "Soyad alanın doldurulması zorunludur",
	email: "Mail Adresi alanın doldurulması zorunludur",
	password: "Şifre alanın doldurulması zorunludur",
	username: {
		required: "Kullanıcı Adı alanın doldurulması zorunludur"
	}
}; 

$(document).ready(function(){
/********************************************************
Registration form validation
********************************************************/
	$("#register").validate({
		validClass: "valid",
		errorClass: "error",
		debug: false,
		onsubmit: true,
		onfocusout: false,
		onkeyup: false,
		onclick: false,
		focusCleanup: false,
		rules: {
			firstname: {
				required: true
			},
			lastname: {
				required: true
			},
			email: {
				required: true,
				email: true
			},
			username: {
				required: true
			},
			password: {
				required: true
			}
		},
		messages: validationMessages,
		errorPlacement: function(error, element) {
		 error.appendTo(("#register .error_msg"));
		},
		wrapper: "li",
		highlight: function(element) {
			$(element).addClass("invalid");
			$(element.form).find("label[for=" + element.id + "]").addClass("invalid");
		},
		unhighlight: function(element) {
			$(element).addClass("valid");
			$(element.form).find("label[for=" + element.id + "]").removeClass("invalid");
		}
	});
/********************************************************
LOGIN form validation
********************************************************/
	$("#login").validate({
		validClass: "valid",
		errorClass: "error",
		debug: false,
		onsubmit: true,
		onfocusout: false,
		onkeyup: false,
		onclick: false,
		focusCleanup: false,
		rules: {
			username: {
				required: true
			},
			password: {
				required: true
			}
		},
		messages: validationMessages,
		errorPlacement: function(error, element) {
		 error.appendTo(("#login .error_msg"));
		},
		wrapper: "li",
		highlight: function(element) {
			$(element).addClass("invalid");
			$(element.form).find("label[for=" + element.id + "]").addClass("invalid");
		},
		unhighlight: function(element) {
			$(element).addClass("valid");
			$(element.form).find("label[for=" + element.id + "]").removeClass("invalid");
		}
	});
/********************************************************
ACCOUNT page form validation when logged in: /account/
********************************************************/
	$("#account").validate({
		validClass: "valid",
		errorClass: "error",
		debug: false,
		onsubmit: true,
		onfocusout: false,
		onkeyup: false,
		onclick: false,
		focusCleanup: false,
		rules: {
			firstname: {
				required: true
			},
			lastname: {
				required: true
			},
			email: {
				required: true,
				email: true
			},
			password: {
				required: false
			},
			password_confirm: {
				equalTo: "#password",
				minlength: 4
			}
		},
		messages: validationMessages,
		errorPlacement: function(error, element) {
		 error.appendTo(("#account .error_msg"));
		},
		wrapper: "li",
		highlight: function(element) {
			$(element).addClass("invalid");
			$(element.form).find("label[for=" + element.id + "]").addClass("invalid");
		},
		unhighlight: function(element) {
			$(element).addClass("valid");
			$(element.form).find("label[for=" + element.id + "]").removeClass("invalid");
		}
	});
});

