function login_check() {
	$('login_check_btn').className = 'btn_login_prop_hidden';
	$('progress_line').className = 'progress_line_shown';
	var myAjax = new Ajax.Request('web_services/login_check.php',
	{
		method:'post',
		parameters: {login: $('form_login').value},
		encoding: 'ISO-8859-2',
		onSuccess: function(transport){
			var response = transport.responseText || '-2';		
			switch (response){
				case '1':
					$('login_check').innerHTML = '<span style="color:#679818">Podany login jest aktualnie dostępny.</span>';
					break;				
				case '-1':
					$('login_check').innerHTML = '<span style="color:#EA0000">Podany login jest już zajęty przez innego użytkownika.</span>';
					break;
				default:
					$('login_check').innerHTML = '<span style="color:#EA0000">Wystapił nieoczekiwany błąd. Spróbuj ponownie.</span>';			
			}
			$('progress_line').className = 'progress_line_hidden';
			$('login_check_btn').className = 'btn_login_prop_shown';			
		},
		
		onFailure: function(){
			$('login_check').innerHTML = '<span style="color:#EA0000">Wystąpił nieoczekiwany błąd. Spróbuj ponownie.</span>';			
			$('progress_line').className = 'progress_line_hidden';
			$('login_check_btn').className = 'btn_login_prop_shown';			
		}
	});		
}

var token = null;

