/* ---------------- elementy -------------- */
function RaCMSElementPrzesun(element,kierunek) {
	if (kierunek == 'g') {
		if (element.prev().children("th").length > 0) { return false; }
		element.insertBefore(element.prev());
	}
	else if (kierunek == 'd') {
		element.insertAfter(element.next());
	}
}
function RaCMSElementUsun(element) {
	element.remove();
}
/* ---------------- elementy -------------- */
/* ------- wysylanie formularza ------- */
function RaCMSWyslijFormsa (klik,nazwa,wartosc,pyt) {
	if (pyt) {
		var odp = confirm(pyt);
		if (odp) {
			var formularz = klik.form;
			var newBox = document.createElement('input');
			newBox.type = 'hidden';
			newBox.name = nazwa;
			newBox.value = wartosc;
			formularz.appendChild(newBox);
			formularz.submit();
		}
		else { return false; }
	} 
	else {
		var formularz = klik.form;
		var newBox = document.createElement('input');
		newBox.type = 'hidden';
		newBox.name = nazwa;
		newBox.value = wartosc;
		formularz.appendChild(newBox);
		formularz.submit();
	}
	return true;
}
/* ------- wysylanie formularza ------- */
/* ---------- wykonywacz kodu --------- */
/* 
uzyte jeszcze w module przepisy 
*/
function RaCMSWykonywacz (opcje) {
	if (!opcje.Adres) { return false; }
	if (!opcje.Docelowy) { return false; }
	if (opcje.RodzajPolaczenia != 'POST' && opcje.RodzajPolaczenia != 'GET') { opcje.RodzajPolaczenia = 'GET'; }
	$.ajax({
		type: opcje.RodzajPolaczenia,
		url: opcje.Adres,
		data: opcje.Dane,
		dataType: 'xml',
		success: function(dane) {
			if ($("blad",dane).length > 0) {
				alert($("blad",dane).text());
			}
			else if ($("dane",dane).length > 0) {
				$('#' + opcje.Docelowy).append($("dane",dane).text());
			}
		}
	});
}
/* ---------- wykonywacz kodu --------- */
/* ------------ wycentruj ------------- */
/*
uzytw w module oferta
*/
function RaCMSWycentruj(szer,wys) {
	var obiekt = new Object();
	if (szer > 0) { obiekt.lewa = (jQuery(window).width() - szer) / 2; }
	else { obiekt.lewa = 0; }
	if (wys > 0) { obiekt.gora = (document.documentElement[ 'scrollTop' ] ? document.documentElement[ 'scrollTop' ] : 0) + (((window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body.clientHeight) - wys) / 2); }
	else { obiekt.gora = 0; }
	if (obiekt.gora < 0) { obiekt.gora =  document.documentElement[ 'scrollTop' ] ? document.documentElement[ 'scrollTop' ] : 0; }
	return obiekt;
}
/* ------------ wycentruj ------------- */
/* ----------- okno z danymi ---------- */
/*
przerobic na obiekt jquery
standardowo ma sie jedynie pojawic obok obiektu w ktory sie kliknie, lub ma zwrocic informacje w okienku z tlem etc 
*/
function RaCMSOkienko(element,opcje) {
	if (!element) { return false; }
	if (!opcje.Adres) { return false; }
	opcje.Szerokosc = (opcje.Szerokosc) ? opcje.Szerokosc : 250;
	opcje.Wysokosc = (opcje.Wysokosc) ? opcje.Wysokosc : 'auto';
	opcje.Docelowy = (opcje.Docelowy) ? opcje.Docelowy : 'RamkaInformacyjna';
	opcje.CzasUkrycia = (opcje.CzasUkrycia) ? opcje.CzasUkrycia : 1500;
	var offset = jQuery(element).offset();
	if (jQuery('body').height() < (offset.top + opcje.Wysokosc)) {
		offset.top -= 100;
	}	
	if (jQuery('body').width() < (offset.left + opcje.Szerokosc)) {
		offset.left -= opcje.Szerokosc + 10;
	}	
	jQuery.ajax({
		type: "POST",
		url: opcje.Adres,
		data: opcje.Dane,
		dataType: 'xml',
		success: function(dane) {
			jQuery('<div id="' + opcje.Docelowy + '">').css({ 
				'position': 'absolute',
				'z-index': 1000,
				'top': offset.top,
				'left': offset.left,
				'width': opcje.Szerokosc,
				'height': opcje.Wysokosc 
			})
			.append($("dane",dane).text()).appendTo("body").fadeIn();
			setTimeout(function() {
				jQuery('#' + opcje.Docelowy).remove();
			}, opcje.CzasUkrycia);
		}
	});
}
/* funkcje natywne zależne od jQuery */
/* ------------- ocenianie ------------ */
(function($) {
	$.fn.RaCMSOcenianie = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSOcenianie.defaults, opcje);		
		return this.each(function() {
			RaCMSOcenianieDzialaj($(this), opcje);
		});
	}
	$.fn.RaCMSOcenianie.defaults = {
		GrafikaWla: '/szablony/standard/grafika/ocena_wla.gif',
		GrafikaWyl: '/szablony/standard/grafika/ocena_wyl.gif',
		GrafikaAkt: '/szablony/standard/grafika/ocena_akt.gif',
		GrafikaKlasa: 'Ocena'
	};
	function RaCMSOcenianieDzialaj (Cel,opcje) {
		if (!opcje.Adres) { return false; }
		if (!opcje.Id) { return false; }
		var Dane = [];
		var Oceny = $('img.' + opcje.GrafikaKlasa ,Cel);
		Oceny.each(function() {
			var indeks = Oceny.index(this) + 1;
			Dane[indeks] = this.src;
		});
		function Podswietl(ocena) {
			Oceny.slice(0,ocena).each(function() {
				this.src = opcje.GrafikaAkt;
			});
		}
		function Zresetuj () {
			Oceny.each(function() {
				var indeks = Oceny.index(this) + 1;
				this.src = Dane[indeks];
			});
		}
		Oceny.mouseover(function() {
			var indeks = Oceny.index(this) + 1;
			Podswietl(indeks);
		}).mouseout(function() {
			Zresetuj();
		}).click(function() {
			var indeks = Oceny.index(this) + 1;
			$.ajax({
				type: "POST",
				url: opcje.Adres,
				data: 'element=' + opcje.Id + '&ocena=' + indeks,
				dataType: 'xml',
				success: function(dane) {
					Cel.empty().append($("dane",dane).text());
				}
			});
		});
	}
