var path;
var isIE;

var IE_NAME = "Microsoft Internet Explorer";
var FF_NAME = "Netscape";
var OP_NAME = "Opera";
var SA_NAME = "Netscape";

function detectedIE6()
{
	return (navigator.appName == IE_NAME) && (navigator.appVersion.indexOf("MSIE 6.0") > -1);
}

function detectedOpera()
{
	return navigator.appName == OP_NAME;
}

function assignIE(ie)
{
	isIE = ie;
}

function D(id) {return document.getElementById(id);}

function getSelectedLogin(text, li) {
	//alert(text.id + li.id);
    var wiadId = text.id.replace('txtAdresatWiadomosci', '');
    var userLogin = li.id.replace('wybrany_', '');
    
    D('txtAdresatWiadomosciLogin' + wiadId).value = userLogin;
    D('jsDebug').innerHTML += "login set to: " + D('txtAdresatWiadomosciLogin' + wiadId).value + "<br />";
}

function setStyle(id, styleName)
{
	//alert(id);
	if(isIE)
	{
		var elem = D(id);
		if(elem.className != styleName)
		{
			elem.className = styleName;
		}
	}
}

function FaqMouseOver(id, styleName, tipMsg)
{
	setStyle(id, styleName);
	PokazHint(tipMsg);
}

function FaqMouseOut(id, styleName)
{
	setStyle(id, styleName);
	UnTip();
}

function resetLoginInfo(wiadId, event)
{
	var code = 0;
	D('jsDebug').innerHTML += "event: " + event.which + " " + event.keyCode + "<br />";
	if(event.which)
	{
		code = event.which;
	}
	else
	{
		code = event.keyCode;
	}
	
	if(code != 13 /* enter */ && code != 38 /* up */ && code != 40 /* down */ && code != 9 /* tab */)
	{
		if(D('txtAdresatWiadomosciLogin' + wiadId).value != "")
		{
			D('txtAdresatWiadomosciLogin' + wiadId).value = "";
			D('jsDebug').innerHTML += "login empty<br />";
		}
	}
}

function getPageHeight()
{
	//var myHeight = D('Contener').clientHeight;
	var myHeight = document.body.clientHeight;
	//alert("height: " + myHeight);
	return myHeight;
}

function getAbsPos( oId, tl ) {
	var o = document.getElementById( oId );
	var val = 0;
	while ( o.nodeName.toLowerCase() != "body" ) {
		val += parseInt( ( tl == 'top' ) ? o.offsetTop : o.offsetLeft );
		o = o.parentNode;
	}
	
	return val;
}

function PokazFaq(inx)
{
	// get current page pos
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	   //Netscape compliant
	   scrOfY = window.pageYOffset;
	   scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	   //DOM compliant
	   scrOfY = document.body.scrollTop;
	   scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	   //IE6 compliant
	   scrOfY = document.documentElement.scrollTop;
	   scrOfX = document.documentElement.scrollLeft;
	}
	
	var bg = D('dvBG');	
	bg.style.width = document.body.clientWidth + "px";
    bg.style.height = getPageHeight() + "px";
    bg.style.display = "";
    bg.style.top = "0px";
    bg.style.left = "0px";
    bg.style.zIndex = 1;
    
    var dvId = 'FaqOdp_' + inx;
    var dv = D(dvId); 	
    dv.style.left = Math.round((document.body.clientWidth / 2) - 300 - getAbsPos("Contener", "left")) + "px";
    //alert(document.body.clientWidth + " -> " + document.body.clientWidth / 2 + " -> - 250 -> " + dv.style.left);
    dv.style.top = (scrOfY + 250) + "px";
    
    Effect.toggle(dvId, 'appear');
    return false;
}

function PokazNewsa(id){
	// get current page pos
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	   //Netscape compliant
	   scrOfY = window.pageYOffset;
	   scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	   //DOM compliant
	   scrOfY = document.body.scrollTop;
	   scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	   //IE6 compliant
	   scrOfY = document.documentElement.scrollTop;
	   scrOfX = document.documentElement.scrollLeft;
	}
	
	var bg = D('dvBG');	
	bg.style.width = document.body.clientWidth + "px";
    bg.style.height = getPageHeight() + "px";
    bg.style.display = "";
    bg.style.top = "0px";
    bg.style.left = "0px";
     
    var dv = D('dvFullNews'); 	
    dv.style.left = Math.round((document.body.clientWidth / 2) - 250) + "px";
    dv.style.top = (scrOfY + 250) + "px";
    
    //alert(getPageHeight() + " " + scrOfY + " " + dv.style.top);
    
	x_AJAXPobierzNewsa(id, wyswietl_newsa);
	return false;
}

function PokazKomentarzePopup(id){
	// get current page pos
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	   //Netscape compliant
	   scrOfY = window.pageYOffset;
	   scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	   //DOM compliant
	   scrOfY = document.body.scrollTop;
	   scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	   //IE6 compliant
	   scrOfY = document.documentElement.scrollTop;
	   scrOfX = document.documentElement.scrollLeft;
	}
	
	var bg = D('dvBG');	
	bg.style.width = document.body.clientWidth + "px";
    bg.style.height = getPageHeight() + "px";
    bg.style.display = "";
    bg.style.top = "0px";
    bg.style.left = "0px";
     
    var dv = D('dvKomentarzePopup');
    dv.style.left = Math.round((document.body.clientWidth / 2) - 250 ) + "px";
    dv.style.top = (scrOfY + 200) + "px" ;
    
    var args;
	x_AJAXPobierzKomentarzePopup(id, wyswietl_komentarze);
	return false;
}

function wyswietl_newsa(rezultat) {
 	var dv = D('dvFullNews'); 
    dv.innerHTML = rezultat;
    Effect.toggle('dvFullNews','appear');
}


