/* ------- focus, blur i menu --------- */
if (jQuery.browser.msie) {
	$(document).ready(function(){
		$("input,textarea,select").focus( function() {
			$(this).addClass("sffocus");
		}).blur( function() {
			$(this).removeClass("sffocus");
		});
		if (! $("#nav")) { return false; }
		$("#nav li").mouseover( function() {
			$(this).addClass("sfhover");
		}).mouseout( function() {
			$(this).removeClass("sfhover");
		});
	});
}
/* ------- focus, blur i menu --------- */
/* ---------- pokaz zdjecie ----------- */
function RaCMSPokazZdjecie(adres,szerokosc,wysokosc) {
	var gora = (jQuery(document).height() - wysokosc) / 2;
	var lewa = (jQuery(document).width() - szerokosc) / 2;
	var Ramka = jQuery("<div>").css({
		position: 'absolute',
		'z-index': 10000,
		top: gora,
		left: lewa,
		background: '#ffffff',
		padding: '4px',
		border: '1px solid #666666'
	}).show().append('<img src="' + adres + '" width="' + szerokosc + '" height="' + wysokosc + '" />').click(function() {
		jQuery(this).remove();
	});
	jQuery("body").append(Ramka);
	return false;
}
/* ---------- pokaz zdjecie ----------- */
/* ------ zazn i odzn checkboxow ------ */
function RaCMSChecksyZaznacz(nazwaelementu,element) {
	if (jQuery(element).is(":checked")) {
		jQuery("input[name='" + nazwaelementu + "']").attr("checked", "checked");
	}
	else {
		jQuery("input[name='" + nazwaelementu + "']").attr("checked", "");
	}
}
/* ------ zazn i odzn checkboxow ------ */
/* ---------------- 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();
	}
}
/* ------- wysylanie formularza ------- */
/* ---------- wykonywacz kodu --------- */
function RaCMSWykonywacz (opcje) {
	if (!opcje.Adres) { return false; }
	if (!opcje.Docelowy) { return false; }
	$.ajax({
		type: "GET",
		url: opcje.Adres,
		data: opcje.Dane,
		dataType: 'xml',
		success: function(dane) {
			$('#' + opcje.Docelowy).append($("dane",dane).text());
		}
	});
}
/* ---------- wykonywacz kodu --------- */
/* ----------- okno z danymi ---------- */
function RaCMSRamka (opcje) {
	if (!opcje.Adres) { return false; }
	opcje.Szerokosc = 400;
	opcje.Wysokosc = 600;
	$.ajax({
		type: "GET",
		url: opcje.Adres,
		data: opcje.Dane,
		dataType: 'xml',
		success: function(dane) {
			$('<div>').css({ 'position': 'absolute', 'z-index': 1000, 'top': 100, 'left': 100, 'width': opcje.Szerokosc, 'height': opcje.Wysokosc })
			.append($("dane",dane).text()).appendTo("body").fadeIn();
		}
	});
}
/* ----------- okno z danymi ---------- */
/* funkcje natywne zależne od jQuery */
(function($) {
/* -------------- 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']"
	};
	function RaCMSUploaderDzialaj (pole, opcje) {
		if (!opcje.Adres) { return false; }
		var Rodzic = $('.' + opcje.Docelowy);
		var formek = pole.parents().find('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("<p>laduje ...</p>");
 			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': 'none' }).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);		
		return this.each(function() {
			RaCMSListaWyboruDzialaj($(this), opcje);
		});
	}
	$.fn.RaCMSListaWyboru.defaults = {
		MinLiczbaZnakow: 2,
		Duplikaty: 0,
		Opoznienie: 500,
		Docelowy: '',
		Lista: '',
		KlasaLadowania: 'AjaxLadowanie',
		KlasaWybrany: 'podswietlone',
		Prefiks: 'p'
	};
	//prywatne funkcje
	function RaCMSListaWyboruDzialaj (pole, opcje) {
		var KLAWISZ = {
			GORA: 38,
			DOL: 40,
			LEWA: 37,
			PRAWA: 39,
			DEL: 46,
			TAB: 9,
			ENTER: 13,
			ESC: 27
		};
		var $pole = $(pole).attr("autocomplete", "off");
		var timeout;
		var PoleAktywne = 0;
		var ElementAktywny;
		var OstatniKlawisz;
		var OstatniaWartosc = '';
		var ElementyListy = [];
		if (!opcje.Adres) { return; }
		var $lista = $('#' + opcje.Lista);
		if (!$lista) { 
			return; 
		}
		var $docelowy = $('#' + opcje.Docelowy);
		if (!$docelowy) { 
			return; 
		}
		$pole.keydown(function(event) {
			OstatniKlawisz = event.keyCode;
			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.TAB:
				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,''));
						$pole.blur();
					}
					else {
						return;
					}
					break;
				case KLAWISZ.ESC:
					clearTimeout(timeout);
					timeout = setTimeout(ListaUkryj, 200);
					break;
				default:
					clearTimeout(timeout);
					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);
		});

		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: "GET",
					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 ($('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 = jQuery('<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);
			} );
			$("p:first",$lista).addClass(opcje.KlasaWybrany);
			$lista.show();
		}
		function Dopisz(id) {
			$lista.hide();
			$pole.val('');
			var Dodaj = 1;
			if (opcje.Duplikaty == 0) {
				$("input",$docelowy).each( function() {
					if ($(this).attr('value') == id) { Dodaj = 0; }
				});
			}
			if (Dodaj == 1) {
				$docelowy.append(ElementyListy[id].dane);
			}
			OstatniaWartosc = '';
		}
		function LadowanieStop() {
			$pole.removeClass(opcje.KlasaLadowania);
		}
		function LadowanieStart() {
			$pole.addClass(opcje.KlasaLadowania);
		} 
		function ListaUkryj() {
			$lista.hide();
			clearTimeout(timeout);
			LadowanieStop();
		}
	}
/* --------------- Lista wyboru------------- */
/* --------------- Uzupelnij------------- */
	$.fn.RaCMSUzupelnij = function(opcje) {
		var opcje = $.extend({}, $.fn.RaCMSUzupelnij.defaults, opcje);		
		return this.each(function() {
			RaCMSUzupelnijDzialaj($(this), opcje);
		});
	}
	
	$.fn.RaCMSUzupelnij.defaults = {
		MinLiczbaZnakow: 2,
		Opoznienie: 500,
		Lista: '',
		KlasaLadowania: 'AjaxLadowanie',
		KlasaWybrany: 'podswietlone'
	};
	//prywatne funkcje
	function RaCMSUzupelnijDzialaj (pole, opcje) {
		var KLAWISZ = {
			GORA: 38,
			DOL: 40,
			LEWA: 37,
			PRAWA: 39,
			DEL: 46,
			TAB: 9,
			ENTER: 13,
			ESC: 27
		};
	
		var $pole = $(pole).attr("autocomplete", "off");
		
		var timeout;
		var PoleAktywne = 0;
		var ElementAktywny;
		var OstatniKlawisz;
		var OstatniaWartosc = '';
		var ElementyListy = [];
		
		if (!opcje.Adres) { return; }
		var $lista = $('#' + opcje.Lista);
		if (!$lista) { 
			return; 
		}

		$pole.keydown(function(event) {
			OstatniKlawisz = event.keyCode;
			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.TAB:
				case KLAWISZ.ENTER:
					//musimy wybrac element - zapisac jego wartosc
					if ($lista.is(':visible')) {
						//wybieramy
						$pole.val($("p",$lista).eq(ElementAktywny).text());
//						$pole.blur();
						clearTimeout(timeout);
						timeout = setTimeout(ListaUkryj, 200);
					}
					else {
						return;
					}
					break;
					
				case KLAWISZ.ESC:
					clearTimeout(timeout);
					timeout = setTimeout(ListaUkryj, 200);
					break;
					
				default:
					clearTimeout(timeout);
					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);
		});

		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: "GET",
					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 ($('nazwa', dane).length == 0) { return; }
			$('nazwa', dane).each( function() {
				var nazwa = $(this).text();
				var element = jQuery('<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);
			$lista.show();
		}
		function LadowanieStop() {
			$pole.removeClass(opcje.KlasaLadowania);
		}
		function LadowanieStart() {
			$pole.addClass(opcje.KlasaLadowania);
		} 
		function ListaUkryj() {
			$lista.hide();
			clearTimeout(timeout);
			LadowanieStop();
		}
  
	}
/* --------------- Uzupelnij------------- */
})(jQuery);
/* koniec funkcji natywnych */











/* -------------- ogolne -------------- */
var Requescik = null;
var AjaxDane = new Array();
if(navigator.userAgent.indexOf("Safari")> 0){isSafari=true;isMoz=false;isIE=false;}
else if(navigator.product=="Gecko"){isSafari=false;isMoz=true;isIE=false;}
else{isSafari=false;isMoz=false;isIE=true;}
/* -------------- ogolne -------------- */

/* ------------- zakladki ------------- */
function OtworzZakladke (przycisk,ktora) {
	przycisk.blur();
	var tagi = document.getElementById('ZakladkaMenu').getElementsByTagName('A');
	if (tagi.length > 0) {
		for (var i = 0 ; i < tagi.length; i++) {
			tagi.item(i).className = "Przycisk";
		}
	}
	przycisk.className = "PrzyciskAktywny";
	var tagi = document.getElementsByTagName('DIV');
	if (tagi.length > 0) {
		for (var i = 0; i < tagi.length; i++) {
			if (tagi.item(i).className.match(/DVZakladka/)) {
				if (tagi.item(i) == document.getElementById(ktora)) {
					tagi.item(i).className = tagi.item(i).className.replace(new RegExp(" ?Ukryj\\b"), "");
				}
				else if (tagi.item(i).className == "DVZakladka") {
					tagi.item(i).className += " Ukryj";
				}
			}
		}
	}
	
//	document.getElementById(ktora).className += " Ukryj";
	return false;
}
function OtworzZakladkeMala (przycisk,ktora,nazwarodzica) {
	przycisk.blur();
	var tagi = przycisk.parentNode.getElementsByTagName('A');
	if (tagi.length > 0) {
		for (var i = 0 ; i < tagi.length; i++) {
			if (tagi[i] == przycisk) { tagi[i].className = "PrzyciskAktywny"; }
			else { tagi[i].className = "Przycisk"; }
		}
	}
	var rodzic = document.getElementById(nazwarodzica);
	var tagi = rodzic.getElementsByTagName('DIV');
	if (tagi.length > 0) {
		for (var i = 0; i < tagi.length; i++) {
			if (tagi[i].id == (nazwarodzica + '_' + ktora)) {
				tagi[i].style.display = "block";
			}
			else {
				tagi[i].style.display = "none";
			}
		}
	}
	return false;
}




/* ----- 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 --------- */
/* ------------ ocenianie ------------ */
function OcenaRozjasnij(obiekt,obrazek) {
	var dzieci = obiekt.parentNode.getElementsByTagName('IMG');
	if (dzieci.length > 0) {
	for (var a=0; a < dzieci.length; a++) {

	dzieci[a].src=obrazek.replace('##','2');
	if (dzieci[a] == obiekt) { return 0; }
	}
	}
}
function OcenaSciemnij(obiekt,obrazek,zaznaczone) {
	var dzieci = obiekt.parentNode.getElementsByTagName('IMG');
	if (dzieci.length > 0) {
	for (var a = 0; a < dzieci.length; a++) {
	if (a < zaznaczone) { dzieci[a].src=obrazek.replace('##','3'); }
	else { dzieci[a].src=obrazek.replace('##','1'); }
	}
	}
}
/* ------------ ocenianie ------------ */
/* --------- dodatkowe okienka ------- */
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);
}
function WyrownajWysokosc() {
	var argumenty = arguments;
	var wysokosc = 0;
	for (var a = 0; a < argumenty.length; a++) {
	var tmp = document.getElementById(argumenty[a]);
	if (tmp.offsetHeight > wysokosc) { wysokosc = tmp.offsetHeight; }
	}
	for (var a = 0; a < argumenty.length; a++) {
	var tmp = document.getElementById(argumenty[a]);
	tmp.style.height = wysokosc + 'px';
	}
}
/* --------- dodatkowe okienka ------- */
