// v1.0
function kwota( liczba )
{

	var tekst_kwoty  = Math.floor( liczba ) + '.'  ;  // obetnij cz�� po przecinku

	liczba      = zaokraglij(liczba * 100)          ;
	var reszta   = liczba % 100 ;     // reszta z dzielenia

	if( reszta == 0)
	    return tekst_kwoty + '00'  ;

 	if( reszta >= 10)
		return tekst_kwoty + reszta ;

  if( reszta < 10 )
		return tekst_kwoty + '0' + reszta ;

	return '' ;

}

// v1.0
	function zaokraglij( liczba )
	{
		return Math.round( liczba * 100 ) / 100 ;
	}


function odwrotnyVAT( vat )
{
	return zaokraglij1( vat / ( 1 + vat) , 4) ;
}

function zaokraglij1( liczba , miejsce )
{   // miejsce - do ktorego miejsca po przecinku zaokraglic
	// zak�adam, �e miejsce jest liczb� ca�kowit�

	var mnoznik = 1 ;

	for( var i = 0 ; i < miejsce ; i++)
	{                // 10 ^ miejsce
		mnoznik *= 10 ;
	}

	return Math.round( liczba * mnoznik ) / mnoznik ;
}


function formatuj(tekst , szerokosc , wyrownanie)
{
	tekst = tekst + '' ;
	if( tekst.length >= szerokosc)
	{
		return tekst.substring(0 , szerokosc ) ;
	}

	if( wyrownanie == 'do_lewej' )
		return tekst + spacje( szerokosc - tekst.length ) ;

	if( wyrownanie == 'do_prawej' )
		return spacje( szerokosc - tekst.length) + tekst ;

	if( wyrownanie == 'wysrodkuj' )
	{
		if( ((szerokosc - tekst.length) % 2) == 0 )
			return spacje( (szerokosc - tekst.length) / 2 )
			+ tekst
			+ spacje( (szerokosc - tekst.length) / 2 )  ;
		else
			return spacje( (szerokosc - tekst.length) / 2 )
			+ tekst
			+ spacje( ((szerokosc - tekst.length) / 2) + 1 )   ;

	}

	return tekst ;    // nieprawidlowe wyr�wnanie
}
//----------------------------------------------------------------
function spacje( ile )
{
	var odstep = '' ;

	for( var i = 1 ; i <= ile ; i++ )
		odstep += ' ' ;

	return odstep ;
}

//----------------------------------------------------------------
function parametrURL( search , nazwa)
{
	// uwaga - funkcja nie odnajdzie parametru gdy jest kilka parametr�w
	// i jaki� wcze�niejszy zaczyna si� tak samo jak ten szukany
	// a potem jest dopiero ten w�a�ciwy; nie chcia�o mi si� tego pisa� bo
	// nie by�o czasu

	var poz = search.indexOf( nazwa ) ;

	if( poz == -1)
		return "" ;   // nie odnaleziono takiego parametru

	poz = poz + nazwa.length  ;

	if( search.charAt( poz ) != "=")
		return "";    // by� mo�e jest inny parametr zaczynaj�cy si� tak jak
	// szukany lub pytanie jest niekompletne

	var p1 = ++poz ;


	// szukamy ko�ca parametru (znak & lub ko�ca search - co b�dzie wcze�niej)

	var k1 = search.indexOf( "&" , poz) ; // je�li nie odnajdzie to -1
	var k2 = search.length              ; // wyjdzie 0 je�l po "=" nie ma ju�
	// �adnego znaku


	var p2 ;

	if( k1 == -1)
		p2 = k2 ;
	else
		p2 = Math.min( k1 , k2)  ;

	return search.substring( p1 , p2 ) ;
}


//-------------------------------------------------------------------
function kontekst( startowa , document , ramka )
{
	// v. 1.0
	if( self != top )
		return ;

	document.location.href = startowa + '?url='
	+ escape(document.location.pathname + document.location.search)
	+ '&ramka=' + ramka ;

}

//---------------------------------------------------------------------