function wyswietl_komentarze(rezultat) {
 	var dv = D('dvKomentarzePopup'); 
    dv.innerHTML = rezultat;
    Effect.toggle('dvKomentarzePopup','appear');
}
 
function ZamknijNewsa(id){
	Effect.toggle(id,'appear');	
	bg = D('dvBG').style.display = "none";
	return false;
}

function ZamknijFaq(id)
{
	Effect.toggle(id, 'appear');	
	bg = D('dvBG').style.display = "none";
	return false;
}

function ZamknijKomentarze(id){
	Effect.toggle(id,'appear');	
	bg = D('dvBG').style.display = "none";
	return false;
}

function OdswiezKomentarze(obiekt, objId, strona, moje, popup){
	if(D('dvCommLoader')) D('dvCommLoader').style.display = "";
	
	if(typeof(popup) == 'undefined' || !popup)
	{
		x_AJAXOdswiezKomentarze(obiekt, objId, strona, AJAXOdswiezKomentarzeCallback);
	}
	else
	{
		x_AJAXOdswiezKomentarze(obiekt, objId, strona, AJAXOdswiezKomentarzePopupCallback);
	}
}

function OdswiezWiadomosci(userId, strona, typ, sort)
{
	resetWiadomosciStatus();
	
	if(D('dvCommLoader')) D('dvCommLoader').style.display = "";	
	if(typeof(typ) == 'undefined')
	{
		typ = 0;
	}
	if(typeof(sort) == 'undefined')
	{
		sort = "data_utw DESC";
	}
	x_AJAXOdswiezWiadomosci(userId, strona, typ, sort, AJAXOdswiezWiadomosciCallback);
}

function ZapiszProfil(userId)
{
	if(D('dvInfoBox')) D('dvInfoBox').innerHTML = "";
	if(D('dvCommLoader')) D('dvCommLoader').style.display = "";	
	
	var txtLogin = D('txtProfLogin');
	var txtImie= D('txtProfImie');
	var txtNazw = D('txtProfNazw');
	var txtMail = D('txtProfMail');
	var txtMiasto = D('txtProfMiasto');
	var txtOpis = D('txtProfOpis');
	var chkMaileAkt = D('chkMaileAkt').checked;
	
	var stH = D('txtProfSH');
	var nH1 = D('txtProfNH1');
	var nH2 = D('txtProfNH2');
	//if((nH1.value != "" || nH2.value != "" ) && stH.value == "")
	//{
	//	alert("Przy ustawianiu nowego hasła, stare hasło musi być wprowadzone, żeby uwierzytelnić zmiany");
	//	return;
	//}
	
	x_AJAXZapiszProfil(userId, txtLogin.value, txtImie.value, txtNazw.value, txtMail.value, txtMiasto.value, txtOpis.value, 
										(chkMaileAkt ? "T" : "N"), stH.value, nH1.value, nH2.value, AJAXZapiszProfilCallback);
												
	stH.value = "";
	nH1.value = "";
	nH2.value = "";
}

function UsunProfil(userId)
{
	if(confirm("Czy na pewno chcesz usunąć profil?"))
	{
		x_AJAXUsunProfil(userId, AJAXUsunProfilCallback);
	}
}

function OdswiezZaproszenia(objId, strona, typ, dzId)
{
	if(D('dvCommLoader')) D('dvCommLoader').style.display = "";	
	if(typeof(typ) == 'undefined')
	{
		typ = 0;
	}
	if(typeof(dzId) == 'undefined')
	{
		dzId = 0;
	}
	x_AJAXOdswiezZaproszenia(objId, strona, typ, dzId, AJAXOdswiezZaproszeniaCallback);
}

function DodajKomentarz(rodzajObj, objId, userId){
	var txt = D('txtTrescKomentarza');
	if(txt.value == ""){		
		PokazMsg("Proszę podać treść komentarza.", true, false);		
	}else{
		PokazMsg("Proszę czekać, trwa zapisywanie komentarza.", false, true);
		x_AJAXDodajKomentarz(rodzajObj, objId, userId, txt.value, AJAXDodajKomentarzCallback);
		ZamknijRamke('dvNewKom');
	}
}

function UsunKomentarz(komId, typ, pageNo, objId){
	D('dvCommLoader').style.display = "";
	x_AJAXUsunKomentarz(komId, typ, objId, pageNo, AJAXUsunKomentarzCallback);	
}

function UsunWiadomosc(wiadId, userId, strona, typ, sort)
{
	if(typeof(wiadId) == 'undefined' || isNaN(parseInt(wiadId)))
	{
		PokazMsg("Nie udało się usunąć wiadomości, błąd w programie", true, false, 'dvInfoBoxTop');
	}
	
	var answer = confirm ("Czy na pewno chcesz usunąć tą wiadomość?");
	
	if (answer)
	{
		PokazMsg("Proszę czekać, trwa usuwanie wiadomości.", false, true, 'dvInfoBoxTop');
		x_AJAXUsunWiadomosc(wiadId, userId, strona, typ, sort, AJAXUsunWiadomoscCallback);
	}
}

