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