(function($) {
    $.fn.portfolio = function(options) {
        
        /* default options */
        var options = $.extend({
            'width' : 235,
            'height' : 170,
            'delayOn' : 0,
            'delayOff' : 50,
            'easeType' : 'easeInOutExpo',
            'easeSpeed' : 250
        }, options);
        
        return this.each(function() {
        
            var figure = $(this).find('figure');
            figure.each(function() {
            
                $(this).css({
                    'position' : 'relative',
                    'overflow' : 'hidden'
                });

                var a = figure

                var figcaption = figure.find('a>figcaption');
                figcaption.css({
                    'position' : 'absolute',
                    'top' : options.height + 'px',
                    'width' : options.width + 'px',
                    'color' : '#FFFFFF',
                    'background' : 'rgba(0, 0, 0, 0.7)'
                });
                
                if($.browser.msie && $.browser.version < 9 ) {
                    figcaption.css({
                        'filter' : 'progid:DXImageTransform.Microsoft.gradient(startcolorstr=#B4000000, endcolorstr=#B4000000, gradienttype=0)'
                    });
                }
                
                $(this).hover(
                    function() {
                        var figcaption = $(this).find('a>figcaption');
                        figcaption.delay(options.delayOn).animate({
                            'top': options.height - figcaption.height() + 'px'
                        }, options.easeSpeed, options.easeType);
                    },
                    function() {
                        $(this).find('a>figcaption').delay(options.delayOff).animate({
                            'top' : options.height + 'px'
                        }, options.easeSpeed, options.easeType);
                    }
                );

                
            });

        });
    }
})(jQuery);
