(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 a=A(this);if(!a.is(":visible")){a.css({left:-3000,top:-3000}).show()}var Z=a.outerWidth();var Y=a.outerHeight();var P=[];var Q=[];P[0]=new B(F,G,F+Z,G+Y);Q[0]=[1,7,4];P[1]=new B(F,L-Y,F+Z,L);Q[1]=[0,6,4];P[2]=new B(F,L,F+Z,L+Y);Q[2]=[1,3,10];P[3]=new B(F-Z,L,F,L+Y);Q[3]=[1,6,10];P[4]=new B(H,L,H+Z,L+Y);Q[4]=[1,6,9];P[5]=new B(H-Z,L,H,L+Y);Q[5]=[6,4,9];P[6]=new B(H-Z,L-Y,H,L);Q[6]=[7,1,4];P[7]=new B(H-Z,G,H,G+Y);Q[7]=[6,0,4];P[8]=new B(H-Z,G-Y,H,G);Q[8]=[7,9,4];P[9]=new B(H,G-Y,H+Z,G);Q[9]=[0,7,4];P[10]=new B(F-Z,G-Y,F,G);Q[10]=[0,7,3];P[11]=new B(F,G-Y,F+Z,G);Q[11]=[0,10,3];P[12]=new B(F-Z,G,F,G+Y);Q[12]=[13,7,10];P[13]=new B(F-Z,L-Y,F,L);Q[13]=[12,6,3];P[14]=new B(H,L-Y,H+Z,L);Q[14]=[15,1,4];P[15]=new B(H,G,H+Z,G+Y);Q[15]=[14,0,9];if(I.positions!==null){var W=I.positions[0]}else{if(I.targetPos!=null&&I.elementPos!=null){var W=[];W[0]=[];W[0][0]=15;W[0][1]=7;W[0][2]=8;W[0][3]=9;W[1]=[];W[1][0]=0;W[1][1]=12;W[1][2]=10;W[1][3]=11;W[2]=[];W[2][0]=2;W[2][1]=3;W[2][2]=13;W[2][3]=1;W[3]=[];W[3][0]=4;W[3][1]=5;W[3][2]=6;W[3][3]=14;var W=W[I.targetPos][I.elementPos]}}var O=P[W];var N=W;if(!I.force){$window=A(window);var X=$window.scrollLeft();var V=$window.scrollTop();var T=new B(X,V,X+$window.width(),V+$window.height());var U;if(I.positions){U=I.positions}else{U=[W]}var S=[];while(U.length>0){var M=U.shift();if(S[M]){continue}S[M]=true;if(!T.contains(P[M])){if(I.positions===null){U=jQuery.merge(U,Q[M])}}else{O=P[M];break}}}a.parents().each(function(){var c=A(this);if(c.css("position")!="static"){var b=c.offset();O=O.transform(-b.left,-b.top);return false}});var R={left:O.x1,top:O.y1};if(I.hideAfterPosition){R.display="none"}a.css(R);if(I.addClass){a.removeClass("positionBy0 positionBy1 positionBy2 positionBy3 positionBy4 positionBy5 positionBy6 positionBy7 positionBy8 positionBy9 positionBy10 positionBy11 positionBy12 positionBy13 positionBy14 positionBy15").addClass("positionBy"+M)}})}})(jQuery);