function PokazNowaWiadomoscPopup(userName)
{
	// get current page pos
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	   //Netscape compliant
	   scrOfY = window.pageYOffset;
	   scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	   //DOM compliant
	   scrOfY = document.body.scrollTop;
	   scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	   //IE6 compliant
	   scrOfY = document.documentElement.scrollTop;
	   scrOfX = document.documentElement.scrollLeft;
	}
	
	var bg = D('dvBG');	
	bg.style.width = document.body.clientWidth + "px";
    bg.style.height = getPageHeight() + "px";
    bg.style.display = "";
    bg.style.top = "0px";
    bg.style.left = "0px";
     
    var dv = D('dvNowaWiadomoscPopup');
    dv.style.left = Math.round((document.body.clientWidth / 2) - 250 ) + "px";
    dv.style.top = (scrOfY + 200) + "px" ;
    
    D('txtAdresatWiadomosciPopup').value = userName;
    D('txtTrescWiadomosciPopup').value = "";
    D('txtTytulWiadomosciPopup').value = "";
    PokazMsg('', false, false, 'dvNowaWiadomoscPopupInfo');
    
    Effect.toggle('dvNowaWiadomoscPopup','appear');
    
    return false;
}

function WyslijWiadomoscPopup(userId)
{
	var txtD = D('txtTrescWiadomosciPopup');
	var adresatD = D('txtAdresatWiadomosciPopup');
	var tytulD = D('txtTytulWiadomosciPopup');
	
	PokazMsg("Proszę czekać, trwa wysyłanie wiadomości.", false, true, 'dvNowaWiadomoscPopupInfo');
	x_AJAXWyslijWiadomoscPopup(userId, adresatD.value, tytulD.value, txtD.value, AJAXWyslijWiadomoscPopupCallback);
}

function ZamknijWiadomoscPopup()
{
	Effect.toggle('dvNowaWiadomoscPopup','appear');	
	bg = D('dvBG').style.display = "none";
	return false;
}

function WyslijWiadomosc(userId, wiadId, strona, typ, sort){
	D('jsDebug').innerHTML += "WyslijWiadomosc(" + userId + ", " + wiadId + ", " + strona + ", " + typ +")<br />";
	if(typeof(wiadId) == 'undefined')
	{
		wiadId = 0;
	}
	if(typeof(typ) == 'undefined')
	{
		typ = 64;	// przejdz do wyslanych
	}
	if(typeof(sort) == 'undefined')
	{
		sort = "data_utw DESC";
	}
	
	var txtD = D('txtTrescWiadomosci' + wiadId + "_0");
	var adresatD = D('txtAdresatWiadomosci' + wiadId + "_0");
	var loginD = D('txtAdresatWiadomosciLogin' + wiadId + "_0");
	var tytulD = D('txtTytulWiadomosci' + wiadId + "_0");
	var login = loginD.value;
	
	D('jsDebug').innerHTML += "adresat: " + adresatD.value + ", login: " + loginD.value + "<br />";
	
	if((typeof(adresatD) == 'undefined' || adresatD.value == "") || (typeof(txtD) == 'undefined' || txtD.value == ""))
	{		
		PokazMsg("Proszę wypełnić wymagane pola.", true, false, 'dvInfoBoxTop');		
	}
	else
	{
		if(adresatD.value == "" && loginD.value == "")
		{
			PokazMsg("Podany adresat nie istnieje w bazie danych.", true, false, 'dvInfoBoxTop');
		}
		else 
		{
			if(loginD.value == "" && adresatD.value != "")
			{
				login = adresatD.value;
			}
			
			PokazMsg("Proszę czekać, trwa wysyłanie wiadomości.", false, true, 'dvInfoBoxTop');
			x_AJAXWyslijWiadomosc(userId, login, tytulD.value, txtD.value, strona, typ, sort, AJAXWyslijWiadomoscCallback);
			ZamknijRamke('dvWiadomosc' + wiadId + "_0", 1);
		}
	}
}

function ZamknijKomentarz(){
	var txt = D('txtTrescKomentarza'); 
	if(txt != null) {
		txt.value = "";
		PokazMsg('', false, false); 
		return ZamknijRamke('dvNewKom');
	}
	else
	{
		alert('Zaloguj się w serwisie aby dodać komentarz');
	}
	return false;
}

function WiadomoscStatus(id, otwarta)
{
	if(typeof id == 'undefined')
	{
		id = "0_0";
	}
	
	this.id = id;
	this.otwarta = otwarta;
	this.inProgress = false;
	
	this.title = "";
	this.text = "";
	this.adresat = "";
	
	/*
	if(id > 0)
	{
		this.title = D('txtTytulWiadomosci' + id).value;
		this.text = D('txtTrescWiadomosci' + id).value;
		this.adresat = D('txtAdresatWiadomosci' + id).value;
	}
	*/
}

function WiadomosciStatus() 
{
	this.statusy = new Array();
}

WiadomosciStatus.inProgress = false;

WiadomosciStatus.prototype.getStatus = function(id)
{
	if(typeof(id) != 'undefined')
	{
		if(this.statusy[id] == null || typeof(this.statusy[id]) == 'undefined')
		{	
			this.statusy[id] = new WiadomoscStatus(id, false);
		}
		return this.statusy[id];
	}
	return null;
}

WiadomosciStatus.prototype.getOtwarteWiad = function()
{
	var statArr = [];
	var j = 0;
	for(var stat in this.statusy)
	{
		if(this.statusy.hasOwnProperty(stat))
		{
			var tmpStat = this.getStatus(stat); 
			if(tmpStat.otwarta)
			{
				statArr[j++] = tmpStat.id;
			}
		}
	}
	return statArr;
}

WiadomosciStatus.instance = null;
WiadomosciStatus.getInstance = function()
{
	if(this.instance == null)
	{
		this.instance = new WiadomosciStatus();
	}
	
	return WiadomosciStatus.instance;
}

function resetWiadomosciStatus()
{
	WiadomosciStatus.getInstance().statusy = new Array();
}

function ustawWiadomoscPrzeczytana(wiadId)
{
	x_AJAXUstawWiadomoscPrzeczytana(wiadId, AJAXUstawWiadomoscPrzeczytanaCallback);
}

