var defaultblock;
var minCopyBlock = 1;

var updateRequest = {};

function loaderGo(url,infotext)
{
	if(!infotext) 
		infotext = loadingInfoText;
	var onsubmitf = showLoadingLayer(infotext,'');
	window.setTimeout( function() { FSite2.redirectByForm(url,null,onsubmitf) }, 500 );
	return false;
}

function goByAjax(url)
{
	var hr = FSite2.HTTPRequest(url,null,'post');
}

function newsearch(nr,type)
{
	_url=false;
	if (url_search[nr])
		_url=url_search[nr];
	if (!_url) _url=nr;
	
	var eventListener=new Tovo.eventListener();
	eventListener.classFormLayer = 'layerWindow layerform';
	eventListener.onPrepare=eventListener.beforeLoadPageSearchLayer;
	eventListener.onComplete=eventListener.afterLoadPageSearchLayer;
	new Tovo.ContentLoad(_url,eventListener);
}

function handle_its()
{
	elm = document.getElementById('its');
	
	if( elm.checked )
	{ 
		document.getElementById('t_its').style.display='';
		
		if( document.getElementById('date01') && document.getElementById('date012') )
		{
			document.getElementById('dates').value = document.getElementById('date01').value;
			document.getElementById('dates2').value = document.getElementById('date012').value;
		}
		else if( document.getElementById('date03') && document.getElementById('date032') )
		{
			document.getElementById('dates').value = document.getElementById('date03').value;
			document.getElementById('dates2').value = document.getElementById('date032').value
		}
		
	}
	else 
		document.getElementById('t_its').style.display='none';
}

function handle_ith()
{
	elm = document.getElementById('ith');
	
	if( elm.checked )
	{ 
		document.getElementById('t_ith').style.display='';
		
		if( document.getElementById('date01') && document.getElementById('date012') )
		{
			document.getElementById('date03').value = document.getElementById('date01').value;
			document.getElementById('date032').value = document.getElementById('date012').value;
		}
	}
	else 
		document.getElementById('t_ith').style.display='none';
}

function checkForUpdateRequest()
{
			var status = false;
	
			for( key in updateRequest )
			{
					if( updateRequest[key] )
							status = true;
			}
			return status;
}

function searchresult(f,other)
{
	if (f.onSubmit && (typeof(f.onSubmit)=='function'))
	{
		if (!f.onSubmit())
			return;
	}
	var eventListener=new Tovo.eventListener();
	if (window.l1 && window.l1.object)
		eventListener.beforeSearchLayerPage();
//	else
//		eventListener.beforeSearchMainPage();
	var status = checkForUpdateRequest();
	if (status)
	{
		setTimeout( function() {searchresult(f,other)}, 200);
		return;
	}
	//W przypadku kiedy jest warstwa z wyszukiwarka
	if (window.l1 && window.l1.object)
	{
		eventListener.onErrors=eventListener.afterSearchLayerPageError;
		new Tovo.FormSubmit(f,eventListener);
	}
	else
	{
		eventListener.content=f;
		if (other)
		{
			eventListener.contentsearch=other;
			eventListener.contentsearchload=other+'_load';
		}
		eventListener.onErrors=eventListener.afterSearchMaingPage;
		eventListener.beforeSearchMainPage();
		new Tovo.FormSubmit(f,eventListener);
	}
}