function check_form() {
	clearInterval(token);
	var form_obj = Form.serialize($('form'), true);
	if (validator.login.verify(form_obj.LOGIN) != true) {Cover(true, 'progress_box'); Cover(false,"PrintFormErrorBox($('form_login'), 'Login musi składać się co najmniej z 4 znaków.<br>Dozwolone znaki to: \"a-z, A-Z, 0-9, _, .\". Nie można używać polskich znaków. ')"); return false;}
	if (validator.password.verifySize(form_obj.PASSWORD) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_password'), 'Hasło musi składać się co najmniej z 5 znaków.'); return false;}
	if (validator.password.verifyRepeat(form_obj.PASSWORD, Form.Element.getValue($('form_password_repeat'))) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_password_repeat'), 'Musisz ponownie wpisać hasło.'); return false;}
	if (validator.text_field.verifySize(form_obj.FIRSTNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_firstname'), 'Dozwolone znaki w polu "Imię" to: "a-ż, A-Ż, spacja, ., -"'); return false;}
	if (validator.text_field.verifySize(form_obj.LASTNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_surname'), 'Dozwolone znaki w polu "Nazwisko" to: "a-ż, A-Ż, spacja, ., -"'); return false;}
	if (validator.text_field.verify(form_obj.RESIDENCE_PLACE) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_place'), 'Dozwolone znaki w polu "Miejscowość" to: "a-ż, A-Ż, spacja, ., -"'); return false;}
	if (validator.number_field.verify(form_obj.PHONE_PREFIX) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_phone_prefix'), 'Dozwolone znaki w polu "Telefon stacjonarny" to: "0-9, spacja, -"'); return false;}
	if (validator.number_field.verify(form_obj.PHONE_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_phone_nr'), 'Dozwolone znaki w polu "Telefon stacjonarny" to: "0-9, spacja, -"'); return false;}
	if (validator.number_field.verify(form_obj.CELL_PHONE_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_cellphone_nr'), 'Dozwolone znaki w polu "Telefon komórkowy" to: "0-9, spacja, -"'); return false;}
	if (validator.mail.verify(form_obj.EMAIL) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_email'), 'Adres e-mail jest niepoprawny'); return false;}
	if ($('form_buy_data').checked != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_buy_data'), 'Aby się zarejestrować, musisz zaakceptować regulamin.'); return false;}

	var myAjax = new Ajax.Request('web_services/registration.php',
	{
		method:'post',
		encoding: 'ISO-8859-2',
		parameters: form_obj,
		onSuccess: function(transport){
			var response = transport.responseText || -7;
			if (catchError(response) === true) {
				$('form_cont').innerHTML = response;
				Cover(true, 'progress_box');
			}
		},
		onFailure: function(){
			catchError(-7);
		}
	});
}

function check_form_user_data() {
	clearInterval(token);
	var form_obj = Form.serialize($('form'), true);
	if (form_obj.PASSWORD.length > 0 && form_obj.OLD_PASSWORD.length == 0) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_old_password'), 'Musisz podać obecne hasło.'); return false;}
	if (form_obj.PASSWORD.length > 0 && validator.password.verifySize(form_obj.PASSWORD) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_password'), 'Hasło musi składać się conajmniej z 5 znaków.'); return false;}
	if (form_obj.PASSWORD.length > 0 && validator.password.verifyRepeat(form_obj.PASSWORD, Form.Element.getValue($('form_password_repeat'))) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_password_repeat'), 'Musisz wpisać ponownie hasło.'); return false;}
	if (validator.text_field.verifySize(form_obj.FIRSTNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_firstname'), 'Dozwolone znaki w polu "Imię" to: "a-ż, A-Ż, spacja, ."'); return false;}
	if (validator.text_field.verifySize(form_obj.LASTNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_surname'), 'Dozwolone znaki w polu "Nazwisko" to: "a-ż, A-Ż, spacja, ."'); return false;}
	if (validator.text_field.verify(form_obj.RESIDENCE_PLACE) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_place'), 'Dozwolone znaki w polu "Miejscowość" to: "a-ż, A-Ż, spacja, ."'); return false;}
	if (validator.number_field.verify(form_obj.PHONE_PREFIX) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_phone_prefix'), 'Dozwolone znaki w polu "Telefon stacjonarny" to: "0-9, spacja, -"'); return false;}
	if (validator.number_field.verify(form_obj.PHONE_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_phone_nr'), 'Dozwolone znaki w polu "Telefon stacjonarny" to: "0-9, spacja, -"'); return false;}
	if (validator.number_field.verify(form_obj.CELL_PHONE_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_cellphone_nr'), 'Dozwolone znaki w polu "Telefon komórkowy" to: "0-9, spacja, -"'); return false;}
	if (validator.mail.verify(form_obj.EMAIL) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_email'), 'Adres e-mail jest niepoprawny'); return false;}

	var myAjax = new Ajax.Request('web_services/change_user_data.php',
	{
		method:'post',
		encoding: 'ISO-8859-2',
		parameters: form_obj,
		onSuccess: function(transport){
			var response = transport.responseText || -7;
//			$('form_status').innerHTML = response;

			if (catchError(response) === true) {				
				Cover(true, 'progress_box');
				repaintBoxes2();				
			}			
		},
		onFailure: function(){
			catchError(-7);
		}
	});	
}

function check_invoice_data() {
	clearInterval(token);
	var form_obj = Form.serialize($('invoice_form'), true);
	
	if (validator.text_field.verify(form_obj.FIRSTNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_firstname'), "Dozwolone znaki w polu 'Imię' to: 'a-ż, A-Ż, spacja, .'"); return false;}
	if (validator.text_field.verify(form_obj.SURNAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_surname'), "Dozwolone znaki w polu 'Nazwisko' to: 'a-ż, A-Ż, spacja, .'"); return false;}
	if (validator.text_field.verify(form_obj.NAME) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_name'), "Dozwolone znaki w polu 'Nazwa firmy' to: 'a-ż, A-Ż, spacja, .'"); return false;}

	if ( (form_obj.SURNAME.length == 0 && form_obj.FIRSTNAME.length == 0 && form_obj.NAME.length == 0) || !(form_obj.SURNAME.length > 0 && form_obj.FIRSTNAME.length > 0) && !(form_obj.NAME.length > 0)) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_firstname'), "Pola 'Imię' i 'Nazwisko' lub 'Nazwa firmy' nie mog± być puste."); return false;}
	
	if (validator.postcode.verify(form_obj.POSTAL_CODE) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_postal_code'), 'Podany kod pocztowy jest nieprawidłowy.'); return false;}

	if (form_obj.RESIDENCE_PLACE.length == 0) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_residence_place'), "Pole 'Miasto' nie może być puste."); return false;}
	if (validator.text_field.verify(form_obj.RESIDENCE_PLACE) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_residence_place'), "Dozwolone znaki w polu 'Miasto' to: 'a-ż, A-Ż, spacja, .'"); return false;}
	
	if (form_obj.ADRESS.length == 0) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_adress'), "Pole 'Adres' nie może być puste."); return false;}
	if (validator.text_field.verify(form_obj.ADRESS) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_adress'), "Dozwolone znaki w polu 'Adres' to: 'a-ż, A-Ż, spacja, ., /, \'"); return false;}

	if (validator.nip.verify(form_obj.NIP_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_nip_number'), 'Podany NIP jest nieprawidłowy.'); return false;}
	
	if (form_obj.PHONE_NUMBER.length == 0) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_phone_number'), "Pole 'Telefon kontaktowy' nie może być puste."); return false;}
	if (validator.number_field.verify(form_obj.PHONE_NUMBER) != true) {Cover(true, 'progress_box'); PrintFormErrorBox($('form_invoice_phone_number'), "Dozwolone znaki w polu 'Telefon kontaktowy' to: '0-9, spacja, -'"); return false;}

	var myAjax = new Ajax.Request('web_services/invoice_save.php',
	{
		method:'post',
		encoding: 'ISO-8859-2',
		parameters: form_obj,
		onSuccess: function(transport){
			var response = transport.responseText || -7;
			if (catchError(response) === true) {				
				$('invoice').innerHTML = '<div style="margin-top:50px; text-align:center; font-size:12px; color:#646464;">Dane zostały wysłane do Wydawnictwa. Fakturę otrzymasz poczt±.<br><br><a class="return_main" href="index.php">Wróć do strony głównej &raquo;</a></div>';
				Cover(true, 'progress_box');
			}			
		},
		
		onFailure: function(){
			catchError(-7);
		}
	});	
}

function register() {
	Cover(false,"PrintProgressBox('Trwa weryfikacja i przesyłanie danych...')");	
	token = setInterval('check_form()', 300);
	return false;
}

function change_user_data() {
	Cover(false,"PrintProgressBox('Trwa weryfikacja i przesyłanie danych...')");	
	token = setInterval('check_form_user_data()', 300);
	return false;
}

function invoice_save() {
	Cover(false,"PrintProgressBox('Trwa weryfikacja i przesyłanie danych...')");	
	token = setInterval('check_invoice_data()', 300);
	return false;
}

function getDistricts(id) {
	if (districts) {
		var sel = $('form_district');
		sel.innerHTML = '';
		Object.keys(districts[id]).each(function(item){
			var opt = document.createElement('option');
			opt.value = item;
			opt.innerHTML = districts[id][item];
			sel.appendChild(opt);
		});
	}
}

function selectValue(id, value) {
	var opts = $(id).options;
	for (var index = 0; index < opts.length; ++index) {
		if (opts.item(index).value == value) {
			opts.item(index).selected = true;
			break;
		}
	}
}