3 * jQuery UI Position 1.8.7
5 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
6 * Dual licensed under the MIT or GPL Version 2 licenses.
7 * http://jquery.org/license
9 * http://docs.jquery.com/UI/Position
11 (function(c
){c
.ui
=c
.ui
||{};var n
=/left|center|right/,o
=/top|center|bottom/,t
=c
.fn
.position
,u
=c
.fn
.offset
;c
.fn
.position=function(b
){if(!b
||!b
.of)return t
.apply(this,arguments
);b
=c
.extend({},b
);var a
=c(b
.of),d
=a
[0],g
=(b
.collision
||"flip").split(" "),e
=b
.offset
?b
.offset
.split(" "):[0,0],h
,k
,j
;if(d
.nodeType
===9){h
=a
.width();k
=a
.height();j
={top
:0,left
:0}}else if(d
.setTimeout
){h
=a
.width();k
=a
.height();j
={top
:a
.scrollTop(),left
:a
.scrollLeft()}}else if(d
.preventDefault
){b
.at
="left top";h
=k
=0;j
={top
:b
.of.pageY
,
12 left
:b
.of.pageX
}}else{h
=a
.outerWidth();k
=a
.outerHeight();j
=a
.offset()}c
.each(["my","at"],function(){var f
=(b
[this]||"").split(" ");if(f
.length
===1)f
=n
.test(f
[0])?f
.concat(["center"]):o
.test(f
[0])?["center"].concat(f
):["center","center"];f
[0]=n
.test(f
[0])?f
[0]:"center";f
[1]=o
.test(f
[1])?f
[1]:"center";b
[this]=f
});if(g
.length
===1)g
[1]=g
[0];e
[0]=parseInt(e
[0],10)||0;if(e
.length
===1)e
[1]=e
[0];e
[1]=parseInt(e
[1],10)||0;if(b
.at
[0]==="right")j
.left
+=h
;else if(b
.at
[0]==="center")j
.left
+=h
/2;if(b
.at
[1]==="bottom")j
.top
+=
13 k
;else if(b
.at
[1]==="center")j
.top
+=k
/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+parseInt(c.curCSS(this,"marginRight",true))||0,w=m+q+parseInt(c.curCSS(this,"marginBottom",true))||0,i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b
.my
[1]==="bottom")i
.top
-=m
;else if(b
.my
[1]==="center")i
.top
-=m
/2;
14 i
.left
=Math
.round(i
.left
);i
.top
=Math
.round(i
.top
);r
={left
:i
.left
-p
,top
:i
.top
-q
};c
.each(["left","top"],function(s
,x
){c
.ui
.position
[g
[s
]]&&c
.ui
.position
[g
[s
]][x
](i
,{targetWidth
:h
,targetHeight
:k
,elemWidth
:l
,elemHeight
:m
,collisionPosition
:r
,collisionWidth
:v
,collisionHeight
:w
,offset
:e
,my
:b
.my
,at
:b
.at
})});c
.fn
.bgiframe
&&f
.bgiframe();f
.offset(c
.extend(i
,{using
:b
.using
}))})};c
.ui
.position
={fit
:{left:function(b
,a
){var d
=c(window
);d
=a
.collisionPosition
.left
+a
.collisionWidth
-d
.width()-d
.scrollLeft();b
.left
=
15 d
>0?b
.left
-d
:Math
.max(b
.left
-a
.collisionPosition
.left
,b
.left
)},top:function(b
,a
){var d
=c(window
);d
=a
.collisionPosition
.top
+a
.collisionHeight
-d
.height()-d
.scrollTop();b
.top
=d
>0?b
.top
-d
:Math
.max(b
.top
-a
.collisionPosition
.top
,b
.top
)}},flip
:{left:function(b
,a
){if(a
.at
[0]!=="center"){var d
=c(window
);d
=a
.collisionPosition
.left
+a
.collisionWidth
-d
.width()-d
.scrollLeft();var g
=a
.my
[0]==="left"?-a
.elemWidth
:a
.my
[0]==="right"?a
.elemWidth
:0,e
=a
.at
[0]==="left"?a
.targetWidth
:-a
.targetWidth
,h
=-2*a
.offset
[0];b
.left
+=
16 a
.collisionPosition
.left
<0?g
+e
+h
:d
>0?g
+e
+h
:0}},top:function(b
,a
){if(a
.at
[1]!=="center"){var d
=c(window
);d
=a
.collisionPosition
.top
+a
.collisionHeight
-d
.height()-d
.scrollTop();var g
=a
.my
[1]==="top"?-a
.elemHeight
:a
.my
[1]==="bottom"?a
.elemHeight
:0,e
=a
.at
[1]==="top"?a
.targetHeight
:-a
.targetHeight
,h
=-2*a
.offset
[1];b
.top
+=a
.collisionPosition
.top
<0?g
+e
+h
:d
>0?g
+e
+h
:0}}}};if(!c
.offset
.setOffset
){c
.offset
.setOffset=function(b
,a
){if(/static/.test(c
.curCSS(b
,"position")))b
.style
.position
="relative";var d
=c(b
),
17 g
=d
.offset(),e
=parseInt(c
.curCSS(b
,"top",true),10)||0,h
=parseInt(c
.curCSS(b
,"left",true),10)||0;g
={top
:a
.top
-g
.top
+e
,left
:a
.left
-g
.left
+h
};"using"in a
?a
.using
.call(b
,g
):d
.css(g
)};c
.fn
.offset=function(b
){var a
=this[0];if(!a
||!a
.ownerDocument
)return null;if(b
)return this.each(function(){c
.offset
.setOffset(this,b
)});return u
.call(this)}}})(jQuery
);