'use strict';(function($){if($('.who').length||$('.truncate').length){var originalContent={};var shortContent={};var expandState={};var g_startingMax=$('.columns > li').css('max-height');var addExpandListener=function(parent){$(parent).find('.expand').click(function(e){e.preventDefault();expandDiv(this);});};var topExpandClick=function(e){e.preventDefault();var parentDiv;if($('.who').length)
parentDiv=$(this).parent().parent();else
parentDiv=$(this).parent();name=parentDiv.find('h3').text();if(expandState[name]!==true){parentDiv.html(shortContent[name]);addTopExpandListener(parentDiv);addExpandListener(parentDiv);expandState[name]=true;}else{expandDiv(this);};};var addTopExpandListener=function(parent){$(parent).find('.top_expand').click(topExpandClick);};var expandDiv=function(_this){var parentDiv;if($('.who').length)
parentDiv=$(_this).parent().parent();else
parentDiv=$(_this).parent().parent();var name=parentDiv.find('h3').text();expandState[name]=false;parentDiv.html(originalContent[name]);addTopExpandListener(parentDiv);parentDiv.removeAttr('');parentDiv.find('.contract').click(topExpandClick);};var requiredLength;if($('.who').length)
requiredLength=150;else
requiredLength=140;var sections;if($('.who').length)
sections=$('.columns > li > div')
else
sections=$('.columns > li')
sections.each(function(){var name=$(this).find('h3').text();var thisOriginalContent=$(this);if($('.who').length)
thisOriginalContent.find('p:last').append('&nbsp;&nbsp;<a href="#" class="contract">&lt;</a>');else
thisOriginalContent.append('&nbsp;&nbsp;<a href="#" class="contract">&lt;</a>');thisOriginalContent.find('.contract').click(topExpandClick);originalContent[name]=thisOriginalContent.html();var paras=$(this).find('p');var trimmedPara='';var paraLength=0;for(var i=0;i<paras.length;++i){var paragraphHtml=$(paras[i]).html()
if((paraLength+paragraphHtml.length)<requiredLength){trimmedPara+='<p>'+paragraphHtml+'</p>';paraLength+=$(paras[i]).html().length;continue;}
var paraRequiredLength=requiredLength-paraLength;var lastCharCheck=new RegExp("[A-Za-z0-9]\ $");while(!lastCharCheck.test(paragraphHtml.substring(0,paraRequiredLength))&&paraRequiredLength>0){--paraRequiredLength;}
trimmedPara+='<p>'+paragraphHtml.substr(0,paraRequiredLength-1)+'&nbsp;<a href="#" class="expand">&gt;</a></p>';break;}
var headingHTML='';if($(this).find('img').length){headingHTML+=$(this).find('img').prop('outerHTML');}
if($(this).find('h3').length)
headingHTML+='<h3>'+$(this).find('h3').html()+'</h3>';if($('.who').length)
headingHTML+='<h4>'+$(this).find('h4').html()+'</h4>';shortContent[name]=headingHTML+trimmedPara;$(this).html(shortContent[name]);addExpandListener(this);});$('.top_expand').click(topExpandClick);}})(jQuery);$(window).load(function(){$(".work .columns img").fadeIn(500);$('.work .columns img').each(function(){var el=$(this);el.css({"position":"absolute"}).wrap("<div class='img_wrapper' style='display: inline-block'>").clone().addClass('img_grayscale').css({"position":"absolute","z-index":"998","opacity":"0"}).insertBefore(el).queue(function(){var el=$(this);el.parent().css({"width":this.width,"height":this.height});el.dequeue();});if($.browser.msie){this.style.filter='progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';}else{this.src=grayscale(this.src);}});$('.work .columns img').mouseover(function(){$(this).parent().find('img:first').stop().animate({opacity:1},250);})
$('.img_grayscale').mouseout(function(){$(this).stop().animate({opacity:0},250);});});function grayscale(src){var canvas=document.createElement('canvas');var ctx=canvas.getContext('2d');var imgObj=new Image();imgObj.src=src;canvas.width=imgObj.width;canvas.height=imgObj.height;ctx.drawImage(imgObj,0,0);var imgPixels=ctx.getImageData(0,0,canvas.width,canvas.height);for(var y=0;y<imgPixels.height;y++){for(var x=0;x<imgPixels.width;x++){var i=(y*4)*imgPixels.width+x*4;var avg=(imgPixels.data[i]+imgPixels.data[i+1]+imgPixels.data[i+2])/3;imgPixels.data[i]=avg;imgPixels.data[i+1]=avg;imgPixels.data[i+2]=avg;}}
ctx.putImageData(imgPixels,0,0,0,0,imgPixels.width,imgPixels.height);return canvas.toDataURL();}
