var errCounter = 0;

function valShowError(fieldId, msg)
{
	$('#d_'+fieldId).addClass('err');
	$('#msg_'+fieldId).html(msg);
	$('#msg_'+fieldId).fadeIn('slow');
	errCounter ++;
}
function valHideError(fieldId)
{
	$('#d_'+fieldId).removeClass('err');
	$('#msg_'+fieldId).fadeOut('slow');
}

function validate1(fieldId, msg)
{
	if(!msg.length) {
		msg = "Pole wymagane";
	}
	
	var obj = document.getElementById(fieldId);

	if(!obj.value.length) {
		valShowError(fieldId, msg);
		return false;
	}

	valHideError(fieldId);
	return true;
}


function validate2(fieldId, msg, nullvalue)
{
	if(!msg.length) {
		msg = "Pole wymagane";
	}
	
	var obj = document.getElementById(fieldId);

	if(obj.value == nullvalue) {
		valShowError(fieldId, msg);
		return false;
	}

	valHideError(fieldId);
	return true;
}


function validate3(fieldId, msg)
{
	if(!msg.length) {
		msg = "Zaznaczenie tego pola jest wymagane";
	}
	
	var obj = document.getElementById(fieldId);
	
	if(!obj.checked) {
		valShowError(fieldId, msg);
		return false;
	}
	
	valHideError(fieldId);
	return true;
}


function validatePESEL(fieldId, excId)
{
	if(excId == null) {
		excId = 0;
	}

	var obj = document.getElementById(fieldId);
	
	if(!obj.value.length) {
		valShowError(fieldId, 'Pole wymagane');
		return false;
	}
	else if(obj.value.length != 11) {
		valShowError(fieldId, 'Nieprawidłowy format');
		return false;
	}
	
	
	// spr. formatu pesel
	$.get("/_val_pesel.php?exc_id="+excId+"&pesel="+obj.value, 0, function(data, status) {
		peselOK = false;
		
		if(data == "1") {
			valHideError(fieldId);
			peselOK = true;
			return true;
		}
		else if(data == "0") {
			valShowError(fieldId, 'Nieprawidłowy format');
			return false;
		}
		else if(data == "-1") {
			valShowError(fieldId, 'PESEL już istnieje');
			return false;
		}
	});	
}


function validateEmail(fieldId, excId)
{
	if(excId == null) {
		excId = 0;
	}
	
	var obj = document.getElementById(fieldId);
	
	if(!obj.value.length) {
		valShowError(fieldId, 'Pole wymagane');
		return false;
	}
	else if(obj.value.length < 6) {
		valShowError(fieldId, 'Nieprawidłowy format');
		return false;
	}
	
	
	// spr. formatu 
	$.get("/_val_email.php?exc_id="+excId+"&email="+obj.value, 0, function(data, status) {
		emailOK = false;
		
		if(data == "1") {
			valHideError(fieldId);
			emailOK = true;
			return true;
		}
		else if(data == "0") {
			valShowError(fieldId, 'Nieprawidłowy format');
			return false;
		}
		else if(data == "-1") {
			valShowError(fieldId, 'E-mail już istnieje');
			return false;
		}
	});	
}

function validateEmail2(fieldId1, fieldId2)
{
	var obj1 = document.getElementById(fieldId1);
	var obj2 = document.getElementById(fieldId2);
	
	if(!obj2.value.length) {
		valShowError(fieldId2, 'Pole wymagane');
		return false;
	}
	else if(obj1.value != obj2.value) {
		valShowError(fieldId2, 'Błedny adres e-mail');
		return false;
	}
	else {
		valHideError(fieldId2);
		return true;
	}
}


var saving = false;

