function validate_email(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
      return false;
   }
}

$('.galeria .title a').click(function(){
	$(this).siblings().attr('class','');
	this.className = 'act';
	$('.galeria div.galChild').css('display','none');
	$('#'+this.rel).css('display','block');
	return false;
});

$('.reg .check').toggle(
	function () {
		$(this).attr('class','check sel');
		$(this).children().val(1);
	},
	function () {
		$(this).attr('class','check');
		$(this).children().val(0);
	}
)
$('.reg .lab').toggle(
	function () {
		$(this).get(0).previousSibling.className='check sel';
		$(this).get(0).previousSibling.firstChild.value = 1;
	},
	function () {
		$(this).get(0).previousSibling.className='check';
		$(this).get(0).previousSibling.firstChild.value = 0;
	}
)

$('.reg .radio').click(function () {
	$(this).siblings('.radio').attr('class','radio');
	$(this).attr('class','radio sel');
	$(this).siblings('input').val($(this).next().attr('rel'));
})
$('.reg .rlab').click(function () {
	$(this).siblings('.radio').attr('class','radio');
	$(this).get(0).previousSibling.className='radio sel';
	$(this).siblings('input').val($(this).attr('rel'));
})

$('a.wysz').toggle(
	function () {
		$('#tops').css('display','block');
	},
	function () {
		$('#tops').css('display','none');
	}
)

if ($('#tops.show').length > 0) $('a.znof').click();

if ($(".date").length){
$(".date").datepicker({
dateFormat: 'yy-mm-dd', firstDay: 1
});
}

$('.chdate').click(function() { 
$(this).get(0).previousSibling.firstChild.focus();
return false;
});

$(function(){
	$.superbox();
	replaceLinksActions('body',uQueryResponse.params.currentPage,uQueryResponse.params.currentPage,uQueryResponse.params.absolutePage);
});