function sprawdzFormularzSzukaj(args , szukaj_pustego)
{
	// v 1.0
	// szukaj_pustego: true - przerywam po natrafieniu pierwszego pustego pola
	//                 false - po natrafieniu pierwszego wype�nionego pola
	// zwraca '' je�li przeszuka� i nic nie znalaz�
	// lub nazw� pola je�li natrafi� na nie


	var stop = false ;
	var zaznaczony   ;


	for( i = 0 ; (i < args.length) && (! stop) ; i=i+2 )
	{

		if( (args[i].type == 'text') || (args[i].type == 'textarea') || (args[i].type == 'password'))
		{
			stop = (   szukaj_pustego && (args[i].value == '') ) ||
			( ! szukaj_pustego && (args[i].value != '') ) ;
		}
		else if( args[i].type == 'checkbox' )
		{
			stop = (   szukaj_pustego && ! args[i].checked )  ||
			( ! szukaj_pustego && args[i].checked ) ;
		}
		else if( args[i].length > 0)  // to chyba typ radio
		{

			zaznaczony = false ;

			for( j = 0 ; j < args[i].length && ! zaznaczony ; j++)
				zaznaczony = args[i][j].checked ;


			stop = (   szukaj_pustego && ! zaznaczony )  ||
			( ! szukaj_pustego &&   zaznaczony ) ;
		}
	}

	return (stop ? args[i-2+1] : null) ;
}

//------------------------------------------------------
function sprawdzFormularzOr()
{ // v1.0

	// funkcja sprawdza czy kt�re� z p�l (nazwy p�l przekazujemy w parametrze) maj
	// wype�nion� warto��

	// w parametrze przekazujemy pary: obiekt input oraz przyjazn� nazw�

	var args = sprawdzFormularzOr.arguments ;
	var i ;

	if( ! sprawdzFormularzSzukaj(false) )   // nie odnalaz� �adnego wype�nionego pola
	{
		var pola ;

		for( i = 1 ; (i < args.length) ; i=i+2 )
		{
			if( i != 1 )
				pola += ", " ;

			pola += args[i] ;
		}

		alert('prosz\u0119 wype\u0142ni\u0107 które\u015b z pól: ' + pola ) ;
		return false ;
	}
	else
		return true ;

}

//----------------------------------------------------------
function sprawdzFormularzAnd()
{ // v1.0

	// funkcja sprawdza czy wszystkie pola (nazwy p�l przekazujemy w parametrze) maj
	// wype�nion� warto��

	// w parametrze przekazujemy pary: obiekt input oraz przyjazn� nazw�

	var args = sprawdzFormularzAnd.arguments ;
	var i ;
	var puste ;

	if( (puste = sprawdzFormularzSzukaj( args , true)) != null )   // natrafi� na p-wsze puste pole
	{
		alert('prosz\u0119 wype\u0142ni\u0107 pole "' + puste + '"' ) ;
		return false ;
	}
	else
		return true ;

}

//------------------------------------------------------


function sprawdzFormularz()
//v1.0
{
	// funkcja sprawdza czy pola (nazwy p�l przekazujemy w parametrze) maj�
	// wype�nion� warto��

	// w parametrze przekazujemy pary: obiekt input oraz przyjazn� nazw�

	var args = sprawdzFormularz.arguments ;
	var i ;
	var stop = false ;

	for( i = 0 ; (i < args.length) && (! stop) ; i=i+2 )
	{
		if( (args[i].type == 'text') || (args[i].type == 'textarea') || (args[i].type == 'password'))
		{
			stop = (args[i].value == '') ;
		}
		else if( args[i].type == 'checkbox' )
		{
			stop = (! args[i].checked) ;
		}
	}

	if( stop )
	{
		alert('prosz\u0119 wype\u0142ni\u0107 pole "' +  args[i-1] + '"' ) ;
		return false ;
	}
	else
		return true ;

}


//-----------------------------------------------------------------------

