/**
* secms.js

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;
}

function preload(){
		if(document.images){
			Open = new Image(12,12);    
			Closed = new Image(12,12);
			Open.src = "grafika/secms/secms_zwin.gif";
			Closed.src = "grafika/secms/secms_rozwin.gif"
		}
}

function showhide(what_id,what2_id,what3_id)
{
				var what=document.getElementById(what_id);  
				if(what2_id!=''){
					var what2=document.getElementById(what2_id);  
				}
				if(what3_id!='') {
					var what3=document.getElementById(what3_id);  
				}

				if (what.style.display=='none')
				{
					what.style.display='';
					if(what2) what2.src=Open.src;
					if(what3) what3.innerHTML='schowaj';
				}
				else
				{
					what.style.display='none';
					if(what2) what2.src=Closed.src;
					if(what3) what3.innerHTML='pokaż';
				}
}

function zaznacz(elem) {
	formElem = document.all["edycja_firma_"+elem];
	var formElVal = document.all["edycja_firma_"+elem+"f"].value;
	if (formElVal != "")
		formElem.checked = 1;
}

/// PRZEJSCIE PO KLIKNIECIU
var adres = "";
function go(adres)
{
location= adres
}


/// PRZEGLADARKI DLA POKAZ/UKRYJ WARSTWE

		ns4 = (document.layers)? true:false
		ie4 = (document.all) && !(document.getElementById)? true:false
		ie5 = (document.getElementById) && (document.all)? true:false
		ns6 = (document.getElementById) && !(document.all)? true:false


/**
* @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);
}

/// POKAZ/UKRYJ WARTWE
function pokazWarstwe(nazwaWarstwy) {
   if (ns4) document.layers[nazwaWarstwy].visibility = "show"
   else if (ie4) document.all[nazwaWarstwy].style.visibility = "visible"
   else if (ie5||ns6) document.getElementById(nazwaWarstwy).style.visibility = "visible";
}
function ukryjWarstwe(nazwaWarstwy) {
   if (ns4) document.layers[nazwaWarstwy].visibility = "hide"
   else if (ie4) document.all[nazwaWarstwy].style.visibility = "hidden"
   else if (ie5||ns6) document.getElementById(nazwaWarstwy).style.visibility = "hidden";
}



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;
	}
}

// ZAZNACZ SZUKAJ
function zaznacz_szukaj(elem) {
	formElem = document.all["t_sz_"+elem];
	var formElVal = document.all["sz_"+elem].value;
	if (formElVal != "")
		formElem.checked = 1;
}

/*
* 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 zaznaczanei 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;
		}
	}
}