function showMaps(pole,typeMap,typeForm)
 {
	window._atlasbg = new FSite2.Layer('background');
	window._atlasbg.fullScreen();
//  img=document.createElement('img');
//  img.src='layout/ajax/loading_white.gif';
//  loader = new FSite2.Layer('backgroundformloader');
//  loader.object.appendChild(img);
//  loader.center();

	window._atlas = new FSite2.Layer('mapLayer',false,'flashmaps');
	
	so = new SWFObject(((window._homedir)?window._homedir:'')+'/flash/atlas.swf', 'flashmaps2', 650, 390, 8, '#000000');
	so.addParam("quality", "high");
	so.addParam('AllowScriptAccess', 'always');
	if( typeForm ) so.addVariable("typeForm",typeForm);
	so.addVariable("tabType", typeMap);
	so.addVariable("domena", "/"+typeMap+"/atlas/xml/");
	so.addVariable("kolor_map1", AtlasColor.c_map1);
	so.addVariable("kolor_map2", AtlasColor.c_map2);
	so.addVariable("kolor_txt1", AtlasColor.c_txt1);
	so.addVariable("kolor_txt2", AtlasColor.c_txt2);
	so.addVariable("kolor_nav1", AtlasColor.c_nav1);
	so.addVariable("kolor_nav2", AtlasColor.c_nav2);
	so.addVariable("atlasid", pole);

	so.write("flashmaps"); 

	window._atlas.center();

	window._atlasbg.object.onclick = function ()
	{
		window._atlasbg.remove();
		window._atlas.remove();
	}
 }

self.insertcity = function (pole,citycode,cityname,countrycode,typeForm)
{
	if( typeForm == 'fhc' || typeForm == 'fh' )
	{
			updateCityHotel('destinationcode_code',citycode,'destinationcode',cityname,'f');
	}
	
	if( typeForm == 'fhc' || typeForm == 'fc' || typeForm == 'hc' )
	{
			if( pole == 'cityto' )
			{
				updateCountryCityCar('kraj_z',countrycode,citycode,'f');
			}
			else if( pole == 'destinationcode' )
			{
				updateCountryCityCar('kraj_z',countrycode,citycode,'h');	
			}
	}
	
	if (document.getElementById(pole))
		document.getElementById(pole).value=cityname;
	if (document.getElementById(pole+'_code'))
		document.getElementById(pole+'_code').value=citycode;
	
	setTimeout('self.close()', 200);

}

self.close = function()
{
	if (window._atlas && window._atlas.object)
		window._atlas.remove();
	if (window._atlasbg && window._atlasbg.object)
		window._atlasbg.remove();
}

function autocomplete_clearcode(code_id,form_type)
{
	if( code_id.id == 'cityto' )
	{
		if( form_type == 'fhc' )
		{
			document.getElementById('destinationcode').value = '';
			document.getElementById('destinationcode_code').value = '';
			document.getElementById('kraj_z').value = '';
			loadcitycar2( '', false, form_type );
		}
	}
	
	
	
	/*if (code_id.id)
	{
		input=document.getElementById(code_id.id+'_code');
		input.value='';
	}*/
}

function selectspan (formElement,object,othersearcher,url_adv)
{
	if (!url_search[object.value] && !url_adv)
		return;
	var inputArray = formElement.getElementsByTagName('input');
	
	for (var i = 0; i < inputArray.length; i++)
	{
		if (inputArray[i].type=='radio')
		{
			if (inputArray[i]==object)
			{
				var cont;
				//Wyszukiwanie inne niz na stronie glownej - np: strona promocji
				if (othersearcher)
				{
					if (!(cont=document.getElementById(othersearcher)))
						return;
					if (!url_adv)
						return;
					var eventListener=new Tovo.eventListener();
					eventListener.content=cont;
					eventListener.contentsearch=othersearcher
					eventListener.contentsearchload=othersearcher+'_load';
					eventListener.onPrepare=eventListener.beforeSearchMainPage;
					eventListener.onComplete=eventListener.afterLoadSearchMainPage;
					new Tovo.ContentLoad(url_adv,eventListener);
				}
				else
				{
					if (!(cont=document.getElementById('contentsearch')))
						return;
					var eventListener=new Tovo.eventListener();
					eventListener.content=cont;
					eventListener.onPrepare=eventListener.beforeSearchMainPage;
					eventListener.onComplete=eventListener.afterLoadSearchMainPage;
					new Tovo.ContentLoad(url_search[object.value],eventListener);
				}
				inputArray[i].parentNode.className='select';
			}
			else
			{
				inputArray[i].parentNode.className='';
			}
		}
	}
}

