$(window).bind('resize', function() {
    if(wr.t) clearTimeout(wr.t);
    wr.t = setTimeout(wr.exec, 100);
});

$(document).ready(function(){
    $('#content_hidden').hide();
    $('#last_project a').mouseover(function(){
        var class_name = $(this).attr("rel");
        class_name = '#' + class_name;
        var data_info = $(class_name).html();
        $('#tooltip1').html(data_info);
    }).tooltip({
        events: {
            def: "mouseover,blur",
            tooltip: "mouseover,mouseout"
        },
        // place tooltip on the right edge
        position: "top center",
        // use the built-in fadeIn/fadeOut effect
        effect: 'fade',
        //effect: 'slide',
        offset: [-5, 210],
        // use this single tooltip element
        tip: '#tooltip1'
    });

    main_slider.init(msdata);

    // хитрая магия
    wr.exec();
});

main_slider = {
    data: new Array(),
    current: 0,
    images: new Array(), // для прелоадера
    images_gs: new Array(), // для прелоадера

    title: '',
    img_c: null,

    action: false,

    init: function(data) {
        if(data && data !== undefined) main_slider.data = data;

        // чб
        var tig = new Image();
        tig.src = main_slider.data[0].src.replace('big', 'big_gray');
        main_slider.images_gs.push(tig);
        
        main_slider.title = $('#name_project span.level_3');
        main_slider.img_c = $('#position_big_image');
        main_slider.title.html('<a href="'+main_slider.data[0].link+'">'+main_slider.data[0].main_title+'</a>');
        main_slider.show(0, main_slider.img_c.find('img'), true);

        $('a[href^=#slide_up]').mouseover(function() {
            $(this).find('img').attr('src', '/img/arrow_top_green.png');
            $('a[href^=#slide_down]').find('img').attr('src', '/img/arrow_bottom.png');
        }).click(function() {
            main_slider.slide('left');
            return false;
        });
        $('a[href^=#slide_down]').mouseover(function() {
            $(this).find('img').attr('src', '/img/arrow_bottom_green.png');
            $('a[href^=#slide_up]').find('img').attr('src', '/img/arrow_top.png');
        }).click(function() {
            main_slider.slide('right');
            return false;
        });
    },

    slide: function(dir) {
        if(main_slider.acion) return false;
        
        if(!dir || dir === undefined) dir = 'left';
        main_slider.action = true;

        var i = main_slider.current;
        var img = null;
        if(dir == 'left') {
            i++;
            if(i >= main_slider.data.length) i = 0;
            main_slider.img_c.append('<img src="" alt="" style="margin-left:723px;" />');
            var imgs = main_slider.img_c.find('img');
            img = imgs[1];

            main_slider.show(i, $(img));
            $(img).animate({'marginLeft': '-723px'});
            $(imgs[0]).animate({'marginLeft': '-2169px'}, function() {
                $(this).remove();
                main_slider.action = false;
            });
        } else {
            i--;
            if(i < 0) i = main_slider.data.length-1;
            main_slider.img_c.prepend('<img src="" alt="" style="margin-left:-2169px;" />');
            img = main_slider.img_c.find('img')[0];

            main_slider.show(i, $(img));
            $(img).animate({'marginLeft': '-723px'});
            $(main_slider.img_c.find('img')[1]).animate({'marginLeft': '723px'}, function() {
                $(this).remove();
                main_slider.action = false;
            });
        }
        main_slider.current = i;
        main_slider.title.html('<a href="'+main_slider.data[i].link+'">'+main_slider.data[i].main_title+'</a>');
    },
    // модный прелоадер
    show: function(i, obj, f) {
        if(main_slider.images[i] !== undefined && main_slider.images[i].complete)  {
            obj.attr('src', main_slider.images[i].src).css('margin-top', 0);
            if(f && f !== undefined) obj.css('margin-left', '-723px');
        } else {
            if(main_slider.images_gs[i].complete)  {
                obj.attr('src', main_slider.images_gs[i].src).css('margin-top', 0);
                if(f && f !== undefined) {
                    obj.css('margin-left', '-723px');
                    for(j in main_slider.data) {
                        if(j == 0) continue;
                        // чб
                        var tig = new Image();
                        tig.src = main_slider.data[j].src.replace('big', 'big_gray');
                        main_slider.images_gs[j] = tig;
                    }
                }
                
                var ti = new Image();
                ti.src = main_slider.data[i].src.replace('big_gray', 'big');
                main_slider.images[i] = ti;
            } else {
                if(obj.attr('src') != '/img/loading.gif')
                    obj.attr('src', '/img/loading.gif').css('margin-top', '315px');
            }
            setTimeout(function() {main_slider.show(i, obj, f)}, 100);
        }
    }
}

wr = {
    t: null,

    exec: function() {
        var lpc_width = 0; // суммарная ширина чайлдов
        var lp_width = $('#last_project').width(); // ширина блока
        var lpc = $('#last_project li'); // чайлды
        // вычисляем суммарную ширину всех видимых чайлдов
        lpc.each(function() {
            var o = $(this);
            if(!o.hasClass('hidden')) lpc_width += o.width()+36;
        });

        if(lpc_width > lp_width) {
            var i = lpc.length-1;
            while(lpc_width > lp_width && i >= 0) {
                var o = $(lpc[i]);
                if(!o.hasClass('hidden')) {
                    lpc_width -= o.width()+36;
                    //if(lpc_width < lp_width) return true;
                    o.addClass('hidden');
                }
                i--;
            }
        } else if(lpc_width < lp_width) {
            var i = lpc.index($('#last_project li.hidden')[0]);
            //alert(i);
            while(lpc_width < lp_width) {
                var o = $(lpc[i]);
                if(o.hasClass('hidden')) {
                    lpc_width += o.width()+36;
                    if(lpc_width > lp_width) return true;
                    o.removeClass('hidden');
                }
                i++;
            }
        }
        //alert('resize from '+lp_width+' to '+lpc_width);
    }
}