function langSwitch (p) {
	var comm = document.location.pathname.match(/^\/([a-z]{2})\//);
	switch (comm[1]) {
		case "en": return p[0];
		case "pl": return p[1];
	}
}

function roomrez () {
	inps = $('#chroomc select').get();
	if (!inps) return;
	ret = '';
	for (var i = 0; i < inps.length; i++) {
		val = $(inps[i]).val();
		if (val > 0) {
			if (inps[i].previousSibling.value==1) ret += $(inps[i]).attr('name')+':'+val+':1'+', ';
			else ret += $(inps[i]).attr('name')+':'+val+':0'+', ';
		}
	}
	$('#chooroomsi').val(ret);
	if ($('#superbox-wrapper').css('display') != 'none') $('#superbox .close a').click();
}

function rez_updatuj_selecty() {
	var diff = Math.floor(date_beetween($('#ardate input').val(),$('#depdate input').val()));
	var inps = $('#chroomc select').get();
	var ile = 0;
	var sum = ile;
	var parent = '';
	var txttmp = langSwitch([/([0-9]+) PLN per bed(.*)/,/([0-9]+) PLN za łóżko(.*)/]);
	var txttmps = langSwitch([/([0-9]+) PLN per room(.*)/,/([0-9]+) PLN za pokój(.*)/]);
	for (var i = 0; i < inps.length; i++) {
		ile += inps[i].selectedIndex;
		parent = $(inps[i]).parent().get(0);
		vals = $(parent).prev().html().match(txttmp);
		vals = vals ? vals[1] : 0;
		vals2 = $(parent).prev().html().match(txttmps);
		vals2 = vals2 ? vals2[1] : 0;
		if ((vals2>0&&vals<1) || ($(parent.previousSibling).find('input').get(0) && $(parent.previousSibling).find('input').get(0).checked)) {
			val = (inps[i].selectedIndex>0?vals2*1:0);
			parent.firstChild.value = 1;
		}
		else {
			val = (inps[i].selectedIndex>0?vals*inps[i].selectedIndex:0);
			parent.firstChild.value = 0;
		}
		$(parent).next().html(val*diff);
		sum += val;
	}
	$('#days').val(diff);
	$('#chroomsum').val(diff*sum);
	$('#chroomsum2').text(diff*sum);
	brakuje = $('#chroomc .maxpeople').text() - ile;
	$('#chroomc .remainingpeople').text(brakuje);
	if (brakuje < 0) {
		var txt = langSwitch([' people too much',' osób za dużo']);
		$('#choorooms').text((-1*brakuje)+txt);
	} else if (brakuje > 0) {
		var txt = langSwitch([' people remaining','pozostało osób']);
		if (txt == ' people remaining') $('#choorooms').text(brakuje+txt);
		else $('#choorooms').text('pozostały '+brakuje+' łóżka do rezerwacji');
	} else if (brakuje == 0) {
		$('#choorooms').text('ok');
		roomrez();
	}
}

function rez_sprawdz_form() {
	$('#chooroomb').css('display','none');
	if (!$('#npeop').val()) {
		$('#choorooms').text(langSwitch(['fill number of people','wpisz liczbę osób']));
	}
	else if (!$('#ardate input').val()) $('#choorooms').text(langSwitch(['choose arrival date','wybierz datę przyjazdu']));
	else if (date_inpast($('#ardate input').val())) $('#choorooms').text(langSwitch(['incorrect arrival date','nieprawidłowa data przyjazdu']));
	else if (!$('#depdate input').val()) $('#choorooms').text(langSwitch(['choose departure date','wybierz datę wyjazdu']));
	else if (Math.floor(date_beetween($('#ardate input').val(),$('#depdate input').val())) < 1) $('#choorooms').text(langSwitch(['incorrect date','złe daty']));
	else {
		$('#choorooms').text('');
		$('.maxpeople, .remainingpeople').text($('#npeop').val());
		rez_updatuj_selecty();
		sprawdz_wolne_pokoje();
	}
}

/*
$('#npeop, #ardate input, #depdate input').keyup(rez_sprawdz_form);
$('#ardate input, #depdate input').change(rez_sprawdz_form);
$('.chroomc select').change(rez_updatuj_selecty);
$('.chroomc input[type="checkbox"]').change(rez_updatuj_selecty);
$(window).load(rez_sprawdz_form);
*/
$.preloadImages = function() {
	for(var i = 0; i<arguments.length; i++) {
		$("<img>").attr("src", arguments[i]);
	}
}
function animate_gallery () {
	galkey++;
	if (galkey >= galtab.length) {
		galkey = 0;
		galstoppreload = 1;
	}
	if (!galstoppreload) $.preloadImages(galtab[galkey]);
	$("#rgal2 a img").attr('src',$("#rgal a img").attr('src'));
	$("#rgal2").css('display','');
	$("#rgal a img").attr('src',galtab[galkey]);
	$("#rgal2").fadeOut(1500);
	setTimeout("animate_gallery()", galtime);
}
function start_gallery () {
	galtime = 5000;
	galkey = 0;
	galstoppreload = 0;
	galtab = $("#rgal a").attr('rel').split(";");
	$("#rgal").clone(true).attr('id','rgal2').insertBefore("#rgal");
	$("#rgal2").css('position','absolute');
	setTimeout("animate_gallery()", galtime);
}
//$(window).load(start_gallery);

function date_beetween (d1,d2) {
	var minutes = 1000*60;
	var hours = minutes*60;
	var days = hours*24;
	var years = days*365;
	d1 = d1.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	d2 = d2.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	
	var d = new Date();
	d.setFullYear(d1[1],d1[2],d1[3]);
	var e = new Date();
	e.setFullYear(d2[1],d2[2],d2[3]);
	
	var t = e.getTime() - d.getTime();
	var y = t/days;
	return y;
}
function date_inpast (d1) {
	var minutes = 1000*60;
	var hours = minutes*60;
	var days = hours*24;
	var years = days*365;
	d1 = d1.match(/([0-9]+)-([0-9]+)-([0-9]+)/);
	
	var d = new Date();
	d.setFullYear(d1[1],d1[2]-1,d1[3]);
	var e = new Date();
	
	var t = e.getTime() - d.getTime();
	var y = t/days;
	if (y < 0) return false;
	else return true;
}
$('input.checkmail').parents('form').submit(function () {
	var vals = $(this).find('input.checkmail').val();
	if (typeof(vals) != 'object') vals = [vals];
	var vl = vals.length;
	var txt = langSwitch(['incorrect email address','błędny adres email']);
	if (vl > 0) {
		for (var i=0;i<vl;i++) {
			if (validate_email(vals[i]) == false) {
				alert(txt);
				return false;
			}
		}
	}
});
$('input[name="ardate"]').parents('form').submit(function () {
	var ardate = $(this).find('input[name="ardate"]').val();
	var depdate = $(this).find('input[name="depdate"]').val();
	if (depdate.length != 10 || ardate.length != 10) {
		alert(langSwitch(['incorrect date','nieprawidłowa data']));
		return false;
	}
	var db = date_beetween(ardate,depdate);
	if (date_inpast(ardate)) {
		alert(langSwitch(['incorrect arrival date','nieprawidłowa data przyjazdu']));
		return false;
	} else if (db < 1) {
		alert(langSwitch(['incorrect date','nieprawidłowa data']));
		return false;
	} 
});


function finish_form () {
	$(this).attr('disabled','disabled');
}
$('.finish_form_s').click(finish_form);

$('.finish_form_s2').click(function(){
	setTimeout(function () {
		$(this).attr('disabled','disabled');
		$('#finish_form').submit();
	},50);
});

function sprawdz_wolne_pokoje () {
	var npeop = $('#npeop').val();
	var ardate = $('#ardate input').val();
	var depdate = $('#depdate input').val();
	$.ajax({
	  type: "GET",
	  url: "/ajax.php?mod=freerooms&npeop="+npeop+"&ardate="+ardate+"&depdate="+depdate,
	  error: function () {
	  },
	  success: function(data) {
		var tab = [];
		var chr = $('#chooroomsi').val().split(', ');
		for ( var d in chr ) {
			var c = chr[d].split(':');
			if (c.length<2) continue;
			var e = c[0].match(/[0-9]+/);
			tab[e] = [c[1],c[2]];
		}
		var split = data.split(',');
		for ( var s in split ) {
			var ss = split[s].split(':');
			var ropt='';
			var td = $('#chroomc select[name="room'+ss[0]+'"]').get(0).parentNode.previousSibling.previousSibling;
			if (tab[ss[0]]) for (var i=0;i<=ss[1];i++) {
				if (tab[ss[0]][0]==i) ropt += '<option selected="">'+i+'</option>';
				else ropt += '<option>'+i+'</option>';
				if (tab[ss[0]][1]==1 && $(td.nextSibling).find('input').length) $(td.nextSibling).find('input').attr('checked','checked');
			}
			else for (var i=0;i<=ss[1];i++) ropt += '<option>'+i+'</option>';
			$('#chroomc select[name="room'+ss[0]+'"]').html(ropt);
			var txt = td.innerHTML.match(/^([0-9]+)(.*)/);
			td.innerHTML = (i-1)+txt[2];
		}
		$('#chooroomb').css('display','block');
	  }
	});
	return;
}

_nextSibling = function (now) {
	var match = false;
	while (now.nextSibling != null) {
		now = now.nextSibling;
		if (now.nodeType != 3) {
			match = now;
			break;
		}
	}
	return match;
}

hider = {
	hidings: [],
	counters: {},
	add: function (ob,cond,fun) {
		ob.hider = hider;
		//hider.hidings.push({ob:ob,cond:cond,fun:fun});
		//if (!hider.started) 
		hider.start();
	},
	del: function (ob) {
	},
	click: function (e) {
		if ($(e.target).parents('.dropdown').length > 0) {
			
		} else {
			$('.dropdown-show').click();
			hider.end();
		}
	},
	start: function () {
		$('body').bind('click',hider.click);
	},
	end: function () {
		$('body').unbind('click',hider.click);
	},
	countE: function (e) {
		hider.count(e.target.rel);
	},
	count: function (name) {
		name = 'sboxtop-ilosc-producentow';
		var counter = hider.counters[name].counter;
		var find = hider.counters[name].find;
		counter.text($(find).length);
	},
	registercounter: function (name,counter,find,params) {
		if ($(counter).length == 1) {// && $(find).length > 0) {
			hider.counters[name] = {counter:$(counter),find:find,params:params};
			$(params.target).bind(params.action,hider.countE);
			return;
		} else return;
	}
}

function dropdown_toggle (e) {
	if ($(this).hasClass('st-show')) {
		$(this).removeClass('st-show').next().hide('blind',{},500);
		hider.end();
	} else {
		$(this).addClass('st-show').next().show('blind',{},500);
		hider.add(this,'.dropdown','click');
	}
}

$(init);

function init() {
	hider.registercounter('sboxtop-ilosc-producentow','.dropdown-show span','.dropdown-hidden input:checked',{action:'click',target:'.dropdown-hidden input'});
	$('.dropdown-hidden input').unbind('click',hider.countE);
	$('.dropdown-hidden input').bind('click',hider.countE);
	$('.dropdown-show').unbind('click',dropdown_toggle);
	$('.dropdown-show').bind('click',dropdown_toggle);

	$('.box-lista_prod-prod').unbind('click',goToFirstAnhor);
	$('.box-lista_prod-prod').bind('click',goToFirstAnhor);

	$('a').unbind('click');
	$('a').not('a[rel="lightbox"]').bind('click',ajax_wybor_kategorii);
	$('a[rel*=lightbox]').lightBox();
	$('form').unbind('submit',ajax_std);
	$('form').bind('submit',ajax_std);
	$('form input[type="submit"]').unbind('click',disable_other_submits);
	$('form input[type="submit"]').bind('click',disable_other_submits);
	//$('.splash splash_alert').bind('click',hide_this);
}

function hide_this () {
	$(this).hide();
}

function disable_other_submits (e) {
	$(this).parents('form').find('input[type="submit"]').attr('disabled','disabled').removeClass('submit-clicked');
	$(this).attr('disabled',false).addClass('submit-clicked');
	$('form input[type="submit"]').click(disable_other_submits);
}

function rel_init(rel) {
	hider.registercounter('sboxtop-ilosc-producentow',rel+' .dropdown-show span',rel+' .dropdown-hidden input:checked',{action:'click',target:rel+' .dropdown-hidden input'});
	$(rel+' .dropdown-hidden input').unbind('click',hider.countE);
	$(rel+' .dropdown-hidden input').bind('click',hider.countE);
	$(rel+' .dropdown-show').unbind('click',dropdown_toggle);
	$(rel+' .dropdown-show').bind('click',dropdown_toggle);

	$(rel+' .box-lista_prod-prod').unbind('click',goToFirstAnhor);
	$(rel+' .box-lista_prod-prod').bind('click',goToFirstAnhor);

	$(rel+' a').unbind('click');
	$(rel+' a').not('a[rel="lightbox"]').bind('click',ajax_wybor_kategorii);
	$(rel+' a[rel*=lightbox]').lightBox();
	$(rel+' form').unbind('submit',ajax_std);
	$(rel+' form').bind('submit',ajax_std);
	$(rel+' form input[type="submit"]').unbind('click',disable_other_submits);
	$(rel+' form input[type="submit"]').bind('click',disable_other_submits);
}

function goToFirstAnhor(e) {
	$(this).find('a:first').click();
}

function prepare_action_url(_url) {
	var new_url;
	if (_url.match(/^\?/)) {
		new_url = uQueryResponse.params.currentPage+'/'+_url;
	} else if (_url == '/') {
		new_url = uQueryResponse.params.absolutePage;
	} else {
		//var rxp_url = /^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)?([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$/;
		var rxp_url = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;
		var _url_rxp = _url.match(rxp_url);
		var _act_rxp = uQueryResponse.params.absolutePage.match(rxp_url);
		//domain compare
		if (_url_rxp[6] != '' && _act_rxp[6] != _url_rxp[6]) {
			return false;
		}
		new_url = uQueryResponse.params.absolutePage+_url_rxp[8];
	}
	return new_url;
}

function ajax_std (e) {
	switch (this.tagName.toLowerCase()) {
		case "a":
			var new_url = prepare_action_url(this.href);
			if (new_url == false) {
				return true;
			}
			uQuery({mod:'ajax',url:new_url});
			break;
		case "form":
			var new_url = prepare_action_url(this.action);
			if (new_url == false) {
				return true;
			}
			//var s = $(this).find(':input').get();
			var qry = {};
			var s = $(this).serializeArray();
			var jsubmit = $(this).find('.submit-clicked');
			if (jsubmit) {
				var submitName = jsubmit.attr('name');
				if (submitName != '') {
					var submitValue = jsubmit.val();
					qry[submitName] = submitValue;
				}
			}
			/*for (var i in s) {
				var name = $(s[i]).attr('name');
				//if (name) qry[name] = $.URLEncode(($(s[i]).val()));
				if (name) {
					if (name.match(/\[\]$/)) {
						if (!qry[name]) qry[name] = [];
						if (s[i].tagName.toLowerCase() == 'input' && s[i].type.toLowerCase() == 'checkbox') {
							if (s[i].checked) qry[name].push($(s[i]).val());
						} else qry[name].push($(s[i]).val());
					} else if (s[i].tagName.toLowerCase() == 'input' && s[i].type.toLowerCase() == 'submit') {
						if (!qry[name]) qry[name] = [];
						if (!s[i].disabled) qry[name].push(1);
					} else
						/*
						var els = $('*[name="'+name+'"]').get();
						for (var k in els) {
							if (els[k].tagName == 'checkbox') if (els[k].checked) qry[name].push(els[k].value);
						}
					} else * /
					qry[name] = $(s[i]).val();
				}
			}*/
			$.each(s,function(){
				if (qry[this.name] !== undefined) {
					if (typeof qry[this.name] == 'string') {
						var last = qry[this.name];
						delete qry[this.name];
						qry[this.name] = [];
						qry[this.name].push(last);
					}
					qry[this.name].push(this.value);
				} else {
					qry[this.name] = this.value;
				}
			});
			uQueryPost({qry:qry,mod:'ajax',url:new_url});
			break;
		default: alert('bad tagName: '+this.tagName);
	}
	return false;
}

function ajax_wybor_kategorii (e) {
	uQuery({mod:'ajax',url:prepare_action_url($(e.target).attr('href'))});
	return false;
}

memo = {
	mem: {},
	put: function (ob) {
		var i = mem.generate();
		mem.mem[i] = ob;
		return i;
	},
	get: function (i) {
		return mem.mem[i] ? mem.mem[i] : false;
	},
	generate: function() {
		var dt = new Date().getMilliseconds();
		var num = Math.random();
		var rnd = Math.round(num*100000);
		return prefix+dt+rnd;
	}
}

function replaceLinksActions (prefix,curr,absol) {
	return;
	$(prefix).find('a').each(function(){
		var _href = $(this).attr('href');
		if (_href == undefined) return true;
		if (_href.match(/^\?/)) _href = curr+_href;
		else return true;
		this.href = _href;
	});
	$(prefix).find('form').each(function(){
		var _action = $(this).attr('action');
		if (_action == undefined) return true;
		if (_action.match(/^\?/)) _action = curr+_action;
		else if (_action.match(/^\/pl\//)) _action = absol+_action;
		else return true;
		$(this).attr('action',_action);
	});
	/*
	var htm = $('body').html();
	htm = htm.replace(/href\=\"\?/g,'href="'+curr+'?')
	.replace(/action\=\"\?/g,'action="'+curr+'?')
	.replace(/action\=\"\/pl\//g,'action="'+absol+'/pl/');
	$('body').html(htm);
	*/
}

function uQueryalert (a) {
	//alert(a);
	return false;
}

function uQueryResponse (data) {
	setCursorState(0);
	uQueryalert('response');
	var ad;
	$('div.boxtoremove').remove();
	for (var r in data) {
		ad = data[r];
		switch (ad.akcja) {
			case "javascript":
				eval(ad.tresc);
				break;
			case "aktualizuj_okno":
				// DEBUG
				$('#'+ad.target+' caption').css('background-color',false);
				var target = $('#'+ad.target).get(0);
				var tresc = '<div id="'+ad.target+'" class="box">'+ad.tresc+'</div>';
				if (!target) $(tresc).appendTo('#main');
				else {
					var maxed = 0;
					if ($(target).find('table').attr('class') == 'bigtable maxed') maxed = 1;
					var x = $(target).x();
					var y = $(target).y();
					var dlu = $(target).width();
					var wys = $(target).height();
					$(target).html(ad.tresc);
					$(target).x(x);
					$(target).y(y);
					$(target).width(dlu);
					if (maxed ==  1) {
						var tmp = {target:$(target).find('a.max').get(0)};
						maxymalizuj(tmp);
					}
				}
				if (ad.target) nowe_okno(ad.target);
				break;
			case "aktualizuj_id":
				// DEBUG
				$.scrollTo(0,200,{easing:'easeInOutCirc'});
				var target = $('#'+ad.target).get(0);
				
				/*
				$(target).html(ad.tresc);
				rel_init("#"+ad.target);
				*/
				var par = uQueryResponse.params;
				var scrollTo, tt;
				var tempDiv = $('<div/>').html(ad.tresc);

				// prawa strona
				if ($(target).find('#right').html() != tempDiv.find('#right').html()) {
					$(target).find('#right').hide('blind',{},500,function() {
						tt = $(target).find('#right');
						tt.html(tempDiv.find('#right').html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #right");
						tt.show('blind',{},500);
					});
					scrollTo = '#breadcrumb';
				}

				// lewa strona
				var ul_categories_silent = (
					(ad.params['left.column'].kategorie.isEmpty
						&& (ad.params['left.column'].kategorie.parentId == par['left.column'].kategorie.parentId
							|| ad.params['left.column'].kategorie.parentId == par['left.column'].kategorie.id))
					|| (ad.params['left.column'].kategorie.id == par['left.column'].kategorie.parentId)
					);
				var ul_categories = !ul_categories_silent && (ad.params['left.column'].kategorie.id != par['left.column'].kategorie.id);
				var ul_top10 = ($(target).find('#left .box').eq(1).html() != tempDiv.find('#left .box').eq(1).html());
				
				if (ul_categories && ul_top10) {
					$(target).find('#left').hide('blind',{},500,function() {
						tt = $(target).find('#left');
						tt.html(tempDiv.find('#left').html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						tt.show('blind',{},500);
					});
					scrollTo = '#breadcrumb';
				} else if (ul_categories) {
					$(target).find('#left .box').eq(0).hide('blind',{},500,function() {
						tt = $(target).find('#left .box').eq(0);
						tt.html(tempDiv.find('#left .box').eq(0).html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						tt.show('blind',{},500);
					});
					scrollTo = '#breadcrumb';
				} else if (ul_top10 && ul_categories_silent) {
					$(target).find('#left .box').eq(1).hide('slide',{},500,function() {
						tt = $(target).find('#left .box').eq(1);
						tt.html(tempDiv.find('#left .box').eq(1).html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						tt.show('slide',{},500);
					});
					tt = $(target).find('#left .box').eq(0);
					tt.html(tempDiv.find('#left .box').eq(0).html());
					replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
					rel_init("#"+ad.target+" #left");
					scrollTo = '#breadcrumb';
				} else if (ul_top10) {
					$(target).find('#left .box').eq(1).hide('slide',{},500,function() {
						tt = $(target).find('#left .box').eq(1);
						tt.html(tempDiv.find('#left .box').eq(1).html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						tt.show('slide',{},500);
					});
					scrollTo = '#breadcrumb';
				} else if (ul_categories_silent) {
					tt = $(target).find('#left .box').eq(0);
					tt.html(tempDiv.find('#left .box').eq(0).html());
					replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
					rel_init("#"+ad.target+" #left");
					scrollTo = '#breadcrumb';
				}
				/*if  {
					$(target).find('#left .box').eq(0).html(tempDiv.find('#left .box').eq(0).html());
					rel_init("#"+ad.target+" #left");
				}
				if (ad.params['left.column'].kategorie.parent != par['left.column'].kategorie.parent && ) {
					$(target).find('#left').hide('blind',{},500,function() {
						$(target).find('#left').html(tempDiv.find('#left').html());
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						$(target).find('#left').show('blind',{},500);
					});
					scrollTo = '#breadcrumb';
				} else if (ad.params['left.column'].kategorie.parent != par['left.column'].kategorie.parent) {
					$(target).find('#left .box').eq(0).hide('blind',{},500,function() {
						$(target).find('#left .box').eq(0).html(tempDiv.find('#left .box').eq(0).html());
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						$(target).find('#left .box').eq(0).show('blind',{},500);
					});
					scrollTo = '#breadcrumb';
				} else if ($(target).find('#left .box').eq(1).html() != tempDiv.find('#left .box').eq(1).html()) {
					$(target).find('#left .box').eq(1).hide('slide',{},500,function() {
						$(target).find('#left .box').eq(1).html(tempDiv.find('#left .box').eq(1).html());
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #left");
						$(target).find('#left .box').eq(1).show('slide',{},500);
					});
					scrollTo = '#breadcrumb';
				}*/
				
				// breadcrumb
				if (ad.params['top.breadcrumb'].breadcrumb != par['top.breadcrumb'].breadcrumb) {
					$(target).find('#breadcrumb').hide('slide',{},500,function() {
						tt = $(target).find('#breadcrumb');
						tt.html(tempDiv.find('#breadcrumb').html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #breadcrumb");
						tt.show('slide',{},500);
					});
					scrollTo = '#breadcrumb';
				}

				// basket
				if (ad.params['top.basket'].update == 1) {
				//if ($.inArray('basket.update',ad.events) != -1) {
				//if ($(target).find('#basket').html() != tempDiv.find('#basket').html()) {
					$(target).find('#basket').hide('pulsate',{},200,function() {
						tt = $(target).find('#basket');
						tt.html(tempDiv.find('#basket').html());
						replaceLinksActions(tt,ad.params.currentPage,ad.params.absolutePage);
						//$(target).html(ad.tresc);
						rel_init("#"+ad.target+" #basket");
						tt.show('pulsate',{},500);
					});
					scrollTo = '#basket';
				}
				if (typeof(scrollTo) != 'undefined' && $(scrollTo).length == 1) {
					setTimeout("$.scrollTo($('"+scrollTo+"'),500,{easing:'easeInOutCirc'});",1000);
				}

				uQueryResponse.params = ad.params;
				tempDiv.remove();
				delete tempDiv;
				break;
			case "zamknij_okno":
				setTimeout("fFadeTo(400,0,'#"+ad.target+"');", 10);
				$('#'+ad.target).css('z-index','10');
				$('#'+ad.target).attr('class','boxtoremove');
				break;
			case "focus":
				boxFocus(ad.target);
				break;
		}
	}
}

function effect_cleanup () {
	//$(this).css('display','');
}
function make_effect (_ob,_type,_effect,_params,_timeout) {
	_ob[_type](_effect,_params,_timeout,effect_cleanup);
}
function scroll_to (_to) {
	//var tmp_dis = $(_to).css('display');
	$.scrollTo($(_to),500,{easing:'easeInOutCirc'});
	//$(_to).css('display',tmp_dis);
}

function uQuery (params) {
	uQueryalert('uQuery');
	/*var rel = params.e.rel;
	var lclass = params.e.className;
	var lclassAr = lclass.split(" ");
	lclass = lclassAr[0];
	if (!params.wid) {
		var divs = $(params.e).parents('div').get();
		for (var i in divs) if (divs[i].id) break;
		var wid = divs[i].id;
	} else wid = params.wid;

	$('#'+wid+' caption').css('background-color','#830000');*/

	if (!params.mod) uQueryalert('uQuery no mod');
	if (!params.url) uQueryalert('uQuery no url');

	//var qry = {};
	/*qry.wid = wid;
	qry.lclass = lclass;
	qry.rel = rel;*/
	/*qry.wid = $.URLEncode(wid);
	qry.lclass = $.URLEncode(lclass);
	qry.rel = $.URLEncode(rel);*/
	//if (params.qry) for (var j in params.qry) qry[j] = params.qry[j];
	
	//for ( var d in params ) if (d != 'e' && d != 'qry') qry[d] = $.URLEncode(params[d]);
	//for ( var d in params ) if (d != 'e' && d != 'qry') qry[d] = params[d];
	var target_url = prepare_action_url(params.url);
	var match = target_url.match(/^(http\:\/\/[^\/]+)\/([^\/]+)\/(.*)/);
	var url = match[1]+"/"+match[2]+"/"+params.mod+"/"+match[3];

	var ajax = {
		jData:{
			type: "GET",
			dataType: "json",
			url: url,
			success: uQueryResponse
		},
		retries:0
	};
	ajax.jData.error = function () {
		uQueryRetry(ajax);
	};
	setCursorState(1);
	$.ajax(ajax.jData);
	return false;
}

function setCursorState(st) {
	if (st == 1) {
		$('body').addClass('wait');
	} else {
		$('body').removeClass('wait');
	}
}

function uQueryPost (params) {
	/*var rel = params.e.rel;
	var lclass = params.e.className;
	var lclassAr = lclass.split(" ");
	lclass = lclassAr[0];
	if (!params.wid) {
		var divs = $(params.e).parents('div').get();
		for (var i in divs) if (divs[i].id) break;
		var wid = divs[i].id;
	} else wid = params.wid;

	$('#'+wid+' caption').css('background-color','#830000');*/

	if (!params.mod) uQueryalert('uQueryPost no mod');
	if (!params.url) {
		uQueryalert('uQueryPost no url');
	}

	var qry = {};
	/*qry.wid = wid;
	qry.lclass = lclass;
	qry.rel = rel;*/
	/*qry.wid = $.URLEncode(wid);
	qry.lclass = $.URLEncode(lclass);
	qry.rel = $.URLEncode(rel);*/
	if (params.qry) for (var j in params.qry) qry[j] = params.qry[j];
	
	//for ( var d in params ) if (d != 'e' && d != 'qry') qry[d] = $.URLEncode(params[d]);
	//for ( var d in params ) if (d != 'e' && d != 'qry') qry[d] = params[d];
	var target_url = prepare_action_url(params.url);
	var match = target_url.match(/^(http\:\/\/[^\/]+)\/([^\/]+)\/(.*)/);
	var url = match[1]+"/"+match[2]+"/"+params.mod+"/"+match[3];

	uQueryalert('uQueryPost: '+url);
	var ajax = {
		jData:{
			type: "POST",
			dataType: "json",
			url: url,
			data: qry,
			success: uQueryResponse
		},
		retries:0
	};
	ajax.jData.error = function () {
		uQueryRetry(ajax);
	};
	setCursorState(1);
	$.ajax(ajax.jData);
	return false;
}

function uQueryRetry (retryData) {
	uQueryalert('retry'+retryData);
	retryData.error = function () {
		uQueryRetry(retryData);
	};
	$.ajax(retryData.jData);
}
