$().ready(function(){	
	var colorInvalid = '#ff0000';
	var colorTaken = '#ff0000';
	var colorFont = '#3096e5';

	var correctRegister = {
		login: false,
		email: false,
		passwd: false,
		passwd2: false,
		rules: false
	};
	$('#register').submit(function () {
			
		for (var field in correctRegister) {
			if (!correctRegister[field]) {
				$('#' + field).focus();
				$("#register fieldset").append('<p class="alert">Proszę poprawnie wypełnić wszystkie pola</p>');
				return false;
			}
		}
		return true;
		
	});
	
	$('#register').click(function(){
		$('#register').find('p.alert').css('display', 'none');
	});
	
	$('#register input[name=email]').change(function () { correctRegister.email = false;
		if ($(this).val().match(/^[ąćęłńóśżźĄĆĘŁŃÓŚŻŹ\w.-]{2,}@(?:[ąćęłńóśżźĄĆĘŁŃÓŚŻŹ\w-]{1,}\.)+[ąćęłńóśżźĄĆĘŁŃÓŚŻŹ\w-]{2,}$/) !== null){
		
			$.post('/is-email-available', {email: $(this).val()}, function(email) {
				if (email.valid) {
				
					correctRegister.email = true;
					$('#register input[name=email]').css("color", colorFont);
					$('#register input[name=email]').parent().find('span').html('E-mail:');
					
				} else {
				
					$('#register input[name=email]').css("color", colorTaken);
					$('#register input[name=email]').parent().find('span').html('E-mail:');
					$('#register input[name=email]').parent().find('span').append('<em>'+email.msg+'</em>');
					$('#register input[name=email]').parent().find('em').fadeIn(500);
				}
			}, 'json');
		
		} else {
			
			$(this).css("color", colorInvalid);
			$('#register input[name=email]').parent().find('span').html('E-mail:').append('<em>Nieprawidłowy adres email</em>');
			$('#register input[name=email]').parent().find('em').fadeIn(500);
			
		}
});
	$('#register input[name=login]').change(function () { correctRegister.login = false;
		if ($(this).val().match(/^\w{5,10}$/) !== null) {
			$.post('/is-login-available', {login: $(this).val()}, function(login) {
				if (login.valid) {
					
					correctRegister.login = true;
					$('#register input[name=login]').css("color", colorFont);
					$('#register input[name=login]').parent().find('span').html('Login:');
					
				} else {
				
					$('#register #login').css("color", colorTaken);
					$('#register input[name=login]').parent().find('span').html('Login:').append('<em>'+login.msg+'</em>');
					$('#register input[name=login]').find('em').fadeIn(500);
					
				} 			
			}, 'json');
			
		} else {
			$(this).css("color", colorInvalid);
			$('#register input[name=login]').parent().find('span').html('Login:').append('<em>Nieprawidłowy Login</em>');
			$('#register input[name=login]').parent().find('em').fadeIn(500);
		}
	});

	$('#register input[name=passwd]').change(function () { correctRegister.passwd = false;
		if ($(this).val().match(/^.{5,}$/) !== null) {
		
			correctRegister.passwd = true;
			$(this).css("color", colorFont);
			$('#register input[name=passwd]').parent().find('span').html('Hasło:');
			
		} else {

			$(this).css("color", colorInvalid);
			$('#register input[name=passwd]').parent().find('span').html('Hasło:').append('<em>Hasło musi mieć minimum 5 znaków</em>');
			$('#register input[name=passwd]').parent().find('em').fadeIn(500);
						
		}
	});
	
	$('#register input[name=passwd2]').blur(function () { correctRegister.passwd2 = false;
		if ($(this).val() == $('#register input[name=passwd]').val()) {
		
			correctRegister.passwd2 = true;
			$(this).css("color", colorFont);
			$('#register input[name=passwd2]').parent().find('span').html('Powtórz hasło:');
			
		} else {

			$(this).css("color", colorInvalid);
			$('#register input[name=passwd2]').parent().find('span').html('Powtórz hasło:').append('<em>Hasło nie zgadza się z powyższym</em>');
			$('#register input[name=passwd2]').parent().find('em').fadeIn(500);
						
		}
	});
	
	$('#register input[name=accept]').click(function () {
		correctRegister.rules = $(this).is(':checked');
	});
});