//
var indexImage;
var mouse_x;
var mouse_y;
var bShowBookDetail = false;
var bNext = true;


$(document).mousemove(function (e) {
    mouse_x = e.pageX;
    mouse_y = e.pageY;

    if (bShowBookDetail) {
        setPositionBookBaloon(mouse_x, mouse_y);
    }

});

function setPositionBookBaloon(_mouse_x, _mouse_y) {
    var nleft = mouse_x - $('.bookBaloon').width() / 2;
    var ntop = mouse_y + 20;
    $('#bookBaloon').css({ 'left': nleft + 'px' });
    $('#bookBaloon').css({ 'top': ntop + 'px' });
}

function setScrolls(n) {
    var nLiWidth = 124;
    var nThumbVisible = 3;

    if(n>0) nThumbVisible = n;
    
    $('.scrollMask').each(function (i) {
        var currentScroll = $('.scrollMask').eq(i);
        var objUlThumb = currentScroll.find('> ul');
        var objLiThumb = objUlThumb.find(' > li');

        var nWidthUl = objLiThumb.width() * objLiThumb.length;
        objUlThumb.css({ 'width': nWidthUl + 'px' });

        var objLinkPrev = $(this).parent().find('> .scrollPrev');
        objLinkPrev.attr({ 'class': 'scrollPrev hidden' });

        var objLinkNext = $(this).parent().find('> .scrollNext');
        
        if (objLiThumb.length > nThumbVisible)
            objLinkNext.attr({ 'class': 'scrollNext' });
        else
            objLinkNext.attr({ 'class': 'scrollNext hidden' });
    });

    $('.bookScroll > .scrollNext').bind('click', function () {

        if (bNext) {

            // Indice Slide Corrente
            var indexCurrentImage = $(this).parent().index('.bookScroll');

            // Oggetto Mask dello Slide Corrente
            var currentScroll = $('.scrollMask').eq(indexCurrentImage);
            var objUlThumb = currentScroll.find('> ul');
            var objLiThumb = objUlThumb.find(' > li');
            var nLiThimb = objLiThumb.length;

            // Posizione Corrente dello Slide
            var nUlLeft = parseInt(objUlThumb.css('left').replace('px', ''))

            // Valore Massimo di Left dello Slide in base al numero di Thumb
            var nMaxLeft = nLiWidth * ((nLiThimb - nThumbVisible));

            // Calcolo la nuova posizione
            var nUlNewLeft = nUlLeft - nLiWidth;

            // Applico la nuova posizione
            if (nUlLeft > -nMaxLeft) {
                //
                bNext = false;

                objUlThumb.animate({ 'left': nUlNewLeft + 'px' }, function () {

                    //
                    var objLinkPrev = $(currentScroll).parent().find('> .scrollPrev');
                    objLinkPrev.attr({ 'class': 'scrollPrev' });

                    //
                    var objLinkNext = $(currentScroll).parent().find('> .scrollNext');
                    if (nUlNewLeft > -nMaxLeft)
                        objLinkNext.attr({ 'class': 'scrollNext' });
                    else
                        objLinkNext.attr({ 'class': 'scrollNext hidden' });

                    bNext = true;

                });
            }
        }
    });

    $('.bookScroll > .scrollPrev').bind('click', function () {

        if (bNext) {
            // Indice Slide Corrente
            var indexCurrentImage = $(this).parent().index('.bookScroll');

            // Oggetto Mask dello Slide Corrente
            var currentScroll = $('.scrollMask').eq(indexCurrentImage);
            var objUlThumb = currentScroll.find('> ul');
            var objLiThumb = objUlThumb.find(' > li');
            var nLiThimb = objLiThumb.length;

            // Posizione Corrente dello Slide
            var nUlLeft = parseInt(objUlThumb.css('left').replace('px', ''))

            // Calcolo la nuova posizione
            var nUlNewLeft = nUlLeft + nLiWidth;

            // Applico la nuova posizione
            if (nUlLeft < 0) {
                //
                bNext = false;

                objUlThumb.animate({ 'left': nUlNewLeft + 'px' }, function () {

                    //
                    var objLinkPrev = $(currentScroll).parent().find('> .scrollPrev');
                    if (nUlNewLeft < 0)
                        objLinkPrev.attr({ 'class': 'scrollPrev' });
                    else
                        objLinkPrev.attr({ 'class': 'scrollPrev hidden' });

                    //
                    var objLinkNext = $(currentScroll).parent().find('> .scrollNext');
                    objLinkNext.attr({ 'class': 'scrollNext' });

                    bNext = true;
                });
            }
        }
    });
}

function setListenerScrolls() {
    //
    $('.lstImage').hoverIntent(function () {
        // MouseOver        
        var indexCurrentImage = $(this).index('.lstImage');
        if ((!bShowBookDetail) || (indexCurrentImage != indexImage)) {
        	
            bShowBookDetail = true;

            //
            indexImage = $(this).index('.lstImage');
            var objLiContent = $(this).parent();

            var htmlbookDetailTitle = objLiContent.find('> .bookBaloon > .bookDetail > .bookDetailTop').html();
            var htmlbookDetailAuthor = objLiContent.find('> .bookBaloon > .bookDetail > .bookDetailMiddle').html();
            var htmlbookDetailLogo = objLiContent.find('> .bookBaloon > .bookDetail > .bookDetailBottom').html();
          
            setPositionBookBaloon(mouse_x, mouse_y);

            
            $('#bookBaloon > .bookDetail >  .bookDetailTop').html(htmlbookDetailTitle);
            $('#bookBaloon > .bookDetail >  .bookDetailMiddle').html(htmlbookDetailAuthor);
            $('#bookBaloon > .bookDetail >  .bookDetailBottom').html(htmlbookDetailLogo);

             
            $('#bookBaloon').show();


        }
    }, function () {
        // MouseOut
        if (bShowBookDetail) {
            //
            bShowBookDetail = false;
            $('#bookBaloon').hide();
        }
    });
}



