function openLayerRegister()
{
	var element = document.getElementById('promo_register_href');
	element.onclick();
	return false;
}

function colorizeRow(row)
{
	if (row.className=='selected')
		row.className='';
	else
		row.className='selected';
}

function sendCalcRow(element)
{
	var objectID;
	var Re = new RegExp("([a-z]+)_([0-9]+)", "g");
	var reMatch;
	reMatch=Re.exec(element.id);
	if (!reMatch || (reMatch.length!=3))
		return;
	objectID=reMatch[2];
	var elementPrice = document.getElementById('price_'+objectID);
	var elementPre = document.getElementById('pre_'+objectID);
	var elementRest = document.getElementById('rest_'+objectID);
	var elementHref = document.getElementById('href_'+objectID);
	var elementRow = document.getElementById('calcrow_'+objectID);
	var form = document.getElementById('calculatorchanger');
	if (elementHref && elementPrice && elementPre && elementRest && form)
	{
		colorizeRow(elementRow);
		form.objectid.value = objectID;
		form.price.value = elementPrice.value;
		form.pre.value = elementPre.value;
		elementHref.style.display='none';
		elementPrice.disabled='disabled';
		elementPre.disabled='disabled';
		FSite2.sendForm(form, function(){
			var response = eval('(' + this.httpRequest.responseText + ')');
			var contID;
			var container;
			var noFails = true;
			for (contID in response.error)
			{
				container = document.getElementById(contID);
				if (!container)
					continue;
				addContainerError(container, response.error[contID]);
				noFails=false;
			}
			if (noFails)
			{
				container = document.getElementById('name_'+response.content.objectid);
				if (container)
					removeContainerError(container);
				container = document.getElementById('price_'+response.content.objectid);
				if (response.content.price && container) container.value=response.content.price;
				container = document.getElementById('pre_'+response.content.objectid);
				if (response.content.pre && container) container.value=response.content.pre;
				container = document.getElementById('rest_'+response.content.objectid);
				if (response.content.rest && container) container.value=response.content.rest;
				reloadCalcTotal();
			}
			elementHref.style.display='';
			elementPrice.disabled='';
			elementPre.disabled='';
			colorizeRow(elementRow);
			reloadSmallFormZone();
		});
	}
}

function sendCalcRemove(element)
{
	var objectID;
	var Re = new RegExp("([a-z]+)_([0-9]+)", "g");
	var reMatch;
	reMatch=Re.exec(element.id);
	if (!reMatch || (reMatch.length!=3))
		return;
	objectID=reMatch[2];
	var elementPrice = document.getElementById('price_'+objectID);
	var elementPre = document.getElementById('pre_'+objectID);
	var elementRest = document.getElementById('rest_'+objectID);
	var elementHref = document.getElementById('href_'+objectID);
	var elementRow = document.getElementById('calcrow_'+objectID);
	var form = document.getElementById('calculatorremove');
	if (form && elementRow && elementPrice && elementPre && elementRest && elementHref)
	{
		colorizeRow(elementRow);
		form.removeid.value=objectID;
		elementPrice.disabled='disabled';
		elementPre.disabled='disabled';
		elementHref.style.display='none';
		FSite2.sendForm(form, function(){
			var response = eval('(' + this.httpRequest.responseText + ')');
			var contID;
			var container;
			var noFails = true;
			for (contID in response.error)
			{
				container = document.getElementById(contID);
				if (!container)
					continue;
				addContainerError(container, response.error[contID]);
				noFails=false;
			}
			if (noFails)
			{
				elementRow.parentNode.removeChild(elementRow);
				reloadCalcTotal();
			}
			else
			{
				elementPrice.disabled='';
				elementPre.disabled='';
				elementHref.style.display='';
				colorizeRow(elementRow);
			}
			reloadSmallFormZone();
		});
	}
}

function sendCalcAdd(objectTypeId)
{
	var rowAdd;
	var elementName = document.getElementById('addname_'+objectTypeId);
	var elementPrice = document.getElementById('addprice_'+objectTypeId);
	var elementPre = document.getElementById('addpre_'+objectTypeId);
	var elementLabel = document.getElementById('addlabel_'+objectTypeId);
	var elementHref = document.getElementById('addhref_'+objectTypeId);
	var elementRowParams = document.getElementById('calcadd_'+objectTypeId);
	var form = document.getElementById('calculatoradd');
	if (elementRowParams && elementHref && elementLabel && elementName && elementPrice && elementPre && form)
	{
		colorizeRow(elementRowParams);
		form.price.value = elementPrice.value;
		form.pre.value = elementPre.value;
		form.objectname.value = elementName.value
		form.type.value = objectTypeId;
		
		elementHref.style.display='none';
		FSite2.sendForm(form, function(){
			var response = eval('(' + this.httpRequest.responseText + ')');
			var contID;
			var container;
			var noFails = true;
			for (contID in response.error)
			{
				container = document.getElementById(contID);
				if (!container)
					continue;
				addContainerError(container, response.error[contID]);
				noFails=false;
			}
			if (noFails)
			{
				removeContainerError(elementLabel);
				elementPre.value='';
				elementPrice.value='';
				elementName.value='';
				if (rowAdd = document.getElementById('calcadd_'+response.content.type))
				{
					addCalcRow(rowAdd, response.content.newid, response.content.name, response.content.price, response.content.pre, response.content.rest);
					reloadCalcTotal();
				}
			}
			elementHref.style.display='';
			colorizeRow(elementRowParams);
			reloadSmallFormZone();
		});
			
	}
}

