function isScrolledIntoView(elem)
{
    var docViewTop = $j(window).scrollTop();
    var docViewBottom = docViewTop + $j(window).height();

    var elemTop = $j(elem).offset().top;
    var elemBottom = elemTop + $j(elem).height();

    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}

var $j = jQuery.noConflict();

$j(document).ready(function(){

	// masonry - home
	var $container = $j('.boxes');
	$container.imagesLoaded(function(){
		$container.masonry({
		itemSelector : '.post, .page',
		columnWidth : 230,
		isAnimated: !Modernizr.csstransitions
		});
	});
	
	// masonry - archive portfolio
	var $container2 = $j('.archive.category-portfolio .boxes');
	$container2.imagesLoaded(function(){
		$container2.masonry({
		itemSelector : '.post',
		columnWidth : 310,
		isAnimated: !Modernizr.csstransitions
		});
	});
	   
	// what we do read more
	$j('.what-we-do .entry-content').expander({
		slicePoint: 300,
		expandText: 'mehr',
		userCollapseText: '',
		afterExpand: function(){
			$j('.boxes').masonry('reload');
		},
		onCollapse: function(){
			$j('.boxes').masonry({
		itemSelector : '.post',
		columnWidth : 230,
		isAnimated: !Modernizr.csstransitions,
		});
		}
	});
	
	// who we are read more
	$j('.who-we-are .entry-content').expander({
		slicePoint: 300,
		expandText: 'mehr',
		userCollapseText: '',
		afterExpand: function(){
			$j('.boxes').masonry('reload');
		},
		onCollapse: function(){
			$j('.boxes').masonry({
		itemSelector : '.post',
		columnWidth : 230,
		isAnimated: !Modernizr.csstransitions,
		});
		}
	});
	
	// random resize images
	$j('.portfolio-image img').each(function() {
    	var currWidth = $j(this).attr("width");
    	var currHeight = $j(this).attr("height");
    	
		$j(this).removeAttr("width");
		$j(this).removeAttr("height");
    	
    	var transformScale = (Math.floor(Math.random()*45 + 65))/100;
    	
    	$j(this).width(Math.floor(currWidth*transformScale));
    	$j(this).height(Math.floor(currHeight*transformScale));
    });
    
    // portfolio images - make bigger on click
    $j('.portfolio-image.unzoomed').click(function(e) {
    
    	e.preventDefault();
    	
    	$j(this).removeClass('unzoomed');
		$j(this).children('a.portfolio-image-big').addClass('zoomed');
		    	    	
    	$j('#ajax-loader').show();
    	
    	var $clickedBox = $j(this);
    	var $displayBox = $j(this).children('a.portfolio-image-big').children('img.portfolio-image-display');
    	
    	var bigImageSrc = $j(this).children('a.portfolio-image-big').attr("href");
    	
    	var img = new Image();
			img.onload = function() {
			newWidth = this.width;
			newHeight = this.height;
			
			$displayBox.attr("src", bigImageSrc);
			
			$displayBox.animate({
				height: newHeight,
				width: newWidth,
				easing: 'easeOutExpo'
			}, 400, function(){
				$j('#ajax-loader').fadeOut();
				$j.scrollTo($clickedBox, 400, {
					offset: -20,
					easing: 'easeOutExpo',
					axis: 'y'
				});
				delete img;
				$clickedBox.unbind('click');
			});
		}
		img.src = bigImageSrc;
    });
    
    // prevent the link from being clicked
    $j('.portfolio-image a').click(function(e) {
    	e.preventDefault();
  	});
    
    $j('.entry-overview-content').hover(
    	function() {
    		$j(this).children('.entry-overview-link').show();
    	},
    	function() {
	    	$j(this).children('.entry-overview-link').hide();
    	}	
    );
    
    // neu/updated
    $j('.category-new').append('<div class="badge-neu">N<br />E<br />U</div>');
    $j('.category-updated').append('<div class="badge-updated">U<br />P<br />D<br />A<br />T<br />E<br />D</div>');
	
	
	$j('body').imagesLoaded(function(){
		$j('.badge-neu').delay(1000).fadeIn();
		$j('.badge-updated').delay(1000).fadeIn();
    });
    
    // Search Form
    $j('#search').focus(function(){
    	$j('#search-form').fadeTo('fast',1.0);
    });
    
    $j('#search').blur(function(){
    	$j('#search-form').fadeTo('fast',0.5);
    });
        
    //
    // Scroll to Top
    //
    $j('.back-to-top').click(function(){
    	$j('html, body').animate({ scrollTop: 0 }, 750, 'easeOutExpo');
    });
    
    //
    // Flipper
    //
    $j('#txt-flip').toggle(function(){
    	
    	$j(this).html("I<br />M<br />A<br />G<br />E");
    	$j('.entry-overview-content').unbind('mouseenter mouseleave');
    	
    	$j('.entry-overview-content').hover(
	    	function() {
	    		$j(this).children('.entry-overview-link').hide();
	    	},
	    	function() {
		    	$j(this).children('.entry-overview-link').show();
	    	}	
	    );
    	
    	$j('.entry-overview-link').show();
    }, function(){
    	
    	$j(this).html("T<br />E<br />X<br />T");
    	
    	$j('.entry-overview-content').unbind('mouseenter mouseleave');
    	
    	$j('.entry-overview-content').hover(
	    	function() {
	    		$j(this).children('.entry-overview-link').show();
	    	},
	    	function() {
		    	$j(this).children('.entry-overview-link').hide();
	    	}	
	    );
    	
    	$j('.entry-overview-link').hide();
    });
});
