CLICK HERE TO BUY IT TODAY! OR GET IT FREE VIA TRIALPAY  

PHP Demo Application - Source Code

/Framework/Model/Vendor/jquery-ui/development-bundle/ui/jquery.ui.position.js



/*
 * jQuery UI Position 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Position
 */
(function( $, undefined ) {
	$.ui = $.ui || {};
	var horizontalPositions = /left|center|right/,
	    horizontalDefault "center",
	    verticalPositions = /top|center|bottom/,
	    verticalDefault "center",
	    _position = $.fn.position,
	    _offset = $.fn.offset;
	$.fn.position = function( options ) {
		    if ( !options || !options.of ) {
			        return _position.applythisarguments );
			    }
		    // make a copy, we don't want to modify arguments
		    options = $.extend{}options );
		    var target = $( options.of ),
		        collision = ( options.collision || "flip" ).split" " ),
		        offset options.offset options.offset.split" " ) : [ 0],
		        targetWidth,
		        targetHeight,
		        basePosition;
		    if ( options.of.nodeType === ) {
			        targetWidth target.width();
			        targetHeight target.height();
			        basePosition = { top0left0
				};
			    } else if ( options.of.scrollTo && options.of.document ) {
			        targetWidth target.width();
			        targetHeight target.height();
			        basePosition = { toptarget.scrollTop(), lefttarget.scrollLeft()
				};
			    } else if ( options.of.preventDefault ) {
			        // force left top to allow flipping
			        options.at "left top";
			        targetWidth targetHeight 0;
			        basePosition = { topoptions.of.pageYleftoptions.of.pageX
				};
			    } else {
			        targetWidth target.outerWidth();
			        targetHeight target.outerHeight();
			        basePosition target.offset();
			    }
		    // force my and at to have valid horizontal and veritcal positions
		    // if a value is missing or invalid, it will be converted to center 
		    $.each( [ "my""at" ], function() {
			        var pos = ( options[this] || "" ).split" " );
			        if ( pos.length === 1) {
				            pos horizontalPositions.testpos[0] ) ?
				                pos.concat( [verticalDefault] ) :
				                verticalPositions.testpos[0] ) ?
				                    [ horizontalDefault ].concatpos ) :
				                    [ horizontalDefaultverticalDefault ];
				        }
			        pos] = horizontalPositions.testpos[0] ) ? pos] : horizontalDefault;
			        pos] = verticalPositions.testpos[1] ) ? pos] : verticalDefault;
			        optionsthis ] = pos;
			    });
		    // normalize collision option
		    if ( collision.length === ) {
			        collision] = collision];
			    }
		    // normalize offset option
		    offset] = parseIntoffset[0], 10 ) || 0;
		    if ( offset.length === ) {
			        offset] = offset];
			    }
		    offset] = parseIntoffset[1], 10 ) || 0;
		    if ( options.at[0] === "right" ) {
			        basePosition.left += targetWidth;
			    } else if (options.at[0] === horizontalDefault ) {
			        basePosition.left += targetWidth 2;
			    }
		    if ( options.at[1] === "bottom" ) {
			        basePosition.top += targetHeight;
			    } else if ( options.at[1] === verticalDefault ) {
			        basePosition.top += targetHeight 2;
			    }
		    basePosition.left += offset];
		    basePosition.top += offset];
		    return this.each(function() {
			        var elem = $( this ),
			            elemWidth elem.outerWidth(),
			            elemHeight elem.outerHeight(),
			            position = $.extend{}basePosition );
			        if ( options.my[0] === "right" ) {
				            position.left -= elemWidth;
				        } else if ( options.my[0] === horizontalDefault ) {
				            position.left -= elemWidth 2;
				        }
			        if ( options.my[1] === "bottom" ) {
				            position.top -= elemHeight;
				        } else if ( options.my[1] === verticalDefault ) {
				            position.top -= elemHeight 2;
				        }
			        // prevent fractions (see #5280)
			        position.left parseIntposition.left );
			        position.top parseIntposition.top );
			        $.each( [ "left""top" ], function( idir ) {
				            if ( $.ui.positioncollision[i] ] ) {
					                $.ui.positioncollision[i] ][ dir ]( position, {
						                    targetWidthtargetWidth,
						                    targetHeighttargetHeight,
						                    elemWidthelemWidth,
						                    elemHeightelemHeight,
						                    offsetoffset,
						                    myoptions.my,
						                    atoptions.at
						                });
					            }
				        });
			        if ( $.fn.bgiframe ) {
				            elem.bgiframe();
				        }
			        elem.offset( $.extendposition, { usingoptions.using
				} ) );
			    });
		};
	$.ui.position = {
		    fit: {
			        left: function( positiondata ) {
				            var win = $( window ),
				                over position.left data.elemWidth win.width() - win.scrollLeft();
				            position.left over position.left over Math.max0position.left );
				        },
			        top: function( positiondata ) {
				            var win = $( window ),
				                over position.top data.elemHeight win.height() - win.scrollTop();
				            position.top over position.top over Math.max0position.top );
				        }
			    },
		    flip: {
			        left: function( positiondata ) {
				            if ( data.at[0] === "center" ) {
					                return;
					            }
				            var win = $( window ),
				                over position.left data.elemWidth win.width() - win.scrollLeft(),
				                myOffset data.my] === "left" ?
				                    -data.elemWidth :
				                    data.my] === "right" ?
				                        data.elemWidth :
				                        0,
				                offset = -data.offset];
				            position.left += position.left ?
				                myOffset data.targetWidth offset :
				                over ?
				                    myOffset data.targetWidth offset :
				                    0;
				        },
			        top: function( positiondata ) {
				            if ( data.at[1] === "center" ) {
					                return;
					            }
				            var win = $( window ),
				                over position.top data.elemHeight win.height() - win.scrollTop(),
				                myOffset data.my] === "top" ?
				                    -data.elemHeight :
				                    data.my] === "bottom" ?
				                        data.elemHeight :
				                        0,
				                atOffset data.at] === "top" ?
				                    data.targetHeight :
				                    -data.targetHeight,
				                offset = -data.offset];
				            position.top += position.top ?
				                myOffset data.targetHeight offset :
				                over ?
				                    myOffset atOffset offset :
				                    0;
				        }
			    }
		};
	// offset setter from jQuery 1.4
	if ( !$.offset.setOffset ) {
		    $.offset.setOffset = function( elemoptions ) {
			        // set position first, in-case top/left are set even on static elem
			        if ( /static/.test( $.curCSSelem"position" ) ) ) {
				            elem.style.position "relative";
				        }
			        var curElem   = $( elem ),
			            curOffset curElem.offset(),
			            curTop    parseInt( $.curCSSelem"top",  true ), 10 ) || 0,
			            curLeft   parseInt( $.curCSSelem"left"true ), 10)  || 0,
			            props     = {
				                top:  (options.top  curOffset.top)  + curTop,
				                left: (options.left curOffset.left) + curLeft
				            };
			        if ( 'using' in options ) {
				            options.using.callelemprops );
				        } else {
				            curElem.cssprops );
				        }
			    };
		    $.fn.offset = function( options ) {
			        var elem this];
			        if ( !elem || !elem.ownerDocument ) {
				return null;
				}
			        if ( options ) {
				            return this.each(function() {
					                $.offset.setOffsetthisoptions );
					            });
				        }
			        return _offset.callthis );
			    };
		}
	}( jQuery ));





PHP Demo Source Code Index