function addCalcRow(afterRows, newId, newName, newPrice, newPre, newRest)
{
	var tmpID;
	var Re;
	var exemplar = document.getElementById('calc_clear_row');
	var row = exemplar.cloneNode(true);
	if (!row) return;
	row.id='calcrow_'+newId;
	row.style.display='';
	var elements = row.getElementsByTagName('*');
	for (var i=0;i<elements.length;i++)
	{
		Re = new RegExp("([a-z]+)_", "g");
		if ((tmpID = elements[i].getAttribute('id')) && Re.test(tmpID))
		{
			switch (tmpID)
			{
				case 'name_':
					elements[i].innerHTML=newName;
					break;
				case 'price_':
					elements[i].value=newPrice;
					break;
				case 'pre_':
					elements[i].value=newPre;
					break;
				case 'rest_':
					elements[i].value=newRest;
					break;
			}
			elements[i].setAttribute('id', tmpID+newId.toString());
		}
	}
	afterRows.parentNode.insertBefore(row, afterRows);
}

function reloadCalcTotal()
{
	var price = document.getElementById('calctotal_price');
	var pre = document.getElementById('calctotal_pre');
	var rest = document.getElementById('calctotal_rest');
	var cont = document.getElementById('tab_calculator');
	if (price && pre && rest && cont)
	{
		var priceValue=0;
		var preValue=0;
		var restValue=0;
		var Re;
		var ReMatch;
		var elements = cont.getElementsByTagName('input');
		for (var i = 0; i<elements.length; i++)
		{
			if (elements[i].id)
			{
				Re = new RegExp("([a-z]+)_([0-9]+)", "g")
				ReMatch = Re.exec(elements[i].id);
				if (ReMatch && ReMatch.length==3)
				{
					switch (ReMatch[1])
					{
						case 'price':
							priceValue+=toFloat(elements[i].value);
							break;
						case 'pre':
							preValue+=toFloat(elements[i].value);
							break;
						case 'rest':
							restValue+=toFloat(elements[i].value);
							break;
					}
				}
			}
		}
		price.value=priceValue;
		pre.value=preValue;
		rest.value=restValue;
	}
}

function getGuestSortName(row)
{
	var elements = row.getElementsByTagName('td');
	var spans = elements[1].getElementsByTagName('span');
	return fullName = spans[1].innerHTML+spans[0].innerHTML;
}

function addGuestRow(idGuest, firstName, lastName, retinueFirst, retinueLast, child, mail, weeding, guest, note, confirmation, invitation, thanks)
{
	var tmpID;
	var Re;
	var i
	var exemplar = document.getElementById('guest_clear_row');
	var row = exemplar.cloneNode(true);
	FSite2.extendForm(row, window._params._default);
	var lists = document.getElementById('guests_list');
	if (!row) return;
	row.style.display='';
	row.id = 'guestid_'+idGuest;
	row = editGuestRow(row, firstName, lastName, retinueFirst, retinueLast, child, mail, weeding, guest, note, confirmation, invitation, thanks);
	var elements = row.getElementsByTagName('*');
	for (i=0;i<elements.length;i++)
	{
		Re = new RegExp("([a-z]+)_", "g");
		if ((tmpID = elements[i].getAttribute('id')) && Re.test(tmpID))
			elements[i].setAttribute('id', tmpID+idGuest.toString());
	}
	
	var alfabetical;
	var fullName = codeAlfabetical(lastName+firstName);
	var guests = lists.getElementsByTagName('tr');
	if (guests.length==0)
	{
		lists.appendChild(row);
		return;
	}
	for (i=0;i<guests.length;i++)
	{
		alfabetical=codeAlfabetical(getGuestSortName(guests[i]));
		if (fullName < alfabetical)
		{
			lists.insertBefore(row, guests[i]);
			return;
		}
	}
	lists.appendChild(row);
	
	var name = document.getElementById('guestprnames');
	var nameVal;
	var pr = Array();
	for (i=47;i<=54;i++)
		pr[i]=document.getElementById('guestpr'+i).value;
	if (!name.value || (name.value==''))
		nameVal=false;
	else
		nameVal=name.value
	
	if (compareGuestRow(row, nameVal, pr[47], pr[48], pr[49], pr[50], pr[51], pr[52], pr[53], pr[54]))
		row.style.display='';
	else
		row.style.display='none';
	
	reloadTotalGuest();
	return
}

function sendEditGuest(element)
{
	if (element._extension)
		return true;
	var Re = new RegExp("guestedit_([0-9]+)", "g");
	var tmp = Re.exec(element.id);
	if (tmp.length==2)
	{
		element.href+='&guestid='+tmp[1];
		element._extension=true;
		return true;
	}
	return false;
}

function sendRemoveGuest(element)
{
	element.style.display='none';
	var Re = new RegExp("guestdel_([0-9]+)", "g");
	var tmp = Re.exec(element.id);
	if (tmp.length==2)
	{
		var delRow = document.getElementById('guestid_'+tmp[1]);
		if (!delRow)
			return false;
		colorizeRow(delRow);
		var HTTPRequest = new FSite2.HTTPRequest('/ajax.php', function(){
			var response = eval('(' + this.httpRequest.responseText + ')');
			if (response.content && response.content.removeid)
			{
				delRow.parentNode.removeChild(delRow);
				reloadTotalGuest(true);
				reloadSmallFormZone();
			}
		}, 'post','myzoneguests=process&removeguest='+tmp[1]);
		return false;
	}
	element.style.display='';
	return false;
}