function ZamknijWiadomosc(wiadId, typ)
{	
	D('jsDebug').innerHTML += "ZamknijWiadomosc(" + wiadId + ", " + typ + ")<br />";
	if(typeof(typ) == 'undefined')
	{
		typ = 0;
	}
	
	var id = wiadId + "_" + typ;
	
	if(wiadId == 0)
	{
		D('jsDebug').innerHTML += "czyszcze nowa wiad <br />";
		D('txtTrescWiadomosci' + id).value = "";
		D('txtTytulWiadomosci' + id).value = "";
		D('txtAdresatWiadomosci' + id).value = "";
	}
	
	var ins = WiadomosciStatus.getInstance();
	var stat = ins.getStatus(id);
	
	if(WiadomosciStatus.inProgress == false)
	{
		WiadomosciStatus.inProgress = true;	// nie pozwol na ponowne wcisniecie
		
		var otwArr = ins.getOtwarteWiad();
		for(var i = 0, len = otwArr.length; i < len; i++)
		{
			if(otwArr[i] != stat.id)
			{
				//D('jsDebug').innerHTML += "zamykam stara: " + otwArr[i] + "<br />";
				ZamknijRamke('dvWiadomosc' + otwArr[i], 1);
			}
		}
		
		D('jsDebug').innerHTML += "Typ: " + typ + ", otwarta: " + stat.otwarta + ", id: " + stat.id + "<br />";
		
		var otw_zam = 0; // nie rob nic
		if(stat.otwarta == true)
		{
			otw_zam = 1;	// zamknij
		}
		else
		{	
			var curWiadTyp = D('hidWiadTyp');
			if(curWiadTyp != null && curWiadTyp.value == 128)
			{
				ustawWiadomoscPrzeczytana(wiadId);
			}
			otw_zam = -1;	// otworz
		}
		
		var res = ZamknijRamke('dvWiadomosc' + id, otw_zam);
		
		return res;
	}
	
	return false;
}

function PrzewinKalendarz(co, kierunek, idDz){
	D('dvWydarzenia').innerHTML = '<div class="loader">Trwa ładowanie danych...</div>';
	var r = D('hidKalRok').value;  
	var m = D('hidKalMc').value;	
	x_AJAXPrzewinKalendarz(idDz, co, kierunek, r, m, AJAXPrzewinKalendarzCallback);
}

function PrzewinKalendarz2(co, rok, mc, idDz){
	D('dvWydarzenia').innerHTML = '<div class="loader">Trwa ładowanie danych...</div>';	
	x_AJAXPrzewinKalendarz(idDz, co, 0, rok, mc, AJAXPrzewinKalendarzCallback);
}

function DodajNaduzycie(userId, rodzajObj, objId){
	var txt = D('txtTrescNaduzycia');
	if(txt.value == ""){		
		PokazMsg("Proszę podać opis nadużycia.", true, false);		
	}else{
		PokazMsg("Proszę czekać, trwa zapisywanie zgłoszenia.", false, true);
		x_AJAXZapiszNaduzycie(userId, rodzajObj, objId, txt.value, AJAXZapiszNaduzycieCallback);
		ZamknijRamke('dvNewNaduzycie');
	}
}

function ZamknijNaduzycie(){
	var txt = D('txtTrescNaduzycia');
	if(txt != null) {
		txt.value = "";
		PokazMsg('', false, false); 
		return ZamknijRamke('dvNewNaduzycie');
	}
	else
	{
		alert('Zaloguj się w serwisie aby zgłosić nadużycie');
	}
	
	return false;
}

function PokazMsg(msg, czyError, pokazLoader, dvName){
	if(typeof(dvName) == 'undefined')
	{
		dvName = "dvInfoBox";
	}
	var dv = D(dvName);
	if(dv != null)
	{
		var errStr = "error", okStr = "ok";
		if(dvName == 'dvInfoBoxTop')
		{
			errStr = "ErrorProvider error";
			okStr = "ErrorProvider ok";
		}
		if(czyError) 
			dv.className = errStr; 
		else 
			dv.className = okStr;
			
		if(pokazLoader) 
			dv.className += " loader";
			 
		dv.innerHTML = msg;
	}
}

function OdswiezDzieci(strona, moje){
	D('dvChildrenLoader').style.display = "";
	x_AJAXOdswiezDzieci(strona, moje, AJAXOdswiezDzieciCallback);	
}

function WyslijProsbeZDz(userId, dzId)
{
	PokazMsg("Wysyłam prośbę o dostęp...", false, false);	
	x_AJAXWyslijProsbeZDz(userId, dzId, AJAXWyslijProsbeZDzCallback);	
}

function WyslijProsbe(userId, dzId, strona)
{
	D('dvChildrenLoader').style.display = "";
	x_AJAXWyslijProsbe(userId, dzId, strona, AJAXWyslijProsbeCallback);	
}

function OdswiezSearch(strona){
	D('dvChildrenLoader').style.display = "";
	x_AJAXOdswiezSearch(strona, AJAXOdswiezSearchCallback);	
}

function toggleFinished()
{
	WiadomosciStatus.inProgress = false;
}

function ZamknijRamke(frmId, flaga){
	
	//alert(tylkoZamknij + " - id: " + frmId + " == " + ostOtwartaRamka);
	var str = "zamykam";
	if(typeof(flaga) != 'undefined')
	{
		var strWiad = "dvWiadomosc";
		if(frmId.match(strWiad))
		{
			var tmpId = frmId.replace(strWiad, '');
			var stat = WiadomosciStatus.getInstance().getStatus(tmpId);
			if(typeof stat != 'undefined')
			{
				if(	(flaga == 0 ) 
				 || (flaga > 0 && stat.otwarta == false)
				 || (flaga < 0 && stat.otwarta == true)
				  )
				 {
				 	D('jsDebug').innerHTML += "Flaga out-of-sync: " + flaga + "<br />";
				 	return false;
				 } 
			}
			if(flaga > 0)
			{
				stat.otwarta = false;
				str = "zamykam";
			}
			else 
			{
				stat.otwarta = true;
				str = "otwieram";
			}
		}
	}
	
	D('jsDebug').innerHTML += str + " ramke: " + frmId + "<br />";
	Effect.toggle(frmId,'slide', {afterFinish: toggleFinished});	
	
	return false;
}	

