function winopen(plik, w, h, scroll, resizable)
{
return winopen(plik, w, h, scroll, resizable, "no", "no");
}

function winopen(plik, w, h, scroll, resizable, toolbar)
{
return winopen(plik, w, h, scroll, resizable, toolbar, "no");
}

function winopen(plik, w, h, scroll, resizable, toolbar, menubar)
{
	 aw=640;
	 ah=450;
	 if(window.screen) {
	  aw=screen.availwidth;
	  ah=screen.availheight;
	  if (!(aw > 0)) {
	   aw=screen.width;
	   ah=screen.height;
	  }
	 }
	 ustawienia=
	 "left="+(aw-w)/2+","
	 +"top="+(ah-h)/2+","
	 +"screenX="+(aw-w)/2+","
	 +"screenY="+(ah-h)/2+","
	 +"width="+w+","
	 +"height="+h+","
	 +"toolbar="+toolbar+","
	 +"location=no,"
	 +"directories=no,"
	 +"status=np,"
	 +"menubar="+menubar+","
	 +"scrollbars="+scroll+","
	 +"name="+plik+","
	 +"resizable="+resizable;
	 noweokno=window.open(plik,
	 	('o_' + Math.random (100)).replace ('.','_'),
	 	ustawienia);
	 return noweokno;
}

function getById(a)
{
	if(document.getElementById) return document.getElementById(a);
	else if(document.all) return document.all[a];
	else return null
}

function checkboxCombineWithLegislations(formName, itemName, combineName, combineDivName)
{
	eval("var form = document.forms['"+formName+"']");
	eval("var item = document.forms['"+formName+"']."+itemName);
	eval("var combineItem = document.forms['"+formName+"']."+combineName);
	var combineDiv = $(combineDivName);
	
	form = $(form);
	item = $(item);
	combineItem = $(combineItem);
	
	if (item.checked)
	{
		if (combineItem) combineItem.removeAttribute('disabled');
		combineDiv.writeAttribute('displayed','true');
		combineDiv.show();
	}
	else
	{
		if (combineItem) combineItem.writeAttribute('disabled','true');
		combineDiv.writeAttribute('displayed','false');
		combineDiv.hide();
	}
	
	checkboxOnClick();
}

function legislationsShow(formName, place)
{
	$(formName+'_arrow_d').hide();
	$(formName+'_arrow_u').show();
	$(formName+'_lists').show();
	$(formName+'_lists').writeAttribute('commited','false');
	
	var staticListDiv = $(formName+'_list_static');
	
	if (staticListDiv)
	{
		var loaded = staticListDiv.readAttribute("loaded");
		
		if  (loaded == '0')
		{
			new Ajax.Updater( staticListDiv, 'formular_legislations.xml', {
		         parameters: {
		             action: 'static',
		             place: place,
		             name: formName
					 },
		             onComplete: function(request)
		             {
		            	 staticListDiv.writeAttribute('loaded',1);
		          	 },
		         evalScripts: true
		    });
		}
	}
}

function legislationsSearch(formName, place)
{
	var inputQuery = $(formName+'_search_query');
	var resultsDiv = $(formName+'_search_results');
	var dynamicListDiv = $(formName+'_search_results');
	var loadingDiv = $(formName+'_list_loading');
	
	if (resultsDiv)
	{
		if (inputQuery.value=='')
		{
			resultsDiv.hide();
		}
		else
		{
			loadingDiv.show();
			
			new Ajax.Updater( dynamicListDiv, 'formular_legislations.xml', {
		         parameters: {
		             action: 'dynamic',
	            	 query: inputQuery.value,
	            	 place: place,
	            	 name: formName
					 },
		             onComplete: function(request)
		             {
		            	 loadingDiv.hide();
		            	 resultsDiv.show();
		          	 },
		         evalScripts: true
		    });
		}
	}
}

function legislationsHide(formName)
{
	inputLegislationsIntoTextArea(formName);
	
	$(formName+'_arrow_u').hide();
	$(formName+'_arrow_d').show();
	$(formName+'_lists').hide();
	$(formName+'_lists').writeAttribute('commited','true');
}

function inputLegislationsIntoTextArea(formName)
{
	inputStaticLegislationsIntoTextArea(formName);
	inputDynamicLegislationsIntoTextArea(formName);
	var textArea = $(formName + '_ta');
	changeTextAreaSize(textArea);
}

function changeTextAreaSize(textArea)
{
	var defaultHeight = Number(textArea.readAttribute('defaultHeight'));
	var staticContentTAHeight = Number(textArea.readAttribute('staticContentTAHeight'));
	var dynamicContentTAHeight = Number(textArea.readAttribute('dynamicContentTAHeight'));
	var height = defaultHeight + staticContentTAHeight + dynamicContentTAHeight;
	if (height > defaultHeight) height = height + defaultHeight;
	textArea.setStyle({'height': height+'px'});
}

function inputDynamicLegislationsIntoTextArea(formName)
{
	var legListDynamic = $(legislations_list_dynamic);
	
	if (legListDynamic)
	{
		var checkboxArray = legListDynamic.select( 'input[type=checkbox]');
		var textArea = $(formName + '_ta');
		var contentTextArea = '';
		var dynamicContentTAHeight = 0;
			
		if (textArea)
		{
			checkboxArray.each(
				function(item)
				{
					if (item.checked)
					{
						var idLeg = item.readAttribute('idLeg');
						var divContent = $('legislation'+idLeg+'content');
						
						if (divContent)
						{
							contentTextArea = contentTextArea
							+ $('legislation'+idLeg+'content').down(0).innerHTML + '\n\n';

							dynamicContentTAHeight += $('legislation'+idLeg+'content').getHeight();
						}
					}
				}
			);
		
			textArea.value = textArea.value + contentTextArea;
			textArea.writeAttribute('dynamicContentTAHeight', dynamicContentTAHeight);
		}
	}
	else
	{
		setTimeout('function(){legislationsHide(formName);}',100);
	}
}