function editGuestRow(row, firstName, lastName, retinueFirst, retinueLast, child, mail, weeding, guest, note, confirmation, invitation, thanks)
{
	var elements = row.getElementsByTagName('td');
	var emailHTML;
	var spans;
	
	spans = elements[1].getElementsByTagName('span');
	spans[0].innerHTML = firstName;
	spans[1].innerHTML = lastName;
	if (retinueFirst || retinueLast)
	{
		spans = elements[2].getElementsByTagName('span');
		if (retinueFirst)	spans[0].innerHTML = retinueFirst;
		if (retinueLast)	spans[1].innerHTML = retinueLast;
	}
	
	if (mail)	emailHTML = '<a class="button" href="mailto:'+mail+'"><span class="icon beige_at"></span></a>';
	else		emailHTML = '';
	
	elements[3].innerHTML  = child;
	elements[4].innerHTML  = emailHTML;
	elements[6].innerHTML = '';
	switch (guest)
	{
		case 1 : elements[6].appendChild(createImageIco('/static/img/icons/iko_beige_pair1.gif')); break; 
		case 2 : elements[6].appendChild(createImageIco('/static/img/icons/iko_beige_pair2.gif')); break; 
		case 3 : elements[6].appendChild(createImageIco('/static/img/icons/iko_beige_pair3.gif')); break; 
	}
	elements[5].innerHTML = '';		if (weeding)		elements[5].appendChild(createImageIco('/static/img/icons/iko_beige_check.gif'));
	elements[8].innerHTML = '';		if (confirmation)	elements[8].appendChild(createImageIco('/static/img/icons/iko_beige_check.gif'));
	elements[9].innerHTML = '';		if (invitation)		elements[9].appendChild(createImageIco('/static/img/icons/iko_beige_check.gif'));
	elements[10].innerHTML = '';	if (thanks)			elements[10].appendChild(createImageIco('/static/img/icons/iko_beige_check.gif'));
	
	elements[7].innerHTML = '';
	if (note)
	{
		var noteIco = createImageIco('/static/img/icons/iko_beige_i.gif');
		noteIco.setAttribute('alt', note);
		noteIco.setAttribute('class','alt');
		elements[7].appendChild(noteIco);
		FSite2.extendHelper(noteIco, window._params._default);
	}
	
	return row;
}

function filterGuest()
{
	var i;
	var guests = document.getElementById('guests_list').getElementsByTagName('tr');
	var name = document.getElementById('guestprnames');
	var nameVal;
	var pr = Array();
	for (i=47;i<=54;i++)
		pr[i]=document.getElementById('guestpr'+i).value;
	if (!name.value || (name.value==''))
		nameVal=false;
	else
		nameVal=name.value
	var numsRow = guests.length;
	for (i=0;i<numsRow;i++)
	{
		if (compareGuestRow(guests[i], nameVal, pr[47], pr[48], pr[49], pr[50], pr[51], pr[52], pr[53], pr[54]))
			guests[i].style.display='';
		else
			guests[i].style.display='none';
	}
	reloadTotalGuest();
}

/* ogólna zasada porównywania 0-nie ważne, 1-brak, 2-jest */
function compareGuestRow(row, name, child, email, weeding, guest, note, confirmation, invitation, thanks)
{
	var num;
	var Re;
	var elements = row.getElementsByTagName('td');
	if (child!=0)
	{
		num = new Number(elements[3].innerHTML);
		if (isNaN(num))
			return false;
		if ((child==1) && (num!=0))
			return false;
		if ((child!=1) && (num==0))
			return false;
	}
	if (email!=0)
	{
		num = elements[4].getElementsByTagName('a');
		if ((email==1) && (num.length>0))
			return false;
		if ((email!=1) && (num.length==0))
			return false;
	}
	if (weeding!=0)
	{
		num = compareIsChecked(elements[5]);
		if ((weeding==1) && num)
			return false
		if ((weeding!=1) && !num)
			return false;
	}
	if (guest!=0)
	{
		num = elements[6].getElementsByTagName('img');
		if (!num.length)
			return false;
		var Re1 = new RegExp('/static/img/icons/iko_beige_pair1.gif$', "g");
		var Re2 = new RegExp('/static/img/icons/iko_beige_pair2.gif$', "g");
		var Re3 = new RegExp('/static/img/icons/iko_beige_pair3.gif$', "g");
		if ((guest==1) && (!Re1.test(num[0].src)))
			return false; 
		if ((guest==2) && (!Re2.test(num[0].src)))
			return false; 
		if ((guest==3) && (!Re3.test(num[0].src)))
			return false; 
	}
	if (note!=0)
	{
		num = elements[7].getElementsByTagName('img');
		if ((note==1) && (num.length>0))
			return false;
		if ((note!=1) && (num.length==0))
			return false;
	}
	if (confirmation!=0)
	{
		num = compareIsChecked(elements[8]);
		if ((confirmation==1) && num)
			return false
		if ((confirmation!=1) && !num)
			return false;
	}
	if (invitation!=0)
	{
		num = compareIsChecked(elements[9]);
		if ((invitation==1) && num)
			return false
		if ((invitation!=1) && !num)
			return false;
	}
	if (thanks!=0)
	{
		num = compareIsChecked(elements[10]);
		if ((thanks==1) && num)
			return false
		if ((thanks!=1) && !num)
			return false;
	}
	if (name!==false)
	{
		name=name.toLowerCase();
		var spans;
		var Names = Array();
		var i;
		var resultRegexp = false;
		spans = elements[1].getElementsByTagName('span');
		for (i=0;i<spans.length;i++)
		{
			Names.push(spans[i].innerHTML.toLowerCase());
		}
		if (spans.length==2)
		{
			Names.push(spans[0].innerHTML.toLowerCase()+' '+spans[1].innerHTML.toLowerCase());
			Names.push(spans[1].innerHTML.toLowerCase()+' '+spans[0].innerHTML.toLowerCase());
		}
		spans = elements[2].getElementsByTagName('span');
		for (i=0;i<spans.length;i++)
		{
			Names.push(spans[i].innerHTML.toLowerCase());
		}
		if (spans.length==2)
		{
			Names.push(spans[0].innerHTML.toLowerCase()+' '+spans[1].innerHTML.toLowerCase());
			Names.push(spans[1].innerHTML.toLowerCase()+' '+spans[0].innerHTML.toLowerCase());
		}
		for (i=0;i<Names.length;i++)
		{
			Re = new RegExp('^'+name, "g");
			if (Re.test(Names[i]))
				resultRegexp=true;
		}
		if (!resultRegexp)
			return false;
	}
	return true;
}

