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