function PokazHint(text){
	var s = "<div class=\'hint\'>"+text+"</div>";
	Tip(s, SHADOW, false, FADEIN, 500, FADEOUT, 250, BGCOLOR, '', BORDERWIDTH, 0, OPACITY, 75);
}

function PokazImg(sciezka, wersja, offsety){
	var v = "hintimg";
	if(!wersja) wersja = 1;
	if(!offsety) offsety = 0;
	if(wersja == 2) v = "hintimg2";
	var s = "<div class=\'" + v + "\'><img src=\'"+sciezka+"\' /></div>";
	Tip(s, SHADOW, false, FADEIN, 500, FADEOUT, 250, BGCOLOR, '', BORDERWIDTH, 0, OFFSETY, offsety);
}

function NowyPlik(path, dzId, wydId)
{
	if(typeof wydId == 'undefined')
	{
		wydId = 0;
	}
	
	var width = 500;
	var height = 440;
	var left = (screen.width / 2) - (width / 2);
	var top = (screen.height / 2) - (height / 2);
	var oknoPath = path + "/upload.php?id="+wydId+"&dzId="+dzId;
	var oknoArgs =  "width="+width + ",height=" + height+ ",left=" + left + ",top=" + top + ",menubar=no,toolbar=no,location=no,scrollbars=no,resizable=no,status=no";
	var okno = window.open(oknoPath, "nowy_plik", oknoArgs);
	if(!okno.opener){ okno.opener = this.window; }
	okno.focus();
}

function ZapiszZdjecie(akcja, walidacja){
	var file = D('fileZdj');
	if(walidacja && file.value == ""){		
		alert("Proszę wybrać zdjęcie.");
		return false;		
	}else{
		D('action').value = akcja;
		return true;
	}
}

function EdytujZdjecie(){
	PokazMsg('', false, false); 
	return ZamknijRamke('dvZdjecieOpis');
}

function ZapiszOpisZdjecia(id){
	var opis = D('txtOpisZdjecia').value;
	x_AJAXZapiszOpisZdjecia(id, opis, AJAXZapiszOpisZdjeciaCallback);
	return ZamknijRamke('dvZdjecieOpis');
}

function UsunWydarzenie(id, wydNazwa, idDz){
	if(confirm("Czy na pewno usunąć wydarzenie: " + wydNazwa + "?")){
		D('dvWydarzenia').innerHTML = '<div class="loader">Trwa usuwanie wydarzenia...</div>';
		x_AJAXUsunWydarzenie(id, idDz, AJAXUsunWydarzenieCallback);
	}
}

function setPath(strPath)
{
	path = strPath;
}

function validateMail(str, showError)
{
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$/;
	if(str.match(emailRegEx))
	{
		return true;
	}
	else
	{
		if(typeof showError == 'undefined' || showError == true)
		{
			alert("Podano nieprawidłowy adres email");
		}
		return false;
	}
}

function validateForm(name)
{
	var errors = 0;
	switch(name)
	{
		case "frmInvite":
			var fld;
			fld = document.getElementById('txtZaprosMail');
			if(!validateMail(fld.value))
			{
				errors = 1;
			}
		break;
		case "frmRemind":
			var fld;
			fld = document.getElementById('email');
			if(!validateMail(fld.value))
			{
				errors = 1;
			}
		break;
	}
	
	return errors;
}

function formValid(name)
{
	var errors = 0;
	errors = validateForm(name);
	return errors == 0;
}

function resetForm(name)
{
	var form;
	form = document.getElementById(name);
	if(form != null)
	{
		form.reset();
	}
}

function submitForm(name)
{
	var form;
	form = document.getElementById(name);
	if(form != null)
	{
		if(formValid(name) == true)
		{
			form.submit();
			return false; // trzeba zwrocic false dla 'enter' bo by wyslal forme
		}
	}
	
	return true;
}

function submitFormOnEnter(event, name)
{
	if(event)
	{
		var submit = 0;
		if(event.which)
		{
			if(event.which == 13)
				submit = 1;
		}
		else
		{
			if(event.keyCode == 13)
				submit = 1;
		}
		
		if(submit > 0)
		{
			return submitForm(name);
		}
	}
	
	return true;
}

function submitOnConfirm(name, text)
{
	var answer = confirm (text);
	if (answer)
	{
		submitForm(name);
	}
}

function clearForm(name)
{
	var frm;
	frm = document.getElementById(name);
	if(frm != null)
	{
		var inputs = frm.getElementsByTagName('input');

		for(i = 0; i < inputs.length ; i++)
		{
			//alert(inputs[i].name);
			if(inputs[i].type != "hidden")
				inputs[i].value = "";
		}
	}
}

function clearField(name)
{
	var fld;
	fld = document.getElementById(name);
	if(fld != null)
	{
		fld.value = "";
	}
}

function showAction(action)
{
	//alert(path + "/" + action);
	document.location.href = path + "/" + action;
}

