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 validateNip()
{
	//validate1(fieldId, msg);
	msg = "Pole wymagane";
	
	var nip0 = document.getElementById('nip0').value.length;
	var nip1 = document.getElementById('nip1').value.length;
	var nip2 = document.getElementById('nip2').value.length;
	var nip3 = document.getElementById('nip3').value.length;
	
	if (nip0+nip1+nip2+nip3 != 10) {
		$('#d_nip').addClass('err');
		$('#msg_nip').html("Pole wymagane");
		$('#msg_nip').fadeIn('slow');
		errCounter ++;
	}
	else {
		$('#d_nip').removeClass('err');
		$('#msg_nip').fadeOut('slow');
	}
	
}


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;
		}
	});	
}



// spr. czy pesel istnieje, jesli tak to zwraca TRUE
function validatePESEL2(fieldId)
{
	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_pesel2.php?pesel="+obj.value, 0, function(data, status) {
		peselOK2 = false;
		
		if(data == "1") {
			valHideError(fieldId);
			peselOK2 = true;
			return true;
		}
		else if(data == "0") {
			valShowError(fieldId, 'Nieprawidłowy format');
			return false;
		}
		else if(data == "-1") {
			valShowError(fieldId, 'Podany PESEL nie 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[fieldId] = false;
		
		if(data == "1") {
			valHideError(fieldId);
			emailOK[fieldId] = 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łędny adres e-mail');
		return false;
	}
	else {
		valHideError(fieldId2);
		return true;
	}
}

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;
	}
	else {
		valHideError(fieldId);
		return true;
	}
		
}



var saving = false;
var saving2 = false;

function formSave()
{
	if(saving) {
		return false;
	}
		
	errCounter = 0;
	
	
	validate2('szkolenie', '', '0');
	validate1('nazwisko', '');
	validate1('imie', '');	
	if(!peselOK) {
		validatePESEL('pesel2');
	}
	validate1('stanowisko', '');
	
	if(!emailOK['email']) {
		validateEmail('email');
		validateEmail2('email', 'email2');
	}
	
	//miejsce urodzenia
	validate1('zam_miejscowosc', '');
	validate2('grupa_zawodowa', '', '0');
	
	//jednostka
	validate1('adres', '');
	validateNip('nip', '');
	
	//osoba kierujaca
	validate1('szkolenie_imie', '');
	validate1('szkolenie_nazwisko', '');
	validate1('szkolenie_tel', '');
	validateEmail('szkolenie_email');

	//pracownik kadr
	validate1('k_imie', '');
	validate1('k_nazwisko', '');
	validate1('k_tel', '');
	_validateEmail('k_email');
	
	//adres korespondencyjny
	//if(!emailOK['koresp_email']) {
		//_validateEmail('koresp_email');
		//validateEmail2('koresp_email', 'koresp_email2');
	//}	

		
	if(!peselOK || !emailOK['email']) {
		return false;
	}
	else if(errCounter) {
		return false;
	}


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

	return false;
}




function formSave2()
{
	if(saving2) {
		return false;
	}
	
	errCounter = 0;
	
	if(!peselOK2) {
		validatePESEL2('qpesel');
	}
	validate2('qszkolenie', '', '0');
	
	if(!peselOK2 || errCounter) {
		return false;
	}
	
	saving2 = true;
	
	$.post("reg2.php", $("#quickregform").serialize(), function() {
		location.href='ok2.php?szkolhid='+szkolhid;
	});			
	
	return false;
}



var peselOK2 = false;
var peselOK = false;
var zamZipOK = false;
var emailOK = new Array();
emailOK['email'] =  false;
//emailOK['koresp_email'] = false;



function validateZIP(fieldId, z1, z2, checkWithDB)
{
	var v1 = document.getElementById(z1).value;
	var v2 = document.getElementById(z2).value;

	if(v1.length != 2 || v2.length != 3) {
		zamZipOK = false;
		valShowError(fieldId, 'Pole wymagane');
		return false;
	}
	
	//zaslepka - podstawowe sprawdzenie kodu pocztowego
	valHideError(fieldId);
	zamZipOK = true;
	return true;


	// -- nie wykona sie --

	if(checkWithDB == null) {
		checkWithDB = 0;
	}	
	
	
	if(v1.length != 2 || v2.length != 3) {
		if(fieldId == 'zam_kod' && document.getElementById('zam_wojewodztwo').value=='małopolskie') {
			//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 == 'małopolskie') {  // malopolskie
		document.getElementById('h_koresp_powiat').innerHTML = htmlPowiat;
		//document.getElementById('h_zam_miejscowosc').innerHTML = '';
		//document.getElementById('h_zam_poczta').innerHTML = '';
	}
	else {
		document.getElementById('h_koresp_powiat').innerHTML = '<input name="koresp_p_powiat" id="koresp_powiat" type="text" maxlength="50" class="i1" />';
		//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('koresp_kod', 'koresp_kod1', 'koresp_kod2', document.getElementById('koresp_wojewodztwo').value==6);
}