function reloadTotalGuest(allGuest)
{
	var total_invite = 0;
	var total_retinue = 0;
	var total_child = 0;
	var total_email = 0;
	var total_weeding = 0;
	var total_weeding_child = 0;
	var total_guest_man = 0;
	var total_guest_woman = 0;
	var total_note = 0;
	var total_confirmation = 0;
	var total_invitation = 0;
	var total_thanks = 0;
	
	var allTotal_invite = 0;
	var allTotal_retinue = 0;
	var allTotal_child = 0;
	var allTotal_email = 0;
	var allTotal_weeding = 0;
	var allTotal_weeding_child = 0;
	var allTotal_guest_man = 0;
	var allTotal_guest_woman = 0;
	var allTotal_note = 0;
	var allTotal_confirmation = 0;
	var allTotal_invitation = 0;
	var allTotal_thanks = 0;
	
	var guests = document.getElementById('guests_list').getElementsByTagName('tr');
	var numGuests = guests.length;
	var elements;
	var num;
	var pair;
	var spans;
	var Re1;
	var Re2;
	var Re3;
	var subTotal;
	var numAdult;
	var numChild;
	
	for (var i=0;i<numGuests;i++)
	{
		if (!allGuest && (guests[i].style.display=='none'))
			continue;
		
		subTotal=(guests[i].style.display=='none')?false:true;
		
		elements = guests[i].getElementsByTagName('td');
		
		spans = elements[2].getElementsByTagName('span');
		if ((spans.length == 2) && (spans[0].innerHTML) && (spans[0].innerHTML!='') && (spans[1].innerHTML) && (spans[1].innerHTML!=''))
			pair=true;
		else
			pair=false;
		
		numAdult=(pair)?2:1;
		
		if (pair)
		{
			if (subTotal)
			{
				total_invite+=2;
				total_retinue++;
			}
			allTotal_invite+=2;
			allTotal_retinue++;
		}
		else
		{
			if (subTotal)
				total_invite++;
			allTotal_invite++;
		}
		
		elements=guests[i].getElementsByTagName('td');
		num = new Number(elements[3].innerHTML);
		if (isNaN(num))
			num=0;
		numChild=num
		if (subTotal)
			total_child+=num;
		allTotal_child+=num;
		
		num = elements[4].getElementsByTagName('a');
		if (num.length > 0)
		{
			if (subTotal)
				total_email++;
			allTotal_email++;
		}
		
		if (compareIsChecked(elements[5]))
		{
			if (subTotal)
			{
				total_weeding+=(numAdult+numChild);
				total_weeding_child+=numChild;
			}
			allTotal_weeding+=(numAdult+numChild);
			allTotal_weeding_child+=numChild;
		}
		
		num = elements[6].getElementsByTagName('img');
		if (num.length)
		{
			Re1 = new RegExp('/static/img/icons/iko_beige_pair1.gif$', "g");
			Re2 = new RegExp('/static/img/icons/iko_beige_pair2.gif$', "g");
			Re3 = new RegExp('/static/img/icons/iko_beige_pair3.gif$', "g");
			if      (Re1.test(num[0].src))
			{
				if (subTotal)
					total_guest_man+=(numAdult+numChild);
				allTotal_guest_man+=(numAdult+numChild);
			}
			else if (Re2.test(num[0].src))
			{
				if (subTotal)
					total_guest_woman+=(numAdult+numChild);
				allTotal_guest_woman+=(numAdult+numChild);
			}
			else if (Re3.test(num[0].src))
			{
				if (subTotal)
				{
					total_guest_man+=(numAdult+numChild);
					total_guest_woman+=(numAdult+numChild);
				}
				allTotal_guest_man+=(numAdult+numChild);
				allTotal_guest_woman+=(numAdult+numChild);
			}
		}
		
		num = elements[7].getElementsByTagName('img');
		if (num.length>0)
		{
			if (subTotal)
				total_note++;
			allTotal_note++;
		}
		
		if (compareIsChecked(elements[8]))
		{
			if (subTotal)
				total_confirmation++;
			allTotal_confirmation++;
		}
		if (compareIsChecked(elements[9]))
		{
			if (subTotal)
				total_invitation++;
			allTotal_invitation++;
		}
		if (compareIsChecked(elements[10]))
		{
			if (subTotal)
				total_thanks++;
			allTotal_thanks++;
		}
	}
	
	document.getElementById('total_invite').innerHTML=total_invite;
	document.getElementById('total_retinue').innerHTML=total_retinue;
	document.getElementById('total_child').innerHTML=total_child;
	document.getElementById('total_email').innerHTML=total_email;
	document.getElementById('total_weeding').innerHTML=total_weeding;
	document.getElementById('total_guest_man').innerHTML=total_guest_man;
	document.getElementById('total_guest_woman').innerHTML=total_guest_woman;
	document.getElementById('total_note').innerHTML=total_note;
	document.getElementById('total_confirmation').innerHTML=total_confirmation;
	document.getElementById('total_invitation').innerHTML=total_invitation;
	document.getElementById('total_thanks').innerHTML=total_thanks;
	
	if (allGuest)
	{
		document.getElementById('alltotal_invite').innerHTML=allTotal_invite;
		document.getElementById('alltotal_retinue').innerHTML=allTotal_retinue;
		document.getElementById('alltotal_child').innerHTML=allTotal_child;
		document.getElementById('alltotal_email').innerHTML=allTotal_email;
		document.getElementById('alltotal_weeding').innerHTML=allTotal_weeding;
		document.getElementById('alltotal_guest_man').innerHTML=allTotal_guest_man;
		document.getElementById('alltotal_guest_woman').innerHTML=allTotal_guest_woman;
		document.getElementById('alltotal_note').innerHTML=allTotal_note;
		document.getElementById('alltotal_confirmation').innerHTML=allTotal_confirmation;
		document.getElementById('alltotal_invitation').innerHTML=allTotal_invitation;
		document.getElementById('alltotal_thanks').innerHTML=allTotal_thanks;
	}
}