function selectspan2 (form, type)
{
	if (type)
		map=form+type;
	else
		map=form;
	
	if (!url_search[map])
		return;
	
	var eventListener=new Tovo.eventListener();
	eventListener.content=document.getElementById('contentsearch');
	eventListener.onPrepare=eventListener.beforeSearchMainPage;
	eventListener.onComplete=eventListener.afterLoadSearchMainPage;
	new Tovo.ContentLoad(url_search[map],eventListener);
}

function childcount(el)
{
	if (new Number(el.value) > 0 && $('child_age_info') )
	{
		FSite2.showElement($('child_age_info'));
	}
	else if($('child_age_info'))
	{
		FSite2.hideElement($('child_age_info'));
	}
	
	
	i=1;
	while (d=document.getElementById('child'+i))
	{
		if (i<=new Number(el.value))
		{
			d.style.visibility='visible';
			d.style.display='block'
			sels=d.getElementsByTagName('select');
			for (x=0;x<sels.length;x++)
			{
				sels[x].disabled=false;
			}
		}
		else
		{
			d.style.visibility='hidden';
			d.style.display='none'
			sels=d.getElementsByTagName('select');
			for (x=0;x<sels.length;x++)
			{
				sels[x].disabled=true;
			}
		}
		i++;
	}
}


function changeroomtype(el,cont)
{
	if (el.value.substr(el.value.length-1,1) == '+')
	{
		document.getElementById(cont).style.display='';
		var sel=document.getElementById(cont).getElementsByTagName('select');
		for (var i=0;i<sel.length;i++)
			sel[i].disabled=false;
	}
	else
	{
		document.getElementById(cont).style.display='none';
		var sel=document.getElementById(cont).getElementsByTagName('select');
		for (var i=0;i<sel.length;i++)
			sel[i].disabled=true;
	}
}

/*Zmiana lini w 'szukaj promocji'*/
function changeLinie(elm, location)
{
	var linie_val;
	
	if( document.getElementById('check_linie_regularne').checked && document.getElementById('check_linie_tanie').checked )
	{
		linie_val = 2;
	}
	else if( !document.getElementById('check_linie_regularne').checked && document.getElementById('check_linie_tanie').checked )
	{
		linie_val = 1;
	}
	else if( document.getElementById('check_linie_regularne').checked && !document.getElementById('check_linie_tanie').checked )
	{
		linie_val = 0;
	}
	else
	{
		 linie_val = 0;
	}  
	document.getElementById('linie').value = linie_val;
	window.location = location + '/linie/' + linie_val;
}

function simpleCopy(object,max,el)
{
	objects = object.getElementsByTagName('div');
	object = objects[objects.length - 1];
	if (object && object.innerHTML)
	{
		div=document.createElement('div');
		div.className=(object.className)?object.className:'';
		div.style.margin=object.style.margin;
		div.style.marginTop=object.style.marginTop;
		div.style.marginBottom=object.style.marginBottom;
		div.style.width=object.style.width;
		div.innerHTML=object.innerHTML;
		object.parentNode.appendChild(div);
		inputArray = div.getElementsByTagName('input');
		var i;
		for (i = 0; i < inputArray.length; i++)
		{
			var re = new RegExp('([^0-9]+)([0-9]+)([^0-9]*)', 'gi');
			var matches;
			if (matches = re.exec(inputArray[i].name))
				inputArray[i].name = matches[1] + (Number(matches[2]) + 1) + matches[3];
			re = new RegExp('([^0-9]+)([0-9]+)', 'gi');
			if (matches = re.exec(inputArray[i].id))
				inputArray[i].id = matches[1] + (Number(matches[2]) + 1) + matches[3];
		}
	}
	if (max && el && (object.parentNode.getElementsByTagName('div').length>=max))
	el.style.visibility='hidden';
}

/*inicjacja modułu kopiowania bloków*/
function initblock()
{
	if (!document.getElementById('multiblocks')) return false;
	blocks = document.getElementById('multiblocks').getElementsByTagName('div');
	for (i=0;i<blocks.length;i++)
	{
		if (blocks[i].className='multiblockschild')
		{
			defaultblock = blocks[i].innerHTML;
			return true;
		}
	}
	defaultblock=false;
	return false;  
}