/* ------------- ocenianie ------------ */
/* -------------- uploader ------------ */
	$.fn.RaCMSUploader = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSUploader.defaults, opcje);		
		return this.each(function() {
			RaCMSUploaderDzialaj($(this), opcje);
		});
	}
	$.fn.RaCMSUploader.defaults = {
		Opoznienie: 1500,
		Ramka: 'UploaderIframka',
		Docelowy: 'PlikPodglad',
		Zrodlowy: 'PlikWgrywanie',
		SelektorDanych: "div[class='Dane']",
		SelektorBledow: "div[class='Blad']",
		Ladowanie: "<p>wgrywam...</p>"
	};
	function RaCMSUploaderDzialaj (pole, opcje) {
		if (!opcje.Adres) { return false; }
		var Rodzic = $('.' + opcje.Docelowy);
		var formek = pole.parents('form');
 		FormularzAction = formek.attr('action') ? formek.attr('action') : '';
		FormularzTarget = formek.attr('target') ? formek.attr('target') : '';
		FormularzMethod = formek.attr('method') ? formek.attr('method') : ''; 
		FormularzEnctype = formek.attr('enctype') ? formek.attr('enctype') : '';
		pole.change(function () {
			Rodzic.empty().append(opcje.Ladowanie);
 			formek.attr('action',opcje.Adres).attr('target',opcje.Ramka).attr('method','post').attr('enctype','multipart/form-data');
	 		var iframek = $('<iframe id="' + opcje.Ramka + '" name="' + opcje.Ramka + '" src="about:blank" />').css({'display': 'block' }).appendTo('body').load(function() {
				if ($(this).contents().find(opcje.SelektorDanych).length > 0) { 
					Rodzic.empty().append($(this).contents().find(opcje.SelektorDanych).html()); 
				}
	 			else if ($(this).contents().find(opcje.SelektorBledow).length > 0) {
	 				Rodzic.empty();
	 				alert($(this).contents().find(opcje.SelektorBledow).html()); 
	 			}
				setTimeout( function () {
 					iframek.remove();
	 			}, opcje.Opoznienie);
				pole.attr('value','');
				formek.attr('action',FormularzAction).attr('target',FormularzTarget).attr('method',FormularzMethod).attr('enctype',FormularzEnctype);
			});
			formek.submit();
			pole.blur();
		});
	}
