');
panel.on('panel:update', function()
{
updateButtons();
if (prev) $('#btn-prev').show();
if (next) $('#btn-next').show();
})
panel.insertAfter(el);
}
function fillPanel(article)
{
var data = $.parseJSON(article.attr('data-popup')),
type = article.hasClass('auction')?'auction':'article';
data.article = article.attr('id');
var html = tmpl('template-' + type + '-popup', data);
// $('.detail-container-body').html(html);
panel.html(html);
// pozycjonowanie górnej strzałki
if (panel.closest('.articles.listing-album').length)
{
var arrow = panel.find('.popup-arrow.top'),
left = current.position().left + current.width() / 2 - arrow.outerWidth() / 2;
arrow.show();
arrow.css('left', left + 'px');
}
switch(type)
{
case 'auction':
if (typeof(data['seller']) === 'undefined')
{
var sellerInfo = panel.find('.seller .detail');
if (typeof(sellers[data.created_by]) === 'undefined')
{
$.ajax({
url: '/search?task=auction.sellerInfoBox',
data: { uid: data.created_by }
})
.success(function(res)
{
sellers[data.created_by] = res;
sellerInfo.html(res);
});
}
else
{
sellerInfo.html(sellers[data.created_by]);
}
}
break;
case 'article':
break;
}
// var slider = panel.find(".royalSlider");
var slider = panel.find(".royalSlider").royalSlider({
arrowsNav: false,
autoScaleSlider: true,
autoScaleSliderWidth: 400,
autoScaleSliderHeight: 350,
navigateByClick: false,
fullscreen: {
enabled: true
},
controlNavigation: 'thumbnails',
imageScaleMode: 'fit',
thumbs: {
appendSpan: true,
firstMargin: true,
paddingBottom: 4
}
}).data('royalSlider');
slider.ev.on('rsSlideClick', function(){
window.location = data.href;
});
var ah = article.innerHeight(),
ph = panel.innerHeight(),
wh = window.innerHeight,
at = 0;
// pozycjonowanie top przycisków nawigacji wewnątrz panelu
var top = ph/2 - $('.ex2D6e').height()/2;
$('.ex2D6e').css('top', top + 'px');
if (!prev) $('#btn-prev').hide();
if (!next) $('#btn-next').hide();
// okno więsze od panelu
if (wh > ph)
{
var th = wh - ah - ph;
// gdy ukryty, a tak jest w przypadku list. wybieramy pierwszy widoczny element
if (article.is(':hidden'))
{
var c = panel.prevAll('article:visible').first();
// gdy istnieje bieżemy offset z niego
if (c.length) at = c.offset().top;
}
// położenie klikniętego elementu
else at = article.offset().top;
// wymagane przesunięcie + mały offset od dołu aby ładnie wyglądało
at += (th>0)?0:Math.abs(th) + 20;
// nowa pozycja panelu
$(window).scrollTop(at);
}
// okno mniejsze od panelu, równamy panel do góry
else $(window).scrollTop(panel.offset().top);
}
$(document).on('click', '#popup-close', function(e){
e.preventDefault();
$('.detail-container-body').fadeOut(200);
panel.slideUp(
"fast",
function(){
if (!isAlbum()) current.show();
current = false;
prev = false;
next = false;
panel.remove();
}
)
})
$(document).on('click', '#btn-prev, #btn-next', function(e)
{
e.preventDefault();
var el = (this.id == 'btn-prev')?prev:next;
if (el) el.find('img').trigger('click');
})
var isAlbum = function()
{
return $.contains(document, $('.articles.listing-album')[0]);
}
$(document).on('click', '.item.article img, .item.auction img', function(e)
{
e.preventDefault();
var el = $(this),
clicked = el.closest('article');
if (clicked.is(current))
{
$('#popup-close').trigger('click');
return;
}
if (!isAlbum())
{
clicked.hide();
if (current) current.show();
}
//bieżący element
current = clicked;
updateButtons();
var ib = createContainer(current);
// nowe położenie panelu?
if (insertBefore !== ib)
{
createPanel(ib);
insertBefore = ib;
}
fillPanel(current);
})
function updateButtons()
{
var c;
//poprzedni. ważne kolekcja zwracana w odwrotnej kolejności stąd .first()
c = current.prevAll('article:visible').first();
prev = (c.length)?c:false;
//następny
c = current.nextAll('article').first();
next = (c.length)?c:false;
}
});
})(jQuery)
Informacje o plikach cookie
Ta strona używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. Czytaj więcej...