$(document).ready(function() {

	$('input').focus(function(){
		$('.form-wrp').removeClass("active_form");
		$(this).parents(".form-wrp").addClass("active_form");
	});

	switch (true) {
		case /\/member\/register.do/.test(window.location.href):
			$('#register-form input:first').focus();
			break;
		case /\/member\/forgot.do/.test(window.location.href):
			$('#forgot-form input:first').focus();
			break;
		case /\/member\/login.do/.test(window.location.href):
			$('#login-form input:first').focus();
			break;
		case /\/member\/activateRegistration.do/.test(window.location.href):
			$('#activate-form #password').focus();
			break;
		case /\/member\/resetPassword.do/.test(window.location.href):
			$('#reset-password-form #password').focus();
			break
	};

	$.validator.addMethod('username', function (value) {
		return /^(\w{4,16}$)/.test(value);
	}, '');

	var registerValidator =
		$('#register-form').validate({
			rules: {
				username: {
					username: true,
					remote: "/member/checkUsername.do"
				},
				email: {
					required: true,
					email: true,
					remote: "/member/checkEmail.do"
				},
				emailConfirm: {
					required: true,
					equalTo: "#email"
				},
				gender: "required",
				terms: "required"
			},

			messages: {
				username: {
					username: "4 - 16 karakter uzunluğunda olmalıdır.",
					remote: $.format("{0} zaten kayıtlı")
				},
				email: {
					required: "Lütfen email adresinizi giriniz.",
					email: "Lütfen geçerli bir email adresi giriniz.",
					remote: $.format("{0} zaten kayıtlı")
				},
				emailConfirm: {
					required: "Lütfen email adresinizi giriniz.",
					equalTo: "Lütfen aynı email adresinizi giriniz."
				},
				gender: {
					required: "Cinsiyet seçiniz"
				},
				terms: "Sözleşmeyi onaylamalısınız"
			},

			errorPlacement: function(error, element) {
				if (element.is(".gender"))
					error.insertAfter("#lgenderE");
				else if (element.is(":checkbox"))
					error.appendTo (element.next());
				else
					error.insertAfter(element);
			},

			submitHandler: function(form){

				$(form).ajaxSubmit({
					beforeSubmit: function(responseText, statusText, xhr){
						$('#register-form input').attr('disabled', true);
					},
					success: function(responseText, statusText, xhr){
						$('#register-wrp').remove();
						$('#register-success-msg').show();
					},
					error: function(xhr){
						$('#register-form input').attr('disabled', false);
						if(xhr.responseText == "username_exist")
							registerValidator.showErrors({"username": "Kullanıcı adı zaten kayıtlı"});
						else if(xhr.responseText == "email_exist")
							registerValidator.showErrors({"email": "Email zaten kayıtlı"});

					}
				});
				return false;
			}
		});

		$('#activate-form').validate({
			rules: {
				password: {
					required: true,
					minlength: 6
				},
				passwordConfirm: {
					required: true,
					equalTo: "#activate-form #password"
				}
			},

			messages: {
				password: {
					required: "En az 6 karakter uzunluğunda olmalı",
					minlength: "En az 6 karakter uzunluğunda olmalı"
				},
				passwordConfirm: {
					required: "En az 6 karakter uzunluğunda olmalı",
					equalTo: "Şifreyi tekrar giriniz"
				}
			},

			submitHandler: function(form) {
				$(form).ajaxSubmit({
					beforeSubmit: function(responseText, statusText, xhr){
						$('#activate-form input').attr('disabled', true);
					},
					success: function(responseText, statusText, xhr){
						if(responseText == 'success'){
							$('#activate-wrp').remove();
							$('#activate-success-msg').show();
						} else {
							$("#activate-form #activate-error").html(responseText).show();
							$('#login-form input').attr('disabled', false);
						}
					}
				});
				return false;
			}
		});

		$('#activate-success-msg :submit').click(function(){
			window.location = "/";
		});
		

    $('#login-form').submit(function() {
        $(this).ajaxSubmit({
					beforeSubmit: function(responseText, statusText, xhr){
						$('#login-form input').attr('disabled', true);
					},
					success: function(responseText, statusText, xhr){
						if(responseText == 'success'){
							window.location = "/";
						} else if(responseText == 'error'){
							$("#login-form #login-hata").show();
							$('#login-form input').attr('disabled', false);
						}
					}
				});
        return false;
    });


		$('#lforgot').click(function(e){
			e.preventDefault();
			$('#forgot-form-wrp').show();
		});

    $('#forgot-form').submit(function() {
        $(this).ajaxSubmit({
					beforeSubmit: function(responseText, statusText, xhr){
						$('#forgot-form input').attr('disabled', true);
					},
					success: function(responseText, statusText, xhr){
						if(responseText == 'success'){
							$('#forgot-form-wrp').remove();
							$('#forgot-success-msg').show();
						} else if(responseText == 'error'){
							$('#forgot-form input').attr('disabled', false);
						}
					}
				});
        return false;
    });

    $('#reset-password-form').submit(function() {
        $(this).ajaxSubmit({
					beforeSubmit: function(responseText, statusText, xhr){
						$('#reset-password-form input').attr('disabled', true);
					},
					success: function(responseText, statusText, xhr){
						if(responseText == 'success'){
							$('#reset-password-wrp').remove();
							$('#reset-password-success-msg').show();
						} else if(responseText == 'error'){
							$('#reset-password-form input').attr('disabled', false);
						}
					}
				});
        return false;
    });


});

