(function($) {
    $.extend({
        ab_hblock: {
            version         : 1.0,
            defaults        : {
                toggleSpeed     : 75,
                toggleEffect    : 'both',
                hoverEffect     : null,
                moveSpeed       : 250,
                easing          : 'swing',
                className       : 'ab_hblock',
                tabClass        : 'ab-mtabs',
                selected        : 0,
                rollerWidth     : 652
            },
            effects         : {
                'width'         : {width: 0},
                'height'        : {height: 0},
                'both'          : {width: 0, height: 0}
            }
        }
    });
    
    $.fn.extend({
        ab_hblock: function(options) {
            var options = $.extend({}, $.ab_hblock.defaults, options);
            
            var effect = (
                (typeof options.toggleEffect == 'string') ? $.ab_hblock.effects[options.toggleEffect] : options.toggleEffect
            );

            var roller = $(this).find('.ab-mtblx').eq(0);
            
            var tabs = $(this).find('.' + options.tabClass + '').each(function(i) {
                $(this).attr('indx', i);
            });
            
            var parent = tabs.offsetParent();
//height : $(tabs[0]).outerHeight(), 
            var initSize = { width : $(tabs[0]).outerWidth(), left: 2 };
            var under = $('<div>&nbsp;</div>').addClass(options.className).appendTo(parent).css(initSize);

            tabs.hover(
                function(e) {
                    var over = $(this);
                    
                    var overSize = {
                        width: over.outerWidth()
                    };
                    
                    var overOffset = over.offset();
                    var parentOffset = parent.offset();

                    var underOffset = {
                        left: overOffset.left - parentOffset.left - (under.outerWidth() - under.width()) / 2,
                        top: overOffset.top - parentOffset.top - (under.outerHeight() - under.height()) / 2
                    }

                    var underCSS = $.extend({}, overSize, underOffset);
                    under.animate(underCSS, {
                        queue       : false,
                        duration    : options.moveSpeed,
                        easing      : options.easing
                    });

                    roller.animate({ left: parseInt(over.attr('indx')) * options.rollerWidth * -1}, {
                        queue       : false,
                        duration    : options.moveSpeed,
                        easing      : options.easing
                    });
                    
                    if ($.isFunction(options.hoverEffect)) {
                        under.queue(options.hoverEffect);
                    }
                }
            );

            return this;
        }
    });
})(jQuery);


initAbLatestBlock = function() {
    if(!$('#ab-latblock').length) return false;

    this.url        = 'frContent/getPubAvtoLatest/';
    this.cur_type   = "pub";

    var obj = this;

    obj.links = $('#ab-latblock .ab-btitle .filter a');

    obj.links.click(function() {
        obj.cur_type = $(this).attr('ctype');

        obj.links.removeClass("sel");
        $(this).addClass("sel");

        obj.load_block();
    });
    

    obj.load_block = function()
    {
        $.ajax({
            url         : appURL + obj.url,
            type        : 'POST',
            dataType    : "json",
            data        : 'alias='+$.toJSON(obj.cur_type),
            success     : function(response) {
                $(".ab-mtblx").eq(0).empty();
                $(".ab-mtblx").eq(0).append(response.latest_block);
                $(".ab-mtblx").eq(0).css('left', 1);

                $(".ab-ahover").css('left', 1);
            },//end success
            error: function(err) { showErrorSys(err); }
        });
    };

    $('#ab-latblock').ab_hblock({toggleEffect: 'width', className: 'ab-ahover', tabClass: 'ab-lbut', toggleEffect: 'width', rollerWidth: 300});
};

$(document).ready(function() {

    try
    {
        if($(".ab-photos .photos .photo a, .big-img a").length) {
            $(".ab-photos .photos .photo a, .big-img a").fancybox();
        }
    }
    catch (err) {}

    if($('#ab-hblock').length) {
        $('#ab-hblock').ab_hblock({toggleEffect: 'width', className: 'ab-ahover'});
    }

    initAbLatestBlock();
    
    
});