[dbapi] Stop shadowing exceptions in get_repository() (closes #2710515)
Exceptions are already handled higher up in the stack so there's no
reason to handle them here. Furthermore, non-ConnectionError exceptions
would get hidden, making debugging harder.
+ − /*
+ − * jquery.qtip. The jQuery tooltip plugin
+ − *
+ − * Copyright (c) 2009 Craig Thompson
+ − * http://craigsworks.com
+ − *
+ − * Licensed under MIT
+ − * http://www.opensource.org/licenses/mit-license.php
+ − *
+ − * Launch : February 2009
+ − * Version : 1.0.0-rc3
+ − * Released: Tuesday 12th May, 2009 - 00:00
+ − * Debug: jquery.qtip.debug.js
+ − */
+ − ( function ( f ){ f . fn . qtip = function ( B , u ){ var y , t , A , s , x , w , v , z ; if ( typeof B == "string" ){ if ( typeof f ( this ). data ( "qtip" ) !== "object" ){ f . fn . qtip . log . error . call ( self , 1 , f . fn . qtip . constants . NO_TOOLTIP_PRESENT , false )} if ( B == "api" ){ return f ( this ). data ( "qtip" ). interfaces [ f ( this ). data ( "qtip" ). current ]} else { if ( B == "interfaces" ){ return f ( this ). data ( "qtip" ). interfaces }}} else { if ( ! B ){ B = {}} if ( typeof B . content !== "object" || ( B . content . jquery && B . content . length > 0 )){ B . content = { text : B . content }} if ( typeof B . content . title !== "object" ){ B . content . title = { text : B . content . title }} if ( typeof B . position !== "object" ){ B . position = { corner : B . position }} if ( typeof B . position . corner !== "object" ){ B . position . corner = { target : B . position . corner , tooltip : B . position . corner }} if ( typeof B . show !== "object" ){ B . show = { when : B . show }} if ( typeof B . show . when !== "object" ){ B . show . when = { event : B . show . when }} if ( typeof B . show . effect !== "object" ){ B . show . effect = { type : B . show . effect }} if ( typeof B . hide !== "object" ){ B . hide = { when : B . hide }} if ( typeof B . hide . when !== "object" ){ B . hide . when = { event : B . hide . when }} if ( typeof B . hide . effect !== "object" ){ B . hide . effect = { type : B . hide . effect }} if ( typeof B . style !== "object" ){ B . style = { name : B . style }} B . style = c ( B . style ); s = f . extend ( true ,{}, f . fn . qtip . defaults , B ); s . style = a . call ({ options : s }, s . style ); s . user = f . extend ( true ,{}, B )} return f ( this ). each ( function (){ if ( typeof B == "string" ){ w = B . toLowerCase (); A = f ( this ). qtip ( "interfaces" ); if ( typeof A == "object" ){ if ( u === true && w == "destroy" ){ while ( A . length > 0 ){ A [ A . length - 1 ]. destroy ()}} else { if ( u !== true ){ A = [ f ( this ). qtip ( "api" )]} for ( y = 0 ; y < A . length ; y ++ ){ if ( w == "destroy" ){ A [ y ]. destroy ()} else { if ( A [ y ]. status . rendered === true ){ if ( w == "show" ){ A [ y ]. show ()} else { if ( w == "hide" ){ A [ y ]. hide ()} else { if ( w == "focus" ){ A [ y ]. focus ()} else { if ( w == "disable" ){ A [ y ]. disable ( true )} else { if ( w == "enable" ){ A [ y ]. disable ( false )}}}}}}}}}}} else { v = f . extend ( true ,{}, s ); v . hide . effect . length = s . hide . effect . length ; v . show . effect . length = s . show . effect . length ; if ( v . position . container === false ){ v . position . container = f ( document . body )} if ( v . position . target === false ){ v . position . target = f ( this )} if ( v . show . when . target === false ){ v . show . when . target = f ( this )} if ( v . hide . when . target === false ){ v . hide . when . target = f ( this )} t = f . fn . qtip . interfaces . length ; for ( y = 0 ; y < t ; y ++ ){ if ( typeof f . fn . qtip . interfaces [ y ] == "undefined" ){ t = y ; break }} x = new d ( f ( this ), v , t ); f . fn . qtip . interfaces [ t ] = x ; if ( typeof f ( this ). data ( "qtip" ) == "object" ){ if ( typeof f ( this ). attr ( "qtip" ) === "undefined" ){ f ( this ). data ( "qtip" ). current = f ( this ). data ( "qtip" ). interfaces . length } f ( this ). data ( "qtip" ). interfaces . push ( x )} else { f ( this ). data ( "qtip" ,{ current : 0 , interfaces : [ x ]})} if ( v . content . prerender === false && v . show . when . event !== false && v . show . ready !== true ){ v . show . when . target . bind ( v . show . when . event + ".qtip-" + t + "-create" ,{ qtip : t }, function ( C ){ z = f . fn . qtip . interfaces [ C . data . qtip ]; z . options . show . when . target . unbind ( z . options . show . when . event + ".qtip-" + C . data . qtip + "-create" ); z . cache . mouse = { x : C . pageX , y : C . pageY }; p . call ( z ); z . options . show . when . target . trigger ( z . options . show . when . event )})} else { x . cache . mouse = { x : v . show . when . target . offset (). left , y : v . show . when . target . offset (). top }; p . call ( x )}}})}; function d ( u , t , v ){ var s = this ; s . id = v ; s . options = t ; s . status = { animated : false , rendered : false , disabled : false , focused : false }; s . elements = { target : u . addClass ( s . options . style . classes . target ), tooltip : null , wrapper : null , content : null , contentWrapper : null , title : null , button : null , tip : null , bgiframe : null }; s . cache = { mouse : {}, position : {}, toggle : 0 }; s . timers = {}; f . extend ( s , s . options . api ,{ show : function ( y ){ var x , z ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "show" )} if ( s . elements . tooltip . css ( "display" ) !== "none" ){ return s } s . elements . tooltip . stop ( true , false ); x = s . beforeShow . call ( s , y ); if ( x === false ){ return s } function w (){ if ( s . options . position . type !== "static" ){ s . focus ()} s . onShow . call ( s , y ); if ( f . browser . msie ){ s . elements . tooltip . get ( 0 ). style . removeAttribute ( "filter" )}} s . cache . toggle = 1 ; if ( s . options . position . type !== "static" ){ s . updatePosition ( y ,( s . options . show . effect . length > 0 ))} if ( typeof s . options . show . solo == "object" ){ z = f ( s . options . show . solo )} else { if ( s . options . show . solo === true ){ z = f ( "div.qtip" ). not ( s . elements . tooltip )}} if ( z ){ z . each ( function (){ if ( f ( this ). qtip ( "api" ). status . rendered === true ){ f ( this ). qtip ( "api" ). hide ()}})} if ( typeof s . options . show . effect . type == "function" ){ s . options . show . effect . type . call ( s . elements . tooltip , s . options . show . effect . length ); s . elements . tooltip . queue ( function (){ w (); f ( this ). dequeue ()})} else { switch ( s . options . show . effect . type . toLowerCase ()){ case "fade" : s . elements . tooltip . fadeIn ( s . options . show . effect . length , w ); break ; case "slide" : s . elements . tooltip . slideDown ( s . options . show . effect . length , function (){ w (); if ( s . options . position . type !== "static" ){ s . updatePosition ( y , true )}}); break ; case "grow" : s . elements . tooltip . show ( s . options . show . effect . length , w ); break ; default : s . elements . tooltip . show ( null , w ); break } s . elements . tooltip . addClass ( s . options . style . classes . active )} return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_SHOWN , "show" )}, hide : function ( y ){ var x ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "hide" )} else { if ( s . elements . tooltip . css ( "display" ) === "none" ){ return s }} clearTimeout ( s . timers . show ); s . elements . tooltip . stop ( true , false ); x = s . beforeHide . call ( s , y ); if ( x === false ){ return s } function w (){ s . onHide . call ( s , y )} s . cache . toggle = 0 ; if ( typeof s . options . hide . effect . type == "function" ){ s . options . hide . effect . type . call ( s . elements . tooltip , s . options . hide . effect . length ); s . elements . tooltip . queue ( function (){ w (); f ( this ). dequeue ()})} else { switch ( s . options . hide . effect . type . toLowerCase ()){ case "fade" : s . elements . tooltip . fadeOut ( s . options . hide . effect . length , w ); break ; case "slide" : s . elements . tooltip . slideUp ( s . options . hide . effect . length , w ); break ; case "grow" : s . elements . tooltip . hide ( s . options . hide . effect . length , w ); break ; default : s . elements . tooltip . hide ( null , w ); break } s . elements . tooltip . removeClass ( s . options . style . classes . active )} return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_HIDDEN , "hide" )}, updatePosition : function ( w , x ){ var C , G , L , J , H , E , y , I , B , D , K , A , F , z ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "updatePosition" )} else { if ( s . options . position . type == "static" ){ return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . CANNOT_POSITION_STATIC , "updatePosition" )}} G = { position : { left : 0 , top : 0 }, dimensions : { height : 0 , width : 0 }, corner : s . options . position . corner . target }; L = { position : s . getPosition (), dimensions : s . getDimensions (), corner : s . options . position . corner . tooltip }; if ( s . options . position . target !== "mouse" ){ if ( s . options . position . target . get ( 0 ). nodeName . toLowerCase () == "area" ){ J = s . options . position . target . attr ( "coords" ). split ( "," ); for ( C = 0 ; C < J . length ; C ++ ){ J [ C ] = parseInt ( J [ C ])} H = s . options . position . target . parent ( "map" ). attr ( "name" ); E = f ( 'img[usemap="#' + H + '"]:first' ). offset (); G . position = { left : Math . floor ( E . left + J [ 0 ]), top : Math . floor ( E . top + J [ 1 ])}; switch ( s . options . position . target . attr ( "shape" ). toLowerCase ()){ case "rect" : G . dimensions = { width : Math . ceil ( Math . abs ( J [ 2 ] - J [ 0 ])), height : Math . ceil ( Math . abs ( J [ 3 ] - J [ 1 ]))}; break ; case "circle" : G . dimensions = { width : J [ 2 ] + 1 , height : J [ 2 ] + 1 }; break ; case "poly" : G . dimensions = { width : J [ 0 ], height : J [ 1 ]}; for ( C = 0 ; C < J . length ; C ++ ){ if ( C % 2 == 0 ){ if ( J [ C ] > G . dimensions . width ){ G . dimensions . width = J [ C ]} if ( J [ C ] < J [ 0 ]){ G . position . left = Math . floor ( E . left + J [ C ])}} else { if ( J [ C ] > G . dimensions . height ){ G . dimensions . height = J [ C ]} if ( J [ C ] < J [ 1 ]){ G . position . top = Math . floor ( E . top + J [ C ])}}} G . dimensions . width = G . dimensions . width - ( G . position . left - E . left ); G . dimensions . height = G . dimensions . height - ( G . position . top - E . top ); break ; default : return f . fn . qtip . log . error . call ( s , 4 , f . fn . qtip . constants . INVALID_AREA_SHAPE , "updatePosition" ); break } G . dimensions . width -= 2 ; G . dimensions . height -= 2 } else { if ( s . options . position . target . add ( document . body ). length === 1 ){ G . position = { left : f ( document ). scrollLeft (), top : f ( document ). scrollTop ()}; G . dimensions = { height : f ( window ). height (), width : f ( window ). width ()}} else { if ( typeof s . options . position . target . attr ( "qtip" ) !== "undefined" ){ G . position = s . options . position . target . qtip ( "api" ). cache . position } else { G . position = s . options . position . target . offset ()} G . dimensions = { height : s . options . position . target . outerHeight (), width : s . options . position . target . outerWidth ()}}} y = f . extend ({}, G . position ); if ( G . corner . search ( /right/i ) !==- 1 ){ y . left += G . dimensions . width } if ( G . corner . search ( /bottom/i ) !==- 1 ){ y . top += G . dimensions . height } if ( G . corner . search ( /((top|bottom)Middle)|center/ ) !==- 1 ){ y . left += ( G . dimensions . width / 2 )} if ( G . corner . search ( /((left|right)Middle)|center/ ) !==- 1 ){ y . top += ( G . dimensions . height / 2 )}} else { G . position = y = { left : s . cache . mouse . x , top : s . cache . mouse . y }; G . dimensions = { height : 1 , width : 1 }} if ( L . corner . search ( /right/i ) !==- 1 ){ y . left -= L . dimensions . width } if ( L . corner . search ( /bottom/i ) !==- 1 ){ y . top -= L . dimensions . height } if ( L . corner . search ( /((top|bottom)Middle)|center/ ) !==- 1 ){ y . left -= ( L . dimensions . width / 2 )} if ( L . corner . search ( /((left|right)Middle)|center/ ) !==- 1 ){ y . top -= ( L . dimensions . height / 2 )} I = ( f . browser . msie ) ? 1 : 0 ; B = ( f . browser . msie && parseInt ( f . browser . version . charAt ( 0 )) === 6 ) ? 1 : 0 ; if ( s . options . style . border . radius > 0 ){ if ( L . corner . search ( /Left/ ) !==- 1 ){ y . left -= s . options . style . border . radius } else { if ( L . corner . search ( /Right/ ) !==- 1 ){ y . left += s . options . style . border . radius }} if ( L . corner . search ( /Top/ ) !==- 1 ){ y . top -= s . options . style . border . radius } else { if ( L . corner . search ( /Bottom/ ) !==- 1 ){ y . top += s . options . style . border . radius }}} if ( I ){ if ( L . corner . search ( /top/ ) !==- 1 ){ y . top -= I } else { if ( L . corner . search ( /bottom/ ) !==- 1 ){ y . top += I }} if ( L . corner . search ( /left/ ) !==- 1 ){ y . left -= I } else { if ( L . corner . search ( /right/ ) !==- 1 ){ y . left += I }} if ( L . corner . search ( /leftMiddle|rightMiddle/ ) !==- 1 ){ y . top -= 1 }} if ( s . options . position . adjust . screen === true ){ y = o . call ( s , y , G , L )} if ( s . options . position . target === "mouse" && s . options . position . adjust . mouse === true ){ if ( s . options . position . adjust . screen === true && s . elements . tip ){ K = s . elements . tip . attr ( "rel" )} else { K = s . options . position . corner . tooltip } y . left += ( K . search ( /right/i ) !==- 1 ) ?- 6 : 6 ; y . top += ( K . search ( /bottom/i ) !==- 1 ) ?- 6 : 6 } if ( ! s . elements . bgiframe && f . browser . msie && parseInt ( f . browser . version . charAt ( 0 )) == 6 ){ f ( "select, object" ). each ( function (){ A = f ( this ). offset (); A . bottom = A . top + f ( this ). height (); A . right = A . left + f ( this ). width (); if ( y . top + L . dimensions . height >= A . top && y . left + L . dimensions . width >= A . left ){ k . call ( s )}})} y . left += s . options . position . adjust . x ; y . top += s . options . position . adjust . y ; F = s . getPosition (); if ( y . left != F . left || y . top != F . top ){ z = s . beforePositionUpdate . call ( s , w ); if ( z === false ){ return s } s . cache . position = y ; if ( x === true ){ s . status . animated = true ; s . elements . tooltip . animate ( y , 200 , "swing" , function (){ s . status . animated = false })} else { s . elements . tooltip . css ( y )} s . onPositionUpdate . call ( s , w ); if ( typeof w !== "undefined" && w . type && w . type !== "mousemove" ){ f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_POSITION_UPDATED , "updatePosition" )}} return s }, updateWidth : function ( w ){ var x ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "updateWidth" )} else { if ( w && typeof w !== "number" ){ return f . fn . qtip . log . error . call ( s , 2 , "newWidth must be of type number" , "updateWidth" )}} x = s . elements . contentWrapper . siblings (). add ( s . elements . tip ). add ( s . elements . button ); if ( ! w ){ if ( typeof s . options . style . width . value == "number" ){ w = s . options . style . width . value } else { s . elements . tooltip . css ({ width : "auto" }); x . hide (); if ( f . browser . msie ){ s . elements . wrapper . add ( s . elements . contentWrapper . children ()). css ({ zoom : "normal" })} w = s . getDimensions (). width + 1 ; if ( ! s . options . style . width . value ){ if ( w > s . options . style . width . max ){ w = s . options . style . width . max } if ( w < s . options . style . width . min ){ w = s . options . style . width . min }}}} if ( w % 2 !== 0 ){ w -= 1 } s . elements . tooltip . width ( w ); x . show (); if ( s . options . style . border . radius ){ s . elements . tooltip . find ( ".qtip-betweenCorners" ). each ( function ( y ){ f ( this ). width ( w - ( s . options . style . border . radius * 2 ))})} if ( f . browser . msie ){ s . elements . wrapper . add ( s . elements . contentWrapper . children ()). css ({ zoom : "1" }); s . elements . wrapper . width ( w ); if ( s . elements . bgiframe ){ s . elements . bgiframe . width ( w ). height ( s . getDimensions . height )}} return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_WIDTH_UPDATED , "updateWidth" )}, updateStyle : function ( w ){ var z , A , x , y , B ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "updateStyle" )} else { if ( typeof w !== "string" ||! f . fn . qtip . styles [ w ]){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . STYLE_NOT_DEFINED , "updateStyle" )}} s . options . style = a . call ( s , f . fn . qtip . styles [ w ], s . options . user . style ); s . elements . content . css ( q ( s . options . style )); if ( s . options . content . title . text !== false ){ s . elements . title . css ( q ( s . options . style . title , true ))} s . elements . contentWrapper . css ({ borderColor : s . options . style . border . color }); if ( s . options . style . tip . corner !== false ){ if ( f ( "<canvas>" ). get ( 0 ). getContext ){ z = s . elements . tooltip . find ( ".qtip-tip canvas:first" ); x = z . get ( 0 ). getContext ( "2d" ); x . clearRect ( 0 , 0 , 300 , 300 ); y = z . parent ( "div[rel]:first" ). attr ( "rel" ); B = b ( y , s . options . style . tip . size . width , s . options . style . tip . size . height ); h . call ( s , z , B , s . options . style . tip . color || s . options . style . border . color )} else { if ( f . browser . msie ){ z = s . elements . tooltip . find ( '.qtip-tip [nodeName="shape"]' ); z . attr ( "fillcolor" , s . options . style . tip . color || s . options . style . border . color )}}} if ( s . options . style . border . radius > 0 ){ s . elements . tooltip . find ( ".qtip-betweenCorners" ). css ({ backgroundColor : s . options . style . border . color }); if ( f ( "<canvas>" ). get ( 0 ). getContext ){ A = g ( s . options . style . border . radius ); s . elements . tooltip . find ( ".qtip-wrapper canvas" ). each ( function (){ x = f ( this ). get ( 0 ). getContext ( "2d" ); x . clearRect ( 0 , 0 , 300 , 300 ); y = f ( this ). parent ( "div[rel]:first" ). attr ( "rel" ); r . call ( s , f ( this ), A [ y ], s . options . style . border . radius , s . options . style . border . color )})} else { if ( f . browser . msie ){ s . elements . tooltip . find ( '.qtip-wrapper [nodeName="arc"]' ). each ( function (){ f ( this ). attr ( "fillcolor" , s . options . style . border . color )})}}} return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_STYLE_UPDATED , "updateStyle" )}, updateContent : function ( A , y ){ var z , x , w ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "updateContent" )} else { if ( ! A ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . NO_CONTENT_PROVIDED , "updateContent" )}} z = s . beforeContentUpdate . call ( s , A ); if ( typeof z == "string" ){ A = z } else { if ( z === false ){ return }} if ( f . browser . msie ){ s . elements . contentWrapper . children (). css ({ zoom : "normal" })} if ( A . jquery && A . length > 0 ){ A . clone ( true ). appendTo ( s . elements . content ). show ()} else { s . elements . content . html ( A )} x = s . elements . content . find ( "img[complete=false]" ); if ( x . length > 0 ){ w = 0 ; x . each ( function ( C ){ f ( '<img src="' + f ( this ). attr ( "src" ) + '" />' ). load ( function (){ if ( ++ w == x . length ){ B ()}})})} else { B ()} function B (){ s . updateWidth (); if ( y !== false ){ if ( s . options . position . type !== "static" ){ s . updatePosition ( s . elements . tooltip . is ( ":visible" ), true )} if ( s . options . style . tip . corner !== false ){ n . call ( s )}}} s . onContentUpdate . call ( s ); return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_CONTENT_UPDATED , "loadContent" )}, loadContent : function ( w , z , A ){ var y ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "loadContent" )} y = s . beforeContentLoad . call ( s ); if ( y === false ){ return s } if ( A == "post" ){ f . post ( w , z , x )} else { f . get ( w , z , x )} function x ( B ){ s . onContentLoad . call ( s ); f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_CONTENT_LOADED , "loadContent" ); s . updateContent ( B )} return s }, updateTitle : function ( w ){ if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "updateTitle" )} else { if ( ! w ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . NO_CONTENT_PROVIDED , "updateTitle" )}} returned = s . beforeTitleUpdate . call ( s ); if ( returned === false ){ return s } if ( s . elements . button ){ s . elements . button = s . elements . button . clone ( true )} s . elements . title . html ( w ); if ( s . elements . button ){ s . elements . title . prepend ( s . elements . button )} s . onTitleUpdate . call ( s ); return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_TITLE_UPDATED , "updateTitle" )}, focus : function ( A ){ var y , x , w , z ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "focus" )} else { if ( s . options . position . type == "static" ){ return f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . CANNOT_FOCUS_STATIC , "focus" )}} y = parseInt ( s . elements . tooltip . css ( "z-index" )); x = 6000 + f ( "div.qtip[qtip]" ). length - 1 ; if ( ! s . status . focused && y !== x ){ z = s . beforeFocus . call ( s , A ); if ( z === false ){ return s } f ( "div.qtip[qtip]" ). not ( s . elements . tooltip ). each ( function (){ if ( f ( this ). qtip ( "api" ). status . rendered === true ){ w = parseInt ( f ( this ). css ( "z-index" )); if ( typeof w == "number" && w >- 1 ){ f ( this ). css ({ zIndex : parseInt ( f ( this ). css ( "z-index" )) - 1 })} f ( this ). qtip ( "api" ). status . focused = false }}); s . elements . tooltip . css ({ zIndex : x }); s . status . focused = true ; s . onFocus . call ( s , A ); f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_FOCUSED , "focus" )} return s }, disable : function ( w ){ if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "disable" )} if ( w ){ if ( ! s . status . disabled ){ s . status . disabled = true ; f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_DISABLED , "disable" )} else { f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . TOOLTIP_ALREADY_DISABLED , "disable" )}} else { if ( s . status . disabled ){ s . status . disabled = false ; f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_ENABLED , "disable" )} else { f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . TOOLTIP_ALREADY_ENABLED , "disable" )}} return s }, destroy : function (){ var w , x , y ; x = s . beforeDestroy . call ( s ); if ( x === false ){ return s } if ( s . status . rendered ){ s . options . show . when . target . unbind ( "mousemove.qtip" , s . updatePosition ); s . options . show . when . target . unbind ( "mouseout.qtip" , s . hide ); s . options . show . when . target . unbind ( s . options . show . when . event + ".qtip" ); s . options . hide . when . target . unbind ( s . options . hide . when . event + ".qtip" ); s . elements . tooltip . unbind ( s . options . hide . when . event + ".qtip" ); s . elements . tooltip . unbind ( "mouseover.qtip" , s . focus ); s . elements . tooltip . remove ()} else { s . options . show . when . target . unbind ( s . options . show . when . event + ".qtip-create" )} if ( typeof s . elements . target . data ( "qtip" ) == "object" ){ y = s . elements . target . data ( "qtip" ). interfaces ; if ( typeof y == "object" && y . length > 0 ){ for ( w = 0 ; w < y . length - 1 ; w ++ ){ if ( y [ w ]. id == s . id ){ y . splice ( w , 1 )}}}} delete f . fn . qtip . interfaces [ s . id ]; if ( typeof y == "object" && y . length > 0 ){ s . elements . target . data ( "qtip" ). current = y . length - 1 } else { s . elements . target . removeData ( "qtip" )} s . onDestroy . call ( s ); f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_DESTROYED , "destroy" ); return s . elements . target }, getPosition : function (){ var w , x ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "getPosition" )} w = ( s . elements . tooltip . css ( "display" ) !== "none" ) ? false : true ; if ( w ){ s . elements . tooltip . css ({ visiblity : "hidden" }). show ()} x = s . elements . tooltip . offset (); if ( w ){ s . elements . tooltip . css ({ visiblity : "visible" }). hide ()} return x }, getDimensions : function (){ var w , x ; if ( ! s . status . rendered ){ return f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . TOOLTIP_NOT_RENDERED , "getDimensions" )} w = ( ! s . elements . tooltip . is ( ":visible" )) ? true : false ; if ( w ){ s . elements . tooltip . css ({ visiblity : "hidden" }). show ()} x = { height : s . elements . tooltip . outerHeight (), width : s . elements . tooltip . outerWidth ()}; if ( w ){ s . elements . tooltip . css ({ visiblity : "visible" }). hide ()} return x }})} function p (){ var s , w , u , t , v , y , x ; s = this ; s . beforeRender . call ( s ); s . status . rendered = true ; s . elements . tooltip = '<div qtip="' + s . id + '" class="qtip ' + ( s . options . style . classes . tooltip || s . options . style ) + '"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:' + s . options . position . type + ';"> <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;"> <div class="qtip-contentWrapper" style="overflow:hidden;"> <div class="qtip-content ' + s . options . style . classes . content + '"></div></div></div></div>' ; s . elements . tooltip = f ( s . elements . tooltip ); s . elements . tooltip . appendTo ( s . options . position . container ); s . elements . tooltip . data ( "qtip" ,{ current : 0 , interfaces : [ s ]}); s . elements . wrapper = s . elements . tooltip . children ( "div:first" ); s . elements . contentWrapper = s . elements . wrapper . children ( "div:first" ). css ({ background : s . options . style . background }); s . elements . content = s . elements . contentWrapper . children ( "div:first" ). css ( q ( s . options . style )); if ( f . browser . msie ){ s . elements . wrapper . add ( s . elements . content ). css ({ zoom : 1 })} if ( s . options . hide . when . event == "unfocus" ){ s . elements . tooltip . attr ( "unfocus" , true )} if ( typeof s . options . style . width . value == "number" ){ s . updateWidth ()} if ( f ( "<canvas>" ). get ( 0 ). getContext || f . browser . msie ){ if ( s . options . style . border . radius > 0 ){ m . call ( s )} else { s . elements . contentWrapper . css ({ border : s . options . style . border . width + "px solid " + s . options . style . border . color })} if ( s . options . style . tip . corner !== false ){ e . call ( s )}} else { s . elements . contentWrapper . css ({ border : s . options . style . border . width + "px solid " + s . options . style . border . color }); s . options . style . border . radius = 0 ; s . options . style . tip . corner = false ; f . fn . qtip . log . error . call ( s , 2 , f . fn . qtip . constants . CANVAS_VML_NOT_SUPPORTED , "render" )} if (( typeof s . options . content . text == "string" && s . options . content . text . length > 0 ) || ( s . options . content . text . jquery && s . options . content . text . length > 0 )){ u = s . options . content . text } else { if ( typeof s . elements . target . attr ( "title" ) == "string" && s . elements . target . attr ( "title" ). length > 0 ){ u = s . elements . target . attr ( "title" ). replace ( "\\n" , "<br />" ); s . elements . target . attr ( "title" , "" )} else { if ( typeof s . elements . target . attr ( "alt" ) == "string" && s . elements . target . attr ( "alt" ). length > 0 ){ u = s . elements . target . attr ( "alt" ). replace ( "\\n" , "<br />" ); s . elements . target . attr ( "alt" , "" )} else { u = " " ; f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . NO_VALID_CONTENT , "render" )}}} if ( s . options . content . title . text !== false ){ j . call ( s )} s . updateContent ( u ); l . call ( s ); if ( s . options . show . ready === true ){ s . show ()} if ( s . options . content . url !== false ){ t = s . options . content . url ; v = s . options . content . data ; y = s . options . content . method || "get" ; s . loadContent ( t , v , y )} s . onRender . call ( s ); f . fn . qtip . log . error . call ( s , 1 , f . fn . qtip . constants . EVENT_RENDERED , "render" )} function m (){ var F , z , t , B , x , E , u , G , D , y , w , C , A , s , v ; F = this ; F . elements . wrapper . find ( ".qtip-borderBottom, .qtip-borderTop" ). remove (); t = F . options . style . border . width ; B = F . options . style . border . radius ; x = F . options . style . border . color || F . options . style . tip . color ; E = g ( B ); u = {}; for ( z in E ){ u [ z ] = '<div rel="' + z + '" style="' + (( z . search ( /Left/ ) !==- 1 ) ? "left" : "right" ) + ":0; position:absolute; height:" + B + "px; width:" + B + 'px; overflow:hidden; line-height:0.1px; font-size:1px">' ; if ( f ( "<canvas>" ). get ( 0 ). getContext ){ u [ z ] += '<canvas height="' + B + '" width="' + B + '" style="vertical-align: top"></canvas>' } else { if ( f . browser . msie ){ G = B * 2 + 3 ; u [ z ] += '<v:arc stroked="false" fillcolor="' + x + '" startangle="' + E [ z ][ 0 ] + '" endangle="' + E [ z ][ 1 ] + '" style="width:' + G + "px; height:" + G + "px; margin-top:" + (( z . search ( /bottom/ ) !==- 1 ) ?- 2 :- 1 ) + "px; margin-left:" + (( z . search ( /Right/ ) !==- 1 ) ? E [ z ][ 2 ] - 3.5 :- 1 ) + 'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>' }} u [ z ] += "</div>" } D = F . getDimensions (). width - ( Math . max ( t , B ) * 2 ); y = '<div class="qtip-betweenCorners" style="height:' + B + "px; width:" + D + "px; overflow:hidden; background-color:" + x + '; line-height:0.1px; font-size:1px;">' ; w = '<div class="qtip-borderTop" dir="ltr" style="height:' + B + "px; margin-left:" + B + 'px; line-height:0.1px; font-size:1px; padding:0;">' + u . topLeft + u . topRight + y ; F . elements . wrapper . prepend ( w ); C = '<div class="qtip-borderBottom" dir="ltr" style="height:' + B + "px; margin-left:" + B + 'px; line-height:0.1px; font-size:1px; padding:0;">' + u . bottomLeft + u . bottomRight + y ; F . elements . wrapper . append ( C ); if ( f ( "<canvas>" ). get ( 0 ). getContext ){ F . elements . wrapper . find ( "canvas" ). each ( function (){ A = E [ f ( this ). parent ( "[rel]:first" ). attr ( "rel" )]; r . call ( F , f ( this ), A , B , x )})} else { if ( f . browser . msie ){ F . elements . tooltip . append ( '<v:image style="behavior:url(#default#VML);"></v:image>' )}} s = Math . max ( B ,( B + ( t - B ))); v = Math . max ( t - B , 0 ); F . elements . contentWrapper . css ({ border : "0px solid " + x , borderWidth : v + "px " + s + "px" })} function r ( u , w , s , t ){ var v = u . get ( 0 ). getContext ( "2d" ); v . fillStyle = t ; v . beginPath (); v . arc ( w [ 0 ], w [ 1 ], s , 0 , Math . PI * 2 , false ); v . fill ()} function e ( v ){ var t , s , x , u , w ; t = this ; if ( t . elements . tip !== null ){ t . elements . tip . remove ()} s = t . options . style . tip . color || t . options . style . border . color ; if ( t . options . style . tip . corner === false ){ return } else { if ( ! v ){ v = t . options . style . tip . corner }} x = b ( v , t . options . style . tip . size . width , t . options . style . tip . size . height ); t . elements . tip = '<div class="' + t . options . style . classes . tip + '" dir="ltr" rel="' + v + '" style="position:absolute; height:' + t . options . style . tip . size . height + "px; width:" + t . options . style . tip . size . width + 'px; margin:0 auto; line-height:0.1px; font-size:1px;">' ; if ( f ( "<canvas>" ). get ( 0 ). getContext ){ t . elements . tip += '<canvas height="' + t . options . style . tip . size . height + '" width="' + t . options . style . tip . size . width + '"></canvas>' } else { if ( f . browser . msie ){ u = t . options . style . tip . size . width + "," + t . options . style . tip . size . height ; w = "m" + x [ 0 ][ 0 ] + "," + x [ 0 ][ 1 ]; w += " l" + x [ 1 ][ 0 ] + "," + x [ 1 ][ 1 ]; w += " " + x [ 2 ][ 0 ] + "," + x [ 2 ][ 1 ]; w += " xe" ; t . elements . tip += '<v:shape fillcolor="' + s + '" stroked="false" filled="true" path="' + w + '" coordsize="' + u + '" style="width:' + t . options . style . tip . size . width + "px; height:" + t . options . style . tip . size . height + "px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:" + (( v . search ( /top/ ) !==- 1 ) ? "bottom" : "top" ) + '"></v:shape>' ; t . elements . tip += '<v:image style="behavior:url(#default#VML);"></v:image>' ; t . elements . contentWrapper . css ( "position" , "relative" )}} t . elements . tooltip . prepend ( t . elements . tip + "</div>" ); t . elements . tip = t . elements . tooltip . find ( "." + t . options . style . classes . tip ). eq ( 0 ); if ( f ( "<canvas>" ). get ( 0 ). getContext ){ h . call ( t , t . elements . tip . find ( "canvas:first" ), x , s )} if ( v . search ( /top/ ) !==- 1 && f . browser . msie && parseInt ( f . browser . version . charAt ( 0 )) === 6 ){ t . elements . tip . css ({ marginTop :- 4 })} n . call ( t , v )} function h ( t , v , s ){ var u = t . get ( 0 ). getContext ( "2d" ); u . fillStyle = s ; u . beginPath (); u . moveTo ( v [ 0 ][ 0 ], v [ 0 ][ 1 ]); u . lineTo ( v [ 1 ][ 0 ], v [ 1 ][ 1 ]); u . lineTo ( v [ 2 ][ 0 ], v [ 2 ][ 1 ]); u . fill ()} function n ( u ){ var t , w , s , x , v ; t = this ; if ( t . options . style . tip . corner === false ||! t . elements . tip ){ return } if ( ! u ){ u = t . elements . tip . attr ( "rel" )} w = positionAdjust = ( f . browser . msie ) ? 1 : 0 ; t . elements . tip . css ( u . match ( /left|right|top|bottom/ )[ 0 ], 0 ); if ( u . search ( /top|bottom/ ) !==- 1 ){ if ( f . browser . msie ){ if ( parseInt ( f . browser . version . charAt ( 0 )) === 6 ){ positionAdjust = ( u . search ( /top/ ) !==- 1 ) ?- 3 : 1 } else { positionAdjust = ( u . search ( /top/ ) !==- 1 ) ? 1 : 2 }} if ( u . search ( /Middle/ ) !==- 1 ){ t . elements . tip . css ({ left : "50%" , marginLeft :- ( t . options . style . tip . size . width / 2 )})} else { if ( u . search ( /Left/ ) !==- 1 ){ t . elements . tip . css ({ left : t . options . style . border . radius - w })} else { if ( u . search ( /Right/ ) !==- 1 ){ t . elements . tip . css ({ right : t . options . style . border . radius + w })}}} if ( u . search ( /top/ ) !==- 1 ){ t . elements . tip . css ({ top :- positionAdjust })} else { t . elements . tip . css ({ bottom : positionAdjust })}} else { if ( u . search ( /left|right/ ) !==- 1 ){ if ( f . browser . msie ){ positionAdjust = ( parseInt ( f . browser . version . charAt ( 0 )) === 6 ) ? 1 : (( u . search ( /left/ ) !==- 1 ) ? 1 : 2 )} if ( u . search ( /Middle/ ) !==- 1 ){ t . elements . tip . css ({ top : "50%" , marginTop :- ( t . options . style . tip . size . height / 2 )})} else { if ( u . search ( /Top/ ) !==- 1 ){ t . elements . tip . css ({ top : t . options . style . border . radius - w })} else { if ( u . search ( /Bottom/ ) !==- 1 ){ t . elements . tip . css ({ bottom : t . options . style . border . radius + w })}}} if ( u . search ( /left/ ) !==- 1 ){ t . elements . tip . css ({ left :- positionAdjust })} else { t . elements . tip . css ({ right : positionAdjust })}}} s = "padding-" + u . match ( /left|right|top|bottom/ )[ 0 ]; x = t . options . style . tip . size [( s . search ( /left|right/ ) !==- 1 ) ? "width" : "height" ]; t . elements . tooltip . css ( "padding" , 0 ); t . elements . tooltip . css ( s , x ); if ( f . browser . msie && parseInt ( f . browser . version . charAt ( 0 )) == 6 ){ v = parseInt ( t . elements . tip . css ( "margin-top" )) || 0 ; v += parseInt ( t . elements . content . css ( "margin-top" )) || 0 ; t . elements . tip . css ({ marginTop : v })}} function j (){ var s = this ; if ( s . elements . title !== null ){ s . elements . title . remove ()} s . elements . title = f ( '<div class="' + s . options . style . classes . title + '">' ). css ( q ( s . options . style . title , true )). css ({ zoom : ( f . browser . msie ) ? 1 : 0 }). prependTo ( s . elements . contentWrapper ); if ( s . options . content . title . text ){ s . updateTitle . call ( s , s . options . content . title . text )} if ( s . options . content . title . button !== false && typeof s . options . content . title . button == "string" ){ s . elements . button = f ( '<a class="' + s . options . style . classes . button + '" style="float:right; position: relative"></a>' ). css ( q ( s . options . style . button , true )). html ( s . options . content . title . button ). prependTo ( s . elements . title ). click ( function ( t ){ if ( ! s . status . disabled ){ s . hide ( t )}})}} function l (){ var t , v , u , s ; t = this ; v = t . options . show . when . target ; u = t . options . hide . when . target ; if ( t . options . hide . fixed ){ u = u . add ( t . elements . tooltip )} if ( t . options . hide . when . event == "inactive" ){ s = [ "click" , "dblclick" , "mousedown" , "mouseup" , "mousemove" , "mouseout" , "mouseenter" , "mouseleave" , "mouseover" ]; function y ( z ){ if ( t . status . disabled === true ){ return } clearTimeout ( t . timers . inactive ); t . timers . inactive = setTimeout ( function (){ f ( s ). each ( function (){ u . unbind ( this + ".qtip-inactive" ); t . elements . content . unbind ( this + ".qtip-inactive" )}); t . hide ( z )}, t . options . hide . delay )}} else { if ( t . options . hide . fixed === true ){ t . elements . tooltip . bind ( "mouseover.qtip" , function (){ if ( t . status . disabled === true ){ return } clearTimeout ( t . timers . hide )})}} function x ( z ){ if ( t . status . disabled === true ){ return } if ( t . options . hide . when . event == "inactive" ){ f ( s ). each ( function (){ u . bind ( this + ".qtip-inactive" , y ); t . elements . content . bind ( this + ".qtip-inactive" , y )}); y ()} clearTimeout ( t . timers . show ); clearTimeout ( t . timers . hide ); t . timers . show = setTimeout ( function (){ t . show ( z )}, t . options . show . delay )} function w ( z ){ if ( t . status . disabled === true ){ return } if ( t . options . hide . fixed === true && t . options . hide . when . event . search ( /mouse(out|leave)/i ) !==- 1 && f ( z . relatedTarget ). parents ( "div.qtip[qtip]" ). length > 0 ){ z . stopPropagation (); z . preventDefault (); clearTimeout ( t . timers . hide ); return false } clearTimeout ( t . timers . show ); clearTimeout ( t . timers . hide ); t . elements . tooltip . stop ( true , true ); t . timers . hide = setTimeout ( function (){ t . hide ( z )}, t . options . hide . delay )} if (( t . options . show . when . target . add ( t . options . hide . when . target ). length === 1 && t . options . show . when . event == t . options . hide . when . event && t . options . hide . when . event !== "inactive" ) || t . options . hide . when . event == "unfocus" ){ t . cache . toggle = 0 ; v . bind ( t . options . show . when . event + ".qtip" , function ( z ){ if ( t . cache . toggle == 0 ){ x ( z )} else { w ( z )}})} else { v . bind ( t . options . show . when . event + ".qtip" , x ); if ( t . options . hide . when . event !== "inactive" ){ u . bind ( t . options . hide . when . event + ".qtip" , w )}} if ( t . options . position . type . search ( /(fixed|absolute)/ ) !==- 1 ){ t . elements . tooltip . bind ( "mouseover.qtip" , t . focus )} if ( t . options . position . target === "mouse" && t . options . position . type !== "static" ){ v . bind ( "mousemove.qtip" , function ( z ){ t . cache . mouse = { x : z . pageX , y : z . pageY }; if ( t . status . disabled === false && t . options . position . adjust . mouse === true && t . options . position . type !== "static" && t . elements . tooltip . css ( "display" ) !== "none" ){ t . updatePosition ( z )}})}} function o ( u , v , A ){ var z , s , x , y , t , w ; z = this ; if ( A . corner == "center" ){ return v . position } s = f . extend ({}, u ); y = { x : false , y : false }; t = { left : ( s . left < f . fn . qtip . cache . screen . scroll . left ), right : ( s . left + A . dimensions . width + 2 >= f . fn . qtip . cache . screen . width + f . fn . qtip . cache . screen . scroll . left ), top : ( s . top < f . fn . qtip . cache . screen . scroll . top ), bottom : ( s . top + A . dimensions . height + 2 >= f . fn . qtip . cache . screen . height + f . fn . qtip . cache . screen . scroll . top )}; x = { left : ( t . left && ( A . corner . search ( /right/i ) !=- 1 || ( A . corner . search ( /right/i ) ==- 1 &&! t . right ))), right : ( t . right && ( A . corner . search ( /left/i ) !=- 1 || ( A . corner . search ( /left/i ) ==- 1 &&! t . left ))), top : ( t . top && A . corner . search ( /top/i ) ==- 1 ), bottom : ( t . bottom && A . corner . search ( /bottom/i ) ==- 1 )}; if ( x . left ){ if ( z . options . position . target !== "mouse" ){ s . left = v . position . left + v . dimensions . width } else { s . left = z . cache . mouse . x } y . x = "Left" } else { if ( x . right ){ if ( z . options . position . target !== "mouse" ){ s . left = v . position . left - A . dimensions . width } else { s . left = z . cache . mouse . x - A . dimensions . width } y . x = "Right" }} if ( x . top ){ if ( z . options . position . target !== "mouse" ){ s . top = v . position . top + v . dimensions . height } else { s . top = z . cache . mouse . y } y . y = "top" } else { if ( x . bottom ){ if ( z . options . position . target !== "mouse" ){ s . top = v . position . top - A . dimensions . height } else { s . top = z . cache . mouse . y - A . dimensions . height } y . y = "bottom" }} if ( s . left < 0 ){ s . left = u . left ; y . x = false } if ( s . top < 0 ){ s . top = u . top ; y . y = false } if ( z . options . style . tip . corner !== false ){ s . corner = new String ( A . corner ); if ( y . x !== false ){ s . corner = s . corner . replace ( /Left|Right|Middle/ , y . x )} if ( y . y !== false ){ s . corner = s . corner . replace ( /top|bottom/ , y . y )} if ( s . corner !== z . elements . tip . attr ( "rel" )){ e . call ( z , s . corner )}} return s } function q ( u , t ){ var v , s ; v = f . extend ( true ,{}, u ); for ( s in v ){ if ( t === true && s . search ( /(tip|classes)/i ) !==- 1 ){ delete v [ s ]} else { if ( ! t && s . search ( /(width|border|tip|title|classes|user)/i ) !==- 1 ){ delete v [ s ]}}} return v } function c ( s ){ if ( typeof s . tip !== "object" ){ s . tip = { corner : s . tip }} if ( typeof s . tip . size !== "object" ){ s . tip . size = { width : s . tip . size , height : s . tip . size }} if ( typeof s . border !== "object" ){ s . border = { width : s . border }} if ( typeof s . width !== "object" ){ s . width = { value : s . width }} if ( typeof s . width . max == "string" ){ s . width . max = parseInt ( s . width . max . replace ( /([0-9]+)/i , "$1" ))} if ( typeof s . width . min == "string" ){ s . width . min = parseInt ( s . width . min . replace ( /([0-9]+)/i , "$1" ))} if ( typeof s . tip . size . x == "number" ){ s . tip . size . width = s . tip . size . x ; delete s . tip . size . x } if ( typeof s . tip . size . y == "number" ){ s . tip . size . height = s . tip . size . y ; delete s . tip . size . y } return s } function a (){ var s , t , u , x , v , w ; s = this ; u = [ true ,{}]; for ( t = 0 ; t < arguments . length ; t ++ ){ u . push ( arguments [ t ])} x = [ f . extend . apply ( f , u )]; while ( typeof x [ 0 ]. name == "string" ){ x . unshift ( c ( f . fn . qtip . styles [ x [ 0 ]. name ]))} x . unshift ( true ,{ classes : { tooltip : "qtip-" + ( arguments [ 0 ]. name || "defaults" )}}, f . fn . qtip . styles . defaults ); v = f . extend . apply ( f , x ); w = ( f . browser . msie ) ? 1 : 0 ; v . tip . size . width += w ; v . tip . size . height += w ; if ( v . tip . size . width % 2 > 0 ){ v . tip . size . width += 1 } if ( v . tip . size . height % 2 > 0 ){ v . tip . size . height += 1 } if ( v . tip . corner === true ){ v . tip . corner = ( s . options . position . corner . tooltip === "center" ) ? false : s . options . position . corner . tooltip } return v } function b ( v , u , t ){ var s = { bottomRight : [[ 0 , 0 ],[ u , t ],[ u , 0 ]], bottomLeft : [[ 0 , 0 ],[ u , 0 ],[ 0 , t ]], topRight : [[ 0 , t ],[ u , 0 ],[ u , t ]], topLeft : [[ 0 , 0 ],[ 0 , t ],[ u , t ]], topMiddle : [[ 0 , t ],[ u / 2 , 0 ],[ u , t ]], bottomMiddle : [[ 0 , 0 ],[ u , 0 ],[ u / 2 , t ]], rightMiddle : [[ 0 , 0 ],[ u , t / 2 ],[ 0 , t ]], leftMiddle : [[ u , 0 ],[ u , t ],[ 0 , t / 2 ]]}; s . leftTop = s . bottomRight ; s . rightTop = s . bottomLeft ; s . leftBottom = s . topRight ; s . rightBottom = s . topLeft ; return s [ v ]} function g ( s ){ var t ; if ( f ( "<canvas>" ). get ( 0 ). getContext ){ t = { topLeft : [ s , s ], topRight : [ 0 , s ], bottomLeft : [ s , 0 ], bottomRight : [ 0 , 0 ]}} else { if ( f . browser . msie ){ t = { topLeft : [ - 90 , 90 , 0 ], topRight : [ - 90 , 90 , - s ], bottomLeft : [ 90 , 270 , 0 ], bottomRight : [ 90 , 270 , - s ]}}} return t } function k (){ var s , t , u ; s = this ; u = s . getDimensions (); t = '<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:' + u . height + "px; width:" + u . width + 'px" />' ; s . elements . bgiframe = s . elements . wrapper . prepend ( t ). children ( ".qtip-bgiframe:first" )} f ( document ). ready ( function (){ f . fn . qtip . cache = { screen : { scroll : { left : f ( window ). scrollLeft (), top : f ( window ). scrollTop ()}, width : f ( window ). width (), height : f ( window ). height ()}}; var s ; f ( window ). bind ( "resize scroll" , function ( t ){ clearTimeout ( s ); s = setTimeout ( function (){ if ( t . type === "scroll" ){ f . fn . qtip . cache . screen . scroll = { left : f ( window ). scrollLeft (), top : f ( window ). scrollTop ()}} else { f . fn . qtip . cache . screen . width = f ( window ). width (); f . fn . qtip . cache . screen . height = f ( window ). height ()} for ( i = 0 ; i < f . fn . qtip . interfaces . length ; i ++ ){ var u = f . fn . qtip . interfaces [ i ]; if ( u . status . rendered === true && ( u . options . position . type !== "static" || u . options . position . adjust . scroll && t . type === "scroll" || u . options . position . adjust . resize && t . type === "resize" )){ u . updatePosition ( t , true )}}}, 100 )}); f ( document ). bind ( "mousedown.qtip" , function ( t ){ if ( f ( t . target ). parents ( "div.qtip" ). length === 0 ){ f ( ".qtip[unfocus]" ). each ( function (){ var u = f ( this ). qtip ( "api" ); if ( f ( this ). is ( ":visible" ) &&! u . status . disabled && f ( t . target ). add ( u . elements . target ). length > 1 ){ u . hide ( t )}})}})}); f . fn . qtip . interfaces = []; f . fn . qtip . log = { error : function (){ return this }}; f . fn . qtip . constants = {}; f . fn . qtip . defaults = { content : { prerender : false , text : false , url : false , data : null , title : { text : false , button : false }}, position : { target : false , corner : { target : "bottomRight" , tooltip : "topLeft" }, adjust : { x : 0 , y : 0 , mouse : true , screen : false , scroll : true , resize : true }, type : "absolute" , container : false }, show : { when : { target : false , event : "mouseover" }, effect : { type : "fade" , length : 100 }, delay : 140 , solo : false , ready : false }, hide : { when : { target : false , event : "mouseout" }, effect : { type : "fade" , length : 100 }, delay : 0 , fixed : false }, api : { beforeRender : function (){}, onRender : function (){}, beforePositionUpdate : function (){}, onPositionUpdate : function (){}, beforeShow : function (){}, onShow : function (){}, beforeHide : function (){}, onHide : function (){}, beforeContentUpdate : function (){}, onContentUpdate : function (){}, beforeContentLoad : function (){}, onContentLoad : function (){}, beforeTitleUpdate : function (){}, onTitleUpdate : function (){}, beforeDestroy : function (){}, onDestroy : function (){}, beforeFocus : function (){}, onFocus : function (){}}}; f . fn . qtip . styles = { defaults : { background : "white" , color : "#111" , overflow : "hidden" , textAlign : "left" , width : { min : 0 , max : 250 }, padding : "5px 9px" , border : { width : 1 , radius : 0 , color : "#d3d3d3" }, tip : { corner : false , color : false , size : { width : 13 , height : 13 }, opacity : 1 }, title : { background : "#e1e1e1" , fontWeight : "bold" , padding : "7px 12px" }, button : { cursor : "pointer" }, classes : { target : "" , tip : "qtip-tip" , title : "qtip-title" , button : "qtip-button" , content : "qtip-content" , active : "qtip-active" }}, cream : { border : { width : 3 , radius : 0 , color : "#F9E98E" }, title : { background : "#F0DE7D" , color : "#A27D35" }, background : "#FBF7AA" , color : "#A27D35" , classes : { tooltip : "qtip-cream" }}, light : { border : { width : 3 , radius : 0 , color : "#E2E2E2" }, title : { background : "#f1f1f1" , color : "#454545" }, background : "white" , color : "#454545" , classes : { tooltip : "qtip-light" }}, dark : { border : { width : 3 , radius : 0 , color : "#303030" }, title : { background : "#404040" , color : "#f3f3f3" }, background : "#505050" , color : "#f3f3f3" , classes : { tooltip : "qtip-dark" }}, red : { border : { width : 3 , radius : 0 , color : "#CE6F6F" }, title : { background : "#f28279" , color : "#9C2F2F" }, background : "#F79992" , color : "#9C2F2F" , classes : { tooltip : "qtip-red" }}, green : { border : { width : 3 , radius : 0 , color : "#A9DB66" }, title : { background : "#b9db8c" , color : "#58792E" }, background : "#CDE6AC" , color : "#58792E" , classes : { tooltip : "qtip-green" }}, blue : { border : { width : 3 , radius : 0 , color : "#ADD9ED" }, title : { background : "#D0E9F5" , color : "#5E99BD" }, background : "#E5F6FE" , color : "#4D9FBF" , classes : { tooltip : "qtip-blue" }}}})( jQuery );