function inputStaticLegislationsIntoTextArea(formName)
{
	var legListStatic = $(legislations_list_static);
	
	if (legListStatic)
	{
		if (legListStatic.readAttribute('loaded')=='1')
		{
			var checkboxArray = legListStatic.select( 'input[type=checkbox]');
			var textArea = $(formName + '_ta');
			var contentTextArea = '';
			var staticContentTAHeight = 0;
			
			if (textArea)
			{
				checkboxArray.each(
					function(item)
					{
						if (item.checked)
						{
							var idLeg = item.readAttribute('idLeg');
							var divContent = $('legislation'+idLeg+'content');
							
							if (divContent)
							{
								contentTextArea = contentTextArea
								+ $('legislation'+idLeg+'content').down(0).innerHTML + '\n\n';
	
								staticContentTAHeight += $('legislation'+idLeg+'content').getHeight();
							}
						}
					}
				);
			
				textArea.value = contentTextArea;
				textArea.writeAttribute('staticContentTAHeight', staticContentTAHeight);
				changeTextAreaSize(textArea);
			}
		}
		else
		{
			setTimeout('function(){legislationsHide(formName);}',100);
		}
	}
}

function resetLegislationsSearch(formName)
{
	var inputQuery = $(formName+'_search_query');
	var resultsDiv = $(formName+'_search_results');
	
	inputQuery.value='';
	resultsDiv.hide();
}

function updateSelectedLegislationNumbers(formName)
{
	var dynamicList = $(formName+'_list_dynamic');
	var selectedDynamicArray = $$('div#'+formName+'_list_dynamic .legislationTrSelected');

	if (selectedDynamicArray.size() == 0)
	{
		dynamicList.hide();
	}
	else
	{
		for (var index = 0, len = selectedDynamicArray.length; index != len; ++index)
		{
			selectedDynamicArray[index].down(0).update(Number(index+1)+'.');
		}
	}
}

function checkIfCheckboxMustBeChecked(id)
{
	var checkboxSelected = $('checkbox'+id+'s');
	if (checkboxSelected && checkboxSelected.checked)
	{	
		$('checkbox'+id).writeAttribute('checked',true);
	}	
}

function addDynamicListCheckboxObserve(id,name)
{
	Event.observe('checkbox'+id, 'click', function(event)
		{
			var elem = $(Event.element(event));
			var dynamicList = $(name+'_list_dynamic');
			var dynamicTable = $(name+'_list_dynamic_table');
							
			if (elem.checked)
			{
				if (dynamicTable)
				{
					if (!$('legislationTr'+id+'Selected'))
					{
						dynamicTable.down().insert({bottom: new Element('tr', {'id': 'legislationTr'+id+'Selected', 'class': 'legislationTrSelected'})});
						var legislationTrSelected = $('legislationTr'+id+'Selected');
						
						legislationTrSelected.insert({bottom: new Element('td', {'id': 'ltd1'+id+'s', 'width': '5%', 'style': 'text-align: right; vertical-align: top;'})});
						var legislationTd1Selected = $('ltd1'+id+'s');
						var selectedDynamicArray = $$('div#legislations_list_dynamic .legislationTrSelected');
						legislationTd1Selected.update(Number(selectedDynamicArray.size()) + '.');
																				
						legislationTrSelected.insert({bottom: new Element('td', {'id': 'ltd2'+id+'s', 'width': '5%', 'style': 'text-align: center; vertical-align: top;'})});
						var legislationTd2Selected = $('ltd2'+id+'s');
						legislationTd2Selected.update('<input type="checkbox" id="checkbox'+id+'s" idleg="'+id+'" checked="true" style="border-bottom: 0px; border-left: 0px; background: none transparent scroll repeat 0% 0%; border-top: 0px; border-right: 0px;"/>');

						legislationTrSelected.insert({bottom: new Element('td', {'id': 'ltd3'+id+'s', 'width': '90%', 'style': 'text-align: justify;'})});
						var legislationTd3Selected = $('ltd3'+id+'s');
						
						legislationTd3Selected.update('<div style="margin-bottom: 5px;"><label for="checkbox'+id+'s">'+ $('label'+id).innerHTML +'</label></div>');
						
						Event.observe('checkbox'+id+'s', 'click', function(event)
							{
								var elem = $(Event.element(event));

								if (!elem.checked)
								{
									var dynamicElemTr = $('legislationTr'+id+'Selected');
									if (dynamicElemTr) dynamicElemTr.remove();
									updateSelectedLegislationNumbers(name);
									
									var searchElem = $('checkbox'+id);
									if (searchElem)
									{
										searchElem.checked=false;
									}
								}
							}
						);
					}
				}
				
				dynamicList.show();
			}
			else
			{
				if ($('legislationTr'+id+'Selected')) $('legislationTr'+id+'Selected').remove();
				updateSelectedLegislationNumbers(name);
			}
		}
	);
}