function editCalendarEvent(idObject, dateSort, dateView, timeSort, timeView, nameNote, note, calc)
{
	var row=document.getElementById('eventcalendar_'+idObject);
	editRowNote(row, dateSort, dateView, timeSort, timeView, nameNote, note, calc);
	
	var containerDate = getRowDateNote(dateSort, dateView);
	
	var ReTime;
	var tmpLists = containerDate.getElementsByTagName('div');
	var timeObject;
	var regexObject;
	var containerOlder = row;
	var ReDate;
	do
	{
		ReDate = new RegExp('eventrowdate_([0-9]+)', "g");
		containerOlder=containerOlder.parentNode;
	}
	while (!(containerOlder.id && ReDate.test(containerOlder.id)))
	
	reloadSmallFormZone();
	for (var i=0;i<tmpLists.length;i++)
	{
		ReTime = new RegExp('eventcalendar_([0-9]+)', "g");
		
		if (tmpLists[i].id && (regexObject=ReTime.exec(tmpLists[i].id)) && (timeObject = document.getElementById('eventcalednartime_'+regexObject[1])))
		{
			if (timeObject.value > timeSort)
			{
				tmpLists[i].parentNode.insertBefore(row, tmpLists[i]);
				return;
			}
		}
	}
	tmpLists[0].appendChild(row);
	deleteDateContainer(containerOlder);
}

function deleteDateContainer(containerDate)
{
	var elements = containerDate.getElementsByTagName('div');
	if (elements.length>2)
		return false;
	containerDate.parentNode.removeChild(containerDate);
	return true;
}

function editRowNote(row, dateSort, dateView, timeSort, timeView, nameNote, note, calc)
{
	var elementsLI;
	var elements = row.getElementsByTagName('div');
	if (timeView)
		elements[1].innerHTML=timeView;
	else
		elements[1].innerHTML='&nbsp;';
	if (!note)
	{
		elements[3].style.display='none';
		elements[5].innerHTML='';
	}
	else
	{
		elements[3].style.display='';
		elements[5].innerHTML=note
	}
	if (timeSort)
		row.getElementsByTagName('input')[0].value=timeSort;
	else
		row.getElementsByTagName('input')[0].value='';
	elementsLI = row.getElementsByTagName('li');
	var hrefs_LI = elementsLI[1].getElementsByTagName('a');
	if (!calc)
	{
		elementsLI[1].style.display='none';
		hrefs_LI[0].removeAttribute('id');
	}
	else
	{
		elementsLI[1].style.display='';
		hrefs_LI[0].id='eventcalcrow_'+calc.toString();
	}
	
	var bNames = row.getElementsByTagName('b');
	bNames[0].innerHTML=nameNote;
}

function move2calcEvent(element)
{
	var ReCalc = new RegExp('eventcalcrow_([0-9]+)', "g");
	var RegexRes;
	if (element.id && (RegexRes = ReCalc.exec(element.id)) && RegexRes[1])
	{
		switch_tab_zone('tab_calculator', true)
		var field = document.getElementById('price_'+RegexRes[1]);
		field.focus();
	}
	return false;
}

function createRowNote(idObject,dateSort,dateView,timeSort,timeView,nameNote,note,calc)
{
	var row = document.getElementById('clear_row_event').cloneNode(true);
	row.style.display='';
	row.id='eventcalendar_'+idObject.toString();
	
	var elements = row.getElementsByTagName('*');
	for (i=0;i<elements.length;i++)
	{
		Re = new RegExp("([a-z]+)_", "g");
		if ((tmpID = elements[i].getAttribute('id')) && Re.test(tmpID))
			elements[i].setAttribute('id', tmpID+idObject.toString());
	}
	
	editRowNote(row, dateSort, dateView, timeSort, timeView, nameNote, note, calc)
	
	var containerDate = getRowDateNote(dateSort, dateView);
	reloadSmallFormZone();
	
	var ReTime;
	var tmpLists = containerDate.getElementsByTagName('div');
	var timeObject;
	var regexObject;
	for (var i=0;i<tmpLists.length;i++)
	{
		ReTime = new RegExp('eventcalendar_([0-9]+)', "g");
		
		if (tmpLists[i].id && (regexObject=ReTime.exec(tmpLists[i].id)) && (timeObject = document.getElementById('eventcalednartime_'+regexObject[1])))
		{
			if (timeObject.value > timeSort)
			{
				tmpLists[i].parentNode.insertBefore(row, tmpLists[i]);
				return;
			}
		}
	}
	tmpLists[0].appendChild(row);
	FSite2.extendForm(row, window._params._default);
}