/*przelot złożony kopiowanie bloków*/
function addmultiblock(par,max)
{
	eladd=par.parentNode.parentNode.getElementsByTagName('img')[0];
	eldel=par.parentNode.parentNode.getElementsByTagName('img')[1];
	eladdtxt=par.parentNode.parentNode.getElementsByTagName('td')[0];
	eldeltxt=par.parentNode.parentNode.getElementsByTagName('td')[2];
	ilosc=0;
	blocks = document.getElementById('multiblocks').getElementsByTagName('div');
	bloki=[];
	bloki_i=0;
	for (i=0;i<blocks.length;i++)
	{
		if (blocks[i].className=='multiblockschild')
		{
			bloki[bloki_i]=blocks[i];
			bloki_i++;
			if (blocks[i].style.display!='none')
			{
				ilosc++;
			}
		}
	}
	if (ilosc<max)
	{
		bloki[ilosc].style.display='block';
		inputs=bloki[ilosc].getElementsByTagName('input');
		for (k=0;k<inputs.length;k++)
			inputs[k].disabled=false;
		selects=bloki[ilosc].getElementsByTagName('select');
		for (k=0;k<selects.length;k++)
			selects[k].disabled=false;
	}
	if (ilosc>=(max-1))
	{
		eladd.style.visibility='hidden';
		eladdtxt.style.visibility='hidden';
	}
	if (eldel)
	{
		eldel.style.visibility='';
		if (eldeltxt)
			eldeltxt.style.visibility='';
	}
}

/*przelot złożony usówanie bloków*/
function delmultiblock(par)
{
	eladd=par.parentNode.parentNode.getElementsByTagName('img')[0];
	eldel=par.parentNode.parentNode.getElementsByTagName('img')[1];
	eladdtxt=par.parentNode.parentNode.getElementsByTagName('td')[0];
	eldeltxt=par.parentNode.parentNode.getElementsByTagName('td')[2];
	ilosc=0;
	blocks = document.getElementById('multiblocks').getElementsByTagName('div');
	bloki=[];
	bloki_i=0;
	for (i=0;i<blocks.length;i++)
	{
		if (blocks[i].className=='multiblockschild')
		{
			bloki[bloki_i]=blocks[i];
			bloki_i++;
			if (blocks[i].style.display!='none')
			{
				ilosc++;
			}
		}
	}
	if (ilosc>1)
	{
		bloki[ilosc-1].style.display='none';
		inputs=bloki[ilosc-1].getElementsByTagName('input');
		for (k=0;k<inputs.length;k++)
			inputs[k].disabled=true;
		selects=bloki[ilosc-1].getElementsByTagName('select');
		for (k=0;k<selects.length;k++)
			selects[k].disabled=true;
	}
	if (ilosc<=2)
	{
		eldel.style.visibility='hidden';
		eldeltxt.style.visibility='hidden';
	}
	if (eladd)
	{
		eladd.style.visibility='';
		if (eladdtxt)
			eladdtxt.style.visibility='';
	}
}

/*opcje dodatkowe*/
function foldoption(nameobject,img,txt_hidden,txt_show)
{
	ext = document.getElementById(nameobject);
	if (img.parentNode && img.parentNode.parentNode && img.parentNode.parentNode.getElementsByTagName('td').length)
	txt = img.parentNode.parentNode.getElementsByTagName('td')[0];
	if (ext.className=='hidden')
	{
		ext.className='form';
		img.src=((window._homedir)?window._homedir:'')+'/img/form/searcher_fold2.gif';
		if (txt_hidden) txt.innerHTML=txt_hidden;
	}
	else
	{
		ext.className='hidden';
		img.src=((window._homedir)?window._homedir:'')+'/img/form/searcher_fold.gif';
		if (txt_show) txt.innerHTML=txt_show;
	}
}

