/**
* secms.js

v 1.0.3
2009.10.12 - USUNIĘTO - showhide, preload, go, zaznacz_element, pokazWarstwe, zaznacz_szukaj
2009.10.12 - ZMODYFIKOWANO - seSprawdzFormSubmit - nie wykonuje focus, gdy nie jest zdefiniowany (np. dla radiobuttonów bez ID)
2009.10.12 - DODANO - seUstawWybranyElement
2009.08.20 - seFormSprawdzDlugoscTinyMCE - Sprawdza pole o podanym ID z przypisanym edytorem TinyMCE, aby miało podana dlugosc znakow i zwraca komunikat, gdy nie ma
v 1.0.2
2009.01.11 - MODYFIKACJA - seSprawdzWzorzec - kod pocztowy
v 1.0.1 
2009.01.11 - DODANO - seNoweOkno, seNoweOknoDowolne

*/

/**
* @desc Wstawia ID i Nazwę wybranego elementu w odpowiednie pola
* Zastosowanie w wyborze artykułów z drzewa
* @param poleID string przerostek ID pól
* @param nazwa string Przekazana nazwa elementu
* @param id int ID elementu
*/
function seUstawWybranyElement(poleID,nazwa,id) 
{
	parent.document.getElementById(poleID + 'Nazwa').value = nazwa;
	parent.document.getElementById(poleID + 'Id').value = id;
}

