var rootLocation, globalSort, skipItems;
var loading = false,
lastScrollTop = 0,
defaultTexts = {
title: 'Название',
imprText : 'Описание'
};
var handler = null;
function loadFullImpression(imprId, sortPopularity) {
$('#impression_popup #loadArea').html('
');
$('#impression_popup').show();
$('#impression_popup #loadArea').load('/contest/summer2012/impression', {impressionId : imprId, sort: (sortPopularity ? "popular" : "")}, function(response, status, xhr) {
if(status == "success") {
if(response == '') {
alert('Отзыв не найден!');
} else {
$('body').addClass('noscroll');
}
$('#af_RIGHT_240x400').attr('src', $('#af_RIGHT_240x400').attr('src'));
var url = rootLocation + '/' + imprId;
if (globalSort != '') url += "?sort=" + globalSort;
if ("pushState" in history)
history.pushState("", document.title, url);
else {
window.location.href = url;
}
}
});
}
function revertUrl() {
var url = rootLocation;
if (globalSort != '') url += "?sort=" + globalSort;
if("pushState" in history)
history.pushState("", document.title, url);
else {
window.location.href = url;
}
}
function hide_popup(){
$('#impression_popup').hide();
$('#impression_popup_img').attr('src','');
$('body').removeClass('noscroll');
revertUrl();
}
$(function(){
InputHelper.Create("#title", defaultTexts.title);
InputHelper.Create("#impressionText", defaultTexts.imprText);
$('#menu li').click(function(){
$('#menu li.act').removeClass('act');
$('.menu_cnt').hide();
var el = $(this);
el.toggleClass('act');
$('#' + el.attr('id') + '_cnt').toggle();
});
$('#prize1').click(function(){
var id = '#' + $(this).attr('id') + '_big';
$('body').append($('#prize1_big'));
$('#prize1_big').show();
$('body').addClass('noscroll');
})
$('#prize1_big .close').click(function(){
$('#prize1_big').hide();
$('body').removeClass('noscroll');
})
var cookieName = 'summer2012ContestDescription';
var cookieVal = (!$.cookie(cookieName)) ? 1 : parseInt($.cookie(cookieName));
if(cookieVal < 3){
$.cookie(cookieName, cookieVal + 1);
$('#menu li:first').click();
}
$(window).bind('scroll', function(){
var top = $(window).scrollTop();
if(top >= 119){
$("#header_wrap").addClass('fixed');
$('#up').fadeIn();
}else{
$("#header_wrap").removeClass('fixed');
$('#up').fadeOut();
}
onScroll();
})
$('#up').click(function(){
$('body,html').animate({scrollTop: 0}, 300);
return false;
})
$('#impression_popup .modal_wrapper').bind('click', function(e){
if(e.target && ($(e.target).parents('#impression_close_popup').size() > 0 || $(e.target).parents('.impression_frame').size() == 0)){
$('#impression_popup').hide();
$('#impression_popup_img').attr('src','');
$('html, body').removeClass('noscroll');
revertUrl();
}
});
var options = {
autoResize: true, // This will auto-update the layout when the browser window is resized.
container: $("#impressions_list"), // Optional, used for some extra CSS styling
offset: 20, // Optional, the distance between grid items
itemWidth: 281 // Optional, the width of a grid item
};
// Call the layout function.
handler = $('#impressions_list .impression');
handler.wookmark(options);
})
$(document).on('click', '#impression_close_popup .iClose', function(){
hide_popup();
});
function onScroll(event) {
var options = {
autoResize: true, // This will auto-update the layout when the browser window is resized.
container: $("#impressions_list"), // Optional, used for some extra CSS styling
offset: 20, // Optional, the distance between grid items
itemWidth: 281 // Optional, the width of a grid item
};
// Check if we're within 100 pixels of the bottom edge of the broser window.
var closeToBottom = ($(window).scrollTop() + $(window).height() > $(document).height()-300);
if(closeToBottom) {
var st = $(window).scrollTop();
if (st > lastScrollTop){
if(!loading && skipItems) {
loading = true;
$.ajax({
url : '/contest/summer2012/loadmore',
type : 'POST',
data : { skip: skipItems, sort : globalSort },
success: function(data, textStatus, jqXHR) {
loading = false;
if(data.result.skip == -1)
skipItems = false;
if(data.result && data.result.items && data.result.items.length > 0) {
for(idx in data.result.items) {
$("#impressionItemTemplate").template("impressionItem");
$.tmpl("impressionItem", data.result.items[idx]).appendTo("#impressions_list");
}
if(data.result.skip) {
skipItems = data.result.skip;
}
}
// Clear our previous layout handler.
if(handler) handler.wookmarkClear();
// Create a new layout handler.
handler = $('#impressions_list .impression');
handler.wookmark(options);
}
});
}
}
lastScrollTop = st;
}
}