﻿/***************************************************
PORTFOLIO HOVER
***************************************************/

$(document).ready(function() {
    $("#portfolio a").hover(function() {
        $(this).find("img").stop().animate({
            opacity: 0.2
        }, 300);
    }, function() {
        $(this).find("img").stop().animate({
            opacity: 1
        }, 300);
    });
});

$(document).ready(function() {
    $(".portfolio-list .portfolio-thumbnail").hide();
    $(".portfolio-list").hover(function() {
        $(this).find(".portfolio-thumbnail").stop(true, true).animate({ opacity: 'show' }, 'slow');
    }, function() {
        $(this).find(".portfolio-thumbnail").stop(true, true).animate({ opacity: 'hide' }, 'slow');

    });

});

/***************************************************
PORTFOLIO FILTERABLE
***************************************************/
/*
* Copyright (C) 2009 Joel Sutherland.
* Liscenced under the MIT liscense
*/
(function($) {
    $.fn.filterable = function(settings) {
        settings = $.extend({
            useHash: true,
            animationSpeed: 500,
            show: { width: 'show', opacity: 'show' },
            hide: { width: 'hide', opacity: 'hide' },
            useTags: true,
            tagSelector: '#portfolio-filter a',
            selectedTagClass: 'current',
            allTag: 'all'
        }, settings);

        return $(this).each(function() {

            /* FILTER: select a tag and filter */
            $(this).bind("filter", function(e, tagToShow) {
                if (settings.useTags) {
                    $(settings.tagSelector).removeClass(settings.selectedTagClass);
                    $(settings.tagSelector + '[href=' + tagToShow + ']').addClass(settings.selectedTagClass);
                }
                $(this).trigger("filterportfolio", [tagToShow.substr(1)]);
            });

            /* FILTERPORTFOLIO: pass in a class to show, all others will be hidden */
            $(this).bind("filterportfolio", function(e, classToShow) {
                if (classToShow == settings.allTag) {
                    $(this).trigger("show");
                } else {
                    $(this).trigger("show", ['.' + classToShow]);
                    $(this).trigger("hide", [':not(.' + classToShow + ')']);
                }
                if (settings.useHash) {
                    location.hash = '#' + classToShow;
                }
            });

            /* SHOW: show a single class*/
            $(this).bind("show", function(e, selectorToShow) {
                $(this).children(selectorToShow).animate(settings.show, settings.animationSpeed);
            });

            /* SHOW: hide a single class*/
            $(this).bind("hide", function(e, selectorToHide) {
                $(this).children(selectorToHide).animate(settings.hide, settings.animationSpeed);
            });

            /* ============ Check URL Hash ====================*/
            if (settings.useHash) {
                if (location.hash != '')
                    $(this).trigger("filter", [location.hash]);
                else
                    $(this).trigger("filter", ['#' + settings.allTag]);
            }

            /* ============ Setup Tags ====================*/
            if (settings.useTags) {
                $(settings.tagSelector).click(function() {
                    $('#portfolio ul').trigger("filter", [$(this).attr('href')]);
                    $(settings.tagSelector).removeClass('current');
                    $(this).addClass('current');
                });
            }
        });
    }
})(jQuery);

$(document).ready(function() {
    $('#portfolio ul').filterable();
});


