var page;
var pages;
var numbers;
var hash = location.hash.substring(1); // without '#'
var what;

function buildPage(){
    $('#prev, #next').hide();

    if(page > 1)
        $('#prev').show();
    if(page < pages)
        $('#next').show();
    $('#page_'+page).addClass('page').show().siblings().removeClass('page').hide().filter('.dot').remove();
    $('#page_'+page).prev().show().next().next().show();
    var dot = '<span class="dot">...</span>';

    numbers.find('a:first').next().andSelf().show();
    numbers.find('a:last').prev().andSelf().show();

    if(page > 4)
        numbers.find('a:eq(1)').after(dot);

    if(page < pages-3)
        numbers.find('a:eq('+(pages-3)+')').before(dot);

    $.getJSON(base + 'home/'+ what + '/' + page, function(json){
        var s = '';
        for(var i in json){
            s += '<a href="filmy/'+ json[i].id +'/' + json[i].friendly + '"><div class="descr"></div><div class="descrTxt">'+ json[i].opis +'</div><div class="movieTitleBg"></div><div class="movieTitle"><h2>' + json[i].tytul + '</h2><h3>'+json[i].kategorie_nazwa+'</h3></div><img src="' + base +'img/img_filmy_miniaturka/210x210/'+ json[i].miniaturka+'" alt=""/></div></a>';
        }
        $('#chBox').html(s + '<div class="clear"></div>');

        $('#chBox>a').hover(function(){
            $(this).find('.descr, .descrTxt').show();
            var desc = $(this).find('.descrTxt').css({
                'height': '160px',
                'overflow' : 'hidden'
            });
            var h  = desc.innerHeight();            
            if(h > 172){
                //var t = desc.text();
                //desc.html(t.replace(/ /g, '</span><span>'));
                //console.log(t.replace(' ', '</span><span>'));
                var c = 0;
                var temp = 0;
                var s = '';
                desc.html('<span>' + desc.text().replace(/ /g, '</span> <span>') + '</span>').find('span').each(function(i) {
                    var t = $(this).offset().top;
                    s += $(this).text() + ' ';
                    if(t > temp){
                        temp = t;
                        c++;
                    }
                    if(c == 9) {
                        return false;
                    }
                });
                desc.html(s + ' ... <strong style="float: right">więcej</strong>');
            }
        },function(){
            $(this).find('.descr, .descrTxt').hide();
        });
    });
}
function writePages(){
    $('#'+what).addClass('big').siblings().removeClass('big');
    $('#chBox').html('<span style="display: block; padding-top: 25px;">Ładowanie...</span>')
    $.getJSON(base + 'home/'+ what + '/count', function(json){
        pages = json;
        if(pages > 0){
            page = 1;
            var html = '';
            for(var i = 1; i <= pages; ++i) {
                html += '<a href="#'+i+'" id="page_'+i+'">' + i + '</a> ';
            }
            $('#numbers,#prev,#next').show();
            $('#numbers').html(html);
            buildPage(what);
            $('#pages').show();
        }else{
            $('#numbers,#prev,#next').hide();
            $('#chBox').html('<em style="float: left; padding-top: 25px; font-style: normal;">Nie znaleziono filmów wideo zgodnych z zapytaniem.</em><div class="clear"></div>')
            $('#pages').hide();
        }
    });
}

$(function(){
    numbers = $('#numbers');
    if(hash != ''){
        what = hash.slice(0, hash.indexOf('/'));
    }else{
        what = 'najnowsze';
    }


    writePages();

    $('#chBox>div').live('click', function(){
        location.href = $(this).find('div.movieTitle a').attr('href');
    });

    $('#obiektyw, #afisz, #subiektyw, #najnowsze').click(function(){
        what = $(this).attr('id');
        $('#' + what + 'Text').show().siblings().hide();
        writePages();
        return false;
    });
    $('#fCh1, #fCh2, #fCh3').click(function(){
        what = $(this).text();
        writePages();
        return false;
    });

    $('#prev').click(function(){
        --page;
        buildPage();
    });
    $('#next').click(function(){
        ++page;
        buildPage();
    });

    $('#numbers a').live('click', function(){
        page = parseInt($(this).attr('id').slice(5));
        buildPage();
        return false;
    });


    $('#obiektyw, #afisz, #subiektyw').hover(function(){
        //$('#' + $(this).attr('id') + 'Text').show().siblings().hide();
        $('#' + $(this).attr('id') + 'Text').addClass('current').siblings().removeClass('current');
    },function(){
        $('#' + what + 'Text').addClass('current').siblings().removeClass('current');
    });
});
