$().ready(function () {

	$('#register #fullname').focus();
	
	/*	
		2. zamienić alerty na bardziej przyjazną formę interakcji
	*/
	
	var colorInvalid = '#ff0000';
	var colorNormal = '#F4F4F4';
	var colorTaken = '#ff0000';
	var colorValid = '#cbe5ff';
	var colorFont = '#000000';
	
	var correctRegister = {
		fullname: false,
		email: false,
		login: false,
		passwd: false,
		rules: false
	};
	var correctWebsite = {
		title: false,
		url: false,
		category: false
	};
	var correctUserName = {
		fullname: false
	};
	var correctUserEmail = {
		email: false

	};
	var correctUserPasswd = {
		oldpasswd: false,
		newpasswd: false
	};
	var correctPolec = {
		email: false
	};
	var correctRecovery = {
		email: false,
		passwd: false
	};
	var correctActivated = {
		key: false
	};
	
	$('input[name=key]').change(function () { correctActivated.key = false;
		if ($(this).val().match(/^[\w.]{2,}@(?:\w{1,}\.)+\w{2,}$/) !== null) {
				correctActivated.key = true;
				$('input[name=key]').css('background-color', colorValid);
				$('input[name=key]').css("color", colorFont);
				$('label[for=key]').html('Kod aktywacyjny:');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('label[for=key]').html('Kod aktywacyjny:');
			$('label[for=key]').append('<span>Nieprawidłowy kod aktywacji</span>');
			$('label[for=key] span').fadeIn(500);
		}
	});

	
	
	$('#recovery-password #new_passwd').change(function () { correctRecovery.passwd = false;
		if ($(this).val().match(/^.{5,}$/) !== null) {
		
			correctRecovery.passwd = true;
			$(this).css('background-color', colorValid);
			$(this).css("color", colorFont);
			$('#recovery-password label[for=new_passwd]').html('Hasło:');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#recovery-password label[for=new_passwd]').html('Hasło:');
			$('#recovery-password label[for=new_passwd]').append('<span>Hasło musi mieć minimum 5 znaków</span>');
			$('#recovery-password label[for=new_passwd] span').fadeIn(500);
						
		}
	});
	
	$('#recovery-password #email').change(function () { correctRecovery.email = false;
		if ($(this).val().match(/^[\w.]{2,}@(?:\w{1,}\.)+\w{2,}$/) !== null) {
			
			$.post('http://ering.pl/is-email-available', {email: $(this).val()}, function(email) {
				if (!email.valid) {
				
					correctRecovery.email = true;
					$('#recovery-password #email').css('background-color', colorValid);
					$('#recovery-password #email').css("color", colorFont);
					$('#recovery-password label[for=email]').html('E-mail:');
					
				} else {
				
					$('#recovery-password #email').css('background-color', colorNormal);
					$('#recovery-password #email').css("color", colorTaken);
					$('#recovery-password label[for=email]').html('E-mail:');
					$('#recovery-password label[for=email]').append('<span>Taki email nie istnieje w bazie</span>');
					$('#recovery-password label[for=email] span').fadeIn(500);
				}
			}, 'json');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#recovery-password label[for=email]').html('E-mail:');
			$('#recovery-password label[for=email]').append('<span>Nieprawidłowy adres email</span>');
			$('#recovery-password label[for=email] span').fadeIn(500);
		}
	});
	
	$('#polec-nas #email').change(function () { correctPolec.email = false;
		if ($(this).val().match(/^[\w.]{2,}@(?:\w{1,}\.)+\w{2,}$/) !== null) {
				correctPolec.email = true;
				$('#polec-nas #email').css('background-color', colorValid);
				$('#polec-nas #email').css("color", colorFont);
				$('#polec-nas label[for=email]').html('E-mail:');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#polec-nas label[for=email]').html('E-mail:');
			$('#polec-nas label[for=email]').append('<span>Nieprawidłowy adres email</span>');
			$('#polec-nas label[for=email] span').fadeIn(500);
		}
	});
	$('#register #fullname').change(function () {	correctRegister.fullname = false;
		if ($(this).val().match(/^([ąćęłńóśżźĄĆĘŁŃÓŚŻŹa-z. -]{3,32})$/i) !== null) {
		
			$(this).css('background-color', colorValid);
			$(this).css("color", colorFont);
			$('#register label[for=fullname]').html('Imię i nazwisko:');
			correctRegister.fullname = true;
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#register label[for=fullname]').append('<span>Nieprawidłowe Imię i Nazwisko</span>');
			$('#register label[for=fullname] span').fadeIn(500);
		}
	});


	$('#register #email').change(function () { correctRegister.email = false;
		if ($(this).val().match(/^[\w.]{2,}@(?:\w{1,}\.)+\w{2,}$/) !== null) {
			
			$.post('http://ering.pl/is-email-available', {email: $(this).val()}, function(email) {
				if (email.valid) {
				
					correctRegister.email = true;
					$('#register #email').css('background-color', colorValid);
					$('#register #email').css("color", colorFont);
					$('#register label[for=email]').html('E-mail:');
					
				} else {
				
					$('#register #email').css('background-color', colorNormal);
					$('#register #email').css("color", colorTaken);
					$('#register label[for=email]').html('E-mail:');
					$('#register label[for=email]').append('<span>'+email.msg+'</span>');
					$('#register label[for=email] span').fadeIn(500);
				}
			}, 'json');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#register label[for=email]').html('E-mail:');
			$('#register label[for=email]').append('<span>Nieprawidłowy adres email</span>');
			$('#register label[for=email] span').fadeIn(500);
		}
	});


	$('#register #login').change(function () { correctRegister.login = false;
		if ($(this).val().match(/^\w{5,10}$/) !== null) {

			$.post('http://ering.pl/is-login-available', {login: $(this).val()}, function(login) {
				if (login.valid) {
				
					correctRegister.login = true;
					$('#register #login').css('background-color', colorValid);
					$('#register #login').css("color", colorFont);
					$('#register label[for=login]').html('Login:');
					
				} else {
				
					$('#register #login').css('background-color', colorNormal);
					$('#register #login').css("color", colorTaken);
					$('#register label[for=login]').html('Login:');
					$('#register label[for=login]').append('<span>'+login.msg+'</span>');
					$('#register label[for=login] span').fadeIn(500);
					
				} 			
			}, 'json');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('label[for=login]').html('Login:');
			$('#register label[for=login]').append('<span>Nieprawidłowy Login</span>');
			$('#register label[for=login] span').fadeIn(500);
		}
	});


	$('#register #passwd').change(function () { correctRegister.passwd = false;
		if ($(this).val().match(/^.{5,}$/) !== null) {
		
			correctRegister.passwd = true;
			$(this).css('background-color', colorValid);
			$(this).css("color", colorFont);
			$('label[for=passwd]').html('Hasło:');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('label[for=passwd]').html('Hasło:');
			$('#register label[for=passwd]').append('<span>Hasło musi mieć minimum 5 znaków</span>');
			$('#register label[for=passwd] span').fadeIn(500);
						
		}
	});


	$('#register #accept').click(function () {
		correctRegister.rules = $(this).is(':checked');
	});


	$('#register .form form').submit(function () {
		
		for (var field in correctRegister) {
			if (!correctRegister[field]) {
				$('#' + field).focus();
				return false;
			}
		}
		
		return true;
	});
$('#address').change(function () { correctWebsite.url = false;
	if ($(this).val().match(/^([\w-]{1,20}(?:\.[\w-]{1,20}){1,4})$/) !== null) {

		$.post('http://ering.pl/is-url-available', {url: $(this).val()}, function(url) {
			if (url.valid) {
				correctWebsite.url = true;
				$('#address').css('background-color', colorValid);
				$('#address').css("color", colorFont);
				$('label[for=address]').html('Adres:');
				
			} else {
				$('#address').css('background-color', colorNormal);
				$('#address').css("color", colorTaken);
				$('label[for=address]').html('Adres:');
				$('label[for=address]').append('<span>'+url.msg+'</span>');
				$('label[for=address] span').fadeIn(500);
				
			}
		}, 'json');
		
	} else {
		
		$(this).css('background-color', colorNormal);
		$(this).css("color", colorInvalid);
		$('label[for=address]').html('Adres:');
		$('label[for=address]').append('<span>Ten adres url jest niepoprawny</span>');
		$('label[for=address] span').fadeIn(500);
		
	}
});
$('#title').change(function () { correctWebsite.title = false;
	if ($(this).val().match(/^([ąćęłńóśżźĄĆĘŁŃÓŚŻŹ\w. -]{3,32})$/) !== null) {
		
		$.post('http://ering.pl/is-title-available', {title: $(this).val()}, function(title) {
			if (title.valid) {
			
				correctWebsite.title = true;
				$('#title').css('background-color', colorValid);
				$('#title').css("color", colorFont);
				$('label[for=title]').html('Nazwa strony:');
				
			} else {
			
				$('#title').css('background-color', colorNormal);
				$('#title').css("color", colorTaken);
				$('label[for=title]').append('<span>'+title.msg+'</span>');
				$('#register label[for=title] span').fadeIn(500);
				
			}
		}, 'json');
		
	} else {
	
		$(this).css('background-color', colorNormal);
		$(this).css("color", colorInvalid);
		$('label[for=title]').html('Nazwa strony:');
		$('label[for=title]').append('<span>Ten tytuł jest niepoprawny</span>');
		$('#register label[for=title] span').fadeIn(500);
		
	}
});
$('#category').change(function () { correctWebsite.category = false;
	if ($(this).val() != 'wybierz kategorię') {
		correctWebsite.category = true;
	}
});
$('#account-profil #fullname').change(function () {	correctUserName.fullname = false;
		if ($(this).val().match(/^([ąćęłńóśżźĄĆĘŁŃÓŚŻŹa-z. -]{3,32})$/i) !== null) {
		
			$(this).css('background-color', colorValid);
			$(this).css("color", colorFont);
			$('#account-profil label[for=fullname]').html('Imię i nazwisko:');
			correctUserName.fullname = true;
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#account-profil label[for=fullname]').append('<span>Nieprawidłowe Imię i Nazwisko</span>');
			$('#account-profil label[for=fullname] span').fadeIn(500);
		}
	});

	$('#account-profil #email').attr('email', $('#account-profil #email').attr('value'));
	$('#account-profil #email').change(function () { correctUserEmail.email = false;
		if ($(this).val().match(/^[\w.]{2,}@(?:\w{1,}\.)+\w{2,}$/) !== null) {
			
			$.post('http://ering.pl/is-email-available', {email: $(this).val()}, function(email) {
				if (email.valid || $('#account-profil #email').val() == $('#account-profil #email').attr('email')) {
				
					correctUserEmail.email = true;
					$('#account-profil #email').css('background-color', colorValid);
					$('#account-profil #email').css("color", colorFont);
					$('#account-profil label[for=email]').html('E-mail:');
					
				} else {
				
					$('#account-profil #email').css('background-color', colorNormal);
					$('#account-profil #email').css("color", colorTaken);
					$('#account-profil label[for=email]').html('E-mail:');
					$('#account-profil label[for=email]').append('<span>'+email.msg+'</span>');
					$('#account-profil label[for=email] span').fadeIn(500);
				}
			}, 'json');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('#account-profil label[for=email]').html('E-mail:');
			$('#account-profil label[for=email]').append('<span>Nieprawidłowy adres email</span>');
			$('#account-profil label[for=email] span').fadeIn(500);
		}
	});
	
	
	$('#account-profil #old_passwd').change(function () { correctUserPasswd.oldpasswd = false;
		if ($(this).val().match(/^.{5,}$/) !== null) {
			$.post('http://ering.pl/check-password', {passwd: $(this).val()}, function(passwd) {
				if (passwd.valid) {
					correctUserPasswd.oldpasswd = true;
					$('#account-profil #old_passwd').css('background-color', colorValid);
					$('#account-profil #old_passwd').css("color", colorFont);
					$('label[for=old_passwd]').html('Stare hasło:');
					
				} else {
					$('#account-profil #old_passwd').css('background-color', colorNormal);
					$('#account-profil #old_passwd').css("color", colorTaken);
					$('#account-profil label[for=old_passwd]').html('Stare hasło:');
					$('#account-profil label[for=old_passwd]').append('<span>Hasło nie zgadza się z ustawionym wcześniej</span>');
					$('#account-profil label[for=old_passwd] span').fadeIn(500);
				}
			}, 'json');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('label[for=old_passwd]').html('Stare hasło:');
			$('#account-profil label[for=old_passwd]').append('<span>Hasło musi mieć minimum 5 znaków</span>');
			$('#account-profil label[for=old_passwd] span').fadeIn(500);
						
		}
	});
	$('#account-profil #new_passwd').change(function () { correctUserPasswd.newpasswd = false;
		if ($(this).val().match(/^.{5,}$/) !== null) {
		
			correctUserPasswd.newpasswd = true;
			$(this).css('background-color', colorValid);
			$(this).css("color", colorFont);
			$('label[for=new_passwd]').html('Nowe hasło:');
			
		} else {
		
			$(this).css('background-color', colorNormal);
			$(this).css("color", colorInvalid);
			$('label[for=new_passwd]').html('Nowe hasło:');
			$('#account-profil label[for=new_passwd]').append('<span>Hasło musi mieć minimum 5 znaków</span>');
			$('#account-profil label[for=new_passwd] span').fadeIn(500);
						
		}
	});
$('#add_site form').submit(function () {
		
	for (var field in correctWebsite) {
		if (!correctWebsite[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('form#username').submit(function () {
		
	for (var field in correctUserdata) {
		if (!correctUserdata[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('form[name=username]').submit(function () {
		
	for (var field in correctUserName) {
		if (!correctUserName[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('form[name=passwd]').submit(function () {
		
	for (var field in correctUserPasswd) {
		if (!correctUserPasswd[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('form[name=email]').submit(function () {
		
	for (var field in correctUserEmail) {
		if (!correctUserEmail[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('form[name=polec]').submit(function () {
		
	for (var field in correctPolec) {
		if (!correctPolec[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$('#recovery-password form').submit(function () {
		
	for (var field in correctRecovery) {
		if (!correctRecovery[field]) {
			$('#' + field).focus(); 
			return false;
		}
	}

	return true;
});
$("form").each(function(){
		$(this).submit(function(){
			var ok = true;
			var inputs = $(this).find('input.text').each(function(){
				if($(this).attr("value")==''){
					ok = false;
				}
			});
			if(!ok){
				alert("Proszę poprawnie wypełnić wszystkie pola");
				return false;
			}
			return true;
		});
});
});