/* -------------- uploader ------------ */
/* ----------- lista wyboru ----------- */
	$.fn.RaCMSListaWyboru = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSListaWyboru.defaults, opcje);		
		var KLAWISZ = {
			GORA: 38,
			DOL: 40,
			LEWA: 37,
			PRAWA: 39,
			DEL: 46,
			TAB: 9,
			ENTER: 13,
			ESC: 27
		};

		return this.each(function() {
			var Pole = $(this).attr("autocomplete", "off");
			var PoleAktywne = 0;
			var Timeout;
			var ElementAktywny;
			var OstatniKlawisz;
			var OstatniaWartosc = '';
			var ElementyListy = [];
			if (!opcje.Adres) { return; }
			var Lista = $('<div id="' + opcje.Lista + '" class="' + opcje.KlasaLista + '"></div>');
			Pole.after(Lista);
			if (opcje.Docelowy !== '') { //tryb dopisywania a nie uzupeniania
				var Docelowy = $('#' + opcje.Docelowy);
				if (Docelowy.children().length > 0) {
					Docelowy.children().each(function() {
						var Obiekt = $(this);
						$("button.Usun",Obiekt).click(function() {
							Obiekt.remove();
							if (opcje.Ilosc !== undefined && Docelowy.children().length < opcje.Ilosc) {
								Pole.show();
								Pole.focus();
							}
						});
					});
					if (opcje.Ilosc !== undefined && Docelowy.children().length >= opcje.Ilosc) {
						Pole.hide();
					}
				}
			}
			//funkcje
			function Zmieniamy() {
				if (OstatniKlawisz == KLAWISZ.DEL || OstatniaWartosc == Pole.val() || PoleAktywne == 0) {
					Lista.hide();
					return;
				}
				var ObecnaWartosc = Pole.val();
				OstatniaWartosc = ObecnaWartosc;
				Lista.empty();
				if (ObecnaWartosc.length >= opcje.MinLiczbaZnakow) {
					LadowanieStart();
					$.ajax({
						type: "POST",
						url: opcje.Adres,
						dataType: 'xml',
						data: 'nazwa=' + ObecnaWartosc,
						success: function(dane) {
							Parsuj(dane);
							LadowanieStop();
						}
					});
		  		}
		  		else {
		  			Lista.hide();
		  			LadowanieStop();
		  		}
	  		}
			function Parsuj(dane) {
				if (PoleAktywne == 0) { return; }
				ElementAktywny = 0;
				if (Docelowy !== undefined) {
					if ($('element', dane).length == 0) { return; }
					$('element', dane).each( function() {
						var id = $("id",this).text();
						var nazwa = $("nazwa",this).text();
						ElementyListy[id] = { 'id': id, 'nazwa': nazwa, 'dane': $("dane",this).text() };
						var element = $('<p id="' + opcje.Prefiks + id + '">' + nazwa + "</p>").mouseover( function() {
							$(this).addClass(opcje.KlasaWybrany);
						}).mouseout( function() {
							$(this).removeClass(opcje.KlasaWybrany);
						}).click( function() {
							Dopisz(id);
							Pole.focus();
						});
						Lista.append(element);
					});
				}
				else {
					if ($('nazwa', dane).length == 0) { return; }
					$('nazwa', dane).each( function() {
						var nazwa = $(this).text();
						var element = $('<p>' + nazwa + '</p>').mouseover( function() {
							$(this).addClass(opcje.KlasaWybrany);
						}).mouseout( function() {
							$(this).removeClass(opcje.KlasaWybrany);
						}).click( function() {
							Pole.val(nazwa);
							Pole.focus();
						});
						Lista.append(element);
					});
				}
				$("p:first",Lista).addClass(opcje.KlasaWybrany);
				var PoleOffset = Pole.offset();
 				Lista.css({ 
					top: (PoleOffset.top + Pole.height() + parseFloat(Pole.css('padding-bottom'),2) + parseFloat(Pole.css('padding-top'),2)) + parseFloat(Pole.css('border-top-width'),2) + parseFloat(Pole.css('border-bottom-width'),2) 
					,left: (PoleOffset.left + parseFloat(Pole.css('margin-left'),2))
					,width: Pole.width() + parseFloat(Pole.css('padding-right'),2) + parseFloat(Pole.css('padding-left'),2) + parseFloat(Pole.css('border-left-width'),2) + parseFloat(Pole.css('border-right-width'),2)
				}).show();
			}
			function Dopisz(id) {
				Lista.hide();
				if (Docelowy !== undefined) {
					Pole.val('');
					Pole.focus();
					var Dodaj = 1;
					$("input[type='hidden']",Docelowy).each( function() {
						if ($(this).attr('value') == id) { Dodaj = 0; }
					});
					if (Dodaj == 1) {
						Docelowy.append(ElementyListy[id].dane).children('*:last').each(function() {
							var Obiekt = $(this);
							$("button.Usun",Obiekt).click(function() {
								Obiekt.remove();
								if (opcje.Ilosc !== undefined && Docelowy.children().length < opcje.Ilosc) {
									Pole.show();
									Pole.focus();
								}
							}).focus();
						});
					}
					if (opcje.Ilosc !== undefined && $("input[type='hidden']",Docelowy).length >= opcje.Ilosc) {
						Pole.hide();
					}
					else { Pole.focus(); }
				}
				else {
					Pole.val($("p",Lista).eq(ElementAktywny).text());
					Pole.focus();
				}						
				OstatniaWartosc = '';
			}
			function LadowanieStop() {
				Pole.removeClass(opcje.KlasaLadowania);
			}
			function LadowanieStart() {
				Pole.addClass(opcje.KlasaLadowania);
			} 
			function ListaUkryj() {
				Lista.hide();
				Lista.empty();
				clearTimeout(Timeout);
				LadowanieStop();
			}
			Pole.keydown(function(event) {
				OstatniKlawisz = event.keyCode;
				clearTimeout(Timeout);
				switch(OstatniKlawisz) {
					case KLAWISZ.GORA:
						event.preventDefault();
						if (Lista.is(':visible')) {
							//przesuwamy
							ElementAktywny--;
							if (ElementAktywny < 0) { ElementAktywny = $("p",Lista).size() - 1; }
							$("p",Lista).removeClass(opcje.KlasaWybrany).eq(ElementAktywny).addClass(opcje.KlasaWybrany);
						}
						else {
							return;
						}
						break;
					case KLAWISZ.DOL:
						event.preventDefault();
						if (Lista.is(':visible')) {
							ElementAktywny++;
							if (ElementAktywny >= $("p",Lista).size()) { ElementAktywny = 0; }
							$("p",Lista).removeClass(opcje.KlasaWybrany).eq(ElementAktywny).addClass(opcje.KlasaWybrany);
	
						}
						else {
							return;
						}
						break;
					case KLAWISZ.ENTER:
						event.preventDefault();
						//musimy wybrac element - zapisac jego wartosc
						if (Lista.is(':visible')) {
							//wybieramy
							Dopisz($("p",Lista).eq(ElementAktywny).attr('id').replace(opcje.Prefiks,''));
						}
						else {
							return;
						}
						break;
					case KLAWISZ.TAB:
						//musimy wybrac element - zapisac jego wartosc
						if (Lista.is(':visible')) {
							//wybieramy
							Dopisz($("p",Lista).eq(ElementAktywny).attr('id').replace(opcje.Prefiks,''));
						}
						return;
						break;
					case KLAWISZ.ESC:
						Timeout = setTimeout(ListaUkryj, 200);
						break;
					default:
						Timeout = setTimeout(Zmieniamy, opcje.Opoznienie);
						break;
				}
			}).keypress(function() {
				//pusty dla opery
			}).focus(function(){
				PoleAktywne = 1;
			}).blur(function() {
				PoleAktywne = 0;
				clearTimeout(Timeout);
				Timeout = setTimeout(ListaUkryj, 200);
			});
		}); //koniec each
	}
	$.fn.RaCMSListaWyboru.defaults = {
		MinLiczbaZnakow: 2,
		Opoznienie: 500,
		Docelowy: '',
		Lista: '',
		KlasaLadowania: 'AjaxLadowanie',
		KlasaWybrany: 'podswietlone',
		KlasaLista: 'AjaxListaWyboru',
		Prefiks: 'p'
	};