function sprawdzFormularz___()
//v1.
{
	// funkcja sprawdza czy pola (nazwy p�l przekazujemy w parametrze) maj�
	// wype�nion� warto��

	// w parametrze przekazujemy pary: obiekt input oraz przyjazn� nazw�

	var args = sprawdzFormularz.arguments ;
	var i ;
	var stop = false ;
	var wyswietlaj_alert = true ;
	var maks = args.length ;

	var przekazano_ostatni = (args.length % 2 == 1) ;

	if( przekazano_ostatni )
	{
		maks -= 1 ;
		wyswietlaj_alert = args[args.length-1] ;
	}


	for( i = 0 ; (i < maks) && (! stop) ; i=i+2 )
	{
		if( (args[i].type == 'text') || (args[i].type == 'textarea') || (args[i].type == 'password'))
		{
			stop = (args[i].value == '') ;
		}
		else if( args[i].type == 'checkbox' )
		{
			stop = (! args[i].checked) ;
		}
	}

	if( stop )
	{
		if( wyswietlaj_alert )
			alert('prosz\u0119 wype\u0142ni\u0107 pole "' +  args[i-1] + '"' ) ;

		return false ;
	}
	else
		return true ;

}



function wyczyscNizszePoziomy(poziom)
{
	var div = document.getElementById("div_ponitce_" + poziom) ;
	if(div != null)
	{
		wyczyscNizszePoziomy(poziom+1) ;
		div.innerHTML = '' ;
	}
}

function zmiana(poziom)
{
	var form = document.getElementById('ponitce_' + poziom) ;

	if(form.id.value == 0)
	{
		wyczyscNizszePoziomy(poziom+1) ;
		return false ;
	}

	advAJAX.submit
	(
		form ,
		{
			onError   : function(obj) {
				blad(obj) ;
			} ,
			onSuccess : function(obj) {
				zaladujPoziom(obj,poziom+1) ;
			}
		}
		) ;

	return false ;
}

function blad(obj)
{
	alert("Operacja nieudana, b\u0142\u0105d nr " + obj.status) ;
}

function zaladujPoziom(obj,poziom)
{
	var aktualny = obj.responseXML.documentElement.firstChild ;
	var tekst = '' ;
	var pierwszy = true ;
	var element ;
	var extrainfo = '' ;
	var extrainfo2 = '' ;

	while(aktualny != null)
	{
		if(aktualny.nodeType == 1)
		{
			if(aktualny.nodeName == 'podgrupa')
			{
				if(pierwszy)
				{
					tekst += '<form action="projekty/ponitce/ponitce.jsp" method="post" id="ponitce_' + poziom + '">' ;
					tekst += '<select name="id" onchange="zmiana(' + poziom + ')">' ;
					tekst += '<option value="0">Wybierz</option>' ;
					pierwszy = false ;
				}

				tekst += '<option value="' + aktualny.getAttribute('gr_id') + '">' + aktualny.getAttribute('nazwa') + '</option>' ;
			}
			else if(aktualny.nodeName == 'extraInfo')
			{
				element = aktualny.firstChild ;

				while(element != null)
				{
					if(element.nodeType == 4)
					{
						extrainfo = element.nodeValue ;
					}

					element = element.nextSibling ;
				}
			}
			else if(aktualny.nodeName == 'extraInfo2')
			{
				element = aktualny.firstChild ;

				while(element != null)
				{
					if(element.nodeType == 4)
					{
						extrainfo2 = element.nodeValue ;
					}

					element = element.nextSibling ;
				}
			}
		}
		aktualny = aktualny.nextSibling ;
	}

	if(! pierwszy)
	{
		tekst += '</select>' ;
		tekst += '</form>' ;
	}

	if(extrainfo != '')
	{
		tekst += '<br>' + extrainfo ;
	}

	if(extrainfo2 != '')
	{
		tekst = extrainfo2 + '<br>' + tekst ;
	}

	if(! pierwszy)
	{
		tekst += '<div id="div_ponitce_' + (poziom+1) + '">' ;
		tekst += '</div>' ;
	}


	document.getElementById('div_ponitce_' + poziom).innerHTML = tekst ;
}



