2011-08-10 17:49:27 +00:00
/ * !
* jQuery UI 1.8 . 15
*
* Copyright 2011 , 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
* /
( function ( c , j ) { function k ( a , b ) { var d = a . nodeName . toLowerCase ( ) ; if ( "area" === d ) { b = a . parentNode ; d = b . name ; if ( ! a . href || ! d || b . nodeName . toLowerCase ( ) !== "map" ) return false ; a = c ( "img[usemap=#" + d + "]" ) [ 0 ] ; return ! ! a && l ( a ) } return ( /input|select|textarea|button|object/ . test ( d ) ? ! a . disabled : "a" == d ? a . href || b : b ) && l ( a ) } function l ( a ) { return ! c ( a ) . parents ( ) . andSelf ( ) . filter ( function ( ) { return c . curCSS ( this , "visibility" ) === "hidden" || c . expr . filters . hidden ( this ) } ) . length } c . ui = c . ui || { } ; if ( ! c . ui . version ) { c . extend ( c . ui , { version : "1.8.15" ,
keyCode : { ALT : 18 , BACKSPACE : 8 , CAPS _LOCK : 20 , COMMA : 188 , COMMAND : 91 , COMMAND _LEFT : 91 , COMMAND _RIGHT : 93 , CONTROL : 17 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , INSERT : 45 , LEFT : 37 , MENU : 93 , NUMPAD _ADD : 107 , NUMPAD _DECIMAL : 110 , NUMPAD _DIVIDE : 111 , NUMPAD _ENTER : 108 , NUMPAD _MULTIPLY : 106 , NUMPAD _SUBTRACT : 109 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SHIFT : 16 , SPACE : 32 , TAB : 9 , UP : 38 , WINDOWS : 91 } } ) ; c . fn . extend ( { propAttr : c . fn . prop || c . fn . attr , _focus : c . fn . focus , focus : function ( a , b ) { return typeof a === "number" ? this . each ( function ( ) { var d =
this ; setTimeout ( function ( ) { c ( d ) . focus ( ) ; b && b . call ( d ) } , a ) } ) : this . _focus . apply ( this , arguments ) } , scrollParent : function ( ) { var a ; a = c . browser . msie && /(static|relative)/ . test ( this . css ( "position" ) ) || /absolute/ . test ( this . css ( "position" ) ) ? this . parents ( ) . filter ( function ( ) { return /(relative|absolute|fixed)/ . test ( c . curCSS ( this , "position" , 1 ) ) && /(auto|scroll)/ . test ( c . curCSS ( this , "overflow" , 1 ) + c . curCSS ( this , "overflow-y" , 1 ) + c . curCSS ( this , "overflow-x" , 1 ) ) } ) . eq ( 0 ) : this . parents ( ) . filter ( function ( ) { return /(auto|scroll)/ . test ( c . curCSS ( this ,
"overflow" , 1 ) + c . curCSS ( this , "overflow-y" , 1 ) + c . curCSS ( this , "overflow-x" , 1 ) ) } ) . eq ( 0 ) ; return /fixed/ . test ( this . css ( "position" ) ) || ! a . length ? c ( document ) : a } , zIndex : function ( a ) { if ( a !== j ) return this . css ( "zIndex" , a ) ; if ( this . length ) { a = c ( this [ 0 ] ) ; for ( var b ; a . length && a [ 0 ] !== document ; ) { b = a . css ( "position" ) ; if ( b === "absolute" || b === "relative" || b === "fixed" ) { b = parseInt ( a . css ( "zIndex" ) , 10 ) ; if ( ! isNaN ( b ) && b !== 0 ) return b } a = a . parent ( ) } } return 0 } , disableSelection : function ( ) { return this . bind ( ( c . support . selectstart ? "selectstart" :
"mousedown" ) + ".ui-disableSelection" , function ( a ) { a . preventDefault ( ) } ) } , enableSelection : function ( ) { return this . unbind ( ".ui-disableSelection" ) } } ) ; c . each ( [ "Width" , "Height" ] , function ( a , b ) { function d ( f , g , m , n ) { c . each ( e , function ( ) { g -= parseFloat ( c . curCSS ( f , "padding" + this , true ) ) || 0 ; if ( m ) g -= parseFloat ( c . curCSS ( f , "border" + this + "Width" , true ) ) || 0 ; if ( n ) g -= parseFloat ( c . curCSS ( f , "margin" + this , true ) ) || 0 } ) ; return g } var e = b === "Width" ? [ "Left" , "Right" ] : [ "Top" , "Bottom" ] , h = b . toLowerCase ( ) , i = { innerWidth : c . fn . innerWidth , innerHeight : c . fn . innerHeight ,
outerWidth : c . fn . outerWidth , outerHeight : c . fn . outerHeight } ; c . fn [ "inner" + b ] = function ( f ) { if ( f === j ) return i [ "inner" + b ] . call ( this ) ; return this . each ( function ( ) { c ( this ) . css ( h , d ( this , f ) + "px" ) } ) } ; c . fn [ "outer" + b ] = function ( f , g ) { if ( typeof f !== "number" ) return i [ "outer" + b ] . call ( this , f ) ; return this . each ( function ( ) { c ( this ) . css ( h , d ( this , f , true , g ) + "px" ) } ) } } ) ; c . extend ( c . expr [ ":" ] , { data : function ( a , b , d ) { return ! ! c . data ( a , d [ 3 ] ) } , focusable : function ( a ) { return k ( a , ! isNaN ( c . attr ( a , "tabindex" ) ) ) } , tabbable : function ( a ) { var b = c . attr ( a ,
"tabindex" ) , d = isNaN ( b ) ; return ( d || b >= 0 ) && k ( a , ! d ) } } ) ; c ( function ( ) { var a = document . body , b = a . appendChild ( b = document . createElement ( "div" ) ) ; c . extend ( b . style , { minHeight : "100px" , height : "auto" , padding : 0 , borderWidth : 0 } ) ; c . support . minHeight = b . offsetHeight === 100 ; c . support . selectstart = "onselectstart" in b ; a . removeChild ( b ) . style . display = "none" } ) ; c . extend ( c . ui , { plugin : { add : function ( a , b , d ) { a = c . ui [ a ] . prototype ; for ( var e in d ) { a . plugins [ e ] = a . plugins [ e ] || [ ] ; a . plugins [ e ] . push ( [ b , d [ e ] ] ) } } , call : function ( a , b , d ) { if ( ( b = a . plugins [ b ] ) &&
a . element [ 0 ] . parentNode ) for ( var e = 0 ; e < b . length ; e ++ ) a . options [ b [ e ] [ 0 ] ] && b [ e ] [ 1 ] . apply ( a . element , d ) } } , contains : function ( a , b ) { return document . compareDocumentPosition ? a . compareDocumentPosition ( b ) & 16 : a !== b && a . contains ( b ) } , hasScroll : function ( a , b ) { if ( c ( a ) . css ( "overflow" ) === "hidden" ) return false ; b = b && b === "left" ? "scrollLeft" : "scrollTop" ; var d = false ; if ( a [ b ] > 0 ) return true ; a [ b ] = 1 ; d = a [ b ] > 0 ; a [ b ] = 0 ; return d } , isOverAxis : function ( a , b , d ) { return a > b && a < b + d } , isOver : function ( a , b , d , e , h , i ) { return c . ui . isOverAxis ( a , d , h ) &&
c . ui . isOverAxis ( b , e , i ) } } ) } } ) ( jQuery ) ;
; / * !
* jQuery UI Widget 1.8 . 15
*
* Copyright 2011 , 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/Widget
* /
( function ( b , j ) { if ( b . cleanData ) { var k = b . cleanData ; b . cleanData = function ( a ) { for ( var c = 0 , d ; ( d = a [ c ] ) != null ; c ++ ) b ( d ) . triggerHandler ( "remove" ) ; k ( a ) } } else { var l = b . fn . remove ; b . fn . remove = function ( a , c ) { return this . each ( function ( ) { if ( ! c ) if ( ! a || b . filter ( a , [ this ] ) . length ) b ( "*" , this ) . add ( [ this ] ) . each ( function ( ) { b ( this ) . triggerHandler ( "remove" ) } ) ; return l . call ( b ( this ) , a , c ) } ) } } b . widget = function ( a , c , d ) { var e = a . split ( "." ) [ 0 ] , f ; a = a . split ( "." ) [ 1 ] ; f = e + "-" + a ; if ( ! d ) { d = c ; c = b . Widget } b . expr [ ":" ] [ f ] = function ( h ) { return ! ! b . data ( h ,
a ) } ; b [ e ] = b [ e ] || { } ; b [ e ] [ a ] = function ( h , g ) { arguments . length && this . _createWidget ( h , g ) } ; c = new c ; c . options = b . extend ( true , { } , c . options ) ; b [ e ] [ a ] . prototype = b . extend ( true , c , { namespace : e , widgetName : a , widgetEventPrefix : b [ e ] [ a ] . prototype . widgetEventPrefix || a , widgetBaseClass : f } , d ) ; b . widget . bridge ( a , b [ e ] [ a ] ) } ; b . widget . bridge = function ( a , c ) { b . fn [ a ] = function ( d ) { var e = typeof d === "string" , f = Array . prototype . slice . call ( arguments , 1 ) , h = this ; d = ! e && f . length ? b . extend . apply ( null , [ true , d ] . concat ( f ) ) : d ; if ( e && d . charAt ( 0 ) === "_" ) return h ;
e ? this . each ( function ( ) { var g = b . data ( this , a ) , i = g && b . isFunction ( g [ d ] ) ? g [ d ] . apply ( g , f ) : g ; if ( i !== g && i !== j ) { h = i ; return false } } ) : this . each ( function ( ) { var g = b . data ( this , a ) ; g ? g . option ( d || { } ) . _init ( ) : b . data ( this , a , new c ( d , this ) ) } ) ; return h } } ; b . Widget = function ( a , c ) { arguments . length && this . _createWidget ( a , c ) } ; b . Widget . prototype = { widgetName : "widget" , widgetEventPrefix : "" , options : { disabled : false } , _createWidget : function ( a , c ) { b . data ( c , this . widgetName , this ) ; this . element = b ( c ) ; this . options = b . extend ( true , { } , this . options ,
this . _getCreateOptions ( ) , a ) ; var d = this ; this . element . bind ( "remove." + this . widgetName , function ( ) { d . destroy ( ) } ) ; this . _create ( ) ; this . _trigger ( "create" ) ; this . _init ( ) } , _getCreateOptions : function ( ) { return b . metadata && b . metadata . get ( this . element [ 0 ] ) [ this . widgetName ] } , _create : function ( ) { } , _init : function ( ) { } , destroy : function ( ) { this . element . unbind ( "." + this . widgetName ) . removeData ( this . widgetName ) ; this . widget ( ) . unbind ( "." + this . widgetName ) . removeAttr ( "aria-disabled" ) . removeClass ( this . widgetBaseClass + "-disabled ui-state-disabled" ) } ,
widget : function ( ) { return this . element } , option : function ( a , c ) { var d = a ; if ( arguments . length === 0 ) return b . extend ( { } , this . options ) ; if ( typeof a === "string" ) { if ( c === j ) return this . options [ a ] ; d = { } ; d [ a ] = c } this . _setOptions ( d ) ; return this } , _setOptions : function ( a ) { var c = this ; b . each ( a , function ( d , e ) { c . _setOption ( d , e ) } ) ; return this } , _setOption : function ( a , c ) { this . options [ a ] = c ; if ( a === "disabled" ) this . widget ( ) [ c ? "addClass" : "removeClass" ] ( this . widgetBaseClass + "-disabled ui-state-disabled" ) . attr ( "aria-disabled" , c ) ; return this } ,
enable : function ( ) { return this . _setOption ( "disabled" , false ) } , disable : function ( ) { return this . _setOption ( "disabled" , true ) } , _trigger : function ( a , c , d ) { var e = this . options [ a ] ; c = b . Event ( c ) ; c . type = ( a === this . widgetEventPrefix ? a : this . widgetEventPrefix + a ) . toLowerCase ( ) ; d = d || { } ; if ( c . originalEvent ) { a = b . event . props . length ; for ( var f ; a ; ) { f = b . event . props [ -- a ] ; c [ f ] = c . originalEvent [ f ] } } this . element . trigger ( c , d ) ; return ! ( b . isFunction ( e ) && e . call ( this . element [ 0 ] , c , d ) === false || c . isDefaultPrevented ( ) ) } } } ) ( jQuery ) ;
; / * !
* jQuery UI Mouse 1.8 . 15
*
* Copyright 2011 , 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/Mouse
*
* Depends :
* jquery . ui . widget . js
* /
( function ( b ) { b . widget ( "ui.mouse" , { options : { cancel : ":input,option" , distance : 1 , delay : 0 } , _mouseInit : function ( ) { var a = this ; this . element . bind ( "mousedown." + this . widgetName , function ( c ) { return a . _mouseDown ( c ) } ) . bind ( "click." + this . widgetName , function ( c ) { if ( true === b . data ( c . target , a . widgetName + ".preventClickEvent" ) ) { b . removeData ( c . target , a . widgetName + ".preventClickEvent" ) ; c . stopImmediatePropagation ( ) ; return false } } ) ; this . started = false } , _mouseDestroy : function ( ) { this . element . unbind ( "." + this . widgetName ) } , _mouseDown : function ( a ) { a . originalEvent =
a . originalEvent || { } ; if ( ! a . originalEvent . mouseHandled ) { this . _mouseStarted && this . _mouseUp ( a ) ; this . _mouseDownEvent = a ; var c = this , e = a . which == 1 , f = typeof this . options . cancel == "string" ? b ( a . target ) . closest ( this . options . cancel ) . length : false ; if ( ! e || f || ! this . _mouseCapture ( a ) ) return true ; this . mouseDelayMet = ! this . options . delay ; if ( ! this . mouseDelayMet ) this . _mouseDelayTimer = setTimeout ( function ( ) { c . mouseDelayMet = true } , this . options . delay ) ; if ( this . _mouseDistanceMet ( a ) && this . _mouseDelayMet ( a ) ) { this . _mouseStarted = this . _mouseStart ( a ) !==
false ; if ( ! this . _mouseStarted ) { a . preventDefault ( ) ; return true } } true === b . data ( a . target , this . widgetName + ".preventClickEvent" ) && b . removeData ( a . target , this . widgetName + ".preventClickEvent" ) ; this . _mouseMoveDelegate = function ( d ) { return c . _mouseMove ( d ) } ; this . _mouseUpDelegate = function ( d ) { return c . _mouseUp ( d ) } ; b ( document ) . bind ( "mousemove." + this . widgetName , this . _mouseMoveDelegate ) . bind ( "mouseup." + this . widgetName , this . _mouseUpDelegate ) ; a . preventDefault ( ) ; return a . originalEvent . mouseHandled = true } } , _mouseMove : function ( a ) { if ( b . browser . msie &&
! ( document . documentMode >= 9 ) && ! a . button ) return this . _mouseUp ( a ) ; if ( this . _mouseStarted ) { this . _mouseDrag ( a ) ; return a . preventDefault ( ) } if ( this . _mouseDistanceMet ( a ) && this . _mouseDelayMet ( a ) ) ( this . _mouseStarted = this . _mouseStart ( this . _mouseDownEvent , a ) !== false ) ? this . _mouseDrag ( a ) : this . _mouseUp ( a ) ; return ! this . _mouseStarted } , _mouseUp : function ( a ) { b ( document ) . unbind ( "mousemove." + this . widgetName , this . _mouseMoveDelegate ) . unbind ( "mouseup." + this . widgetName , this . _mouseUpDelegate ) ; if ( this . _mouseStarted ) { this . _mouseStarted =
false ; a . target == this . _mouseDownEvent . target && b . data ( a . target , this . widgetName + ".preventClickEvent" , true ) ; this . _mouseStop ( a ) } return false } , _mouseDistanceMet : function ( a ) { return Math . max ( Math . abs ( this . _mouseDownEvent . pageX - a . pageX ) , Math . abs ( this . _mouseDownEvent . pageY - a . pageY ) ) >= this . options . distance } , _mouseDelayMet : function ( ) { return this . mouseDelayMet } , _mouseStart : function ( ) { } , _mouseDrag : function ( ) { } , _mouseStop : function ( ) { } , _mouseCapture : function ( ) { return true } } ) } ) ( jQuery ) ;
; / *
* jQuery UI Slider 1.8 . 15
*
* Copyright 2011 , 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/Slider
*
* Depends :
* jquery . ui . core . js
* jquery . ui . mouse . js
* jquery . ui . widget . js
* /
( function ( d ) { d . widget ( "ui.slider" , d . ui . mouse , { widgetEventPrefix : "slide" , options : { animate : false , distance : 0 , max : 100 , min : 0 , orientation : "horizontal" , range : false , step : 1 , value : 0 , values : null } , _create : function ( ) { var a = this , b = this . options , c = this . element . find ( ".ui-slider-handle" ) . addClass ( "ui-state-default ui-corner-all" ) , f = b . values && b . values . length || 1 , e = [ ] ; this . _mouseSliding = this . _keySliding = false ; this . _animateOff = true ; this . _handleIndex = null ; this . _detectOrientation ( ) ; this . _mouseInit ( ) ; this . element . addClass ( "ui-slider ui-slider-" +
this . orientation + " ui-widget ui-widget-content ui-corner-all" + ( b . disabled ? " ui-slider-disabled ui-disabled" : "" ) ) ; this . range = d ( [ ] ) ; if ( b . range ) { if ( b . range === true ) { if ( ! b . values ) b . values = [ this . _valueMin ( ) , this . _valueMin ( ) ] ; if ( b . values . length && b . values . length !== 2 ) b . values = [ b . values [ 0 ] , b . values [ 0 ] ] } this . range = d ( "<div></div>" ) . appendTo ( this . element ) . addClass ( "ui-slider-range ui-widget-header" + ( b . range === "min" || b . range === "max" ? " ui-slider-range-" + b . range : "" ) ) } for ( var j = c . length ; j < f ; j += 1 ) e . push ( "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>" ) ;
this . handles = c . add ( d ( e . join ( "" ) ) . appendTo ( a . element ) ) ; this . handle = this . handles . eq ( 0 ) ; this . handles . add ( this . range ) . filter ( "a" ) . click ( function ( g ) { g . preventDefault ( ) } ) . hover ( function ( ) { b . disabled || d ( this ) . addClass ( "ui-state-hover" ) } , function ( ) { d ( this ) . removeClass ( "ui-state-hover" ) } ) . focus ( function ( ) { if ( b . disabled ) d ( this ) . blur ( ) ; else { d ( ".ui-slider .ui-state-focus" ) . removeClass ( "ui-state-focus" ) ; d ( this ) . addClass ( "ui-state-focus" ) } } ) . blur ( function ( ) { d ( this ) . removeClass ( "ui-state-focus" ) } ) ; this . handles . each ( function ( g ) { d ( this ) . data ( "index.ui-slider-handle" ,
g ) } ) ; this . handles . keydown ( function ( g ) { var k = true , l = d ( this ) . data ( "index.ui-slider-handle" ) , i , h , m ; if ( ! a . options . disabled ) { switch ( g . keyCode ) { case d . ui . keyCode . HOME : case d . ui . keyCode . END : case d . ui . keyCode . PAGE _UP : case d . ui . keyCode . PAGE _DOWN : case d . ui . keyCode . UP : case d . ui . keyCode . RIGHT : case d . ui . keyCode . DOWN : case d . ui . keyCode . LEFT : k = false ; if ( ! a . _keySliding ) { a . _keySliding = true ; d ( this ) . addClass ( "ui-state-active" ) ; i = a . _start ( g , l ) ; if ( i === false ) return } break } m = a . options . step ; i = a . options . values && a . options . values . length ?
( h = a . values ( l ) ) : ( h = a . value ( ) ) ; switch ( g . keyCode ) { case d . ui . keyCode . HOME : h = a . _valueMin ( ) ; break ; case d . ui . keyCode . END : h = a . _valueMax ( ) ; break ; case d . ui . keyCode . PAGE _UP : h = a . _trimAlignValue ( i + ( a . _valueMax ( ) - a . _valueMin ( ) ) / 5 ) ; break ; case d . ui . keyCode . PAGE _DOWN : h = a . _trimAlignValue ( i - ( a . _valueMax ( ) - a . _valueMin ( ) ) / 5 ) ; break ; case d . ui . keyCode . UP : case d . ui . keyCode . RIGHT : if ( i === a . _valueMax ( ) ) return ; h = a . _trimAlignValue ( i + m ) ; break ; case d . ui . keyCode . DOWN : case d . ui . keyCode . LEFT : if ( i === a . _valueMin ( ) ) return ; h = a . _trimAlignValue ( i -
m ) ; break } a . _slide ( g , l , h ) ; return k } } ) . keyup ( function ( g ) { var k = d ( this ) . data ( "index.ui-slider-handle" ) ; if ( a . _keySliding ) { a . _keySliding = false ; a . _stop ( g , k ) ; a . _change ( g , k ) ; d ( this ) . removeClass ( "ui-state-active" ) } } ) ; this . _refreshValue ( ) ; this . _animateOff = false } , destroy : function ( ) { this . handles . remove ( ) ; this . range . remove ( ) ; this . element . removeClass ( "ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all" ) . removeData ( "slider" ) . unbind ( ".slider" ) ; this . _mouseDestroy ( ) ;
return this } , _mouseCapture : function ( a ) { var b = this . options , c , f , e , j , g ; if ( b . disabled ) return false ; this . elementSize = { width : this . element . outerWidth ( ) , height : this . element . outerHeight ( ) } ; this . elementOffset = this . element . offset ( ) ; c = this . _normValueFromMouse ( { x : a . pageX , y : a . pageY } ) ; f = this . _valueMax ( ) - this . _valueMin ( ) + 1 ; j = this ; this . handles . each ( function ( k ) { var l = Math . abs ( c - j . values ( k ) ) ; if ( f > l ) { f = l ; e = d ( this ) ; g = k } } ) ; if ( b . range === true && this . values ( 1 ) === b . min ) { g += 1 ; e = d ( this . handles [ g ] ) } if ( this . _start ( a , g ) === false ) return false ;
this . _mouseSliding = true ; j . _handleIndex = g ; e . addClass ( "ui-state-active" ) . focus ( ) ; b = e . offset ( ) ; this . _clickOffset = ! d ( a . target ) . parents ( ) . andSelf ( ) . is ( ".ui-slider-handle" ) ? { left : 0 , top : 0 } : { left : a . pageX - b . left - e . width ( ) / 2 , top : a . pageY - b . top - e . height ( ) / 2 - ( parseInt ( e . css ( "borderTopWidth" ) , 10 ) || 0 ) - ( parseInt ( e . css ( "borderBottomWidth" ) , 10 ) || 0 ) + ( parseInt ( e . css ( "marginTop" ) , 10 ) || 0 ) } ; this . handles . hasClass ( "ui-state-hover" ) || this . _slide ( a , g , c ) ; return this . _animateOff = true } , _mouseStart : function ( ) { return true } , _mouseDrag : function ( a ) { var b =
this . _normValueFromMouse ( { x : a . pageX , y : a . pageY } ) ; this . _slide ( a , this . _handleIndex , b ) ; return false } , _mouseStop : function ( a ) { this . handles . removeClass ( "ui-state-active" ) ; this . _mouseSliding = false ; this . _stop ( a , this . _handleIndex ) ; this . _change ( a , this . _handleIndex ) ; this . _clickOffset = this . _handleIndex = null ; return this . _animateOff = false } , _detectOrientation : function ( ) { this . orientation = this . options . orientation === "vertical" ? "vertical" : "horizontal" } , _normValueFromMouse : function ( a ) { var b ; if ( this . orientation === "horizontal" ) { b =
this . elementSize . width ; a = a . x - this . elementOffset . left - ( this . _clickOffset ? this . _clickOffset . left : 0 ) } else { b = this . elementSize . height ; a = a . y - this . elementOffset . top - ( this . _clickOffset ? this . _clickOffset . top : 0 ) } b = a / b ; if ( b > 1 ) b = 1 ; if ( b < 0 ) b = 0 ; if ( this . orientation === "vertical" ) b = 1 - b ; a = this . _valueMax ( ) - this . _valueMin ( ) ; return this . _trimAlignValue ( this . _valueMin ( ) + b * a ) } , _start : function ( a , b ) { var c = { handle : this . handles [ b ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value = this . values ( b ) ;
c . values = this . values ( ) } return this . _trigger ( "start" , a , c ) } , _slide : function ( a , b , c ) { var f ; if ( this . options . values && this . options . values . length ) { f = this . values ( b ? 0 : 1 ) ; if ( this . options . values . length === 2 && this . options . range === true && ( b === 0 && c > f || b === 1 && c < f ) ) c = f ; if ( c !== this . values ( b ) ) { f = this . values ( ) ; f [ b ] = c ; a = this . _trigger ( "slide" , a , { handle : this . handles [ b ] , value : c , values : f } ) ; this . values ( b ? 0 : 1 ) ; a !== false && this . values ( b , c , true ) } } else if ( c !== this . value ( ) ) { a = this . _trigger ( "slide" , a , { handle : this . handles [ b ] , value : c } ) ;
a !== false && this . value ( c ) } } , _stop : function ( a , b ) { var c = { handle : this . handles [ b ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value = this . values ( b ) ; c . values = this . values ( ) } this . _trigger ( "stop" , a , c ) } , _change : function ( a , b ) { if ( ! this . _keySliding && ! this . _mouseSliding ) { var c = { handle : this . handles [ b ] , value : this . value ( ) } ; if ( this . options . values && this . options . values . length ) { c . value = this . values ( b ) ; c . values = this . values ( ) } this . _trigger ( "change" , a , c ) } } , value : function ( a ) { if ( arguments . length ) { this . options . value =
this . _trimAlignValue ( a ) ; this . _refreshValue ( ) ; this . _change ( null , 0 ) } else return this . _value ( ) } , values : function ( a , b ) { var c , f , e ; if ( arguments . length > 1 ) { this . options . values [ a ] = this . _trimAlignValue ( b ) ; this . _refreshValue ( ) ; this . _change ( null , a ) } else if ( arguments . length ) if ( d . isArray ( arguments [ 0 ] ) ) { c = this . options . values ; f = arguments [ 0 ] ; for ( e = 0 ; e < c . length ; e += 1 ) { c [ e ] = this . _trimAlignValue ( f [ e ] ) ; this . _change ( null , e ) } this . _refreshValue ( ) } else return this . options . values && this . options . values . length ? this . _values ( a ) :
this . value ( ) ; else return this . _values ( ) } , _setOption : function ( a , b ) { var c , f = 0 ; if ( d . isArray ( this . options . values ) ) f = this . options . values . length ; d . Widget . prototype . _setOption . apply ( this , arguments ) ; switch ( a ) { case "disabled" : if ( b ) { this . handles . filter ( ".ui-state-focus" ) . blur ( ) ; this . handles . removeClass ( "ui-state-hover" ) ; this . handles . propAttr ( "disabled" , true ) ; this . element . addClass ( "ui-disabled" ) } else { this . handles . propAttr ( "disabled" , false ) ; this . element . removeClass ( "ui-disabled" ) } break ; case "orientation" : this . _detectOrientation ( ) ;
this . element . removeClass ( "ui-slider-horizontal ui-slider-vertical" ) . addClass ( "ui-slider-" + this . orientation ) ; this . _refreshValue ( ) ; break ; case "value" : this . _animateOff = true ; this . _refreshValue ( ) ; this . _change ( null , 0 ) ; this . _animateOff = false ; break ; case "values" : this . _animateOff = true ; this . _refreshValue ( ) ; for ( c = 0 ; c < f ; c += 1 ) this . _change ( null , c ) ; this . _animateOff = false ; break } } , _value : function ( ) { var a = this . options . value ; return a = this . _trimAlignValue ( a ) } , _values : function ( a ) { var b , c ; if ( arguments . length ) { b = this . options . values [ a ] ;
return b = this . _trimAlignValue ( b ) } else { b = this . options . values . slice ( ) ; for ( c = 0 ; c < b . length ; c += 1 ) b [ c ] = this . _trimAlignValue ( b [ c ] ) ; return b } } , _trimAlignValue : function ( a ) { if ( a <= this . _valueMin ( ) ) return this . _valueMin ( ) ; if ( a >= this . _valueMax ( ) ) return this . _valueMax ( ) ; var b = this . options . step > 0 ? this . options . step : 1 , c = ( a - this . _valueMin ( ) ) % b ; a = a - c ; if ( Math . abs ( c ) * 2 >= b ) a += c > 0 ? b : - b ; return parseFloat ( a . toFixed ( 5 ) ) } , _valueMin : function ( ) { return this . options . min } , _valueMax : function ( ) { return this . options . max } , _refreshValue : function ( ) { var a =
this . options . range , b = this . options , c = this , f = ! this . _animateOff ? b . animate : false , e , j = { } , g , k , l , i ; if ( this . options . values && this . options . values . length ) this . handles . each ( function ( h ) { e = ( c . values ( h ) - c . _valueMin ( ) ) / ( c . _valueMax ( ) - c . _valueMin ( ) ) * 100 ; j [ c . orientation === "horizontal" ? "left" : "bottom" ] = e + "%" ; d ( this ) . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( j , b . animate ) ; if ( c . options . range === true ) if ( c . orientation === "horizontal" ) { if ( h === 0 ) c . range . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( { left : e + "%" } , b . animate ) ; if ( h === 1 ) c . range [ f ? "animate" : "css" ] ( { width : e -
g + "%" } , { queue : false , duration : b . animate } ) } else { if ( h === 0 ) c . range . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( { bottom : e + "%" } , b . animate ) ; if ( h === 1 ) c . range [ f ? "animate" : "css" ] ( { height : e - g + "%" } , { queue : false , duration : b . animate } ) } g = e } ) ; else { k = this . value ( ) ; l = this . _valueMin ( ) ; i = this . _valueMax ( ) ; e = i !== l ? ( k - l ) / ( i - l ) * 100 : 0 ; j [ c . orientation === "horizontal" ? "left" : "bottom" ] = e + "%" ; this . handle . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( j , b . animate ) ; if ( a === "min" && this . orientation === "horizontal" ) this . range . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( { width : e + "%" } ,
b . animate ) ; if ( a === "max" && this . orientation === "horizontal" ) this . range [ f ? "animate" : "css" ] ( { width : 100 - e + "%" } , { queue : false , duration : b . animate } ) ; if ( a === "min" && this . orientation === "vertical" ) this . range . stop ( 1 , 1 ) [ f ? "animate" : "css" ] ( { height : e + "%" } , b . animate ) ; if ( a === "max" && this . orientation === "vertical" ) this . range [ f ? "animate" : "css" ] ( { height : 100 - e + "%" } , { queue : false , duration : b . animate } ) } } } ) ; d . extend ( d . ui . slider , { version : "1.8.15" } ) } ) ( jQuery ) ;
;
2011-08-09 15:16:18 +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 ) ;
/ * *
* jQuery Cookie plugin
*
* Copyright ( c ) 2010 Klaus Hartl ( stilbuero . de )
* Dual licensed under the MIT and GPL licenses :
* http : //www.opensource.org/licenses/mit-license.php
* http : //www.gnu.org/licenses/gpl.html
*
* /
jQuery . cookie = function ( key , value , options ) { if ( arguments . length > 1 && String ( value ) !== "[object Object]" ) { options = jQuery . extend ( { } , options ) ; if ( value === null || value === undefined ) { options . expires = - 1 ; }
if ( typeof options . expires === 'number' ) { var days = options . expires , t = options . expires = new Date ( ) ; t . setDate ( t . getDate ( ) + days ) ; }
value = String ( value ) ; return ( document . cookie = [ encodeURIComponent ( key ) , '=' , options . raw ? value : encodeURIComponent ( value ) , options . expires ? '; expires=' + options . expires . toUTCString ( ) : '' , options . path ? '; path=' + options . path : '' , options . domain ? '; domain=' + options . domain : '' , options . secure ? '; secure' : '' ] . join ( '' ) ) ; }
options = value || { } ; var result , decode = options . raw ? function ( s ) { return s ; } : decodeURIComponent ; return ( result = new RegExp ( '(?:^|; )' + encodeURIComponent ( key ) + '=([^;]*)' ) . exec ( document . cookie ) ) ? decode ( result [ 1 ] ) : null ; } ;
/ * *
* 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 ) ; } } ) ; }
function clearPlaceholdersBeforeSubmit ( form ) { form . find ( ':input[placeholder]' ) . each ( function ( ) { var el = $ ( this ) ; if ( el . val ( ) === el . attr ( 'placeholder' ) ) el . val ( '' ) ; } ) ; } } ) ( jQuery ) ;
/ * *
* jQuery . ScrollTo - Easy element scrolling using jQuery .
* Copyright ( c ) 2007 - 2009 Ariel Flesler - aflesler ( at ) gmail ( dot ) com | http : //flesler.blogspot.com
* Dual licensed under MIT and GPL .
* Date : 5 / 25 / 2009
* @ author Ariel Flesler
* @ version 1.4 . 2
*
* http : //flesler.blogspot.com/2007/10/jqueryscrollto.html
* /
; ( function ( d ) { var k = d . scrollTo = function ( a , i , e ) { d ( window ) . scrollTo ( a , i , e ) } ; k . defaults = { axis : 'xy' , duration : parseFloat ( d . fn . jquery ) >= 1.3 ? 0 : 1 } ; k . window = function ( a ) { return d ( window ) . _scrollable ( ) } ; d . fn . _scrollable = function ( ) { return this . map ( function ( ) { var a = this , i = ! a . nodeName || d . inArray ( a . nodeName . toLowerCase ( ) , [ 'iframe' , '#document' , 'html' , 'body' ] ) != - 1 ; if ( ! i ) return a ; var e = ( a . contentWindow || a ) . document || a . ownerDocument || a ; return d . browser . safari || e . compatMode == 'BackCompat' ? e . body : e . documentElement } ) } ; d . fn . scrollTo = function ( n , j , b ) { if ( typeof j == 'object' ) { b = j ; j = 0 } if ( typeof b == 'function' ) b = { onAfter : b } ; if ( n == 'max' ) n = 9e9 ; b = d . extend ( { } , k . defaults , b ) ; j = j || b . speed || b . duration ; b . queue = b . queue && b . axis . length > 1 ; if ( b . queue ) j /= 2 ; b . offset = p ( b . offset ) ; b . over = p ( b . over ) ; return this . _scrollable ( ) . each ( function ( ) { var q = this , r = d ( q ) , f = n , s , g = { } , u = r . is ( 'html,body' ) ; switch ( typeof f ) { case 'number' : case 'string' : if ( /^([+-]=)?\d+(\.\d+)?(px|%)?$/ . test ( f ) ) { f = p ( f ) ; break } f = d ( f , this ) ; case 'object' : if ( f . is || f . style ) s = ( f = d ( f ) ) . offset ( ) } d . each ( b . axis . split ( '' ) , function ( a , i ) { var e = i == 'x' ? 'Left' : 'Top' , h = e . toLowerCase ( ) , c = 'scroll' + e , l = q [ c ] , m = k . max ( q , i ) ; if ( s ) { g [ c ] = s [ h ] + ( u ? 0 : l - r . offset ( ) [ h ] ) ; if ( b . margin ) { g [ c ] -= parseInt ( f . css ( 'margin' + e ) ) || 0 ; g [ c ] -= parseInt ( f . css ( 'border' + e + 'Width' ) ) || 0 } g [ c ] += b . offset [ h ] || 0 ; if ( b . over [ h ] ) g [ c ] += f [ i == 'x' ? 'width' : 'height' ] ( ) * b . over [ h ] } else { var o = f [ h ] ; g [ c ] = o . slice && o . slice ( - 1 ) == '%' ? parseFloat ( o ) / 100 * m : o } if ( /^\d+$/ . test ( g [ c ] ) ) g [ c ] = g [ c ] <= 0 ? 0 : Math . min ( g [ c ] , m ) ; if ( ! a && b . queue ) { if ( l != g [ c ] ) t ( b . onAfterFirst ) ; delete g [ c ] } } ) ; t ( b . onAfter ) ; function t ( a ) { r . animate ( g , j , b . easing , a && function ( ) { a . call ( this , n , b ) } ) } } ) . end ( ) } ; k . max = function ( a , i ) { var e = i == 'x' ? 'Width' : 'Height' , h = 'scroll' + e ; if ( ! d ( a ) . is ( 'html,body' ) ) return a [ h ] - d ( a ) [ e . toLowerCase ( ) ] ( ) ; var c = 'client' + e , l = a . ownerDocument . documentElement , m = a . ownerDocument . body ; return Math . max ( l [ h ] , m [ h ] ) - Math . min ( l [ c ] , m [ c ] ) } ; function p ( a ) { return typeof a == 'object' ? a : { top : a , left : a } } } ) ( jQuery ) ;