if(!Array.indexOf){Array.prototype.indexOf=function(obj){for(var i=0;i<this.length;i++){if(this[i]==obj){return i;}}
return-1;}}
var timer;var lastT;function scrollto(obj){var t=0;var pad=35;var strTop=document.getElementById(obj).style.top;if(strTop==""){doscroll(0,getScrollHeight(),0);}
else{pxPos=strTop.indexOf("px");targetYPos=parseInt(strTop.substring(0,pxPos))-pad;var y=getScrollHeight();clearTimeout(timer);doscroll(targetYPos,y,t);}}
function doscroll(targetYPos,y,t){var speed=6;var diff=targetYPos-y;var steps=diff/(speed*speed);t+=(t+steps)/diff;newY=(t==1)?y+diff:y+(diff*(-Math.pow(2,-20*t/1)+1));if(t){window.scrollTo(0,newY);}
if(t>=1||lastT==t||!t){clearTimeout(timer);}
else{timer=setTimeout("doscroll("+targetYPos+","+y+","+t+")",1);}
lastT=t;return false;}
function handle(delta){clearTimeout(timer);}
function wheel(event){var delta=0;if(!event){event=window.event;}
if(event.wheelDelta){delta=event.wheelDelta/120;if(window.opera)delta=-delta;}else if(event.detail){delta=-event.detail/3;}
if(delta){handle(delta);}}
if(window.addEventListener)
window.addEventListener('DOMMouseScroll',wheel,false);window.onmousewheel=document.onmousewheel=wheel;function getScrollHeight(){var y;if(self.pageYOffset){y=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){y=document.documentElement.scrollTop;}else if(document.body){y=document.body.scrollTop;}
return parseInt(y);};var BOXW=226;var BOXH=213;var pageW=0;var cols=0;function getMass(obj,which){if(which=='height'){if($(obj).length>0&&$(obj).css("position")!="absolute")return Math.floor($(obj).height())+Math.floor($(obj).css("padding-top").replace(/[^0-9]/g,"")+$(obj).css("margin-top").replace(/[^0-9]/g,""))+Math.floor($(obj).css("padding-bottom").replace(/[^0-9]/g,"")+$(obj).css("margin-bottom").replace(/[^0-9]/g,""));else return 0;}else if(which=='width'){if($(obj).length>0)return Math.floor($(obj).width())+Math.floor($(obj).css("padding-left").replace(/[^0-9]/g,"")+$(obj).css("margin-left").replace(/[^0-9]/g,""))+Math.floor($(obj).css("padding-right").replace(/[^0-9]/g,"")+$(obj).css("margin-right").replace(/[^0-9]/g,""));else return 0;}}
function shiftPosition(){var itemsTopPad=getMass('#items_container','height');var TOPPAD=itemsTopPad;var itemsLeftPad=Math.floor($('#items_container').css("padding-left").replace(/[^0-9]/g,"")+$('#items_container').css("margin-left").replace(/[^0-9]/g,""));var LEFTPAD=itemsLeftPad;if($('.project_feed_thumb').length>0){var RIGHTPAD=Math.floor($('.project_feed_thumb').css("padding-right").replace(/[^0-9]/g,"")+$('.project_feed_thumb').css("margin-right").replace(/[^0-9]/g,""));var BOTPAD=Math.floor($('.project_feed_thumb').css("padding-bottom").replace(/[^0-9]/g,"")+$('.project_feed_thumb').css("margin-bottom").replace(/[^0-9]/g,""));}else{var RIGHTPAD=25;var BOTPAD=25;}
this.col_ar=[];this.init=function(){var found=false;var pageW=$("body").innerWidth();cols=Math.floor((pageW-$('#items_container').css("left").replace(/[^0-9]/g,"")-(LEFTPAD+RIGHTPAD))/(BOXW+RIGHTPAD));this.pushed_ar=[];for(i=cols;i>0;i--){if(i<=(cols-3)){targetSelCol=i;break;}}
window.onresize=function(){shiftPosition();}
var pcount=0;$('#items').children().each(function(){var bottom=$(this).offset().top+$(this).height();var thisCol=(($(this).offset().left-30)/(BOXW+BOTPAD))+1;var wpos=$(this).width()+$(this).offset().left+RIGHTPAD+20;var mpos=(Math.floor(-1)%cols);var hotarea=pageW-RIGHTPAD-20;if($(this).hasClass("project_feed_full")&&cols==4){if(wpos>hotarea&&mpos==1)parent.pushed_ar.splice((pcount+1),0,$(this).attr('id'));else if(wpos>hotarea&&mpos==2)parent.pushed_ar.splice((pcount-1),0,$(this).attr('id'));else if(wpos>hotarea&&mpos==3)parent.pushed_ar.splice((pcount-2),0,$(this).attr('id'));else parent.pushed_ar.push($(this).attr('id'));}else if($(this).hasClass("project_feed_full")&&cols>5){if(wpos>hotarea&&mpos>cols-3){if(mpos==cols-2)parent.pushed_ar.splice((pcount-1),0,$(this).attr('id'));else if(mpos==cols-1)parent.pushed_ar.splice((pcount-2),0,$(this).attr('id'));}else if(wpos>hotarea&&mpos==0){parent.pushed_ar.splice((pcount-3),0,$(this).attr('id'));}else parent.pushed_ar.push($(this).attr('id'));}else if($(this).hasClass("project_feed_full")&&wpos>hotarea&&(mpos>=3||(mpos<3&&cols<=4))){if((wpos-(BOXW+RIGHTPAD))<hotarea)parent.pushed_ar.splice((pcount-1),0,$(this).attr('id'));else if((wpos-(BOXW+RIGHTPAD)*2)<hotarea)parent.pushed_ar.splice((pcount-2),0,$(this).attr('id'));}else{parent.pushed_ar.push($(this).attr('id'));}
pcount++;});this.col_ar=[];if(!cols||cols<2){cols=2;}
this.col_ar.push({x:0,y:0});for(var i=1;i<cols;i++){this.col_ar.push({x:i,y:0});}
this.draw();}
this.draw=function(){var ar=pushed_ar;for(var o in ar){o=ar[o];if(o!='')
{this.col_ar.sort(this.ySort);var d=document.getElementById(o);if(d){var W=Math.round(d.offsetWidth/BOXW);if(W>1){this.drawWide(o);}
else{var c=this.col_ar[0];this.drawItem(o,c.x,c.y);}}}}}
this.drawWide=function(o)
{var pc_ar=[];this.col_ar.sort(this.xSort);var d=document.getElementById(o);var W=Math.round(d.offsetWidth/BOXW);var uc=cols-W;if(uc<0){return;}
if(uc<0){uc=1;W=2;}
for(var i=0;i<=uc;i++){pc_ar.push(this.col_ar[i]);var my=0;var mi=null;for(var j=0;j<W;j++){var ty=this.col_ar[i+j].y;if(ty>=my){my=ty;mi=i+j;}}
var td=my;for(var j=0;j<W;j++)td+=Math.abs(this.col_ar[mi].y-this.col_ar[i+j].y);pc_ar[i].d=td;pc_ar[i].od=pc_ar[i].y-my;}
pc_ar.sort(this.dSort);var x=pc_ar[0].x;var y=pc_ar[0].y
if(pc_ar[0].od<0)y-=pc_ar[0].od;this.col_ar.sort(this.ySort);if($.browser.msie)y=y+6;this.drawItem(o,x,y);}
this.xSort=function(a,b){return(a.x-b.x);}
this.ySort=function(a,b){if(a.y==b.y)return(a.x-b.x);else return(a.y-b.y);}
this.dSort=function(a,b){if(a.d==b.d)return(a.x-b.x);else return(a.d-b.d);}
this.drawItem=function(o,x,y)
{var d=document.getElementById(o);var W=Math.round(d.offsetWidth/BOXW);$("#"+o).css("left",(x*(BOXW+RIGHTPAD)+LEFTPAD));$("#"+o).css("top",(y+TOPPAD));$("#"+o).css("position","absolute");$("#"+o).css("visibility","visible");if(W>1){this.col_ar.sort(this.xSort);ie_extra=$.browser.msie?6:0;for(var i=0;i<W;i++)this.col_ar[x+i].y=y+$("#"+d.id).innerHeight()+BOTPAD+ie_extra;}else this.col_ar[0].y=y+$("#"+d.id).innerHeight()+BOTPAD;}
this.findSameTop=function(myt,t){if(myt==t)return true;else return false;}
this.findProximity=function(myt,myb,b){if(b>=myt&&b<=myb)return true;else return false;}
this.findClosest=function(p1,p2){if(p1>=p2)return p1;else return p2;}
this.findSameCol=function(t1,t2,c1,c2){if(c1==c2){if(t1==t2)return true;else return false;}else return false}
this.init();}
function _getWindowHeight(){if(self.innerWidth){frameWidth=self.innerWidth;frameHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientWidth){frameWidth=document.documentElement.clientWidth;frameHeight=document.documentElement.clientHeight;}else if(document.body){frameWidth=document.body.clientWidth;frameHeight=document.body.clientHeight;}
return parseInt(frameHeight);};;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