/* ----------- lista wyboru ----------- */
/* -------------- ramka --------------- */
	$.fn.RaCMSRamka = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSRamka.defaults, opcje);		
		var Flashe, Tlo, Ladowacz, Ramka, Komunikat;
		function WygladTloPokaz() {
			if ($('#' + opcje.IdRamkaTlo).length > 0) { Tlo = $('#' + opcje.IdRamkaTlo); }
			else { Tlo = $('<div id="' + opcje.IdRamkaTlo + '">').appendTo("body"); }
			Flashe = $("object:visible, embed:visible").css('visibility','hidden');
			if (typeof document.body.style.maxHeight === "undefined") { //if IE 6 
			    $("body","html").css({height: "100%", width: "100%"}); $("html").css("overflow","hidden"); 
			}
		}
		function WygladTloUsun() {
			if (typeof document.body.style.maxHeight === "undefined") { //if IE 6 
			    $("body","html").css({height: "auto", width: "auto"}); $("html").css("overflow",""); 
			}
			Flashe.css('visibility','visible'); 
			Tlo.remove();
			$(document).unbind("keydown");
		}
		function WygladLadowaczPokaz() {
			if ($('#' + opcje.IdRamkaLaduje).length > 0) { Ladowacz = $('#' + opcje.IdRamkaLaduje); }
			else { Ladowacz = $('<div id="' + opcje.IdRamkaLaduje + '">').show().appendTo("body"); }
		}
		function WygladLadowaczUsun() { Ladowacz.remove(); }
		function WygladRamkaUtworz() {
			var Naglowek = $('<div class="Zamknij">Zamknij</div>').click(function() { WygladRamkaUsun(); WygladTloUsun(); });
			Ramka = $('<div id="' + opcje.IdRamkaDiv + '">').append(Naglowek).appendTo("body");
		}
		function WygladRamkaPokaz() { Ramka.fadeIn(); $(document).unbind("keydown"); $(document).keydown(function(event) { if (event.keyCode == 27) { WygladRamkaUsun(); WygladTloUsun(); } }); }
		function WygladRamkaUkryj() { Ramka.fadeOut(); }
		function WygladRamkaUsun() { Ramka.remove(); }
		function WygladKomunikatTworz(dane,ramka) {
			if (ramka) {
				Komunikat = $('<div id="' + opcje.IdRamkaKomunikat + '">').append(dane).append($('<button type="button">Zamknij</button>').click(function() { WygladKomunikatUsun(); WygladRamkaPokaz(); })).appendTo("body").fadeIn();
				var KomWys = (typeof document.body.style.maxHeight === "undefined") ? ($(window).scrollTop() + (($(window).height() - Komunikat.height()) / 2)) : (($(window).height() - Komunikat.height()) / 2);
				Komunikat.css({ top: KomWys });
				$(document).unbind("keydown"); $(document).keydown(function(event) { if (event.keyCode == 27) { WygladKomunikatUsun(); WygladRamkaPokaz(); } });
				$('button',Komunikat).focus();
			}
			else {
				Komunikat = $('<div id="' + opcje.IdRamkaKomunikat + '">').append(dane).append($('<button type="button">Zamknij</button>').click(function() { WygladKomunikatUsun(); WygladRamkaUsun(); WygladTloUsun(); })).appendTo("body").fadeIn();
				var KomWys = (typeof document.body.style.maxHeight === "undefined") ? ($(window).scrollTop() + (($(window).height() - Komunikat.height()) / 2)) : (($(window).height() - Komunikat.height()) / 2);
				Komunikat.css({ top: KomWys });
				$(document).unbind("keydown"); $(document).keydown(function(event) { if (event.keyCode == 27) { WygladKomunikatUsun(); WygladRamkaUsun(); WygladTloUsun(); } });
				$('button',Komunikat).focus();
			}
		}
		function WygladKomunikatUsun() { Komunikat.remove(); $(document).unbind("keydown"); }
		function WygladRamkaWypelnij(dane) {
			Ramka.append($("dane",dane).text());
			var StrSzer = $(window).width(); var StrWys = $(window).height(); var DivSzer = Ramka.width(); var DivWys = Ramka.height();
			var DivMaksSzer = StrSzer - 50; var DivMaksWys = StrWys - 50;
			if (DivSzer > DivMaksSzer) {
				DivSzer = DivMaksSzer;
				Ramka.css("overflow","scroll");
			} 
			if (DivWys > DivMaksWys) {
				DivWys = DivMaksWys;
				Ramka.css("overflow","scroll");
			}
			var DivLewa = ((StrSzer - DivSzer) / 2); var DivGora = ((StrWys - DivWys) / 2);
			if (typeof document.body.style.maxHeight === "undefined") { //if IE 6
				DivGora = $(window).scrollTop() + ((StrWys - DivWys) / 2); 
			}
			Ramka.css({ left: DivLewa, top: DivGora, width: DivSzer, height: DivWys });
			if (opcje.Reakcja.length > 0) {
				for (var z = 0; z < opcje.Reakcja.length; z++) {
					var tmp = opcje.Reakcja[z]; 
					$('#' + tmp.Nazwa).click(function() {
						if (confirm('Czy wykonać?')) {
							WygladRamkaUkryj();
							WygladLadowaczPokaz();
							$.ajax({
								type: "POST",
								url: tmp.Adres,
								dataType: 'xml',
								data: $("form",Ramka).serialize() + '&' + $(this).attr('id') + '=1',
								success: function(dane) {
									WygladLadowaczUsun();
									if ($("bledy",dane).text().length > 0) {
										WygladKomunikatTworz($("bledy",dane).text(),1);
									}
									else if ($("info",dane).text().length > 0) {
										WygladKomunikatTworz($("info",dane).text(),0);
										if ($('#' + opcje.Docelowy) && $('zmiany',dane).text().length > 0) {
											$('#' + opcje.Docelowy).empty().append($('zmiany',dane).text());
										}
									}
									else { 
										WygladRamkaPokaz(); 
									}
								},
								error: function() {
									WygladLadowaczUsun();
									WygladRamkaPokaz();
								}
							});
						}
					});
				}
			}
		}
		return this.each(function() {
			var Adres = this.href;
			if (Adres.lenght == 0) { return false; }
			$(this).click(function() {
				this.blur();
				WygladTloPokaz();
				WygladLadowaczPokaz();
				$.ajax({
					type: "GET",
					url: Adres,
					dataType: 'xml',
					success: function(dane) {
						WygladRamkaUtworz();
						WygladRamkaWypelnij(dane);
						WygladLadowaczUsun();
						WygladRamkaPokaz();
					},
					error: function() {
						WygladLadowaczUsun();
						WygladTloUsun();
					}
				});
				return false;
			});
		});
	}
	$.fn.RaCMSRamka.defaults = {
		IdRamkaDiv: 'RaCMSRamkaDiv'
		,IdRamkaTlo: 'RaCMSRamkaTlo'
		,IdRamkaLaduje: 'RaCMSRamkaLaduje'
		,IdRamkaKomunikat: 'RaCMSRamkaKomunikat'
		,Reakcja: []
		,Docelowy: ''
	};