function getRowDateNote(dateSort, dateView)
{
	var dateIdSort = 'eventrowdate_'+dateSort;
	var parentLists = document.getElementById('tab_calendar_rows');
	var tmpLists=parentLists.getElementsByTagName('div');
	var lists = Array();
	var ReDate;
	for (var i=0; i<tmpLists.length; i++)
	{
		ReDate = new RegExp('eventrowdate_([0-9]+)', "g");
		if (tmpLists[i].id && ReDate.test(tmpLists[i].id))
		{
			if (tmpLists[i].id == dateIdSort)
				return tmpLists[i];
			lists.push(tmpLists[i]);
		}
	}
	
	var row = document.getElementById('clear_row_date_event').cloneNode(true);
	
	var elements = row.getElementsByTagName('div');
	row.id = 'eventrowdate_'+dateSort;
	row.style.display='';
	elements[1].innerHTML=dateView;
	if (lists.length==0)
	{
		parentLists.appendChild(row);
		return row;
	}
	for (var i=0;i<lists.length;i++)
	{
		if (lists[i].id > row.id)
		{
			parentLists.insertBefore(row, lists[i]);
			return row;
		}
	}
	parentLists.appendChild(row);
	return row;
}

function sendEditEvent(element)
{
	if (!element.id) return false;
	var Re = new RegExp("([a-z]+)_([0-9]+)", "g");
	var reMatch;
	reMatch=Re.exec(element.id);
	if (!reMatch || (reMatch.length!=3))
		return false;
	element.href+='&eventid='+reMatch[2];
	return true;
}

function deleteRowEvent(element)
{
	var Re = new RegExp("deleteevent_([0-9]+)", "g");
	var reMatch;
	reMatch=Re.exec(element.id);
	var parElement = document.getElementById('eventcalendar_'+reMatch[1]);
	parElement.style.display='none';
	var HTTPRequest = new FSite2.HTTPRequest('/ajax.php', function(){
			var response = eval('(' + this.httpRequest.responseText + ')');
			if (response.content && response.content.removed)
			{
				var containerOlder = parElement;
				var ReDate;
				do
				{
					ReDate = new RegExp('eventrowdate_([0-9]+)', "g");
					containerOlder=containerOlder.parentNode;
				}
				while (!(containerOlder.id && ReDate.test(containerOlder.id)))
				parElement.parentNode.removeChild(parElement);
				deleteDateContainer(containerOlder);
				reloadSmallFormZone();
			}
			else
			{
				parElement.style.display='';
			}
	}, 'post','myzonecalendar=process&removeevent='+reMatch[1]);
	return false;
}

function filtrEventsLists()
{
	var toDate = document.getElementById('filtr_event_todate').value;
	var check = (document.getElementById('filtr_event_check').checked)?true:false;
	var dateFrom = document.getElementById('filtr_event_date1').value;
	var dateTo = document.getElementById('filtr_event_date2').value;
	
	if (!dateFrom && check)
		dateFrom=toDate;
	
	if (dateFrom) dateFrom=str_replace(dateFrom,'-','');
	if (dateTo) dateTo=str_replace(dateTo,'-','');
	
	var rows = document.getElementById('tab_calendar_rows').getElementsByTagName('div');
	var Re;
	var match;
	for (var i=0; i<rows.length; i++)
	{
		Re = new RegExp("eventrowdate_([0-9]+)", "g");
		if (rows[i].id && (match = Re.exec(rows[i].id)))
		{
			if ((dateFrom && dateFrom>match[1]) || (dateTo && dateTo<match[1]))
				rows[i].style.display='none';
			else
				rows[i].style.display='';
		}
	}
}

function compareIsChecked(col)
{
	var img = col.getElementsByTagName('img');
	if (img.length>0)
		return true;
	return false;
}

function createImageIco(srcImage)
{
	var img = document.createElement('img');
	img.src=srcImage;
	img.alt='';
	return img;
}

function reloadSmallFormZone()
{
	var container = document.getElementById('tabs_box');
	if (container && container.reload)
		container.reload();
}

function SlubnaMiniZoneCalendarSetDate()
{
	var data = this.getDate();
	var year = data.getFullYear().toString();
	var month = (data.getMonth() + 1).toString();
	var day = data.getDate().toString();
	if (month.length<2) month='0'+month.toString();
	if (day.length<2) day='0'+day.toString();
	var list = document.getElementById('minizone_eventslist');
	var stringDateId = 'date_'+year+'-'+month+'-'+day;
	for (var i=0; i<list._events.length; i++)
	{
		list._events[i].style.display='none';
		if (list._events[i].id==stringDateId)
		{
			list._events[i].style.display='';
			var listsevt = list._events[i].getElementsByTagName('div');
			listsevt[0].style.display='';
			for (var j=1; j<listsevt.length; j++)
				listsevt[j].style.display='none';
		}
	}
	SlubnaMiniCalCheckTime(stringDateId);
	SlubnaMiniCalcheckNav(stringDateId);
}

