(function(a){var b=function(d,f,c,e){this.x1=d;this.x2=c;this.y1=f;this.y2=e};b.prototype.contains=function(c){return(this.x1<=c.x1&&c.x2<=this.x2)&&(this.y1<=c.y1&&c.y2<=this.y2)};b.prototype.transform=function(c,d){return new b(this.x1+c,this.y1+d,this.x2+c,this.y2+d)};a.fn.positionBy=function(i){var k=new Date();if(this.length==0){return this}var i=a.extend({target:null,targetPos:null,elementPos:null,x:null,y:null,positions:null,addClass:false,force:false,container:window,hideAfterPosition:false},i);if(i.x!=null){var f=i.x;var g=i.y;var e=0;var j=0}else{var c=a(a(i.target)[0]);var e=c.outerWidth();var j=c.outerHeight();var h=c.offset();var f=h.left;var g=h.top}var d=f+e;var l=g+j;return this.each(function(){var A=a(this);if(!A.is(":visible")){A.css({left:-3000,top:-3000}).show()}var B=A.outerWidth();var z=A.outerHeight();var s=[];var r=[];s[0]=new b(d,g,d+B,g+z);r[0]=[1,7,4];s[1]=new b(d,l-z,d+B,l);r[1]=[0,6,4];s[2]=new b(d,l,d+B,l+z);r[2]=[1,3,10];s[3]=new b(d-B,l,d,l+z);r[3]=[1,6,10];s[4]=new b(f,l,f+B,l+z);r[4]=[1,6,9];s[5]=new b(f-B,l,f,l+z);r[5]=[6,4,9];s[6]=new b(f-B,l-z,f,l);r[6]=[7,1,4];s[7]=new b(f-B,g,f,g+z);r[7]=[6,0,4];s[8]=new b(f-B,g-z,f,g);r[8]=[7,9,4];s[9]=new b(f,g-z,f+B,g);r[9]=[0,7,4];s[10]=new b(d-B,g-z,d,g);r[10]=[0,7,3];s[11]=new b(d,g-z,d+B,g);r[11]=[0,10,3];s[12]=new b(d-B,g,d,g+z);r[12]=[13,7,10];s[13]=new b(d-B,l-z,d,l);r[13]=[12,6,3];s[14]=new b(f,l-z,f+B,l);r[14]=[15,1,4];s[15]=new b(f,g,f+B,g+z);r[15]=[14,0,9];if(i.positions!==null){var x=i.positions[0]}else{if(i.targetPos!=null&&i.elementPos!=null){var x=[];x[0]=[];x[0][0]=15;x[0][1]=7;x[0][2]=8;x[0][3]=9;x[1]=[];x[1][0]=0;x[1][1]=12;x[1][2]=10;x[1][3]=11;x[2]=[];x[2][0]=2;x[2][1]=3;x[2][2]=13;x[2][3]=1;x[3]=[];x[3][0]=4;x[3][1]=5;x[3][2]=6;x[3][3]=14;var x=x[i.targetPos][i.elementPos]}}var q=s[x];var o=x;if(!i.force){$window=a(window);var y=$window.scrollLeft();var w=$window.scrollTop();var m=new b(y,w,y+$window.width(),w+$window.height());var v;if(i.positions){v=i.positions}else{v=[x]}var u=[];while(v.length>0){var n=v.shift();if(u[n]){continue}u[n]=true;if(!m.contains(s[n])){if(i.positions===null){v=jQuery.merge(v,r[n])}}else{q=s[n];break}}}A.parents().each(function(){var C=a(this);if(C.css("position")!="static"){var p=C.offset();q=q.transform(-p.left,-p.top);return false}});var t={left:q.x1,top:q.y1};if(i.hideAfterPosition){t.display="none"}A.css(t);if(i.addClass){A.removeClass("positionBy0 positionBy1 positionBy2 positionBy3 positionBy4 positionBy5 positionBy6 positionBy7 positionBy8 positionBy9 positionBy10 positionBy11 positionBy12 positionBy13 positionBy14 positionBy15").addClass("positionBy"+n)}})}})(jQuery);