/* -------------- ramka --------------- */
/* --------- ramka zdjecia ------------ */
	$.fn.RaCMSPokazZdjecie = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSPokazZdjecie.defaults, opcje);		
		return this.each(function() {
			var Adres = this.href;
			if (Adres.lenght == 0) { return false; }
			var Tytul = this.title || '';
			$(this).click(function() {
				if (typeof document.body.style.maxHeight === "undefined") { //if IE 6 
				    $("body","html").css({height: "100%", width: "100%"}); 
				    $("html").css("overflow","hidden"); 
				} 
				var Flashe = $("object:visible, embed:visible").css('visibility','hidden');
				var Tlo = $('<div id="RaCMSZdjecieTlo">').click(function(){ Zamknij(); }).appendTo("body");
				var Ladowacz = $('<div id="RaCMSZdjecieLaduje">').show().appendTo("body");
				var Div = $('<div id="RaCMSZdjecieDiv">').appendTo("body");
				this.blur();
				$(document).keydown(function(event) {
					if (event.keyCode == 27) {
						Zamknij();
					}
				});
				Zamknij = function() {
					$(document).unbind("keydown");
					Flashe.css('visibility','visible'); 
					Div.remove();
					Ladowacz.remove();
					Tlo.remove();
					if (typeof document.body.style.maxHeight === "undefined") { //if IE 6 
					    $("body","html").css({height: "auto", width: "auto"}); $("html").css("overflow",""); 
					}
				}
				var Zdjecie = new Image();
				Zdjecie.onload = function() {
					var StrSzer = $(window).width();	var StrWys = $(window).height();
					var ZdjSzer = Zdjecie.width; var ZdjWys = Zdjecie.height;
					var ZdjMaksSzer = StrSzer - 50; var ZdjMaksWys = StrWys - 70;
					if (ZdjSzer > ZdjMaksSzer) {
						ZdjWys = ZdjWys * (ZdjMaksSzer / ZdjSzer); ZdjSzer = ZdjMaksSzer; 
						if (ZdjWys > ZdjMaksWys) {	ZdjSzer = ZdjSzer * (ZdjMaksWys / ZdjWys); ZdjWys = ZdjMaksWys; }
					} else if (ZdjWys > ZdjMaksWys) { 
						ZdjSzer = ZdjSzer * (ZdjMaksWys / ZdjWys); ZdjWys = ZdjMaksWys; 
						if (ZdjWys > ZdjMaksWys) { ZdjWys = ZdjWys * (ZdjMaksSzer / ZdjSzer); ZdjSzer = ZdjMaksSzer; }
					}
					var DivLewa = ((StrSzer - ZdjSzer) / 2); var DivGora = ((StrWys - ZdjWys - 60) / 2);
					if (typeof document.body.style.maxHeight === "undefined") { //if IE 6
						DivGora = $(window).scrollTop() + ((StrWys - ZdjWys - 60) / 2); 
					}
					Ladowacz.hide();
					var Obrazek = $('<img src="' + Zdjecie.src + '" width="'  + ZdjSzer + '" height="' + ZdjWys + '" alt="' + Tytul + '" />').click(function() { Zamknij(); });
					Div.css({ 'left': DivLewa, 'top': DivGora }).append(Obrazek).append('<div class="Podpis">' + Tytul + '</div>').fadeIn();
				}
				Zdjecie.src = Adres;
				return false;				
			});
		});
	}
	$.fn.RaCMSPokazZdjecie.defaults = {
	};