function SlubnaMiniCalCheckTime(contID)
{
	var cont = document.getElementById(contID)
	if (!cont)
		return;
	var parTime = cont.getElementsByTagName('p')[0].getElementsByTagName('span')[0];
	var evt = cont.getElementsByTagName('div');
	parTime.innerHTML='';
	for (var j=0; j<evt.length; j++)
	{
		if (evt[j].style.display!='none')
		{
			var val = evt[j].getElementsByTagName('input')[0].value;
			if (val)
				parTime.innerHTML=val
			return;
		}
	}
}

function SlubnaMiniCalcheckNav(contID)
{
	var nav = document.getElementById('minzone_event_nav');
	var navs = nav.getElementsByTagName('a');
	var cont = document.getElementById(contID);
	if (cont)
	{
		var lists = cont.getElementsByTagName('div');
		if (lists.length>=2)
		{
			for (var i=0; i<lists.length; i++)
			{
				if (lists[i].style.display!='none')
					break;
			}
			if (i>0)
			{
				navs[0].style.display='';
				navs[0].onclick=function(){
					lists[i].style.display='none';
					lists[i-1].style.display='';
					SlubnaMiniCalCheckTime(contID);
					SlubnaMiniCalcheckNav(contID);
					return false;
				}
			}
			else
			{
				navs[0].style.display='none';
			}
			if (i<(lists.length-1))
			{
				navs[1].style.display='';
				navs[1].onclick=function(){
					lists[i].style.display='none';
					lists[i+1].style.display='';
					SlubnaMiniCalCheckTime(contID);
					SlubnaMiniCalcheckNav(contID);
					return false;
				}
			}
			else
			{
				navs[1].style.display='none';
			}
			return;
		}
	}
	navs[0].style.display='none';
	navs[1].style.display='none';
}

function SlubnaExtendMiniZoneCalendar()
{
	var params = mergeParams(window._params._default, window._params._minizonecalendar)
	var cal = new FSite2.Calendar('calendareventmini', params);
	cal._changeDate = SlubnaMiniZoneCalendarSetDate;
	var list = document.getElementById('minizone_eventslist');
	var events = list.getElementsByTagName('div');
	var Reg;
	var match;
	list._events=new Array();
	for (var i=0; i<events.length; i++)
	{
		Reg = new RegExp('date_([0-9-]+)', "g");
		if (events[i].id && (match=Reg.exec(events[i].id)))
		{
			cal.setDayClass(Date.parseString(match[1]),'event');
			list._events.push(events[i]);
		}
	}
	list.style.display='';
	cal.showCalendar();
	cal._changeDate();
}

function SlubnaExtendMiniZone()
{
	var container = document.getElementById('tabs_box');
	var menu = document.getElementById('minizone');
	if (!container || !menu)
		return;
	var buttons = menu.getElementsByTagName('li');
	var contents = new Array(
		document.getElementById('minizonecont_0'),
		document.getElementById('minizonecont_1'),
		document.getElementById('minizonecont_2'),
		document.getElementById('minizonecont_3'),
		document.getElementById('minizonecont_4')
	);
	var loader = document.getElementById('minizone_loader');
	container._contents = contents;
	container._loader = loader;
	for (var i=0; i<buttons.length; i++)
	{
		if (buttons[i].className=='selected')
		{
			contents[i].style.display='';
			container._tab=i;
			spans = buttons[i].getElementsByTagName('span');
			if (spans.length)
				spans[0].className=spans[0].className.replace('movie_beige','movie_purple');
		}
		else
		{
			contents[i].style.display='none';
			spans = buttons[i].getElementsByTagName('span');
			if (spans.length)
				spans[0].className=spans[0].className.replace('movie_purple','movie_beige');
		}
		buttons[i].onclick=function()
		{
			var spans;
			for (var i=0; i<buttons.length; i++)
			{
				if (buttons[i].id == 'minizonemenu_'+this.id.substr(this.id.length-1))
				{
					buttons[i].className='selected';
					contents[i].style.display='';
					container._tab=i;
				}
				else
				{
					buttons[i].className='';
					contents[i].style.display='none';
					spans = buttons[i].getElementsByTagName('span');
					if (spans.length)
						spans[0].className=spans[0].className.replace('movie_purple','movie_beige');
				}
			}
			return false;
		}
	}
	SlubnaExtendMiniZoneCalendar();
	loader.style.display='none';
	container.reload = function()
	{
		for (var i=0; i<this._contents.length; i++)
			this._contents[i].style.display='none';
		this._loader.style.display='';
		var HTTPRequest = new FSite2.HTTPRequest('/ajax.php', function(){
			var containerNew=document.createElement('div');
			containerNew.innerHTML=this.httpRequest.responseText;
			var helper = containerNew.getElementsByTagName('ul');
			var j = 0;
			while (helper[j].id != 'minizone') {j++;}
			var menu_checks = helper[j].getElementsByTagName('li');
			for (var j=0; j<menu_checks.length; j++)
			{
				if (this._container._tab == j)
					menu_checks[j].className='selected';
				else
					menu_checks[j].className='';
			}
			this._container.innerHTML=containerNew.innerHTML;
			containerNew=null;
			extendDocument(this._container);
			SlubnaExtendMiniZone();
		}, 'post','user=showmini', true);
		HTTPRequest._container=this;
		HTTPRequest.ajaxSendRequest();
	}
}

function str_replace(sourceText, fromChar, toChar)
{
	var arr = sourceText.split(fromChar);
	return arr.join(toChar);
}

function codeAlfabetical(sourceText)
{
	var matrix = {'Ę':'E','Ó':'O','Ą':'A','Ś':'S','Ł':'L','Ż':'Z','Ź':'Z','Ć':'C','Ń':'N','ę':'e','ó':'o','ą':'a','ś':'s','ł':'l','ż':'z','ź':'z','ć':'c','ń':'n'}
	for (var srcChar in matrix)
		sourceText=str_replace(sourceText, srcChar, matrix[srcChar]);
	return sourceText.toLowerCase();
}

