(function ($) {
    $.fn.thumbs = function (settings) {
        var TM;
        var timeout=300;
        var tover=function(pic, i)
        { 
          var marginLeft='-27px';
          if  (i==0)
          {
            marginLeft='-10px';   
          }
          if (i==count-1)
          {
            marginLeft='-55px';   
          }
          $(pic).css("z-index", i+10)
          .stop()
          .animate({
                'font-size': '16px',
                marginLeft: marginLeft,
                'margin-bottom': ($(obj).height() - 170 - 35) / 2 + 'px',
                width: '234px',
                height: '234px'
            }, 300);
        }
        var settings = jQuery.extend({
            width: 170,
            height: 170
        }, settings);
        if (this.length == 0)
            return false
        var obj = this;
        
        var count=$('li', obj).length;
        var arLayers = Array();
        $('li', obj).each(function (i) {
            arLayers.push($(this));
                $(this).hover(                
                  function () {
                    var pic=$(this);
                    clearTimeout(TM);
                    TM = setTimeout(function(){tover(pic,i)}, timeout);
                  },
                  function () {
                    clearTimeout(TM);
                    margin = ($(obj).height() - 170 - 35) / 2;
                    if (i % 4 == 1) {
                        margin += 31;
                    } else if (i % 4 == 2) {
                        margin += 9;
                    } else if (i % 4 == 3) {
                        margin += 18;
                    }
                    $(this).css("z-index", i);
                    $(this).stop()
                    .animate({
                        marginLeft: 0,
                        'font-size': '11px',
                        'margin-bottom': margin + 'px',
                        width: settings.width,
                        height: settings.height
                    }, 300);
                  });
        });
        setLayers(obj);
        obj.find('ul').show();
        //$(window).resize(function () { setLayers(obj); });
        function setLayers() {
            step = ($(obj).width() - 54 - settings.width/2) / arLayers.length;
            for (var index in arLayers) {
                leftpx = 18 + step * 0.5 + index * step;
				leftpx = 18 +  index * step;
                margin = ($(obj).height() - 170 - 35) / 2;
                if (index % 4 == 1) {
                    margin += 31;
                } else if (index % 4 == 2) {
                    margin += 9;
                } else if (index % 4 == 3) {
                    margin += 18;
                }
                arLayers[index]
                    .css({
                        "z-index": index,
                        left: leftpx + 'px',
                        'margin-bottom': margin + 'px',
                        width: settings.width,
                        height: settings.height
                    });
            }
        }
    }
})(jQuery);
