function toggleDisplay(element) {
	if (element.style.display != 'none')
	{
		element.style.display = 'none';
		return 0;
	}
	else
	{
		element.style.display = 'block';
		return 1;
	}
}

function ToggleRows(name)
{
	var objects=document.getElementsByName(name);
	for(var x=0;x<objects.length;x++)
	{
		var element=objects[x];
		if (element.style.display != 'none')
		{
			element.style.display = 'none';
		}
		else
		{
			//IE zupełnie nie łapie table-row
			if(navigator.appName=="Microsoft Internet Explorer")
				element.style.display = 'block';
			else
				element.style.display = 'table-row';
		}
	}
}

function SelectChildCheckboxes(n, zaznacz)
{                         						// n is a Node 
	if (n.nodeType == 1 /*Node.ELEMENT_NODE*/)  // Check if n is an Element
	{
		if(n.type=='checkbox')
			n.checked=zaznacz;
	}
	var children = n.childNodes;                // Now get all children of n
	for(var i=0; i < children.length; i++) {    // Loop through the children
	    SelectChildCheckboxes(children[i], zaznacz);      // Recurse on each one
	}
}

function SelectChildCheckboxesByName(name, zaznacz)
{
	var objects=document.getElementsByName(name);
	for(var x=0;x<objects.length;x++)
	{
		SelectChildCheckboxes(objects[x], zaznacz);
	}
}

function popUp(URL,w,h)
{
	day = new Date();
	id = day.getTime();
	window.open(URL, id ,'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,left=0,top=0,width=' + w + ',height=' + h);
}

function RozwinSekcje(numer)
{
	var sekcja=document.getElementById('sekcja_'+numer);
	var img=document.getElementById('img_'+numer);
	var link=document.getElementById('link_'+numer);
	
	if (sekcja.style.display != 'none')
	{
		sekcja.style.display = 'none';
		link.innerHTML='rozwiń';
		img.src='images/comtravel_przewodnik_rozwin.gif';
	}
	else
	{
		sekcja.style.display = 'block';
		link.innerHTML='zwiń';
		img.src='images/comtravel_przewodnik_zwin.gif';
	}	
}

function UkryjPrzedzialWiekowy(nadawca, odbiorca)
{
	var adult = nadawca.options[nadawca.selectedIndex].value;
	
	if(adult==1)
	{
		odbiorca.style.display='none';
	}
	else
	{
		odbiorca.style.display='block';
	}
}

/*
 * funkcja przepuszczajaca tylko znaki pasujace do podanego regexpa
 * @param event zdarzenie nacisniecia klawisza
 * @param object obiekt w ktory sa wpisywane znaki
 * @param rexepstr sprawdzany regexp
 */
function allowRegexpChar(event, object, regexpstr) {
	var code = (event.which == null) ? event.keyCode : event.which;
	if (code < 0x20 || code > 0x7e)
		return true;
	var regexp = eval("/" + regexpstr + "/");
	var str = String.fromCharCode(code);
	if (str.match(regexp) == null)
		return false;
	return true;
}

function allowRegexpVal(object, regexpstr)
{
	var regexp = eval("/" + regexpstr + "/");
	var str = object.value;
	if (str.match(regexp) == null)
		return false;
	return true;
}

function formatujKod(V,e) 
{ 
	var p=V.value;
	var ch="-";					//znaczek oddzielajÄ…cy czÄ™Ĺ›Ä‡ kodu 
	var q=String.fromCharCode(window.Event?e.which:e.keyCode);
	//q - wpisywany znaczek
	
	if (p.length==2)		//na trzeciej pozycji przyjmuj tylko myĹ›lnik
	{
		if(q==ch)
			return true;
		else
			return false;
	}

	if((!isNaN(q)&&q!=" "))		//jesli wpisywany znak jest liczbÄ…
	{
		return true;			//zezwĂłl na wpisanie
	}
	else						//w innym przypadku
	{
		return false;			//nie zezwalaj
	}
}

//funkcja, która wyszukuje wszystkie elementy wewnątrz nodeid
//wybiera ostatni DIV z nich, czyści w nim pola tekstowe i selecty
//i wstawia duplikat za tym elementem
function DuplicateLastDivInside(nodeid)
{
	//szukamy ostatniego diva wewnątrz nodeid
	var elems=document.getElementById(nodeid).childNodes;
	for(var i=elems.length-1;i>=0;i--)
	{
		//gdy znajdziemy to wychodzimy z pętli
		if(elems[i].tagName=='DIV')
		{
			break;
		}
	}

	Duplicate(elems[i]);

	//to by było fajne, ale nie działa w IE ani operze,
	//bo divy nie mogą mieć atrybutu name:
	//var elems = document.getElementsByName(nodesname);
	//Duplicate(elems[elems.length-1]);
}

function Duplicate(node)
{
	var newFields = node.cloneNode(true);
	
	newFields.id='';

	//czyscimy wszystkie pola tekstowe
	var inputs=newFields.getElementsByTagName('input');
	for(var i=0;i<inputs.length;i++)
		if(inputs[i].type=='text')
			inputs[i].value='';

	//ustawiamy domyslne zaznaczenie w selectach
	var selects=newFields.getElementsByTagName('select');
	for(var i=0;i<selects.length;i++)
		selects[i].selectedIndex=0;

	node.parentNode.insertBefore(newFields,node.nextSibling);	//insertAfter
}

function RemoveDiv(node)
{
	var count=0;
	var nodes=node.parentNode.childNodes;
	for(var i=0;i<nodes.length;i++)
	{
		if(nodes[i].tagName=='DIV')
			count++;
	}

	if(count<=1)
		return false;

	node.parentNode.removeChild(node);
}

function AjaxGetAndDisplay(url, div_id)
{
	new Ajax.Request(url,
	{method: 'get',
		onSuccess: function(transport)
		{
			$(div_id).innerHTML=transport.responseText;
		}
	});
}