 jQuery(document).ready(function(){
 /* Our Work */
    var segmentFilter = '';
    var serviceFilter = '';

    jQuery('ul#filter-segment a').click(function() {
        jQuery(this).css('outline','none');
        jQuery('ul#filter-segment .current').removeClass('current');
        jQuery(this).parent().addClass('current');

        segmentFilter = jQuery(this).text().toLowerCase().replace(/ /g,'');

        //alert('looking for segment ' + segmentFilter);

        if(segmentFilter == 'all') {
            jQuery('ul#our-work li.hidden').fadeIn('slow').removeClass('hidden');
        } else {
            jQuery('ul#our-work li').each(function() {
                if(!jQuery(this).hasClass(segmentFilter)) {
                    jQuery(this).fadeOut('slow').addClass('hidden');
                } else {
                    jQuery(this).fadeIn('slow').removeClass('hidden');
                }
                
            });
        }

        //reset service filter
        jQuery('ul#filter-service li').each(function() {
            jQuery(this).removeClass('current');
        });        
        serviceFilter = '';

        return false;
    });

    jQuery('ul#filter-service a').click(function() {
        jQuery(this).css('outline','none');
        jQuery('ul#filter-service .current').removeClass('current');
        jQuery(this).parent().addClass('current');

        serviceFilter = jQuery(this).text().toLowerCase().replace(/ /g,'');

        jQuery('ul#our-work li').each(function() {
            if((segmentFilter == '') || (segmentFilter == 'all'))
            {
                //alert('looking for service ' + serviceFilter);
                if ((jQuery(this).hasClass(serviceFilter))) {
                    jQuery(this).fadeIn('slow').removeClass('hidden');
                } else {
                    jQuery(this).fadeOut('slow').addClass('hidden');
                }
            }
            else
            {
                //alert('looking for segment ' + segmentFilter + ' and service ' + serviceFilter);

                if ((jQuery(this).hasClass(segmentFilter)) && (jQuery(this).hasClass(serviceFilter))) {
                    jQuery(this).fadeIn('slow').removeClass('hidden');
                } else {
                    jQuery(this).fadeOut('slow').addClass('hidden');
                }

            }
           
        });

    });

    jQuery("#our-work li").each(function(){
            var link = jQuery(this).children("a");
            var image = jQuery(link).children("img");
            var imgsrc = jQuery(image).attr("src");

            // add mouseover
            jQuery(link).mouseover(function(){
                    var src = imgsrc.replace("off", "over");
                    jQuery(image).attr("src",src);
            });

            // add mouse out
            jQuery(link).mouseout(function(){
                var src = imgsrc.replace("over", "off");
                jQuery(image).attr("src",src);
            });
            
    });


    jQuery("#our-work li").each(function(){
        var link = jQuery(this).children("a");
        var image = jQuery(link).children("img");
        var imgsrc = jQuery(image).attr("src");

        try {
            jQuery(image).detectFlicks({
                    axis: 'y',
                    threshold: 60,
                    flickEvent:function(d) {
                        var src = imgsrc.replace("off", "over");
                        jQuery(image).attr("src",src);
                        window.setTimeout(function(){
                            var src = imgsrc.replace("over", "off");
                            jQuery(image).attr("src",src);
                        }, 2000);

                    }
                });
        } catch(err)  {}

    });

    var cache = [];
    // Arguments are image paths relative to the current page.
    jQuery.preLoadImages = function() {
        var args_len = arguments.length;
        for (var i = args_len; i--;) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
});
