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