function showoverflow(el,button,expandtxt,foldtxt)
{
	var ob=document.getElementById(el);
	var oblabel = document.getElementById(el+'_label');
	if (ob.style.overflow=='visible')
	{
		ob.style.overflow='';
		ob.style.height='';
		oblabel.innerHTML = expandtxt;
		button.src=((window._homedir)?window._homedir:'')+'/img/form/searcher_fold.gif';
	}
	else
	{
		ob.style.overflow='visible';
		ob.style.height='auto';
		oblabel.innerHTML = foldtxt;
		button.src=((window._homedir)?window._homedir:'')+'/img/form/searcher_fold2.gif';
	}
}

function updateCountryCityCar(elm_id,cvalue,citycode,moduletype)
{
		
		if( document.getElementById(elm_id).value != cvalue )
		{
				document.getElementById(elm_id).value = cvalue; // kraj_z
				
				if( document.getElementById('ips') && document.getElementById('ips').checked )
				{
						loadcitycar2(cvalue,false,moduletype);
				}
				else
				{
						loadcitycar2(cvalue,citycode,moduletype);
				}
				
		}

}

function updateCityHotel(citycode_id,citycode,cityname_id,cityname,moduletype)
{
		if( document.getElementById('iph') && document.getElementById('iph').checked )
			return;

		var url=window.url_links['hotel_codehelper'];
		var param='code='+encodeURIComponent(citycode)+'&moduletype='+encodeURIComponent(moduletype);
		updateRequest.hotel = new FSite2.HTTPRequest(url,function(){
		var city = eval('(' + this.httpRequest.responseText + ')');
		
			if( city )
			{
					document.getElementById(citycode_id).value = city['hotelcode'];
					document.getElementById(cityname_id).value = city['hotelcity'];
			}
			else
			{
					document.getElementById(citycode_id).value = citycode;
					document.getElementById(cityname_id).value = cityname;
			}
			
			updateRequest.hotel = null;
		
		},true,param);

		
}

function loadcitycar2(wart,citycode, moduletype)
{
	if (!document.getElementById('city0') || !document.getElementById('city1')) return false;
	
	var sel1=document.getElementById('city0');
	var sel2=document.getElementById('city1');
	
	sel1.options.length=0;
	sel2.options.length=0;
		
	if(!wart) 
	{
		sel1.options[0] = new Option('');
		sel2.options[0] = new Option('');
		return false;
	}
	
	var url=window.url_links['car_cityhelper'];
	var param='kraj='+encodeURIComponent(wart)+'&citycode='+encodeURIComponent(citycode)+'&moduletype='+encodeURIComponent(moduletype);
	updateRequest.car = new FSite2.HTTPRequest(url,function(){
		city = eval(this.httpRequest.responseText);
		
		var sel1=document.getElementById('city0');
		var sel2=document.getElementById('city1');

		var selected1 = false;
		var selected2 = false;
		
		if (!sel1.options.length)
		{
			sel1.options.length=0;
			sel1.options[sel1.options.length] = new Option('');
			for (n=0;n<city.length;n++)
			{
				sel1.options[sel1.options.length] = new Option(city[n]['miasto'],city[n]['id']);
					 if( city[n]['selected'] && this.citycode )
					 {
						sel1.options[sel1.options.length-1].selected = true;
						selected1 = true;
					 }
			}
		}
		if (!sel2.options.length)
		{
			sel2.options.length=0;
			sel2.options[sel2.options.length] = new Option('');
			for (n=0;n<city.length;n++)
			{
				sel2.options[sel2.options.length] = new Option(city[n]['miasto'],city[n]['id']);
					if( city[n]['selected'] && this.citycode )
					{
						sel2.options[sel2.options.length-1].selected = true;
						selected2 = true;
					}
			}
		}
		/*
		if( (!selected1 || !selected2 ) && !document.getElementById('ips').checked )
		{
			document.getElementById('ips').click();
		}
		*/
		
		updateRequest.car = null;
		
	},true,param,true);
	
	updateRequest.car.citycode = citycode;
	updateRequest.car.ajaxSendRequest();
	
}