function formSave()
{
	if(saving) {
		return false;
	}
	
	
	errCounter = 0;
	
	// dane
	validate1('nazwisko', '');
	validate1('imie', '');
	if(!peselOK) {
		validatePESEL('pesel');
	}
	validate1('miejsce_urodzenia', '');
	validate2('wyksztalcenie', '', '');

	// adres zamieszkania i dane kontaktowe
	var isMalopolskie = (document.getElementById('zam_wojewodztwo').value == 6);
	if(!emailOK) {
		validateEmail('email');
		validateEmail2('email', 'email2');
	}
	validate2('zam_wojewodztwo', '', 0);
	if(!zamZipOK) {
		validateZIP('zam_kod', 'zam_kod1', 'zam_kod2', isMalopolskie);
	}
	validate1('zam_ulica', '');
	validate1('zam_nr_domu', '');
	validate2('zam_miejsce_zamieszkania', '', 0);
	validate1('tel', '');
	validate1('tel_kom', '');
	if(isMalopolskie) {
		validate2('zam_powiat', '', 0);
	}
	else {
		try {
			validate1('zam_powiat', '');
			validate1('zam_poczta', '');
			validate1('zam_miejscowosc', '');
		} catch(e) {
			
		}
	}
	
	
	// dane pracodawcy
	validate2('przedmiot_nauczania', '', 0);
	validate2('okres_zatrudnienia', '', '');
	validate2('typ_placowki', '', '');
	
	// pracodawca - nazwa + adres
	validate2('adres_pracodawcy_gmina', '', 0);
	validate1('nazwa_pracodawcy', '');
	validate1('adres_pracodawcy', '');
	validate1('adres_pracodawcy_miejscowosc', '');
	validateZIP('adres_pracodawcy_kod', 'adres_pracodawcy_kod1', 'adres_pracodawcy_kod2', 0);
	validate1('adres_pracodawcy_poczta', '');


	
	// termin
	var termin = -1;
	for(var i=0; i<7; i++) {
		if(document.getElementById('termin'+i).checked) {
			termin = document.getElementById('termin'+i).value;
		}
	}
	if(termin == -1) {
		valShowError('termin', 'Proszę wybrać termin');
	}
	else {
		valHideError('termin');
	}

	
	// zgoda+oswiadczenie
	validate3('oswiadczenie', 'Aby się zarejestrować musisz zaakceptować oświadczenie');
	validate3('zgoda', 'Aby się zarejestrować musisz wyrazić zgodę na przetwarzanie danych osobowych przez WUP/MOS');

	//wyswietlenie bledow
	check_form_plus(0);
	
		document.getElementById('reg_err').style.visibility = 'hidden';
	
	if(!peselOK || !emailOK || !zamZipOK) {
		document.getElementById('reg_err').style.visibility = 'visible';
		return false;
	}
	else if(errCounter) {
		document.getElementById('reg_err').style.visibility = 'visible';
		return false;
	}

	//stop
	if (check_form_plus(1) == false) {
		document.getElementById('reg_err').style.visibility = 'visible';
		return false;
	}


	saving = true;
	
	$.post("reg.php", $("#regform").serialize(), function() {
		location.href='ok.php';
	});			

	return false;
}



var peselOK = false;
var emailOK = false;
var zamZipOK = false;


function validateZIP(fieldId, z1, z2, checkWithDB)
{
	if(checkWithDB == null) {
		checkWithDB = 0;
	}	
	
	var v1 = document.getElementById(z1).value;
	var v2 = document.getElementById(z2).value;
	
	if(v1.length != 2 || v2.length != 3) {
		if(fieldId == 'zam_kod' && document.getElementById('zam_wojewodztwo').value==6) {
			document.getElementById('h_zam_miejscowosc').innerHTML = '';
			zamZipOK = false;
		}
		else {
			//document.getElementById('adres_pracodawcy_miejscowosc').innerHTML = '';
		}
		valShowError(fieldId, 'Pole wymagane');
		return false;
	}
	
	
	if(!checkWithDB) {
		valHideError(fieldId);
		if(fieldId == 'zam_kod') {
			zamZipOK = true;
		}
		return true;
	}
	
	
	// check with db
	var z = v1+'-'+v2;
	$.get("/_val_zip.php",{ zip: z, field: fieldId } , function(data) {
		if(data == 'err') {
			if(fieldId == 'zam_kod') {
				document.getElementById('h_zam_miejscowosc').innerHTML = '';
				zamZipOK = false;
			}
			else {
				//document.getElementById('adres_pracodawcy_miejscowosc').innerHTML = '';
			}
			valShowError(fieldId, 'Podany kod nie istnieje');
			return false;
		}
		else {
			valHideError(fieldId);
			if(fieldId == 'zam_kod') {
				document.getElementById('h_zam_miejscowosc').innerHTML = data;
				zamZipOK = true;
			}
			else {
				//document.getElementById('adres_pracodawcy_miejscowosc').innerHTML = data;
			}
			return true;
		}
	});			
	
}

function zamWojChange(obj)
{
	if(obj.value == 6) {  // malopolskie
		document.getElementById('h_zam_powiat').innerHTML = htmlPowiat;
		document.getElementById('h_zam_miejscowosc').innerHTML = '';
		document.getElementById('h_zam_poczta').innerHTML = '';
	}
	else {
		document.getElementById('h_zam_powiat').innerHTML = '<input name="zam_powiat" id="zam_powiat" type="text" maxlength="50" class="i1" onblur="validate1(\'zam_powiat\', \'\');" />';
		document.getElementById('h_zam_miejscowosc').innerHTML = '<input name="zam_miejscowosc" id="zam_miejscowosc" type="text" maxlength="50" class="i1" onblur="validate1(\'zam_miejscowosc\', \'\')"/>';
		document.getElementById('h_zam_poczta').innerHTML = '<input name="zam_poczta" id="zam_poczta" type="text" maxlength="50" class="i1" onblur="validate1(\'zam_poczta\', \'\')"/>';
	}

	valHideError('zam_miejscowosc');
	valHideError('zam_poczta');
	validateZIP('zam_kod', 'zam_kod1', 'zam_kod2', document.getElementById('zam_wojewodztwo').value==6);
}