function showTab(pageName, tabName)
{
	var page = document.getElementById(pageName);
	if(page != null)
	{
		var tabs = page.getElementsByTagName("div");
		if(tabs != null)
		{
			for(i = 0; i< tabs.length ; i++)
			{	
				//alert(tabs[i].visibility + " <> " + tabs[i].id);
				if(tabs[i].id == tabName)
				{
					//tabs[i].style.visibility = "visible";
					tabs[i].style.display = "block";
				}
				else if(tabs[i].id != "tabs" && tabs[i].id != "msg")
				{
					//tabs[i].style.visibility = "hidden";
					tabs[i].style.display = "none";
				}
			}
		}
		
		var links = page.getElementsByTagName("a");
		if(links != null)
		{
			for(i = 0; i<links.length ; i++)
			{
				if(links[i].id == tabName + "_a")
				{
					links[i].className = "tab_link_active";
				}
				else
				{
					links[i].className = "";					
				}
			}
		}
	}
}

function sendOdswiezZaproszenia(userId)
{
	var sel = document.getElementById("zaprWybierzTyp");
	var typ = 0;
	var selDz = document.getElementById("zaprWybierzDziecko");
	var dzId = 0;
	if(sel != null && selDz != null)
	{
		if(sel.options[0].selected == true)
		{
			typ = "0";
		}
		else if(sel.options[1].selected == true)
		{
			typ = "1";
		}
		else if(sel.options[2].selected == true)
		{
			typ = "2";
		}
		else if(sel.options[3].selected == true)
		{
			typ = "4";
		}
		
		for(i = 0; i < selDz.options.length; i++)
		{
			if(selDz.options[i].selected == true)
			{
				dzId = selDz.options[i].value;
			}
		}
		OdswiezZaproszenia(userId, 0, typ, dzId);
	}
	
	return false;
}

function sendAkceptacje(zaprId, dzId)
{
	if(typeof(zaprId) == 'undefined' || isNaN(parseInt(zaprId)) || typeof(dzId) == 'undefined' || isNaN(parseInt(dzId)))
	{
		showAction("invitees");
		return false;
	}
	
	var akc = "";
	var sel = document.getElementById("zaprAkc_" + zaprId + "_" + dzId);
	if(sel != null)
	{
		if(sel.options.length == 3)
		{
			if(sel.options[1].selected == true)
			{
				akc = "R";
			}
			else if(sel.options[2].selected == true)
			{
				akc = "O";
			}
		}
		else if(sel.options.length == 2)
		{
			if(sel.options[0].selected == true)
			{
				akc = "R";
			}
			else if(sel.options[1].selected == true)
			{
				akc = "O";
			}
		}
	}
	if(akc == "")
	{
		D('jsDebug').innerHTML += "pole akc nie ustawione, nic nie zmieniam<br />";
		return true;
	}
	
	if(D('dvCommLoader')) D('dvCommLoader').style.display = "";		
	x_AJAXAkceptujZaproszenie(zaprId, dzId, akc, AJAXAkceptujZaproszenieCallback);
	//document.location= path + "/filesclient/accept_user.php?akc=" + akc + "&dzId=" + dzId + "&zaprId=" + zaprId;
}
function ShowFoto(id){	
	PokazMsg('Ładowanie zdjęcia...', false, false); 
	D('dvFotoLoader').style.display = "";
	D('dvFotoLoaderText').style.display = "";
	x_AJAXPobierzZdjecie(id, AJAXPobierzZdjecieCallback);
	//D("imgPlik").src = pfn + ".jpg";
}

function ToggleZaznaczWiadomosci()
{
	var chkAll = document.getElementById("chk_wiad_all");
	var ch = false;
	//D('jsDebug').innerHTML += "<br />tog------------------------<br />";
	if(chkAll != null)
	{
		ch = chkAll.checked;
		//D('jsDebug').innerHTML += "chkAll not null and value: " + ch + " = "  + chkAll.checked + "<br />";
	}
	
	var inbox = document.getElementById("InboxMain");
	if(inbox != null)
	{
		//D('jsDebug').innerHTML += "inboxmain not null<br />";
		var chks = inbox.getElementsByTagName("input");
		//D('jsDebug').innerHTML += "len: " + chks.length + "<br />";
		if(chks != null)
		{
			for(i = 0; i < chks.length ; i++)
			{
				//D('jsDebug').innerHTML += "name: " + chks[i].id + "<br />";
				if(chks[i].id.indexOf("chk_wiad_") > -1)
				{
				    //D('jsDebug').innerHTML += "chkAll <br />";
					chks[i].checked = ch;
				}
			}
		}
	}
	//D('jsDebug').innerHTML += "<br />togend---------------------<br />";
}

function getZaznaczoneWiadomosci()
{
	var idArr = [];
	var arrInx = 0;
	var inbox = document.getElementById("InboxMain");
	if(inbox != null)
	{
		var chks = inbox.getElementsByTagName("input");
		if(chks != null)
		{
			for(i = 0; i < chks.length ; i++)
			{
				if(chks[i].id.indexOf("chk_wiad_") > -1 && chks[i].checked == true)
				{
					var tmpInx = chks[i].id.lastIndexOf("_");
					//D('jsDebug').innerHTML += "saving " + chks[i].id.substring(tmpInx + 1, chks[i].id.length) + "<br />";
					idArr[arrInx++] = chks[i].id.substring(tmpInx + 1, chks[i].id.length);
				}
			}
		}
	}
	
	return idArr;
}

function UsunZaznaczoneWiadomosci(userId, strona, typ, sort)
{
	var idArr = getZaznaczoneWiadomosci();
	if(typeof(idArr) == 'undefined' || idArr.length == 0)
	{
		return;
	}
	
	var answer = confirm ("Czy na pewno chcesz usunąć zaznaczone wiadomości?");
	if (answer)
	{
		PokazMsg("Proszę czekać, trwa usuwanie wiadomości.", false, true, 'dvInfoBoxTop');
		x_AJAXUsunWiadomosci(idArr, userId, strona, typ, sort, AJAXUsunWiadomoscCallback);
	}
}