/**
* @desc OTWIERANIE OKNA
*/
/* 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable-0 width=200 height=380 ' */
function seNoweOknoDowolne(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function seNoweOkno(url, name, width, height, scrollbars_value, menubar_value, status_value, location_value, toolbar_value, resizable_value) {
	okno = window.open(url, name, 'width='+width+', height='+height+', scrollbars='+scrollbars_value+', menubar='+menubar_value+', status='+status_value+', location='+location_value+', toolbar_value='+toolbar_value+', resizable='+resizable_value+'');
	okno.moveTo(screen.width/2-width/2, screen.height/2-height/2);
}

function seWarstwaPokazUkryjWybrana(wartosc_pole_id,przedrostek) {
	var wartosc = document.getElementById(wartosc_pole_id).value;
	var warstwa_nazwa = przedrostek + wartosc;
	var warstwa = document.getElementById(warstwa_nazwa);
	if (warstwa.style.display == 'none') {
		warstwa.style.display='';
	} else {
		warstwa.style.display='none';
	}
}

function seWarstwaPokazUkryj(warstwa_id) {
	var warstwa = document.getElementById(warstwa_id);
	if (warstwa.style.display == 'none') {
		warstwa.style.display='';
	} else {
		warstwa.style.display='none';
	}
}

/**
* @desc PYTA, CZY WYKONAĆ DANĄ CZYNNOŚĆ + WYKONANIE FORMULARZA
*/
function sePotwierdzForm(form,komunikat) {
	if(confirm(komunikat)) {
		window.location=gdzie;
	}
}
/**
* @desc PYTA, CZY WYKONAĆ DANĄ CZYNNOŚĆ + PRZEJSCIE NA URL
*/
function sePotwierdzUrl(url,komunikat) 
{
	if(confirm(komunikat)) 
	{
		window.location=url;
	}
}

/*
* Włącza pole o podanym ID, gdy button radio o podanej wartosci jest zaznaczony
*/
function seFormRadioKlikPoleWlacz(pole_id,pole_wlacz_id,wartosc_wlaczajaca) {

	var pole_wlacz = document.getElementById(pole_wlacz_id);
	var pole_radio = document.getElementsByName(pole_id);
	var wlacz = wartosc_wlaczajaca;
	var wybor = "";

	for (i=0; i<pole_radio.length; i++) {
		if (pole_radio[i].checked) wybor=pole_radio[i].value;
	}

	if (wybor==wartosc_wlaczajaca) {
	pole_wlacz.disabled=false;
	} else {
	pole_wlacz.value="";
	pole_wlacz.disabled=true;
	}
}

/*
* Włącza pole o podanym ID, gdy button radio o podanej wartosci jest zaznaczony
*/
function seFormCheckBoxKlikPoleWlacz(pole_id,pole_wlacz_id) {

	var pole_wlacz = document.getElementById(pole_wlacz_id);
	var pole_sprawdz = document.getElementById(pole_id);

	if(pole_sprawdz.checked) {
		pole_wlacz.disabled = '';
	} else {
		pole_wlacz.value = "";
		pole_wlacz.disabled = 'disabled';
	}
}

/*
* Sprawdzanie formularzy
* @desc Definicje zmiennych
*/
	var error_message = ''; // Przechowuje tresc komunikatu
	var error_validate = 0; // Przechowuje znacznik wystapienia bledu
	var error_focus = ''; // Przechowuje ID pola, na ktore nastapi focus

/*
* Sprawdza i porownuje wartosci pól
*/
function seFormPorownajPola(pole_id,komunikat,pole_id_porownaj) {
	var pole_1 = document.getElementById(pole_id);
	var pole_2 = document.getElementById(pole_id_porownaj);

	if(pole_1.value.length > 0) {
		if(pole_1.value != pole_2.value) {
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	}
}

/*
* Sprawdza pole o podanym ID, aby zawartosc odpowiadała wzorcowi
*/
function seFormSprawdzWzorzec(pole_id,komunikat,wzorzec) {

	if(wzorzec == 'komorkowy') {
		if(!document.getElementById(pole_id).value.match(/^\+[0-9][0-9]\.\d\d\d[1-9]\d\d\d\d\d$/)) {
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	} else if(wzorzec == 'stacjonarny') {
		if(!document.getElementById(pole_id).value.match(/^\+[0-9][0-9]\.\d\d\.[1-9]\d\d\d\d\d\d$/)) {
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	} else if(wzorzec == 'haslo') {
		if(!document.getElementById(pole_id).value.match(/^[a-zA-z0-9\_\-]*$/)) {
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	} else if(wzorzec == 'kod_pocztowy') {
		if(!document.getElementById(pole_id).value.match(/^[0-9][0-9]\-[0-9][0-9][0-9]$/)) {
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	}
}

/*
* Sprawdza pole o podanym ID, aby miało podana dlugosc znakow i zwraca komunikat, gdy nie ma
*/
function seFormSprawdzDlugosc(pole_id,komunikat,dlugosc) {

	if(document.getElementById(pole_id).value.length <= dlugosc) {
		error_message = error_message + komunikat + "\n";
		if(error_focus == '') error_focus = pole_id;
		error_validate = 1;
		return false;
	}
}

/*
* Sprawdza pole o podanym ID, aby miało podany poprawny adres email i zwraca komunikat, gdy nie ma
*/
function seFormSprawdzEmail(pole_id,komunikat) {
	if (!document.getElementById(pole_id).value.match(/^[0-9a-zA-Z_.-]+@([0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/)) {
		error_message = error_message + komunikat + "\n";
		if(error_focus == '') error_focus = pole_id;
		error_validate = 1;
		return false;
	}
}

/*
* Sprawdza, czy checkbox zaznaczony
*/
function seFormSprawdzZaznaczenie(pole_id,komunikat) {

	var pole_sprawdz = document.getElementById(pole_id);

	if (!pole_sprawdz.checked) { 
		error_message = error_message + komunikat + "\n";
		if(error_focus == '') error_focus = pole_id;
		error_validate = 1;
		return false;
	}
}

/*
* Sprawdza warunek wypelnienia
*/
function seFormJesliWypelnione(pole_id) 
{
	var pole_sprawdz = document.getElementById(pole_id);

	if (pole_sprawdz.value != '') 
	{ 
		return true;
	} 
	else 
	{ 
		return false; 
	}
}

/*
* Sprawdza warunek zaznaczenia
*/
function seFormJesliZaznaczone(pole_id) 
{
	var pole_sprawdz = document.getElementById(pole_id);

	if (pole_sprawdz.checked) 
	{ 
		return true;
	} 
	else 
	{ 
		return false; 
	}
}

/*
* Sprawdza warunek wypelnienia wartoscia
*/
function seFormJesliWartosc(pole_id,wartosc) {

	var pole_sprawdz = document.getElementById(pole_id);

	if (pole_sprawdz.value == wartosc) 
	{ 
		return true;
	} 
	else 
	{ 
		return false; 
	}
}

/*
* Sprawdza, czy wymagan ilosc pol z listy zostala zaznaczona
*/
function seFormSprawdzLista(pole_id,komunikat,pole_ilosc) 
{

	var pole_sprawdz = document.getElementsByName(pole_id);
	var pole_ok=0;

	for (i=0;i<pole_sprawdz.length;i++) 
	{
		if (pole_sprawdz[i].checked) pole_ok++;
	}

	if (pole_ok<pole_ilosc) 
	{ 
		error_message = error_message + komunikat + "\n";
		error_validate = 1;
		return false;
	}
}

/**
* @desc Wlacza pole o wskazanym ID, gdyz w aktualnym polu wartosc = podanej
*/
function seFormPoleWlaczJesli(pole_sprawdz_id,pole_sprawdz_opcja,pole_przelacz_id) 
{ 
	
	var pole_sprawdz=document.getElementById(pole_sprawdz_id);
	var pole_przelacz=document.getElementById(pole_przelacz_id);

		if(pole_sprawdz.value == pole_sprawdz_opcja) 
		{
			pole_przelacz.disabled='';
		} 
		else 
		{
			pole_przelacz.disabled='true';
		}
}

/**
* @desc Submituje wskazany formularz
*/
function seFormFormSubmit(form_id) 
{
	document.getElementById(form_id).submit();
}

/**
* @desc Blokuje zaznaczanie tekstu na stronie
*/
function seBlokadaZaznaczania(element) 
{
	element.style.cursor = "default";
	if (typeof element.onselectstart!="undefined") 
	{ // dla IE:
		element.onselectstart=function() { return false; }
	} 
	else if (typeof element.style.MozUserSelect!="undefined") 
	{ // dla FireFox:
		element.style.MozUserSelect="none";
	} 
	else 
	{ // dla Opery i innych:
		element.onmousedown=function() { return false; }
	}
}

/**
* @desc BODY funkcji sprawdzającej
* Przykładowe wywołanie: seSprawdzFormSubmit('form_test','Należy wypełnić pola','SprawdzTest()')
* Jeśli form_id == '' i wywołanie onsubmit trzeba zwrócić false.
*/
function seSprawdzFormSubmit(form_id,wiadomosc,funkcja_sprawdzajaca) {
	if(wiadomosc == '') wiadomosc = 'Należy wypełnić wymagane pola: ';
	error_message = wiadomosc + "\n\n";
	error_validate = 0;
	error_focus = '';

	eval(funkcja_sprawdzajaca);

	if (error_validate == 1) 
	{
		alert(error_message);
		if(error_focus) document.getElementById(error_focus).focus();
		if(form_id == '') return false;
	} 
	else 
	{
		if(form_id != '') document.getElementById(form_id).submit();
	}
}

/*
* Sprawdza pole o podanym ID z przypisanym edytorem TinyMCE, aby miało podana dlugosc znakow i zwraca komunikat, gdy nie ma
*/
function seFormSprawdzDlugoscTinyMCE(pole_id,komunikat,dlugosc_min,dlugosc_max) 
{

	if(dlugosc_min != '')
	{
		if(tinyMCE.getInstanceById(pole_id).getContent().length <= dlugosc_min) 
		{
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	} 
	else if (dlugosc_max != '') 
	{
		if(tinyMCE.getInstanceById(pole_id).getContent().length >= dlugosc_max) 
		{
			error_message = error_message + komunikat + "\n";
			if(error_focus == '') error_focus = pole_id;
			error_validate = 1;
			return false;
		}
	}
}