function pracodawcaAC(obj)
{
	var v = obj.value;
	if(v.length < 3) {
		return;
	}
	
	var gminaID = document.getElementById('adres_pracodawcy_gmina').value;
	
	
	$.get("/_pracodawca.php",{ gmina: gminaID, text: v } , function(data) {
		
		alert(data);
		
	});			
	
	
	
}


var TEST = 0;
var SHOW_RES = 0;

function set_form(obj, is_test)
{

	TEST = is_test;
	if (obj.value == 1 && TEST == 1) {
		document.getElementById('form_plus').style.display = 'block';
		document.getElementById('form_ord').style.display = 'none';
		return;
	}
	
	document.getElementById('form_ord').style.display = 'block';
	document.getElementById('form_plus').style.display = 'none';
}

function set_q(questionId, obj)
{
	document.getElementById('qv'+questionId).value = obj.value;
}

function check_form_plus(show_info)
{

	if (TEST == 0) {
		return true;
	}


	for (var i=0; i<11; i++) {
		document.getElementById('err'+i).style.visibility = 'hidden';
	}

	var score = 0;
	var was_error = false;
	for (var i=0; i<11; i++) {
		if (document.getElementById('qv'+i).value == 'empty') {
			document.getElementById('err'+i).style.visibility = 'visible';
			was_error = true;
			continue;
		}
		
		score += parseInt(document.getElementById('qv'+i).value);
	}
	
	
	//pytanie 6
	for (var i=0; i<4; i++) {
		if (document.getElementById('q_5_'+i).checked) {
			score += parseInt(document.getElementById('q_5_'+i).value);
		}
	}
	//pytanie 8
	var iter = 0;
	for (var i=0; i<9; i++) {
		if (iter == 4) {
			document.getElementById('err7').style.visibility = 'visible';
			was_error = true;
			break;
		}
		if (document.getElementById('q_7_'+i).checked) {
			score += parseInt(document.getElementById('q_7_'+i).value);
			iter ++;	
		}	
	}
	//pytanie 9
	iter = 0;
	for (var i=0; i<8; i++) {
		if (iter == 4) {
			document.getElementById('err8').style.visibility = 'visible';
			was_error = true;
			break;
		}
		if (document.getElementById('q_8_'+i).checked) {
			score += parseInt(document.getElementById('q_8_'+i).value);
			iter ++;	
		}	
	}
	//pytanie 12
	for (var i=0; i<9; i++) {
			score += parseInt(document.getElementById('q_11_'+i).value);
	}
	
	document.getElementById('err_acc').style.visibility = 'hidden';
	if (document.getElementById('an_acc').checked == false) {
		document.getElementById('err_acc').style.visibility = 'visible';
		was_error = true;
	}
	
	document.getElementById('an_err').style.visibility = 'hidden';
	if (was_error) {
		document.getElementById('an_err').style.visibility = 'visible';
		return false;
	}
	
	var is_hitech = ((document.getElementById('g_3_1').checked || document.getElementById('g_3_2').checked) && document.getElementById('g_4_1').checked);
	
	var res = '';
	if (score <= 57) {
		res = 'Wybierz szkolenia stacjonarne, dajemy lepsze ciastka!';
	}
	if (score >= 58 && score <= 74) {
		res = 'Twój komputer to nie Twój wróg, poćwicz zanim się zapiszesz!';
	}
	if (score >= 75 && score <= 89) {
		res = 'Dasz sobie radę! Znajomy informatyk nie będzie Ci potrzebny!';
	}
	if (score >= 90 && is_hitech) {
		res = 'Razem ze swoim komputerem stworzycie zgrany duet!';
	}
	if (score >= 90 && !is_hitech) {
		res = 'Ty poradzisz sobie świetnie, z Was dwojga komputer wypada słabo! Sprawdź jego stan techniczny! !';
	}
	
	var res2 = 'Zanim przystąpisz do szkolenia zaktualizuj oprogramowanie na swoim komputerze!!!\nPreferowane oprogramowanie Windows Vista lub Windows 7 z pakietem biurowym Office 2007';
	if (is_hitech) {
	 	res2 = 'W 100% Twój komputer spełnia wymogi techniczne szkolenia zdalnego!!!\nDziś on dostaje 5+';
	}
	
	document.getElementById('ankieta_res').value = res;
	if (show_info == 1 && SHOW_RES == 0) {
		alert('Twoje kompetencje:\n'+res+'\n\nOcena techniczna komputera:\n'+res2);
		SHOW_RES = 1;
	}
	
	
	//pokazanie formularza 
	//document.getElementById('form_ord').style.display = 'table';
	document.getElementById('form_ord').style.display = 'block';
	location.href = '#formularz';
	return true;
}



function show_ankieta(obj)
{
	if (obj.checked) {
		//show ankieta
		document.getElementById('form_plus2').style.display = 'block';
		return;
	}
	
	document.getElementById('form_plus2').style.display = 'none';
}


