source: geisa/web/resources/js/library/jquery-1.4.2.min.js @ 390

Last change on this file since 390 was 390, checked in by npipsl, 12 years ago

Création du projet GEISA

File size: 127.3 KB
Line 
1/*!
2 * jQuery JavaScript Library v1.4.2
3 * http://jquery.com/
4 *
5 * Copyright 2010, John Resig
6 * Dual licensed under the MIT or GPL Version 2 licenses.
7 * http://jquery.org/license
8 *
9 * Includes Sizzle.js
10 * http://sizzlejs.com/
11 * Copyright 2010, The Dojo Foundation
12 * Released under the MIT, BSD, and GPL Licenses.
13 *
14 * Date: Sat Feb 13 22:33:48 2010 -0500
15 */
16(function( A, w )
17{
18    function ma()
19    {
20        if( !c.isReady )
21        {
22            try
23            {
24                s.documentElement.doScroll( "left" )
25            }
26            catch( a )
27            {
28                setTimeout( ma, 1 );
29                return
30            }
31            c.ready()
32        }
33    }
34
35    function Qa( a, b )
36    {
37        b.src ? c.ajax( {url:b.src,async:false,dataType:"script"} ) : c.globalEval( b.text || b.textContent || b.innerHTML || "" );
38        b.parentNode && b.parentNode.removeChild( b )
39    }
40
41    function X( a, b, d, f, e, j )
42    {
43        var i = a.length;
44        if( typeof b === "object" )
45        {
46            for( var o in b )X( a, o, b[o], f, e, d );
47            return a
48        }
49        if( d !== w )
50        {
51            f = !j && f && c.isFunction( d );
52            for( o = 0; o < i; o++ )e( a[o], b, f ? d.call( a[o], o, e( a[o], b ) ) : d, j );
53            return a
54        }
55        return i ?
56                e( a[0], b ) : w
57    }
58
59    function J()
60    {
61        return(new Date).getTime()
62    }
63
64    function Y()
65    {
66        return false
67    }
68
69    function Z()
70    {
71        return true
72    }
73
74    function na( a, b, d )
75    {
76        d[0].type = a;
77        return c.event.handle.apply( b, d )
78    }
79
80    function oa( a )
81    {
82        var b,d = [],f = [],e = arguments,j,i,o,k,n,r;
83        i = c.data( this, "events" );
84        if( !(a.liveFired === this || !i || !i.live || a.button && a.type === "click") )
85        {
86            a.liveFired = this;
87            var u = i.live.slice( 0 );
88            for( k = 0; k < u.length; k++ )
89            {
90                i = u[k];
91                i.origType.replace( O, "" ) === a.type ? f.push( i.selector ) : u.splice( k--, 1 )
92            }
93            j = c( a.target ).closest( f, a.currentTarget );
94            n = 0;
95            for( r =
96                         j.length; n < r; n++ )for( k = 0; k < u.length; k++ )
97            {
98                i = u[k];
99                if( j[n].selector === i.selector )
100                {
101                    o = j[n].elem;
102                    f = null;
103                    if( i.preType === "mouseenter" || i.preType === "mouseleave" )f = c( a.relatedTarget ).closest( i.selector )[0];
104                    if( !f || f !== o )d.push( {elem:o,handleObj:i} )
105                }
106            }
107            n = 0;
108            for( r = d.length; n < r; n++ )
109            {
110                j = d[n];
111                a.currentTarget = j.elem;
112                a.data = j.handleObj.data;
113                a.handleObj = j.handleObj;
114                if( j.handleObj.origHandler.apply( j.elem, e ) === false )
115                {
116                    b = false;
117                    break
118                }
119            }
120            return b
121        }
122    }
123
124    function pa( a, b )
125    {
126        return"live." + (a && a !== "*" ? a + "." : "") + b.replace( /\./g, "`" ).replace( / /g,
127                "&" )
128    }
129
130    function qa( a )
131    {
132        return!a || !a.parentNode || a.parentNode.nodeType === 11
133    }
134
135    function ra( a, b )
136    {
137        var d = 0;
138        b.each( function()
139        {
140            if( this.nodeName === (a[d] && a[d].nodeName) )
141            {
142                var f = c.data( a[d++] ),e = c.data( this, f );
143                if( f = f && f.events )
144                {
145                    delete e.handle;
146                    e.events = {};
147                    for( var j in f )for( var i in f[j] )c.event.add( this, j, f[j][i], f[j][i].data )
148                }
149            }
150        } )
151    }
152
153    function sa( a, b, d )
154    {
155        var f,e,j;
156        b = b && b[0] ? b[0].ownerDocument || b[0] : s;
157        if( a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === s && !ta.test( a[0] ) && (c.support.checkClone || !ua.test( a[0] )) )
158        {
159            e =
160                    true;
161            if( j = c.fragments[a[0]] )if( j !== 1 )f = j
162        }
163        if( !f )
164        {
165            f = b.createDocumentFragment();
166            c.clean( a, b, f, d )
167        }
168        if( e )c.fragments[a[0]] = j ? f : 1;
169        return{fragment:f,cacheable:e}
170    }
171
172    function K( a, b )
173    {
174        var d = {};
175        c.each( va.concat.apply( [], va.slice( 0, b ) ), function()
176        {
177            d[this] = a
178        } );
179        return d
180    }
181
182    function wa( a )
183    {
184        return"scrollTo"in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false
185    }
186
187    var c = function( a, b )
188    {
189        return new c.fn.init( a, b )
190    },Ra = A.jQuery,Sa = A.$,s = A.document,T,Ta = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua = /^.[^:#\[\.,]*$/,Va = /\S/,
191            Wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,P = navigator.userAgent,xa = false,Q = [],L,$ = Object.prototype.toString,aa = Object.prototype.hasOwnProperty,ba = Array.prototype.push,R = Array.prototype.slice,ya = Array.prototype.indexOf;
192    c.fn = c.prototype = {init:function( a, b )
193    {
194        var d,f;
195        if( !a )return this;
196        if( a.nodeType )
197        {
198            this.context = this[0] = a;
199            this.length = 1;
200            return this
201        }
202        if( a === "body" && !b )
203        {
204            this.context = s;
205            this[0] = s.body;
206            this.selector = "body";
207            this.length = 1;
208            return this
209        }
210        if( typeof a === "string" )if( (d = Ta.exec( a )) &&
211                (d[1] || !b) )if( d[1] )
212        {
213            f = b ? b.ownerDocument || b : s;
214            if( a = Xa.exec( a ) )if( c.isPlainObject( b ) )
215            {
216                a = [s.createElement( a[1] )];
217                c.fn.attr.call( a, b, true )
218            }
219            else a = [f.createElement( a[1] )];
220            else
221            {
222                a = sa( [d[1]], [f] );
223                a = (a.cacheable ? a.fragment.cloneNode( true ) : a.fragment).childNodes
224            }
225            return c.merge( this, a )
226        }
227        else
228        {
229            if( b = s.getElementById( d[2] ) )
230            {
231                if( b.id !== d[2] )return T.find( a );
232                this.length = 1;
233                this[0] = b
234            }
235            this.context = s;
236            this.selector = a;
237            return this
238        } else if( !b && /^\w+$/.test( a ) )
239        {
240            this.selector = a;
241            this.context = s;
242            a = s.getElementsByTagName( a );
243            return c.merge( this,
244                    a )
245        }
246        else return!b || b.jquery ? (b || T).find( a ) : c( b ).find( a ); else if( c.isFunction( a ) )return T.ready( a );
247        if( a.selector !== w )
248        {
249            this.selector = a.selector;
250            this.context = a.context
251        }
252        return c.makeArray( a, this )
253    },selector:"",jquery:"1.4.2",length:0,size:function()
254    {
255        return this.length
256    },toArray:function()
257    {
258        return R.call( this, 0 )
259    },get:function( a )
260    {
261        return a == null ? this.toArray() : a < 0 ? this.slice( a )[0] : this[a]
262    },pushStack:function( a, b, d )
263    {
264        var f = c();
265        c.isArray( a ) ? ba.apply( f, a ) : c.merge( f, a );
266        f.prevObject = this;
267        f.context = this.context;
268        if( b ===
269                "find" )f.selector = this.selector + (this.selector ? " " : "") + d; else if( b )f.selector = this.selector + "." + b + "(" + d + ")";
270        return f
271    },each:function( a, b )
272    {
273        return c.each( this, a, b )
274    },ready:function( a )
275    {
276        c.bindReady();
277        if( c.isReady )a.call( s, c );
278        else Q && Q.push( a );
279        return this
280    },eq:function( a )
281    {
282        return a === -1 ? this.slice( a ) : this.slice( a, +a + 1 )
283    },first:function()
284    {
285        return this.eq( 0 )
286    },last:function()
287    {
288        return this.eq( -1 )
289    },slice:function()
290    {
291        return this.pushStack( R.apply( this, arguments ), "slice", R.call( arguments ).join( "," ) )
292    },map:function( a )
293    {
294        return this.pushStack( c.map( this,
295                function( b, d )
296                {
297                    return a.call( b, d, b )
298                } ) )
299    },end:function()
300    {
301        return this.prevObject || c( null )
302    },push:ba,sort:[].sort,splice:[].splice};
303    c.fn.init.prototype = c.fn;
304    c.extend = c.fn.extend = function()
305    {
306        var a = arguments[0] || {},b = 1,d = arguments.length,f = false,e,j,i,o;
307        if( typeof a === "boolean" )
308        {
309            f = a;
310            a = arguments[1] || {};
311            b = 2
312        }
313        if( typeof a !== "object" && !c.isFunction( a ) )a = {};
314        if( d === b )
315        {
316            a = this;
317            --b
318        }
319        for( ; b < d; b++ )if( (e = arguments[b]) != null )for( j in e )
320        {
321            i = a[j];
322            o = e[j];
323            if( a !== o )if( f && o && (c.isPlainObject( o ) || c.isArray( o )) )
324            {
325                i = i && (c.isPlainObject( i ) ||
326                        c.isArray( i )) ? i : c.isArray( o ) ? [] : {};
327                a[j] = c.extend( f, i, o )
328            } else if( o !== w )a[j] = o
329        }
330        return a
331    };
332    c.extend( {noConflict:function( a )
333    {
334        A.$ = Sa;
335        if( a )A.jQuery = Ra;
336        return c
337    },isReady:false,ready:function()
338    {
339        if( !c.isReady )
340        {
341            if( !s.body )return setTimeout( c.ready, 13 );
342            c.isReady = true;
343            if( Q )
344            {
345                for( var a,b = 0; a = Q[b++]; )a.call( s, c );
346                Q = null
347            }
348            c.fn.triggerHandler && c( s ).triggerHandler( "ready" )
349        }
350    },bindReady:function()
351    {
352        if( !xa )
353        {
354            xa = true;
355            if( s.readyState === "complete" )return c.ready();
356            if( s.addEventListener )
357            {
358                s.addEventListener( "DOMContentLoaded",
359                        L, false );
360                A.addEventListener( "load", c.ready, false )
361            } else if( s.attachEvent )
362            {
363                s.attachEvent( "onreadystatechange", L );
364                A.attachEvent( "onload", c.ready );
365                var a = false;
366                try
367                {
368                    a = A.frameElement == null
369                }
370                catch( b )
371                {
372                }
373                s.documentElement.doScroll && a && ma()
374            }
375        }
376    },isFunction:function( a )
377    {
378        return $.call( a ) === "[object Function]"
379    },isArray:function( a )
380    {
381        return $.call( a ) === "[object Array]"
382    },isPlainObject:function( a )
383    {
384        if( !a || $.call( a ) !== "[object Object]" || a.nodeType || a.setInterval )return false;
385        if( a.constructor && !aa.call( a, "constructor" ) && !aa.call( a.constructor.prototype,
386                "isPrototypeOf" ) )return false;
387        var b;
388        for( b in a );
389        return b === w || aa.call( a, b )
390    },isEmptyObject:function( a )
391    {
392        for( var b in a )return false;
393        return true
394    },error:function( a )
395    {
396        throw a;
397    },parseJSON:function( a )
398    {
399        if( typeof a !== "string" || !a )return null;
400        a = c.trim( a );
401        if( /^[\],:{}\s]*$/.test( a.replace( /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@" ).replace( /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]" ).replace( /(?:^|:|,)(?:\s*\[)+/g, "" ) ) )return A.JSON && A.JSON.parse ? A.JSON.parse( a ) : (new Function( "return " +
402                a ))();
403        else c.error( "Invalid JSON: " + a )
404    },noop:function()
405    {
406    },globalEval:function( a )
407    {
408        if( a && Va.test( a ) )
409        {
410            var b = s.getElementsByTagName( "head" )[0] || s.documentElement,d = s.createElement( "script" );
411            d.type = "text/javascript";
412            if( c.support.scriptEval )d.appendChild( s.createTextNode( a ) );
413            else d.text = a;
414            b.insertBefore( d, b.firstChild );
415            b.removeChild( d )
416        }
417    },nodeName:function( a, b )
418    {
419        return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
420    },each:function( a, b, d )
421    {
422        var f,e = 0,j = a.length,i = j === w || c.isFunction( a );
423        if( d )if( i )for( f in a )
424        {
425            if( b.apply( a[f],
426                    d ) === false )break
427        }
428        else for( ; e < j; )
429            {
430                if( b.apply( a[e++], d ) === false )break
431            } else if( i )for( f in a )
432        {
433            if( b.call( a[f], f, a[f] ) === false )break
434        }
435        else for( d = a[0]; e < j && b.call( d, e, d ) !== false; d = a[++e] );
436        return a
437    },trim:function( a )
438    {
439        return(a || "").replace( Wa, "" )
440    },makeArray:function( a, b )
441    {
442        b = b || [];
443        if( a != null )a.length == null || typeof a === "string" || c.isFunction( a ) || typeof a !== "function" && a.setInterval ? ba.call( b, a ) : c.merge( b, a );
444        return b
445    },inArray:function( a, b )
446    {
447        if( b.indexOf )return b.indexOf( a );
448        for( var d = 0,f = b.length; d < f; d++ )if( b[d] ===
449                a )return d;
450        return-1
451    },merge:function( a, b )
452    {
453        var d = a.length,f = 0;
454        if( typeof b.length === "number" )for( var e = b.length; f < e; f++ )a[d++] = b[f];
455        else for( ; b[f] !== w; )a[d++] = b[f++];
456        a.length = d;
457        return a
458    },grep:function( a, b, d )
459    {
460        for( var f = [],e = 0,j = a.length; e < j; e++ )!d !== !b( a[e], e ) && f.push( a[e] );
461        return f
462    },map:function( a, b, d )
463    {
464        for( var f = [],e,j = 0,i = a.length; j < i; j++ )
465        {
466            e = b( a[j], j, d );
467            if( e != null )f[f.length] = e
468        }
469        return f.concat.apply( [], f )
470    },guid:1,proxy:function( a, b, d )
471    {
472        if( arguments.length === 2 )if( typeof b === "string" )
473        {
474            d = a;
475            a = d[b];
476            b = w
477        } else if( b &&
478                !c.isFunction( b ) )
479        {
480            d = b;
481            b = w
482        }
483        if( !b && a )b = function()
484        {
485            return a.apply( d || this, arguments )
486        };
487        if( a )b.guid = a.guid = a.guid || b.guid || c.guid++;
488        return b
489    },uaMatch:function( a )
490    {
491        a = a.toLowerCase();
492        a = /(webkit)[ \/]([\w.]+)/.exec( a ) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec( a ) || /(msie) ([\w.]+)/.exec( a ) || !/compatible/.test( a ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( a ) || [];
493        return{browser:a[1] || "",version:a[2] || "0"}
494    },browser:{}} );
495    P = c.uaMatch( P );
496    if( P.browser )
497    {
498        c.browser[P.browser] = true;
499        c.browser.version = P.version
500    }
501    if( c.browser.webkit )c.browser.safari =
502            true;
503    if( ya )c.inArray = function( a, b )
504    {
505        return ya.call( b, a )
506    };
507    T = c( s );
508    if( s.addEventListener )L = function()
509    {
510        s.removeEventListener( "DOMContentLoaded", L, false );
511        c.ready()
512    }; else if( s.attachEvent )L = function()
513    {
514        if( s.readyState === "complete" )
515        {
516            s.detachEvent( "onreadystatechange", L );
517            c.ready()
518        }
519    };
520    (function()
521    {
522        c.support = {};
523        var a = s.documentElement,b = s.createElement( "script" ),d = s.createElement( "div" ),f = "script" + J();
524        d.style.display = "none";
525        d.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
526        var e = d.getElementsByTagName( "*" ),j = d.getElementsByTagName( "a" )[0];
527        if( !(!e || !e.length || !j) )
528        {
529            c.support = {leadingWhitespace:d.firstChild.nodeType === 3,tbody:!d.getElementsByTagName( "tbody" ).length,htmlSerialize:!!d.getElementsByTagName( "link" ).length,style:/red/.test( j.getAttribute( "style" ) ),hrefNormalized:j.getAttribute( "href" ) === "/a",opacity:/^0.55$/.test( j.style.opacity ),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName( "input" )[0].value === "on",optSelected:s.createElement( "select" ).appendChild( s.createElement( "option" ) ).selected,
530                parentNode:d.removeChild( d.appendChild( s.createElement( "div" ) ) ).parentNode === null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};
531            b.type = "text/javascript";
532            try
533            {
534                b.appendChild( s.createTextNode( "window." + f + "=1;" ) )
535            }
536            catch( i )
537            {
538            }
539            a.insertBefore( b, a.firstChild );
540            if( A[f] )
541            {
542                c.support.scriptEval = true;
543                delete A[f]
544            }
545            try
546            {
547                delete b.test
548            }
549            catch( o )
550            {
551                c.support.deleteExpando = false
552            }
553            a.removeChild( b );
554            if( d.attachEvent && d.fireEvent )
555            {
556                d.attachEvent( "onclick", function k()
557                {
558                    c.support.noCloneEvent =
559                            false;
560                    d.detachEvent( "onclick", k )
561                } );
562                d.cloneNode( true ).fireEvent( "onclick" )
563            }
564            d = s.createElement( "div" );
565            d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
566            a = s.createDocumentFragment();
567            a.appendChild( d.firstChild );
568            c.support.checkClone = a.cloneNode( true ).cloneNode( true ).lastChild.checked;
569            c( function()
570            {
571                var k = s.createElement( "div" );
572                k.style.width = k.style.paddingLeft = "1px";
573                s.body.appendChild( k );
574                c.boxModel = c.support.boxModel = k.offsetWidth === 2;
575                s.body.removeChild( k ).style.display = "none"
576            } );
577            a = function( k )
578            {
579                var n =
580                        s.createElement( "div" );
581                k = "on" + k;
582                var r = k in n;
583                if( !r )
584                {
585                    n.setAttribute( k, "return;" );
586                    r = typeof n[k] === "function"
587                }
588                return r
589            };
590            c.support.submitBubbles = a( "submit" );
591            c.support.changeBubbles = a( "change" );
592            a = b = d = e = j = null
593        }
594    })();
595    c.props = {"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};
596    var G = "jQuery" + J(),Ya = 0,za = {};
597    c.extend( {cache:{},expando:G,noData:{embed:true,object:true,
598        applet:true},data:function( a, b, d )
599    {
600        if( !(a.nodeName && c.noData[a.nodeName.toLowerCase()]) )
601        {
602            a = a == A ? za : a;
603            var f = a[G],e = c.cache;
604            if( !f && typeof b === "string" && d === w )return null;
605            f || (f = ++Ya);
606            if( typeof b === "object" )
607            {
608                a[G] = f;
609                e[f] = c.extend( true, {}, b )
610            } else if( !e[f] )
611            {
612                a[G] = f;
613                e[f] = {}
614            }
615            a = e[f];
616            if( d !== w )a[b] = d;
617            return typeof b === "string" ? a[b] : a
618        }
619    },removeData:function( a, b )
620    {
621        if( !(a.nodeName && c.noData[a.nodeName.toLowerCase()]) )
622        {
623            a = a == A ? za : a;
624            var d = a[G],f = c.cache,e = f[d];
625            if( b )
626            {
627                if( e )
628                {
629                    delete e[b];
630                    c.isEmptyObject( e ) && c.removeData( a )
631                }
632            }
633            else
634            {
635                if( c.support.deleteExpando )delete a[c.expando];
636                else a.removeAttribute && a.removeAttribute( c.expando );
637                delete f[d]
638            }
639        }
640    }} );
641    c.fn.extend( {data:function( a, b )
642    {
643        if( typeof a === "undefined" && this.length )return c.data( this[0] ); else if( typeof a === "object" )return this.each( function()
644        {
645            c.data( this, a )
646        } );
647        var d = a.split( "." );
648        d[1] = d[1] ? "." + d[1] : "";
649        if( b === w )
650        {
651            var f = this.triggerHandler( "getData" + d[1] + "!", [d[0]] );
652            if( f === w && this.length )f = c.data( this[0], a );
653            return f === w && d[1] ? this.data( d[0] ) : f
654        }
655        else return this.trigger( "setData" + d[1] + "!", [d[0],b] ).each( function()
656        {
657            c.data( this,
658                    a, b )
659        } )
660    },removeData:function( a )
661    {
662        return this.each( function()
663        {
664            c.removeData( this, a )
665        } )
666    }} );
667    c.extend( {queue:function( a, b, d )
668    {
669        if( a )
670        {
671            b = (b || "fx") + "queue";
672            var f = c.data( a, b );
673            if( !d )return f || [];
674            if( !f || c.isArray( d ) )f = c.data( a, b, c.makeArray( d ) );
675            else f.push( d );
676            return f
677        }
678    },dequeue:function( a, b )
679    {
680        b = b || "fx";
681        var d = c.queue( a, b ),f = d.shift();
682        if( f === "inprogress" )f = d.shift();
683        if( f )
684        {
685            b === "fx" && d.unshift( "inprogress" );
686            f.call( a, function()
687            {
688                c.dequeue( a, b )
689            } )
690        }
691    }} );
692    c.fn.extend( {queue:function( a, b )
693    {
694        if( typeof a !== "string" )
695        {
696            b = a;
697            a = "fx"
698        }
699        if( b ===
700                w )return c.queue( this[0], a );
701        return this.each( function()
702        {
703            var d = c.queue( this, a, b );
704            a === "fx" && d[0] !== "inprogress" && c.dequeue( this, a )
705        } )
706    },dequeue:function( a )
707    {
708        return this.each( function()
709        {
710            c.dequeue( this, a )
711        } )
712    },delay:function( a, b )
713    {
714        a = c.fx ? c.fx.speeds[a] || a : a;
715        b = b || "fx";
716        return this.queue( b, function()
717        {
718            var d = this;
719            setTimeout( function()
720            {
721                c.dequeue( d, b )
722            }, a )
723        } )
724    },clearQueue:function( a )
725    {
726        return this.queue( a || "fx", [] )
727    }} );
728    var Aa = /[\n\t]/g,ca = /\s+/,Za = /\r/g,$a = /href|src|style/,ab = /(button|input)/i,bb = /(button|input|object|select|textarea)/i,
729            cb = /^(a|area)$/i,Ba = /radio|checkbox/;
730    c.fn.extend( {attr:function( a, b )
731    {
732        return X( this, a, b, true, c.attr )
733    },removeAttr:function( a )
734    {
735        return this.each( function()
736        {
737            c.attr( this, a, "" );
738            this.nodeType === 1 && this.removeAttribute( a )
739        } )
740    },addClass:function( a )
741    {
742        if( c.isFunction( a ) )return this.each( function( n )
743        {
744            var r = c( this );
745            r.addClass( a.call( this, n, r.attr( "class" ) ) )
746        } );
747        if( a && typeof a === "string" )for( var b = (a || "").split( ca ),d = 0,f = this.length; d < f; d++ )
748        {
749            var e = this[d];
750            if( e.nodeType === 1 )if( e.className )
751            {
752                for( var j = " " + e.className + " ",
753                             i = e.className,o = 0,k = b.length; o < k; o++ )if( j.indexOf( " " + b[o] + " " ) < 0 )i += " " + b[o];
754                e.className = c.trim( i )
755            }
756            else e.className = a
757        }
758        return this
759    },removeClass:function( a )
760    {
761        if( c.isFunction( a ) )return this.each( function( k )
762        {
763            var n = c( this );
764            n.removeClass( a.call( this, k, n.attr( "class" ) ) )
765        } );
766        if( a && typeof a === "string" || a === w )for( var b = (a || "").split( ca ),d = 0,f = this.length; d < f; d++ )
767        {
768            var e = this[d];
769            if( e.nodeType === 1 && e.className )if( a )
770            {
771                for( var j = (" " + e.className + " ").replace( Aa, " " ),i = 0,o = b.length; i < o; i++ )j = j.replace( " " + b[i] + " ",
772                        " " );
773                e.className = c.trim( j )
774            }
775            else e.className = ""
776        }
777        return this
778    },toggleClass:function( a, b )
779    {
780        var d = typeof a,f = typeof b === "boolean";
781        if( c.isFunction( a ) )return this.each( function( e )
782        {
783            var j = c( this );
784            j.toggleClass( a.call( this, e, j.attr( "class" ), b ), b )
785        } );
786        return this.each( function()
787        {
788            if( d === "string" )for( var e,j = 0,i = c( this ),o = b,k = a.split( ca ); e = k[j++]; )
789            {
790                o = f ? o : !i.hasClass( e );
791                i[o ? "addClass" : "removeClass"]( e )
792            } else if( d === "undefined" || d === "boolean" )
793            {
794                this.className && c.data( this, "__className__", this.className );
795                this.className =
796                        this.className || a === false ? "" : c.data( this, "__className__" ) || ""
797            }
798        } )
799    },hasClass:function( a )
800    {
801        a = " " + a + " ";
802        for( var b = 0,d = this.length; b < d; b++ )if( (" " + this[b].className + " ").replace( Aa, " " ).indexOf( a ) > -1 )return true;
803        return false
804    },val:function( a )
805    {
806        if( a === w )
807        {
808            var b = this[0];
809            if( b )
810            {
811                if( c.nodeName( b, "option" ) )return(b.attributes.value || {}).specified ? b.value : b.text;
812                if( c.nodeName( b, "select" ) )
813                {
814                    var d = b.selectedIndex,f = [],e = b.options;
815                    b = b.type === "select-one";
816                    if( d < 0 )return null;
817                    var j = b ? d : 0;
818                    for( d = b ? d + 1 : e.length; j < d; j++ )
819                    {
820                        var i =
821                                e[j];
822                        if( i.selected )
823                        {
824                            a = c( i ).val();
825                            if( b )return a;
826                            f.push( a )
827                        }
828                    }
829                    return f
830                }
831                if( Ba.test( b.type ) && !c.support.checkOn )return b.getAttribute( "value" ) === null ? "on" : b.value;
832                return(b.value || "").replace( Za, "" )
833            }
834            return w
835        }
836        var o = c.isFunction( a );
837        return this.each( function( k )
838        {
839            var n = c( this ),r = a;
840            if( this.nodeType === 1 )
841            {
842                if( o )r = a.call( this, k, n.val() );
843                if( typeof r === "number" )r += "";
844                if( c.isArray( r ) && Ba.test( this.type ) )this.checked = c.inArray( n.val(), r ) >= 0; else if( c.nodeName( this, "select" ) )
845                {
846                    var u = c.makeArray( r );
847                    c( "option", this ).each( function()
848                    {
849                        this.selected =
850                                c.inArray( c( this ).val(), u ) >= 0
851                    } );
852                    if( !u.length )this.selectedIndex = -1
853                }
854                else this.value = r
855            }
856        } )
857    }} );
858    c.extend( {attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function( a, b, d, f )
859    {
860        if( !a || a.nodeType === 3 || a.nodeType === 8 )return w;
861        if( f && b in c.attrFn )return c( a )[b]( d );
862        f = a.nodeType !== 1 || !c.isXMLDoc( a );
863        var e = d !== w;
864        b = f && c.props[b] || b;
865        if( a.nodeType === 1 )
866        {
867            var j = $a.test( b );
868            if( b in a && f && !j )
869            {
870                if( e )
871                {
872                    b === "type" && ab.test( a.nodeName ) && a.parentNode && c.error( "type property can't be changed" );
873                    a[b] = d
874                }
875                if( c.nodeName( a, "form" ) && a.getAttributeNode( b ) )return a.getAttributeNode( b ).nodeValue;
876                if( b === "tabIndex" )return(b = a.getAttributeNode( "tabIndex" )) && b.specified ? b.value : bb.test( a.nodeName ) || cb.test( a.nodeName ) && a.href ? 0 : w;
877                return a[b]
878            }
879            if( !c.support.style && f && b === "style" )
880            {
881                if( e )a.style.cssText = "" + d;
882                return a.style.cssText
883            }
884            e && a.setAttribute( b, "" + d );
885            a = !c.support.hrefNormalized && f && j ? a.getAttribute( b, 2 ) : a.getAttribute( b );
886            return a === null ? w : a
887        }
888        return c.style( a, b, d )
889    }} );
890    var O = /\.(.*)$/,db = function( a )
891    {
892        return a.replace( /[^\w\s\.\|`]/g,
893                function( b )
894                {
895                    return"\\" + b
896                } )
897    };
898    c.event = {add:function( a, b, d, f )
899    {
900        if( !(a.nodeType === 3 || a.nodeType === 8) )
901        {
902            if( a.setInterval && a !== A && !a.frameElement )a = A;
903            var e,j;
904            if( d.handler )
905            {
906                e = d;
907                d = e.handler
908            }
909            if( !d.guid )d.guid = c.guid++;
910            if( j = c.data( a ) )
911            {
912                var i = j.events = j.events || {},o = j.handle;
913                if( !o )j.handle = o = function()
914                {
915                    return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply( o.elem, arguments ) : w
916                };
917                o.elem = a;
918                b = b.split( " " );
919                for( var k,n = 0,r; k = b[n++]; )
920                {
921                    j = e ? c.extend( {}, e ) : {handler:d,data:f};
922                    if( k.indexOf( "." ) > -1 )
923                    {
924                        r = k.split( "." );
925                        k = r.shift();
926                        j.namespace = r.slice( 0 ).sort().join( "." )
927                    }
928                    else
929                    {
930                        r = [];
931                        j.namespace = ""
932                    }
933                    j.type = k;
934                    j.guid = d.guid;
935                    var u = i[k],z = c.event.special[k] || {};
936                    if( !u )
937                    {
938                        u = i[k] = [];
939                        if( !z.setup || z.setup.call( a, f, r, o ) === false )if( a.addEventListener )a.addEventListener( k, o, false );
940                        else a.attachEvent && a.attachEvent( "on" + k, o )
941                    }
942                    if( z.add )
943                    {
944                        z.add.call( a, j );
945                        if( !j.handler.guid )j.handler.guid = d.guid
946                    }
947                    u.push( j );
948                    c.event.global[k] = true
949                }
950                a = null
951            }
952        }
953    },global:{},remove:function( a, b, d, f )
954    {
955        if( !(a.nodeType === 3 || a.nodeType === 8) )
956        {
957            var e,j = 0,i,o,k,n,r,u,z = c.data( a ),
958                    C = z && z.events;
959            if( z && C )
960            {
961                if( b && b.type )
962                {
963                    d = b.handler;
964                    b = b.type
965                }
966                if( !b || typeof b === "string" && b.charAt( 0 ) === "." )
967                {
968                    b = b || "";
969                    for( e in C )c.event.remove( a, e + b )
970                }
971                else
972                {
973                    for( b = b.split( " " ); e = b[j++]; )
974                    {
975                        n = e;
976                        i = e.indexOf( "." ) < 0;
977                        o = [];
978                        if( !i )
979                        {
980                            o = e.split( "." );
981                            e = o.shift();
982                            k = new RegExp( "(^|\\.)" + c.map( o.slice( 0 ).sort(), db ).join( "\\.(?:.*\\.)?" ) + "(\\.|$)" )
983                        }
984                        if( r = C[e] )if( d )
985                        {
986                            n = c.event.special[e] || {};
987                            for( B = f || 0; B < r.length; B++ )
988                            {
989                                u = r[B];
990                                if( d.guid === u.guid )
991                                {
992                                    if( i || k.test( u.namespace ) )
993                                    {
994                                        f == null && r.splice( B--, 1 );
995                                        n.remove && n.remove.call( a, u )
996                                    }
997                                    if( f !=
998                                            null )break
999                                }
1000                            }
1001                            if( r.length === 0 || f != null && r.length === 1 )
1002                            {
1003                                if( !n.teardown || n.teardown.call( a, o ) === false )Ca( a, e, z.handle );
1004                                delete C[e]
1005                            }
1006                        }
1007                        else for( var B = 0; B < r.length; B++ )
1008                            {
1009                                u = r[B];
1010                                if( i || k.test( u.namespace ) )
1011                                {
1012                                    c.event.remove( a, n, u.handler, B );
1013                                    r.splice( B--, 1 )
1014                                }
1015                            }
1016                    }
1017                    if( c.isEmptyObject( C ) )
1018                    {
1019                        if( b = z.handle )b.elem = null;
1020                        delete z.events;
1021                        delete z.handle;
1022                        c.isEmptyObject( z ) && c.removeData( a )
1023                    }
1024                }
1025            }
1026        }
1027    },trigger:function( a, b, d, f )
1028    {
1029        var e = a.type || a;
1030        if( !f )
1031        {
1032            a = typeof a === "object" ? a[G] ? a : c.extend( c.Event( e ), a ) : c.Event( e );
1033            if( e.indexOf( "!" ) >= 0 )
1034            {
1035                a.type =
1036                        e = e.slice( 0, -1 );
1037                a.exclusive = true
1038            }
1039            if( !d )
1040            {
1041                a.stopPropagation();
1042                c.event.global[e] && c.each( c.cache, function()
1043                {
1044                    this.events && this.events[e] && c.event.trigger( a, b, this.handle.elem )
1045                } )
1046            }
1047            if( !d || d.nodeType === 3 || d.nodeType === 8 )return w;
1048            a.result = w;
1049            a.target = d;
1050            b = c.makeArray( b );
1051            b.unshift( a )
1052        }
1053        a.currentTarget = d;
1054        (f = c.data( d, "handle" )) && f.apply( d, b );
1055        f = d.parentNode || d.ownerDocument;
1056        try
1057        {
1058            if( !(d && d.nodeName && c.noData[d.nodeName.toLowerCase()]) )if( d["on" + e] && d["on" + e].apply( d, b ) === false )a.result = false
1059        }
1060        catch( j )
1061        {
1062        }
1063        if( !a.isPropagationStopped() &&
1064                f )c.event.trigger( a, b, f, true ); else if( !a.isDefaultPrevented() )
1065        {
1066            f = a.target;
1067            var i,o = c.nodeName( f, "a" ) && e === "click",k = c.event.special[e] || {};
1068            if( (!k._default || k._default.call( d, a ) === false) && !o && !(f && f.nodeName && c.noData[f.nodeName.toLowerCase()]) )
1069            {
1070                try
1071                {
1072                    if( f[e] )
1073                    {
1074                        if( i = f["on" + e] )f["on" + e] = null;
1075                        c.event.triggered = true;
1076                        f[e]()
1077                    }
1078                }
1079                catch( n )
1080                {
1081                }
1082                if( i )f["on" + e] = i;
1083                c.event.triggered = false
1084            }
1085        }
1086    },handle:function( a )
1087    {
1088        var b,d,f,e;
1089        a = arguments[0] = c.event.fix( a || A.event );
1090        a.currentTarget = this;
1091        b = a.type.indexOf( "." ) < 0 && !a.exclusive;
1092        if( !b )
1093        {
1094            d = a.type.split( "." );
1095            a.type = d.shift();
1096            f = new RegExp( "(^|\\.)" + d.slice( 0 ).sort().join( "\\.(?:.*\\.)?" ) + "(\\.|$)" )
1097        }
1098        e = c.data( this, "events" );
1099        d = e[a.type];
1100        if( e && d )
1101        {
1102            d = d.slice( 0 );
1103            e = 0;
1104            for( var j = d.length; e < j; e++ )
1105            {
1106                var i = d[e];
1107                if( b || f.test( i.namespace ) )
1108                {
1109                    a.handler = i.handler;
1110                    a.data = i.data;
1111                    a.handleObj = i;
1112                    i = i.handler.apply( this, arguments );
1113                    if( i !== w )
1114                    {
1115                        a.result = i;
1116                        if( i === false )
1117                        {
1118                            a.preventDefault();
1119                            a.stopPropagation()
1120                        }
1121                    }
1122                    if( a.isImmediatePropagationStopped() )break
1123                }
1124            }
1125        }
1126        return a.result
1127    },props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split( " " ),
1128        fix:function( a )
1129        {
1130            if( a[G] )return a;
1131            var b = a;
1132            a = c.Event( b );
1133            for( var d = this.props.length,f; d; )
1134            {
1135                f = this.props[--d];
1136                a[f] = b[f]
1137            }
1138            if( !a.target )a.target = a.srcElement || s;
1139            if( a.target.nodeType === 3 )a.target = a.target.parentNode;
1140            if( !a.relatedTarget && a.fromElement )a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement;
1141            if( a.pageX == null && a.clientX != null )
1142            {
1143                b = s.documentElement;
1144                d = s.body;
1145                a.pageX = a.clientX + (b && b.scrollLeft || d && d.scrollLeft || 0) - (b && b.clientLeft || d && d.clientLeft || 0);
1146                a.pageY = a.clientY + (b && b.scrollTop ||
1147                        d && d.scrollTop || 0) - (b && b.clientTop || d && d.clientTop || 0)
1148            }
1149            if( !a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode) )a.which = a.charCode || a.keyCode;
1150            if( !a.metaKey && a.ctrlKey )a.metaKey = a.ctrlKey;
1151            if( !a.which && a.button !== w )a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0;
1152            return a
1153        },guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function( a )
1154        {
1155            c.event.add( this, a.origType, c.extend( {}, a, {handler:oa} ) )
1156        },remove:function( a )
1157        {
1158            var b = true,d = a.origType.replace( O, "" );
1159            c.each( c.data( this,
1160                    "events" ).live || [], function()
1161            {
1162                if( d === this.origType.replace( O, "" ) )return b = false
1163            } );
1164            b && c.event.remove( this, a.origType, oa )
1165        }},beforeunload:{setup:function( a, b, d )
1166        {
1167            if( this.setInterval )this.onbeforeunload = d;
1168            return false
1169        },teardown:function( a, b )
1170        {
1171            if( this.onbeforeunload === b )this.onbeforeunload = null
1172        }}}};
1173    var Ca = s.removeEventListener ? function( a, b, d )
1174    {
1175        a.removeEventListener( b, d, false )
1176    } : function( a, b, d )
1177    {
1178        a.detachEvent( "on" + b, d )
1179    };
1180    c.Event = function( a )
1181    {
1182        if( !this.preventDefault )return new c.Event( a );
1183        if( a && a.type )
1184        {
1185            this.originalEvent =
1186                    a;
1187            this.type = a.type
1188        }
1189        else this.type = a;
1190        this.timeStamp = J();
1191        this[G] = true
1192    };
1193    c.Event.prototype = {preventDefault:function()
1194    {
1195        this.isDefaultPrevented = Z;
1196        var a = this.originalEvent;
1197        if( a )
1198        {
1199            a.preventDefault && a.preventDefault();
1200            a.returnValue = false
1201        }
1202    },stopPropagation:function()
1203    {
1204        this.isPropagationStopped = Z;
1205        var a = this.originalEvent;
1206        if( a )
1207        {
1208            a.stopPropagation && a.stopPropagation();
1209            a.cancelBubble = true
1210        }
1211    },stopImmediatePropagation:function()
1212    {
1213        this.isImmediatePropagationStopped = Z;
1214        this.stopPropagation()
1215    },isDefaultPrevented:Y,isPropagationStopped:Y,
1216        isImmediatePropagationStopped:Y};
1217    var Da = function( a )
1218    {
1219        var b = a.relatedTarget;
1220        try
1221        {
1222            for( ; b && b !== this; )b = b.parentNode;
1223            if( b !== this )
1224            {
1225                a.type = a.data;
1226                c.event.handle.apply( this, arguments )
1227            }
1228        }
1229        catch( d )
1230        {
1231        }
1232    },Ea = function( a )
1233    {
1234        a.type = a.data;
1235        c.event.handle.apply( this, arguments )
1236    };
1237    c.each( {mouseenter:"mouseover",mouseleave:"mouseout"}, function( a, b )
1238    {
1239        c.event.special[a] = {setup:function( d )
1240        {
1241            c.event.add( this, b, d && d.selector ? Ea : Da, a )
1242        },teardown:function( d )
1243        {
1244            c.event.remove( this, b, d && d.selector ? Ea : Da )
1245        }}
1246    } );
1247    if( !c.support.submitBubbles )c.event.special.submit =
1248    {setup:function()
1249    {
1250        if( this.nodeName.toLowerCase() !== "form" )
1251        {
1252            c.event.add( this, "click.specialSubmit", function( a )
1253            {
1254                var b = a.target,d = b.type;
1255                if( (d === "submit" || d === "image") && c( b ).closest( "form" ).length )return na( "submit", this, arguments )
1256            } );
1257            c.event.add( this, "keypress.specialSubmit", function( a )
1258            {
1259                var b = a.target,d = b.type;
1260                if( (d === "text" || d === "password") && c( b ).closest( "form" ).length && a.keyCode === 13 )return na( "submit", this, arguments )
1261            } )
1262        }
1263        else return false
1264    },teardown:function()
1265    {
1266        c.event.remove( this, ".specialSubmit" )
1267    }};
1268    if( !c.support.changeBubbles )
1269    {
1270        var da = /textarea|input|select/i,ea,Fa = function( a )
1271        {
1272            var b = a.type,d = a.value;
1273            if( b === "radio" || b === "checkbox" )d = a.checked; else if( b === "select-multiple" )d = a.selectedIndex > -1 ? c.map( a.options,
1274                    function( f )
1275                    {
1276                        return f.selected
1277                    } ).join( "-" ) : ""; else if( a.nodeName.toLowerCase() === "select" )d = a.selectedIndex;
1278            return d
1279        },fa = function( a, b )
1280        {
1281            var d = a.target,f,e;
1282            if( !(!da.test( d.nodeName ) || d.readOnly) )
1283            {
1284                f = c.data( d, "_change_data" );
1285                e = Fa( d );
1286                if( a.type !== "focusout" || d.type !== "radio" )c.data( d, "_change_data",
1287                        e );
1288                if( !(f === w || e === f) )if( f != null || e )
1289                {
1290                    a.type = "change";
1291                    return c.event.trigger( a, b, d )
1292                }
1293            }
1294        };
1295        c.event.special.change = {filters:{focusout:fa,click:function( a )
1296        {
1297            var b = a.target,d = b.type;
1298            if( d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select" )return fa.call( this, a )
1299        },keydown:function( a )
1300        {
1301            var b = a.target,d = b.type;
1302            if( a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (d === "checkbox" || d === "radio") || d === "select-multiple" )return fa.call( this, a )
1303        },beforeactivate:function( a )
1304        {
1305            a = a.target;
1306            c.data( a,
1307                    "_change_data", Fa( a ) )
1308        }},setup:function()
1309        {
1310            if( this.type === "file" )return false;
1311            for( var a in ea )c.event.add( this, a + ".specialChange", ea[a] );
1312            return da.test( this.nodeName )
1313        },teardown:function()
1314        {
1315            c.event.remove( this, ".specialChange" );
1316            return da.test( this.nodeName )
1317        }};
1318        ea = c.event.special.change.filters
1319    }
1320    s.addEventListener && c.each( {focus:"focusin",blur:"focusout"}, function( a, b )
1321    {
1322        function d( f )
1323        {
1324            f = c.event.fix( f );
1325            f.type = b;
1326            return c.event.handle.call( this, f )
1327        }
1328
1329        c.event.special[b] = {setup:function()
1330        {
1331            this.addEventListener( a,
1332                    d, true )
1333        },teardown:function()
1334        {
1335            this.removeEventListener( a, d, true )
1336        }}
1337    } );
1338    c.each( ["bind","one"], function( a, b )
1339    {
1340        c.fn[b] = function( d, f, e )
1341        {
1342            if( typeof d === "object" )
1343            {
1344                for( var j in d )this[b]( j, f, d[j], e );
1345                return this
1346            }
1347            if( c.isFunction( f ) )
1348            {
1349                e = f;
1350                f = w
1351            }
1352            var i = b === "one" ? c.proxy( e, function( k )
1353            {
1354                c( this ).unbind( k, i );
1355                return e.apply( this, arguments )
1356            } ) : e;
1357            if( d === "unload" && b !== "one" )this.one( d, f, e );
1358            else
1359            {
1360                j = 0;
1361                for( var o = this.length; j < o; j++ )c.event.add( this[j], d, i, f )
1362            }
1363            return this
1364        }
1365    } );
1366    c.fn.extend( {unbind:function( a, b )
1367    {
1368        if( typeof a === "object" &&
1369                !a.preventDefault )for( var d in a )this.unbind( d, a[d] );
1370        else
1371        {
1372            d = 0;
1373            for( var f = this.length; d < f; d++ )c.event.remove( this[d], a, b )
1374        }
1375        return this
1376    },delegate:function( a, b, d, f )
1377    {
1378        return this.live( b, d, f, a )
1379    },undelegate:function( a, b, d )
1380    {
1381        return arguments.length === 0 ? this.unbind( "live" ) : this.die( b, null, d, a )
1382    },trigger:function( a, b )
1383    {
1384        return this.each( function()
1385        {
1386            c.event.trigger( a, b, this )
1387        } )
1388    },triggerHandler:function( a, b )
1389    {
1390        if( this[0] )
1391        {
1392            a = c.Event( a );
1393            a.preventDefault();
1394            a.stopPropagation();
1395            c.event.trigger( a, b, this[0] );
1396            return a.result
1397        }
1398    },
1399        toggle:function( a )
1400        {
1401            for( var b = arguments,d = 1; d < b.length; )c.proxy( a, b[d++] );
1402            return this.click( c.proxy( a, function( f )
1403            {
1404                var e = (c.data( this, "lastToggle" + a.guid ) || 0) % d;
1405                c.data( this, "lastToggle" + a.guid, e + 1 );
1406                f.preventDefault();
1407                return b[e].apply( this, arguments ) || false
1408            } ) )
1409        },hover:function( a, b )
1410        {
1411            return this.mouseenter( a ).mouseleave( b || a )
1412        }} );
1413    var Ga = {focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};
1414    c.each( ["live","die"], function( a, b )
1415    {
1416        c.fn[b] = function( d, f, e, j )
1417        {
1418            var i,o = 0,k,n,r = j || this.selector,
1419                    u = j ? this : c( this.context );
1420            if( c.isFunction( f ) )
1421            {
1422                e = f;
1423                f = w
1424            }
1425            for( d = (d || "").split( " " ); (i = d[o++]) != null; )
1426            {
1427                j = O.exec( i );
1428                k = "";
1429                if( j )
1430                {
1431                    k = j[0];
1432                    i = i.replace( O, "" )
1433                }
1434                if( i === "hover" )d.push( "mouseenter" + k, "mouseleave" + k );
1435                else
1436                {
1437                    n = i;
1438                    if( i === "focus" || i === "blur" )
1439                    {
1440                        d.push( Ga[i] + k );
1441                        i += k
1442                    }
1443                    else i = (Ga[i] || i) + k;
1444                    b === "live" ? u.each( function()
1445                    {
1446                        c.event.add( this, pa( i, r ), {data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n} )
1447                    } ) : u.unbind( pa( i, r ), e )
1448                }
1449            }
1450            return this
1451        }
1452    } );
1453    c.each( "blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split( " " ),
1454            function( a, b )
1455            {
1456                c.fn[b] = function( d )
1457                {
1458                    return d ? this.bind( b, d ) : this.trigger( b )
1459                };
1460                if( c.attrFn )c.attrFn[b] = true
1461            } );
1462    A.attachEvent && !A.addEventListener && A.attachEvent( "onunload", function()
1463    {
1464        for( var a in c.cache )if( c.cache[a].handle )try
1465        {
1466            c.event.remove( c.cache[a].handle.elem )
1467        }
1468        catch( b )
1469        {
1470        }
1471    } );
1472    (function()
1473    {
1474        function a( g )
1475        {
1476            for( var h = "",l,m = 0; g[m]; m++ )
1477            {
1478                l = g[m];
1479                if( l.nodeType === 3 || l.nodeType === 4 )h += l.nodeValue; else if( l.nodeType !== 8 )h += a( l.childNodes )
1480            }
1481            return h
1482        }
1483
1484        function b( g, h, l, m, q, p )
1485        {
1486            q = 0;
1487            for( var v = m.length; q < v; q++ )
1488            {
1489                var t = m[q];
1490                if( t )
1491                {
1492                    t = t[g];
1493                    for( var y = false; t; )
1494                    {
1495                        if( t.sizcache === l )
1496                        {
1497                            y = m[t.sizset];
1498                            break
1499                        }
1500                        if( t.nodeType === 1 && !p )
1501                        {
1502                            t.sizcache = l;
1503                            t.sizset = q
1504                        }
1505                        if( t.nodeName.toLowerCase() === h )
1506                        {
1507                            y = t;
1508                            break
1509                        }
1510                        t = t[g]
1511                    }
1512                    m[q] = y
1513                }
1514            }
1515        }
1516
1517        function d( g, h, l, m, q, p )
1518        {
1519            q = 0;
1520            for( var v = m.length; q < v; q++ )
1521            {
1522                var t = m[q];
1523                if( t )
1524                {
1525                    t = t[g];
1526                    for( var y = false; t; )
1527                    {
1528                        if( t.sizcache === l )
1529                        {
1530                            y = m[t.sizset];
1531                            break
1532                        }
1533                        if( t.nodeType === 1 )
1534                        {
1535                            if( !p )
1536                            {
1537                                t.sizcache = l;
1538                                t.sizset = q
1539                            }
1540                            if( typeof h !== "string" )
1541                            {
1542                                if( t === h )
1543                                {
1544                                    y = true;
1545                                    break
1546                                }
1547                            } else if( k.filter( h, [t] ).length > 0 )
1548                            {
1549                                y = t;
1550                                break
1551                            }
1552                        }
1553                        t = t[g]
1554                    }
1555                    m[q] = y
1556                }
1557            }
1558        }
1559
1560        var f = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
1561                e = 0,j = Object.prototype.toString,i = false,o = true;
1562        [0,0].sort( function()
1563        {
1564            o = false;
1565            return 0
1566        } );
1567        var k = function( g, h, l, m )
1568        {
1569            l = l || [];
1570            var q = h = h || s;
1571            if( h.nodeType !== 1 && h.nodeType !== 9 )return[];
1572            if( !g || typeof g !== "string" )return l;
1573            for( var p = [],v,t,y,S,H = true,M = x( h ),I = g; (f.exec( "" ),v = f.exec( I )) !== null; )
1574            {
1575                I = v[3];
1576                p.push( v[1] );
1577                if( v[2] )
1578                {
1579                    S = v[3];
1580                    break
1581                }
1582            }
1583            if( p.length > 1 && r.exec( g ) )if( p.length === 2 && n.relative[p[0]] )t = ga( p[0] + p[1], h );
1584            else for( t = n.relative[p[0]] ? [h] : k( p.shift(), h ); p.length; )
1585                {
1586                    g = p.shift();
1587                    if( n.relative[g] )g += p.shift();
1588                    t = ga( g, t )
1589                }
1590            else
1591            {
1592                if( !m && p.length > 1 && h.nodeType === 9 && !M && n.match.ID.test( p[0] ) && !n.match.ID.test( p[p.length - 1] ) )
1593                {
1594                    v = k.find( p.shift(), h, M );
1595                    h = v.expr ? k.filter( v.expr, v.set )[0] : v.set[0]
1596                }
1597                if( h )
1598                {
1599                    v = m ? {expr:p.pop(),set:z( m )} : k.find( p.pop(), p.length === 1 && (p[0] === "~" || p[0] === "+") && h.parentNode ? h.parentNode : h, M );
1600                    t = v.expr ? k.filter( v.expr, v.set ) : v.set;
1601                    if( p.length > 0 )y = z( t );
1602                    else H = false;
1603                    for( ; p.length; )
1604                    {
1605                        var D = p.pop();
1606                        v = D;
1607                        if( n.relative[D] )v = p.pop();
1608                        else D = "";
1609                        if( v == null )v = h;
1610                        n.relative[D]( y, v, M )
1611                    }
1612                }
1613                else y = []
1614            }
1615            y || (y = t);
1616            y || k.error( D ||
1617                    g );
1618            if( j.call( y ) === "[object Array]" )if( H )if( h && h.nodeType === 1 )for( g = 0; y[g] != null; g++ )
1619            {
1620                if( y[g] && (y[g] === true || y[g].nodeType === 1 && E( h, y[g] )) )l.push( t[g] )
1621            }
1622            else for( g = 0; y[g] != null; g++ )y[g] && y[g].nodeType === 1 && l.push( t[g] );
1623            else l.push.apply( l, y );
1624            else z( y, l );
1625            if( S )
1626            {
1627                k( S, q, l, m );
1628                k.uniqueSort( l )
1629            }
1630            return l
1631        };
1632        k.uniqueSort = function( g )
1633        {
1634            if( B )
1635            {
1636                i = o;
1637                g.sort( B );
1638                if( i )for( var h = 1; h < g.length; h++ )g[h] === g[h - 1] && g.splice( h--, 1 )
1639            }
1640            return g
1641        };
1642        k.matches = function( g, h )
1643        {
1644            return k( g, null, null, h )
1645        };
1646        k.find = function( g, h, l )
1647        {
1648            var m,q;
1649            if( !g )return[];
1650            for( var p = 0,v = n.order.length; p < v; p++ )
1651            {
1652                var t = n.order[p];
1653                if( q = n.leftMatch[t].exec( g ) )
1654                {
1655                    var y = q[1];
1656                    q.splice( 1, 1 );
1657                    if( y.substr( y.length - 1 ) !== "\\" )
1658                    {
1659                        q[1] = (q[1] || "").replace( /\\/g, "" );
1660                        m = n.find[t]( q, h, l );
1661                        if( m != null )
1662                        {
1663                            g = g.replace( n.match[t], "" );
1664                            break
1665                        }
1666                    }
1667                }
1668            }
1669            m || (m = h.getElementsByTagName( "*" ));
1670            return{set:m,expr:g}
1671        };
1672        k.filter = function( g, h, l, m )
1673        {
1674            for( var q = g,p = [],v = h,t,y,S = h && h[0] && x( h[0] ); g && h.length; )
1675            {
1676                for( var H in n.filter )if( (t = n.leftMatch[H].exec( g )) != null && t[2] )
1677                {
1678                    var M = n.filter[H],I,D;
1679                    D = t[1];
1680                    y = false;
1681                    t.splice( 1, 1 );
1682                    if( D.substr( D.length -
1683                            1 ) !== "\\" )
1684                    {
1685                        if( v === p )p = [];
1686                        if( n.preFilter[H] )if( t = n.preFilter[H]( t, v, l, p, m, S ) )
1687                        {
1688                            if( t === true )continue
1689                        }
1690                        else y = I = true;
1691                        if( t )for( var U = 0; (D = v[U]) != null; U++ )if( D )
1692                        {
1693                            I = M( D, t, U, v );
1694                            var Ha = m ^ !!I;
1695                            if( l && I != null )if( Ha )y = true;
1696                            else v[U] = false; else if( Ha )
1697                            {
1698                                p.push( D );
1699                                y = true
1700                            }
1701                        }
1702                        if( I !== w )
1703                        {
1704                            l || (v = p);
1705                            g = g.replace( n.match[H], "" );
1706                            if( !y )return[];
1707                            break
1708                        }
1709                    }
1710                }
1711                if( g === q )if( y == null )k.error( g );
1712                else break;
1713                q = g
1714            }
1715            return v
1716        };
1717        k.error = function( g )
1718        {
1719            throw"Syntax error, unrecognized expression: " + g;
1720        };
1721        var n = k.selectors = {order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
1722            CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function( g )
1723        {
1724            return g.getAttribute( "href" )
1725        }},
1726            relative:{"+":function( g, h )
1727            {
1728                var l = typeof h === "string",m = l && !/\W/.test( h );
1729                l = l && !m;
1730                if( m )h = h.toLowerCase();
1731                m = 0;
1732                for( var q = g.length,p; m < q; m++ )if( p = g[m] )
1733                {
1734                    for( ; (p = p.previousSibling) && p.nodeType !== 1; );
1735                    g[m] = l || p && p.nodeName.toLowerCase() === h ? p || false : p === h
1736                }
1737                l && k.filter( h, g, true )
1738            },">":function( g, h )
1739            {
1740                var l = typeof h === "string";
1741                if( l && !/\W/.test( h ) )
1742                {
1743                    h = h.toLowerCase();
1744                    for( var m = 0,q = g.length; m < q; m++ )
1745                    {
1746                        var p = g[m];
1747                        if( p )
1748                        {
1749                            l = p.parentNode;
1750                            g[m] = l.nodeName.toLowerCase() === h ? l : false
1751                        }
1752                    }
1753                }
1754                else
1755                {
1756                    m = 0;
1757                    for( q = g.length; m < q; m++ )if( p = g[m] )g[m] =
1758                            l ? p.parentNode : p.parentNode === h;
1759                    l && k.filter( h, g, true )
1760                }
1761            },"":function( g, h, l )
1762            {
1763                var m = e++,q = d;
1764                if( typeof h === "string" && !/\W/.test( h ) )
1765                {
1766                    var p = h = h.toLowerCase();
1767                    q = b
1768                }
1769                q( "parentNode", h, m, g, p, l )
1770            },"~":function( g, h, l )
1771            {
1772                var m = e++,q = d;
1773                if( typeof h === "string" && !/\W/.test( h ) )
1774                {
1775                    var p = h = h.toLowerCase();
1776                    q = b
1777                }
1778                q( "previousSibling", h, m, g, p, l )
1779            }},find:{ID:function( g, h, l )
1780            {
1781                if( typeof h.getElementById !== "undefined" && !l )return(g = h.getElementById( g[1] )) ? [g] : []
1782            },NAME:function( g, h )
1783            {
1784                if( typeof h.getElementsByName !== "undefined" )
1785                {
1786                    var l = [];
1787                    h = h.getElementsByName( g[1] );
1788                    for( var m = 0,q = h.length; m < q; m++ )h[m].getAttribute( "name" ) === g[1] && l.push( h[m] );
1789                    return l.length === 0 ? null : l
1790                }
1791            },TAG:function( g, h )
1792            {
1793                return h.getElementsByTagName( g[1] )
1794            }},preFilter:{CLASS:function( g, h, l, m, q, p )
1795            {
1796                g = " " + g[1].replace( /\\/g, "" ) + " ";
1797                if( p )return g;
1798                p = 0;
1799                for( var v; (v = h[p]) != null; p++ )if( v )if( q ^ (v.className && (" " + v.className + " ").replace( /[\t\n]/g, " " ).indexOf( g ) >= 0) )l || m.push( v ); else if( l )h[p] = false;
1800                return false
1801            },ID:function( g )
1802            {
1803                return g[1].replace( /\\/g, "" )
1804            },TAG:function( g )
1805            {
1806                return g[1].toLowerCase()
1807            },
1808                CHILD:function( g )
1809                {
1810                    if( g[1] === "nth" )
1811                    {
1812                        var h = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test( g[2] ) && "0n+" + g[2] || g[2] );
1813                        g[2] = h[1] + (h[2] || 1) - 0;
1814                        g[3] = h[3] - 0
1815                    }
1816                    g[0] = e++;
1817                    return g
1818                },ATTR:function( g, h, l, m, q, p )
1819                {
1820                    h = g[1].replace( /\\/g, "" );
1821                    if( !p && n.attrMap[h] )g[1] = n.attrMap[h];
1822                    if( g[2] === "~=" )g[4] = " " + g[4] + " ";
1823                    return g
1824                },PSEUDO:function( g, h, l, m, q )
1825                {
1826                    if( g[1] === "not" )if( (f.exec( g[3] ) || "").length > 1 || /^\w/.test( g[3] ) )g[3] = k( g[3], null, null, h );
1827                    else
1828                    {
1829                        g = k.filter( g[3], h, l, true ^ q );
1830                        l || m.push.apply( m,
1831                                g );
1832                        return false
1833                    } else if( n.match.POS.test( g[0] ) || n.match.CHILD.test( g[0] ) )return true;
1834                    return g
1835                },POS:function( g )
1836                {
1837                    g.unshift( true );
1838                    return g
1839                }},filters:{enabled:function( g )
1840            {
1841                return g.disabled === false && g.type !== "hidden"
1842            },disabled:function( g )
1843            {
1844                return g.disabled === true
1845            },checked:function( g )
1846            {
1847                return g.checked === true
1848            },selected:function( g )
1849            {
1850                return g.selected === true
1851            },parent:function( g )
1852            {
1853                return!!g.firstChild
1854            },empty:function( g )
1855            {
1856                return!g.firstChild
1857            },has:function( g, h, l )
1858            {
1859                return!!k( l[3], g ).length
1860            },header:function( g )
1861            {
1862                return/h\d/i.test( g.nodeName )
1863            },
1864                text:function( g )
1865                {
1866                    return"text" === g.type
1867                },radio:function( g )
1868                {
1869                    return"radio" === g.type
1870                },checkbox:function( g )
1871                {
1872                    return"checkbox" === g.type
1873                },file:function( g )
1874                {
1875                    return"file" === g.type
1876                },password:function( g )
1877                {
1878                    return"password" === g.type
1879                },submit:function( g )
1880                {
1881                    return"submit" === g.type
1882                },image:function( g )
1883                {
1884                    return"image" === g.type
1885                },reset:function( g )
1886                {
1887                    return"reset" === g.type
1888                },button:function( g )
1889                {
1890                    return"button" === g.type || g.nodeName.toLowerCase() === "button"
1891                },input:function( g )
1892                {
1893                    return/input|select|textarea|button/i.test( g.nodeName )
1894                }},
1895            setFilters:{first:function( g, h )
1896            {
1897                return h === 0
1898            },last:function( g, h, l, m )
1899            {
1900                return h === m.length - 1
1901            },even:function( g, h )
1902            {
1903                return h % 2 === 0
1904            },odd:function( g, h )
1905            {
1906                return h % 2 === 1
1907            },lt:function( g, h, l )
1908            {
1909                return h < l[3] - 0
1910            },gt:function( g, h, l )
1911            {
1912                return h > l[3] - 0
1913            },nth:function( g, h, l )
1914            {
1915                return l[3] - 0 === h
1916            },eq:function( g, h, l )
1917            {
1918                return l[3] - 0 === h
1919            }},filter:{PSEUDO:function( g, h, l, m )
1920            {
1921                var q = h[1],p = n.filters[q];
1922                if( p )return p( g, l, h, m ); else if( q === "contains" )return(g.textContent || g.innerText || a( [g] ) || "").indexOf( h[3] ) >= 0; else if( q === "not" )
1923                {
1924                    h =
1925                            h[3];
1926                    l = 0;
1927                    for( m = h.length; l < m; l++ )if( h[l] === g )return false;
1928                    return true
1929                }
1930                else k.error( "Syntax error, unrecognized expression: " + q )
1931            },CHILD:function( g, h )
1932            {
1933                var l = h[1],m = g;
1934                switch( l )
1935                {case "only":case "first":for( ; m = m.previousSibling; )if( m.nodeType === 1 )return false;if( l === "first" )return true;m = g;case "last":for( ; m = m.nextSibling; )if( m.nodeType === 1 )return false;return true;case "nth":l = h[2];var q = h[3];if( l === 1 && q === 0 )return true;h = h[0];var p = g.parentNode;if( p && (p.sizcache !== h || !g.nodeIndex) )
1936                {
1937                    var v = 0;
1938                    for( m = p.firstChild; m; m =
1939                            m.nextSibling )if( m.nodeType === 1 )m.nodeIndex = ++v;
1940                    p.sizcache = h
1941                }g = g.nodeIndex - q;return l === 0 ? g === 0 : g % l === 0 && g / l >= 0
1942                }
1943            },ID:function( g, h )
1944            {
1945                return g.nodeType === 1 && g.getAttribute( "id" ) === h
1946            },TAG:function( g, h )
1947            {
1948                return h === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() === h
1949            },CLASS:function( g, h )
1950            {
1951                return(" " + (g.className || g.getAttribute( "class" )) + " ").indexOf( h ) > -1
1952            },ATTR:function( g, h )
1953            {
1954                var l = h[1];
1955                g = n.attrHandle[l] ? n.attrHandle[l]( g ) : g[l] != null ? g[l] : g.getAttribute( l );
1956                l = g + "";
1957                var m = h[2];
1958                h = h[4];
1959                return g == null ? m === "!=" : m ===
1960                        "=" ? l === h : m === "*=" ? l.indexOf( h ) >= 0 : m === "~=" ? (" " + l + " ").indexOf( h ) >= 0 : !h ? l && g !== false : m === "!=" ? l !== h : m === "^=" ? l.indexOf( h ) === 0 : m === "$=" ? l.substr( l.length - h.length ) === h : m === "|=" ? l === h || l.substr( 0, h.length + 1 ) === h + "-" : false
1961            },POS:function( g, h, l, m )
1962            {
1963                var q = n.setFilters[h[2]];
1964                if( q )return q( g, l, h, m )
1965            }}},r = n.match.POS;
1966        for( var u in n.match )
1967        {
1968            n.match[u] = new RegExp( n.match[u].source + /(?![^\[]*\])(?![^\(]*\))/.source );
1969            n.leftMatch[u] = new RegExp( /(^(?:.|\r|\n)*?)/.source + n.match[u].source.replace( /\\(\d+)/g, function( g, h )
1970            {
1971                return"\\" + (h - 0 + 1)
1972            } ) )
1973        }
1974        var z = function( g, h )
1975        {
1976            g = Array.prototype.slice.call( g, 0 );
1977            if( h )
1978            {
1979                h.push.apply( h, g );
1980                return h
1981            }
1982            return g
1983        };
1984        try
1985        {
1986            Array.prototype.slice.call( s.documentElement.childNodes, 0 )
1987        }
1988        catch( C )
1989        {
1990            z = function( g, h )
1991            {
1992                h = h || [];
1993                if( j.call( g ) === "[object Array]" )Array.prototype.push.apply( h, g ); else if( typeof g.length === "number" )for( var l = 0,m = g.length; l < m; l++ )h.push( g[l] );
1994                else for( l = 0; g[l]; l++ )h.push( g[l] );
1995                return h
1996            }
1997        }
1998        var B;
1999        if( s.documentElement.compareDocumentPosition )B = function( g, h )
2000        {
2001            if( !g.compareDocumentPosition ||
2002                    !h.compareDocumentPosition )
2003            {
2004                if( g == h )i = true;
2005                return g.compareDocumentPosition ? -1 : 1
2006            }
2007            g = g.compareDocumentPosition( h ) & 4 ? -1 : g === h ? 0 : 1;
2008            if( g === 0 )i = true;
2009            return g
2010        }; else if( "sourceIndex"in s.documentElement )B = function( g, h )
2011        {
2012            if( !g.sourceIndex || !h.sourceIndex )
2013            {
2014                if( g == h )i = true;
2015                return g.sourceIndex ? -1 : 1
2016            }
2017            g = g.sourceIndex - h.sourceIndex;
2018            if( g === 0 )i = true;
2019            return g
2020        }; else if( s.createRange )B = function( g, h )
2021        {
2022            if( !g.ownerDocument || !h.ownerDocument )
2023            {
2024                if( g == h )i = true;
2025                return g.ownerDocument ? -1 : 1
2026            }
2027            var l = g.ownerDocument.createRange(),m =
2028                    h.ownerDocument.createRange();
2029            l.setStart( g, 0 );
2030            l.setEnd( g, 0 );
2031            m.setStart( h, 0 );
2032            m.setEnd( h, 0 );
2033            g = l.compareBoundaryPoints( Range.START_TO_END, m );
2034            if( g === 0 )i = true;
2035            return g
2036        };
2037        (function()
2038        {
2039            var g = s.createElement( "div" ),h = "script" + (new Date).getTime();
2040            g.innerHTML = "<a name='" + h + "'/>";
2041            var l = s.documentElement;
2042            l.insertBefore( g, l.firstChild );
2043            if( s.getElementById( h ) )
2044            {
2045                n.find.ID = function( m, q, p )
2046                {
2047                    if( typeof q.getElementById !== "undefined" && !p )return(q = q.getElementById( m[1] )) ? q.id === m[1] || typeof q.getAttributeNode !== "undefined" &&
2048                            q.getAttributeNode( "id" ).nodeValue === m[1] ? [q] : w : []
2049                };
2050                n.filter.ID = function( m, q )
2051                {
2052                    var p = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode( "id" );
2053                    return m.nodeType === 1 && p && p.nodeValue === q
2054                }
2055            }
2056            l.removeChild( g );
2057            l = g = null
2058        })();
2059        (function()
2060        {
2061            var g = s.createElement( "div" );
2062            g.appendChild( s.createComment( "" ) );
2063            if( g.getElementsByTagName( "*" ).length > 0 )n.find.TAG = function( h, l )
2064            {
2065                l = l.getElementsByTagName( h[1] );
2066                if( h[1] === "*" )
2067                {
2068                    h = [];
2069                    for( var m = 0; l[m]; m++ )l[m].nodeType === 1 && h.push( l[m] );
2070                    l = h
2071                }
2072                return l
2073            };
2074            g.innerHTML = "<a href='#'></a>";
2075            if( g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute( "href" ) !== "#" )n.attrHandle.href = function( h )
2076            {
2077                return h.getAttribute( "href", 2 )
2078            };
2079            g = null
2080        })();
2081        s.querySelectorAll && function()
2082        {
2083            var g = k,h = s.createElement( "div" );
2084            h.innerHTML = "<p class='TEST'></p>";
2085            if( !(h.querySelectorAll && h.querySelectorAll( ".TEST" ).length === 0) )
2086            {
2087                k = function( m, q, p, v )
2088                {
2089                    q = q || s;
2090                    if( !v && q.nodeType === 9 && !x( q ) )try
2091                    {
2092                        return z( q.querySelectorAll( m ), p )
2093                    }
2094                    catch( t )
2095                    {
2096                    }
2097                    return g( m, q, p, v )
2098                };
2099                for( var l in g )k[l] = g[l];
2100                h = null
2101            }
2102        }();
2103        (function()
2104        {
2105            var g = s.createElement( "div" );
2106            g.innerHTML = "<div class='test e'></div><div class='test'></div>";
2107            if( !(!g.getElementsByClassName || g.getElementsByClassName( "e" ).length === 0) )
2108            {
2109                g.lastChild.className = "e";
2110                if( g.getElementsByClassName( "e" ).length !== 1 )
2111                {
2112                    n.order.splice( 1, 0, "CLASS" );
2113                    n.find.CLASS = function( h, l, m )
2114                    {
2115                        if( typeof l.getElementsByClassName !== "undefined" && !m )return l.getElementsByClassName( h[1] )
2116                    };
2117                    g = null
2118                }
2119            }
2120        })();
2121        var E = s.compareDocumentPosition ? function( g, h )
2122        {
2123            return!!(g.compareDocumentPosition( h ) & 16)
2124        } :
2125                function( g, h )
2126                {
2127                    return g !== h && (g.contains ? g.contains( h ) : true)
2128                },x = function( g )
2129        {
2130            return(g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false
2131        },ga = function( g, h )
2132        {
2133            var l = [],m = "",q;
2134            for( h = h.nodeType ? [h] : h; q = n.match.PSEUDO.exec( g ); )
2135            {
2136                m += q[0];
2137                g = g.replace( n.match.PSEUDO, "" )
2138            }
2139            g = n.relative[g] ? g + "*" : g;
2140            q = 0;
2141            for( var p = h.length; q < p; q++ )k( g, h[q], l );
2142            return k.filter( m, l )
2143        };
2144        c.find = k;
2145        c.expr = k.selectors;
2146        c.expr[":"] = c.expr.filters;
2147        c.unique = k.uniqueSort;
2148        c.text = a;
2149        c.isXMLDoc = x;
2150        c.contains = E
2151    })();
2152    var eb = /Until$/,fb = /^(?:parents|prevUntil|prevAll)/,
2153            gb = /,/;
2154    R = Array.prototype.slice;
2155    var Ia = function( a, b, d )
2156    {
2157        if( c.isFunction( b ) )return c.grep( a, function( e, j )
2158        {
2159            return!!b.call( e, j, e ) === d
2160        } ); else if( b.nodeType )return c.grep( a, function( e )
2161        {
2162            return e === b === d
2163        } ); else if( typeof b === "string" )
2164        {
2165            var f = c.grep( a, function( e )
2166            {
2167                return e.nodeType === 1
2168            } );
2169            if( Ua.test( b ) )return c.filter( b, f, !d );
2170            else b = c.filter( b, f )
2171        }
2172        return c.grep( a, function( e )
2173        {
2174            return c.inArray( e, b ) >= 0 === d
2175        } )
2176    };
2177    c.fn.extend( {find:function( a )
2178    {
2179        for( var b = this.pushStack( "", "find", a ),d = 0,f = 0,e = this.length; f < e; f++ )
2180        {
2181            d = b.length;
2182            c.find( a, this[f], b );
2183            if( f > 0 )for( var j = d; j < b.length; j++ )for( var i = 0; i < d; i++ )if( b[i] === b[j] )
2184            {
2185                b.splice( j--, 1 );
2186                break
2187            }
2188        }
2189        return b
2190    },has:function( a )
2191    {
2192        var b = c( a );
2193        return this.filter( function()
2194        {
2195            for( var d = 0,f = b.length; d < f; d++ )if( c.contains( this, b[d] ) )return true
2196        } )
2197    },not:function( a )
2198    {
2199        return this.pushStack( Ia( this, a, false ), "not", a )
2200    },filter:function( a )
2201    {
2202        return this.pushStack( Ia( this, a, true ), "filter", a )
2203    },is:function( a )
2204    {
2205        return!!a && c.filter( a, this ).length > 0
2206    },closest:function( a, b )
2207    {
2208        if( c.isArray( a ) )
2209        {
2210            var d = [],f = this[0],e,j =
2211            {},i;
2212            if( f && a.length )
2213            {
2214                e = 0;
2215                for( var o = a.length; e < o; e++ )
2216                {
2217                    i = a[e];
2218                    j[i] || (j[i] = c.expr.match.POS.test( i ) ? c( i, b || this.context ) : i)
2219                }
2220                for( ; f && f.ownerDocument && f !== b; )
2221                {
2222                    for( i in j )
2223                    {
2224                        e = j[i];
2225                        if( e.jquery ? e.index( f ) > -1 : c( f ).is( e ) )
2226                        {
2227                            d.push( {selector:i,elem:f} );
2228                            delete j[i]
2229                        }
2230                    }
2231                    f = f.parentNode
2232                }
2233            }
2234            return d
2235        }
2236        var k = c.expr.match.POS.test( a ) ? c( a, b || this.context ) : null;
2237        return this.map( function( n, r )
2238        {
2239            for( ; r && r.ownerDocument && r !== b; )
2240            {
2241                if( k ? k.index( r ) > -1 : c( r ).is( a ) )return r;
2242                r = r.parentNode
2243            }
2244            return null
2245        } )
2246    },index:function( a )
2247    {
2248        if( !a || typeof a ===
2249                "string" )return c.inArray( this[0], a ? c( a ) : this.parent().children() );
2250        return c.inArray( a.jquery ? a[0] : a, this )
2251    },add:function( a, b )
2252    {
2253        a = typeof a === "string" ? c( a, b || this.context ) : c.makeArray( a );
2254        b = c.merge( this.get(), a );
2255        return this.pushStack( qa( a[0] ) || qa( b[0] ) ? b : c.unique( b ) )
2256    },andSelf:function()
2257    {
2258        return this.add( this.prevObject )
2259    }} );
2260    c.each( {parent:function( a )
2261    {
2262        return(a = a.parentNode) && a.nodeType !== 11 ? a : null
2263    },parents:function( a )
2264    {
2265        return c.dir( a, "parentNode" )
2266    },parentsUntil:function( a, b, d )
2267    {
2268        return c.dir( a, "parentNode",
2269                d )
2270    },next:function( a )
2271    {
2272        return c.nth( a, 2, "nextSibling" )
2273    },prev:function( a )
2274    {
2275        return c.nth( a, 2, "previousSibling" )
2276    },nextAll:function( a )
2277    {
2278        return c.dir( a, "nextSibling" )
2279    },prevAll:function( a )
2280    {
2281        return c.dir( a, "previousSibling" )
2282    },nextUntil:function( a, b, d )
2283    {
2284        return c.dir( a, "nextSibling", d )
2285    },prevUntil:function( a, b, d )
2286    {
2287        return c.dir( a, "previousSibling", d )
2288    },siblings:function( a )
2289    {
2290        return c.sibling( a.parentNode.firstChild, a )
2291    },children:function( a )
2292    {
2293        return c.sibling( a.firstChild )
2294    },contents:function( a )
2295    {
2296        return c.nodeName( a, "iframe" ) ?
2297                a.contentDocument || a.contentWindow.document : c.makeArray( a.childNodes )
2298    }}, function( a, b )
2299    {
2300        c.fn[a] = function( d, f )
2301        {
2302            var e = c.map( this, b, d );
2303            eb.test( a ) || (f = d);
2304            if( f && typeof f === "string" )e = c.filter( f, e );
2305            e = this.length > 1 ? c.unique( e ) : e;
2306            if( (this.length > 1 || gb.test( f )) && fb.test( a ) )e = e.reverse();
2307            return this.pushStack( e, a, R.call( arguments ).join( "," ) )
2308        }
2309    } );
2310    c.extend( {filter:function( a, b, d )
2311    {
2312        if( d )a = ":not(" + a + ")";
2313        return c.find.matches( a, b )
2314    },dir:function( a, b, d )
2315    {
2316        var f = [];
2317        for( a = a[b]; a && a.nodeType !== 9 && (d === w || a.nodeType !== 1 || !c( a ).is( d )); )
2318        {
2319            a.nodeType ===
2320                    1 && f.push( a );
2321            a = a[b]
2322        }
2323        return f
2324    },nth:function( a, b, d )
2325    {
2326        b = b || 1;
2327        for( var f = 0; a; a = a[d] )if( a.nodeType === 1 && ++f === b )break;
2328        return a
2329    },sibling:function( a, b )
2330    {
2331        for( var d = []; a; a = a.nextSibling )a.nodeType === 1 && a !== b && d.push( a );
2332        return d
2333    }} );
2334    var Ja = / jQuery\d+="(?:\d+|null)"/g,V = /^\s+/,Ka = /(<([\w:]+)[^>]*?)\/>/g,hb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La = /<([\w:]+)/,ib = /<tbody/i,jb = /<|&#?\w+;/,ta = /<script|<object|<embed|<option|<style/i,ua = /checked\s*(?:[^=]|=\s*.checked.)/i,Ma = function( a, b, d )
2335    {
2336        return hb.test( d ) ?
2337                a : b + "></" + d + ">"
2338    },F = {option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};
2339    F.optgroup = F.option;
2340    F.tbody = F.tfoot = F.colgroup = F.caption = F.thead;
2341    F.th = F.td;
2342    if( !c.support.htmlSerialize )F._default = [1,"div<div>","</div>"];
2343    c.fn.extend( {text:function( a )
2344    {
2345        if( c.isFunction( a ) )return this.each( function( b )
2346        {
2347            var d =
2348                    c( this );
2349            d.text( a.call( this, b, d.text() ) )
2350        } );
2351        if( typeof a !== "object" && a !== w )return this.empty().append( (this[0] && this[0].ownerDocument || s).createTextNode( a ) );
2352        return c.text( this )
2353    },wrapAll:function( a )
2354    {
2355        if( c.isFunction( a ) )return this.each( function( d )
2356        {
2357            c( this ).wrapAll( a.call( this, d ) )
2358        } );
2359        if( this[0] )
2360        {
2361            var b = c( a, this[0].ownerDocument ).eq( 0 ).clone( true );
2362            this[0].parentNode && b.insertBefore( this[0] );
2363            b.map(
2364                    function()
2365                    {
2366                        for( var d = this; d.firstChild && d.firstChild.nodeType === 1; )d = d.firstChild;
2367                        return d
2368                    } ).append( this )
2369        }
2370        return this
2371    },
2372        wrapInner:function( a )
2373        {
2374            if( c.isFunction( a ) )return this.each( function( b )
2375            {
2376                c( this ).wrapInner( a.call( this, b ) )
2377            } );
2378            return this.each( function()
2379            {
2380                var b = c( this ),d = b.contents();
2381                d.length ? d.wrapAll( a ) : b.append( a )
2382            } )
2383        },wrap:function( a )
2384        {
2385            return this.each( function()
2386            {
2387                c( this ).wrapAll( a )
2388            } )
2389        },unwrap:function()
2390        {
2391            return this.parent().each(
2392                    function()
2393                    {
2394                        c.nodeName( this, "body" ) || c( this ).replaceWith( this.childNodes )
2395                    } ).end()
2396        },append:function()
2397        {
2398            return this.domManip( arguments, true, function( a )
2399            {
2400                this.nodeType === 1 && this.appendChild( a )
2401            } )
2402        },
2403        prepend:function()
2404        {
2405            return this.domManip( arguments, true, function( a )
2406            {
2407                this.nodeType === 1 && this.insertBefore( a, this.firstChild )
2408            } )
2409        },before:function()
2410        {
2411            if( this[0] && this[0].parentNode )return this.domManip( arguments, false, function( b )
2412            {
2413                this.parentNode.insertBefore( b, this )
2414            } ); else if( arguments.length )
2415            {
2416                var a = c( arguments[0] );
2417                a.push.apply( a, this.toArray() );
2418                return this.pushStack( a, "before", arguments )
2419            }
2420        },after:function()
2421        {
2422            if( this[0] && this[0].parentNode )return this.domManip( arguments, false, function( b )
2423            {
2424                this.parentNode.insertBefore( b,
2425                        this.nextSibling )
2426            } ); else if( arguments.length )
2427            {
2428                var a = this.pushStack( this, "after", arguments );
2429                a.push.apply( a, c( arguments[0] ).toArray() );
2430                return a
2431            }
2432        },remove:function( a, b )
2433        {
2434            for( var d = 0,f; (f = this[d]) != null; d++ )if( !a || c.filter( a, [f] ).length )
2435            {
2436                if( !b && f.nodeType === 1 )
2437                {
2438                    c.cleanData( f.getElementsByTagName( "*" ) );
2439                    c.cleanData( [f] )
2440                }
2441                f.parentNode && f.parentNode.removeChild( f )
2442            }
2443            return this
2444        },empty:function()
2445        {
2446            for( var a = 0,b; (b = this[a]) != null; a++ )for( b.nodeType === 1 && c.cleanData( b.getElementsByTagName( "*" ) ); b.firstChild; )b.removeChild( b.firstChild );
2447            return this
2448        },clone:function( a )
2449        {
2450            var b = this.map( function()
2451            {
2452                if( !c.support.noCloneEvent && !c.isXMLDoc( this ) )
2453                {
2454                    var d = this.outerHTML,f = this.ownerDocument;
2455                    if( !d )
2456                    {
2457                        d = f.createElement( "div" );
2458                        d.appendChild( this.cloneNode( true ) );
2459                        d = d.innerHTML
2460                    }
2461                    return c.clean( [d.replace( Ja, "" ).replace( /=([^="'>\s]+\/)>/g, '="$1">' ).replace( V, "" )], f )[0]
2462                }
2463                else return this.cloneNode( true )
2464            } );
2465            if( a === true )
2466            {
2467                ra( this, b );
2468                ra( this.find( "*" ), b.find( "*" ) )
2469            }
2470            return b
2471        },html:function( a )
2472        {
2473            if( a === w )return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace( Ja,
2474                    "" ) : null; else if( typeof a === "string" && !ta.test( a ) && (c.support.leadingWhitespace || !V.test( a )) && !F[(La.exec( a ) || ["",""])[1].toLowerCase()] )
2475            {
2476                a = a.replace( Ka, Ma );
2477                try
2478                {
2479                    for( var b = 0,d = this.length; b < d; b++ )if( this[b].nodeType === 1 )
2480                    {
2481                        c.cleanData( this[b].getElementsByTagName( "*" ) );
2482                        this[b].innerHTML = a
2483                    }
2484                }
2485                catch( f )
2486                {
2487                    this.empty().append( a )
2488                }
2489            }
2490            else c.isFunction( a ) ? this.each( function( e )
2491                {
2492                    var j = c( this ),i = j.html();
2493                    j.empty().append( function()
2494                    {
2495                        return a.call( this, e, i )
2496                    } )
2497                } ) : this.empty().append( a );
2498            return this
2499        },replaceWith:function( a )
2500        {
2501            if( this[0] &&
2502                    this[0].parentNode )
2503            {
2504                if( c.isFunction( a ) )return this.each( function( b )
2505                {
2506                    var d = c( this ),f = d.html();
2507                    d.replaceWith( a.call( this, b, f ) )
2508                } );
2509                if( typeof a !== "string" )a = c( a ).detach();
2510                return this.each( function()
2511                {
2512                    var b = this.nextSibling,d = this.parentNode;
2513                    c( this ).remove();
2514                    b ? c( b ).before( a ) : c( d ).append( a )
2515                } )
2516            }
2517            else return this.pushStack( c( c.isFunction( a ) ? a() : a ), "replaceWith", a )
2518        },detach:function( a )
2519        {
2520            return this.remove( a, true )
2521        },domManip:function( a, b, d )
2522        {
2523            function f( u )
2524            {
2525                return c.nodeName( u, "table" ) ? u.getElementsByTagName( "tbody" )[0] ||
2526                        u.appendChild( u.ownerDocument.createElement( "tbody" ) ) : u
2527            }
2528
2529            var e,j,i = a[0],o = [],k;
2530            if( !c.support.checkClone && arguments.length === 3 && typeof i === "string" && ua.test( i ) )return this.each( function()
2531            {
2532                c( this ).domManip( a, b, d, true )
2533            } );
2534            if( c.isFunction( i ) )return this.each( function( u )
2535            {
2536                var z = c( this );
2537                a[0] = i.call( this, u, b ? z.html() : w );
2538                z.domManip( a, b, d )
2539            } );
2540            if( this[0] )
2541            {
2542                e = i && i.parentNode;
2543                e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? {fragment:e} : sa( a, this, o );
2544                k = e.fragment;
2545                if( j = k.childNodes.length ===
2546                        1 ? (k = k.firstChild) : k.firstChild )
2547                {
2548                    b = b && c.nodeName( j, "tr" );
2549                    for( var n = 0,r = this.length; n < r; n++ )d.call( b ? f( this[n], j ) : this[n], n > 0 || e.cacheable || this.length > 1 ? k.cloneNode( true ) : k )
2550                }
2551                o.length && c.each( o, Qa )
2552            }
2553            return this
2554        }} );
2555    c.fragments = {};
2556    c.each( {appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"}, function( a, b )
2557    {
2558        c.fn[a] = function( d )
2559        {
2560            var f = [];
2561            d = c( d );
2562            var e = this.length === 1 && this[0].parentNode;
2563            if( e && e.nodeType === 11 && e.childNodes.length === 1 && d.length === 1 )
2564            {
2565                d[b]( this[0] );
2566                return this
2567            }
2568            else
2569            {
2570                e = 0;
2571                for( var j = d.length; e < j; e++ )
2572                {
2573                    var i = (e > 0 ? this.clone( true ) : this).get();
2574                    c.fn[b].apply( c( d[e] ), i );
2575                    f = f.concat( i )
2576                }
2577                return this.pushStack( f, a, d.selector )
2578            }
2579        }
2580    } );
2581    c.extend( {clean:function( a, b, d, f )
2582    {
2583        b = b || s;
2584        if( typeof b.createElement === "undefined" )b = b.ownerDocument || b[0] && b[0].ownerDocument || s;
2585        for( var e = [],j = 0,i; (i = a[j]) != null; j++ )
2586        {
2587            if( typeof i === "number" )i += "";
2588            if( i )
2589            {
2590                if( typeof i === "string" && !jb.test( i ) )i = b.createTextNode( i ); else if( typeof i === "string" )
2591                {
2592                    i = i.replace( Ka, Ma );
2593                    var o = (La.exec( i ) || ["",
2594                        ""])[1].toLowerCase(),k = F[o] || F._default,n = k[0],r = b.createElement( "div" );
2595                    for( r.innerHTML = k[1] + i + k[2]; n--; )r = r.lastChild;
2596                    if( !c.support.tbody )
2597                    {
2598                        n = ib.test( i );
2599                        o = o === "table" && !n ? r.firstChild && r.firstChild.childNodes : k[1] === "<table>" && !n ? r.childNodes : [];
2600                        for( k = o.length - 1; k >= 0; --k )c.nodeName( o[k], "tbody" ) && !o[k].childNodes.length && o[k].parentNode.removeChild( o[k] )
2601                    }
2602                    !c.support.leadingWhitespace && V.test( i ) && r.insertBefore( b.createTextNode( V.exec( i )[0] ), r.firstChild );
2603                    i = r.childNodes
2604                }
2605                if( i.nodeType )e.push( i );
2606                else e =
2607                        c.merge( e, i )
2608            }
2609        }
2610        if( d )for( j = 0; e[j]; j++ )if( f && c.nodeName( e[j], "script" ) && (!e[j].type || e[j].type.toLowerCase() === "text/javascript") )f.push( e[j].parentNode ? e[j].parentNode.removeChild( e[j] ) : e[j] );
2611        else
2612        {
2613            e[j].nodeType === 1 && e.splice.apply( e, [j + 1,0].concat( c.makeArray( e[j].getElementsByTagName( "script" ) ) ) );
2614            d.appendChild( e[j] )
2615        }
2616        return e
2617    },cleanData:function( a )
2618    {
2619        for( var b,d,f = c.cache,e = c.event.special,j = c.support.deleteExpando,i = 0,o; (o = a[i]) != null; i++ )if( d = o[c.expando] )
2620        {
2621            b = f[d];
2622            if( b.events )for( var k in b.events )e[k] ?
2623                    c.event.remove( o, k ) : Ca( o, k, b.handle );
2624            if( j )delete o[c.expando];
2625            else o.removeAttribute && o.removeAttribute( c.expando );
2626            delete f[d]
2627        }
2628    }} );
2629    var kb = /z-?index|font-?weight|opacity|zoom|line-?height/i,Na = /alpha\([^)]*\)/,Oa = /opacity=([^)]*)/,ha = /float/i,ia = /-([a-z])/ig,lb = /([A-Z])/g,mb = /^-?\d+(?:px)?$/i,nb = /^-?\d/,ob = {position:"absolute",visibility:"hidden",display:"block"},pb = ["Left","Right"],qb = ["Top","Bottom"],rb = s.defaultView && s.defaultView.getComputedStyle,Pa = c.support.cssFloat ? "cssFloat" : "styleFloat",ja =
2630            function( a, b )
2631            {
2632                return b.toUpperCase()
2633            };
2634    c.fn.css = function( a, b )
2635    {
2636        return X( this, a, b, true, function( d, f, e )
2637        {
2638            if( e === w )return c.curCSS( d, f );
2639            if( typeof e === "number" && !kb.test( f ) )e += "px";
2640            c.style( d, f, e )
2641        } )
2642    };
2643    c.extend( {style:function( a, b, d )
2644    {
2645        if( !a || a.nodeType === 3 || a.nodeType === 8 )return w;
2646        if( (b === "width" || b === "height") && parseFloat( d ) < 0 )d = w;
2647        var f = a.style || a,e = d !== w;
2648        if( !c.support.opacity && b === "opacity" )
2649        {
2650            if( e )
2651            {
2652                f.zoom = 1;
2653                b = parseInt( d, 10 ) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")";
2654                a = f.filter || c.curCSS( a, "filter" ) || "";
2655                f.filter =
2656                        Na.test( a ) ? a.replace( Na, b ) : b
2657            }
2658            return f.filter && f.filter.indexOf( "opacity=" ) >= 0 ? parseFloat( Oa.exec( f.filter )[1] ) / 100 + "" : ""
2659        }
2660        if( ha.test( b ) )b = Pa;
2661        b = b.replace( ia, ja );
2662        if( e )f[b] = d;
2663        return f[b]
2664    },css:function( a, b, d, f )
2665    {
2666        if( b === "width" || b === "height" )
2667        {
2668            var e,j = b === "width" ? pb : qb;
2669
2670            function i()
2671            {
2672                e = b === "width" ? a.offsetWidth : a.offsetHeight;
2673                f !== "border" && c.each( j, function()
2674                {
2675                    f || (e -= parseFloat( c.curCSS( a, "padding" + this, true ) ) || 0);
2676                    if( f === "margin" )e += parseFloat( c.curCSS( a, "margin" + this, true ) ) || 0;
2677                    else e -= parseFloat( c.curCSS( a,
2678                            "border" + this + "Width", true ) ) || 0
2679                } )
2680            }
2681
2682            a.offsetWidth !== 0 ? i() : c.swap( a, ob, i );
2683            return Math.max( 0, Math.round( e ) )
2684        }
2685        return c.curCSS( a, b, d )
2686    },curCSS:function( a, b, d )
2687    {
2688        var f,e = a.style;
2689        if( !c.support.opacity && b === "opacity" && a.currentStyle )
2690        {
2691            f = Oa.test( a.currentStyle.filter || "" ) ? parseFloat( RegExp.$1 ) / 100 + "" : "";
2692            return f === "" ? "1" : f
2693        }
2694        if( ha.test( b ) )b = Pa;
2695        if( !d && e && e[b] )f = e[b]; else if( rb )
2696        {
2697            if( ha.test( b ) )b = "float";
2698            b = b.replace( lb, "-$1" ).toLowerCase();
2699            e = a.ownerDocument.defaultView;
2700            if( !e )return null;
2701            if( a = e.getComputedStyle( a, null ) )f =
2702                    a.getPropertyValue( b );
2703            if( b === "opacity" && f === "" )f = "1"
2704        } else if( a.currentStyle )
2705        {
2706            d = b.replace( ia, ja );
2707            f = a.currentStyle[b] || a.currentStyle[d];
2708            if( !mb.test( f ) && nb.test( f ) )
2709            {
2710                b = e.left;
2711                var j = a.runtimeStyle.left;
2712                a.runtimeStyle.left = a.currentStyle.left;
2713                e.left = d === "fontSize" ? "1em" : f || 0;
2714                f = e.pixelLeft + "px";
2715                e.left = b;
2716                a.runtimeStyle.left = j
2717            }
2718        }
2719        return f
2720    },swap:function( a, b, d )
2721    {
2722        var f = {};
2723        for( var e in b )
2724        {
2725            f[e] = a.style[e];
2726            a.style[e] = b[e]
2727        }
2728        d.call( a );
2729        for( e in b )a.style[e] = f[e]
2730    }} );
2731    if( c.expr && c.expr.filters )
2732    {
2733        c.expr.filters.hidden = function( a )
2734        {
2735            var b =
2736                    a.offsetWidth,d = a.offsetHeight,f = a.nodeName.toLowerCase() === "tr";
2737            return b === 0 && d === 0 && !f ? true : b > 0 && d > 0 && !f ? false : c.curCSS( a, "display" ) === "none"
2738        };
2739        c.expr.filters.visible = function( a )
2740        {
2741            return!c.expr.filters.hidden( a )
2742        }
2743    }
2744    var sb = J(),tb = /<script(.|\s)*?\/script>/gi,ub = /select|textarea/i,vb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N = /=\?(&|$)/,ka = /\?/,wb = /(\?|&)_=.*?(&|$)/,xb = /^(\w+:)?\/\/([^\/?#]+)/,yb = /%20/g,zb = c.fn.load;
2745    c.fn.extend( {load:function( a, b, d )
2746    {
2747        if( typeof a !==
2748                "string" )return zb.call( this, a ); else if( !this.length )return this;
2749        var f = a.indexOf( " " );
2750        if( f >= 0 )
2751        {
2752            var e = a.slice( f, a.length );
2753            a = a.slice( 0, f )
2754        }
2755        f = "GET";
2756        if( b )if( c.isFunction( b ) )
2757        {
2758            d = b;
2759            b = null
2760        } else if( typeof b === "object" )
2761        {
2762            b = c.param( b, c.ajaxSettings.traditional );
2763            f = "POST"
2764        }
2765        var j = this;
2766        c.ajax( {url:a,type:f,dataType:"html",data:b,complete:function( i, o )
2767        {
2768            if( o === "success" || o === "notmodified" )j.html( e ? c( "<div />" ).append( i.responseText.replace( tb, "" ) ).find( e ) : i.responseText );
2769            d && j.each( d, [i.responseText,o,i] )
2770        }} );
2771        return this
2772    },
2773        serialize:function()
2774        {
2775            return c.param( this.serializeArray() )
2776        },serializeArray:function()
2777        {
2778            return this.map(
2779                    function()
2780                    {
2781                        return this.elements ? c.makeArray( this.elements ) : this
2782                    } ).filter(
2783                    function()
2784                    {
2785                        return this.name && !this.disabled && (this.checked || ub.test( this.nodeName ) || vb.test( this.type ))
2786                    } ).map(
2787                    function( a, b )
2788                    {
2789                        a = c( this ).val();
2790                        return a == null ? null : c.isArray( a ) ? c.map( a, function( d )
2791                        {
2792                            return{name:b.name,value:d}
2793                        } ) : {name:b.name,value:a}
2794                    } ).get()
2795        }} );
2796    c.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ),
2797            function( a, b )
2798            {
2799                c.fn[b] = function( d )
2800                {
2801                    return this.bind( b, d )
2802                }
2803            } );
2804    c.extend( {get:function( a, b, d, f )
2805    {
2806        if( c.isFunction( b ) )
2807        {
2808            f = f || d;
2809            d = b;
2810            b = null
2811        }
2812        return c.ajax( {type:"GET",url:a,data:b,success:d,dataType:f} )
2813    },getScript:function( a, b )
2814    {
2815        return c.get( a, null, b, "script" )
2816    },getJSON:function( a, b, d )
2817    {
2818        return c.get( a, b, d, "json" )
2819    },post:function( a, b, d, f )
2820    {
2821        if( c.isFunction( b ) )
2822        {
2823            f = f || d;
2824            d = b;
2825            b = {}
2826        }
2827        return c.ajax( {type:"POST",url:a,data:b,success:d,dataType:f} )
2828    },ajaxSetup:function( a )
2829    {
2830        c.extend( c.ajaxSettings, a )
2831    },ajaxSettings:{url:location.href,
2832        global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest && (A.location.protocol !== "file:" || !A.ActiveXObject) ? function()
2833        {
2834            return new A.XMLHttpRequest
2835        } : function()
2836        {
2837            try
2838            {
2839                return new A.ActiveXObject( "Microsoft.XMLHTTP" )
2840            }
2841            catch( a )
2842            {
2843            }
2844        },accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function( a )
2845    {
2846        function b()
2847        {
2848            e.success &&
2849            e.success.call( k, o, i, x );
2850            e.global && f( "ajaxSuccess", [x,e] )
2851        }
2852
2853        function d()
2854        {
2855            e.complete && e.complete.call( k, x, i );
2856            e.global && f( "ajaxComplete", [x,e] );
2857            e.global && !--c.active && c.event.trigger( "ajaxStop" )
2858        }
2859
2860        function f( q, p )
2861        {
2862            (e.context ? c( e.context ) : c.event).trigger( q, p )
2863        }
2864
2865        var e = c.extend( true, {}, c.ajaxSettings, a ),j,i,o,k = a && a.context || e,n = e.type.toUpperCase();
2866        if( e.data && e.processData && typeof e.data !== "string" )e.data = c.param( e.data, e.traditional );
2867        if( e.dataType === "jsonp" )
2868        {
2869            if( n === "GET" )N.test( e.url ) || (e.url += (ka.test( e.url ) ?
2870                    "&" : "?") + (e.jsonp || "callback") + "=?"); else if( !e.data || !N.test( e.data ) )e.data = (e.data ? e.data + "&" : "") + (e.jsonp || "callback") + "=?";
2871            e.dataType = "json"
2872        }
2873        if( e.dataType === "json" && (e.data && N.test( e.data ) || N.test( e.url )) )
2874        {
2875            j = e.jsonpCallback || "jsonp" + sb++;
2876            if( e.data )e.data = (e.data + "").replace( N, "=" + j + "$1" );
2877            e.url = e.url.replace( N, "=" + j + "$1" );
2878            e.dataType = "script";
2879            A[j] = A[j] || function( q )
2880            {
2881                o = q;
2882                b();
2883                d();
2884                A[j] = w;
2885                try
2886                {
2887                    delete A[j]
2888                }
2889                catch( p )
2890                {
2891                }
2892                z && z.removeChild( C )
2893            }
2894        }
2895        if( e.dataType === "script" && e.cache === null )e.cache = false;
2896        if( e.cache ===
2897                false && n === "GET" )
2898        {
2899            var r = J(),u = e.url.replace( wb, "$1_=" + r + "$2" );
2900            e.url = u + (u === e.url ? (ka.test( e.url ) ? "&" : "?") + "_=" + r : "")
2901        }
2902        if( e.data && n === "GET" )e.url += (ka.test( e.url ) ? "&" : "?") + e.data;
2903        e.global && !c.active++ && c.event.trigger( "ajaxStart" );
2904        r = (r = xb.exec( e.url )) && (r[1] && r[1] !== location.protocol || r[2] !== location.host);
2905        if( e.dataType === "script" && n === "GET" && r )
2906        {
2907            var z = s.getElementsByTagName( "head" )[0] || s.documentElement,C = s.createElement( "script" );
2908            C.src = e.url;
2909            if( e.scriptCharset )C.charset = e.scriptCharset;
2910            if( !j )
2911            {
2912                var B =
2913                        false;
2914                C.onload = C.onreadystatechange = function()
2915                {
2916                    if( !B && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") )
2917                    {
2918                        B = true;
2919                        b();
2920                        d();
2921                        C.onload = C.onreadystatechange = null;
2922                        z && C.parentNode && z.removeChild( C )
2923                    }
2924                }
2925            }
2926            z.insertBefore( C, z.firstChild );
2927            return w
2928        }
2929        var E = false,x = e.xhr();
2930        if( x )
2931        {
2932            e.username ? x.open( n, e.url, e.async, e.username, e.password ) : x.open( n, e.url, e.async );
2933            try
2934            {
2935                if( e.data || a && a.contentType )x.setRequestHeader( "Content-Type", e.contentType );
2936                if( e.ifModified )
2937                {
2938                    c.lastModified[e.url] && x.setRequestHeader( "If-Modified-Since",
2939                            c.lastModified[e.url] );
2940                    c.etag[e.url] && x.setRequestHeader( "If-None-Match", c.etag[e.url] )
2941                }
2942                r || x.setRequestHeader( "X-Requested-With", "XMLHttpRequest" );
2943                x.setRequestHeader( "Accept", e.dataType && e.accepts[e.dataType] ? e.accepts[e.dataType] + ", */*" : e.accepts._default )
2944            }
2945            catch( ga )
2946            {
2947            }
2948            if( e.beforeSend && e.beforeSend.call( k, x, e ) === false )
2949            {
2950                e.global && !--c.active && c.event.trigger( "ajaxStop" );
2951                x.abort();
2952                return false
2953            }
2954            e.global && f( "ajaxSend", [x,e] );
2955            var g = x.onreadystatechange = function( q )
2956            {
2957                if( !x || x.readyState === 0 || q === "abort" )
2958                {
2959                    E ||
2960                    d();
2961                    E = true;
2962                    if( x )x.onreadystatechange = c.noop
2963                } else if( !E && x && (x.readyState === 4 || q === "timeout") )
2964                {
2965                    E = true;
2966                    x.onreadystatechange = c.noop;
2967                    i = q === "timeout" ? "timeout" : !c.httpSuccess( x ) ? "error" : e.ifModified && c.httpNotModified( x, e.url ) ? "notmodified" : "success";
2968                    var p;
2969                    if( i === "success" )try
2970                    {
2971                        o = c.httpData( x, e.dataType, e )
2972                    }
2973                    catch( v )
2974                    {
2975                        i = "parsererror";
2976                        p = v
2977                    }
2978                    if( i === "success" || i === "notmodified" )j || b();
2979                    else c.handleError( e, x, i, p );
2980                    d();
2981                    q === "timeout" && x.abort();
2982                    if( e.async )x = null
2983                }
2984            };
2985            try
2986            {
2987                var h = x.abort;
2988                x.abort = function()
2989                {
2990                    x && h.call( x );
2991                    g( "abort" )
2992                }
2993            }
2994            catch( l )
2995            {
2996            }
2997            e.async && e.timeout > 0 && setTimeout( function()
2998            {
2999                x && !E && g( "timeout" )
3000            }, e.timeout );
3001            try
3002            {
3003                x.send( n === "POST" || n === "PUT" || n === "DELETE" ? e.data : null )
3004            }
3005            catch( m )
3006            {
3007                c.handleError( e, x, null, m );
3008                d()
3009            }
3010            e.async || g();
3011            return x
3012        }
3013    },handleError:function( a, b, d, f )
3014    {
3015        if( a.error )a.error.call( a.context || a, b, d, f );
3016        if( a.global )(a.context ? c( a.context ) : c.event).trigger( "ajaxError", [b,a,f] )
3017    },active:0,httpSuccess:function( a )
3018    {
3019        try
3020        {
3021            return!a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status ===
3022                    1223 || a.status === 0
3023        }
3024        catch( b )
3025        {
3026        }
3027        return false
3028    },httpNotModified:function( a, b )
3029    {
3030        var d = a.getResponseHeader( "Last-Modified" ),f = a.getResponseHeader( "Etag" );
3031        if( d )c.lastModified[b] = d;
3032        if( f )c.etag[b] = f;
3033        return a.status === 304 || a.status === 0
3034    },httpData:function( a, b, d )
3035    {
3036        var f = a.getResponseHeader( "content-type" ) || "",e = b === "xml" || !b && f.indexOf( "xml" ) >= 0;
3037        a = e ? a.responseXML : a.responseText;
3038        e && a.documentElement.nodeName === "parsererror" && c.error( "parsererror" );
3039        if( d && d.dataFilter )a = d.dataFilter( a, b );
3040        if( typeof a === "string" )if( b ===
3041                "json" || !b && f.indexOf( "json" ) >= 0 )a = c.parseJSON( a ); else if( b === "script" || !b && f.indexOf( "javascript" ) >= 0 )c.globalEval( a );
3042        return a
3043    },param:function( a, b )
3044    {
3045        function d( i, o )
3046        {
3047            if( c.isArray( o ) )c.each( o, function( k, n )
3048            {
3049                b || /\[\]$/.test( i ) ? f( i, n ) : d( i + "[" + (typeof n === "object" || c.isArray( n ) ? k : "") + "]", n )
3050            } );
3051            else!b && o != null && typeof o === "object" ? c.each( o, function( k, n )
3052            {
3053                d( i + "[" + k + "]", n )
3054            } ) : f( i, o )
3055        }
3056
3057        function f( i, o )
3058        {
3059            o = c.isFunction( o ) ? o() : o;
3060            e[e.length] = encodeURIComponent( i ) + "=" + encodeURIComponent( o )
3061        }
3062
3063        var e = [];
3064        if( b === w )b = c.ajaxSettings.traditional;
3065        if( c.isArray( a ) || a.jquery )c.each( a, function()
3066        {
3067            f( this.name, this.value )
3068        } );
3069        else for( var j in a )d( j, a[j] );
3070        return e.join( "&" ).replace( yb, "+" )
3071    }} );
3072    var la = {},Ab = /toggle|show|hide/,Bb = /^([+-]=)?([\d+-.]+)(.*)$/,W,va = [
3073        ["height","marginTop","marginBottom","paddingTop","paddingBottom"],
3074        ["width","marginLeft","marginRight","paddingLeft","paddingRight"],
3075        ["opacity"]
3076    ];
3077    c.fn.extend( {show:function( a, b )
3078    {
3079        if( a || a === 0 )return this.animate( K( "show", 3 ), a, b );
3080        else
3081        {
3082            a = 0;
3083            for( b = this.length; a < b; a++ )
3084            {
3085                var d = c.data( this[a], "olddisplay" );
3086                this[a].style.display = d || "";
3087                if( c.css( this[a], "display" ) === "none" )
3088                {
3089                    d = this[a].nodeName;
3090                    var f;
3091                    if( la[d] )f = la[d];
3092                    else
3093                    {
3094                        var e = c( "<" + d + " />" ).appendTo( "body" );
3095                        f = e.css( "display" );
3096                        if( f === "none" )f = "block";
3097                        e.remove();
3098                        la[d] = f
3099                    }
3100                    c.data( this[a], "olddisplay", f )
3101                }
3102            }
3103            a = 0;
3104            for( b = this.length; a < b; a++ )this[a].style.display = c.data( this[a], "olddisplay" ) || "";
3105            return this
3106        }
3107    },hide:function( a, b )
3108    {
3109        if( a || a === 0 )return this.animate( K( "hide", 3 ), a, b );
3110        else
3111        {
3112            a = 0;
3113            for( b = this.length; a < b; a++ )
3114            {
3115                var d = c.data( this[a], "olddisplay" );
3116                !d && d !== "none" && c.data( this[a],
3117                        "olddisplay", c.css( this[a], "display" ) )
3118            }
3119            a = 0;
3120            for( b = this.length; a < b; a++ )this[a].style.display = "none";
3121            return this
3122        }
3123    },_toggle:c.fn.toggle,toggle:function( a, b )
3124    {
3125        var d = typeof a === "boolean";
3126        if( c.isFunction( a ) && c.isFunction( b ) )this._toggle.apply( this, arguments );
3127        else a == null || d ? this.each( function()
3128        {
3129            var f = d ? a : c( this ).is( ":hidden" );
3130            c( this )[f ? "show" : "hide"]()
3131        } ) : this.animate( K( "toggle", 3 ), a, b );
3132        return this
3133    },fadeTo:function( a, b, d )
3134    {
3135        return this.filter( ":hidden" ).css( "opacity", 0 ).show().end().animate( {opacity:b}, a, d )
3136    },
3137        animate:function( a, b, d, f )
3138        {
3139            var e = c.speed( b, d, f );
3140            if( c.isEmptyObject( a ) )return this.each( e.complete );
3141            return this[e.queue === false ? "each" : "queue"]( function()
3142            {
3143                var j = c.extend( {}, e ),i,o = this.nodeType === 1 && c( this ).is( ":hidden" ),k = this;
3144                for( i in a )
3145                {
3146                    var n = i.replace( ia, ja );
3147                    if( i !== n )
3148                    {
3149                        a[n] = a[i];
3150                        delete a[i];
3151                        i = n
3152                    }
3153                    if( a[i] === "hide" && o || a[i] === "show" && !o )return j.complete.call( this );
3154                    if( (i === "height" || i === "width") && this.style )
3155                    {
3156                        j.display = c.css( this, "display" );
3157                        j.overflow = this.style.overflow
3158                    }
3159                    if( c.isArray( a[i] ) )
3160                    {
3161                        (j.specialEasing =
3162                                j.specialEasing || {})[i] = a[i][1];
3163                        a[i] = a[i][0]
3164                    }
3165                }
3166                if( j.overflow != null )this.style.overflow = "hidden";
3167                j.curAnim = c.extend( {}, a );
3168                c.each( a, function( r, u )
3169                {
3170                    var z = new c.fx( k, j, r );
3171                    if( Ab.test( u ) )z[u === "toggle" ? o ? "show" : "hide" : u]( a );
3172                    else
3173                    {
3174                        var C = Bb.exec( u ),B = z.cur( true ) || 0;
3175                        if( C )
3176                        {
3177                            u = parseFloat( C[2] );
3178                            var E = C[3] || "px";
3179                            if( E !== "px" )
3180                            {
3181                                k.style[r] = (u || 1) + E;
3182                                B = (u || 1) / z.cur( true ) * B;
3183                                k.style[r] = B + E
3184                            }
3185                            if( C[1] )u = (C[1] === "-=" ? -1 : 1) * u + B;
3186                            z.custom( B, u, E )
3187                        }
3188                        else z.custom( B, u, "" )
3189                    }
3190                } );
3191                return true
3192            } )
3193        },stop:function( a, b )
3194        {
3195            var d = c.timers;
3196            a && this.queue( [] );
3197            this.each( function()
3198            {
3199                for( var f = d.length - 1; f >= 0; f-- )if( d[f].elem === this )
3200                {
3201                    b && d[f]( true );
3202                    d.splice( f, 1 )
3203                }
3204            } );
3205            b || this.dequeue();
3206            return this
3207        }} );
3208    c.each( {slideDown:K( "show", 1 ),slideUp:K( "hide", 1 ),slideToggle:K( "toggle", 1 ),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}}, function( a, b )
3209    {
3210        c.fn[a] = function( d, f )
3211        {
3212            return this.animate( b, d, f )
3213        }
3214    } );
3215    c.extend( {speed:function( a, b, d )
3216    {
3217        var f = a && typeof a === "object" ? a : {complete:d || !d && b || c.isFunction( a ) && a,duration:a,easing:d && b || b && !c.isFunction( b ) && b};
3218        f.duration = c.fx.off ? 0 : typeof f.duration ===
3219                "number" ? f.duration : c.fx.speeds[f.duration] || c.fx.speeds._default;
3220        f.old = f.complete;
3221        f.complete = function()
3222        {
3223            f.queue !== false && c( this ).dequeue();
3224            c.isFunction( f.old ) && f.old.call( this )
3225        };
3226        return f
3227    },easing:{linear:function( a, b, d, f )
3228    {
3229        return d + f * a
3230    },swing:function( a, b, d, f )
3231    {
3232        return(-Math.cos( a * Math.PI ) / 2 + 0.5) * f + d
3233    }},timers:[],fx:function( a, b, d )
3234    {
3235        this.options = b;
3236        this.elem = a;
3237        this.prop = d;
3238        if( !b.orig )b.orig = {}
3239    }} );
3240    c.fx.prototype = {update:function()
3241    {
3242        this.options.step && this.options.step.call( this.elem, this.now, this );
3243        (c.fx.step[this.prop] ||
3244                c.fx.step._default)( this );
3245        if( (this.prop === "height" || this.prop === "width") && this.elem.style )this.elem.style.display = "block"
3246    },cur:function( a )
3247    {
3248        if( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) )return this.elem[this.prop];
3249        return(a = parseFloat( c.css( this.elem, this.prop, a ) )) && a > -10000 ? a : parseFloat( c.curCSS( this.elem, this.prop ) ) || 0
3250    },custom:function( a, b, d )
3251    {
3252        function f( j )
3253        {
3254            return e.step( j )
3255        }
3256
3257        this.startTime = J();
3258        this.start = a;
3259        this.end = b;
3260        this.unit = d || this.unit || "px";
3261        this.now = this.start;
3262        this.pos = this.state = 0;
3263        var e = this;
3264        f.elem = this.elem;
3265        if( f() && c.timers.push( f ) && !W )W = setInterval( c.fx.tick, 13 )
3266    },show:function()
3267    {
3268        this.options.orig[this.prop] = c.style( this.elem, this.prop );
3269        this.options.show = true;
3270        this.custom( this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur() );
3271        c( this.elem ).show()
3272    },hide:function()
3273    {
3274        this.options.orig[this.prop] = c.style( this.elem, this.prop );
3275        this.options.hide = true;
3276        this.custom( this.cur(), 0 )
3277    },step:function( a )
3278    {
3279        var b = J(),d = true;
3280        if( a || b >= this.options.duration + this.startTime )
3281        {
3282            this.now =
3283                    this.end;
3284            this.pos = this.state = 1;
3285            this.update();
3286            this.options.curAnim[this.prop] = true;
3287            for( var f in this.options.curAnim )if( this.options.curAnim[f] !== true )d = false;
3288            if( d )
3289            {
3290                if( this.options.display != null )
3291                {
3292                    this.elem.style.overflow = this.options.overflow;
3293                    a = c.data( this.elem, "olddisplay" );
3294                    this.elem.style.display = a ? a : this.options.display;
3295                    if( c.css( this.elem, "display" ) === "none" )this.elem.style.display = "block"
3296                }
3297                this.options.hide && c( this.elem ).hide();
3298                if( this.options.hide || this.options.show )for( var e in this.options.curAnim )c.style( this.elem,
3299                        e, this.options.orig[e] );
3300                this.options.complete.call( this.elem )
3301            }
3302            return false
3303        }
3304        else
3305        {
3306            e = b - this.startTime;
3307            this.state = e / this.options.duration;
3308            a = this.options.easing || (c.easing.swing ? "swing" : "linear");
3309            this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a]( this.state, e, 0, 1, this.options.duration );
3310            this.now = this.start + (this.end - this.start) * this.pos;
3311            this.update()
3312        }
3313        return true
3314    }};
3315    c.extend( c.fx, {tick:function()
3316    {
3317        for( var a = c.timers,b = 0; b < a.length; b++ )a[b]() || a.splice( b--, 1 );
3318        a.length ||
3319        c.fx.stop()
3320    },stop:function()
3321    {
3322        clearInterval( W );
3323        W = null
3324    },speeds:{slow:600,fast:200,_default:400},step:{opacity:function( a )
3325    {
3326        c.style( a.elem, "opacity", a.now )
3327    },_default:function( a )
3328    {
3329        if( a.elem.style && a.elem.style[a.prop] != null )a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max( 0, a.now ) : a.now) + a.unit;
3330        else a.elem[a.prop] = a.now
3331    }}} );
3332    if( c.expr && c.expr.filters )c.expr.filters.animated = function( a )
3333    {
3334        return c.grep( c.timers,
3335                function( b )
3336                {
3337                    return a === b.elem
3338                } ).length
3339    };
3340    c.fn.offset = "getBoundingClientRect"in s.documentElement ?
3341            function( a )
3342            {
3343                var b = this[0];
3344                if( a )return this.each( function( e )
3345                {
3346                    c.offset.setOffset( this, a, e )
3347                } );
3348                if( !b || !b.ownerDocument )return null;
3349                if( b === b.ownerDocument.body )return c.offset.bodyOffset( b );
3350                var d = b.getBoundingClientRect(),f = b.ownerDocument;
3351                b = f.body;
3352                f = f.documentElement;
3353                return{top:d.top + (self.pageYOffset || c.support.boxModel && f.scrollTop || b.scrollTop) - (f.clientTop || b.clientTop || 0),left:d.left + (self.pageXOffset || c.support.boxModel && f.scrollLeft || b.scrollLeft) - (f.clientLeft || b.clientLeft || 0)}
3354            } : function( a )
3355            {
3356                var b =
3357                        this[0];
3358                if( a )return this.each( function( r )
3359                {
3360                    c.offset.setOffset( this, a, r )
3361                } );
3362                if( !b || !b.ownerDocument )return null;
3363                if( b === b.ownerDocument.body )return c.offset.bodyOffset( b );
3364                c.offset.initialize();
3365                var d = b.offsetParent,f = b,e = b.ownerDocument,j,i = e.documentElement,o = e.body;
3366                f = (e = e.defaultView) ? e.getComputedStyle( b, null ) : b.currentStyle;
3367                for( var k = b.offsetTop,n = b.offsetLeft; (b = b.parentNode) && b !== o && b !== i; )
3368                {
3369                    if( c.offset.supportsFixedPosition && f.position === "fixed" )break;
3370                    j = e ? e.getComputedStyle( b, null ) : b.currentStyle;
3371                    k -= b.scrollTop;
3372                    n -= b.scrollLeft;
3373                    if( b === d )
3374                    {
3375                        k += b.offsetTop;
3376                        n += b.offsetLeft;
3377                        if( c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test( b.nodeName )) )
3378                        {
3379                            k += parseFloat( j.borderTopWidth ) || 0;
3380                            n += parseFloat( j.borderLeftWidth ) || 0
3381                        }
3382                        f = d;
3383                        d = b.offsetParent
3384                    }
3385                    if( c.offset.subtractsBorderForOverflowNotVisible && j.overflow !== "visible" )
3386                    {
3387                        k += parseFloat( j.borderTopWidth ) || 0;
3388                        n += parseFloat( j.borderLeftWidth ) || 0
3389                    }
3390                    f = j
3391                }
3392                if( f.position === "relative" || f.position === "static" )
3393                {
3394                    k += o.offsetTop;
3395                    n += o.offsetLeft
3396                }
3397                if( c.offset.supportsFixedPosition &&
3398                        f.position === "fixed" )
3399                {
3400                    k += Math.max( i.scrollTop, o.scrollTop );
3401                    n += Math.max( i.scrollLeft, o.scrollLeft )
3402                }
3403                return{top:k,left:n}
3404            };
3405    c.offset = {initialize:function()
3406    {
3407        var a = s.body,b = s.createElement( "div" ),d,f,e,j = parseFloat( c.curCSS( a, "marginTop", true ) ) || 0;
3408        c.extend( b.style, {position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"} );
3409        b.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
3410        a.insertBefore( b, a.firstChild );
3411        d = b.firstChild;
3412        f = d.firstChild;
3413        e = d.nextSibling.firstChild.firstChild;
3414        this.doesNotAddBorder = f.offsetTop !== 5;
3415        this.doesAddBorderForTableAndCells = e.offsetTop === 5;
3416        f.style.position = "fixed";
3417        f.style.top = "20px";
3418        this.supportsFixedPosition = f.offsetTop === 20 || f.offsetTop === 15;
3419        f.style.position = f.style.top = "";
3420        d.style.overflow = "hidden";
3421        d.style.position = "relative";
3422        this.subtractsBorderForOverflowNotVisible = f.offsetTop === -5;
3423        this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== j;
3424        a.removeChild( b );
3425        c.offset.initialize = c.noop
3426    },bodyOffset:function( a )
3427    {
3428        var b = a.offsetTop,d = a.offsetLeft;
3429        c.offset.initialize();
3430        if( c.offset.doesNotIncludeMarginInBodyOffset )
3431        {
3432            b += parseFloat( c.curCSS( a, "marginTop", true ) ) || 0;
3433            d += parseFloat( c.curCSS( a, "marginLeft", true ) ) || 0
3434        }
3435        return{top:b,left:d}
3436    },setOffset:function( a, b, d )
3437    {
3438        if( /static/.test( c.curCSS( a, "position" ) ) )a.style.position = "relative";
3439        var f = c( a ),e = f.offset(),j = parseInt( c.curCSS( a, "top", true ), 10 ) || 0,i = parseInt( c.curCSS( a, "left", true ), 10 ) || 0;
3440        if( c.isFunction( b ) )b = b.call( a,
3441                d, e );
3442        d = {top:b.top - e.top + j,left:b.left - e.left + i};
3443        "using"in b ? b.using.call( a, d ) : f.css( d )
3444    }};
3445    c.fn.extend( {position:function()
3446    {
3447        if( !this[0] )return null;
3448        var a = this[0],b = this.offsetParent(),d = this.offset(),f = /^body|html$/i.test( b[0].nodeName ) ? {top:0,left:0} : b.offset();
3449        d.top -= parseFloat( c.curCSS( a, "marginTop", true ) ) || 0;
3450        d.left -= parseFloat( c.curCSS( a, "marginLeft", true ) ) || 0;
3451        f.top += parseFloat( c.curCSS( b[0], "borderTopWidth", true ) ) || 0;
3452        f.left += parseFloat( c.curCSS( b[0], "borderLeftWidth", true ) ) || 0;
3453        return{top:d.top -
3454                f.top,left:d.left - f.left}
3455    },offsetParent:function()
3456    {
3457        return this.map( function()
3458        {
3459            for( var a = this.offsetParent || s.body; a && !/^body|html$/i.test( a.nodeName ) && c.css( a, "position" ) === "static"; )a = a.offsetParent;
3460            return a
3461        } )
3462    }} );
3463    c.each( ["Left","Top"], function( a, b )
3464    {
3465        var d = "scroll" + b;
3466        c.fn[d] = function( f )
3467        {
3468            var e = this[0],j;
3469            if( !e )return null;
3470            if( f !== w )return this.each( function()
3471            {
3472                if( j = wa( this ) )j.scrollTo( !a ? f : c( j ).scrollLeft(), a ? f : c( j ).scrollTop() );
3473                else this[d] = f
3474            } );
3475            else return(j = wa( e )) ? "pageXOffset"in j ? j[a ? "pageYOffset" :
3476                    "pageXOffset"] : c.support.boxModel && j.document.documentElement[d] || j.document.body[d] : e[d]
3477        }
3478    } );
3479    c.each( ["Height","Width"], function( a, b )
3480    {
3481        var d = b.toLowerCase();
3482        c.fn["inner" + b] = function()
3483        {
3484            return this[0] ? c.css( this[0], d, false, "padding" ) : null
3485        };
3486        c.fn["outer" + b] = function( f )
3487        {
3488            return this[0] ? c.css( this[0], d, false, f ? "margin" : "border" ) : null
3489        };
3490        c.fn[d] = function( f )
3491        {
3492            var e = this[0];
3493            if( !e )return f == null ? null : this;
3494            if( c.isFunction( f ) )return this.each( function( j )
3495            {
3496                var i = c( this );
3497                i[d]( f.call( this, j, i[d]() ) )
3498            } );
3499            return"scrollTo"in
3500                    e && e.document ? e.document.compatMode === "CSS1Compat" && e.document.documentElement["client" + b] || e.document.body["client" + b] : e.nodeType === 9 ? Math.max( e.documentElement["client" + b], e.body["scroll" + b], e.documentElement["scroll" + b], e.body["offset" + b], e.documentElement["offset" + b] ) : f === w ? c.css( e, d ) : this.css( d, typeof f === "string" ? f : f + "px" )
3501        }
3502    } );
3503    A.jQuery = A.$ = c
3504})( window );
Note: See TracBrowser for help on using the repository browser.