function AutocompletersArr() 
{
	this.arr = new Array();
}
AutocompletersArr.instance = null;
AutocompletersArr.getInstance = function()
{
	if(AutocompletersArr.instance == null)
	{
		AutocompletersArr.instance = new AutocompletersArr();
	}
	
	return AutocompletersArr.instance;
}

AutocompletersArr.prototype.setCreateAutocompleter = function(inputId, outputId)
{
	//alert("autocompleter do: " + inputId);
	if(typeof(this.arr[inputId]) == 'undefined' || this.arr[inputId] == null)
	{
		//D('jsDebug').innerHTML += "Adding autocompleter do: " + inputId + "<br />";
		this.arr[inputId] =  new Ajax.Autocompleter( 
		   inputId,
		   outputId,
		   path + '/filesclient/autocomplete.php',
		   {
		   	 paramName: "search", 
		   	 afterUpdateElement : getSelectedLogin,
		   	 indicator: "WiadomoscAdresatIndicator"
		   }
		);
	}
}

function powtorzLink(userId, mail)
{
	//alert(userId + " " + typeof userId);
	if(typeof userId == 'number' && validateMail(mail, false))
	{
		x_AJAXPowtorzLink(userId, mail, AJAXPowtorzLinkCallback);
	}
}

function onLoad(_path) 
{
	path = _path;
	//AutocompletersArr.getInstance().setCreateAutocompleter('txtAdresatWiadomosci0', 'txtAdresatWiadomosciPodp0');
}

/*		
var autoCompl{$wiad_id} = new Ajax.Autocompleter( 
  'txtAdresatWiadomosci{$wiad_id}',
  'txtAdresatWiadomosciPodp{$wiad_id}',
  path + '/filesclient/autocomplete.php',
  {literal}
  	{
  	 paramName: "search", 
  	 afterUpdateElement : getSelectedLogin
  	}
  {/literal}
);
*/

function disableUpload(disable)
{
	if(typeof disable == 'undefined')
	{
		disable = true;
	}
	
	
	var imgObj = D('fileZdj');
	if(imgObj != null)
	{
		imgObj.disabled = disable ? "disabled" : "";
	}
	
	var txtObj = D('txtTrescPlik');
	if(txtObj != null)
	{
		txtObj.disabled = disable ? "disabled" : "";
	}
	//alert(imgObj + " " + txtObj);
}

function PokazNowaGaleria(fast)
{
	if(typeof fast == 'undefined' || !fast)
	{
		Effect.toggle('gallery_new_frm', 'slide');
		Effect.toggle('upload_frm', 'slide');
	}
	else
	{
		D('gallery_new_frm').style.display =  D('gallery_new_frm').style.display == "" ? "none" : "";
		D('upload_frm').style.display =  D('upload_frm').style.display == "" ? "none" : "";
	}
	
	D('imgDodajPlik').style.display =  D('imgDodajPlik').style.display == "" ? "none" : "";
	D('imgDodajGalerie').style.display =  D('imgDodajGalerie').style.display == "" ? "none" : "";
}

function DodajWydarzenieZPlik()
{
	var tytul = D('txtPlikWydTytul');
	var opis = D('txtPlikWydOpis');
	var stat = getSelectValue('cbPlikWydStatus');
	var idWyd = D('hidDzId');
	
	if(tytul == null || opis == null || typeof stat == 'undefined' || stat == 0)
	{
		PokazMsg("Błąd podczas próby dodania nowego wydarzenia.", true, false);
		return false;
	}
	else
	{
		if(tytul.value == "")
		{
			PokazMsg("Proszę podać tytuł nowego wydarzenia.", true, false);
			return false;
		}
		
		PokazMsg("Trwa dodawanie wydarzenia...", false, true);
		x_AJAXDodajWydarzenieZPlik(idWyd.value, tytul.value, opis.value, stat, AJAXDodajWydarzenieZPlikCallback);
	}
	
	return true;
}

function DodajGalerieZPlik()
{
	var tytul = D('txtPlikGalTytul');
	var opis = D('txtPlikGalOpis');
	var idWyd = D('hidWydId');
	
	if(tytul == null || opis == null)
	{
		PokazMsg("Błąd podczas próby dodania nowej galerii.", true, false);
		return false;
	}
	else
	{
		if(tytul.value == "")
		{
			PokazMsg("Proszę podać tytuł nowej galerii.", true, false);
			return false;
		}
		
		PokazMsg("Trwa dodawanie galerii...", false, true);
		x_AJAXDodajGalerieZPlik(idWyd.value, tytul.value, opis.value, AJAXDodajGalerieZPlikCallback);
	}
	
	return true;
}

function getSelectValue(id)
{
	var obj = D(id);
	if(obj != null)
	{
		if(obj.selectedIndex != null && obj.selectedIndex > -1)
		{
			var val = obj.options[obj.selectedIndex].value;
			if(val > 0)
			{
				return val;
			}
		}
	}
	
	return 0;
}

function refreshPlikOkno()
{
	var selWydId = getSelectValue('sel_gallery');
	var dzId = D('hidDzId').value; 
	document.location.href = path + "/upload.php?id=" + selWydId + "&dzId=" + dzId;
	opener.location.href = path + "/event/" + selWydId;
}

function Focus(ctrl){
	ctrl.style.backgroundColor = "#FFF6B5";
	//ctrl.style.border = "1px solid green";
}

function Blur(ctrl){
	ctrl.style.backgroundColor = "#F5F5F5";
	//ctrl.style.border = "1px solid #98A498";
	if(ctrl.className.indexOf("Req") > 0){ 
		//ctrl.style.borderLeft = "3px solid red";
		//ctrl.style.borderBottom = "2px solid red";
	}	
}

