// printPlaceId - miejsce wyswietlania w formularzu kolejnych pol z imieniem, nazwiskiem i stanowiskiem,
// liczbaUczId - id pola przechowujacego liczbe uczestnikow,
function Uczestnik(thisObjectName, cenaObjectName, printPlaceId, liczbaUczId)
{
	// nazwa obiektu JavaScript tej klasy
	var thisObjectName = thisObjectName;
	// nazwa obiektu aktualizujacego cene szkolenia
	var cenaObjectName = cenaObjectName;
	// pole w formularzu przechowujace liczbe uczestnikow
	var liczbaUczField = document.getElementById(liczbaUczId);
	// pole w formularzu w ktorym wyswietlane sa dane uczestnika (imie, nazwisko i stanowisko)
	var printPlace = document.getElementById(printPlaceId);;
	// imiona uczestnikow
	var imiona = new Array();
	// nazwiska uczestnikow
	var nazwiska = new Array();
	// stanowiska uczestnikow
	var stanowiska = new Array();
	
	
	// pobiera liczbe uczesnitkow
	this.getLiczbaUcz = function()
	{
		if(typeof(liczbaUczField) != 'undefined')
			return parseInt(liczbaUczField.value);
		
		return 0;
	};
	
	
	// dodaje informacje o kolejnym uczestniku
	this.incrementLiczbaUcz = function()
	{ 
		if(typeof(liczbaUczField != 'undefined'))
		{
			liczbaUczField.value = parseInt(liczbaUczField.value) + 1;
			imiona.push("");
			nazwiska.push("");
			stanowiska.push("");
		}
	};
	
	
	// pobiera imie o podanym indeksie
	this.getImie = function(indx)
	{
		if(indx < imiona.length) 
			return imiona[indx];
		
		return "";
	};
	
	// zmienia imie na podanym indeksie
	this.changeImie = function(indx, value)
	{
		if(indx < imiona.length)
			imiona[indx] = value;
	};
	
	
	// pobiera nazwisko o podanym indeksie
	this.getNazwisko = function(indx)
	{ 
		if(indx < nazwiska.length) 
			return nazwiska[indx]; 
		
		return "";
	};
	
	// zmienia nazwisko na podanym indeksie
	this.changeNazwisko = function(indx, value)
	{
		if(indx < nazwiska.length)
			nazwiska[indx] = value;
	};
	
	
	// pobiera stanowisko o podanym indeksie
	this.getStanowisko = function(indx)
	{ 
		if(indx < stanowiska.length) 
			return stanowiska[indx]; 
	
		return "";
	};
	
	// zmienia stanowisko na podanym indeksie
	this.changeStanowisko = function(indx, value)
	{
		if(indx < stanowiska.length)
			stanowiska[indx] = value;
	};
	
	
	// pobiera miejsce do wstawienia pol z kolejnymi uczestnikami
	this.getPrintPlace = function()
	{ return printPlace; };

	
	// pobiera nazwe obiektu tej klasy
	this.getThisObjectName = function()
	{ return thisObjectName; };
	
	
	// pobiera nazwe obiektu aktualizujacego cene szkolenia
	this.getCenaObjectName = function()
	{ return cenaObjectName; };
	

	// inicjowanie danych uczestnikow
	// imionaArr - dotychczasowo wprowadzone imiona,
	// nazwiskaArr - dotychczasowo wprowadzone nazwiska,
	// stanowiska Arr - dotychczasowo wprowadzone stanowiska;
	// pelne dane uczestnika to elementy o tym samym indeksie z tablic imionaArr, nazwiskaArr i stanowiskaArr
	this.fillData = function(imionaArr, nazwiskaArr, stanowiskaArr)
	{
		if(imionaArr.length == 0 && nazwiskaArr.length == 0)
		{
			liczbaUczField.value = 1;
			imiona.push("");
			nazwiska.push("");
			stanowiska.push("");
		}
			
		else
		{
			liczbaUczField.value = Math.max(imionaArr.length, nazwiskaArr.length);
			imiona = imionaArr;
			nazwiska = nazwiskaArr;
			stanowiska = stanowiskaArr;
		}
	};
}


Uczestnik.prototype.show = function()
{
	var str = "<table style='margin: 0px; width: 100%' cellspacing='0' cellpadding='0'>";
	for(i=0; i<this.getLiczbaUcz(); i++)
	{
		str += "" +
			"<tr>\n"+
				"<td class='mediumbg' colspan='2'>\n"+
					"<p class='tableitemheader'>Uczestnik "+(i+1)+"</p>\n"+
				"</td>\n"+
			"</tr>\n"+
			"<tr height='2'>\n"+
				"<td colspan='2'>\n"+
				"</td>\n"+
			"</tr>\n"+

			"<tr>\n"+
				"<td class='mediumbg' width='50%'>\n"+
					"<p class='tableitem' style='margin-left: 27px'>Imię (*):</p>\n"+
				"</td>\n"+
				"<td class='mediumbg' width='50%'>\n"+
		
					"<input class='tableinputbox' type='text' id='Imie_"+i+"' name='Imie_"+i+"' value='"+this.getImie(i)+"' maxlength='200' onchange='"+this.getThisObjectName()+".changeImie("+i+", this.value); "+this.getCenaObjectName()+".aktualizujCene();'>\n"+
		
				"</td>\n"+
			"</tr>\n"+
			"<tr height='2'>\n"+
				"<td colspan='2'>\n"+
				"</td>\n"+
			"</tr>\n"+
		
			"<tr>\n"+
				"<td class='mediumbg' width='50%'>\n"+
					"<p class='tableitem' style='margin-left: 27px'>Nazwisko (*):</p>\n"+
				"</td>\n"+
				"<td class='mediumbg' width='50%'>\n"+
		
					"<input class='tableinputbox' type='text' id='Nazwisko_"+i+"' name='Nazwisko_"+i+"' value='"+this.getNazwisko(i)+"' maxlength='200' onchange='"+this.getThisObjectName()+".changeNazwisko("+i+", this.value); "+this.getCenaObjectName()+".aktualizujCene();'>\n"+
		
				"</td>\n"+
			"</tr>\n"+
			"<tr height='2'>\n"+
				"<td colspan='2'>\n"+
				"</td>\n"+
			"</tr>\n"+
			
			
			"<tr>\n"+
				"<td class='mediumbg' width='50%'>\n"+
					"<p class='tableitem' style='margin-left: 27px'>Stanowisko:</p>\n"+
				"</td>\n"+
				"<td class='mediumbg' width='50%'>\n"+
		
					"<input class='tableinputbox' type='text' name='Stanowisko_"+i+"' value='"+this.getStanowisko(i)+"' maxlength='200' onchange='"+this.getThisObjectName()+".changeStanowisko("+i+", this.value); "+this.getCenaObjectName()+".aktualizujCene();'>\n"+
		
				"</td>\n"+
			"</tr>\n"+
			"<tr height='2'>\n"+
				"<td colspan='2'>\n"+
				"</td>\n"+
			"</tr>";
	}
	
	str += "</table>";
	
	this.getPrintPlace().innerHTML = str;
}


Uczestnik.prototype.addNextUcz = function()
{
	this.incrementLiczbaUcz();
	this.show();
}