/* --------- ramka zdjecia ------------ */
/* ---------- wybor select ------------ */
	$.fn.RaCMSWybSelect = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSWybSelect.defaults, opcje);		
		return this.each(function() {
			if (!opcje.Adres) { return false; }
			if (!opcje.Docelowy) { return false; }
			if (!opcje.NazwaEl) { return false; }
			var pole = $(this);
			//przyciski musza usuwac dany
			$('#' + opcje.Docelowy + ' button').click(function(){
				$(this).parent().remove();
				if (opcje.IloscMaks !== undefined && $('#' + opcje.Docelowy + ' input[type=hidden]').length < opcje.IloscMaks) { pole.show(); }
			});
			if (opcje.IloscMaks !== undefined && $('#' + opcje.Docelowy + ' input[type=hidden]').length >= opcje.IloscMaks) { pole.hide(); }
			pole.change(function() {
				//pobieramy jakie sa elementy 
				var Elementy = [];
				$('#' + opcje.Docelowy + ' input[type=hidden]').each(function(){
					Elementy.push($(this).val());
				});
				$.ajax({
					type: "POST",
					url: opcje.Adres,
					dataType: 'xml',
					data: 'nr=' + pole.val() + '&elementy=' + Elementy,
					success: function(dane) {
						if ($('wybrany', dane).length > 0) {
							$('#' + opcje.Docelowy).append($("wybrany",dane).text());
							$('#' + opcje.Docelowy + ' button:last').click(function(){ 
								$(this).parent().remove(); 
								if (opcje.IloscMaks !== undefined && $('#' + opcje.Docelowy + ' input[type=hidden]').length < opcje.IloscMaks) { pole.show(); }
							}).focus();
							if (opcje.IloscMaks !== undefined && $('#' + opcje.Docelowy + ' input[type=hidden]').length >= opcje.IloscMaks) {	pole.hide(); }
						}
						pole.empty();
						pole.append($('elementy', dane).text());
					}
				});
				//koniec ajaxa
			});
		});
	}
	$.fn.RaCMSWybSelect.defaults = {
	};
