?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/demo2/wp-content/plugins/cookiebot/assets/js/backend/



?? Go up: /home/webdevt/www/demo2/wp-content/plugins/cookiebot/assets/js

?? Viewing: jquery.tipTip.js

/*
 * TipTip
 * Copyright 2010 Drew Wilson
 * www.drewwilson.com
 * code.drewwilson.com/entry/tiptip-jquery-plugin
 *
 * Version 1.3   -   Updated: Mar. 23, 2010
 *
 * This Plug-In will create a custom tooltip to replace the default
 * browser tooltip. It is extremely lightweight and very smart in
 * that it detects the edges of the browser window and will make sure
 * the tooltip stays within the current window size. As a result the
 * tooltip will adjust itself to be displayed above, below, to the left
 * or to the right depending on what is necessary to stay within the
 * browser window. It is completely customizable as well via CSS.
 *
 * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

(function($){
	$.fn.tipTip = function(options) {
		var defaults = {
			activation: "click",
			keepAlive: false,
			maxWidth: "200px",
			edgeOffset: 8,
			defaultPosition: "right",
			delay: 400,
			fadeIn: 200,
			fadeOut: 200,
			attribute: "title",
			content: false, // HTML or String to fill TipTIp with
			enter: function(){},
			exit: function(){}
		};
		var opts     = $.extend( defaults, options );

		// Setup tip tip elements and render them to the DOM
		if ($( "#tiptip_holder" ).length <= 0) {
			var tiptip_holder  = $( '<div id="tiptip_holder" style="max-width:' + opts.maxWidth + ';"></div>' );
			var tiptip_content = $( '<div id="tiptip_content"></div>' );
			var tiptip_arrow   = $( '<div id="tiptip_arrow"></div>' );
			$( "body" ).append( tiptip_holder.html( tiptip_content ).prepend( tiptip_arrow.html( '<div id="tiptip_arrow_inner"></div>' ) ) );
		} else {
			var tiptip_holder  = $( "#tiptip_holder" );
			var tiptip_content = $( "#tiptip_content" );
			var tiptip_arrow   = $( "#tiptip_arrow" );
		}

		return this.each(
			function(){
				var org_elem = $( this );
				if (opts.content) {
					var org_title = opts.content;
				} else {
					var org_title = org_elem.attr( opts.attribute );
				}

				if (org_title != "") {
					if ( ! opts.content) {
						org_elem.removeAttr( opts.attribute ); //remove original Attribute
					}
					var timeout = false;

					if (opts.activation == "hover") {
						org_elem.hover(
							function(){
								active_tiptip();
							},
							function(){
								if ( ! opts.keepAlive) {
									deactive_tiptip();
								}
							}
						);
						if (opts.keepAlive) {
							tiptip_holder.hover(
								function(){},
								function(){
									deactive_tiptip();
								}
							);
						}
					} else if (opts.activation == "focus") {
						org_elem.focus(
							function(){
								active_tiptip();
							}
						).blur(
							function(){
								deactive_tiptip();
							}
						);
					} else if (opts.activation == "click") {
						org_elem.click(
							function(){
								active_tiptip();
								return false;
							}
						).hover(
							function(){},
							function(){
								if ( ! opts.keepAlive) {
									deactive_tiptip();
								}
							}
						);
						if (opts.keepAlive) {
							tiptip_holder.hover(
								function(){},
								function(){
									deactive_tiptip();
								}
							);
						}
					}

					function active_tiptip(){
						opts.enter.call( this );
						tiptip_content.html( org_title );
						tiptip_holder.hide().removeAttr( "class" ).css( "margin","0" );
						tiptip_arrow.removeAttr( "style" );

						var top        = parseInt( org_elem.offset()['top'] );
						var left       = parseInt( org_elem.offset()['left'] );
						var org_width  = parseInt( org_elem.outerWidth() );
						var org_height = parseInt( org_elem.outerHeight() );
						var tip_w      = tiptip_holder.outerWidth();
						var tip_h      = tiptip_holder.outerHeight();
						var w_compare  = Math.round( (org_width - tip_w) / 2 );
						var h_compare  = Math.round( (org_height - tip_h) / 2 );
						var marg_left  = Math.round( left + w_compare );
						var marg_top   = Math.round( top + org_height + opts.edgeOffset );
						var t_class    = "";
						var arrow_top  = "";
						var arrow_left = Math.round( tip_w - 12 ) / 2;

						if (opts.defaultPosition == "bottom") {
							t_class = "_bottom";
						} else if (opts.defaultPosition == "top") {
							t_class = "_top";
						} else if (opts.defaultPosition == "left") {
							t_class = "_left";
						} else if (opts.defaultPosition == "right") {
							t_class = "_right";
						}

						var right_compare = (w_compare + left) < parseInt( $( window ).scrollLeft() );
						var left_compare  = (tip_w + left) > parseInt( $( window ).width() );

						if ((right_compare && w_compare < 0) || (t_class == "_right" && ! left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))) {
							t_class    = "_right";
							arrow_top  = Math.round( tip_h - 13 ) / 2;
							arrow_left = -12;
							marg_left  = Math.round( left + org_width + opts.edgeOffset );
							marg_top   = Math.round( top + h_compare );
						} else if ((left_compare && w_compare < 0) || (t_class == "_left" && ! right_compare)) {
							t_class    = "_left";
							arrow_top  = Math.round( tip_h - 13 ) / 2;
							arrow_left = Math.round( tip_w );
							marg_left  = Math.round( left - (tip_w + opts.edgeOffset + 5) );
							marg_top   = Math.round( top + h_compare );
						}

						var top_compare    = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt( $( window ).height() + $( window ).scrollTop() );
						var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;

						if (top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && ! bottom_compare)) {
							if (t_class == "_top" || t_class == "_bottom") {
								t_class = "_top";
							} else {
								t_class = t_class + "_top";
							}
							arrow_top = tip_h;
							marg_top  = Math.round( top - (tip_h + 5 + opts.edgeOffset) );
						} else if (bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && ! top_compare)) {
							if (t_class == "_top" || t_class == "_bottom") {
								t_class = "_bottom";
							} else {
								t_class = t_class + "_bottom";
							}
							arrow_top = -12;
							marg_top  = Math.round( top + org_height + opts.edgeOffset );
						}

						if (t_class == "_right_top" || t_class == "_left_top") {
							marg_top = marg_top + 5;
						} else if (t_class == "_right_bottom" || t_class == "_left_bottom") {
							marg_top = marg_top - 5;
						}
						if (t_class == "_left_top" || t_class == "_left_bottom") {
							marg_left = marg_left + 5;
						}

						tiptip_arrow.css( {"margin-left": arrow_left + "px", "margin-top": arrow_top + "px"} );
						tiptip_holder.css( {"margin-left": marg_left + "px", "margin-top": marg_top + "px"} ).attr( "class","tip" + t_class );

						if (timeout) {
							clearTimeout( timeout ); }
						timeout = setTimeout( function(){ tiptip_holder.stop( true,true ).fadeIn( opts.fadeIn ); }, opts.delay );
					}

					function deactive_tiptip(){
						opts.exit.call( this );
						if (timeout) {
							clearTimeout( timeout ); }
						tiptip_holder.fadeOut( opts.fadeOut );
					}
				}
			}
		);
	}
})( jQuery );


??

??