2011-09-09 14:23:32 +00:00
/ * !
jQuery blockUI plugin
Version 2.37 ( 29 - JAN - 2011 )
@ requires jQuery v1 . 2.3 or later
Examples at : http : //malsup.com/jquery/block/
Copyright ( c ) 2007 - 2010 M . Alsup
Dual licensed under the MIT and GPL licenses :
http : //www.opensource.org/licenses/mit-license.php
http : //www.gnu.org/licenses/gpl.html
Thanks to Amir - Hossein Sobhi for some excellent contributions !
* /
; ( function ( $ ) { if ( /1\.(0|1|2)\.(0|1|2)/ . test ( $ . fn . jquery ) || /^1.1/ . test ( $ . fn . jquery ) ) { alert ( 'blockUI requires jQuery v1.2.3 or later! You are using v' + $ . fn . jquery ) ; return ; }
$ . fn . _fadeIn = $ . fn . fadeIn ; var noOp = function ( ) { } ; var mode = document . documentMode || 0 ; var setExpr = $ . browser . msie && ( ( $ . browser . version < 8 && ! mode ) || mode < 8 ) ; var ie6 = $ . browser . msie && /MSIE 6.0/ . test ( navigator . userAgent ) && ! mode ; $ . blockUI = function ( opts ) { install ( window , opts ) ; } ; $ . unblockUI = function ( opts ) { remove ( window , opts ) ; } ; $ . growlUI = function ( title , message , timeout , onClose ) { var $m = $ ( '<div class="growlUI"></div>' ) ; if ( title ) $m . append ( '<h1>' + title + '</h1>' ) ; if ( message ) $m . append ( '<h2>' + message + '</h2>' ) ; if ( timeout == undefined ) timeout = 3000 ; $ . blockUI ( { message : $m , fadeIn : 700 , fadeOut : 1000 , centerY : false , timeout : timeout , showOverlay : false , onUnblock : onClose , css : $ . blockUI . defaults . growlCSS } ) ; } ; $ . fn . block = function ( opts ) { return this . unblock ( { fadeOut : 0 } ) . each ( function ( ) { if ( $ . css ( this , 'position' ) == 'static' )
this . style . position = 'relative' ; if ( $ . browser . msie )
this . style . zoom = 1 ; install ( this , opts ) ; } ) ; } ; $ . fn . unblock = function ( opts ) { return this . each ( function ( ) { remove ( this , opts ) ; } ) ; } ; $ . blockUI . version = 2.37 ; $ . blockUI . defaults = { message : '<h1>Please wait...</h1>' , title : null , draggable : true , theme : false , css : { padding : 0 , margin : 0 , width : '30%' , top : '40%' , left : '35%' , textAlign : 'center' , color : '#000' , border : '3px solid #aaa' , backgroundColor : '#fff' , cursor : 'wait' } , themedCSS : { width : '30%' , top : '40%' , left : '35%' } , overlayCSS : { backgroundColor : '#000' , opacity : 0.6 , cursor : 'wait' } , growlCSS : { width : '350px' , top : '10px' , left : '' , right : '10px' , border : 'none' , padding : '5px' , opacity : 0.6 , cursor : 'default' , color : '#fff' , backgroundColor : '#000' , '-webkit-border-radius' : '10px' , '-moz-border-radius' : '10px' , 'border-radius' : '10px' } , iframeSrc : /^https/i . test ( window . location . href || '' ) ? 'javascript:false' : 'about:blank' , forceIframe : false , baseZ : 1000 , centerX : true , centerY : true , allowBodyStretch : true , bindEvents : true , constrainTabKey : true , fadeIn : 200 , fadeOut : 400 , timeout : 0 , showOverlay : true , focusInput : true , applyPlatformOpacityRules : true , onBlock : null , onUnblock : null , quirksmodeOffsetHack : 4 , blockMsgClass : 'blockMsg' } ; var pageBlock = null ; var pageBlockEls = [ ] ; function install ( el , opts ) { var full = ( el == window ) ; var msg = opts && opts . message !== undefined ? opts . message : undefined ; opts = $ . extend ( { } , $ . blockUI . defaults , opts || { } ) ; opts . overlayCSS = $ . extend ( { } , $ . blockUI . defaults . overlayCSS , opts . overlayCSS || { } ) ; var css = $ . extend ( { } , $ . blockUI . defaults . css , opts . css || { } ) ; var themedCSS = $ . extend ( { } , $ . blockUI . defaults . themedCSS , opts . themedCSS || { } ) ; msg = msg === undefined ? opts . message : msg ; if ( full && pageBlock )
remove ( window , { fadeOut : 0 } ) ; if ( msg && typeof msg != 'string' && ( msg . parentNode || msg . jquery ) ) { var node = msg . jquery ? msg [ 0 ] : msg ; var data = { } ; $ ( el ) . data ( 'blockUI.history' , data ) ; data . el = node ; data . parent = node . parentNode ; data . display = node . style . display ; data . position = node . style . position ; if ( data . parent )
data . parent . removeChild ( node ) ; }
var z = opts . baseZ ; var lyr1 = ( $ . browser . msie || opts . forceIframe ) ? $ ( '<iframe class="blockUI" style="z-index:' + ( z ++ ) + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + opts . iframeSrc + '"></iframe>' ) : $ ( '<div class="blockUI" style="display:none"></div>' ) ; var lyr2 = $ ( '<div class="blockUI blockOverlay" style="z-index:' + ( z ++ ) + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>' ) ; var lyr3 , s ; if ( opts . theme && full ) { s = '<div class="blockUI ' + opts . blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:fixed">' + '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + ( opts . title || ' ' ) + '</div>' + '<div class="ui-widget-content ui-dialog-content"></div>' + '</div>' ; }
else if ( opts . theme ) { s = '<div class="blockUI ' + opts . blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:absolute">' + '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">' + ( opts . title || ' ' ) + '</div>' + '<div class="ui-widget-content ui-dialog-content"></div>' + '</div>' ; }
else if ( full ) { s = '<div class="blockUI ' + opts . blockMsgClass + ' blockPage" style="z-index:' + z + ';display:none;position:fixed"></div>' ; }
else { s = '<div class="blockUI ' + opts . blockMsgClass + ' blockElement" style="z-index:' + z + ';display:none;position:absolute"></div>' ; }
lyr3 = $ ( s ) ; if ( msg ) { if ( opts . theme ) { lyr3 . css ( themedCSS ) ; lyr3 . addClass ( 'ui-widget-content' ) ; }
else
lyr3 . css ( css ) ; }
if ( ! opts . applyPlatformOpacityRules || ! ( $ . browser . mozilla && /Linux/ . test ( navigator . platform ) ) )
lyr2 . css ( opts . overlayCSS ) ; lyr2 . css ( 'position' , full ? 'fixed' : 'absolute' ) ; if ( $ . browser . msie || opts . forceIframe )
lyr1 . css ( 'opacity' , 0.0 ) ; var layers = [ lyr1 , lyr2 , lyr3 ] , $par = full ? $ ( 'body' ) : $ ( el ) ; $ . each ( layers , function ( ) { this . appendTo ( $par ) ; } ) ; if ( opts . theme && opts . draggable && $ . fn . draggable ) { lyr3 . draggable ( { handle : '.ui-dialog-titlebar' , cancel : 'li' } ) ; }
var expr = setExpr && ( ! $ . boxModel || $ ( 'object,embed' , full ? null : el ) . length > 0 ) ; if ( ie6 || expr ) { if ( full && opts . allowBodyStretch && $ . boxModel )
$ ( 'html,body' ) . css ( 'height' , '100%' ) ; if ( ( ie6 || ! $ . boxModel ) && ! full ) { var t = sz ( el , 'borderTopWidth' ) , l = sz ( el , 'borderLeftWidth' ) ; var fixT = t ? '(0 - ' + t + ')' : 0 ; var fixL = l ? '(0 - ' + l + ')' : 0 ; }
$ . each ( [ lyr1 , lyr2 , lyr3 ] , function ( i , o ) { var s = o [ 0 ] . style ; s . position = 'absolute' ; if ( i < 2 ) { full ? s . setExpression ( 'height' , 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:' + opts . quirksmodeOffsetHack + ') + "px"' ) : s . setExpression ( 'height' , 'this.parentNode.offsetHeight + "px"' ) ; full ? s . setExpression ( 'width' , 'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"' ) : s . setExpression ( 'width' , 'this.parentNode.offsetWidth + "px"' ) ; if ( fixL ) s . setExpression ( 'left' , fixL ) ; if ( fixT ) s . setExpression ( 'top' , fixT ) ; }
else if ( opts . centerY ) { if ( full ) s . setExpression ( 'top' , '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"' ) ; s . marginTop = 0 ; }
else if ( ! opts . centerY && full ) { var top = ( opts . css && opts . css . top ) ? parseInt ( opts . css . top ) : 0 ; var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + top + ') + "px"' ; s . setExpression ( 'top' , expression ) ; } } ) ; }
if ( msg ) { if ( opts . theme )
lyr3 . find ( '.ui-widget-content' ) . append ( msg ) ; else
lyr3 . append ( msg ) ; if ( msg . jquery || msg . nodeType )
$ ( msg ) . show ( ) ; }
if ( ( $ . browser . msie || opts . forceIframe ) && opts . showOverlay )
lyr1 . show ( ) ; if ( opts . fadeIn ) { var cb = opts . onBlock ? opts . onBlock : noOp ; var cb1 = ( opts . showOverlay && ! msg ) ? cb : noOp ; var cb2 = msg ? cb : noOp ; if ( opts . showOverlay )
lyr2 . _fadeIn ( opts . fadeIn , cb1 ) ; if ( msg )
lyr3 . _fadeIn ( opts . fadeIn , cb2 ) ; }
else { if ( opts . showOverlay )
lyr2 . show ( ) ; if ( msg )
lyr3 . show ( ) ; if ( opts . onBlock )
opts . onBlock ( ) ; }
bind ( 1 , el , opts ) ; if ( full ) { pageBlock = lyr3 [ 0 ] ; pageBlockEls = $ ( ':input:enabled:visible' , pageBlock ) ; if ( opts . focusInput )
setTimeout ( focus , 20 ) ; }
else
center ( lyr3 [ 0 ] , opts . centerX , opts . centerY ) ; if ( opts . timeout ) { var to = setTimeout ( function ( ) { full ? $ . unblockUI ( opts ) : $ ( el ) . unblock ( opts ) ; } , opts . timeout ) ; $ ( el ) . data ( 'blockUI.timeout' , to ) ; } } ; function remove ( el , opts ) { var full = ( el == window ) ; var $el = $ ( el ) ; var data = $el . data ( 'blockUI.history' ) ; var to = $el . data ( 'blockUI.timeout' ) ; if ( to ) { clearTimeout ( to ) ; $el . removeData ( 'blockUI.timeout' ) ; }
opts = $ . extend ( { } , $ . blockUI . defaults , opts || { } ) ; bind ( 0 , el , opts ) ; var els ; if ( full )
els = $ ( 'body' ) . children ( ) . filter ( '.blockUI' ) . add ( 'body > .blockUI' ) ; else
els = $ ( '.blockUI' , el ) ; if ( full )
pageBlock = pageBlockEls = null ; if ( opts . fadeOut ) { els . fadeOut ( opts . fadeOut ) ; setTimeout ( function ( ) { reset ( els , data , opts , el ) ; } , opts . fadeOut ) ; }
else
reset ( els , data , opts , el ) ; } ; function reset ( els , data , opts , el ) { els . each ( function ( i , o ) { if ( this . parentNode )
this . parentNode . removeChild ( this ) ; } ) ; if ( data && data . el ) { data . el . style . display = data . display ; data . el . style . position = data . position ; if ( data . parent )
data . parent . appendChild ( data . el ) ; $ ( el ) . removeData ( 'blockUI.history' ) ; }
if ( typeof opts . onUnblock == 'function' )
opts . onUnblock ( el , opts ) ; } ; function bind ( b , el , opts ) { var full = el == window , $el = $ ( el ) ; if ( ! b && ( full && ! pageBlock || ! full && ! $el . data ( 'blockUI.isBlocked' ) ) )
return ; if ( ! full )
$el . data ( 'blockUI.isBlocked' , b ) ; if ( ! opts . bindEvents || ( b && ! opts . showOverlay ) )
return ; var events = 'mousedown mouseup keydown keypress' ; b ? $ ( document ) . bind ( events , opts , handler ) : $ ( document ) . unbind ( events , handler ) ; } ; function handler ( e ) { if ( e . keyCode && e . keyCode == 9 ) { if ( pageBlock && e . data . constrainTabKey ) { var els = pageBlockEls ; var fwd = ! e . shiftKey && e . target === els [ els . length - 1 ] ; var back = e . shiftKey && e . target === els [ 0 ] ; if ( fwd || back ) { setTimeout ( function ( ) { focus ( back ) } , 10 ) ; return false ; } } }
var opts = e . data ; if ( $ ( e . target ) . parents ( 'div.' + opts . blockMsgClass ) . length > 0 )
return true ; return $ ( e . target ) . parents ( ) . children ( ) . filter ( 'div.blockUI' ) . length == 0 ; } ; function focus ( back ) { if ( ! pageBlockEls )
return ; var e = pageBlockEls [ back === true ? pageBlockEls . length - 1 : 0 ] ; if ( e )
e . focus ( ) ; } ; function center ( el , x , y ) { var p = el . parentNode , s = el . style ; var l = ( ( p . offsetWidth - el . offsetWidth ) / 2 ) - sz ( p , 'borderLeftWidth' ) ; var t = ( ( p . offsetHeight - el . offsetHeight ) / 2 ) - sz ( p , 'borderTopWidth' ) ; if ( x ) s . left = l > 0 ? ( l + 'px' ) : '0' ; if ( y ) s . top = t > 0 ? ( t + 'px' ) : '0' ; } ; function sz ( el , p ) { return parseInt ( $ . css ( el , p ) ) || 0 ; } ; } ) ( jQuery ) ;
2011-11-25 18:44:44 +00:00
/ *
* TipTip
* Copyright 2010 Drew Wilson
* www . drewwilson . com
* code . drewwilson . com / entry / tiptip - jquery - plugin
2011-09-09 14:23:32 +00:00
*
2011-11-25 18:44:44 +00:00
* Version 1.3 - Updated : Mar . 23 , 2010
2011-09-09 14:23:32 +00:00
*
2011-11-25 18:44:44 +00:00
* 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
2011-09-09 14:23:32 +00:00
* /
2011-11-25 18:44:44 +00:00
( function ( $ ) { $ . fn . tipTip = function ( options ) { var defaults = { activation : "hover" , keepAlive : false , maxWidth : "200px" , edgeOffset : 3 , defaultPosition : "bottom" , delay : 400 , fadeIn : 200 , fadeOut : 200 , attribute : "title" , content : false , enter : function ( ) { } , exit : function ( ) { } } ; var opts = $ . extend ( defaults , options ) ; 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 ) } 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 _le
2011-09-09 14:23:32 +00:00
/ * *
* Spoofs placeholders in browsers that don ' t support them ( eg Firefox 3 )
*
* Copyright 2011 Dan Bentley
* Licensed under the Apache License 2.0
*
* Author : Dan Bentley [ github . com / danbentley ]
* /
( function ( $ ) { if ( "placeholder" in document . createElement ( "input" ) ) return ; $ ( document ) . ready ( function ( ) { $ ( ':input[placeholder]' ) . each ( function ( ) { setupPlaceholder ( $ ( this ) ) ; } ) ; $ ( 'form' ) . submit ( function ( e ) { clearPlaceholdersBeforeSubmit ( $ ( this ) ) ; } ) ; } ) ; function setupPlaceholder ( input ) { var placeholderText = input . attr ( 'placeholder' ) ; if ( input . val ( ) === '' ) input . val ( placeholderText ) ; input . bind ( { focus : function ( e ) { if ( input . val ( ) === placeholderText ) input . val ( '' ) ; } , blur : function ( e ) { if ( input . val ( ) === '' ) input . val ( placeholderText ) ; } } ) ; }
2011-11-28 15:50:19 +00:00
function clearPlaceholdersBeforeSubmit ( form ) { form . find ( ':input[placeholder]' ) . each ( function ( ) { var el = $ ( this ) ; if ( el . val ( ) === el . attr ( 'placeholder' ) ) el . val ( '' ) ; } ) ; } } ) ( jQuery ) ;
/ * *
* WooCommerce Admin JS
* /
jQuery ( function ( ) {
jQuery ( ".tips" ) . tipTip ( {
'attribute' : 'tip' ,
'fadeIn' : 50 ,
'fadeOut' : 50
} ) ;
jQuery ( 'select.availability' ) . change ( function ( ) {
if ( jQuery ( this ) . val ( ) == "specific" ) {
jQuery ( this ) . closest ( 'tr' ) . next ( 'tr' ) . show ( ) ;
} else {
jQuery ( this ) . closest ( 'tr' ) . next ( 'tr' ) . hide ( ) ;
}
} ) . change ( ) ;
} ) ;