/* ---------- wybor select ------------ */
})(jQuery);
/* koniec funkcji natywnych */





/* --------- dodatkowe okienka ------- */
//uzywane przez modul SMS
function PokazOkno(adres,szerokosc,wysokosc) {
	args = 'width=' + szerokosc + ',height=' + wysokosc + ',menubar=no,location=no,resizable=yes,scrollbars=no,status=no';
	if (window.screen)  { 
	var xcen = (screen.availWidth - szerokosc) / 2; 
	var ycen = (screen.availHeight - wysokosc) / 2;
	args += ',left=' + xcen + ',screenX=' + xcen;
	args += ',top=' + ycen + ',screenY=' + ycen;  
	}
	window.open(adres,'',args);
}
/* --------- dodatkowe okienka ------- */
//USUNACPONIZEJ TEJ LINII (uzyte jeszcze w module subskrypcja
/* ----- wylaczanie obiektow --------- */
function WylaczanieObiektow(rodzic,rodzaj) {
	var obiekt = document.getElementById(rodzic);
	var rodzaje = new Array('INPUT','TEXTAREA','BUTTON','SELECT');
	for (var x = 0; x < rodzaje.length; x++) {
		var dzieci = obiekt.getElementsByTagName(rodzaje[x]);
		if (dzieci.length > 0) {
			for (var a = 0; a < dzieci.length; a++) {
				if (rodzaj == 1) {
//					dzieci[a].disabled = false;
					dzieci[a].className = dzieci[a].className.replace(new RegExp(" ?wylaczone\\b"), "");
				}
				else {
//					dzieci[a].disabled = true;
					dzieci[a].className = dzieci[a].className.replace(new RegExp(" ?wylaczone\\b"), "");
					dzieci[a].className += " wylaczone";
				}
			}
		}
	}
	if (rodzaj == 1) { obiekt.style.display = 'block'; }
	else { obiekt.style.display = 'none'; }
}
/* ----- wylaczanie obiektow --------- */