/**
 * @author nadia.mietkiewicz
 */
var MAX_LENGTH=255;
var MIN_PASS_LENGTH=6;
var MAX_PASS_LENGTH=255;

var IMIE_EMPTY = 'Pole "imię" jest obowiązkowe. Podaj swoje imię';
var NAZWISKO_EMPTY = 'Pole "nazwisko" jest obowiązkowe. Podaj swoje nazwisko';
var STANOWISKO_EMPTY = 'Pole "stanowisko" jest obowiązkowe. Podaj nazwę stanowiska na którym której pracujesz';
var FIRMA_EMPTY = 'Pole "firma" jest obowiązkowe. Podaj nazwę firmy dla której pracujesz';
var EMAIL_EMPTY = 'Pole "email" jest obowiązkowe. Podaj swój adres email';
var AGREE_EMPTY = 'Wymagane jest wyrażenie zaakceptowanie regulaminu';
var IMIE_LENGTH = 'Imie nie może być dłuższe niż ' + MAX_LENGTH + ' znaków';
var NAZWISKO_LENGTH = 'Nazwisko nie może być dłuższe niż ' + MAX_LENGTH + ' znaków';
var STANOWISKO_LENGTH = 'Nazwa stanowiska nie może być dłuższa niż ' + MAX_LENGTH + ' znaków';
var FIRMA_LENGTH = 'Nazwa firmy nie może być dłuższa niż ' + MAX_LENGTH + ' znaków';
var EMAIL_LENGTH = 'Adres email nie może być dłuższy niż ' + MAX_LENGTH + ' znaków';
var EMAIL_FORMAT = 'Podany adres email nie jest poprawny.';
var REGISTER_ERROR = 'Przepraszamy wystąpił błąd przy rejestracji';
var PASS_EMPTY = 'Twoje hasło nie może być puste';
var PASS_SHORT = 'Twoje hasło musi mieć conajmniej ' + MIN_PASS_LENGTH + ' znaków';
var PASS_LENGTH = 'Twoje hasło nie może być dłuższe niż ' + MAX_PASS_LENGTH + ' znaków';
var PASS_CONFIRM_EMPTY = 'Wprowadź powtórnie hasło';
var PASS_CONFIRM_WRONG = 'Hasła muszą się zgadzać';

var errorFree=true;
function validateForm(name){
	if(name=='login') return validateLoginForm();
	if(name=='profile') return validateProfileForm();
	return validateRegisterForm();
}
function validateLoginForm() {
	try {
		clearError();
		var f = document.getElementById('registerform');
		// EMAIL
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		data = f.user_email.value;
		if (data == '') 
			showError(EMAIL_EMPTY, f.user_email);
		else 
			if (data.length > MAX_LENGTH) 
				showError(EMAIL_LENGTH, f.user_email);
			else 
				if (reg.test(data) == false) 
					showError(EMAIL_FORMAT, f.user_email);
		
		// HASŁO
		data = f.user_pw1.value;
		if (data == '') 
			showError(PASS_EMPTY, f.user_pw1);
		
		return errorFree;
	} catch(e) {alert(e); }
}
function validateRegisterForm(){
	clearError();
	var f = document.getElementById('registerform');
	
	// EMAIL
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	data = f.user_email.value;
	if (data == '') 
		showError(EMAIL_EMPTY, f.user_email);
	else if (data.length > MAX_LENGTH) 
		showError(EMAIL_LENGTH, f.user_email);
	else if (reg.test(data) == false) 
		showError(EMAIL_FORMAT, f.user_email);
		
	// IMIE
	var data = f.first_name.value;
	if (data == '') 
		showError(IMIE_EMPTY, f.first_name);
	else if (data.length > MAX_LENGTH) 
		showError(IMIE_LENGTH, f.first_name);
	
	// NAZWISKO
	data = f.last_name.value;
	if (data == '') 
		showError(NAZWISKO_EMPTY, f.last_name);
	else if (data.length > MAX_LENGTH) 
		showError(NAZWISKO_LENGTH, f.last_name);

	// FIRMA
	data = f.MGPCOMPNAME.value;
	if (data == '') 
		showError(FIRMA_EMPTY, f.MGPCOMPNAME);
	else if (data.length > MAX_LENGTH) 
		showError(FIRMA_LENGTH, f.MGPCOMPNAME);
	
	// STANOWISKO
	data = f.MGPCOMPOSITIONTITLE.value;
	if (data.length > MAX_LENGTH) 
		showError(STANOWISKO_LENGTH, f.MGPCOMPOSITIONTITLE);
		
	
	// HASŁO
	data = f.user_pw1.value;
	if (data == '') 
		showError(PASS_EMPTY,f.user_pw1);
	else if (data.length < MIN_PASS_LENGTH) 
		showError(PASS_SHORT,f.user_pw1);
	else if (data.length > MAX_PASS_LENGTH) 
		showError(PASS_LENGTH,f.user_pw1);
	else {
		var data2 = f.user_pw2.value;
		if (data2 == '') 
			showError(PASS_CONFIRM_EMPTY,f.user_pw2);
		else if (data2 != data) 
			showError(PASS_CONFIRM_WRONG,f.user_pw2);
		}
	
	// ZGODA
	if (!f.dr_zgoda.checked) 
		showError(AGREE_EMPTY,f.dr_zgoda);
	
	return errorFree;
}