function toFloat(valString)
{
	var valFloat = new Number(valString.replace(',','.'));
	if (isNaN(valFloat))
		return 0;
	return Math.round(valFloat*100)/100;
}

function changeViewer(el)
{
	var form = el.form;
	if (form.invoitelayout)
	{
		var layouts = form.invoitelayout;
		var texts = form.invoitetext;
		var file = '/invoite.php';
	}
	else if (form.thankslayout)
	{
		var layouts = form.thankslayout;
		var texts = form.thankstext;
		var file = '/thanks.php';
	}
	else
	{
		return;
	}
	var layoutID=false;
	var textID=false;
	var i;
	if (layouts)
	{
		if (!layouts.length)
			layoutID = (layouts.checked)?layouts.value:false;
		else
		{
			for (i=0;i<layouts.length;i++)
			{
				if (layouts[i].checked)
				{
					layoutID=layouts[i].value;
					break;
				}
			}
		}
	}
	if (texts)
	{
		if (!texts.length)
			textID = (texts.checked)?texts.value:false;
		else
		{
			for (i=0;i<texts.length;i++)
			{
				if (texts[i].checked)
				{
					textID=texts[i].value;
					break;
				}
			}
		}
	}
	if (layoutID)
		document.getElementById('viewer').src = file+'?layout='+layoutID+'&text='+((textID)?textID:'1');
}

function showhelperMyZone(elementID, showTxt, hideTxt)
{
	var menu = document.getElementById('zonenavtxt_'+elementID.toString());
	var cont = document.getElementById('zonetxt_'+elementID.toString());
	if (!menu || !cont)
		return false;
	if (cont.style.display=='none')
	{
		menu.innerHTML = hideTxt;
		cont.style.display = '';
	}
	else
	{
		menu.innerHTML = showTxt;
		cont.style.display = 'none';
	}
}

  function OnMouseOver(btn, className) {
    btn.className = className;
  }
  
  function OnMouseOut(btn, className) {
    var li = btn.parentNode.parentNode;

    if(li.className != 'selected')
      btn.className = className;
  }

    function switch_tab_zone(tab_id, white_containter_visible) {
    
    var tabs = Array(); //tablica z identyfikatorami zakładek
    tabs[0] = 'tab_article';
    tabs[1] = 'tab_gallery';
    tabs[2] = 'tab_movie';
    tabs[3] = 'tab_calendar';
    tabs[4] = 'tab_guests';
    tabs[5] = 'tab_calculator';
    
    var player_id = 'player_'+tab_id.substr(4)
    var player = document.getElementById(player_id);
        
    //schowanie wszystkich zakładek
    for(var i = 0; i < tabs.length; i++) {
      var tab = document.getElementById(tabs[i]);
      if(tab) {
        tab.style.display = 'none';
        document.getElementById('sub_'+tabs[i].substr(4)).className = '';
      }
    }

    //zaznaczenie przełącznika wybranej zakładki
    selTab = document.getElementById(tab_id.substr(4));
    selTab.parentNode.className = 'selected';

    //wyświetlenie wybranej zakładki
    selTabContent = document.getElementById(tab_id);
    selTabContent.style.display = 'block';
    
    //górna część białego kontenera
    var whiteContainerTop = document.getElementById('white_container_top');
    
    //obsługa białego kontenera
    var whiteContainerBottom = document.getElementById('white_container_bottom');
    //whiteContainerBottom.parentNode.removeChild(whiteContainerBottom); 
    if(white_containter_visible && whiteContainerBottom) {
      //jeśli istnieje biały kontener i jest flaga white_containter_visible 
      //to umieszczamy biały kontener w odpowiednim miejscu w zakładce
      if(tab_id == tabs[0]) {
        var firstDiv = selTabContent.getElementsByTagName('div')[0];
        firstDiv.insertBefore(whiteContainerBottom, firstDiv.getElementsByTagName('*')[0]);
      }
      if(tab_id == tabs[1])
        selTabContent.insertBefore(whiteContainerBottom, document.getElementById(tabs[1]).getElementsByTagName('*')[0]);
      
      if(tab_id == tabs[2])
        selTabContent.insertBefore(whiteContainerBottom, document.getElementById(tabs[2]).getElementsByTagName('*')[0]);
        
      document.getElementById('white_container_top').style.display = 'block'; //wyświetlnie górnej części kontenera
      whiteContainerBottom.style.display = 'inline'; //wyświetlnie dolnej części kontenera
      
      //zmniejszenie szerokości playera, gdy wyświetlany jest biały kontener
      if(player)
        player.className = 'tightPlayer';
    }
    else {
      if(whiteContainerTop)
        whiteContainerTop.style.display = 'none';  //schowanie górnej części kontenera
      
      //zwiększenie szerokości playera, gdy wyświetlany jest biały kontener
      if(player)
        player.className = 'widePlayer';
    }
    
    FSite2.proccessHashParams();
  }
  
    function toggleEventDesc(eventObj) {
    var eventNode = eventObj.parentNode.parentNode.parentNode;
    var descNode = eventNode.getElementsByTagName('div')[4];
  
    if((!descNode.style.display || descNode.style.display == 'none') && descNode.className.match('description'))
      descNode.style.display = 'block';
    else
      descNode.style.display = 'none';
  }
  
  function clearText(fieldObj, defaultValue) {
    if (fieldObj.value == defaultValue)
      fieldObj.value = "";
  }
  