function ZmienSposobZdjec(){
	ZapiszZdjecie('change_sposob', false);
	D("frmUpload").submit();
}

function OdswiezNewsy(strona){
	D('dvChildrenLoader').style.display = "";
	x_AJAXOdswiezNewsy(strona, AJAXOdswiezNewsyCallback);	
}

function ZmienGwiazde(path, ktora){
	if(ktora >= 1) D('imgOcena1').src = path + "/images/gwiazda_czerwona.png";
	if(ktora >= 2) D('imgOcena2').src = path + "/images/gwiazda_czerwona.png";
	if(ktora >= 3) D('imgOcena3').src = path + "/images/gwiazda_czerwona.png";
	if(ktora >= 4) D('imgOcena4').src = path + "/images/gwiazda_czerwona.png";
	if(ktora >= 5) D('imgOcena5').src = path + "/images/gwiazda_czerwona.png";
}

function PrzywrocGwiazde(img, path){
	//img.src = path + "/images/gwiazda_szara.png";
	D('imgOcena1').src = path + "/images/gwiazda_szara.png";
	D('imgOcena2').src = path + "/images/gwiazda_szara.png";
	D('imgOcena3').src = path + "/images/gwiazda_szara.png";
	D('imgOcena4').src = path + "/images/gwiazda_szara.png";
	D('imgOcena5').src = path + "/images/gwiazda_szara.png";
}

function OcenZdjecie(ocena){
	x_AJAXOcenZdjecie(D('hidIdFile').value, ocena, AJAXOcenZdjecieCallback);	
}

function ZamknijPubLink()
{
	if(D('publink') != null)
	{
		ZamknijRamke('publink');
	}
}

function GenerujPublink(action, objId, userId)
{
	if(typeof action != 'undefined' && typeof objId != 'undefined' && typeof userId != 'undefined')
	{
		x_AJAXGenerujPublink(action, objId, userId, AJAXGenerujPublinkCallback);
	}
}

function UsunPublink(act, objId, userId)
{
	if(typeof act != 'undefined' && typeof objId != 'undefined' && typeof userId != 'undefined')
	{
		x_AJAXUsunPublink(act, objId, userId, AJAXUsunPublinkCallback);
	}
}

function PokazGenPublink(postfix)
{
	if(typeof postfix != 'undefined' && postfix != "")
	{
		var i = 0;
		
		var tdGen = D('tdPublGen');
		if(tdGen != null)
		{
			var txtPublArr = tdGen.getElementsByTagName("textarea");
			for (i = 0; i < txtPublArr.length; i++)
			{
				var publ = txtPublArr[i];
				if(publ.id.indexOf('_' + postfix) > 0)
				{
					publ.style.display = "";
				}
				else
				{
					publ.style.display = "none";
				}
			}
		}
		
		var tdLinks = D('tdPublArr');
		if(tdLinks != null)
		{
			var linkArr = tdLinks.getElementsByTagName("a");
			for (i = 0; i < linkArr.length; i++)
			{
				var publ = linkArr[i];
				if(publ.id.indexOf('_' + postfix) > 0)
				{
					publ.className = "a_tab_sel";
				}
				else
				{
					publ.className = "a_tab";
				}
			}
		}
	}
}

function PokazGenSygn(postfix)
{
	if(typeof postfix != 'undefined' && postfix != "")
	{
		var i = 0;
		
		var tdGen = D('tdSygnGen');
		if(tdGen != null)
		{
			var txtPublArr = tdGen.getElementsByTagName("textarea");
			for (i = 0; i < txtPublArr.length; i++)
			{
				var publ = txtPublArr[i];
				if(publ.id.indexOf('_' + postfix) > 0)
				{
					publ.style.display = "";
				}
				else
				{
					publ.style.display = "none";
				}
			}
		}
		
		var tdLinks = D('tdSygnArr');
		if(tdLinks != null)
		{
			var linkArr = tdLinks.getElementsByTagName("a");
			for (i = 0; i < linkArr.length; i++)
			{
				var publ = linkArr[i];
				if(publ.id.indexOf('_' + postfix) > 0)
				{
					publ.className = "a_tab_sel";
				}
				else
				{
					publ.className = "a_tab";
				}
			}
		}
	}
}


function ZamknijSygnaturka()
{
	if(D('sygnaturka') != null)
	{
		ZamknijRamke('sygnaturka');
	}
}

function GenerujSygnature(userId)
{
	if(typeof userId != 'undefined')
	{
		var imgId = D('hidIdFile').value;
		//TODO: waliduj pusty text
		//var text = D('txtSygPodpis');
		x_AJAXGenerujSygnature(userId, imgId, "", AJAXGenerujSygnatureCallback);
	}
}

function PodgladSygnatury()
{
	var str = D('txtSygGen_html').value;
	
	var width = 370;
	var height = 70;
	var left = (screen.width / 2) - (width / 2);
	var top = (screen.height / 2) - (height / 2);
	var oknoPath = path + "/sygn_podglad.php?str=" + escape(str);
	var oknoArgs =  "width="+width + ",height=" + height+ ",left=" + left + ",top=" + top + ",menubar=no,toolbar=no,location=no,scrollbars=no,resizable=no,status=no";
	var okno = window.open(oknoPath, "sygn", oknoArgs);
	
	if(!okno.opener){ okno.opener = this.window; }
	
	okno.focus();
}

function UsunSygnature(idPlik)
{
	if(typeof idPlik != 'undefined')
	{
		x_AJAXUsunSygnature(idPlik, AJAXUsunSygnatureCallback);
	}
}