function validateProfileForm(){
	try {
	clearError();
	var formID='your-profile';
	var f = document.getElementById(formID);
		
	// IMIE
	var data = f.first_name.value;
	if (data == '') 
		showError(IMIE_EMPTY, f.first_name,formID);
	else if (data.length > MAX_LENGTH) 
		showError(IMIE_LENGTH, f.first_name,formID);
	
	// NAZWISKO
	data = f.last_name.value;
	if (data == '') 
		showError(NAZWISKO_EMPTY, f.last_name,formID);
	else if (data.length > MAX_LENGTH) 
		showError(NAZWISKO_LENGTH, f.last_name,formID);

	// FIRMA
	data = f.MGPCOMPNAME.value;
	if (data == '') 
		showError(FIRMA_EMPTY, f.MGPCOMPNAME,formID);
	else if (data.length > MAX_LENGTH) 
		showError(FIRMA_LENGTH, f.MGPCOMPNAME,formID);
	
	// STANOWISKO
	data = f.MGPCOMPOSITIONTITLE.value;
	if (data.length > MAX_LENGTH) 
		showError(STANOWISKO_LENGTH, f.MGPCOMPOSITIONTITLE,formID);
		
	
	// HASŁO
	data = f.pass1.value;
	if (data != '') {
		if (data.length < MIN_PASS_LENGTH) 
			showError(PASS_SHORT, f.pass1,formID);
		else 
			if (data.length > MAX_PASS_LENGTH) 
				showError(PASS_LENGTH, f.pass1,formID);
			else {
				var data2 = f.pass2.value;
				if (data2 == '') 
					showError(PASS_CONFIRM_EMPTY, f.pass2,formID);
				else 
					if (data2 != data) 
						showError(PASS_CONFIRM_WRONG, f.pass2,formID);
			}
	}
	
	return errorFree;
	}
	catch(e) {
		alert(e);
	}
}


function clearError(){
	errorFree=true;

	$('.validationError').removeClass('validationError'); 
	$('#validationErrors').html('');
	$('#errorList').hide();
	$('#opis').show();
}

function showError(message, element, formID){
	if(formID==null) formID='registerform';
	errorFree = false;
	try {
		$('#errorList').show();
		$('#opis').hide();
		var errorLi = document.createElement('li');
		errorLi.appendChild(document.createTextNode(message));
		$('#validationErrors').append(errorLi);
		if(formID=='your-profile'){
		if (element) {
			$(element).parent().parent().addClass('validationError');
		}
		var f = document.getElementById(formID);			
		
		if (element == f.user_pw1) {
			$(f.user_pw2).parent().parent().addClass('validationError');
		}
		
			
		} else {
		if (element) {
			$(element).parent().addClass('validationError');
		}
		var f = document.getElementById(formID);			
		
		if (element == f.user_pw1) {
			$(f.user_pw2).parent().addClass('validationError');
		}
		
			
		}
		
		if (element == $()) 
			return false;
	} catch(e) { alert('show '+e);}
}