/*ładowanie katalogu samochodow*/
function loadcitycar(wart, onLoad)
{
	if (!document.getElementById('city0') || !document.getElementById('city1')) return false;
	url=window.url_links['car_cityhelper'];
	param='kraj='+encodeURIComponent(wart);
	x=FSite2.HTTPRequest(url,function(){
		city = eval(this.httpRequest.responseText);
		
		sel1=document.getElementById('city0');
		sel2=document.getElementById('city1');
		
		if (!sel1.options.length || !onLoad)
		{
			sel1.options.length=0;
			sel1.options[sel1.options.length] = new Option('');
			for (n=0;n<city.length;n++)
				sel1.options[sel1.options.length] = new Option(city[n]['miasto'],city[n]['id']);
		}
		if (!sel2.options.length || !onLoad)
		{
			sel2.options.length=0;
			sel2.options[sel2.options.length] = new Option('');
			for (n=0;n<city.length;n++)
				sel2.options[sel2.options.length] = new Option(city[n]['miasto'],city[n]['id']);
		}
	},true,param);
}

/*ustawienia miejsca zwrotu dla samochodu*/
function setReturnCity()
{
	var city0 = document.getElementById('city0');
	var city1 = document.getElementById('city1');
	if (!city0 || !city1)
		return;
	
	city1.selectedIndex=city0.selectedIndex;
}

/*ładowanie wyszukiwarki promocji dla hoteli (listy)*/
function newserach_promohotel(city,city_code)
{
	var eventListener=new Tovo.eventListener();
	eventListener.onPrepare=function()
	{
		window._searcherLayer=true;
		this.beforeLoadPageSearchLayer();
		document.getElementById('contentsearch').style.display='none';
		document.getElementById('contentsearchload').style.display='block';
		FSite2.removeCalendars(document.getElementById('contentsearch'));
		document.getElementById('contentsearch').innerHTML='';
	}
	eventListener.onComplete=function()
	{
		this.afterLoadPageSearchLayer();
		
		if (document.getElementById('destinationcode'))
			document.getElementById('destinationcode').value=city;
		if (document.getElementById('destinationcode_code'))
			document.getElementById('destinationcode_code').value=city_code;
		if (document.getElementById('date03'))
			document.getElementById('date03').focus();
	}
	new Tovo.ContentLoad('/hotel/search/index/',eventListener);
	
}

/*ładowanie wyszukiwarki promocji dla samochodów (listy)*/
function newserach_promocar(country_code,place)
{
	var eventListener=new Tovo.eventListener();
	eventListener.onPrepare=function()
	{
		window._searcherLayer=true;
		this.beforeLoadPageSearchLayer();
		document.getElementById('contentsearch').style.display='none';
		document.getElementById('contentsearchload').style.display='block';
		FSite2.removeCalendars(document.getElementById('contentsearch'));
		document.getElementById('contentsearch').innerHTML='';
	}
	eventListener.onComplete=function()
	{
		this.afterLoadPageSearchLayer();

		if (document.getElementById('dates'))
			document.getElementById('dates').focus();
	}
	new Tovo.ContentLoad('/car/search/index/promo/1/city_code/' + place + '/country_code/' + country_code,eventListener);
	
}

function showLoadingLayer(txtup,txtdown)
{
	var bg = new FSite2.Layer('background',null,'background_layer');
	bg.fullScreen();
	var loader = new FSite2.Layer('loading_layer',null,'loading_layer');
	
	$('layer_txt_up').innerHTML = txtup;
	$('layer_txt_down').innerHTML = txtdown;
	var loaders = FSite2.getElementsByClassName('backgroundformloader');
	
	for(var i=0;i<loaders.length;++i)
	{
		FSite2.hideElement(loaders[i]);
	}
	if($('contentsearchload'))
		$('contentsearchload').style.display='none';
	if($('contentsearch'))
		$('contentsearch').style.display='block';
	if($('background_layer'))
		$('background_layer').onclick = null;
	loader.show();
	
	return function() { window.setTimeout(imgReload, 500); };
}

var imgReload = function ()
{ 
var dd = $('layer_loader_img');
if(typeof (dd) == 'object') 
{
	var bak = dd.src;
	dd.src = bak;
};
}