web/static/ldt/js/jquery.js
author ymh <ymh.work@gmail.com>
Fri, 06 May 2011 02:01:15 +0200
changeset 99 483a30ff6e15
parent 24 57a2650a7f87
permissions -rw-r--r--
correct tags in unicode and upgrade jquery
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     1
/*!
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
     2
 * jQuery JavaScript Library v1.6
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * http://jquery.com/
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     5
 * Copyright 2011, John Resig
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     6
 * Dual licensed under the MIT or GPL Version 2 licenses.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     7
 * http://jquery.org/license
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     8
 *
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     9
 * Includes Sizzle.js
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    10
 * http://sizzlejs.com/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    11
 * Copyright 2011, The Dojo Foundation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    12
 * Released under the MIT, BSD, and GPL Licenses.
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 *
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
    14
 * Date: Mon May 2 13:50:00 2011 -0400
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 */
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    16
(function( window, undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    17
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    18
// Use the correct document accordingly with window argument (sandbox)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
    19
var document = window.document,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
    20
	navigator = window.navigator,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
    21
	location = window.location;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    22
var jQuery = (function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    23
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    24
// Define a local copy of jQuery
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    25
var jQuery = function( selector, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    26
		// The jQuery object is actually just the init constructor 'enhanced'
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    27
		return new jQuery.fn.init( selector, context, rootjQuery );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    28
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    29
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    30
	// Map over jQuery in case of overwrite
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    31
	_jQuery = window.jQuery,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    32
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    33
	// Map over the $ in case of overwrite
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    34
	_$ = window.$,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    35
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    36
	// A central reference to the root jQuery(document)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    37
	rootjQuery,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    38
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    39
	// A simple way to check for HTML strings or ID strings
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    40
	// (both of which we optimize for)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
    41
	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    42
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    43
	// Check if a string has a non-whitespace character in it
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    44
	rnotwhite = /\S/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    45
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    46
	// Used for trimming whitespace
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    47
	trimLeft = /^\s+/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    48
	trimRight = /\s+$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    49
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    50
	// Check for digits
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    51
	rdigit = /\d/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    52
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    53
	// Match a standalone tag
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    54
	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    55
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    56
	// JSON RegExp
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    57
	rvalidchars = /^[\],:{}\s]*$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    58
	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    59
	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    60
	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    61
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    62
	// Useragent RegExp
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    63
	rwebkit = /(webkit)[ \/]([\w.]+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    64
	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    65
	rmsie = /(msie) ([\w.]+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    66
	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    67
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    68
	// Keep a UserAgent string for use with jQuery.browser
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    69
	userAgent = navigator.userAgent,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    70
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    71
	// For matching the engine and version of the browser
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    72
	browserMatch,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    73
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    74
	// The deferred used on DOM ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    75
	readyList,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    76
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    77
	// The ready event handler
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    78
	DOMContentLoaded,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    79
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    80
	// Save a reference to some core methods
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    81
	toString = Object.prototype.toString,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    82
	hasOwn = Object.prototype.hasOwnProperty,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    83
	push = Array.prototype.push,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    84
	slice = Array.prototype.slice,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    85
	trim = String.prototype.trim,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    86
	indexOf = Array.prototype.indexOf,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    87
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    88
	// [[Class]] -> type pairs
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    89
	class2type = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    90
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    91
jQuery.fn = jQuery.prototype = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    92
	constructor: jQuery,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    93
	init: function( selector, context, rootjQuery ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    94
		var match, elem, ret, doc;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    95
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    96
		// Handle $(""), $(null), or $(undefined)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    97
		if ( !selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    98
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    99
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   100
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   101
		// Handle $(DOMElement)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   102
		if ( selector.nodeType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   103
			this.context = this[0] = selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   104
			this.length = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   105
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   106
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   107
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   108
		// The body element only exists once, optimize finding it
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   109
		if ( selector === "body" && !context && document.body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   110
			this.context = document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   111
			this[0] = document.body;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   112
			this.selector = selector;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   113
			this.length = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   114
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   115
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   116
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   117
		// Handle HTML strings
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   118
		if ( typeof selector === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   119
			// Are we dealing with HTML string or an ID?
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   120
			if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   121
				// Assume that strings that start and end with <> are HTML and skip the regex check
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   122
				match = [ null, selector, null ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   123
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   124
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   125
				match = quickExpr.exec( selector );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   126
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   127
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   128
			// Verify a match, and that no context was specified for #id
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   129
			if ( match && (match[1] || !context) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   130
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   131
				// HANDLE: $(html) -> $(array)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   132
				if ( match[1] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   133
					context = context instanceof jQuery ? context[0] : context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   134
					doc = (context ? context.ownerDocument || context : document);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   135
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   136
					// If a single string is passed in and it's a single tag
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   137
					// just do a createElement and skip the rest
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   138
					ret = rsingleTag.exec( selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   139
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   140
					if ( ret ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   141
						if ( jQuery.isPlainObject( context ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   142
							selector = [ document.createElement( ret[1] ) ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   143
							jQuery.fn.attr.call( selector, context, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   144
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   145
						} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   146
							selector = [ doc.createElement( ret[1] ) ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   147
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   148
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   149
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   150
						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   151
						selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   152
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   153
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   154
					return jQuery.merge( this, selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   155
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   156
				// HANDLE: $("#id")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   157
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   158
					elem = document.getElementById( match[2] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   159
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   160
					// Check parentNode to catch when Blackberry 4.6 returns
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   161
					// nodes that are no longer in the document #6963
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   162
					if ( elem && elem.parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   163
						// Handle the case where IE and Opera return items
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   164
						// by name instead of ID
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   165
						if ( elem.id !== match[2] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   166
							return rootjQuery.find( selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   167
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   168
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   169
						// Otherwise, we inject the element directly into the jQuery object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   170
						this.length = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   171
						this[0] = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   172
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   173
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   174
					this.context = document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   175
					this.selector = selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   176
					return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   177
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   178
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   179
			// HANDLE: $(expr, $(...))
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   180
			} else if ( !context || context.jquery ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   181
				return (context || rootjQuery).find( selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   182
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   183
			// HANDLE: $(expr, context)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   184
			// (which is just equivalent to: $(context).find(expr)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   185
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   186
				return this.constructor( context ).find( selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   187
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   188
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   189
		// HANDLE: $(function)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   190
		// Shortcut for document ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   191
		} else if ( jQuery.isFunction( selector ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   192
			return rootjQuery.ready( selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   193
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   194
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   195
		if (selector.selector !== undefined) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   196
			this.selector = selector.selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   197
			this.context = selector.context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   198
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   199
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   200
		return jQuery.makeArray( selector, this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   201
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   202
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   203
	// Start with an empty selector
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   204
	selector: "",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   205
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   206
	// The current version of jQuery being used
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   207
	jquery: "1.6",
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   208
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   209
	// The default length of a jQuery object is 0
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   210
	length: 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   211
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   212
	// The number of elements contained in the matched element set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   213
	size: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   214
		return this.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   215
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   216
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   217
	toArray: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   218
		return slice.call( this, 0 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   219
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   220
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   221
	// Get the Nth element in the matched element set OR
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   222
	// Get the whole matched element set as a clean array
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   223
	get: function( num ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   224
		return num == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   225
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   226
			// Return a 'clean' array
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   227
			this.toArray() :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   228
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   229
			// Return just the object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   230
			( num < 0 ? this[ this.length + num ] : this[ num ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   231
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   232
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   233
	// Take an array of elements and push it onto the stack
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   234
	// (returning the new matched element set)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   235
	pushStack: function( elems, name, selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   236
		// Build a new jQuery matched element set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   237
		var ret = this.constructor();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   238
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   239
		if ( jQuery.isArray( elems ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   240
			push.apply( ret, elems );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   241
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   242
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   243
			jQuery.merge( ret, elems );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   244
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   245
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   246
		// Add the old object onto the stack (as a reference)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   247
		ret.prevObject = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   248
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   249
		ret.context = this.context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   250
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   251
		if ( name === "find" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   252
			ret.selector = this.selector + (this.selector ? " " : "") + selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   253
		} else if ( name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   254
			ret.selector = this.selector + "." + name + "(" + selector + ")";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   255
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   256
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   257
		// Return the newly-formed element set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   258
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   259
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   260
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   261
	// Execute a callback for every element in the matched set.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   262
	// (You can seed the arguments with an array of args, but this is
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   263
	// only used internally.)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   264
	each: function( callback, args ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   265
		return jQuery.each( this, callback, args );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   266
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   267
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   268
	ready: function( fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   269
		// Attach the listeners
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   270
		jQuery.bindReady();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   271
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   272
		// Add the callback
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   273
		readyList.done( fn );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   274
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   275
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   276
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   277
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   278
	eq: function( i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   279
		return i === -1 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   280
			this.slice( i ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   281
			this.slice( i, +i + 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   282
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   283
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   284
	first: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   285
		return this.eq( 0 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   286
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   287
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   288
	last: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   289
		return this.eq( -1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   290
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   291
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   292
	slice: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   293
		return this.pushStack( slice.apply( this, arguments ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   294
			"slice", slice.call(arguments).join(",") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   295
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   296
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   297
	map: function( callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   298
		return this.pushStack( jQuery.map(this, function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   299
			return callback.call( elem, i, elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   300
		}));
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   301
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   302
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   303
	end: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   304
		return this.prevObject || this.constructor(null);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   305
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   306
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   307
	// For internal use only.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   308
	// Behaves like an Array's method, not like a jQuery method.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   309
	push: push,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   310
	sort: [].sort,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   311
	splice: [].splice
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   312
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   313
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   314
// Give the init function the jQuery prototype for later instantiation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   315
jQuery.fn.init.prototype = jQuery.fn;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   316
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   317
jQuery.extend = jQuery.fn.extend = function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   318
	var options, name, src, copy, copyIsArray, clone,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   319
		target = arguments[0] || {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   320
		i = 1,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   321
		length = arguments.length,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   322
		deep = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   323
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   324
	// Handle a deep copy situation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   325
	if ( typeof target === "boolean" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   326
		deep = target;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   327
		target = arguments[1] || {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   328
		// skip the boolean and the target
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   329
		i = 2;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   330
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   331
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   332
	// Handle case when target is a string or something (possible in deep copy)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   333
	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   334
		target = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   335
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   336
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   337
	// extend jQuery itself if only one argument is passed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   338
	if ( length === i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   339
		target = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   340
		--i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   341
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   342
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   343
	for ( ; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   344
		// Only deal with non-null/undefined values
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   345
		if ( (options = arguments[ i ]) != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   346
			// Extend the base object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   347
			for ( name in options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   348
				src = target[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   349
				copy = options[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   350
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   351
				// Prevent never-ending loop
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   352
				if ( target === copy ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   353
					continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   354
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   355
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   356
				// Recurse if we're merging plain objects or arrays
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   357
				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   358
					if ( copyIsArray ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   359
						copyIsArray = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   360
						clone = src && jQuery.isArray(src) ? src : [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   361
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   362
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   363
						clone = src && jQuery.isPlainObject(src) ? src : {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   364
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   365
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   366
					// Never move original objects, clone them
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   367
					target[ name ] = jQuery.extend( deep, clone, copy );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   368
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   369
				// Don't bring in undefined values
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   370
				} else if ( copy !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   371
					target[ name ] = copy;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   372
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   373
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   374
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   375
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   376
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   377
	// Return the modified object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   378
	return target;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   379
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   380
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   381
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   382
	noConflict: function( deep ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   383
		if ( window.$ === jQuery ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   384
			window.$ = _$;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   385
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   386
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   387
		if ( deep && window.jQuery === jQuery ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   388
			window.jQuery = _jQuery;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   389
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   390
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   391
		return jQuery;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   392
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   393
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   394
	// Is the DOM ready to be used? Set to true once it occurs.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   395
	isReady: false,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   396
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   397
	// A counter to track how many items to wait for before
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   398
	// the ready event fires. See #6781
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   399
	readyWait: 1,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   400
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   401
	// Hold (or release) the ready event
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   402
	holdReady: function( hold ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   403
		if ( hold ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   404
			jQuery.readyWait++;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   405
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   406
			jQuery.ready( true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   407
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   408
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   409
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   410
	// Handle when the DOM is ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   411
	ready: function( wait ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   412
		// Either a released hold or an DOMready/load event and not yet ready
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   413
		if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   414
			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   415
			if ( !document.body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   416
				return setTimeout( jQuery.ready, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   417
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   418
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   419
			// Remember that the DOM is ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   420
			jQuery.isReady = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   421
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   422
			// If a normal DOM Ready event fired, decrement, and wait if need be
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   423
			if ( wait !== true && --jQuery.readyWait > 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   424
				return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   425
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   426
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   427
			// If there are functions bound, to execute
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   428
			readyList.resolveWith( document, [ jQuery ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   429
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   430
			// Trigger any bound ready events
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   431
			if ( jQuery.fn.trigger ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   432
				jQuery( document ).trigger( "ready" ).unbind( "ready" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   433
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   434
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   435
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   436
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   437
	bindReady: function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   438
		if ( readyList ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   439
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   440
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   441
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   442
		readyList = jQuery._Deferred();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   443
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   444
		// Catch cases where $(document).ready() is called after the
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   445
		// browser event has already occurred.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   446
		if ( document.readyState === "complete" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   447
			// Handle it asynchronously to allow scripts the opportunity to delay ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   448
			return setTimeout( jQuery.ready, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   449
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   450
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   451
		// Mozilla, Opera and webkit nightlies currently support this event
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   452
		if ( document.addEventListener ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   453
			// Use the handy event callback
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   454
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   455
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   456
			// A fallback to window.onload, that will always work
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   457
			window.addEventListener( "load", jQuery.ready, false );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   458
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   459
		// If IE event model is used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   460
		} else if ( document.attachEvent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   461
			// ensure firing before onload,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   462
			// maybe late but safe also for iframes
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   463
			document.attachEvent( "onreadystatechange", DOMContentLoaded );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   464
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   465
			// A fallback to window.onload, that will always work
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   466
			window.attachEvent( "onload", jQuery.ready );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   467
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   468
			// If IE and not a frame
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   469
			// continually check to see if the document is ready
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   470
			var toplevel = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   471
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   472
			try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   473
				toplevel = window.frameElement == null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   474
			} catch(e) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   475
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   476
			if ( document.documentElement.doScroll && toplevel ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   477
				doScrollCheck();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   478
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   479
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   480
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   481
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   482
	// See test/unit/core.js for details concerning isFunction.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   483
	// Since version 1.3, DOM methods and functions like alert
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   484
	// aren't supported. They return false on IE (#2968).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   485
	isFunction: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   486
		return jQuery.type(obj) === "function";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   487
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   488
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   489
	isArray: Array.isArray || function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   490
		return jQuery.type(obj) === "array";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   491
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   492
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   493
	// A crude way of determining if an object is a window
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   494
	isWindow: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   495
		return obj && typeof obj === "object" && "setInterval" in obj;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   496
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   497
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   498
	isNaN: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   499
		return obj == null || !rdigit.test( obj ) || isNaN( obj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   500
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   501
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   502
	type: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   503
		return obj == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   504
			String( obj ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   505
			class2type[ toString.call(obj) ] || "object";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   506
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   507
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   508
	isPlainObject: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   509
		// Must be an Object.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   510
		// Because of IE, we also have to check the presence of the constructor property.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   511
		// Make sure that DOM nodes and window objects don't pass through, as well
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   512
		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   513
			return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   514
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   515
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   516
		// Not own constructor property must be Object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   517
		if ( obj.constructor &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   518
			!hasOwn.call(obj, "constructor") &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   519
			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   520
			return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   521
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   522
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   523
		// Own properties are enumerated firstly, so to speed up,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   524
		// if last one is own, then all properties are own.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   525
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   526
		var key;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   527
		for ( key in obj ) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   528
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   529
		return key === undefined || hasOwn.call( obj, key );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   530
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   531
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   532
	isEmptyObject: function( obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   533
		for ( var name in obj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   534
			return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   535
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   536
		return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   537
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   538
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   539
	error: function( msg ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   540
		throw msg;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   541
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   542
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   543
	parseJSON: function( data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   544
		if ( typeof data !== "string" || !data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   545
			return null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   546
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   547
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   548
		// Make sure leading/trailing whitespace is removed (IE can't handle it)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   549
		data = jQuery.trim( data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   550
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   551
		// Attempt to parse using the native JSON parser first
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   552
		if ( window.JSON && window.JSON.parse ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   553
			return window.JSON.parse( data );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   554
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   555
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   556
		// Make sure the incoming data is actual JSON
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   557
		// Logic borrowed from http://json.org/json2.js
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   558
		if ( rvalidchars.test( data.replace( rvalidescape, "@" )
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   559
			.replace( rvalidtokens, "]" )
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   560
			.replace( rvalidbraces, "")) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   561
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   562
			return (new Function( "return " + data ))();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   563
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   564
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   565
		jQuery.error( "Invalid JSON: " + data );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   566
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   567
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   568
	// Cross-browser xml parsing
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   569
	// (xml & tmp used internally)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   570
	parseXML: function( data , xml , tmp ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   571
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   572
		if ( window.DOMParser ) { // Standard
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   573
			tmp = new DOMParser();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   574
			xml = tmp.parseFromString( data , "text/xml" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   575
		} else { // IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   576
			xml = new ActiveXObject( "Microsoft.XMLDOM" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   577
			xml.async = "false";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   578
			xml.loadXML( data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   579
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   580
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   581
		tmp = xml.documentElement;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   582
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   583
		if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   584
			jQuery.error( "Invalid XML: " + data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   585
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   586
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   587
		return xml;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   588
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   589
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   590
	noop: function() {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   591
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   592
	// Evaluates a script in a global context
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   593
	// Workarounds based on findings by Jim Driscoll
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   594
	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   595
	globalEval: function( data ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   596
		if ( data && rnotwhite.test( data ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   597
			// We use execScript on Internet Explorer
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   598
			// We use an anonymous function so that context is window
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   599
			// rather than jQuery in Firefox
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   600
			( window.execScript || function( data ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   601
				window[ "eval" ].call( window, data );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   602
			} )( data );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   603
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   604
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   605
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   606
	nodeName: function( elem, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   607
		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   608
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   609
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   610
	// args is for internal usage only
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   611
	each: function( object, callback, args ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   612
		var name, i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   613
			length = object.length,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   614
			isObj = length === undefined || jQuery.isFunction( object );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   615
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   616
		if ( args ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   617
			if ( isObj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   618
				for ( name in object ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   619
					if ( callback.apply( object[ name ], args ) === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   620
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   621
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   622
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   623
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   624
				for ( ; i < length; ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   625
					if ( callback.apply( object[ i++ ], args ) === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   626
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   627
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   628
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   629
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   630
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   631
		// A special, fast, case for the most common use of each
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   632
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   633
			if ( isObj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   634
				for ( name in object ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   635
					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   636
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   637
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   638
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   639
			} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   640
				for ( ; i < length; ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   641
					if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   642
						break;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   643
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   644
				}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   645
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   646
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   647
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   648
		return object;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   649
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   650
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   651
	// Use native String.trim function wherever possible
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   652
	trim: trim ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   653
		function( text ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   654
			return text == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   655
				"" :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   656
				trim.call( text );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   657
		} :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   658
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   659
		// Otherwise use our own trimming functionality
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   660
		function( text ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   661
			return text == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   662
				"" :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   663
				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   664
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   665
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   666
	// results is for internal usage only
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   667
	makeArray: function( array, results ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   668
		var ret = results || [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   669
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   670
		if ( array != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   671
			// The window, strings (and functions) also have 'length'
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   672
			// The extra typeof function check is to prevent crashes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   673
			// in Safari 2 (See: #3039)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   674
			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   675
			var type = jQuery.type( array );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   676
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   677
			if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   678
				push.call( ret, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   679
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   680
				jQuery.merge( ret, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   681
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   682
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   683
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   684
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   685
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   686
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   687
	inArray: function( elem, array ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   688
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   689
		if ( indexOf ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   690
			return indexOf.call( array, elem );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   691
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   692
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   693
		for ( var i = 0, length = array.length; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   694
			if ( array[ i ] === elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   695
				return i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   696
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   697
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   698
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   699
		return -1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   700
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   701
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   702
	merge: function( first, second ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   703
		var i = first.length,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   704
			j = 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   705
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   706
		if ( typeof second.length === "number" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   707
			for ( var l = second.length; j < l; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   708
				first[ i++ ] = second[ j ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   709
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   710
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   711
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   712
			while ( second[j] !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   713
				first[ i++ ] = second[ j++ ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   714
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   715
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   716
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   717
		first.length = i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   718
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   719
		return first;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   720
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   721
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   722
	grep: function( elems, callback, inv ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   723
		var ret = [], retVal;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   724
		inv = !!inv;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   725
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   726
		// Go through the array, only saving the items
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   727
		// that pass the validator function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   728
		for ( var i = 0, length = elems.length; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   729
			retVal = !!callback( elems[ i ], i );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   730
			if ( inv !== retVal ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   731
				ret.push( elems[ i ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   732
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   733
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   734
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   735
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   736
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   737
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   738
	// arg is for internal usage only
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   739
	map: function( elems, callback, arg ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   740
		var value, key, ret = [],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   741
			i = 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   742
			length = elems.length,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   743
			// jquery objects are treated as arrays
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   744
			isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   745
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   746
		// Go through the array, translating each of the items to their
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   747
		if ( isArray ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   748
			for ( ; i < length; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   749
				value = callback( elems[ i ], i, arg );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   750
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   751
				if ( value != null ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   752
					ret[ ret.length ] = value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   753
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   754
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   755
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   756
		// Go through every key on the object,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   757
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   758
			for ( key in elems ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   759
				value = callback( elems[ key ], key, arg );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   760
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   761
				if ( value != null ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   762
					ret[ ret.length ] = value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   763
				}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   764
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   765
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   766
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   767
		// Flatten any nested arrays
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   768
		return ret.concat.apply( [], ret );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   769
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   770
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   771
	// A global GUID counter for objects
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   772
	guid: 1,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   773
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   774
	// Bind a function to a context, optionally partially applying any
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   775
	// arguments.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   776
	proxy: function( fn, context ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   777
		if ( typeof context === "string" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   778
			var tmp = fn[ context ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   779
			context = fn;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   780
			fn = tmp;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   781
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   782
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   783
		// Quick check to determine if target is callable, in the spec
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   784
		// this throws a TypeError, but we will just return undefined.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   785
		if ( !jQuery.isFunction( fn ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   786
			return undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   787
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   788
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   789
		// Simulated bind
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   790
		var args = slice.call( arguments, 2 ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   791
			proxy = function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   792
				return fn.apply( context, args.concat( slice.call( arguments ) ) );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   793
			};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   794
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   795
		// Set the guid of unique handler to the same of original handler, so it can be removed
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   796
		proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   797
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   798
		return proxy;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   799
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   800
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   801
	// Mutifunctional method to get and set values to a collection
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   802
	// The value/s can be optionally by executed if its a function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   803
	access: function( elems, key, value, exec, fn, pass ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   804
		var length = elems.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   805
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   806
		// Setting many attributes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   807
		if ( typeof key === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   808
			for ( var k in key ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   809
				jQuery.access( elems, k, key[k], exec, fn, value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   810
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   811
			return elems;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   812
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   813
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   814
		// Setting one attribute
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   815
		if ( value !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   816
			// Optionally, function values get executed if exec is true
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   817
			exec = !pass && exec && jQuery.isFunction(value);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   818
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   819
			for ( var i = 0; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   820
				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   821
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   822
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   823
			return elems;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   824
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   825
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   826
		// Getting an attribute
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   827
		return length ? fn( elems[0], key ) : undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   828
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   829
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   830
	now: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   831
		return (new Date()).getTime();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   832
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   833
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   834
	// Use of jQuery.browser is frowned upon.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   835
	// More details: http://docs.jquery.com/Utilities/jQuery.browser
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   836
	uaMatch: function( ua ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   837
		ua = ua.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   838
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   839
		var match = rwebkit.exec( ua ) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   840
			ropera.exec( ua ) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   841
			rmsie.exec( ua ) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   842
			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   843
			[];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   844
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   845
		return { browser: match[1] || "", version: match[2] || "0" };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   846
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   847
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   848
	sub: function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   849
		function jQuerySub( selector, context ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   850
			return new jQuerySub.fn.init( selector, context );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   851
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   852
		jQuery.extend( true, jQuerySub, this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   853
		jQuerySub.superclass = this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   854
		jQuerySub.fn = jQuerySub.prototype = this();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   855
		jQuerySub.fn.constructor = jQuerySub;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   856
		jQuerySub.sub = this.sub;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   857
		jQuerySub.fn.init = function init( selector, context ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   858
			if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   859
				context = jQuerySub( context );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   860
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   861
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   862
			return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   863
		};
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   864
		jQuerySub.fn.init.prototype = jQuerySub.fn;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   865
		var rootjQuerySub = jQuerySub(document);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   866
		return jQuerySub;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   867
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   868
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   869
	browser: {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   870
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   871
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   872
// Populate the class2type map
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   873
jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   874
	class2type[ "[object " + name + "]" ] = name.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   875
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   876
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   877
browserMatch = jQuery.uaMatch( userAgent );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   878
if ( browserMatch.browser ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   879
	jQuery.browser[ browserMatch.browser ] = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   880
	jQuery.browser.version = browserMatch.version;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   881
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   882
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   883
// Deprecated, use jQuery.browser.webkit instead
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   884
if ( jQuery.browser.webkit ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   885
	jQuery.browser.safari = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   886
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   887
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   888
// IE doesn't match non-breaking spaces with \s
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   889
if ( rnotwhite.test( "\xA0" ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   890
	trimLeft = /^[\s\xA0]+/;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   891
	trimRight = /[\s\xA0]+$/;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   892
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   893
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   894
// All jQuery objects should point back to these
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   895
rootjQuery = jQuery(document);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   896
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   897
// Cleanup functions for the document ready method
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   898
if ( document.addEventListener ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   899
	DOMContentLoaded = function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   900
		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   901
		jQuery.ready();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   902
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   903
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   904
} else if ( document.attachEvent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   905
	DOMContentLoaded = function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   906
		// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   907
		if ( document.readyState === "complete" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   908
			document.detachEvent( "onreadystatechange", DOMContentLoaded );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   909
			jQuery.ready();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   910
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   911
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   912
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   913
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   914
// The DOM ready check for Internet Explorer
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   915
function doScrollCheck() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   916
	if ( jQuery.isReady ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   917
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   918
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   919
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   920
	try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   921
		// If IE is used, use the trick by Diego Perini
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   922
		// http://javascript.nwbox.com/IEContentLoaded/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   923
		document.documentElement.doScroll("left");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   924
	} catch(e) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   925
		setTimeout( doScrollCheck, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   926
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   927
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   928
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   929
	// and execute any waiting functions
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   930
	jQuery.ready();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   931
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   932
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   933
// Expose jQuery to the global object
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   934
return jQuery;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   935
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   936
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   937
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   938
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   939
var // Promise methods
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   940
	promiseMethods = "done fail isResolved isRejected promise then always pipe".split( " " ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   941
	// Static reference to slice
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   942
	sliceDeferred = [].slice;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   943
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   944
jQuery.extend({
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   945
	// Create a simple deferred (one callbacks list)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   946
	_Deferred: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   947
		var // callbacks list
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   948
			callbacks = [],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   949
			// stored [ context , args ]
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   950
			fired,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   951
			// to avoid firing when already doing so
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   952
			firing,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   953
			// flag to know if the deferred has been cancelled
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   954
			cancelled,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   955
			// the deferred itself
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   956
			deferred  = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   957
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   958
				// done( f1, f2, ...)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   959
				done: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   960
					if ( !cancelled ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   961
						var args = arguments,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   962
							i,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   963
							length,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   964
							elem,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   965
							type,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   966
							_fired;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   967
						if ( fired ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   968
							_fired = fired;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   969
							fired = 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   970
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   971
						for ( i = 0, length = args.length; i < length; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   972
							elem = args[ i ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   973
							type = jQuery.type( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   974
							if ( type === "array" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   975
								deferred.done.apply( deferred, elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   976
							} else if ( type === "function" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   977
								callbacks.push( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   978
							}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   979
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   980
						if ( _fired ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   981
							deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   982
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   983
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   984
					return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   985
				},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   986
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   987
				// resolve with given context and args
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   988
				resolveWith: function( context, args ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   989
					if ( !cancelled && !fired && !firing ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   990
						// make sure args are available (#8421)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   991
						args = args || [];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   992
						firing = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   993
						try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   994
							while( callbacks[ 0 ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   995
								callbacks.shift().apply( context, args );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   996
							}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   997
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   998
						finally {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
   999
							fired = [ context, args ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1000
							firing = 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1001
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1002
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1003
					return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1004
				},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1005
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1006
				// resolve with this as context and given arguments
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1007
				resolve: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1008
					deferred.resolveWith( this, arguments );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1009
					return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1010
				},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1011
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1012
				// Has this deferred been resolved?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1013
				isResolved: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1014
					return !!( firing || fired );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1015
				},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1016
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1017
				// Cancel
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1018
				cancel: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1019
					cancelled = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1020
					callbacks = [];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1021
					return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1022
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1023
			};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1024
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1025
		return deferred;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1026
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1027
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1028
	// Full fledged deferred (two callbacks list)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1029
	Deferred: function( func ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1030
		var deferred = jQuery._Deferred(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1031
			failDeferred = jQuery._Deferred(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1032
			promise;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1033
		// Add errorDeferred methods, then and promise
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1034
		jQuery.extend( deferred, {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1035
			then: function( doneCallbacks, failCallbacks ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1036
				deferred.done( doneCallbacks ).fail( failCallbacks );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1037
				return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1038
			},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1039
			always: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1040
				return deferred.done.apply( deferred, arguments ).fail.apply( this, arguments );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1041
			},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1042
			fail: failDeferred.done,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1043
			rejectWith: failDeferred.resolveWith,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1044
			reject: failDeferred.resolve,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1045
			isRejected: failDeferred.isResolved,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1046
			pipe: function( fnDone, fnFail ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1047
				return jQuery.Deferred(function( newDefer ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1048
					jQuery.each( {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1049
						done: [ fnDone, "resolve" ],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1050
						fail: [ fnFail, "reject" ]
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1051
					}, function( handler, data ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1052
						var fn = data[ 0 ],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1053
							action = data[ 1 ],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1054
							returned;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1055
						if ( jQuery.isFunction( fn ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1056
							deferred[ handler ](function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1057
								returned = fn.apply( this, arguments );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1058
								if ( jQuery.isFunction( returned.promise ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1059
									returned.promise().then( newDefer.resolve, newDefer.reject );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1060
								} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1061
									newDefer[ action ]( returned );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1062
								}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1063
							});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1064
						} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1065
							deferred[ handler ]( newDefer[ action ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1066
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1067
					});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1068
				}).promise();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1069
			},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1070
			// Get a promise for this deferred
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1071
			// If obj is provided, the promise aspect is added to the object
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1072
			promise: function( obj ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1073
				if ( obj == null ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1074
					if ( promise ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1075
						return promise;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1076
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1077
					promise = obj = {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1078
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1079
				var i = promiseMethods.length;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1080
				while( i-- ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1081
					obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1082
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1083
				return obj;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1084
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1085
		});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1086
		// Make sure only one callback list will be used
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1087
		deferred.done( failDeferred.cancel ).fail( deferred.cancel );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1088
		// Unexpose cancel
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1089
		delete deferred.cancel;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1090
		// Call given func if any
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1091
		if ( func ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1092
			func.call( deferred, deferred );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1093
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1094
		return deferred;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1095
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1096
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1097
	// Deferred helper
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1098
	when: function( firstParam ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1099
		var args = arguments,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1100
			i = 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1101
			length = args.length,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1102
			count = length,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1103
			deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1104
				firstParam :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1105
				jQuery.Deferred();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1106
		function resolveFunc( i ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1107
			return function( value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1108
				args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1109
				if ( !( --count ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1110
					// Strange bug in FF4:
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1111
					// Values changed onto the arguments object sometimes end up as undefined values
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1112
					// outside the $.when method. Cloning the object into a fresh array solves the issue
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1113
					deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1114
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1115
			};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1116
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1117
		if ( length > 1 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1118
			for( ; i < length; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1119
				if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1120
					args[ i ].promise().then( resolveFunc(i), deferred.reject );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1121
				} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1122
					--count;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1123
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1124
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1125
			if ( !count ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1126
				deferred.resolveWith( deferred, args );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1127
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1128
		} else if ( deferred !== firstParam ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1129
			deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1130
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1131
		return deferred.promise();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1132
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1133
});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1134
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1135
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1136
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1137
jQuery.support = (function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1138
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1139
	var div = document.createElement( "div" ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1140
		all,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1141
		a,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1142
		select,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1143
		opt,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1144
		input,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1145
		marginDiv,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1146
		support,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1147
		fragment,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1148
		body,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1149
		bodyStyle,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1150
		tds,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1151
		events,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1152
		eventName,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1153
		i,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1154
		isSupported;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1155
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1156
	// Preliminary tests
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1157
	div.setAttribute("className", "t");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1158
	div.innerHTML = "   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1159
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1160
	all = div.getElementsByTagName( "*" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1161
	a = div.getElementsByTagName( "a" )[ 0 ];
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1162
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1163
	// Can't get basic test support
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1164
	if ( !all || !all.length || !a ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1165
		return {};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1166
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1167
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1168
	// First batch of supports tests
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1169
	select = document.createElement( "select" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1170
	opt = select.appendChild( document.createElement("option") );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1171
	input = div.getElementsByTagName( "input" )[ 0 ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1172
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1173
	support = {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1174
		// IE strips leading whitespace when .innerHTML is used
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1175
		leadingWhitespace: ( div.firstChild.nodeType === 3 ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1176
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1177
		// Make sure that tbody elements aren't automatically inserted
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1178
		// IE will insert them into empty tables
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1179
		tbody: !div.getElementsByTagName( "tbody" ).length,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1180
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1181
		// Make sure that link elements get serialized correctly by innerHTML
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1182
		// This requires a wrapper element in IE
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1183
		htmlSerialize: !!div.getElementsByTagName( "link" ).length,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1184
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1185
		// Get the style information from getAttribute
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1186
		// (IE uses .cssText instead)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1187
		style: /top/.test( a.getAttribute("style") ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1188
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1189
		// Make sure that URLs aren't manipulated
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1190
		// (IE normalizes it by default)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1191
		hrefNormalized: ( a.getAttribute( "href" ) === "/a" ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1192
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1193
		// Make sure that element opacity exists
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1194
		// (IE uses filter instead)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1195
		// Use a regex to work around a WebKit issue. See #5145
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1196
		opacity: /^0.55$/.test( a.style.opacity ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1197
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1198
		// Verify style float existence
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1199
		// (IE uses styleFloat instead of cssFloat)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1200
		cssFloat: !!a.style.cssFloat,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1201
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1202
		// Make sure that if no value is specified for a checkbox
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1203
		// that it defaults to "on".
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1204
		// (WebKit defaults to "" instead)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1205
		checkOn: ( input.value === "on" ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1206
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1207
		// Make sure that a selected-by-default option has a working selected property.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1208
		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1209
		optSelected: opt.selected,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1210
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1211
		// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1212
		getSetAttribute: div.className !== "t",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1213
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1214
		// Will be defined later
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1215
		submitBubbles: true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1216
		changeBubbles: true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1217
		focusinBubbles: false,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1218
		deleteExpando: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1219
		noCloneEvent: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1220
		inlineBlockNeedsLayout: false,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1221
		shrinkWrapBlocks: false,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1222
		reliableMarginRight: true
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1223
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1224
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1225
	// Make sure checked status is properly cloned
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1226
	input.checked = true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1227
	support.noCloneChecked = input.cloneNode( true ).checked;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1228
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1229
	// Make sure that the options inside disabled selects aren't marked as disabled
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1230
	// (WebKit marks them as disabled)
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1231
	select.disabled = true;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1232
	support.optDisabled = !opt.disabled;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1233
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1234
	// Test to see if it's possible to delete an expando from an element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1235
	// Fails in Internet Explorer
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1236
	try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1237
		delete div.test;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1238
	} catch( e ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1239
		support.deleteExpando = false;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1240
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1241
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1242
	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1243
		div.attachEvent( "onclick", function click() {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1244
			// Cloning a node shouldn't copy over any
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1245
			// bound event handlers (IE does this)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1246
			support.noCloneEvent = false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1247
			div.detachEvent( "onclick", click );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1248
		});
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1249
		div.cloneNode( true ).fireEvent( "onclick" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1250
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1251
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1252
	// Check if a radio maintains it's value
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1253
	// after being appended to the DOM
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1254
	input = document.createElement("input");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1255
	input.value = "t";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1256
	input.setAttribute("type", "radio");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1257
	support.radioValue = input.value === "t";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1258
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1259
	input.setAttribute("checked", "checked");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1260
	div.appendChild( input );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1261
	fragment = document.createDocumentFragment();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1262
	fragment.appendChild( div.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1263
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1264
	// WebKit doesn't clone checked state correctly in fragments
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1265
	support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1266
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1267
	div.innerHTML = "";
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1268
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1269
	// Figure out if the W3C box model works as expected
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1270
	div.style.width = div.style.paddingLeft = "1px";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1271
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1272
	// We use our own, invisible, body
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1273
	body = document.createElement( "body" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1274
	bodyStyle = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1275
		visibility: "hidden",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1276
		width: 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1277
		height: 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1278
		border: 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1279
		margin: 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1280
		// Set background to avoid IE crashes when removing (#9028)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1281
		background: "none"
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1282
	};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1283
	for ( i in bodyStyle ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1284
		body.style[ i ] = bodyStyle[ i ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1285
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1286
	body.appendChild( div );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1287
	document.documentElement.appendChild( body );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1288
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1289
	// Check if a disconnected checkbox will retain its checked
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1290
	// value of true after appended to the DOM (IE6/7)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1291
	support.appendChecked = input.checked;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1292
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1293
	support.boxModel = div.offsetWidth === 2;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1294
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1295
	if ( "zoom" in div.style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1296
		// Check if natively block-level elements act like inline-block
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1297
		// elements when setting their display to 'inline' and giving
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1298
		// them layout
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1299
		// (IE < 8 does this)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1300
		div.style.display = "inline";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1301
		div.style.zoom = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1302
		support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1303
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1304
		// Check if elements with layout shrink-wrap their children
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1305
		// (IE 6 does this)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1306
		div.style.display = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1307
		div.innerHTML = "<div style='width:4px;'></div>";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1308
		support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1309
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1310
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1311
	div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1312
	tds = div.getElementsByTagName( "td" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1313
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1314
	// Check if table cells still have offsetWidth/Height when they are set
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1315
	// to display:none and there are still other visible table cells in a
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1316
	// table row; if so, offsetWidth/Height are not reliable for use when
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1317
	// determining if an element has been hidden directly using
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1318
	// display:none (it is still safe to use offsets if a parent element is
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1319
	// hidden; don safety goggles and see bug #4512 for more information).
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1320
	// (only IE 8 fails this test)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1321
	isSupported = ( tds[ 0 ].offsetHeight === 0 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1322
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1323
	tds[ 0 ].style.display = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1324
	tds[ 1 ].style.display = "none";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1325
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1326
	// Check if empty table cells still have offsetWidth/Height
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1327
	// (IE < 8 fail this test)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1328
	support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1329
	div.innerHTML = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1330
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1331
	// Check if div with explicit width and no margin-right incorrectly
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1332
	// gets computed margin-right based on width of container. For more
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1333
	// info see bug #3333
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1334
	// Fails in WebKit before Feb 2011 nightlies
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1335
	// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1336
	if ( document.defaultView && document.defaultView.getComputedStyle ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1337
		marginDiv = document.createElement( "div" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1338
		marginDiv.style.width = "0";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1339
		marginDiv.style.marginRight = "0";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1340
		div.appendChild( marginDiv );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1341
		support.reliableMarginRight =
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1342
			( parseInt( document.defaultView.getComputedStyle( marginDiv, null ).marginRight, 10 ) || 0 ) === 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1343
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1344
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1345
	// Remove the body element we added
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1346
	body.innerHTML = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1347
	document.documentElement.removeChild( body );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1348
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1349
	// Technique from Juriy Zaytsev
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1350
	// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1351
	// We only care about the case where non-standard event systems
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1352
	// are used, namely in IE. Short-circuiting here helps us to
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1353
	// avoid an eval call (in setAttribute) which can cause CSP
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1354
	// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1355
	if ( div.attachEvent ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1356
		for( i in {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1357
			submit: 1,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1358
			change: 1,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1359
			focusin: 1
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1360
		} ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1361
			eventName = "on" + i;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1362
			isSupported = ( eventName in div );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1363
			if ( !isSupported ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1364
				div.setAttribute( eventName, "return;" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1365
				isSupported = ( typeof div[ eventName ] === "function" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1366
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1367
			support[ i + "Bubbles" ] = isSupported;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1368
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1369
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1370
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1371
	return support;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1372
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1373
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1374
// Keep track of boxModel
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1375
jQuery.boxModel = jQuery.support.boxModel;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1376
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1377
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1378
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1379
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1380
var rbrace = /^(?:\{.*\}|\[.*\])$/,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1381
	rmultiDash = /([a-z])([A-Z])/g;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1382
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1383
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1384
	cache: {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1385
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1386
	// Please use with caution
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1387
	uuid: 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1388
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1389
	// Unique for each copy of jQuery on the page
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1390
	// Non-digits removed to match rinlinejQuery
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1391
	expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1392
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1393
	// The following elements throw uncatchable exceptions if you
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1394
	// attempt to add expando properties to them.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1395
	noData: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1396
		"embed": true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1397
		// Ban all objects except for Flash (which handle expandos)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1398
		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1399
		"applet": true
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1400
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1401
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1402
	hasData: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1403
		elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1404
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1405
		return !!elem && !isEmptyDataObject( elem );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1406
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1407
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1408
	data: function( elem, name, data, pvt /* Internal Use Only */ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1409
		if ( !jQuery.acceptData( elem ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1410
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1411
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1412
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1413
		var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1414
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1415
			// We have to handle DOM nodes and JS objects differently because IE6-7
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1416
			// can't GC object references properly across the DOM-JS boundary
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1417
			isNode = elem.nodeType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1418
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1419
			// Only DOM nodes need the global jQuery cache; JS object data is
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1420
			// attached directly to the object so GC can occur automatically
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1421
			cache = isNode ? jQuery.cache : elem,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1422
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1423
			// Only defining an ID for JS objects if its cache already exists allows
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1424
			// the code to shortcut on the same path as a DOM node with no cache
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1425
			id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1426
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1427
		// Avoid doing any more work than we need to when trying to get data on an
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1428
		// object that has no data at all
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1429
		if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1430
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1431
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1432
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1433
		if ( !id ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1434
			// Only DOM nodes need a new unique ID for each element since their data
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1435
			// ends up in the global cache
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1436
			if ( isNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1437
				elem[ jQuery.expando ] = id = ++jQuery.uuid;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1438
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1439
				id = jQuery.expando;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1440
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1441
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1442
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1443
		if ( !cache[ id ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1444
			cache[ id ] = {};
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1445
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1446
			// TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1447
			// metadata on plain JS objects when the object is serialized using
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1448
			// JSON.stringify
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1449
			if ( !isNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1450
				cache[ id ].toJSON = jQuery.noop;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1451
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1452
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1453
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1454
		// An object can be passed to jQuery.data instead of a key/value pair; this gets
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1455
		// shallow copied over onto the existing cache
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1456
		if ( typeof name === "object" || typeof name === "function" ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1457
			if ( pvt ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1458
				cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1459
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1460
				cache[ id ] = jQuery.extend(cache[ id ], name);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1461
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1462
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1463
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1464
		thisCache = cache[ id ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1465
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1466
		// Internal jQuery data is stored in a separate object inside the object's data
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1467
		// cache in order to avoid key collisions between internal data and user-defined
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1468
		// data
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1469
		if ( pvt ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1470
			if ( !thisCache[ internalKey ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1471
				thisCache[ internalKey ] = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1472
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1473
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1474
			thisCache = thisCache[ internalKey ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1475
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1476
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1477
		if ( data !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1478
			thisCache[ name ] = data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1479
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1480
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1481
		// TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1482
		// not attempt to inspect the internal events object using jQuery.data, as this
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1483
		// internal data object is undocumented and subject to change.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1484
		if ( name === "events" && !thisCache[name] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1485
			return thisCache[ internalKey ] && thisCache[ internalKey ].events;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1486
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1487
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1488
		return getByName ? thisCache[ name ] : thisCache;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1489
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1490
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1491
	removeData: function( elem, name, pvt /* Internal Use Only */ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1492
		if ( !jQuery.acceptData( elem ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1493
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1494
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1495
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1496
		var internalKey = jQuery.expando, isNode = elem.nodeType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1497
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1498
			// See jQuery.data for more information
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1499
			cache = isNode ? jQuery.cache : elem,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1500
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1501
			// See jQuery.data for more information
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1502
			id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1503
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1504
		// If there is already no cache entry for this object, there is no
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1505
		// purpose in continuing
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1506
		if ( !cache[ id ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1507
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1508
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1509
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1510
		if ( name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1511
			var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1512
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1513
			if ( thisCache ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1514
				delete thisCache[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1515
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1516
				// If there is no data left in the cache, we want to continue
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1517
				// and let the cache object itself get destroyed
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1518
				if ( !isEmptyDataObject(thisCache) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1519
					return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1520
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1521
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1522
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1523
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1524
		// See jQuery.data for more information
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1525
		if ( pvt ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1526
			delete cache[ id ][ internalKey ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1527
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1528
			// Don't destroy the parent cache unless the internal data object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1529
			// had been the only thing left in it
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1530
			if ( !isEmptyDataObject(cache[ id ]) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1531
				return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1532
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1533
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1534
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1535
		var internalCache = cache[ id ][ internalKey ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1536
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1537
		// Browsers that fail expando deletion also refuse to delete expandos on
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1538
		// the window, but it will allow it on all other JS objects; other browsers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1539
		// don't care
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1540
		if ( jQuery.support.deleteExpando || cache != window ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1541
			delete cache[ id ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1542
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1543
			cache[ id ] = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1544
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1545
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1546
		// We destroyed the entire user cache at once because it's faster than
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1547
		// iterating through each key, but we need to continue to persist internal
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1548
		// data if it existed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1549
		if ( internalCache ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1550
			cache[ id ] = {};
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1551
			// TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1552
			// metadata on plain JS objects when the object is serialized using
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1553
			// JSON.stringify
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1554
			if ( !isNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1555
				cache[ id ].toJSON = jQuery.noop;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1556
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1557
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1558
			cache[ id ][ internalKey ] = internalCache;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1559
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1560
		// Otherwise, we need to eliminate the expando on the node to avoid
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1561
		// false lookups in the cache for entries that no longer exist
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1562
		} else if ( isNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1563
			// IE does not allow us to delete expando properties from nodes,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1564
			// nor does it have a removeAttribute function on Document nodes;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1565
			// we must handle all of these cases
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1566
			if ( jQuery.support.deleteExpando ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1567
				delete elem[ jQuery.expando ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1568
			} else if ( elem.removeAttribute ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1569
				elem.removeAttribute( jQuery.expando );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1570
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1571
				elem[ jQuery.expando ] = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1572
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1573
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1574
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1576
	// For internal use only.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1577
	_data: function( elem, name, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1578
		return jQuery.data( elem, name, data, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1579
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1580
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1581
	// A method for determining if a DOM node can handle the data expando
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1582
	acceptData: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1583
		if ( elem.nodeName ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1584
			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1585
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1586
			if ( match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1587
				return !(match === true || elem.getAttribute("classid") !== match);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1588
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1589
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1590
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1591
		return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1592
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1593
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1594
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1595
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1596
	data: function( key, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1597
		var data = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1598
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1599
		if ( typeof key === "undefined" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1600
			if ( this.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1601
				data = jQuery.data( this[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1602
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1603
				if ( this[0].nodeType === 1 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1604
			    var attr = this[0].attributes, name;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1605
					for ( var i = 0, l = attr.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1606
						name = attr[i].name;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1607
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1608
						if ( name.indexOf( "data-" ) === 0 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1609
							name = jQuery.camelCase( name.substring(5) );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1610
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1611
							dataAttr( this[0], name, data[ name ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1612
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1613
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1614
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1615
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1616
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1617
			return data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1618
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1619
		} else if ( typeof key === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1620
			return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1621
				jQuery.data( this, key );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1622
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1623
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1624
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1625
		var parts = key.split(".");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1626
		parts[1] = parts[1] ? "." + parts[1] : "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1627
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1628
		if ( value === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1629
			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1630
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1631
			// Try to fetch any internally stored data first
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1632
			if ( data === undefined && this.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1633
				data = jQuery.data( this[0], key );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1634
				data = dataAttr( this[0], key, data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1635
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1636
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1637
			return data === undefined && parts[1] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1638
				this.data( parts[0] ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1639
				data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1640
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1641
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1642
			return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1643
				var $this = jQuery( this ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1644
					args = [ parts[0], value ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1645
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1646
				$this.triggerHandler( "setData" + parts[1] + "!", args );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1647
				jQuery.data( this, key, value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1648
				$this.triggerHandler( "changeData" + parts[1] + "!", args );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1649
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1650
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1651
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1652
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1653
	removeData: function( key ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1654
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1655
			jQuery.removeData( this, key );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1656
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1657
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1658
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1659
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1660
function dataAttr( elem, key, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1661
	// If nothing was found internally, try to fetch any
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1662
	// data from the HTML5 data-* attribute
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1663
	if ( data === undefined && elem.nodeType === 1 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1664
		name = "data-" + key.replace( rmultiDash, "$1-$2" ).toLowerCase();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1665
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1666
		data = elem.getAttribute( name );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1667
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1668
		if ( typeof data === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1669
			try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1670
				data = data === "true" ? true :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1671
				data === "false" ? false :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1672
				data === "null" ? null :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1673
				!jQuery.isNaN( data ) ? parseFloat( data ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1674
					rbrace.test( data ) ? jQuery.parseJSON( data ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1675
					data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1676
			} catch( e ) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1677
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1678
			// Make sure we set the data so it isn't changed later
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1679
			jQuery.data( elem, key, data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1680
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1681
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1682
			data = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1683
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1684
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1685
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1686
	return data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1687
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1688
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1689
// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1690
// property to be considered empty objects; this property always exists in
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1691
// order to make sure JSON.stringify does not expose internal metadata
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1692
function isEmptyDataObject( obj ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1693
	for ( var name in obj ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1694
		if ( name !== "toJSON" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1695
			return false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1696
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1697
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1698
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1699
	return true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1700
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1701
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1702
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1703
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1704
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1705
function handleQueueMarkDefer( elem, type, src ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1706
	var deferDataKey = type + "defer",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1707
		queueDataKey = type + "queue",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1708
		markDataKey = type + "mark",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1709
		defer = jQuery.data( elem, deferDataKey, undefined, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1710
	if ( defer &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1711
		( src === "queue" || !jQuery.data( elem, queueDataKey, undefined, true ) ) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1712
		( src === "mark" || !jQuery.data( elem, markDataKey, undefined, true ) ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1713
		// Give room for hard-coded callbacks to fire first
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1714
		// and eventually mark/queue something else on the element
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1715
		setTimeout( function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1716
			if ( !jQuery.data( elem, queueDataKey, undefined, true ) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1717
				!jQuery.data( elem, markDataKey, undefined, true ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1718
				jQuery.removeData( elem, deferDataKey, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1719
				defer.resolve();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1720
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1721
		}, 0 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1722
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1723
}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1724
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1725
jQuery.extend({
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1726
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1727
	_mark: function( elem, type ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1728
		if ( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1729
			type = (type || "fx") + "mark";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1730
			jQuery.data( elem, type, (jQuery.data(elem,type,undefined,true) || 0) + 1, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1731
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1732
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1733
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1734
	_unmark: function( force, elem, type ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1735
		if ( force !== true ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1736
			type = elem;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1737
			elem = force;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1738
			force = false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1739
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1740
		if ( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1741
			type = type || "fx";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1742
			var key = type + "mark",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1743
				count = force ? 0 : ( (jQuery.data( elem, key, undefined, true) || 1 ) - 1 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1744
			if ( count ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1745
				jQuery.data( elem, key, count, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1746
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1747
				jQuery.removeData( elem, key, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1748
				handleQueueMarkDefer( elem, type, "mark" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1749
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1750
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1751
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1752
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1753
	queue: function( elem, type, data ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1754
		if ( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1755
			type = (type || "fx") + "queue";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1756
			var q = jQuery.data( elem, type, undefined, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1757
			// Speed up dequeue by getting out quickly if this is just a lookup
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1758
			if ( data ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1759
				if ( !q || jQuery.isArray(data) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1760
					q = jQuery.data( elem, type, jQuery.makeArray(data), true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1761
				} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1762
					q.push( data );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1763
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1764
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1765
			return q || [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1766
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1767
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1768
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1769
	dequeue: function( elem, type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1770
		type = type || "fx";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1771
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1772
		var queue = jQuery.queue( elem, type ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1773
			fn = queue.shift(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1774
			defer;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1775
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1776
		// If the fx queue is dequeued, always remove the progress sentinel
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1777
		if ( fn === "inprogress" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1778
			fn = queue.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1779
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1780
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1781
		if ( fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1782
			// Add a progress sentinel to prevent the fx queue from being
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1783
			// automatically dequeued
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1784
			if ( type === "fx" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1785
				queue.unshift("inprogress");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1786
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1787
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1788
			fn.call(elem, function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1789
				jQuery.dequeue(elem, type);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1790
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1791
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1792
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1793
		if ( !queue.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1794
			jQuery.removeData( elem, type + "queue", true );
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1795
			handleQueueMarkDefer( elem, type, "queue" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1796
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1797
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1798
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1799
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1800
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1801
	queue: function( type, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1802
		if ( typeof type !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1803
			data = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1804
			type = "fx";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1805
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1806
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1807
		if ( data === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1808
			return jQuery.queue( this[0], type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1809
		}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1810
		return this.each(function() {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1811
			var queue = jQuery.queue( this, type, data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1812
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1813
			if ( type === "fx" && queue[0] !== "inprogress" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1814
				jQuery.dequeue( this, type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1815
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1816
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1817
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1818
	dequeue: function( type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1819
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1820
			jQuery.dequeue( this, type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1821
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1822
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1823
	// Based off of the plugin by Clint Helfers, with permission.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1824
	// http://blindsignals.com/index.php/2009/07/jquery-delay/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1825
	delay: function( time, type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1826
		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1827
		type = type || "fx";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1828
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1829
		return this.queue( type, function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1830
			var elem = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1831
			setTimeout(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1832
				jQuery.dequeue( elem, type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1833
			}, time );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1834
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1835
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1836
	clearQueue: function( type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1837
		return this.queue( type || "fx", [] );
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1838
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1839
	// Get a promise resolved when queues of a certain type
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1840
	// are emptied (fx is the type by default)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1841
	promise: function( type, object ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1842
		if ( typeof type !== "string" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1843
			object = type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1844
			type = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1845
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1846
		type = type || "fx";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1847
		var defer = jQuery.Deferred(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1848
			elements = this,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1849
			i = elements.length,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1850
			count = 1,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1851
			deferDataKey = type + "defer",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1852
			queueDataKey = type + "queue",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1853
			markDataKey = type + "mark";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1854
		function resolve() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1855
			if ( !( --count ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1856
				defer.resolveWith( elements, [ elements ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1857
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1858
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1859
		while( i-- ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1860
			if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1861
					( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1862
						jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1863
					jQuery.data( elements[ i ], deferDataKey, jQuery._Deferred(), true ) )) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1864
				count++;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1865
				tmp.done( resolve );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1866
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1867
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1868
		resolve();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1869
		return defer.promise();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1870
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1871
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1872
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1873
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1874
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1875
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1876
var rclass = /[\n\t\r]/g,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1877
	rspace = /\s+/,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1878
	rreturn = /\r/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1879
	rtype = /^(?:button|input)$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1880
	rfocusable = /^(?:button|input|object|select|textarea)$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1881
	rclickable = /^a(?:rea)?$/i,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1882
	rspecial = /^(?:data-|aria-)/,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1883
	rinvalidChar = /\:/,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1884
	formHook;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1885
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1886
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1887
	attr: function( name, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1888
		return jQuery.access( this, name, value, true, jQuery.attr );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1889
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1890
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1891
	removeAttr: function( name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1892
		return this.each(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1893
			jQuery.removeAttr( this, name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1894
		});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1895
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1896
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1897
	prop: function( name, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1898
		return jQuery.access( this, name, value, true, jQuery.prop );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1899
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1900
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1901
	removeProp: function( name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1902
		return this.each(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1903
			// try/catch handles cases where IE balks (such as removing a property on window)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1904
			try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1905
				this[ name ] = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1906
				delete this[ name ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1907
			} catch( e ) {}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1908
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1909
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1910
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1911
	addClass: function( value ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1912
		if ( jQuery.isFunction( value ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1913
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1914
				var self = jQuery(this);
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1915
				self.addClass( value.call(this, i, self.attr("class") || "") );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1916
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1917
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1918
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1919
		if ( value && typeof value === "string" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1920
			var classNames = (value || "").split( rspace );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1921
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1922
			for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1923
				var elem = this[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1924
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1925
				if ( elem.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1926
					if ( !elem.className ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1927
						elem.className = value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1928
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1929
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1930
						var className = " " + elem.className + " ",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1931
							setClass = elem.className;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1932
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1933
						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1934
							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1935
								setClass += " " + classNames[c];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1936
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1937
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1938
						elem.className = jQuery.trim( setClass );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1939
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1940
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1941
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1942
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1943
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1944
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1945
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1946
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1947
	removeClass: function( value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1948
		if ( jQuery.isFunction(value) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1949
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1950
				var self = jQuery(this);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1951
				self.removeClass( value.call(this, i, self.attr("class")) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1952
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1953
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1954
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1955
		if ( (value && typeof value === "string") || value === undefined ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1956
			var classNames = (value || "").split( rspace );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1957
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1958
			for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1959
				var elem = this[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1960
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1961
				if ( elem.nodeType === 1 && elem.className ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1962
					if ( value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1963
						var className = (" " + elem.className + " ").replace(rclass, " ");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1964
						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1965
							className = className.replace(" " + classNames[c] + " ", " ");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1966
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1967
						elem.className = jQuery.trim( className );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1968
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1969
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1970
						elem.className = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1971
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1972
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1973
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1974
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1975
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1976
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1977
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1978
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1979
	toggleClass: function( value, stateVal ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1980
		var type = typeof value,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1981
			isBool = typeof stateVal === "boolean";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1982
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1983
		if ( jQuery.isFunction( value ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1984
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1985
				var self = jQuery(this);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1986
				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1987
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1988
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1989
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1990
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1991
			if ( type === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1992
				// toggle individual class names
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1993
				var className,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1994
					i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1995
					self = jQuery( this ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1996
					state = stateVal,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  1997
					classNames = value.split( rspace );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1998
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1999
				while ( (className = classNames[ i++ ]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2000
					// check each className given, space seperated list
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2001
					state = isBool ? state : !self.hasClass( className );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2002
					self[ state ? "addClass" : "removeClass" ]( className );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2003
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2004
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2005
			} else if ( type === "undefined" || type === "boolean" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2006
				if ( this.className ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2007
					// store className if set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2008
					jQuery._data( this, "__className__", this.className );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2009
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2010
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2011
				// toggle whole className
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2012
				this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2013
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2014
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2015
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2016
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2017
	hasClass: function( selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2018
		var className = " " + selector + " ";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2019
		for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2020
			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2021
				return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2022
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2023
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2024
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2025
		return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2026
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2027
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2028
	val: function( value ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2029
		var hooks, ret,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2030
			elem = this[0];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2031
		
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2032
		if ( !arguments.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2033
			if ( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2034
				hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2035
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2036
				if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2037
					return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2038
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2039
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2040
				return (elem.value || "").replace(rreturn, "");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2041
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2042
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2043
			return undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2044
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2045
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2046
		var isFunction = jQuery.isFunction( value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2047
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2048
		return this.each(function( i ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2049
			var self = jQuery(this), val;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2050
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2051
			if ( this.nodeType !== 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2052
				return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2053
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2054
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2055
			if ( isFunction ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2056
				val = value.call( this, i, self.val() );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2057
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2058
				val = value;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2059
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2060
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2061
			// Treat null/undefined as ""; convert numbers to string
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2062
			if ( val == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2063
				val = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2064
			} else if ( typeof val === "number" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2065
				val += "";
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2066
			} else if ( jQuery.isArray( val ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2067
				val = jQuery.map(val, function ( value ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2068
					return value == null ? "" : value + "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2069
				});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2070
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2071
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2072
			hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2073
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2074
			// If set returns undefined, fall back to normal setting
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2075
			if ( !hooks || ("set" in hooks && hooks.set( this, val, "value" ) === undefined) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2076
				this.value = val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2077
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2078
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2079
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2080
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2081
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2082
jQuery.extend({
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2083
	valHooks: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2084
		option: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2085
			get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2086
				// attributes.value is undefined in Blackberry 4.7 but
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2087
				// uses .value. See #6932
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2088
				var val = elem.attributes.value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2089
				return !val || val.specified ? elem.value : elem.text;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2090
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2091
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2092
		select: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2093
			get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2094
				var index = elem.selectedIndex,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2095
					values = [],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2096
					options = elem.options,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2097
					one = elem.type === "select-one";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2098
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2099
				// Nothing was selected
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2100
				if ( index < 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2101
					return null;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2102
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2103
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2104
				// Loop through all the selected options
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2105
				for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2106
					var option = options[ i ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2107
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2108
					// Don't return options that are disabled or in a disabled optgroup
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2109
					if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2110
							(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2111
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2112
						// Get the specific value for the option
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2113
						value = jQuery( option ).val();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2114
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2115
						// We don't need an array for one selects
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2116
						if ( one ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2117
							return value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2118
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2119
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2120
						// Multi-Selects return an array
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2121
						values.push( value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2122
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2123
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2124
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2125
				// Fixes Bug #2551 -- select.val() broken in IE after form.reset()
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2126
				if ( one && !values.length && options.length ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2127
					return jQuery( options[ index ] ).val();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2128
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2129
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2130
				return values;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2131
			},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2132
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2133
			set: function( elem, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2134
				var values = jQuery.makeArray( value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2135
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2136
				jQuery(elem).find("option").each(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2137
					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2138
				});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2139
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2140
				if ( !values.length ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2141
					elem.selectedIndex = -1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2142
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2143
				return values;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2144
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2145
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2146
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2147
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2148
	attrFn: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2149
		val: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2150
		css: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2151
		html: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2152
		text: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2153
		data: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2154
		width: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2155
		height: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2156
		offset: true
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2157
	},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2158
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2159
	attrFix: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2160
		// Always normalize to ensure hook usage
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2161
		tabindex: "tabIndex",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2162
		readonly: "readOnly"
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2163
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2164
	
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2165
	attr: function( elem, name, value, pass ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2166
		var nType = elem.nodeType;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2167
		
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2168
		// don't get/set attributes on text, comment and attribute nodes
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2169
		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2170
			return undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2171
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2172
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2173
		if ( pass && name in jQuery.attrFn ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2174
			return jQuery( elem )[ name ]( value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2175
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2176
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2177
		var ret, hooks,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2178
			notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2179
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2180
		// Normalize the name if needed
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2181
		name = notxml && jQuery.attrFix[ name ] || name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2182
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2183
		// Get the appropriate hook, or the formHook
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2184
		// if getSetAttribute is not supported and we have form objects in IE6/7
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2185
		hooks = jQuery.attrHooks[ name ] ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2186
			( formHook && (jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2187
				formHook :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2188
				undefined );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2189
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2190
		if ( value !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2191
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2192
			if ( value === null || (value === false && !rspecial.test( name )) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2193
				jQuery.removeAttr( elem, name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2194
				return undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2195
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2196
			} else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2197
				return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2198
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2199
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2200
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2201
				// Set boolean attributes to the same name
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2202
				if ( value === true && !rspecial.test( name ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2203
					value = name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2204
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2205
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2206
				elem.setAttribute( name, "" + value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2207
				return value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2208
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2209
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2210
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2211
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2212
			if ( hooks && "get" in hooks && notxml ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2213
				return hooks.get( elem, name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2214
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2215
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2216
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2217
				ret = elem.getAttribute( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2218
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2219
				// Non-existent attributes return null, we normalize to undefined
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2220
				return ret === null ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2221
					undefined :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2222
					ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2223
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2224
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2225
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2226
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2227
	removeAttr: function( elem, name ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2228
		if ( elem.nodeType === 1 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2229
			name = jQuery.attrFix[ name ] || name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2230
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2231
			if ( jQuery.support.getSetAttribute ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2232
				// Use removeAttribute in browsers that support it
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2233
				elem.removeAttribute( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2234
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2235
				jQuery.attr( elem, name, "" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2236
				elem.removeAttributeNode( elem.getAttributeNode( name ) );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2237
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2238
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2239
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2240
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2241
	attrHooks: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2242
		type: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2243
			set: function( elem, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2244
				// We can't allow the type property to be changed (since it causes problems in IE)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2245
				if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2246
					jQuery.error( "type property can't be changed" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2247
				} else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2248
					// Setting the type on a radio button after the value resets the value in IE6-9
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2249
					// Reset value to it's default in case type is set after value
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2250
					// This is for element creation
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2251
					var val = elem.getAttribute("value");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2252
					elem.setAttribute( "type", value );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2253
					if ( val ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2254
						elem.value = val;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2255
					}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2256
					return value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2257
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2258
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2259
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2260
		tabIndex: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2261
			get: function( elem ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2262
				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2263
				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2264
				var attributeNode = elem.getAttributeNode("tabIndex");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2265
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2266
				return attributeNode && attributeNode.specified ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2267
					parseInt( attributeNode.value, 10 ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2268
					rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2269
						0 :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2270
						undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2271
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2272
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2273
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2274
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2275
	propFix: {},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2276
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2277
	prop: function( elem, name, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2278
		var nType = elem.nodeType;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2279
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2280
		// don't get/set properties on text, comment and attribute nodes
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2281
		if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2282
			return undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2283
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2284
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2285
		var ret, hooks,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2286
			notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2287
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2288
		// Try to normalize/fix the name
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2289
		name = notxml && jQuery.propFix[ name ] || name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2290
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2291
		hooks = jQuery.propHooks[ name ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2292
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2293
		if ( value !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2294
			if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2295
				return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2296
			
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2297
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2298
				return (elem[ name ] = value);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2299
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2300
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2301
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2302
			if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2303
				return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2304
				
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2305
			} else {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2306
				return elem[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2307
			}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2308
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2309
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2310
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2311
	propHooks: {}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2312
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2313
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2314
// IE6/7 do not support getting/setting some attributes with get/setAttribute
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2315
if ( !jQuery.support.getSetAttribute ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2316
	jQuery.attrFix = jQuery.extend( jQuery.attrFix, {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2317
		"for": "htmlFor",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2318
		"class": "className",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2319
		maxlength: "maxLength",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2320
		cellspacing: "cellSpacing",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2321
		cellpadding: "cellPadding",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2322
		rowspan: "rowSpan",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2323
		colspan: "colSpan",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2324
		usemap: "useMap",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2325
		frameborder: "frameBorder"
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2326
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2327
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2328
	// Use this for any attribute on a form in IE6/7
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2329
	formHook = jQuery.attrHooks.name = jQuery.attrHooks.value = jQuery.valHooks.button = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2330
		get: function( elem, name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2331
			var ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2332
			if ( name === "value" && !jQuery.nodeName( elem, "button" ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2333
				return elem.getAttribute( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2334
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2335
			ret = elem.getAttributeNode( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2336
			// Return undefined if not specified instead of empty string
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2337
			return ret && ret.specified ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2338
				ret.nodeValue :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2339
				undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2340
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2341
		set: function( elem, value, name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2342
			// Check form objects in IE (multiple bugs related)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2343
			// Only use nodeValue if the attribute node exists on the form
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2344
			var ret = elem.getAttributeNode( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2345
			if ( ret ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2346
				ret.nodeValue = value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2347
				return value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2348
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2349
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2350
	};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2351
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2352
	// Set width and height to auto instead of 0 on empty string( Bug #8150 )
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2353
	// This is for removals
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2354
	jQuery.each([ "width", "height" ], function( i, name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2355
		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2356
			set: function( elem, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2357
				if ( value === "" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2358
					elem.setAttribute( name, "auto" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2359
					return value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2360
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2361
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2362
		});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2363
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2364
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2365
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2366
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2367
// Some attributes require a special call on IE
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2368
if ( !jQuery.support.hrefNormalized ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2369
	jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2370
		jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2371
			get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2372
				var ret = elem.getAttribute( name, 2 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2373
				return ret === null ? undefined : ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2374
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2375
		});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2376
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2377
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2378
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2379
if ( !jQuery.support.style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2380
	jQuery.attrHooks.style = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2381
		get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2382
			// Return undefined in the case of empty string
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2383
			// Normalize to lowercase since IE uppercases css property names
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2384
			return elem.style.cssText.toLowerCase() || undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2385
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2386
		set: function( elem, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2387
			return (elem.style.cssText = "" + value);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2388
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2389
	};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2390
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2391
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2392
// Safari mis-reports the default selected property of an option
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2393
// Accessing the parent's selectedIndex property fixes it
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2394
if ( !jQuery.support.optSelected ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2395
	jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2396
		get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2397
			var parent = elem.parentNode;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2398
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2399
			if ( parent ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2400
				parent.selectedIndex;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2401
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2402
				// Make sure that it also works with optgroups, see #5701
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2403
				if ( parent.parentNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2404
					parent.parentNode.selectedIndex;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2405
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2406
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2407
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2408
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2409
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2410
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2411
// Radios and checkboxes getter/setter
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2412
if ( !jQuery.support.checkOn ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2413
	jQuery.each([ "radio", "checkbox" ], function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2414
		jQuery.valHooks[ this ] = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2415
			get: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2416
				// Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2417
				return elem.getAttribute("value") === null ? "on" : elem.value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2418
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2419
		};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2420
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2421
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2422
jQuery.each([ "radio", "checkbox" ], function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2423
	jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2424
		set: function( elem, value ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2425
			if ( jQuery.isArray( value ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2426
				return (elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2427
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2428
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2429
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2430
});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2431
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2432
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2433
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2434
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2435
var hasOwn = Object.prototype.hasOwnProperty,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2436
	rnamespaces = /\.(.*)$/,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2437
	rformElems = /^(?:textarea|input|select)$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2438
	rperiod = /\./g,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2439
	rspaces = / /g,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2440
	rescape = /[^\w\s.|`]/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2441
	fcleanup = function( nm ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2442
		return nm.replace(rescape, "\\$&");
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2443
	};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2444
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2445
/*
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2446
 * A number of helper functions used for managing events.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2447
 * Many of the ideas behind this code originated from
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2448
 * Dean Edwards' addEvent library.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2449
 */
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2450
jQuery.event = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2451
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2452
	// Bind an event to an element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2453
	// Original by Dean Edwards
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2454
	add: function( elem, types, handler, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2455
		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2456
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2457
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2458
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2459
		if ( handler === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2460
			handler = returnFalse;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2461
		} else if ( !handler ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2462
			// Fixes bug #7229. Fix recommended by jdalton
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2463
			return;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2464
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2465
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2466
		var handleObjIn, handleObj;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2467
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2468
		if ( handler.handler ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2469
			handleObjIn = handler;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2470
			handler = handleObjIn.handler;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2471
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2472
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2473
		// Make sure that the function being executed has a unique ID
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2474
		if ( !handler.guid ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2475
			handler.guid = jQuery.guid++;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2476
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2477
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2478
		// Init the element's event structure
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2479
		var elemData = jQuery._data( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2480
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2481
		// If no elemData is found then we must be trying to bind to one of the
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2482
		// banned noData elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2483
		if ( !elemData ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2484
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2485
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2486
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2487
		var events = elemData.events,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2488
			eventHandle = elemData.handle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2489
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2490
		if ( !events ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2491
			elemData.events = events = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2492
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2493
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2494
		if ( !eventHandle ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2495
			elemData.handle = eventHandle = function( e ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2496
				// Discard the second event of a jQuery.event.trigger() and
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2497
				// when an event is called after a page has unloaded
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2498
				return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2499
					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2500
					undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2501
			};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2502
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2503
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2504
		// Add elem as a property of the handle function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2505
		// This is to prevent a memory leak with non-native events in IE.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2506
		eventHandle.elem = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2507
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2508
		// Handle multiple events separated by a space
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2509
		// jQuery(...).bind("mouseover mouseout", fn);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2510
		types = types.split(" ");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2511
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2512
		var type, i = 0, namespaces;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2513
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2514
		while ( (type = types[ i++ ]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2515
			handleObj = handleObjIn ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2516
				jQuery.extend({}, handleObjIn) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2517
				{ handler: handler, data: data };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2518
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2519
			// Namespaced event handlers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2520
			if ( type.indexOf(".") > -1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2521
				namespaces = type.split(".");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2522
				type = namespaces.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2523
				handleObj.namespace = namespaces.slice(0).sort().join(".");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2524
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2525
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2526
				namespaces = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2527
				handleObj.namespace = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2528
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2529
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2530
			handleObj.type = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2531
			if ( !handleObj.guid ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2532
				handleObj.guid = handler.guid;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2533
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2534
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2535
			// Get the current list of functions bound to this event
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2536
			var handlers = events[ type ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2537
				special = jQuery.event.special[ type ] || {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2538
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2539
			// Init the event handler queue
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2540
			if ( !handlers ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2541
				handlers = events[ type ] = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2542
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2543
				// Check for a special event handler
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2544
				// Only use addEventListener/attachEvent if the special
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2545
				// events handler returns false
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2546
				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2547
					// Bind the global event handler to the element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2548
					if ( elem.addEventListener ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2549
						elem.addEventListener( type, eventHandle, false );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2550
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2551
					} else if ( elem.attachEvent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2552
						elem.attachEvent( "on" + type, eventHandle );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2553
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2554
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2555
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2556
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2557
			if ( special.add ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2558
				special.add.call( elem, handleObj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2559
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2560
				if ( !handleObj.handler.guid ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2561
					handleObj.handler.guid = handler.guid;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2562
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2563
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2564
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2565
			// Add the function to the element's handler list
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2566
			handlers.push( handleObj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2567
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2568
			// Keep track of which events have been used, for event optimization
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2569
			jQuery.event.global[ type ] = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2570
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2571
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2572
		// Nullify elem to prevent memory leaks in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2573
		elem = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2574
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2576
	global: {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2577
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2578
	// Detach an event or set of events from an element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2579
	remove: function( elem, types, handler, pos ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2580
		// don't do events on text and comment nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2581
		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2582
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2583
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2584
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2585
		if ( handler === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2586
			handler = returnFalse;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2587
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2588
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2589
		var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2590
			elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2591
			events = elemData && elemData.events;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2592
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2593
		if ( !elemData || !events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2594
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2595
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2596
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2597
		// types is actually an event object here
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2598
		if ( types && types.type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2599
			handler = types.handler;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2600
			types = types.type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2601
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2602
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2603
		// Unbind all events for the element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2604
		if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2605
			types = types || "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2606
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2607
			for ( type in events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2608
				jQuery.event.remove( elem, type + types );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2609
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2610
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2611
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2612
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2613
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2614
		// Handle multiple events separated by a space
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2615
		// jQuery(...).unbind("mouseover mouseout", fn);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2616
		types = types.split(" ");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2617
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2618
		while ( (type = types[ i++ ]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2619
			origType = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2620
			handleObj = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2621
			all = type.indexOf(".") < 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2622
			namespaces = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2623
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2624
			if ( !all ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2625
				// Namespaced event handlers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2626
				namespaces = type.split(".");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2627
				type = namespaces.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2628
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2629
				namespace = new RegExp("(^|\\.)" +
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2630
					jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2631
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2632
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2633
			eventType = events[ type ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2634
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2635
			if ( !eventType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2636
				continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2637
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2638
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2639
			if ( !handler ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2640
				for ( j = 0; j < eventType.length; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2641
					handleObj = eventType[ j ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2642
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2643
					if ( all || namespace.test( handleObj.namespace ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2644
						jQuery.event.remove( elem, origType, handleObj.handler, j );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2645
						eventType.splice( j--, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2646
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2647
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2648
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2649
				continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2650
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2651
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2652
			special = jQuery.event.special[ type ] || {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2653
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2654
			for ( j = pos || 0; j < eventType.length; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2655
				handleObj = eventType[ j ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2656
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2657
				if ( handler.guid === handleObj.guid ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2658
					// remove the given handler for the given type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2659
					if ( all || namespace.test( handleObj.namespace ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2660
						if ( pos == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2661
							eventType.splice( j--, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2662
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2663
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2664
						if ( special.remove ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2665
							special.remove.call( elem, handleObj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2666
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2667
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2668
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2669
					if ( pos != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2670
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2671
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2672
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2673
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2674
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2675
			// remove generic event handler if no more handlers exist
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2676
			if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2677
				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2678
					jQuery.removeEvent( elem, type, elemData.handle );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2679
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2680
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2681
				ret = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2682
				delete events[ type ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2683
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2684
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2685
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2686
		// Remove the expando if it's no longer used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2687
		if ( jQuery.isEmptyObject( events ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2688
			var handle = elemData.handle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2689
			if ( handle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2690
				handle.elem = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2691
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2692
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2693
			delete elemData.events;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2694
			delete elemData.handle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2695
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2696
			if ( jQuery.isEmptyObject( elemData ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2697
				jQuery.removeData( elem, undefined, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2698
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2699
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2700
	},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2701
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2702
	// Events that are safe to short-circuit if no handlers are attached.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2703
	// Native DOM events should not be added, they may have inline handlers.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2704
	customEvent: {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2705
		"getData": true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2706
		"setData": true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2707
		"changeData": true
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2708
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2709
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2710
	trigger: function( event, data, elem, onlyHandlers ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2711
		// Event object or event type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2712
		var type = event.type || event,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2713
			namespaces = [],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2714
			exclusive;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2715
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2716
		if ( type.indexOf("!") >= 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2717
			// Exclusive events trigger only for the exact event (no namespaces)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2718
			type = type.slice(0, -1);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2719
			exclusive = true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2720
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2721
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2722
		if ( type.indexOf(".") >= 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2723
			// Namespaced trigger; create a regexp to match event type in handle()
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2724
			namespaces = type.split(".");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2725
			type = namespaces.shift();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2726
			namespaces.sort();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2727
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2728
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2729
		if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2730
			// No jQuery handlers for this event type, and it can't have inline handlers
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2731
			return;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2732
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2733
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2734
		// Caller can pass in an Event, Object, or just an event type string
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2735
		event = typeof event === "object" ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2736
			// jQuery.Event object
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2737
			event[ jQuery.expando ] ? event :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2738
			// Object literal
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2739
			new jQuery.Event( type, event ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2740
			// Just the event type (string)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2741
			new jQuery.Event( type );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2742
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2743
		event.type = type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2744
		event.exclusive = exclusive;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2745
		event.namespace = namespaces.join(".");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2746
		event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2747
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2748
		// triggerHandler() and global events don't bubble or run the default action
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2749
		if ( onlyHandlers || !elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2750
			event.preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2751
			event.stopPropagation();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2752
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2753
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2754
		// Handle a global trigger
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2755
		if ( !elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2756
			// TODO: Stop taunting the data cache; remove global events and always attach to document
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2757
			jQuery.each( jQuery.cache, function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2758
				// internalKey variable is just used to make it easier to find
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2759
				// and potentially change this stuff later; currently it just
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2760
				// points to jQuery.expando
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2761
				var internalKey = jQuery.expando,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2762
					internalCache = this[ internalKey ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2763
				if ( internalCache && internalCache.events && internalCache.events[ type ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2764
					jQuery.event.trigger( event, data, internalCache.handle.elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2765
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2766
			});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2767
			return;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2768
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2769
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2770
		// Don't do events on text and comment nodes
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2771
		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2772
			return;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2773
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2774
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2775
		// Clean up the event in case it is being reused
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2776
		event.result = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2777
		event.target = elem;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2778
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2779
		// Clone any incoming data and prepend the event, creating the handler arg list
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2780
		data = data ? jQuery.makeArray( data ) : [];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2781
		data.unshift( event );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2782
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2783
		var cur = elem,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2784
			// IE doesn't like method names with a colon (#3533, #8272)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2785
			ontype = type.indexOf(":") < 0 ? "on" + type : "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2786
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2787
		// Fire event on the current element, then bubble up the DOM tree
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2788
		do {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2789
			var handle = jQuery._data( cur, "handle" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2790
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2791
			event.currentTarget = cur;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2792
			if ( handle ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2793
				handle.apply( cur, data );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2794
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2795
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2796
			// Trigger an inline bound script
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2797
			if ( ontype && jQuery.acceptData( cur ) && cur[ ontype ] && cur[ ontype ].apply( cur, data ) === false ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2798
				event.result = false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2799
				event.preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2800
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2801
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2802
			// Bubble up to document, then to window
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2803
			cur = cur.parentNode || cur.ownerDocument || cur === event.target.ownerDocument && window;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2804
		} while ( cur && !event.isPropagationStopped() );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2805
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2806
		// If nobody prevented the default action, do it now
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2807
		if ( !event.isDefaultPrevented() ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2808
			var old,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2809
				special = jQuery.event.special[ type ] || {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2810
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2811
			if ( (!special._default || special._default.call( elem.ownerDocument, event ) === false) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2812
				!(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2813
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2814
				// Call a native DOM method on the target with the same name name as the event.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2815
				// Can't use an .isFunction)() check here because IE6/7 fails that test.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2816
				// IE<9 dies on focus to hidden element (#1486), may want to revisit a try/catch.
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2817
				try {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2818
					if ( ontype && elem[ type ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2819
						// Don't re-trigger an onFOO event when we call its FOO() method
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2820
						old = elem[ ontype ];
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2821
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2822
						if ( old ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2823
							elem[ ontype ] = null;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2824
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2825
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2826
						jQuery.event.triggered = type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2827
						elem[ type ]();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2828
					}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2829
				} catch ( ieError ) {}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2830
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2831
				if ( old ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2832
					elem[ ontype ] = old;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2833
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2834
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2835
				jQuery.event.triggered = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2836
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2837
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2838
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2839
		return event.result;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2840
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2841
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2842
	handle: function( event ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2843
		event = jQuery.event.fix( event || window.event );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2844
		// Snapshot the handlers list since a called handler may add/remove events.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2845
		var handlers = ((jQuery._data( this, "events" ) || {})[ event.type ] || []).slice(0),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2846
			run_all = !event.exclusive && !event.namespace,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2847
			args = Array.prototype.slice.call( arguments, 0 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2848
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2849
		// Use the fix-ed Event rather than the (read-only) native event
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2850
		args[0] = event;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2851
		event.currentTarget = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2852
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2853
		for ( var j = 0, l = handlers.length; j < l; j++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2854
			var handleObj = handlers[ j ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2855
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2856
			// Triggered event must 1) be non-exclusive and have no namespace, or
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2857
			// 2) have namespace(s) a subset or equal to those in the bound event.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2858
			if ( run_all || event.namespace_re.test( handleObj.namespace ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2859
				// Pass in a reference to the handler function itself
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2860
				// So that we can later remove it
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2861
				event.handler = handleObj.handler;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2862
				event.data = handleObj.data;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2863
				event.handleObj = handleObj;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2864
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2865
				var ret = handleObj.handler.apply( this, args );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2866
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2867
				if ( ret !== undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2868
					event.result = ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2869
					if ( ret === false ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2870
						event.preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2871
						event.stopPropagation();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2872
					}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2873
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2874
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2875
				if ( event.isImmediatePropagationStopped() ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2876
					break;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2877
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2878
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2879
		}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2880
		return event.result;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2881
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2882
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2883
	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2884
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2885
	fix: function( event ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2886
		if ( event[ jQuery.expando ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2887
			return event;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2888
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2889
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2890
		// store a copy of the original event object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2891
		// and "clone" to set read-only properties
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2892
		var originalEvent = event;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2893
		event = jQuery.Event( originalEvent );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2894
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2895
		for ( var i = this.props.length, prop; i; ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2896
			prop = this.props[ --i ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2897
			event[ prop ] = originalEvent[ prop ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2898
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2899
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2900
		// Fix target property, if necessary
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2901
		if ( !event.target ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2902
			// Fixes #1925 where srcElement might not be defined either
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2903
			event.target = event.srcElement || document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2904
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2905
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2906
		// check if target is a textnode (safari)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2907
		if ( event.target.nodeType === 3 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2908
			event.target = event.target.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2909
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2910
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2911
		// Add relatedTarget, if necessary
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2912
		if ( !event.relatedTarget && event.fromElement ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2913
			event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2914
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2915
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2916
		// Calculate pageX/Y if missing and clientX/Y available
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2917
		if ( event.pageX == null && event.clientX != null ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2918
			var eventDocument = event.target.ownerDocument || document,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2919
				doc = eventDocument.documentElement,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2920
				body = eventDocument.body;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2921
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2922
			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2923
			event.pageY = event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop  || 0);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2924
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2925
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2926
		// Add which for key events
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2927
		if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2928
			event.which = event.charCode != null ? event.charCode : event.keyCode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2929
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2930
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2931
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2932
		if ( !event.metaKey && event.ctrlKey ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2933
			event.metaKey = event.ctrlKey;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2934
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2935
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2936
		// Add which for click: 1 === left; 2 === middle; 3 === right
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2937
		// Note: button is not normalized, so don't use it
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2938
		if ( !event.which && event.button !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2939
			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2940
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2941
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2942
		return event;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2943
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2944
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2945
	// Deprecated, use jQuery.guid instead
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2946
	guid: 1E8,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2947
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2948
	// Deprecated, use jQuery.proxy instead
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2949
	proxy: jQuery.proxy,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2950
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2951
	special: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2952
		ready: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2953
			// Make sure the ready event is setup
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2954
			setup: jQuery.bindReady,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2955
			teardown: jQuery.noop
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2956
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2957
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2958
		live: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2959
			add: function( handleObj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2960
				jQuery.event.add( this,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2961
					liveConvert( handleObj.origType, handleObj.selector ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2962
					jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2963
			},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2964
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2965
			remove: function( handleObj ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2966
				jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2967
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2968
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2969
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2970
		beforeunload: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2971
			setup: function( data, namespaces, eventHandle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2972
				// We only want to do this special case on windows
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2973
				if ( jQuery.isWindow( this ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2974
					this.onbeforeunload = eventHandle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2975
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2976
			},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2977
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2978
			teardown: function( namespaces, eventHandle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2979
				if ( this.onbeforeunload === eventHandle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2980
					this.onbeforeunload = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2981
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2982
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2983
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2984
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2985
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2986
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2987
jQuery.removeEvent = document.removeEventListener ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2988
	function( elem, type, handle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2989
		if ( elem.removeEventListener ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2990
			elem.removeEventListener( type, handle, false );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2991
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2992
	} :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2993
	function( elem, type, handle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2994
		if ( elem.detachEvent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2995
			elem.detachEvent( "on" + type, handle );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2996
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2997
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2998
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  2999
jQuery.Event = function( src, props ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3000
	// Allow instantiation without the 'new' keyword
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3001
	if ( !this.preventDefault ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3002
		return new jQuery.Event( src, props );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3003
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3004
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3005
	// Event object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3006
	if ( src && src.type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3007
		this.originalEvent = src;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3008
		this.type = src.type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3009
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3010
		// Events bubbling up the document may have been marked as prevented
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3011
		// by a handler lower down the tree; reflect the correct value.
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3012
		this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false ||
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3013
			src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3014
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3015
	// Event type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3016
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3017
		this.type = src;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3018
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3019
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3020
	// Put explicitly provided properties onto the event object
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3021
	if ( props ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3022
		jQuery.extend( this, props );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3023
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3024
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3025
	// timeStamp is buggy for some events on Firefox(#3843)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3026
	// So we won't rely on the native value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3027
	this.timeStamp = jQuery.now();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3028
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3029
	// Mark it as fixed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3030
	this[ jQuery.expando ] = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3031
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3032
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3033
function returnFalse() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3034
	return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3035
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3036
function returnTrue() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3037
	return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3038
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3039
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3040
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3041
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3042
jQuery.Event.prototype = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3043
	preventDefault: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3044
		this.isDefaultPrevented = returnTrue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3045
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3046
		var e = this.originalEvent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3047
		if ( !e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3048
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3049
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3050
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3051
		// if preventDefault exists run it on the original event
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3052
		if ( e.preventDefault ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3053
			e.preventDefault();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3054
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3055
		// otherwise set the returnValue property of the original event to false (IE)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3056
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3057
			e.returnValue = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3058
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3059
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3060
	stopPropagation: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3061
		this.isPropagationStopped = returnTrue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3062
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3063
		var e = this.originalEvent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3064
		if ( !e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3065
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3066
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3067
		// if stopPropagation exists run it on the original event
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3068
		if ( e.stopPropagation ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3069
			e.stopPropagation();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3070
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3071
		// otherwise set the cancelBubble property of the original event to true (IE)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3072
		e.cancelBubble = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3073
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3074
	stopImmediatePropagation: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3075
		this.isImmediatePropagationStopped = returnTrue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3076
		this.stopPropagation();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3077
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3078
	isDefaultPrevented: returnFalse,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3079
	isPropagationStopped: returnFalse,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3080
	isImmediatePropagationStopped: returnFalse
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3081
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3082
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3083
// Checks if an event happened on an element within another element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3084
// Used in jQuery.event.special.mouseenter and mouseleave handlers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3085
var withinElement = function( event ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3086
	// Check if mouse(over|out) are still within the same parent element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3087
	var parent = event.relatedTarget;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3088
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3089
	// Firefox sometimes assigns relatedTarget a XUL element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3090
	// which we cannot access the parentNode property of
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3091
	try {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3092
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3093
		// Chrome does something similar, the parentNode property
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3094
		// can be accessed but is null.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3095
		if ( parent && parent !== document && !parent.parentNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3096
			return;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3097
		}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3098
		// Traverse up the tree
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3099
		while ( parent && parent !== this ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3100
			parent = parent.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3101
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3102
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3103
		if ( parent !== this ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3104
			// set the correct event type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3105
			event.type = event.data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3106
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3107
			// handle event if we actually just moused on to a non sub-element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3108
			jQuery.event.handle.apply( this, arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3109
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3110
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3111
	// assuming we've left the element since we most likely mousedover a xul element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3112
	} catch(e) { }
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3113
},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3114
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3115
// In case of event delegation, we only need to rename the event.type,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3116
// liveHandler will take care of the rest.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3117
delegate = function( event ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3118
	event.type = event.data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3119
	jQuery.event.handle.apply( this, arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3120
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3121
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3122
// Create mouseenter and mouseleave events
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3123
jQuery.each({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3124
	mouseenter: "mouseover",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3125
	mouseleave: "mouseout"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3126
}, function( orig, fix ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3127
	jQuery.event.special[ orig ] = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3128
		setup: function( data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3129
			jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3130
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3131
		teardown: function( data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3132
			jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3133
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3134
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3135
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3136
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3137
// submit delegation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3138
if ( !jQuery.support.submitBubbles ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3139
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3140
	jQuery.event.special.submit = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3141
		setup: function( data, namespaces ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3142
			if ( !jQuery.nodeName( this, "form" ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3143
				jQuery.event.add(this, "click.specialSubmit", function( e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3144
					var elem = e.target,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3145
						type = elem.type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3146
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3147
					if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3148
						trigger( "submit", this, arguments );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3149
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3150
				});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3151
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3152
				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3153
					var elem = e.target,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3154
						type = elem.type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3155
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3156
					if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3157
						trigger( "submit", this, arguments );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3158
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3159
				});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3160
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3161
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3162
				return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3163
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3164
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3165
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3166
		teardown: function( namespaces ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3167
			jQuery.event.remove( this, ".specialSubmit" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3168
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3169
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3170
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3171
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3172
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3173
// change delegation, happens here so we have bind.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3174
if ( !jQuery.support.changeBubbles ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3175
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3176
	var changeFilters,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3177
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3178
	getVal = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3179
		var type = elem.type, val = elem.value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3180
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3181
		if ( type === "radio" || type === "checkbox" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3182
			val = elem.checked;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3183
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3184
		} else if ( type === "select-multiple" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3185
			val = elem.selectedIndex > -1 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3186
				jQuery.map( elem.options, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3187
					return elem.selected;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3188
				}).join("-") :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3189
				"";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3190
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3191
		} else if ( jQuery.nodeName( elem, "select" ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3192
			val = elem.selectedIndex;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3193
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3194
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3195
		return val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3196
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3197
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3198
	testChange = function testChange( e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3199
		var elem = e.target, data, val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3200
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3201
		if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3202
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3203
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3204
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3205
		data = jQuery._data( elem, "_change_data" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3206
		val = getVal(elem);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3207
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3208
		// the current data will be also retrieved by beforeactivate
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3209
		if ( e.type !== "focusout" || elem.type !== "radio" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3210
			jQuery._data( elem, "_change_data", val );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3211
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3212
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3213
		if ( data === undefined || val === data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3214
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3215
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3216
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3217
		if ( data != null || val ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3218
			e.type = "change";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3219
			e.liveFired = undefined;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3220
			jQuery.event.trigger( e, arguments[1], elem );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3221
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3222
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3223
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3224
	jQuery.event.special.change = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3225
		filters: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3226
			focusout: testChange,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3227
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3228
			beforedeactivate: testChange,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3229
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3230
			click: function( e ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3231
				var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3232
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3233
				if ( type === "radio" || type === "checkbox" || jQuery.nodeName( elem, "select" ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3234
					testChange.call( this, e );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3235
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3236
			},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3237
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3238
			// Change has to be called before submit
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3239
			// Keydown will be called before keypress, which is used in submit-event delegation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3240
			keydown: function( e ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3241
				var elem = e.target, type = jQuery.nodeName( elem, "input" ) ? elem.type : "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3242
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3243
				if ( (e.keyCode === 13 && !jQuery.nodeName( elem, "textarea" ) ) ||
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3244
					(e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3245
					type === "select-multiple" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3246
					testChange.call( this, e );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3247
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3248
			},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3249
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3250
			// Beforeactivate happens also before the previous element is blurred
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3251
			// with this event you can't trigger a change event, but you can store
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3252
			// information
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3253
			beforeactivate: function( e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3254
				var elem = e.target;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3255
				jQuery._data( elem, "_change_data", getVal(elem) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3256
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3257
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3258
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3259
		setup: function( data, namespaces ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3260
			if ( this.type === "file" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3261
				return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3262
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3263
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3264
			for ( var type in changeFilters ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3265
				jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3266
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3267
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3268
			return rformElems.test( this.nodeName );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3269
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3270
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3271
		teardown: function( namespaces ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3272
			jQuery.event.remove( this, ".specialChange" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3273
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3274
			return rformElems.test( this.nodeName );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3275
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3276
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3277
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3278
	changeFilters = jQuery.event.special.change.filters;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3279
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3280
	// Handle when the input is .focus()'d
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3281
	changeFilters.focus = changeFilters.beforeactivate;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3282
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3283
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3284
function trigger( type, elem, args ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3285
	// Piggyback on a donor event to simulate a different one.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3286
	// Fake originalEvent to avoid donor's stopPropagation, but if the
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3287
	// simulated event prevents default then we do the same on the donor.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3288
	// Don't pass args or remember liveFired; they apply to the donor event.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3289
	var event = jQuery.extend( {}, args[ 0 ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3290
	event.type = type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3291
	event.originalEvent = {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3292
	event.liveFired = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3293
	jQuery.event.handle.call( elem, event );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3294
	if ( event.isDefaultPrevented() ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3295
		args[ 0 ].preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3296
	}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3297
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3298
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3299
// Create "bubbling" focus and blur events
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3300
if ( !jQuery.support.focusinBubbles ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3301
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3302
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3303
		// Attach a single capturing handler while someone wants focusin/focusout
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3304
		var attaches = 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3305
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3306
		jQuery.event.special[ fix ] = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3307
			setup: function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3308
				if ( attaches++ === 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3309
					document.addEventListener( orig, handler, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3310
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3311
			},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3312
			teardown: function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3313
				if ( --attaches === 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3314
					document.removeEventListener( orig, handler, true );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3315
				}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3316
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3317
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3318
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3319
		function handler( donor ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3320
			// Donor event is always a native one; fix it and switch its type.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3321
			// Let focusin/out handler cancel the donor focus/blur event.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3322
			var e = jQuery.event.fix( donor );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3323
			e.type = fix;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3324
			e.originalEvent = {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3325
			jQuery.event.trigger( e, null, e.target );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3326
			if ( e.isDefaultPrevented() ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3327
				donor.preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3328
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3329
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3330
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3331
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3332
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3333
jQuery.each(["bind", "one"], function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3334
	jQuery.fn[ name ] = function( type, data, fn ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3335
		var handler;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3336
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3337
		// Handle object literals
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3338
		if ( typeof type === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3339
			for ( var key in type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3340
				this[ name ](key, data, type[key], fn);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3341
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3342
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3343
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3344
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3345
		if ( arguments.length === 2 || data === false ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3346
			fn = data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3347
			data = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3348
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3349
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3350
		if ( name === "one" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3351
			handler = function( event ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3352
				jQuery( this ).unbind( event, handler );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3353
				return fn.apply( this, arguments );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3354
			};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3355
			handler.guid = fn.guid || jQuery.guid++;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3356
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3357
			handler = fn;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3358
		}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3359
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3360
		if ( type === "unload" && name !== "one" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3361
			this.one( type, data, fn );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3362
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3363
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3364
			for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3365
				jQuery.event.add( this[i], type, handler, data );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3366
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3367
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3368
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3369
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3370
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3371
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3372
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3373
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3374
	unbind: function( type, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3375
		// Handle object literals
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3376
		if ( typeof type === "object" && !type.preventDefault ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3377
			for ( var key in type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3378
				this.unbind(key, type[key]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3379
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3380
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3381
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3382
			for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3383
				jQuery.event.remove( this[i], type, fn );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3384
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3385
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3386
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3387
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3388
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3389
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3390
	delegate: function( selector, types, data, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3391
		return this.live( types, data, fn, selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3392
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3393
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3394
	undelegate: function( selector, types, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3395
		if ( arguments.length === 0 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3396
			return this.unbind( "live" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3397
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3398
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3399
			return this.die( types, null, fn, selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3400
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3401
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3402
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3403
	trigger: function( type, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3404
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3405
			jQuery.event.trigger( type, data, this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3406
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3407
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3408
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3409
	triggerHandler: function( type, data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3410
		if ( this[0] ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3411
			return jQuery.event.trigger( type, data, this[0], true );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3412
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3413
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3414
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3415
	toggle: function( fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3416
		// Save reference to arguments for access in closure
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3417
		var args = arguments,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3418
			guid = fn.guid || jQuery.guid++,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3419
			i = 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3420
			toggler = function( event ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3421
				// Figure out which function to execute
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3422
				var lastToggle = ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 ) % i;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3423
				jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3424
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3425
				// Make sure that clicks stop
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3426
				event.preventDefault();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3427
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3428
				// and execute the function
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3429
				return args[ lastToggle ].apply( this, arguments ) || false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3430
			};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3431
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3432
		// link all the functions, so any of them can unbind this click handler
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3433
		toggler.guid = guid;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3434
		while ( i < args.length ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3435
			args[ i++ ].guid = guid;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3436
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3437
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3438
		return this.click( toggler );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3439
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3440
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3441
	hover: function( fnOver, fnOut ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3442
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3443
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3444
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3445
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3446
var liveMap = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3447
	focus: "focusin",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3448
	blur: "focusout",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3449
	mouseenter: "mouseover",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3450
	mouseleave: "mouseout"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3451
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3452
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3453
jQuery.each(["live", "die"], function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3454
	jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3455
		var type, i = 0, match, namespaces, preType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3456
			selector = origSelector || this.selector,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3457
			context = origSelector ? this : jQuery( this.context );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3458
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3459
		if ( typeof types === "object" && !types.preventDefault ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3460
			for ( var key in types ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3461
				context[ name ]( key, data, types[key], selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3462
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3463
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3464
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3465
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3466
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3467
		if ( name === "die" && !types &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3468
					origSelector && origSelector.charAt(0) === "." ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3469
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3470
			context.unbind( origSelector );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3471
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3472
			return this;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3473
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3474
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3475
		if ( data === false || jQuery.isFunction( data ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3476
			fn = data || returnFalse;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3477
			data = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3478
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3479
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3480
		types = (types || "").split(" ");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3481
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3482
		while ( (type = types[ i++ ]) != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3483
			match = rnamespaces.exec( type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3484
			namespaces = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3485
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3486
			if ( match )  {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3487
				namespaces = match[0];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3488
				type = type.replace( rnamespaces, "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3489
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3490
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3491
			if ( type === "hover" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3492
				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3493
				continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3494
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3495
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3496
			preType = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3497
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3498
			if ( liveMap[ type ] ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3499
				types.push( liveMap[ type ] + namespaces );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3500
				type = type + namespaces;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3501
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3502
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3503
				type = (liveMap[ type ] || type) + namespaces;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3504
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3505
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3506
			if ( name === "live" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3507
				// bind live handler
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3508
				for ( var j = 0, l = context.length; j < l; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3509
					jQuery.event.add( context[j], "live." + liveConvert( type, selector ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3510
						{ data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3511
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3512
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3513
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3514
				// unbind live handler
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3515
				context.unbind( "live." + liveConvert( type, selector ), fn );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3516
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3517
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3518
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3519
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3520
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3521
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3522
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3523
function liveHandler( event ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3524
	var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3525
		elems = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3526
		selectors = [],
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3527
		events = jQuery._data( this, "events" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3528
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3529
	// Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3530
	if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3531
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3532
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3533
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3534
	if ( event.namespace ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3535
		namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3536
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3537
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3538
	event.liveFired = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3539
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3540
	var live = events.live.slice(0);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3541
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3542
	for ( j = 0; j < live.length; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3543
		handleObj = live[j];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3544
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3545
		if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3546
			selectors.push( handleObj.selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3547
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3548
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3549
			live.splice( j--, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3550
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3551
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3552
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3553
	match = jQuery( event.target ).closest( selectors, event.currentTarget );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3554
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3555
	for ( i = 0, l = match.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3556
		close = match[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3557
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3558
		for ( j = 0; j < live.length; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3559
			handleObj = live[j];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3560
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3561
			if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3562
				elem = close.elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3563
				related = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3564
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3565
				// Those two events require additional checking
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3566
				if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3567
					event.type = handleObj.preType;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3568
					related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3569
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3570
					// Make sure not to accidentally match a child element with the same selector
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3571
					if ( related && jQuery.contains( elem, related ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3572
						related = elem;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3573
					}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3574
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3576
				if ( !related || related !== elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3577
					elems.push({ elem: elem, handleObj: handleObj, level: close.level });
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3578
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3579
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3580
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3581
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3582
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3583
	for ( i = 0, l = elems.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3584
		match = elems[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3585
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3586
		if ( maxLevel && match.level > maxLevel ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3587
			break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3588
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3589
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3590
		event.currentTarget = match.elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3591
		event.data = match.handleObj.data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3592
		event.handleObj = match.handleObj;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3593
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3594
		ret = match.handleObj.origHandler.apply( match.elem, arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3595
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3596
		if ( ret === false || event.isPropagationStopped() ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3597
			maxLevel = match.level;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3598
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3599
			if ( ret === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3600
				stop = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3601
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3602
			if ( event.isImmediatePropagationStopped() ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3603
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3604
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3605
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3606
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3607
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3608
	return stop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3609
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3610
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3611
function liveConvert( type, selector ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3612
	return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspaces, "&");
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3613
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3614
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3615
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3616
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3617
	"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3618
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3619
	// Handle event binding
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3620
	jQuery.fn[ name ] = function( data, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3621
		if ( fn == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3622
			fn = data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3623
			data = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3624
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3625
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3626
		return arguments.length > 0 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3627
			this.bind( name, data, fn ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3628
			this.trigger( name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3629
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3630
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3631
	if ( jQuery.attrFn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3632
		jQuery.attrFn[ name ] = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3633
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3634
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3635
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3636
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3637
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3638
/*!
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3639
 * Sizzle CSS Selector Engine
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3640
 *  Copyright 2011, The Dojo Foundation
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3641
 *  Released under the MIT, BSD, and GPL Licenses.
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3642
 *  More information: http://sizzlejs.com/
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  3643
 */
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3644
(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3645
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3646
var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3647
	done = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3648
	toString = Object.prototype.toString,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3649
	hasDuplicate = false,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3650
	baseHasDuplicate = true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3651
	rBackslash = /\\/g,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3652
	rNonWord = /\W/;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3653
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3654
// Here we check if the JavaScript engine is using some sort of
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3655
// optimization where it does not always call our comparision
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3656
// function. If that is the case, discard the hasDuplicate value.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3657
//   Thus far that includes Google Chrome.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3658
[0, 0].sort(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3659
	baseHasDuplicate = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3660
	return 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3661
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3662
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3663
var Sizzle = function( selector, context, results, seed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3664
	results = results || [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3665
	context = context || document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3666
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3667
	var origContext = context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3668
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3669
	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3670
		return [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3671
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3672
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3673
	if ( !selector || typeof selector !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3674
		return results;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3675
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3676
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3677
	var m, set, checkSet, extra, ret, cur, pop, i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3678
		prune = true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3679
		contextXML = Sizzle.isXML( context ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3680
		parts = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3681
		soFar = selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3682
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3683
	// Reset the position of the chunker regexp (start from head)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3684
	do {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3685
		chunker.exec( "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3686
		m = chunker.exec( soFar );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3687
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3688
		if ( m ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3689
			soFar = m[3];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3690
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3691
			parts.push( m[1] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3692
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3693
			if ( m[2] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3694
				extra = m[3];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3695
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3696
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3697
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3698
	} while ( m );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3699
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3700
	if ( parts.length > 1 && origPOS.exec( selector ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3701
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3702
		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3703
			set = posProcess( parts[0] + parts[1], context );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3704
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3705
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3706
			set = Expr.relative[ parts[0] ] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3707
				[ context ] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3708
				Sizzle( parts.shift(), context );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3709
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3710
			while ( parts.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3711
				selector = parts.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3712
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3713
				if ( Expr.relative[ selector ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3714
					selector += parts.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3715
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3716
				
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3717
				set = posProcess( selector, set );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3718
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3719
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3720
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3721
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3722
		// Take a shortcut and set the context if the root selector is an ID
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3723
		// (but not if it'll be faster if the inner selector is an ID)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3724
		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3725
				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3726
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3727
			ret = Sizzle.find( parts.shift(), context, contextXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3728
			context = ret.expr ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3729
				Sizzle.filter( ret.expr, ret.set )[0] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3730
				ret.set[0];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3731
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3732
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3733
		if ( context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3734
			ret = seed ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3735
				{ expr: parts.pop(), set: makeArray(seed) } :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3736
				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3737
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3738
			set = ret.expr ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3739
				Sizzle.filter( ret.expr, ret.set ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3740
				ret.set;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3741
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3742
			if ( parts.length > 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3743
				checkSet = makeArray( set );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3744
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3745
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3746
				prune = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3747
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3748
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3749
			while ( parts.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3750
				cur = parts.pop();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3751
				pop = cur;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3752
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3753
				if ( !Expr.relative[ cur ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3754
					cur = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3755
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3756
					pop = parts.pop();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3757
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3758
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3759
				if ( pop == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3760
					pop = context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3761
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3762
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3763
				Expr.relative[ cur ]( checkSet, pop, contextXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3764
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3765
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3766
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3767
			checkSet = parts = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3768
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3769
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3770
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3771
	if ( !checkSet ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3772
		checkSet = set;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3773
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3774
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3775
	if ( !checkSet ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3776
		Sizzle.error( cur || selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3777
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3778
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3779
	if ( toString.call(checkSet) === "[object Array]" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3780
		if ( !prune ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3781
			results.push.apply( results, checkSet );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3782
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3783
		} else if ( context && context.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3784
			for ( i = 0; checkSet[i] != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3785
				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3786
					results.push( set[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3787
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3788
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3789
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3790
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3791
			for ( i = 0; checkSet[i] != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3792
				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3793
					results.push( set[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3794
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3795
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3796
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3797
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3798
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3799
		makeArray( checkSet, results );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3800
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3801
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3802
	if ( extra ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3803
		Sizzle( extra, origContext, results, seed );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3804
		Sizzle.uniqueSort( results );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3805
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3806
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3807
	return results;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3808
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3809
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3810
Sizzle.uniqueSort = function( results ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3811
	if ( sortOrder ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3812
		hasDuplicate = baseHasDuplicate;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3813
		results.sort( sortOrder );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3814
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3815
		if ( hasDuplicate ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3816
			for ( var i = 1; i < results.length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3817
				if ( results[i] === results[ i - 1 ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3818
					results.splice( i--, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3819
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3820
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3821
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3822
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3823
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3824
	return results;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3825
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3826
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3827
Sizzle.matches = function( expr, set ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3828
	return Sizzle( expr, null, null, set );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3829
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3830
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3831
Sizzle.matchesSelector = function( node, expr ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3832
	return Sizzle( expr, null, null, [node] ).length > 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3833
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3834
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3835
Sizzle.find = function( expr, context, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3836
	var set;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3837
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3838
	if ( !expr ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3839
		return [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3840
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3841
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3842
	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3843
		var match,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3844
			type = Expr.order[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3845
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3846
		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3847
			var left = match[1];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3848
			match.splice( 1, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3849
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3850
			if ( left.substr( left.length - 1 ) !== "\\" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3851
				match[1] = (match[1] || "").replace( rBackslash, "" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3852
				set = Expr.find[ type ]( match, context, isXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3853
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3854
				if ( set != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3855
					expr = expr.replace( Expr.match[ type ], "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3856
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3857
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3858
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3859
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3860
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3861
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3862
	if ( !set ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3863
		set = typeof context.getElementsByTagName !== "undefined" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3864
			context.getElementsByTagName( "*" ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3865
			[];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3866
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3867
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3868
	return { set: set, expr: expr };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3869
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3870
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3871
Sizzle.filter = function( expr, set, inplace, not ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3872
	var match, anyFound,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3873
		old = expr,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3874
		result = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3875
		curLoop = set,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3876
		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3877
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3878
	while ( expr && set.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3879
		for ( var type in Expr.filter ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3880
			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3881
				var found, item,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3882
					filter = Expr.filter[ type ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3883
					left = match[1];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3884
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3885
				anyFound = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3886
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3887
				match.splice(1,1);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3888
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3889
				if ( left.substr( left.length - 1 ) === "\\" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3890
					continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3891
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3892
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3893
				if ( curLoop === result ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3894
					result = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3895
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3896
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3897
				if ( Expr.preFilter[ type ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3898
					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3899
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3900
					if ( !match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3901
						anyFound = found = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3902
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3903
					} else if ( match === true ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3904
						continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3905
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3906
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3907
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3908
				if ( match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3909
					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3910
						if ( item ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3911
							found = filter( item, match, i, curLoop );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3912
							var pass = not ^ !!found;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3913
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3914
							if ( inplace && found != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3915
								if ( pass ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3916
									anyFound = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3917
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3918
								} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3919
									curLoop[i] = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3920
								}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3921
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3922
							} else if ( pass ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3923
								result.push( item );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3924
								anyFound = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3925
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3926
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3927
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3928
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3929
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3930
				if ( found !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3931
					if ( !inplace ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3932
						curLoop = result;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3933
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3934
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3935
					expr = expr.replace( Expr.match[ type ], "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3936
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3937
					if ( !anyFound ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3938
						return [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3939
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3940
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3941
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3942
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3943
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3944
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3945
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3946
		// Improper expression
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3947
		if ( expr === old ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3948
			if ( anyFound == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3949
				Sizzle.error( expr );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3950
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3951
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3952
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3953
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3954
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3955
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3956
		old = expr;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3957
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3958
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3959
	return curLoop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3960
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3961
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3962
Sizzle.error = function( msg ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3963
	throw "Syntax error, unrecognized expression: " + msg;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3964
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3965
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3966
var Expr = Sizzle.selectors = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3967
	order: [ "ID", "NAME", "TAG" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3968
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3969
	match: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3970
		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3971
		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3972
		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3973
		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3974
		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3975
		CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3976
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3977
		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3978
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3979
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3980
	leftMatch: {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3981
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3982
	attrMap: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3983
		"class": "className",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3984
		"for": "htmlFor"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3985
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3986
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3987
	attrHandle: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3988
		href: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3989
			return elem.getAttribute( "href" );
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3990
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3991
		type: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3992
			return elem.getAttribute( "type" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3993
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3994
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3995
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3996
	relative: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3997
		"+": function(checkSet, part){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  3998
			var isPartStr = typeof part === "string",
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  3999
				isTag = isPartStr && !rNonWord.test( part ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4000
				isPartStrNotTag = isPartStr && !isTag;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4001
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4002
			if ( isTag ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4003
				part = part.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4004
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4005
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4006
			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4007
				if ( (elem = checkSet[i]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4008
					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4009
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4010
					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4011
						elem || false :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4012
						elem === part;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4013
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4014
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4015
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4016
			if ( isPartStrNotTag ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4017
				Sizzle.filter( part, checkSet, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4018
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4019
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4020
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4021
		">": function( checkSet, part ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4022
			var elem,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4023
				isPartStr = typeof part === "string",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4024
				i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4025
				l = checkSet.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4026
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4027
			if ( isPartStr && !rNonWord.test( part ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4028
				part = part.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4029
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4030
				for ( ; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4031
					elem = checkSet[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4032
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4033
					if ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4034
						var parent = elem.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4035
						checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4036
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4037
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4038
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4039
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4040
				for ( ; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4041
					elem = checkSet[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4042
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4043
					if ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4044
						checkSet[i] = isPartStr ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4045
							elem.parentNode :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4046
							elem.parentNode === part;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4047
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4048
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4049
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4050
				if ( isPartStr ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4051
					Sizzle.filter( part, checkSet, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4052
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4053
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4054
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4055
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4056
		"": function(checkSet, part, isXML){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4057
			var nodeCheck,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4058
				doneName = done++,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4059
				checkFn = dirCheck;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4060
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4061
			if ( typeof part === "string" && !rNonWord.test( part ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4062
				part = part.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4063
				nodeCheck = part;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4064
				checkFn = dirNodeCheck;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4065
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4066
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4067
			checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4068
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4069
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4070
		"~": function( checkSet, part, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4071
			var nodeCheck,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4072
				doneName = done++,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4073
				checkFn = dirCheck;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4074
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4075
			if ( typeof part === "string" && !rNonWord.test( part ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4076
				part = part.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4077
				nodeCheck = part;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4078
				checkFn = dirNodeCheck;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4079
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4080
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4081
			checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4082
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4083
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4084
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4085
	find: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4086
		ID: function( match, context, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4087
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4088
				var m = context.getElementById(match[1]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4089
				// Check parentNode to catch when Blackberry 4.6 returns
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4090
				// nodes that are no longer in the document #6963
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4091
				return m && m.parentNode ? [m] : [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4092
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4093
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4094
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4095
		NAME: function( match, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4096
			if ( typeof context.getElementsByName !== "undefined" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4097
				var ret = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4098
					results = context.getElementsByName( match[1] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4099
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4100
				for ( var i = 0, l = results.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4101
					if ( results[i].getAttribute("name") === match[1] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4102
						ret.push( results[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4103
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4104
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4105
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4106
				return ret.length === 0 ? null : ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4107
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4108
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4109
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4110
		TAG: function( match, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4111
			if ( typeof context.getElementsByTagName !== "undefined" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4112
				return context.getElementsByTagName( match[1] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4113
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4114
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4115
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4116
	preFilter: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4117
		CLASS: function( match, curLoop, inplace, result, not, isXML ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4118
			match = " " + match[1].replace( rBackslash, "" ) + " ";
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4119
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4120
			if ( isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4121
				return match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4122
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4123
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4124
			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4125
				if ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4126
					if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4127
						if ( !inplace ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4128
							result.push( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4129
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4130
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4131
					} else if ( inplace ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4132
						curLoop[i] = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4133
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4134
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4135
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4136
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4137
			return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4138
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4139
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4140
		ID: function( match ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4141
			return match[1].replace( rBackslash, "" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4142
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4143
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4144
		TAG: function( match, curLoop ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4145
			return match[1].replace( rBackslash, "" ).toLowerCase();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4146
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4147
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4148
		CHILD: function( match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4149
			if ( match[1] === "nth" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4150
				if ( !match[2] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4151
					Sizzle.error( match[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4152
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4153
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4154
				match[2] = match[2].replace(/^\+|\s*/g, '');
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4155
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4156
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4157
				var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4158
					match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4159
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4160
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4161
				// calculate the numbers (first)n+(last) including if they are negative
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4162
				match[2] = (test[1] + (test[2] || 1)) - 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4163
				match[3] = test[3] - 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4164
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4165
			else if ( match[2] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4166
				Sizzle.error( match[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4167
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4168
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4169
			// TODO: Move to normal caching system
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4170
			match[0] = done++;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4171
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4172
			return match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4173
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4174
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4175
		ATTR: function( match, curLoop, inplace, result, not, isXML ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4176
			var name = match[1] = match[1].replace( rBackslash, "" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4177
			
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4178
			if ( !isXML && Expr.attrMap[name] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4179
				match[1] = Expr.attrMap[name];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4180
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4181
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4182
			// Handle if an un-quoted value was used
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4183
			match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4184
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4185
			if ( match[2] === "~=" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4186
				match[4] = " " + match[4] + " ";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4187
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4188
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4189
			return match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4190
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4191
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4192
		PSEUDO: function( match, curLoop, inplace, result, not ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4193
			if ( match[1] === "not" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4194
				// If we're dealing with a complex expression, or a simple one
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4195
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4196
					match[3] = Sizzle(match[3], null, null, curLoop);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4197
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4198
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4199
					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4200
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4201
					if ( !inplace ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4202
						result.push.apply( result, ret );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4203
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4204
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4205
					return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4206
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4207
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4208
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4209
				return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4210
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4211
			
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4212
			return match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4213
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4214
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4215
		POS: function( match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4216
			match.unshift( true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4217
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4218
			return match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4219
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4220
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4221
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4222
	filters: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4223
		enabled: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4224
			return elem.disabled === false && elem.type !== "hidden";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4225
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4226
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4227
		disabled: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4228
			return elem.disabled === true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4229
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4230
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4231
		checked: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4232
			return elem.checked === true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4233
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4234
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4235
		selected: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4236
			// Accessing this property makes selected-by-default
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4237
			// options in Safari work properly
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4238
			if ( elem.parentNode ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4239
				elem.parentNode.selectedIndex;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4240
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4241
			
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4242
			return elem.selected === true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4243
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4244
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4245
		parent: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4246
			return !!elem.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4247
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4248
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4249
		empty: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4250
			return !elem.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4251
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4252
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4253
		has: function( elem, i, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4254
			return !!Sizzle( match[3], elem ).length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4255
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4256
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4257
		header: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4258
			return (/h\d/i).test( elem.nodeName );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4259
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4260
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4261
		text: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4262
			var attr = elem.getAttribute( "type" ), type = elem.type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4263
			// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) 
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4264
			// use getAttribute instead to test this case
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4265
			return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4266
		},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4267
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4268
		radio: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4269
			return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4270
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4271
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4272
		checkbox: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4273
			return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4274
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4275
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4276
		file: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4277
			return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4278
		},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4279
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4280
		password: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4281
			return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4282
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4283
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4284
		submit: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4285
			var name = elem.nodeName.toLowerCase();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4286
			return (name === "input" || name === "button") && "submit" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4287
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4288
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4289
		image: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4290
			return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4291
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4292
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4293
		reset: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4294
			return elem.nodeName.toLowerCase() === "input" && "reset" === elem.type;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4295
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4296
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4297
		button: function( elem ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4298
			var name = elem.nodeName.toLowerCase();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4299
			return name === "input" && "button" === elem.type || name === "button";
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4300
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4301
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4302
		input: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4303
			return (/input|select|textarea|button/i).test( elem.nodeName );
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4304
		},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4305
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4306
		focus: function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4307
			return elem === elem.ownerDocument.activeElement;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4308
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4309
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4310
	setFilters: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4311
		first: function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4312
			return i === 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4313
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4314
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4315
		last: function( elem, i, match, array ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4316
			return i === array.length - 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4317
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4318
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4319
		even: function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4320
			return i % 2 === 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4321
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4322
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4323
		odd: function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4324
			return i % 2 === 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4325
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4326
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4327
		lt: function( elem, i, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4328
			return i < match[3] - 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4329
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4330
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4331
		gt: function( elem, i, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4332
			return i > match[3] - 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4333
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4334
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4335
		nth: function( elem, i, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4336
			return match[3] - 0 === i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4337
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4338
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4339
		eq: function( elem, i, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4340
			return match[3] - 0 === i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4341
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4342
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4343
	filter: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4344
		PSEUDO: function( elem, match, i, array ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4345
			var name = match[1],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4346
				filter = Expr.filters[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4347
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4348
			if ( filter ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4349
				return filter( elem, i, match, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4350
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4351
			} else if ( name === "contains" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4352
				return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4353
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4354
			} else if ( name === "not" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4355
				var not = match[3];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4356
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4357
				for ( var j = 0, l = not.length; j < l; j++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4358
					if ( not[j] === elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4359
						return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4360
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4361
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4362
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4363
				return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4364
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4365
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4366
				Sizzle.error( name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4367
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4368
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4369
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4370
		CHILD: function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4371
			var type = match[1],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4372
				node = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4373
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4374
			switch ( type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4375
				case "only":
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4376
				case "first":
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4377
					while ( (node = node.previousSibling) )	 {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4378
						if ( node.nodeType === 1 ) { 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4379
							return false; 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4380
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4381
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4382
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4383
					if ( type === "first" ) { 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4384
						return true; 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4385
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4386
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4387
					node = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4388
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4389
				case "last":
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4390
					while ( (node = node.nextSibling) )	 {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4391
						if ( node.nodeType === 1 ) { 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4392
							return false; 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4393
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4394
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4395
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4396
					return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4397
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4398
				case "nth":
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4399
					var first = match[2],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4400
						last = match[3];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4401
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4402
					if ( first === 1 && last === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4403
						return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4404
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4405
					
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4406
					var doneName = match[0],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4407
						parent = elem.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4408
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4409
					if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4410
						var count = 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4411
						
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4412
						for ( node = parent.firstChild; node; node = node.nextSibling ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4413
							if ( node.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4414
								node.nodeIndex = ++count;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4415
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4416
						} 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4417
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4418
						parent.sizcache = doneName;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4419
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4420
					
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4421
					var diff = elem.nodeIndex - last;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4422
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4423
					if ( first === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4424
						return diff === 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4425
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4426
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4427
						return ( diff % first === 0 && diff / first >= 0 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4428
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4429
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4430
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4431
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4432
		ID: function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4433
			return elem.nodeType === 1 && elem.getAttribute("id") === match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4434
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4435
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4436
		TAG: function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4437
			return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4438
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4439
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4440
		CLASS: function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4441
			return (" " + (elem.className || elem.getAttribute("class")) + " ")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4442
				.indexOf( match ) > -1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4443
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4444
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4445
		ATTR: function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4446
			var name = match[1],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4447
				result = Expr.attrHandle[ name ] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4448
					Expr.attrHandle[ name ]( elem ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4449
					elem[ name ] != null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4450
						elem[ name ] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4451
						elem.getAttribute( name ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4452
				value = result + "",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4453
				type = match[2],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4454
				check = match[4];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4455
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4456
			return result == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4457
				type === "!=" :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4458
				type === "=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4459
				value === check :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4460
				type === "*=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4461
				value.indexOf(check) >= 0 :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4462
				type === "~=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4463
				(" " + value + " ").indexOf(check) >= 0 :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4464
				!check ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4465
				value && result !== false :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4466
				type === "!=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4467
				value !== check :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4468
				type === "^=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4469
				value.indexOf(check) === 0 :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4470
				type === "$=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4471
				value.substr(value.length - check.length) === check :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4472
				type === "|=" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4473
				value === check || value.substr(0, check.length + 1) === check + "-" :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4474
				false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4475
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4476
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4477
		POS: function( elem, match, i, array ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4478
			var name = match[2],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4479
				filter = Expr.setFilters[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4480
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4481
			if ( filter ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4482
				return filter( elem, i, match, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4483
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4484
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4485
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4486
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4487
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4488
var origPOS = Expr.match.POS,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4489
	fescape = function(all, num){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4490
		return "\\" + (num - 0 + 1);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4491
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4492
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4493
for ( var type in Expr.match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4494
	Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4495
	Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4496
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4497
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4498
var makeArray = function( array, results ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4499
	array = Array.prototype.slice.call( array, 0 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4500
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4501
	if ( results ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4502
		results.push.apply( results, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4503
		return results;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4504
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4505
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4506
	return array;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4507
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4508
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4509
// Perform a simple check to determine if the browser is capable of
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4510
// converting a NodeList to an array using builtin methods.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4511
// Also verifies that the returned array holds DOM nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4512
// (which is not the case in the Blackberry browser)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4513
try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4514
	Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4515
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4516
// Provide a fallback method if it does not work
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4517
} catch( e ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4518
	makeArray = function( array, results ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4519
		var i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4520
			ret = results || [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4521
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4522
		if ( toString.call(array) === "[object Array]" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4523
			Array.prototype.push.apply( ret, array );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4524
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4525
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4526
			if ( typeof array.length === "number" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4527
				for ( var l = array.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4528
					ret.push( array[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4529
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4530
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4531
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4532
				for ( ; array[i]; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4533
					ret.push( array[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4534
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4535
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4536
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4537
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4538
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4539
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4540
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4541
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4542
var sortOrder, siblingCheck;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4543
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4544
if ( document.documentElement.compareDocumentPosition ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4545
	sortOrder = function( a, b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4546
		if ( a === b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4547
			hasDuplicate = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4548
			return 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4549
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4550
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4551
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4552
			return a.compareDocumentPosition ? -1 : 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4553
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4554
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4555
		return a.compareDocumentPosition(b) & 4 ? -1 : 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4556
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4557
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4558
} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4559
	sortOrder = function( a, b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4560
		var al, bl,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4561
			ap = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4562
			bp = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4563
			aup = a.parentNode,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4564
			bup = b.parentNode,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4565
			cur = aup;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4566
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4567
		// The nodes are identical, we can exit early
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4568
		if ( a === b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4569
			hasDuplicate = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4570
			return 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4571
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4572
		// If the nodes are siblings (or identical) we can do a quick check
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4573
		} else if ( aup === bup ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4574
			return siblingCheck( a, b );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4576
		// If no parents were found then the nodes are disconnected
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4577
		} else if ( !aup ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4578
			return -1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4579
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4580
		} else if ( !bup ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4581
			return 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4582
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4583
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4584
		// Otherwise they're somewhere else in the tree so we need
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4585
		// to build up a full list of the parentNodes for comparison
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4586
		while ( cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4587
			ap.unshift( cur );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4588
			cur = cur.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4589
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4590
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4591
		cur = bup;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4592
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4593
		while ( cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4594
			bp.unshift( cur );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4595
			cur = cur.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4596
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4597
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4598
		al = ap.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4599
		bl = bp.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4600
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4601
		// Start walking down the tree looking for a discrepancy
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4602
		for ( var i = 0; i < al && i < bl; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4603
			if ( ap[i] !== bp[i] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4604
				return siblingCheck( ap[i], bp[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4605
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4606
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4607
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4608
		// We ended someplace up the tree so do a sibling check
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4609
		return i === al ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4610
			siblingCheck( a, bp[i], -1 ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4611
			siblingCheck( ap[i], b, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4612
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4613
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4614
	siblingCheck = function( a, b, ret ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4615
		if ( a === b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4616
			return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4617
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4618
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4619
		var cur = a.nextSibling;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4620
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4621
		while ( cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4622
			if ( cur === b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4623
				return -1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4624
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4625
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4626
			cur = cur.nextSibling;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4627
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4628
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4629
		return 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4630
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4631
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4632
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4633
// Utility function for retreiving the text value of an array of DOM nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4634
Sizzle.getText = function( elems ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4635
	var ret = "", elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4636
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4637
	for ( var i = 0; elems[i]; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4638
		elem = elems[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4639
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4640
		// Get the text from text nodes and CDATA nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4641
		if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4642
			ret += elem.nodeValue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4643
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4644
		// Traverse everything else, except comment nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4645
		} else if ( elem.nodeType !== 8 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4646
			ret += Sizzle.getText( elem.childNodes );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4647
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4648
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4649
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4650
	return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4651
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4652
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4653
// Check to see if the browser returns elements by name when
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4654
// querying by getElementById (and provide a workaround)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4655
(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4656
	// We're going to inject a fake input element with a specified name
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4657
	var form = document.createElement("div"),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4658
		id = "script" + (new Date()).getTime(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4659
		root = document.documentElement;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4660
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4661
	form.innerHTML = "<a name='" + id + "'/>";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4662
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4663
	// Inject it into the root element, check its status, and remove it quickly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4664
	root.insertBefore( form, root.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4665
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4666
	// The workaround has to do additional checks after a getElementById
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4667
	// Which slows things down for other browsers (hence the branching)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4668
	if ( document.getElementById( id ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4669
		Expr.find.ID = function( match, context, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4670
			if ( typeof context.getElementById !== "undefined" && !isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4671
				var m = context.getElementById(match[1]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4672
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4673
				return m ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4674
					m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4675
						[m] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4676
						undefined :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4677
					[];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4678
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4679
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4680
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4681
		Expr.filter.ID = function( elem, match ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4682
			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4683
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4684
			return elem.nodeType === 1 && node && node.nodeValue === match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4685
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4686
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4687
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4688
	root.removeChild( form );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4689
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4690
	// release memory in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4691
	root = form = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4692
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4693
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4694
(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4695
	// Check to see if the browser returns only elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4696
	// when doing getElementsByTagName("*")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4697
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4698
	// Create a fake element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4699
	var div = document.createElement("div");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4700
	div.appendChild( document.createComment("") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4701
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4702
	// Make sure no comments are found
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4703
	if ( div.getElementsByTagName("*").length > 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4704
		Expr.find.TAG = function( match, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4705
			var results = context.getElementsByTagName( match[1] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4706
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4707
			// Filter out possible comments
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4708
			if ( match[1] === "*" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4709
				var tmp = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4710
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4711
				for ( var i = 0; results[i]; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4712
					if ( results[i].nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4713
						tmp.push( results[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4714
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4715
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4716
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4717
				results = tmp;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4718
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4719
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4720
			return results;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4721
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4722
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4723
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4724
	// Check to see if an attribute returns normalized href attributes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4725
	div.innerHTML = "<a href='#'></a>";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4726
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4727
	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4728
			div.firstChild.getAttribute("href") !== "#" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4729
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4730
		Expr.attrHandle.href = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4731
			return elem.getAttribute( "href", 2 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4732
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4733
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4734
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4735
	// release memory in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4736
	div = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4737
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4738
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4739
if ( document.querySelectorAll ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4740
	(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4741
		var oldSizzle = Sizzle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4742
			div = document.createElement("div"),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4743
			id = "__sizzle__";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4744
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4745
		div.innerHTML = "<p class='TEST'></p>";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4746
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4747
		// Safari can't handle uppercase or unicode characters when
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4748
		// in quirks mode.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4749
		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4750
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4751
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4752
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4753
		Sizzle = function( query, context, extra, seed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4754
			context = context || document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4755
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4756
			// Only use querySelectorAll on non-XML documents
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4757
			// (ID selectors don't work in non-HTML documents)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4758
			if ( !seed && !Sizzle.isXML(context) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4759
				// See if we find a selector to speed up
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4760
				var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4761
				
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4762
				if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4763
					// Speed-up: Sizzle("TAG")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4764
					if ( match[1] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4765
						return makeArray( context.getElementsByTagName( query ), extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4766
					
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4767
					// Speed-up: Sizzle(".CLASS")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4768
					} else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4769
						return makeArray( context.getElementsByClassName( match[2] ), extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4770
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4771
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4772
				
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4773
				if ( context.nodeType === 9 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4774
					// Speed-up: Sizzle("body")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4775
					// The body element only exists once, optimize finding it
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4776
					if ( query === "body" && context.body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4777
						return makeArray( [ context.body ], extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4778
						
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4779
					// Speed-up: Sizzle("#ID")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4780
					} else if ( match && match[3] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4781
						var elem = context.getElementById( match[3] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4782
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4783
						// Check parentNode to catch when Blackberry 4.6 returns
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4784
						// nodes that are no longer in the document #6963
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4785
						if ( elem && elem.parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4786
							// Handle the case where IE and Opera return items
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4787
							// by name instead of ID
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4788
							if ( elem.id === match[3] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4789
								return makeArray( [ elem ], extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4790
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4791
							
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4792
						} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4793
							return makeArray( [], extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4794
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4795
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4796
					
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4797
					try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4798
						return makeArray( context.querySelectorAll(query), extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4799
					} catch(qsaError) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4800
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4801
				// qSA works strangely on Element-rooted queries
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4802
				// We can work around this by specifying an extra ID on the root
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4803
				// and working up from there (Thanks to Andrew Dupont for the technique)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4804
				// IE 8 doesn't work on object elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4805
				} else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4806
					var oldContext = context,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4807
						old = context.getAttribute( "id" ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4808
						nid = old || id,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4809
						hasParent = context.parentNode,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4810
						relativeHierarchySelector = /^\s*[+~]/.test( query );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4811
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4812
					if ( !old ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4813
						context.setAttribute( "id", nid );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4814
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4815
						nid = nid.replace( /'/g, "\\$&" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4816
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4817
					if ( relativeHierarchySelector && hasParent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4818
						context = context.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4819
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4820
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4821
					try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4822
						if ( !relativeHierarchySelector || hasParent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4823
							return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4824
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4825
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4826
					} catch(pseudoError) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4827
					} finally {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4828
						if ( !old ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4829
							oldContext.removeAttribute( "id" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4830
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4831
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4832
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4833
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4834
		
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4835
			return oldSizzle(query, context, extra, seed);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4836
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4837
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4838
		for ( var prop in oldSizzle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4839
			Sizzle[ prop ] = oldSizzle[ prop ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4840
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4841
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4842
		// release memory in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4843
		div = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4844
	})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4845
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4846
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4847
(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4848
	var html = document.documentElement,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4849
		matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4850
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4851
	if ( matches ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4852
		// Check to see if it's possible to do matchesSelector
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4853
		// on a disconnected node (IE 9 fails this)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4854
		var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4855
			pseudoWorks = false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4856
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4857
		try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4858
			// This should fail with an exception
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4859
			// Gecko does not error, returns false instead
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4860
			matches.call( document.documentElement, "[test!='']:sizzle" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4861
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4862
		} catch( pseudoError ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4863
			pseudoWorks = true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4864
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4865
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4866
		Sizzle.matchesSelector = function( node, expr ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4867
			// Make sure that attribute selectors are quoted
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4868
			expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4869
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4870
			if ( !Sizzle.isXML( node ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4871
				try { 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4872
					if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4873
						var ret = matches.call( node, expr );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4874
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4875
						// IE 9's matchesSelector returns false on disconnected nodes
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4876
						if ( ret || !disconnectedMatch ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4877
								// As well, disconnected nodes are said to be in a document
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4878
								// fragment in IE 9, so check for that
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4879
								node.document && node.document.nodeType !== 11 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4880
							return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  4881
						}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4882
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4883
				} catch(e) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4884
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4885
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4886
			return Sizzle(expr, null, null, [node]).length > 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4887
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4888
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4889
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4890
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4891
(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4892
	var div = document.createElement("div");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4893
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4894
	div.innerHTML = "<div class='test e'></div><div class='test'></div>";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4895
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4896
	// Opera can't find a second classname (in 9.6)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4897
	// Also, make sure that getElementsByClassName actually exists
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4898
	if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4899
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4900
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4901
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4902
	// Safari caches class attributes, doesn't catch changes (in 3.2)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4903
	div.lastChild.className = "e";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4904
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4905
	if ( div.getElementsByClassName("e").length === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4906
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4907
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4908
	
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4909
	Expr.order.splice(1, 0, "CLASS");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4910
	Expr.find.CLASS = function( match, context, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4911
		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4912
			return context.getElementsByClassName(match[1]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4913
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4914
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4915
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4916
	// release memory in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4917
	div = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4918
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4919
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4920
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4921
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4922
		var elem = checkSet[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4923
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4924
		if ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4925
			var match = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4926
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4927
			elem = elem[dir];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4928
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4929
			while ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4930
				if ( elem.sizcache === doneName ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4931
					match = checkSet[elem.sizset];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4932
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4933
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4934
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4935
				if ( elem.nodeType === 1 && !isXML ){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4936
					elem.sizcache = doneName;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4937
					elem.sizset = i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4938
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4939
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4940
				if ( elem.nodeName.toLowerCase() === cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4941
					match = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4942
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4943
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4944
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4945
				elem = elem[dir];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4946
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4947
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4948
			checkSet[i] = match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4949
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4950
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4951
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4952
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4953
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4954
	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4955
		var elem = checkSet[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4956
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4957
		if ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4958
			var match = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4959
			
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4960
			elem = elem[dir];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4961
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4962
			while ( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4963
				if ( elem.sizcache === doneName ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4964
					match = checkSet[elem.sizset];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4965
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4966
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4967
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4968
				if ( elem.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4969
					if ( !isXML ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4970
						elem.sizcache = doneName;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4971
						elem.sizset = i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4972
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4973
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4974
					if ( typeof cur !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4975
						if ( elem === cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4976
							match = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4977
							break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4978
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4979
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4980
					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4981
						match = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4982
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4983
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4984
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4985
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4986
				elem = elem[dir];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4987
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4988
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4989
			checkSet[i] = match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4990
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4991
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4992
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4993
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4994
if ( document.documentElement.contains ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4995
	Sizzle.contains = function( a, b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4996
		return a !== b && (a.contains ? a.contains(b) : true);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4997
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4998
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  4999
} else if ( document.documentElement.compareDocumentPosition ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5000
	Sizzle.contains = function( a, b ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5001
		return !!(a.compareDocumentPosition(b) & 16);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5002
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5003
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5004
} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5005
	Sizzle.contains = function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5006
		return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5007
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5008
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5009
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5010
Sizzle.isXML = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5011
	// documentElement is verified for cases where it doesn't yet exist
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5012
	// (such as loading iframes in IE - #4833) 
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5013
	var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5014
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5015
	return documentElement ? documentElement.nodeName !== "HTML" : false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5016
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5017
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5018
var posProcess = function( selector, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5019
	var match,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5020
		tmpSet = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5021
		later = "",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5022
		root = context.nodeType ? [context] : context;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5023
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5024
	// Position selectors must be done after the filter
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5025
	// And so must :not(positional) so we move all PSEUDOs to the end
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5026
	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5027
		later += match[0];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5028
		selector = selector.replace( Expr.match.PSEUDO, "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5029
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5030
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5031
	selector = Expr.relative[selector] ? selector + "*" : selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5032
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5033
	for ( var i = 0, l = root.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5034
		Sizzle( selector, root[i], tmpSet );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5035
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5036
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5037
	return Sizzle.filter( later, tmpSet );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5038
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5039
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5040
// EXPOSE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5041
jQuery.find = Sizzle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5042
jQuery.expr = Sizzle.selectors;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5043
jQuery.expr[":"] = jQuery.expr.filters;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5044
jQuery.unique = Sizzle.uniqueSort;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5045
jQuery.text = Sizzle.getText;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5046
jQuery.isXMLDoc = Sizzle.isXML;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5047
jQuery.contains = Sizzle.contains;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5048
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5049
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5050
})();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5051
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5052
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5053
var runtil = /Until$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5054
	rparentsprev = /^(?:parents|prevUntil|prevAll)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5055
	// Note: This RegExp should be improved, or likely pulled from Sizzle
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5056
	rmultiselector = /,/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5057
	isSimple = /^.[^:#\[\.,]*$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5058
	slice = Array.prototype.slice,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5059
	POS = jQuery.expr.match.POS,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5060
	// methods guaranteed to produce a unique set when starting from a unique set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5061
	guaranteedUnique = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5062
		children: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5063
		contents: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5064
		next: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5065
		prev: true
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5066
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5067
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5068
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5069
	find: function( selector ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5070
		var self = this,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5071
			i, l;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5072
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5073
		if ( typeof selector !== "string" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5074
			return jQuery( selector ).filter(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5075
				for ( i = 0, l = self.length; i < l; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5076
					if ( jQuery.contains( self[ i ], this ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5077
						return true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5078
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5079
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5080
			});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5081
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5082
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5083
		var ret = this.pushStack( "", "find", selector ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5084
			length, n, r;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5085
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5086
		for ( i = 0, l = this.length; i < l; i++ ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5087
			length = ret.length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5088
			jQuery.find( selector, this[i], ret );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5089
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5090
			if ( i > 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5091
				// Make sure that the results are unique
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5092
				for ( n = length; n < ret.length; n++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5093
					for ( r = 0; r < length; r++ ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5094
						if ( ret[r] === ret[n] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5095
							ret.splice(n--, 1);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5096
							break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5097
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5098
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5099
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5100
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5101
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5102
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5103
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5104
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5105
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5106
	has: function( target ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5107
		var targets = jQuery( target );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5108
		return this.filter(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5109
			for ( var i = 0, l = targets.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5110
				if ( jQuery.contains( this, targets[i] ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5111
					return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5112
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5113
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5114
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5115
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5116
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5117
	not: function( selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5118
		return this.pushStack( winnow(this, selector, false), "not", selector);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5119
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5120
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5121
	filter: function( selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5122
		return this.pushStack( winnow(this, selector, true), "filter", selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5123
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5124
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5125
	is: function( selector ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5126
		return !!selector && ( typeof selector === "string" ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5127
			jQuery.filter( selector, this ).length > 0 :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5128
			this.filter( selector ).length > 0 );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5129
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5130
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5131
	closest: function( selectors, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5132
		var ret = [], i, l, cur = this[0];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5133
		
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5134
		// Array
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5135
		if ( jQuery.isArray( selectors ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5136
			var match, selector,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5137
				matches = {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5138
				level = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5139
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5140
			if ( cur && selectors.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5141
				for ( i = 0, l = selectors.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5142
					selector = selectors[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5143
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5144
					if ( !matches[ selector ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5145
						matches[ selector ] = POS.test( selector ) ?
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5146
							jQuery( selector, context || this.context ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5147
							selector;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5148
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5149
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5150
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5151
				while ( cur && cur.ownerDocument && cur !== context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5152
					for ( selector in matches ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5153
						match = matches[ selector ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5154
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5155
						if ( match.jquery ? match.index( cur ) > -1 : jQuery( cur ).is( match ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5156
							ret.push({ selector: selector, elem: cur, level: level });
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5157
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5158
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5159
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5160
					cur = cur.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5161
					level++;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5162
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5163
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5164
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5165
			return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5166
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5167
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5168
		// String
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5169
		var pos = POS.test( selectors ) || typeof selectors !== "string" ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5170
				jQuery( selectors, context || this.context ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5171
				0;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5172
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5173
		for ( i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5174
			cur = this[i];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5175
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5176
			while ( cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5177
				if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5178
					ret.push( cur );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5179
					break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5180
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5181
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5182
					cur = cur.parentNode;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5183
					if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5184
						break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5185
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5186
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5187
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5188
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5189
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5190
		ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5191
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5192
		return this.pushStack( ret, "closest", selectors );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5193
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5194
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5195
	// Determine the position of an element within
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5196
	// the matched set of elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5197
	index: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5198
		if ( !elem || typeof elem === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5199
			return jQuery.inArray( this[0],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5200
				// If it receives a string, the selector is used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5201
				// If it receives nothing, the siblings are used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5202
				elem ? jQuery( elem ) : this.parent().children() );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5203
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5204
		// Locate the position of the desired element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5205
		return jQuery.inArray(
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5206
			// If it receives a jQuery object, the first element is used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5207
			elem.jquery ? elem[0] : elem, this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5208
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5209
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5210
	add: function( selector, context ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5211
		var set = typeof selector === "string" ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5212
				jQuery( selector, context ) :
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5213
				jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5214
			all = jQuery.merge( this.get(), set );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5215
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5216
		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5217
			all :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5218
			jQuery.unique( all ) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5219
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5220
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5221
	andSelf: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5222
		return this.add( this.prevObject );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5223
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5224
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5225
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5226
// A painfully simple check to see if an element is disconnected
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5227
// from a document (should be improved, where feasible).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5228
function isDisconnected( node ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5229
	return !node || !node.parentNode || node.parentNode.nodeType === 11;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5230
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5231
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5232
jQuery.each({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5233
	parent: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5234
		var parent = elem.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5235
		return parent && parent.nodeType !== 11 ? parent : null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5236
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5237
	parents: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5238
		return jQuery.dir( elem, "parentNode" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5239
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5240
	parentsUntil: function( elem, i, until ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5241
		return jQuery.dir( elem, "parentNode", until );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5242
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5243
	next: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5244
		return jQuery.nth( elem, 2, "nextSibling" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5245
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5246
	prev: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5247
		return jQuery.nth( elem, 2, "previousSibling" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5248
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5249
	nextAll: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5250
		return jQuery.dir( elem, "nextSibling" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5251
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5252
	prevAll: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5253
		return jQuery.dir( elem, "previousSibling" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5254
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5255
	nextUntil: function( elem, i, until ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5256
		return jQuery.dir( elem, "nextSibling", until );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5257
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5258
	prevUntil: function( elem, i, until ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5259
		return jQuery.dir( elem, "previousSibling", until );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5260
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5261
	siblings: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5262
		return jQuery.sibling( elem.parentNode.firstChild, elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5263
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5264
	children: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5265
		return jQuery.sibling( elem.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5266
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5267
	contents: function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5268
		return jQuery.nodeName( elem, "iframe" ) ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5269
			elem.contentDocument || elem.contentWindow.document :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5270
			jQuery.makeArray( elem.childNodes );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5271
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5272
}, function( name, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5273
	jQuery.fn[ name ] = function( until, selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5274
		var ret = jQuery.map( this, fn, until ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5275
			// The variable 'args' was introduced in
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5276
			// https://github.com/jquery/jquery/commit/52a0238
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5277
			// to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5278
			// http://code.google.com/p/v8/issues/detail?id=1050
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5279
			args = slice.call(arguments);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5280
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5281
		if ( !runtil.test( name ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5282
			selector = until;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5283
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5284
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5285
		if ( selector && typeof selector === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5286
			ret = jQuery.filter( selector, ret );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5287
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5288
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5289
		ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5290
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5291
		if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5292
			ret = ret.reverse();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5293
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5294
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5295
		return this.pushStack( ret, name, args.join(",") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5296
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5297
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5298
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5299
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5300
	filter: function( expr, elems, not ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5301
		if ( not ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5302
			expr = ":not(" + expr + ")";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5303
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5304
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5305
		return elems.length === 1 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5306
			jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5307
			jQuery.find.matches(expr, elems);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5308
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5309
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5310
	dir: function( elem, dir, until ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5311
		var matched = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5312
			cur = elem[ dir ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5313
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5314
		while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5315
			if ( cur.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5316
				matched.push( cur );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5317
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5318
			cur = cur[dir];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5319
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5320
		return matched;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5321
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5322
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5323
	nth: function( cur, result, dir, elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5324
		result = result || 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5325
		var num = 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5326
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5327
		for ( ; cur; cur = cur[dir] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5328
			if ( cur.nodeType === 1 && ++num === result ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5329
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5330
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5331
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5332
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5333
		return cur;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5334
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5335
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5336
	sibling: function( n, elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5337
		var r = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5338
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5339
		for ( ; n; n = n.nextSibling ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5340
			if ( n.nodeType === 1 && n !== elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5341
				r.push( n );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5342
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5343
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5344
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5345
		return r;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5346
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5347
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5348
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5349
// Implement the identical functionality for filter and not
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5350
function winnow( elements, qualifier, keep ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5351
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5352
	// Can't pass null or undefined to indexOf in Firefox 4
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5353
	// Set to 0 to skip string check
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5354
	qualifier = qualifier || 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5355
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5356
	if ( jQuery.isFunction( qualifier ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5357
		return jQuery.grep(elements, function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5358
			var retVal = !!qualifier.call( elem, i, elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5359
			return retVal === keep;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5360
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5361
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5362
	} else if ( qualifier.nodeType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5363
		return jQuery.grep(elements, function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5364
			return (elem === qualifier) === keep;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5365
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5366
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5367
	} else if ( typeof qualifier === "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5368
		var filtered = jQuery.grep(elements, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5369
			return elem.nodeType === 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5370
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5371
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5372
		if ( isSimple.test( qualifier ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5373
			return jQuery.filter(qualifier, filtered, !keep);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5374
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5375
			qualifier = jQuery.filter( qualifier, filtered );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5376
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5377
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5378
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5379
	return jQuery.grep(elements, function( elem, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5380
		return (jQuery.inArray( elem, qualifier ) >= 0) === keep;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5381
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5382
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5383
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5384
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5385
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5386
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5387
var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5388
	rleadingWhitespace = /^\s+/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5389
	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5390
	rtagName = /<([\w:]+)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5391
	rtbody = /<tbody/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5392
	rhtml = /<|&#?\w+;/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5393
	rnocache = /<(?:script|object|embed|option|style)/i,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5394
	// checked="checked" or checked
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5395
	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5396
	rscriptType = /\/(java|ecma)script/i,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5397
	wrapMap = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5398
		option: [ 1, "<select multiple='multiple'>", "</select>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5399
		legend: [ 1, "<fieldset>", "</fieldset>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5400
		thead: [ 1, "<table>", "</table>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5401
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5402
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5403
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5404
		area: [ 1, "<map>", "</map>" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5405
		_default: [ 0, "", "" ]
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5406
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5407
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5408
wrapMap.optgroup = wrapMap.option;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5409
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5410
wrapMap.th = wrapMap.td;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5411
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5412
// IE can't serialize <link> and <script> tags normally
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5413
if ( !jQuery.support.htmlSerialize ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5414
	wrapMap._default = [ 1, "div<div>", "</div>" ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5415
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5416
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5417
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5418
	text: function( text ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5419
		if ( jQuery.isFunction(text) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5420
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5421
				var self = jQuery( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5422
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5423
				self.text( text.call(this, i, self.text()) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5424
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5425
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5426
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5427
		if ( typeof text !== "object" && text !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5428
			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5429
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5430
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5431
		return jQuery.text( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5432
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5433
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5434
	wrapAll: function( html ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5435
		if ( jQuery.isFunction( html ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5436
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5437
				jQuery(this).wrapAll( html.call(this, i) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5438
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5439
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5440
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5441
		if ( this[0] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5442
			// The elements to wrap the target around
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5443
			var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5444
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5445
			if ( this[0].parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5446
				wrap.insertBefore( this[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5447
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5448
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5449
			wrap.map(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5450
				var elem = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5451
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5452
				while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5453
					elem = elem.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5454
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5455
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5456
				return elem;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5457
			}).append( this );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5458
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5459
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5460
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5461
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5462
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5463
	wrapInner: function( html ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5464
		if ( jQuery.isFunction( html ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5465
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5466
				jQuery(this).wrapInner( html.call(this, i) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5467
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5468
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5469
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5470
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5471
			var self = jQuery( this ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5472
				contents = self.contents();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5473
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5474
			if ( contents.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5475
				contents.wrapAll( html );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5476
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5477
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5478
				self.append( html );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5479
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5480
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5481
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5482
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5483
	wrap: function( html ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5484
		return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5485
			jQuery( this ).wrapAll( html );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5486
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5487
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5488
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5489
	unwrap: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5490
		return this.parent().each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5491
			if ( !jQuery.nodeName( this, "body" ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5492
				jQuery( this ).replaceWith( this.childNodes );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5493
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5494
		}).end();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5495
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5496
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5497
	append: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5498
		return this.domManip(arguments, true, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5499
			if ( this.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5500
				this.appendChild( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5501
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5502
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5503
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5504
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5505
	prepend: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5506
		return this.domManip(arguments, true, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5507
			if ( this.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5508
				this.insertBefore( elem, this.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5509
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5510
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5511
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5512
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5513
	before: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5514
		if ( this[0] && this[0].parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5515
			return this.domManip(arguments, false, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5516
				this.parentNode.insertBefore( elem, this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5517
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5518
		} else if ( arguments.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5519
			var set = jQuery(arguments[0]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5520
			set.push.apply( set, this.toArray() );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5521
			return this.pushStack( set, "before", arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5522
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5523
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5524
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5525
	after: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5526
		if ( this[0] && this[0].parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5527
			return this.domManip(arguments, false, function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5528
				this.parentNode.insertBefore( elem, this.nextSibling );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5529
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5530
		} else if ( arguments.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5531
			var set = this.pushStack( this, "after", arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5532
			set.push.apply( set, jQuery(arguments[0]).toArray() );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5533
			return set;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5534
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5535
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5536
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5537
	// keepData is for internal use only--do not document
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5538
	remove: function( selector, keepData ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5539
		for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5540
			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5541
				if ( !keepData && elem.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5542
					jQuery.cleanData( elem.getElementsByTagName("*") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5543
					jQuery.cleanData( [ elem ] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5544
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5545
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5546
				if ( elem.parentNode ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5547
					elem.parentNode.removeChild( elem );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5548
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5549
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5550
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5551
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5552
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5553
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5554
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5555
	empty: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5556
		for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5557
			// Remove element nodes and prevent memory leaks
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5558
			if ( elem.nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5559
				jQuery.cleanData( elem.getElementsByTagName("*") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5560
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5561
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5562
			// Remove any remaining nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5563
			while ( elem.firstChild ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5564
				elem.removeChild( elem.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5565
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5566
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5567
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5568
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5569
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5570
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5571
	clone: function( dataAndEvents, deepDataAndEvents ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5572
		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5573
		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5574
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5575
		return this.map( function () {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5576
			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5577
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5578
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5579
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5580
	html: function( value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5581
		if ( value === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5582
			return this[0] && this[0].nodeType === 1 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5583
				this[0].innerHTML.replace(rinlinejQuery, "") :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5584
				null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5585
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5586
		// See if we can take a shortcut and just use innerHTML
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5587
		} else if ( typeof value === "string" && !rnocache.test( value ) &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5588
			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5589
			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5590
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5591
			value = value.replace(rxhtmlTag, "<$1></$2>");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5592
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5593
			try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5594
				for ( var i = 0, l = this.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5595
					// Remove element nodes and prevent memory leaks
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5596
					if ( this[i].nodeType === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5597
						jQuery.cleanData( this[i].getElementsByTagName("*") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5598
						this[i].innerHTML = value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5599
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5600
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5601
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5602
			// If using innerHTML throws an exception, use the fallback method
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5603
			} catch(e) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5604
				this.empty().append( value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5605
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5606
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5607
		} else if ( jQuery.isFunction( value ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5608
			this.each(function(i){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5609
				var self = jQuery( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5610
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5611
				self.html( value.call(this, i, self.html()) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5612
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5613
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5614
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5615
			this.empty().append( value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5616
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5617
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5618
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5619
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5620
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5621
	replaceWith: function( value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5622
		if ( this[0] && this[0].parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5623
			// Make sure that the elements are removed from the DOM before they are inserted
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5624
			// this can help fix replacing a parent with child elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5625
			if ( jQuery.isFunction( value ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5626
				return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5627
					var self = jQuery(this), old = self.html();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5628
					self.replaceWith( value.call( this, i, old ) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5629
				});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5630
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5631
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5632
			if ( typeof value !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5633
				value = jQuery( value ).detach();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5634
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5635
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5636
			return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5637
				var next = this.nextSibling,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5638
					parent = this.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5639
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5640
				jQuery( this ).remove();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5641
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5642
				if ( next ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5643
					jQuery(next).before( value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5644
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5645
					jQuery(parent).append( value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5646
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5647
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5648
		} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5649
			return this.length ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5650
				this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5651
				this;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5652
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5653
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5654
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5655
	detach: function( selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5656
		return this.remove( selector, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5657
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5658
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5659
	domManip: function( args, table, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5660
		var results, first, fragment, parent,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5661
			value = args[0],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5662
			scripts = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5663
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5664
		// We can't cloneNode fragments that contain checked, in WebKit
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5665
		if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5666
			return this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5667
				jQuery(this).domManip( args, table, callback, true );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5668
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5669
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5670
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5671
		if ( jQuery.isFunction(value) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5672
			return this.each(function(i) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5673
				var self = jQuery(this);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5674
				args[0] = value.call(this, i, table ? self.html() : undefined);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5675
				self.domManip( args, table, callback );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5676
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5677
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5678
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5679
		if ( this[0] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5680
			parent = value && value.parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5681
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5682
			// If we're in a fragment, just use that instead of building a new one
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5683
			if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5684
				results = { fragment: parent };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5685
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5686
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5687
				results = jQuery.buildFragment( args, this, scripts );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5688
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5689
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5690
			fragment = results.fragment;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5691
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5692
			if ( fragment.childNodes.length === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5693
				first = fragment = fragment.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5694
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5695
				first = fragment.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5696
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5697
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5698
			if ( first ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5699
				table = table && jQuery.nodeName( first, "tr" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5700
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5701
				for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5702
					callback.call(
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5703
						table ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5704
							root(this[i], first) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5705
							this[i],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5706
						// Make sure that we do not leak memory by inadvertently discarding
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5707
						// the original fragment (which might have attached data) instead of
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5708
						// using it; in addition, use the original fragment object for the last
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5709
						// item instead of first because it can end up being emptied incorrectly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5710
						// in certain situations (Bug #8070).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5711
						// Fragments from the fragment cache must always be cloned and never used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5712
						// in place.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5713
						results.cacheable || (l > 1 && i < lastIndex) ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5714
							jQuery.clone( fragment, true, true ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5715
							fragment
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5716
					);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5717
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5718
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5719
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5720
			if ( scripts.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5721
				jQuery.each( scripts, evalScript );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5722
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5723
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5724
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5725
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5726
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5727
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5728
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5729
function root( elem, cur ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5730
	return jQuery.nodeName(elem, "table") ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5731
		(elem.getElementsByTagName("tbody")[0] ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5732
		elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5733
		elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5734
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5735
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5736
function cloneCopyEvent( src, dest ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5737
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5738
	if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5739
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5740
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5741
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5742
	var internalKey = jQuery.expando,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5743
		oldData = jQuery.data( src ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5744
		curData = jQuery.data( dest, oldData );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5745
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5746
	// Switch to use the internal data object, if it exists, for the next
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5747
	// stage of data copying
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5748
	if ( (oldData = oldData[ internalKey ]) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5749
		var events = oldData.events;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5750
				curData = curData[ internalKey ] = jQuery.extend({}, oldData);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5751
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5752
		if ( events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5753
			delete curData.handle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5754
			curData.events = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5755
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5756
			for ( var type in events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5757
				for ( var i = 0, l = events[ type ].length; i < l; i++ ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5758
					jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5759
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5760
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5761
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5762
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5763
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5764
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5765
function cloneFixAttributes( src, dest ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5766
	var nodeName;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5767
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5768
	// We do not need to do anything for non-Elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5769
	if ( dest.nodeType !== 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5770
		return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5771
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5772
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5773
	// clearAttributes removes the attributes, which we don't want,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5774
	// but also removes the attachEvent events, which we *do* want
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5775
	if ( dest.clearAttributes ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5776
		dest.clearAttributes();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5777
	}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5778
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5779
	// mergeAttributes, in contrast, only merges back on the
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5780
	// original attributes, not the events
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5781
	if ( dest.mergeAttributes ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5782
		dest.mergeAttributes( src );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5783
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5784
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5785
	nodeName = dest.nodeName.toLowerCase();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5786
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5787
	// IE6-8 fail to clone children inside object elements that use
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5788
	// the proprietary classid attribute value (rather than the type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5789
	// attribute) to identify the type of content to display
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5790
	if ( nodeName === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5791
		dest.outerHTML = src.outerHTML;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5792
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5793
	} else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5794
		// IE6-8 fails to persist the checked state of a cloned checkbox
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5795
		// or radio button. Worse, IE6-7 fail to give the cloned element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5796
		// a checked appearance if the defaultChecked value isn't also set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5797
		if ( src.checked ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5798
			dest.defaultChecked = dest.checked = src.checked;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5799
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5800
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5801
		// IE6-7 get confused and end up setting the value of a cloned
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5802
		// checkbox/radio button to an empty string instead of "on"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5803
		if ( dest.value !== src.value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5804
			dest.value = src.value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5805
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5806
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5807
	// IE6-8 fails to return the selected option to the default selected
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5808
	// state when cloning options
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5809
	} else if ( nodeName === "option" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5810
		dest.selected = src.defaultSelected;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5811
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5812
	// IE6-8 fails to set the defaultValue to the correct value when
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5813
	// cloning other types of input fields
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5814
	} else if ( nodeName === "input" || nodeName === "textarea" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5815
		dest.defaultValue = src.defaultValue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5816
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5817
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5818
	// Event data gets referenced instead of copied if the expando
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5819
	// gets copied too
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5820
	dest.removeAttribute( jQuery.expando );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5821
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5822
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5823
jQuery.buildFragment = function( args, nodes, scripts ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5824
	var fragment, cacheable, cacheresults,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5825
		doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5826
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5827
	// Only cache "small" (1/2 KB) HTML strings that are associated with the main document
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5828
	// Cloning options loses the selected state, so don't cache them
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5829
	// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5830
	// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5831
	if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5832
		args[0].charAt(0) === "<" && !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5833
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5834
		cacheable = true;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5835
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5836
		cacheresults = jQuery.fragments[ args[0] ];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5837
		if ( cacheresults && cacheresults !== 1 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5838
			fragment = cacheresults;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5839
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5840
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5841
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5842
	if ( !fragment ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5843
		fragment = doc.createDocumentFragment();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5844
		jQuery.clean( args, doc, fragment, scripts );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5845
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5846
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5847
	if ( cacheable ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5848
		jQuery.fragments[ args[0] ] = cacheresults ? fragment : 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5849
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5850
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5851
	return { fragment: fragment, cacheable: cacheable };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5852
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5853
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5854
jQuery.fragments = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5855
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5856
jQuery.each({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5857
	appendTo: "append",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5858
	prependTo: "prepend",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5859
	insertBefore: "before",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5860
	insertAfter: "after",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5861
	replaceAll: "replaceWith"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5862
}, function( name, original ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5863
	jQuery.fn[ name ] = function( selector ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5864
		var ret = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5865
			insert = jQuery( selector ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5866
			parent = this.length === 1 && this[0].parentNode;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5867
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5868
		if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5869
			insert[ original ]( this[0] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5870
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5871
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5872
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5873
			for ( var i = 0, l = insert.length; i < l; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5874
				var elems = (i > 0 ? this.clone(true) : this).get();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5875
				jQuery( insert[i] )[ original ]( elems );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5876
				ret = ret.concat( elems );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5877
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5878
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5879
			return this.pushStack( ret, name, insert.selector );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5880
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5881
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5882
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5883
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5884
function getAll( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5885
	if ( "getElementsByTagName" in elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5886
		return elem.getElementsByTagName( "*" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5887
	
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5888
	} else if ( "querySelectorAll" in elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5889
		return elem.querySelectorAll( "*" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5890
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5891
	} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5892
		return [];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5893
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5894
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5895
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5896
// Used in clean, fixes the defaultChecked property
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5897
function fixDefaultChecked( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5898
	if ( elem.type === "checkbox" || elem.type === "radio" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5899
		elem.defaultChecked = elem.checked;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5900
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5901
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5902
// Finds all inputs and passes them to fixDefaultChecked
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5903
function findInputs( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5904
	if ( jQuery.nodeName( elem, "input" ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5905
		fixDefaultChecked( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5906
	} else if ( elem.getElementsByTagName ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5907
		jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5908
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5909
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5910
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5911
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5912
	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5913
		var clone = elem.cloneNode(true),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5914
				srcElements,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5915
				destElements,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5916
				i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5917
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5918
		if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5919
				(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5920
			// IE copies events bound via attachEvent when using cloneNode.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5921
			// Calling detachEvent on the clone will also remove the events
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5922
			// from the original. In order to get around this, we use some
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5923
			// proprietary methods to clear the events. Thanks to MooTools
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5924
			// guys for this hotness.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5925
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5926
			cloneFixAttributes( elem, clone );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5927
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5928
			// Using Sizzle here is crazy slow, so we use getElementsByTagName
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5929
			// instead
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5930
			srcElements = getAll( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5931
			destElements = getAll( clone );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5932
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5933
			// Weird iteration because IE will replace the length property
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5934
			// with an element if you are cloning the body and one of the
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5935
			// elements on the page has a name or id of "length"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5936
			for ( i = 0; srcElements[i]; ++i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5937
				cloneFixAttributes( srcElements[i], destElements[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5938
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5939
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5940
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5941
		// Copy the events from the original to the clone
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5942
		if ( dataAndEvents ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5943
			cloneCopyEvent( elem, clone );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5944
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5945
			if ( deepDataAndEvents ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5946
				srcElements = getAll( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5947
				destElements = getAll( clone );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5948
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5949
				for ( i = 0; srcElements[i]; ++i ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5950
					cloneCopyEvent( srcElements[i], destElements[i] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5951
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5952
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5953
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5954
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5955
		// Return the cloned set
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5956
		return clone;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5957
	},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5958
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5959
	clean: function( elems, context, fragment, scripts ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5960
		var checkScriptType;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5961
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5962
		context = context || document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5963
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5964
		// !context.createElement fails in IE with an error but returns typeof 'object'
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5965
		if ( typeof context.createElement === "undefined" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5966
			context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5967
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5968
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5969
		var ret = [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5970
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5971
		for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5972
			if ( typeof elem === "number" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5973
				elem += "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5974
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5975
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5976
			if ( !elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5977
				continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5978
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5979
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  5980
			// Convert html string into DOM nodes
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5981
			if ( typeof elem === "string" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5982
				if ( !rhtml.test( elem ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5983
					elem = context.createTextNode( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5984
				} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5985
					// Fix "XHTML"-style tags in all browsers
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5986
					elem = elem.replace(rxhtmlTag, "<$1></$2>");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5987
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5988
					// Trim whitespace, otherwise indexOf won't work as expected
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5989
					var tag = (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5990
						wrap = wrapMap[ tag ] || wrapMap._default,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5991
						depth = wrap[0],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5992
						div = context.createElement("div");
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5993
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5994
					// Go to html and back, then peel off extra wrappers
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5995
					div.innerHTML = wrap[1] + elem + wrap[2];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5996
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5997
					// Move to the right depth
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5998
					while ( depth-- ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  5999
						div = div.lastChild;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6000
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6001
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6002
					// Remove IE's autoinserted <tbody> from table fragments
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6003
					if ( !jQuery.support.tbody ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6004
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6005
						// String was a <table>, *may* have spurious <tbody>
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6006
						var hasBody = rtbody.test(elem),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6007
							tbody = tag === "table" && !hasBody ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6008
								div.firstChild && div.firstChild.childNodes :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6009
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6010
								// String was a bare <thead> or <tfoot>
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6011
								wrap[1] === "<table>" && !hasBody ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6012
									div.childNodes :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6013
									[];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6014
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6015
						for ( var j = tbody.length - 1; j >= 0 ; --j ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6016
							if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6017
								tbody[ j ].parentNode.removeChild( tbody[ j ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6018
							}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6019
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6020
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6021
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6022
					// IE completely kills leading whitespace when innerHTML is used
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6023
					if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6024
						div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6025
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6026
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6027
					elem = div.childNodes;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6028
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6029
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6030
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6031
			// Resets defaultChecked for any radios and checkboxes
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6032
			// about to be appended to the DOM in IE 6/7 (#8060)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6033
			var len;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6034
			if ( !jQuery.support.appendChecked ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6035
				if ( elem[0] && typeof (len = elem.length) === "number" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6036
					for ( i = 0; i < len; i++ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6037
						findInputs( elem[i] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6038
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6039
				} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6040
					findInputs( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6041
				}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6042
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6043
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6044
			if ( elem.nodeType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6045
				ret.push( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6046
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6047
				ret = jQuery.merge( ret, elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6048
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6049
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6050
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6051
		if ( fragment ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6052
			checkScriptType = function( elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6053
				return !elem.type || rscriptType.test( elem.type );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6054
			};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6055
			for ( i = 0; ret[i]; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6056
				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6057
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6058
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6059
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6060
					if ( ret[i].nodeType === 1 ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6061
						var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6062
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6063
						ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6064
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6065
					fragment.appendChild( ret[i] );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6066
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6067
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6068
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6069
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6070
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6071
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6072
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6073
	cleanData: function( elems ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6074
		var data, id, cache = jQuery.cache, internalKey = jQuery.expando, special = jQuery.event.special,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6075
			deleteExpando = jQuery.support.deleteExpando;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6076
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6077
		for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6078
			if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6079
				continue;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6080
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6081
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6082
			id = elem[ jQuery.expando ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6083
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6084
			if ( id ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6085
				data = cache[ id ] && cache[ id ][ internalKey ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6086
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6087
				if ( data && data.events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6088
					for ( var type in data.events ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6089
						if ( special[ type ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6090
							jQuery.event.remove( elem, type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6091
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6092
						// This is a shortcut to avoid jQuery.event.remove's overhead
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6093
						} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6094
							jQuery.removeEvent( elem, type, data.handle );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6095
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6096
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6097
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6098
					// Null the DOM reference to avoid IE6/7/8 leak (#7054)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6099
					if ( data.handle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6100
						data.handle.elem = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6101
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6102
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6103
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6104
				if ( deleteExpando ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6105
					delete elem[ jQuery.expando ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6106
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6107
				} else if ( elem.removeAttribute ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6108
					elem.removeAttribute( jQuery.expando );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6109
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6110
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6111
				delete cache[ id ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6112
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6113
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6114
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6115
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6116
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6117
function evalScript( i, elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6118
	if ( elem.src ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6119
		jQuery.ajax({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6120
			url: elem.src,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6121
			async: false,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6122
			dataType: "script"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6123
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6124
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6125
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6126
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6127
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6128
	if ( elem.parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6129
		elem.parentNode.removeChild( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6130
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6131
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6132
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6133
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6134
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6135
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6136
var ralpha = /alpha\([^)]*\)/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6137
	ropacity = /opacity=([^)]*)/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6138
	rdashAlpha = /-([a-z])/ig,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6139
	// fixed for IE9, see #8346
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6140
	rupper = /([A-Z]|^ms)/g,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6141
	rnumpx = /^-?\d+(?:px)?$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6142
	rnum = /^-?\d/,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6143
	rrelNum = /^[+\-]=/,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6144
	rrelNumFilter = /[^+\-\.\de]+/g,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6145
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6146
	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6147
	cssWidth = [ "Left", "Right" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6148
	cssHeight = [ "Top", "Bottom" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6149
	curCSS,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6150
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6151
	getComputedStyle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6152
	currentStyle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6153
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6154
	fcamelCase = function( all, letter ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6155
		return letter.toUpperCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6156
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6157
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6158
jQuery.fn.css = function( name, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6159
	// Setting 'undefined' is a no-op
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6160
	if ( arguments.length === 2 && value === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6161
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6162
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6163
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6164
	return jQuery.access( this, name, value, true, function( elem, name, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6165
		return value !== undefined ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6166
			jQuery.style( elem, name, value ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6167
			jQuery.css( elem, name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6168
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6169
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6170
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6171
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6172
	// Add in style property hooks for overriding the default
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6173
	// behavior of getting and setting a style property
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6174
	cssHooks: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6175
		opacity: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6176
			get: function( elem, computed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6177
				if ( computed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6178
					// We should always get a number back from opacity
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6179
					var ret = curCSS( elem, "opacity", "opacity" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6180
					return ret === "" ? "1" : ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6181
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6182
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6183
					return elem.style.opacity;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6184
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6185
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6186
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6187
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6188
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6189
	// Exclude the following css properties to add px
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6190
	cssNumber: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6191
		"zIndex": true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6192
		"fontWeight": true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6193
		"opacity": true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6194
		"zoom": true,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6195
		"lineHeight": true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6196
		"widows": true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6197
		"orphans": true
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6198
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6199
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6200
	// Add in properties whose names you wish to fix before
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6201
	// setting or getting the value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6202
	cssProps: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6203
		// normalize float css property
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6204
		"float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6205
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6206
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6207
	// Get and set the style property on a DOM Node
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6208
	style: function( elem, name, value, extra ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6209
		// Don't set styles on text and comment nodes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6210
		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6211
			return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6212
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6213
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6214
		// Make sure that we're working with the right name
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6215
		var ret, type, origName = jQuery.camelCase( name ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6216
			style = elem.style, hooks = jQuery.cssHooks[ origName ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6217
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6218
		name = jQuery.cssProps[ origName ] || origName;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6219
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6220
		// Check if we're setting a value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6221
		if ( value !== undefined ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6222
			type = typeof value;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6223
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6224
			// Make sure that NaN and null values aren't set. See: #7116
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6225
			if ( type === "number" && isNaN( value ) || value == null ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6226
				return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6227
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6228
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6229
			// convert relative number strings (+= or -=) to relative numbers. #7345
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6230
			if ( type === "string" && rrelNum.test( value ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6231
				value = +value.replace( rrelNumFilter, "" ) + parseFloat( jQuery.css( elem, name ) );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6232
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6233
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6234
			// If a number was passed in, add 'px' to the (except for certain CSS properties)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6235
			if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6236
				value += "px";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6237
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6238
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6239
			// If a hook was provided, use that value, otherwise just set the specified value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6240
			if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6241
				// Wrapped to prevent IE from throwing errors when 'invalid' values are provided
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6242
				// Fixes bug #5509
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6243
				try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6244
					style[ name ] = value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6245
				} catch(e) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6246
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6247
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6248
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6249
			// If a hook was provided get the non-computed value from there
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6250
			if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6251
				return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6252
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6253
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6254
			// Otherwise just get the value from the style object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6255
			return style[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6256
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6257
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6258
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6259
	css: function( elem, name, extra ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6260
		var ret, hooks;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6261
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6262
		// Make sure that we're working with the right name
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6263
		name = jQuery.camelCase( name );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6264
		hooks = jQuery.cssHooks[ name ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6265
		name = jQuery.cssProps[ name ] || name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6266
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6267
		// cssFloat needs a special treatment
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6268
		if ( name === "cssFloat" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6269
			name = "float";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6270
		}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6271
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6272
		// If a hook was provided get the computed value from there
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6273
		if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6274
			return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6275
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6276
		// Otherwise, if a way to get the computed value exists, use that
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6277
		} else if ( curCSS ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6278
			return curCSS( elem, name );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6279
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6280
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6281
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6282
	// A method for quickly swapping in/out CSS properties to get correct calculations
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6283
	swap: function( elem, options, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6284
		var old = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6285
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6286
		// Remember the old values, and insert the new ones
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6287
		for ( var name in options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6288
			old[ name ] = elem.style[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6289
			elem.style[ name ] = options[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6290
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6291
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6292
		callback.call( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6293
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6294
		// Revert the old values
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6295
		for ( name in options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6296
			elem.style[ name ] = old[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6297
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6298
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6299
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6300
	camelCase: function( string ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6301
		return string.replace( rdashAlpha, fcamelCase );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6302
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6303
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6304
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6305
// DEPRECATED, Use jQuery.css() instead
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6306
jQuery.curCSS = jQuery.css;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6307
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6308
jQuery.each(["height", "width"], function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6309
	jQuery.cssHooks[ name ] = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6310
		get: function( elem, computed, extra ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6311
			var val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6312
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6313
			if ( computed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6314
				if ( elem.offsetWidth !== 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6315
					val = getWH( elem, name, extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6316
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6317
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6318
					jQuery.swap( elem, cssShow, function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6319
						val = getWH( elem, name, extra );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6320
					});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6321
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6322
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6323
				if ( val <= 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6324
					val = curCSS( elem, name, name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6325
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6326
					if ( val === "0px" && currentStyle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6327
						val = currentStyle( elem, name, name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6328
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6329
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6330
					if ( val != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6331
						// Should return "auto" instead of 0, use 0 for
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6332
						// temporary backwards-compat
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6333
						return val === "" || val === "auto" ? "0px" : val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6334
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6335
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6336
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6337
				if ( val < 0 || val == null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6338
					val = elem.style[ name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6339
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6340
					// Should return "auto" instead of 0, use 0 for
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6341
					// temporary backwards-compat
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6342
					return val === "" || val === "auto" ? "0px" : val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6343
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6344
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6345
				return typeof val === "string" ? val : val + "px";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6346
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6347
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6348
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6349
		set: function( elem, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6350
			if ( rnumpx.test( value ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6351
				// ignore negative width and height values #1599
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6352
				value = parseFloat(value);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6353
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6354
				if ( value >= 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6355
					return value + "px";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6356
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6357
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6358
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6359
				return value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6360
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6361
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6362
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6363
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6364
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6365
if ( !jQuery.support.opacity ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6366
	jQuery.cssHooks.opacity = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6367
		get: function( elem, computed ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6368
			// IE uses filters for opacity
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6369
			return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6370
				( parseFloat( RegExp.$1 ) / 100 ) + "" :
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6371
				computed ? "1" : "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6372
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6373
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6374
		set: function( elem, value ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6375
			var style = elem.style,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6376
				currentStyle = elem.currentStyle;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6377
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6378
			// IE has trouble with opacity if it does not have layout
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6379
			// Force it by setting the zoom level
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6380
			style.zoom = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6381
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6382
			// Set the alpha filter to set the opacity
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6383
			var opacity = jQuery.isNaN( value ) ?
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6384
				"" :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6385
				"alpha(opacity=" + value * 100 + ")",
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6386
				filter = currentStyle && currentStyle.filter || style.filter || "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6387
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6388
			style.filter = ralpha.test( filter ) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6389
				filter.replace( ralpha, opacity ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6390
				filter + " " + opacity;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6391
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6392
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6393
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6394
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6395
jQuery(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6396
	// This hook cannot be added until DOM ready because the support test
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6397
	// for it is not run until after DOM ready
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6398
	if ( !jQuery.support.reliableMarginRight ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6399
		jQuery.cssHooks.marginRight = {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6400
			get: function( elem, computed ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6401
				// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6402
				// Work around by temporarily setting element display to inline-block
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6403
				var ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6404
				jQuery.swap( elem, { "display": "inline-block" }, function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6405
					if ( computed ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6406
						ret = curCSS( elem, "margin-right", "marginRight" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6407
					} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6408
						ret = elem.style.marginRight;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6409
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6410
				});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6411
				return ret;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6412
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6413
		};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6414
	}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6415
});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6416
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6417
if ( document.defaultView && document.defaultView.getComputedStyle ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6418
	getComputedStyle = function( elem, name ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6419
		var ret, defaultView, computedStyle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6420
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6421
		name = name.replace( rupper, "-$1" ).toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6422
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6423
		if ( !(defaultView = elem.ownerDocument.defaultView) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6424
			return undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6425
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6426
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6427
		if ( (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6428
			ret = computedStyle.getPropertyValue( name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6429
			if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6430
				ret = jQuery.style( elem, name );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6431
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6432
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6433
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6434
		return ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6435
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6436
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6437
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6438
if ( document.documentElement.currentStyle ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6439
	currentStyle = function( elem, name ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6440
		var left,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6441
			ret = elem.currentStyle && elem.currentStyle[ name ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6442
			rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6443
			style = elem.style;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6444
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6445
		// From the awesome hack by Dean Edwards
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6446
		// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6447
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6448
		// If we're not dealing with a regular pixel number
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6449
		// but a number that has a weird ending, we need to convert it to pixels
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6450
		if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6451
			// Remember the original values
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6452
			left = style.left;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6453
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6454
			// Put in the new values to get a computed value out
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6455
			if ( rsLeft ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6456
				elem.runtimeStyle.left = elem.currentStyle.left;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6457
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6458
			style.left = name === "fontSize" ? "1em" : (ret || 0);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6459
			ret = style.pixelLeft + "px";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6460
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6461
			// Revert the changed values
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6462
			style.left = left;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6463
			if ( rsLeft ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6464
				elem.runtimeStyle.left = rsLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6465
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6466
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6467
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6468
		return ret === "" ? "auto" : ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6469
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6470
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6471
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6472
curCSS = getComputedStyle || currentStyle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6473
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6474
function getWH( elem, name, extra ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6475
	var which = name === "width" ? cssWidth : cssHeight,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6476
		val = name === "width" ? elem.offsetWidth : elem.offsetHeight;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6477
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6478
	if ( extra === "border" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6479
		return val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6480
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6481
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6482
	jQuery.each( which, function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6483
		if ( !extra ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6484
			val -= parseFloat(jQuery.css( elem, "padding" + this )) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6485
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6486
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6487
		if ( extra === "margin" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6488
			val += parseFloat(jQuery.css( elem, "margin" + this )) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6489
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6490
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6491
			val -= parseFloat(jQuery.css( elem, "border" + this + "Width" )) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6492
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6493
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6494
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6495
	return val;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6496
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6497
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6498
if ( jQuery.expr && jQuery.expr.filters ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6499
	jQuery.expr.filters.hidden = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6500
		var width = elem.offsetWidth,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6501
			height = elem.offsetHeight;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6502
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6503
		return (width === 0 && height === 0) || (!jQuery.support.reliableHiddenOffsets && (elem.style.display || jQuery.css( elem, "display" )) === "none");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6504
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6505
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6506
	jQuery.expr.filters.visible = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6507
		return !jQuery.expr.filters.hidden( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6508
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6509
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6510
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6511
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6512
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6513
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6514
var r20 = /%20/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6515
	rbracket = /\[\]$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6516
	rCRLF = /\r?\n/g,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6517
	rhash = /#.*$/,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6518
	rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6519
	rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6520
	// #7653, #8125, #8152: local protocol detection
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6521
	rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|widget):$/,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6522
	rnoContent = /^(?:GET|HEAD)$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6523
	rprotocol = /^\/\//,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6524
	rquery = /\?/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6525
	rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6526
	rselectTextarea = /^(?:select|textarea)/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6527
	rspacesAjax = /\s+/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6528
	rts = /([?&])_=[^&]*/,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6529
	rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6530
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6531
	// Keep a copy of the old load method
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6532
	_load = jQuery.fn.load,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6533
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6534
	/* Prefilters
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6535
	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6536
	 * 2) These are called:
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6537
	 *    - BEFORE asking for a transport
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6538
	 *    - AFTER param serialization (s.data is a string if s.processData is true)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6539
	 * 3) key is the dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6540
	 * 4) the catchall symbol "*" can be used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6541
	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6542
	 */
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6543
	prefilters = {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6544
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6545
	/* Transports bindings
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6546
	 * 1) key is the dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6547
	 * 2) the catchall symbol "*" can be used
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6548
	 * 3) selection will start with transport dataType and THEN go to "*" if needed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6549
	 */
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6550
	transports = {},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6551
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6552
	// Document location
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6553
	ajaxLocation,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6554
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6555
	// Document location segments
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6556
	ajaxLocParts;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6557
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6558
// #8138, IE may throw an exception when accessing
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6559
// a field from window.location if document.domain has been set
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6560
try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6561
	ajaxLocation = location.href;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6562
} catch( e ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6563
	// Use the href attribute of an A element
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6564
	// since IE will modify it given document.location
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6565
	ajaxLocation = document.createElement( "a" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6566
	ajaxLocation.href = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6567
	ajaxLocation = ajaxLocation.href;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6568
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6569
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6570
// Segment location into parts
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6571
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6572
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6573
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6574
function addToPrefiltersOrTransports( structure ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6576
	// dataTypeExpression is optional and defaults to "*"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6577
	return function( dataTypeExpression, func ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6578
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6579
		if ( typeof dataTypeExpression !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6580
			func = dataTypeExpression;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6581
			dataTypeExpression = "*";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6582
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6583
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6584
		if ( jQuery.isFunction( func ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6585
			var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6586
				i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6587
				length = dataTypes.length,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6588
				dataType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6589
				list,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6590
				placeBefore;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6591
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6592
			// For each dataType in the dataTypeExpression
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6593
			for(; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6594
				dataType = dataTypes[ i ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6595
				// We control if we're asked to add before
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6596
				// any existing element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6597
				placeBefore = /^\+/.test( dataType );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6598
				if ( placeBefore ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6599
					dataType = dataType.substr( 1 ) || "*";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6600
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6601
				list = structure[ dataType ] = structure[ dataType ] || [];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6602
				// then we add to the structure accordingly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6603
				list[ placeBefore ? "unshift" : "push" ]( func );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6604
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6605
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6606
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6607
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6608
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6609
// Base inspection function for prefilters and transports
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6610
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6611
		dataType /* internal */, inspected /* internal */ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6612
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6613
	dataType = dataType || options.dataTypes[ 0 ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6614
	inspected = inspected || {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6615
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6616
	inspected[ dataType ] = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6617
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6618
	var list = structure[ dataType ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6619
		i = 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6620
		length = list ? list.length : 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6621
		executeOnly = ( structure === prefilters ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6622
		selection;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6623
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6624
	for(; i < length && ( executeOnly || !selection ); i++ ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6625
		selection = list[ i ]( options, originalOptions, jqXHR );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6626
		// If we got redirected to another dataType
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6627
		// we try there if executing only and not done already
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6628
		if ( typeof selection === "string" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6629
			if ( !executeOnly || inspected[ selection ] ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6630
				selection = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6631
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6632
				options.dataTypes.unshift( selection );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6633
				selection = inspectPrefiltersOrTransports(
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6634
						structure, options, originalOptions, jqXHR, selection, inspected );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6635
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6636
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6637
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6638
	// If we're only executing or nothing was selected
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6639
	// we try the catchall dataType if not done already
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6640
	if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6641
		selection = inspectPrefiltersOrTransports(
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6642
				structure, options, originalOptions, jqXHR, "*", inspected );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6643
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6644
	// unnecessary when only executing (prefilters)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6645
	// but it'll be ignored by the caller in that case
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6646
	return selection;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6647
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6648
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6649
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6650
	load: function( url, params, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6651
		if ( typeof url !== "string" && _load ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6652
			return _load.apply( this, arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6653
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6654
		// Don't do a request if no elements are being requested
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6655
		} else if ( !this.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6656
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6657
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6658
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6659
		var off = url.indexOf( " " );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6660
		if ( off >= 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6661
			var selector = url.slice( off, url.length );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6662
			url = url.slice( 0, off );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6663
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6664
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6665
		// Default to a GET request
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6666
		var type = "GET";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6667
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6668
		// If the second parameter was provided
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6669
		if ( params ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6670
			// If it's a function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6671
			if ( jQuery.isFunction( params ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6672
				// We assume that it's the callback
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6673
				callback = params;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6674
				params = undefined;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6675
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6676
			// Otherwise, build a param string
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6677
			} else if ( typeof params === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6678
				params = jQuery.param( params, jQuery.ajaxSettings.traditional );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6679
				type = "POST";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6680
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6681
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6682
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6683
		var self = this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6684
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6685
		// Request the remote document
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6686
		jQuery.ajax({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6687
			url: url,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6688
			type: type,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6689
			dataType: "html",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6690
			data: params,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6691
			// Complete callback (responseText is used internally)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6692
			complete: function( jqXHR, status, responseText ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6693
				// Store the response as specified by the jqXHR object
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6694
				responseText = jqXHR.responseText;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6695
				// If successful, inject the HTML into all the matched elements
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6696
				if ( jqXHR.isResolved() ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6697
					// #4825: Get the actual response in case
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6698
					// a dataFilter is present in ajaxSettings
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6699
					jqXHR.done(function( r ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6700
						responseText = r;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6701
					});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6702
					// See if a selector was specified
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6703
					self.html( selector ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6704
						// Create a dummy div to hold the results
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6705
						jQuery("<div>")
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6706
							// inject the contents of the document in, removing the scripts
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6707
							// to avoid any 'Permission Denied' errors in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6708
							.append(responseText.replace(rscript, ""))
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6709
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6710
							// Locate the specified elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6711
							.find(selector) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6712
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6713
						// If not, just inject the full result
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6714
						responseText );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6715
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6716
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6717
				if ( callback ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6718
					self.each( callback, [ responseText, status, jqXHR ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6719
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6720
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6721
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6722
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6723
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6724
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6725
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6726
	serialize: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6727
		return jQuery.param( this.serializeArray() );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6728
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6729
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6730
	serializeArray: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6731
		return this.map(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6732
			return this.elements ? jQuery.makeArray( this.elements ) : this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6733
		})
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6734
		.filter(function(){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6735
			return this.name && !this.disabled &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6736
				( this.checked || rselectTextarea.test( this.nodeName ) ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6737
					rinput.test( this.type ) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6738
		})
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6739
		.map(function( i, elem ){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6740
			var val = jQuery( this ).val();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6741
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6742
			return val == null ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6743
				null :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6744
				jQuery.isArray( val ) ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6745
					jQuery.map( val, function( val, i ){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6746
						return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6747
					}) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6748
					{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6749
		}).get();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6750
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6751
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6752
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6753
// Attach a bunch of functions for handling common AJAX events
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6754
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6755
	jQuery.fn[ o ] = function( f ){
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6756
		return this.bind( o, f );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6757
	};
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6758
});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6759
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6760
jQuery.each( [ "get", "post" ], function( i, method ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6761
	jQuery[ method ] = function( url, data, callback, type ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6762
		// shift arguments if data argument was omitted
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6763
		if ( jQuery.isFunction( data ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6764
			type = type || callback;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6765
			callback = data;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6766
			data = undefined;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6767
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6768
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6769
		return jQuery.ajax({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6770
			type: method,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6771
			url: url,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6772
			data: data,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6773
			success: callback,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6774
			dataType: type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6775
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6776
	};
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6777
});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6778
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6779
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6780
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6781
	getScript: function( url, callback ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6782
		return jQuery.get( url, undefined, callback, "script" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6783
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6784
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6785
	getJSON: function( url, data, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6786
		return jQuery.get( url, data, callback, "json" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6787
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6788
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6789
	// Creates a full fledged settings object into target
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6790
	// with both ajaxSettings and settings fields.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6791
	// If target is omitted, writes into ajaxSettings.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6792
	ajaxSetup: function ( target, settings ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6793
		if ( !settings ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6794
			// Only one parameter, we extend ajaxSettings
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6795
			settings = target;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6796
			target = jQuery.extend( true, jQuery.ajaxSettings, settings );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6797
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6798
			// target was provided, we extend into it
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6799
			jQuery.extend( true, target, jQuery.ajaxSettings, settings );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6800
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6801
		// Flatten fields we don't want deep extended
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6802
		for( var field in { context: 1, url: 1 } ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6803
			if ( field in settings ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6804
				target[ field ] = settings[ field ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6805
			} else if( field in jQuery.ajaxSettings ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6806
				target[ field ] = jQuery.ajaxSettings[ field ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6807
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6808
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6809
		return target;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6810
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6811
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6812
	ajaxSettings: {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6813
		url: ajaxLocation,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6814
		isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6815
		global: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6816
		type: "GET",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6817
		contentType: "application/x-www-form-urlencoded",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6818
		processData: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6819
		async: true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6820
		/*
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6821
		timeout: 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6822
		data: null,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6823
		dataType: null,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6824
		username: null,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6825
		password: null,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6826
		cache: null,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6827
		traditional: false,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6828
		headers: {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6829
		*/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6830
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6831
		accepts: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6832
			xml: "application/xml, text/xml",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6833
			html: "text/html",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6834
			text: "text/plain",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6835
			json: "application/json, text/javascript",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6836
			"*": "*/*"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6837
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6838
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6839
		contents: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6840
			xml: /xml/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6841
			html: /html/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6842
			json: /json/
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6843
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6844
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6845
		responseFields: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6846
			xml: "responseXML",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6847
			text: "responseText"
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6848
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6849
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6850
		// List of data converters
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6851
		// 1) key format is "source_type destination_type" (a single space in-between)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6852
		// 2) the catchall symbol "*" can be used for source_type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6853
		converters: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6854
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6855
			// Convert anything to text
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6856
			"* text": window.String,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6857
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6858
			// Text to html (true = no transformation)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6859
			"text html": true,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6860
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6861
			// Evaluate text as a json expression
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6862
			"text json": jQuery.parseJSON,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6863
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6864
			// Parse text as xml
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6865
			"text xml": jQuery.parseXML
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6866
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6867
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6868
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6869
	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6870
	ajaxTransport: addToPrefiltersOrTransports( transports ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6871
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6872
	// Main method
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6873
	ajax: function( url, options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6874
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6875
		// If url is an object, simulate pre-1.5 signature
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6876
		if ( typeof url === "object" ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6877
			options = url;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6878
			url = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6879
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6880
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6881
		// Force options to be an object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6882
		options = options || {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6883
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6884
		var // Create the final options object
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6885
			s = jQuery.ajaxSetup( {}, options ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6886
			// Callbacks context
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6887
			callbackContext = s.context || s,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6888
			// Context for global events
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6889
			// It's the callbackContext if one was provided in the options
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6890
			// and if it's a DOM node or a jQuery collection
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6891
			globalEventContext = callbackContext !== s &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6892
				( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6893
						jQuery( callbackContext ) : jQuery.event,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6894
			// Deferreds
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6895
			deferred = jQuery.Deferred(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6896
			completeDeferred = jQuery._Deferred(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6897
			// Status-dependent callbacks
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6898
			statusCode = s.statusCode || {},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6899
			// ifModified key
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6900
			ifModifiedKey,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6901
			// Headers (they are sent all at once)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6902
			requestHeaders = {},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6903
			requestHeadersNames = {},
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6904
			// Response headers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6905
			responseHeadersString,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6906
			responseHeaders,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6907
			// transport
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6908
			transport,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6909
			// timeout handle
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6910
			timeoutTimer,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6911
			// Cross-domain detection vars
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6912
			parts,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6913
			// The jqXHR state
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6914
			state = 0,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6915
			// To know if global events are to be dispatched
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6916
			fireGlobals,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6917
			// Loop variable
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6918
			i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6919
			// Fake xhr
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6920
			jqXHR = {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6921
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6922
				readyState: 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6923
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6924
				// Caches the header
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6925
				setRequestHeader: function( name, value ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6926
					if ( !state ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6927
						var lname = name.toLowerCase();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6928
						name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6929
						requestHeaders[ name ] = value;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6930
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6931
					return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6932
				},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6933
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6934
				// Raw string
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6935
				getAllResponseHeaders: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6936
					return state === 2 ? responseHeadersString : null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6937
				},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6938
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6939
				// Builds headers hashtable if needed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6940
				getResponseHeader: function( key ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6941
					var match;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6942
					if ( state === 2 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6943
						if ( !responseHeaders ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6944
							responseHeaders = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6945
							while( ( match = rheaders.exec( responseHeadersString ) ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6946
								responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6947
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6948
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6949
						match = responseHeaders[ key.toLowerCase() ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6950
					}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6951
					return match === undefined ? null : match;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6952
				},
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6953
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6954
				// Overrides response content-type header
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6955
				overrideMimeType: function( type ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6956
					if ( !state ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6957
						s.mimeType = type;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6958
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6959
					return this;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6960
				},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6961
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6962
				// Cancel the request
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6963
				abort: function( statusText ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6964
					statusText = statusText || "abort";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6965
					if ( transport ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6966
						transport.abort( statusText );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6967
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6968
					done( 0, statusText );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6969
					return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6970
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6971
			};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6972
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6973
		// Callback for when everything is done
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6974
		// It is defined here because jslint complains if it is declared
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6975
		// at the end of the function (which would be more logical and readable)
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6976
		function done( status, statusText, responses, headers ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6977
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6978
			// Called once
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6979
			if ( state === 2 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6980
				return;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6981
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6982
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6983
			// State is "done" now
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6984
			state = 2;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6985
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6986
			// Clear timeout if it exists
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6987
			if ( timeoutTimer ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6988
				clearTimeout( timeoutTimer );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6989
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6990
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6991
			// Dereference transport for early garbage collection
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6992
			// (no matter how long the jqXHR object will be used)
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6993
			transport = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6994
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6995
			// Cache response headers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6996
			responseHeadersString = headers || "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6997
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  6998
			// Set readyState
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  6999
			jqXHR.readyState = status ? 4 : 0;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7000
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7001
			var isSuccess,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7002
				success,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7003
				error,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7004
				response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7005
				lastModified,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7006
				etag;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7007
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7008
			// If successful, handle type chaining
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7009
			if ( status >= 200 && status < 300 || status === 304 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7010
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7011
				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7012
				if ( s.ifModified ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7013
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7014
					if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7015
						jQuery.lastModified[ ifModifiedKey ] = lastModified;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7016
					}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7017
					if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7018
						jQuery.etag[ ifModifiedKey ] = etag;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7019
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7020
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7021
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7022
				// If not modified
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7023
				if ( status === 304 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7024
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7025
					statusText = "notmodified";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7026
					isSuccess = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7027
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7028
				// If we have data
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7029
				} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7030
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7031
					try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7032
						success = ajaxConvert( s, response );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7033
						statusText = "success";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7034
						isSuccess = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7035
					} catch(e) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7036
						// We have a parsererror
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7037
						statusText = "parsererror";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7038
						error = e;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7039
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7040
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7041
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7042
				// We extract error from statusText
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7043
				// then normalize statusText and status for non-aborts
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7044
				error = statusText;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7045
				if( !statusText || status ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7046
					statusText = "error";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7047
					if ( status < 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7048
						status = 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7049
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7050
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7051
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7052
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7053
			// Set data for the fake xhr object
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7054
			jqXHR.status = status;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7055
			jqXHR.statusText = statusText;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7056
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7057
			// Success/Error
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7058
			if ( isSuccess ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7059
				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7060
			} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7061
				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7062
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7063
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7064
			// Status-dependent callbacks
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7065
			jqXHR.statusCode( statusCode );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7066
			statusCode = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7067
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7068
			if ( fireGlobals ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7069
				globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7070
						[ jqXHR, s, isSuccess ? success : error ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7071
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7072
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7073
			// Complete
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7074
			completeDeferred.resolveWith( callbackContext, [ jqXHR, statusText ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7075
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7076
			if ( fireGlobals ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7077
				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7078
				// Handle the global AJAX counter
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7079
				if ( !( --jQuery.active ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7080
					jQuery.event.trigger( "ajaxStop" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7081
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7082
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7083
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7084
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7085
		// Attach deferreds
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7086
		deferred.promise( jqXHR );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7087
		jqXHR.success = jqXHR.done;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7088
		jqXHR.error = jqXHR.fail;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7089
		jqXHR.complete = completeDeferred.done;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7090
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7091
		// Status-dependent callbacks
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7092
		jqXHR.statusCode = function( map ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7093
			if ( map ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7094
				var tmp;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7095
				if ( state < 2 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7096
					for( tmp in map ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7097
						statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7098
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7099
				} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7100
					tmp = map[ jqXHR.status ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7101
					jqXHR.then( tmp, tmp );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7102
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7103
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7104
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7105
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7106
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7107
		// Remove hash character (#7531: and string promotion)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7108
		// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7109
		// We also use the url parameter if available
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7110
		s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7111
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7112
		// Extract dataTypes list
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7113
		s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7114
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7115
		// Determine if a cross-domain request is in order
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7116
		if ( s.crossDomain == null ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7117
			parts = rurl.exec( s.url.toLowerCase() );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7118
			s.crossDomain = !!( parts &&
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7119
				( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7120
					( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7121
						( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7122
			);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7123
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7124
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7125
		// Convert data if not already a string
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7126
		if ( s.data && s.processData && typeof s.data !== "string" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7127
			s.data = jQuery.param( s.data, s.traditional );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7128
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7129
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7130
		// Apply prefilters
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7131
		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7132
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7133
		// If request was aborted inside a prefiler, stop there
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7134
		if ( state === 2 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7135
			return false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7136
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7137
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7138
		// We can fire global events as of now if asked to
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7139
		fireGlobals = s.global;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7140
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7141
		// Uppercase the type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7142
		s.type = s.type.toUpperCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7143
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7144
		// Determine if request has content
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7145
		s.hasContent = !rnoContent.test( s.type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7146
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7147
		// Watch for a new set of requests
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7148
		if ( fireGlobals && jQuery.active++ === 0 ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7149
			jQuery.event.trigger( "ajaxStart" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7150
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7151
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7152
		// More options handling for requests with no content
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7153
		if ( !s.hasContent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7154
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7155
			// If data is available, append data to url
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7156
			if ( s.data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7157
				s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7158
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7159
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7160
			// Get ifModifiedKey before adding the anti-cache parameter
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7161
			ifModifiedKey = s.url;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7162
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7163
			// Add anti-cache in url if needed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7164
			if ( s.cache === false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7165
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7166
				var ts = jQuery.now(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7167
					// try replacing _= if it is there
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7168
					ret = s.url.replace( rts, "$1_=" + ts );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7169
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7170
				// if nothing was replaced, add timestamp to the end
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7171
				s.url = ret + ( (ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7172
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7173
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7174
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7175
		// Set the correct header, if data is being sent
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7176
		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7177
			jqXHR.setRequestHeader( "Content-Type", s.contentType );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7178
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7179
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7180
		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7181
		if ( s.ifModified ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7182
			ifModifiedKey = ifModifiedKey || s.url;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7183
			if ( jQuery.lastModified[ ifModifiedKey ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7184
				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7185
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7186
			if ( jQuery.etag[ ifModifiedKey ] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7187
				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7188
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7189
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7190
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7191
		// Set the Accepts header for the server, depending on the dataType
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7192
		jqXHR.setRequestHeader(
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7193
			"Accept",
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7194
			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7195
				s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", */*; q=0.01" : "" ) :
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7196
				s.accepts[ "*" ]
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7197
		);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7198
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7199
		// Check for headers option
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7200
		for ( i in s.headers ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7201
			jqXHR.setRequestHeader( i, s.headers[ i ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7202
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7203
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7204
		// Allow custom headers/mimetypes and early abort
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7205
		if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7206
				// Abort if not done already
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7207
				jqXHR.abort();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7208
				return false;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7209
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7210
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7211
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7212
		// Install callbacks on deferreds
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7213
		for ( i in { success: 1, error: 1, complete: 1 } ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7214
			jqXHR[ i ]( s[ i ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7215
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7216
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7217
		// Get transport
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7218
		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7219
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7220
		// If no transport, we auto-abort
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7221
		if ( !transport ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7222
			done( -1, "No Transport" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7223
		} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7224
			jqXHR.readyState = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7225
			// Send global event
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7226
			if ( fireGlobals ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7227
				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7228
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7229
			// Timeout
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7230
			if ( s.async && s.timeout > 0 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7231
				timeoutTimer = setTimeout( function(){
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7232
					jqXHR.abort( "timeout" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7233
				}, s.timeout );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7234
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7235
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7236
			try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7237
				state = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7238
				transport.send( requestHeaders, done );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7239
			} catch (e) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7240
				// Propagate exception as error if not done
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7241
				if ( status < 2 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7242
					done( -1, e );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7243
				// Simply rethrow otherwise
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7244
				} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7245
					jQuery.error( e );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7246
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7247
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7248
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7249
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7250
		return jqXHR;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7251
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7252
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7253
	// Serialize an array of form elements or a set of
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7254
	// key/values into a query string
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7255
	param: function( a, traditional ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7256
		var s = [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7257
			add = function( key, value ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7258
				// If value is a function, invoke it and return its value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7259
				value = jQuery.isFunction( value ) ? value() : value;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7260
				s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7261
			};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7262
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7263
		// Set traditional to true for jQuery <= 1.3.2 behavior.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7264
		if ( traditional === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7265
			traditional = jQuery.ajaxSettings.traditional;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7266
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7267
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7268
		// If an array was passed in, assume that it is an array of form elements.
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7269
		if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7270
			// Serialize the form elements
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7271
			jQuery.each( a, function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7272
				add( this.name, this.value );
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7273
			});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7274
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7275
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7276
			// If traditional, encode the "old" way (the way 1.3.2 or older
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7277
			// did it), otherwise encode params recursively.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7278
			for ( var prefix in a ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7279
				buildParams( prefix, a[ prefix ], traditional, add );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7280
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7281
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7282
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7283
		// Return the resulting serialization
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7284
		return s.join( "&" ).replace( r20, "+" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7285
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7286
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7287
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7288
function buildParams( prefix, obj, traditional, add ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7289
	if ( jQuery.isArray( obj ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7290
		// Serialize array item.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7291
		jQuery.each( obj, function( i, v ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7292
			if ( traditional || rbracket.test( prefix ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7293
				// Treat each array item as a scalar.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7294
				add( prefix, v );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7295
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7296
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7297
				// If array item is non-scalar (array or object), encode its
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7298
				// numeric index to resolve deserialization ambiguity issues.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7299
				// Note that rack (as of 1.0.0) can't currently deserialize
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7300
				// nested arrays properly, and attempting to do so may cause
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7301
				// a server error. Possible fixes are to modify rack's
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7302
				// deserialization algorithm or to provide an option or flag
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7303
				// to force array serialization to be shallow.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7304
				buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7305
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7306
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7307
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7308
	} else if ( !traditional && obj != null && typeof obj === "object" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7309
		// Serialize object item.
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7310
		for ( var name in obj ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7311
			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7312
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7313
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7314
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7315
		// Serialize scalar item.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7316
		add( prefix, obj );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7317
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7318
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7319
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7320
// This is still on the jQuery object... for now
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7321
// Want to move this to jQuery.ajax some day
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7322
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7323
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7324
	// Counter for holding the number of active queries
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7325
	active: 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7326
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7327
	// Last-Modified header cache for next request
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7328
	lastModified: {},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7329
	etag: {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7330
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7331
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7332
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7333
/* Handles responses to an ajax request:
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7334
 * - sets all responseXXX fields accordingly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7335
 * - finds the right dataType (mediates between content-type and expected dataType)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7336
 * - returns the corresponding response
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7337
 */
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7338
function ajaxHandleResponses( s, jqXHR, responses ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7339
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7340
	var contents = s.contents,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7341
		dataTypes = s.dataTypes,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7342
		responseFields = s.responseFields,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7343
		ct,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7344
		type,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7345
		finalDataType,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7346
		firstDataType;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7347
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7348
	// Fill responseXXX fields
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7349
	for( type in responseFields ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7350
		if ( type in responses ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7351
			jqXHR[ responseFields[type] ] = responses[ type ];
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7352
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7353
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7354
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7355
	// Remove auto dataType and get content-type in the process
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7356
	while( dataTypes[ 0 ] === "*" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7357
		dataTypes.shift();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7358
		if ( ct === undefined ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7359
			ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7360
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7361
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7362
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7363
	// Check if we're dealing with a known content-type
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7364
	if ( ct ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7365
		for ( type in contents ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7366
			if ( contents[ type ] && contents[ type ].test( ct ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7367
				dataTypes.unshift( type );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7368
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7369
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7370
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7371
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7372
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7373
	// Check to see if we have a response for the expected dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7374
	if ( dataTypes[ 0 ] in responses ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7375
		finalDataType = dataTypes[ 0 ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7376
	} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7377
		// Try convertible dataTypes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7378
		for ( type in responses ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7379
			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7380
				finalDataType = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7381
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7382
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7383
			if ( !firstDataType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7384
				firstDataType = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7385
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7386
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7387
		// Or just use first one
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7388
		finalDataType = finalDataType || firstDataType;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7389
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7390
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7391
	// If we found a dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7392
	// We add the dataType to the list if needed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7393
	// and return the corresponding response
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7394
	if ( finalDataType ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7395
		if ( finalDataType !== dataTypes[ 0 ] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7396
			dataTypes.unshift( finalDataType );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7397
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7398
		return responses[ finalDataType ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7399
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7400
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7401
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7402
// Chain conversions given the request and the original response
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7403
function ajaxConvert( s, response ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7404
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7405
	// Apply the dataFilter if provided
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7406
	if ( s.dataFilter ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7407
		response = s.dataFilter( response, s.dataType );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7408
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7409
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7410
	var dataTypes = s.dataTypes,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7411
		converters = {},
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7412
		i,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7413
		key,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7414
		length = dataTypes.length,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7415
		tmp,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7416
		// Current and previous dataTypes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7417
		current = dataTypes[ 0 ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7418
		prev,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7419
		// Conversion expression
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7420
		conversion,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7421
		// Conversion function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7422
		conv,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7423
		// Conversion functions (transitive conversion)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7424
		conv1,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7425
		conv2;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7426
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7427
	// For each dataType in the chain
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7428
	for( i = 1; i < length; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7429
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7430
		// Create converters map
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7431
		// with lowercased keys
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7432
		if ( i === 1 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7433
			for( key in s.converters ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7434
				if( typeof key === "string" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7435
					converters[ key.toLowerCase() ] = s.converters[ key ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7436
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7437
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7438
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7439
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7440
		// Get the dataTypes
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7441
		prev = current;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7442
		current = dataTypes[ i ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7443
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7444
		// If current is auto dataType, update it to prev
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7445
		if( current === "*" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7446
			current = prev;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7447
		// If no auto and dataTypes are actually different
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7448
		} else if ( prev !== "*" && prev !== current ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7449
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7450
			// Get the converter
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7451
			conversion = prev + " " + current;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7452
			conv = converters[ conversion ] || converters[ "* " + current ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7453
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7454
			// If there is no direct converter, search transitively
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7455
			if ( !conv ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7456
				conv2 = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7457
				for( conv1 in converters ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7458
					tmp = conv1.split( " " );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7459
					if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7460
						conv2 = converters[ tmp[1] + " " + current ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7461
						if ( conv2 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7462
							conv1 = converters[ conv1 ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7463
							if ( conv1 === true ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7464
								conv = conv2;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7465
							} else if ( conv2 === true ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7466
								conv = conv1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7467
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7468
							break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7469
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7470
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7471
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7472
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7473
			// If we found no converter, dispatch an error
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7474
			if ( !( conv || conv2 ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7475
				jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7476
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7477
			// If found converter is not an equivalence
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7478
			if ( conv !== true ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7479
				// Convert with 1 or 2 converters accordingly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7480
				response = conv ? conv( response ) : conv2( conv1(response) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7481
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7482
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7483
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7484
	return response;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7485
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7486
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7487
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7488
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7489
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7490
var jsc = jQuery.now(),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7491
	jsre = /(\=)\?(&|$)|\?\?/i;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7492
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7493
// Default jsonp settings
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7494
jQuery.ajaxSetup({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7495
	jsonp: "callback",
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7496
	jsonpCallback: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7497
		return jQuery.expando + "_" + ( jsc++ );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7498
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7499
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7500
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7501
// Detect, normalize options and install callbacks for jsonp requests
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7502
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7503
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7504
	var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7505
		( typeof s.data === "string" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7506
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7507
	if ( s.dataTypes[ 0 ] === "jsonp" ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7508
		s.jsonp !== false && ( jsre.test( s.url ) ||
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7509
				inspectData && jsre.test( s.data ) ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7510
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7511
		var responseContainer,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7512
			jsonpCallback = s.jsonpCallback =
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7513
				jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7514
			previous = window[ jsonpCallback ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7515
			url = s.url,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7516
			data = s.data,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7517
			replace = "$1" + jsonpCallback + "$2";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7518
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7519
		if ( s.jsonp !== false ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7520
			url = url.replace( jsre, replace );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7521
			if ( s.url === url ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7522
				if ( inspectData ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7523
					data = data.replace( jsre, replace );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7524
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7525
				if ( s.data === data ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7526
					// Add callback manually
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7527
					url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7528
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7529
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7530
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7531
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7532
		s.url = url;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7533
		s.data = data;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7534
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7535
		// Install callback
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7536
		window[ jsonpCallback ] = function( response ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7537
			responseContainer = [ response ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7538
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7539
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7540
		// Clean-up function
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7541
		jqXHR.always(function() {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7542
			// Set callback back to previous value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7543
			window[ jsonpCallback ] = previous;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7544
			// Call if it was a function and we have a response
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7545
			if ( responseContainer && jQuery.isFunction( previous ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7546
				window[ jsonpCallback ]( responseContainer[ 0 ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7547
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7548
		});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7549
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7550
		// Use data converter to retrieve json after script execution
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7551
		s.converters["script json"] = function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7552
			if ( !responseContainer ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7553
				jQuery.error( jsonpCallback + " was not called" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7554
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7555
			return responseContainer[ 0 ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7556
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7557
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7558
		// force json dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7559
		s.dataTypes[ 0 ] = "json";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7560
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7561
		// Delegate to script
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7562
		return "script";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7563
	}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7564
});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7565
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7566
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7567
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7568
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7569
// Install script dataType
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7570
jQuery.ajaxSetup({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7571
	accepts: {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7572
		script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7573
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7574
	contents: {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7575
		script: /javascript|ecmascript/
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7576
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7577
	converters: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7578
		"text script": function( text ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7579
			jQuery.globalEval( text );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7580
			return text;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7581
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7582
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7583
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7584
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7585
// Handle cache's special case and global
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7586
jQuery.ajaxPrefilter( "script", function( s ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7587
	if ( s.cache === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7588
		s.cache = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7589
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7590
	if ( s.crossDomain ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7591
		s.type = "GET";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7592
		s.global = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7593
	}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7594
});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7595
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7596
// Bind script tag hack transport
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7597
jQuery.ajaxTransport( "script", function(s) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7598
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7599
	// This transport only deals with cross domain requests
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7600
	if ( s.crossDomain ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7601
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7602
		var script,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7603
			head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7604
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7605
		return {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7606
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7607
			send: function( _, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7608
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7609
				script = document.createElement( "script" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7610
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7611
				script.async = "async";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7612
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7613
				if ( s.scriptCharset ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7614
					script.charset = s.scriptCharset;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7615
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7616
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7617
				script.src = s.url;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7618
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7619
				// Attach handlers for all browsers
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7620
				script.onload = script.onreadystatechange = function( _, isAbort ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7621
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7622
					if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7623
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7624
						// Handle memory leak in IE
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7625
						script.onload = script.onreadystatechange = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7626
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7627
						// Remove the script
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7628
						if ( head && script.parentNode ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7629
							head.removeChild( script );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7630
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7631
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7632
						// Dereference the script
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7633
						script = undefined;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7634
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7635
						// Callback if not abort
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7636
						if ( !isAbort ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7637
							callback( 200, "success" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7638
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7639
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7640
				};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7641
				// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7642
				// This arises when a base node is used (#2709 and #4378).
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7643
				head.insertBefore( script, head.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7644
			},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7645
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7646
			abort: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7647
				if ( script ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7648
					script.onload( 0, 1 );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7649
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7650
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7651
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7652
	}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7653
});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7654
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7655
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7656
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7657
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7658
var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7659
	xhrOnUnloadAbort = window.ActiveXObject ? function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7660
		// Abort all pending requests
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7661
		for ( var key in xhrCallbacks ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7662
			xhrCallbacks[ key ]( 0, 1 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7663
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7664
	} : false,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7665
	xhrId = 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7666
	xhrCallbacks;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7667
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7668
// Functions to create xhrs
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7669
function createStandardXHR() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7670
	try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7671
		return new window.XMLHttpRequest();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7672
	} catch( e ) {}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7673
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7674
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7675
function createActiveXHR() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7676
	try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7677
		return new window.ActiveXObject( "Microsoft.XMLHTTP" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7678
	} catch( e ) {}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7679
}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7680
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7681
// Create the request object
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7682
// (This is still attached to ajaxSettings for backward compatibility)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7683
jQuery.ajaxSettings.xhr = window.ActiveXObject ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7684
	/* Microsoft failed to properly
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7685
	 * implement the XMLHttpRequest in IE7 (can't request local files),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7686
	 * so we use the ActiveXObject when it is available
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7687
	 * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7688
	 * we need a fallback.
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7689
	 */
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7690
	function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7691
		return !this.isLocal && createStandardXHR() || createActiveXHR();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7692
	} :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7693
	// For all other browsers, use the standard XMLHttpRequest object
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7694
	createStandardXHR;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7695
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7696
// Determine support properties
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7697
(function( xhr ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7698
	jQuery.extend( jQuery.support, {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7699
		ajax: !!xhr,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7700
		cors: !!xhr && ( "withCredentials" in xhr )
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7701
	});
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7702
})( jQuery.ajaxSettings.xhr() );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7703
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7704
// Create transport if the browser can provide an xhr
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7705
if ( jQuery.support.ajax ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7706
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7707
	jQuery.ajaxTransport(function( s ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7708
		// Cross domain only allowed if supported through XMLHttpRequest
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7709
		if ( !s.crossDomain || jQuery.support.cors ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7710
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7711
			var callback;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7712
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7713
			return {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7714
				send: function( headers, complete ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7715
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7716
					// Get a new xhr
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7717
					var xhr = s.xhr(),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7718
						handle,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7719
						i;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7720
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7721
					// Open the socket
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7722
					// Passing null username, generates a login popup on Opera (#2865)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7723
					if ( s.username ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7724
						xhr.open( s.type, s.url, s.async, s.username, s.password );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7725
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7726
						xhr.open( s.type, s.url, s.async );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7727
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7728
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7729
					// Apply custom fields if provided
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7730
					if ( s.xhrFields ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7731
						for ( i in s.xhrFields ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7732
							xhr[ i ] = s.xhrFields[ i ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7733
						}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7734
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7735
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7736
					// Override mime type if needed
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7737
					if ( s.mimeType && xhr.overrideMimeType ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7738
						xhr.overrideMimeType( s.mimeType );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7739
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7740
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7741
					// X-Requested-With header
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7742
					// For cross-domain requests, seeing as conditions for a preflight are
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7743
					// akin to a jigsaw puzzle, we simply never set it to be sure.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7744
					// (it can always be set on a per-request basis or even using ajaxSetup)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7745
					// For same-domain requests, won't change header if already provided.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7746
					if ( !s.crossDomain && !headers["X-Requested-With"] ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7747
						headers[ "X-Requested-With" ] = "XMLHttpRequest";
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7748
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7749
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7750
					// Need an extra try/catch for cross domain requests in Firefox 3
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7751
					try {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7752
						for ( i in headers ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7753
							xhr.setRequestHeader( i, headers[ i ] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7754
						}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7755
					} catch( _ ) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7756
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7757
					// Do send the request
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7758
					// This may raise an exception which is actually
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7759
					// handled in jQuery.ajax (so no try/catch here)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7760
					xhr.send( ( s.hasContent && s.data ) || null );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7761
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7762
					// Listener
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7763
					callback = function( _, isAbort ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7764
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7765
						var status,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7766
							statusText,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7767
							responseHeaders,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7768
							responses,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7769
							xml;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7770
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7771
						// Firefox throws exceptions when accessing properties
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7772
						// of an xhr when a network error occured
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7773
						// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7774
						try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7775
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7776
							// Was never called and is aborted or complete
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7777
							if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7778
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7779
								// Only called once
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7780
								callback = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7781
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7782
								// Do not keep as active anymore
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7783
								if ( handle ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7784
									xhr.onreadystatechange = jQuery.noop;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7785
									if ( xhrOnUnloadAbort ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7786
										delete xhrCallbacks[ handle ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7787
									}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7788
								}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7789
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7790
								// If it's an abort
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7791
								if ( isAbort ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7792
									// Abort it manually if needed
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7793
									if ( xhr.readyState !== 4 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7794
										xhr.abort();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7795
									}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7796
								} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7797
									status = xhr.status;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7798
									responseHeaders = xhr.getAllResponseHeaders();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7799
									responses = {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7800
									xml = xhr.responseXML;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7801
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7802
									// Construct response list
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7803
									if ( xml && xml.documentElement /* #4958 */ ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7804
										responses.xml = xml;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7805
									}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7806
									responses.text = xhr.responseText;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7807
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7808
									// Firefox throws an exception when accessing
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7809
									// statusText for faulty cross-domain requests
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7810
									try {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7811
										statusText = xhr.statusText;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7812
									} catch( e ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7813
										// We normalize with Webkit giving an empty statusText
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7814
										statusText = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7815
									}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7816
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7817
									// Filter status for non standard behaviors
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7818
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7819
									// If the request is local and we have data: assume a success
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7820
									// (success with no data won't get notified, that's the best we
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7821
									// can do given current implementations)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7822
									if ( !status && s.isLocal && !s.crossDomain ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7823
										status = responses.text ? 200 : 404;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7824
									// IE - #1450: sometimes returns 1223 when it should be 204
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7825
									} else if ( status === 1223 ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7826
										status = 204;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7827
									}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7828
								}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7829
							}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7830
						} catch( firefoxAccessException ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7831
							if ( !isAbort ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7832
								complete( -1, firefoxAccessException );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7833
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7834
						}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7835
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7836
						// Call complete if needed
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7837
						if ( responses ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7838
							complete( status, statusText, responses, responseHeaders );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7839
						}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7840
					};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7841
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7842
					// if we're in sync mode or it's in cache
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7843
					// and has been retrieved directly (IE6 & IE7)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7844
					// we need to manually fire the callback
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7845
					if ( !s.async || xhr.readyState === 4 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7846
						callback();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7847
					} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7848
						handle = ++xhrId;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7849
						if ( xhrOnUnloadAbort ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7850
							// Create the active xhrs callbacks list if needed
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7851
							// and attach the unload handler
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7852
							if ( !xhrCallbacks ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7853
								xhrCallbacks = {};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7854
								jQuery( window ).unload( xhrOnUnloadAbort );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7855
							}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7856
							// Add to list of active xhrs callbacks
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7857
							xhrCallbacks[ handle ] = callback;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7858
						}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7859
						xhr.onreadystatechange = callback;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7860
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7861
				},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7862
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7863
				abort: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7864
					if ( callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7865
						callback(0,1);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7866
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7867
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7868
			};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7869
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7870
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7871
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7872
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7873
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7874
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7875
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7876
var elemdisplay = {},
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7877
	iframe, iframeDoc,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7878
	rfxtypes = /^(?:toggle|show|hide)$/,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7879
	rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7880
	timerId,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7881
	fxAttrs = [
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7882
		// height animations
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7883
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7884
		// width animations
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7885
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7886
		// opacity animations
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7887
		[ "opacity" ]
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7888
	],
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7889
	fxNow,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7890
	requestAnimationFrame = window.webkitRequestAnimationFrame ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7891
	    window.mozRequestAnimationFrame ||
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7892
	    window.oRequestAnimationFrame;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7893
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7894
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7895
	show: function( speed, easing, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7896
		var elem, display;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7897
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7898
		if ( speed || speed === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7899
			return this.animate( genFx("show", 3), speed, easing, callback);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7900
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7901
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7902
			for ( var i = 0, j = this.length; i < j; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7903
				elem = this[i];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7904
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7905
				if ( elem.style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7906
					display = elem.style.display;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7907
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7908
					// Reset the inline display of this element to learn if it is
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7909
					// being hidden by cascaded rules or not
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7910
					if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7911
						display = elem.style.display = "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7912
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7913
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7914
					// Set elements which have been overridden with display: none
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7915
					// in a stylesheet to whatever the default browser style is
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7916
					// for such an element
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7917
					if ( display === "" && jQuery.css( elem, "display" ) === "none" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7918
						jQuery._data(elem, "olddisplay", defaultDisplay(elem.nodeName));
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7919
					}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7920
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7921
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7922
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7923
			// Set the display of most of the elements in a second loop
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7924
			// to avoid the constant reflow
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7925
			for ( i = 0; i < j; i++ ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7926
				elem = this[i];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7927
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7928
				if ( elem.style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7929
					display = elem.style.display;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7930
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7931
					if ( display === "" || display === "none" ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7932
						elem.style.display = jQuery._data(elem, "olddisplay") || "";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7933
					}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7934
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7935
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7936
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7937
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7938
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7939
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7940
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7941
	hide: function( speed, easing, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7942
		if ( speed || speed === 0 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7943
			return this.animate( genFx("hide", 3), speed, easing, callback);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7944
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7945
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7946
			for ( var i = 0, j = this.length; i < j; i++ ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7947
				if ( this[i].style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7948
					var display = jQuery.css( this[i], "display" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7949
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7950
					if ( display !== "none" && !jQuery._data( this[i], "olddisplay" ) ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7951
						jQuery._data( this[i], "olddisplay", display );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7952
					}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7953
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7954
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7955
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7956
			// Set the display of the elements in a second loop
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7957
			// to avoid the constant reflow
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7958
			for ( i = 0; i < j; i++ ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7959
				if ( this[i].style ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7960
					this[i].style.display = "none";
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7961
				}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7962
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7963
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7964
			return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7965
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7966
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7967
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7968
	// Save the old toggle function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7969
	_toggle: jQuery.fn.toggle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7970
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7971
	toggle: function( fn, fn2, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7972
		var bool = typeof fn === "boolean";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7973
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7974
		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7975
			this._toggle.apply( this, arguments );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7976
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7977
		} else if ( fn == null || bool ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7978
			this.each(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7979
				var state = bool ? fn : jQuery(this).is(":hidden");
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7980
				jQuery(this)[ state ? "show" : "hide" ]();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7981
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7982
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7983
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7984
			this.animate(genFx("toggle", 3), fn, fn2, callback);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7985
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7986
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7987
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7988
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7989
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7990
	fadeTo: function( speed, to, easing, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7991
		return this.filter(":hidden").css("opacity", 0).show().end()
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7992
					.animate({opacity: to}, speed, easing, callback);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7993
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7994
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7995
	animate: function( prop, speed, easing, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7996
		var optall = jQuery.speed(speed, easing, callback);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7997
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  7998
		if ( jQuery.isEmptyObject( prop ) ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  7999
			return this.each( optall.complete, [ false ] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8000
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8001
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8002
		return this[ optall.queue === false ? "each" : "queue" ](function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8003
			// XXX 'this' does not always have a nodeName when running the
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8004
			// test suite
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8005
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8006
			if ( optall.queue === false ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8007
				jQuery._mark( this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8008
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8009
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8010
			var opt = jQuery.extend({}, optall),
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8011
				isElement = this.nodeType === 1,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8012
				hidden = isElement && jQuery(this).is(":hidden"),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8013
				name, val, p,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8014
				display, e,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8015
				parts, start, end, unit;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8016
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8017
			// will store per property easing and be used to determine when an animation is complete
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8018
			opt.animatedProperties = {};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8019
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8020
			for ( p in prop ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8021
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8022
				// property name normalization
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8023
				name = jQuery.camelCase( p );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8024
				if ( p !== name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8025
					prop[ name ] = prop[ p ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8026
					delete prop[ p ];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8027
				}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8028
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8029
				val = prop[name];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8030
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8031
				if ( val === "hide" && hidden || val === "show" && !hidden ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8032
					return opt.complete.call(this);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8033
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8034
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8035
				if ( isElement && ( name === "height" || name === "width" ) ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8036
					// Make sure that nothing sneaks out
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8037
					// Record all 3 overflow attributes because IE does not
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8038
					// change the overflow attribute when overflowX and
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8039
					// overflowY are set to the same value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8040
					opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8041
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8042
					// Set display property to inline-block for height/width
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8043
					// animations on inline elements that are having width/height
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8044
					// animated
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8045
					if ( jQuery.css( this, "display" ) === "inline" &&
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8046
							jQuery.css( this, "float" ) === "none" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8047
						if ( !jQuery.support.inlineBlockNeedsLayout ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8048
							this.style.display = "inline-block";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8049
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8050
						} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8051
							display = defaultDisplay(this.nodeName);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8052
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8053
							// inline-level elements accept inline-block;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8054
							// block-level elements need to be inline with layout
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8055
							if ( display === "inline" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8056
								this.style.display = "inline-block";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8057
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8058
							} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8059
								this.style.display = "inline";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8060
								this.style.zoom = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8061
							}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8062
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8063
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8064
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8065
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8066
				// easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8067
				opt.animatedProperties[name] = jQuery.isArray( val ) ?
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8068
					val[1]:
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8069
					opt.specialEasing && opt.specialEasing[name] || opt.easing || 'swing';
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8070
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8071
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8072
			if ( opt.overflow != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8073
				this.style.overflow = "hidden";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8074
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8075
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8076
			for ( p in prop ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8077
				e = new jQuery.fx( this, opt, p );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8078
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8079
				val = prop[p];
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8080
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8081
				if ( rfxtypes.test(val) ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8082
					e[ val === "toggle" ? hidden ? "show" : "hide" : val ]();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8083
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8084
				} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8085
					parts = rfxnum.exec(val);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8086
					start = e.cur();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8087
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8088
					if ( parts ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8089
						end = parseFloat( parts[2] );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8090
						unit = parts[3] || ( jQuery.cssNumber[ name ] ? "" : "px" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8091
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8092
						// We need to compute starting value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8093
						if ( unit !== "px" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8094
							jQuery.style( this, p, (end || 1) + unit);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8095
							start = ((end || 1) / e.cur()) * start;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8096
							jQuery.style( this, p, start + unit);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8097
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8098
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8099
						// If a +=/-= token was provided, we're doing a relative animation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8100
						if ( parts[1] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8101
							end = ((parts[1] === "-=" ? -1 : 1) * end) + start;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8102
						}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8103
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8104
						e.custom( start, end, unit );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8105
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8106
					} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8107
						e.custom( start, val, "" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8108
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8109
				}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8110
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8111
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8112
			// For JS strict compliance
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8113
			return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8114
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8115
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8116
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8117
	stop: function( clearQueue, gotoEnd ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8118
		if ( clearQueue ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8119
			this.queue([]);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8120
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8121
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8122
		this.each(function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8123
			var timers = jQuery.timers,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8124
				i = timers.length;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8125
			// clear marker counters if we know they won't be
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8126
			if ( !gotoEnd ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8127
				jQuery._unmark( true, this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8128
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8129
			// go in reverse order so anything added to the queue during the loop is ignored
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8130
			while ( i-- ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8131
				if ( timers[i].elem === this ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8132
					if (gotoEnd) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8133
						// force the next step to be the last
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8134
						timers[i](true);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8135
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8136
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8137
					timers.splice(i, 1);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8138
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8139
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8140
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8141
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8142
		// start the next in the queue if the last step wasn't forced
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8143
		if ( !gotoEnd ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8144
			this.dequeue();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8145
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8146
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8147
		return this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8148
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8149
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8150
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8151
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8152
// Animations created synchronously will run synchronously
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8153
function createFxNow() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8154
	setTimeout( clearFxNow, 0 );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8155
	return ( fxNow = jQuery.now() );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8156
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8157
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8158
function clearFxNow() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8159
	fxNow = undefined;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8160
}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8161
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8162
// Generate parameters to create a standard animation
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8163
function genFx( type, num ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8164
	var obj = {};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8165
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8166
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8167
		obj[ this ] = type;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8168
	});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8169
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8170
	return obj;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8171
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8172
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8173
// Generate shortcuts for custom animations
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8174
jQuery.each({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8175
	slideDown: genFx("show", 1),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8176
	slideUp: genFx("hide", 1),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8177
	slideToggle: genFx("toggle", 1),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8178
	fadeIn: { opacity: "show" },
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8179
	fadeOut: { opacity: "hide" },
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8180
	fadeToggle: { opacity: "toggle" }
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8181
}, function( name, props ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8182
	jQuery.fn[ name ] = function( speed, easing, callback ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8183
		return this.animate( props, speed, easing, callback );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8184
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8185
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8186
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8187
jQuery.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8188
	speed: function( speed, easing, fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8189
		var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8190
			complete: fn || !fn && easing ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8191
				jQuery.isFunction( speed ) && speed,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8192
			duration: speed,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8193
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8194
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8195
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8196
		opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8197
			opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8198
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8199
		// Queueing
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8200
		opt.old = opt.complete;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8201
		opt.complete = function( noUnmark ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8202
			if ( opt.queue !== false ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8203
				jQuery.dequeue( this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8204
			} else if ( noUnmark !== false ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8205
				jQuery._unmark( this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8206
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8207
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8208
			if ( jQuery.isFunction( opt.old ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8209
				opt.old.call( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8210
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8211
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8212
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8213
		return opt;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8214
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8215
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8216
	easing: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8217
		linear: function( p, n, firstNum, diff ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8218
			return firstNum + diff * p;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8219
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8220
		swing: function( p, n, firstNum, diff ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8221
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8222
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8223
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8224
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8225
	timers: [],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8226
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8227
	fx: function( elem, options, prop ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8228
		this.options = options;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8229
		this.elem = elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8230
		this.prop = prop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8231
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8232
		options.orig = options.orig || {};
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8233
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8234
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8235
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8236
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8237
jQuery.fx.prototype = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8238
	// Simple function for setting a style value
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8239
	update: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8240
		if ( this.options.step ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8241
			this.options.step.call( this.elem, this.now, this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8242
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8243
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8244
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8245
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8246
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8247
	// Get the current size
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8248
	cur: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8249
		if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8250
			return this.elem[ this.prop ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8251
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8252
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8253
		var parsed,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8254
			r = jQuery.css( this.elem, this.prop );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8255
		// Empty strings, null, undefined and "auto" are converted to 0,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8256
		// complex values such as "rotate(1rad)" are returned as is,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8257
		// simple values such as "10px" are parsed to Float.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8258
		return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8259
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8260
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8261
	// Start an animation from one number to another
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8262
	custom: function( from, to, unit ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8263
		var self = this,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8264
			fx = jQuery.fx,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8265
			raf;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8266
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8267
		this.startTime = fxNow || createFxNow();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8268
		this.start = from;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8269
		this.end = to;
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8270
		this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8271
		this.now = this.start;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8272
		this.pos = this.state = 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8273
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8274
		function t( gotoEnd ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8275
			return self.step(gotoEnd);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8276
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8277
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8278
		t.elem = this.elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8279
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8280
		if ( t() && jQuery.timers.push(t) && !timerId ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8281
			// Use requestAnimationFrame instead of setInterval if available
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8282
			if ( requestAnimationFrame ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8283
				timerId = 1;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8284
				raf = function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8285
					// When timerId gets set to null at any point, this stops
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8286
					if ( timerId ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8287
						requestAnimationFrame( raf );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8288
						fx.tick();
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8289
					}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8290
				};
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8291
				requestAnimationFrame( raf );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8292
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8293
				timerId = setInterval( fx.tick, fx.interval );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8294
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8295
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8296
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8297
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8298
	// Simple 'show' function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8299
	show: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8300
		// Remember where we started, so that we can go back to it later
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8301
		this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8302
		this.options.show = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8303
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8304
		// Begin the animation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8305
		// Make sure that we start at a small width/height to avoid any
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8306
		// flash of content
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8307
		this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8308
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8309
		// Start by showing the element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8310
		jQuery( this.elem ).show();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8311
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8312
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8313
	// Simple 'hide' function
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8314
	hide: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8315
		// Remember where we started, so that we can go back to it later
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8316
		this.options.orig[this.prop] = jQuery.style( this.elem, this.prop );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8317
		this.options.hide = true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8318
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8319
		// Begin the animation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8320
		this.custom(this.cur(), 0);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8321
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8322
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8323
	// Each step of an animation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8324
	step: function( gotoEnd ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8325
		var t = fxNow || createFxNow(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8326
			done = true,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8327
			elem = this.elem,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8328
			options = this.options,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8329
			i, n;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8330
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8331
		if ( gotoEnd || t >= options.duration + this.startTime ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8332
			this.now = this.end;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8333
			this.pos = this.state = 1;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8334
			this.update();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8335
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8336
			options.animatedProperties[ this.prop ] = true;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8337
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8338
			for ( i in options.animatedProperties ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8339
				if ( options.animatedProperties[i] !== true ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8340
					done = false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8341
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8342
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8343
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8344
			if ( done ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8345
				// Reset the overflow
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8346
				if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8347
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8348
					jQuery.each( [ "", "X", "Y" ], function (index, value) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8349
						elem.style[ "overflow" + value ] = options.overflow[index];
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8350
					});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8351
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8352
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8353
				// Hide the element if the "hide" operation was done
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8354
				if ( options.hide ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8355
					jQuery(elem).hide();
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8356
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8357
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8358
				// Reset the properties, if the item has been hidden or shown
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8359
				if ( options.hide || options.show ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8360
					for ( var p in options.animatedProperties ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8361
						jQuery.style( elem, p, options.orig[p] );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8362
					}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8363
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8364
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8365
				// Execute the complete function
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8366
				options.complete.call( elem );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8367
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8368
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8369
			return false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8370
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8371
		} else {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8372
			// classical easing cannot be used with an Infinity duration
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8373
			if ( options.duration == Infinity ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8374
				this.now = t;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8375
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8376
				n = t - this.startTime;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8377
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8378
				this.state = n / options.duration;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8379
				// Perform the easing function, defaults to swing
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8380
				this.pos = jQuery.easing[options.animatedProperties[this.prop]](this.state, n, 0, 1, options.duration);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8381
				this.now = this.start + ((this.end - this.start) * this.pos);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8382
			}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8383
			// Perform the next step of the animation
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8384
			this.update();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8385
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8386
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8387
		return true;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8388
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8389
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8390
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8391
jQuery.extend( jQuery.fx, {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8392
	tick: function() {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8393
		var timers = jQuery.timers,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8394
			i = timers.length;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8395
		while ( i-- ) {
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8396
			if ( !timers[i]() ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8397
				timers.splice(i, 1);
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8398
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8399
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8400
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8401
		if ( !timers.length ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8402
			jQuery.fx.stop();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8403
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8404
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8405
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8406
	interval: 13,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8407
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8408
	stop: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8409
		clearInterval( timerId );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8410
		timerId = null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8411
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8412
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8413
	speeds: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8414
		slow: 600,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8415
		fast: 200,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8416
		// Default speed
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8417
		_default: 400
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8418
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8419
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8420
	step: {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8421
		opacity: function( fx ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8422
			jQuery.style( fx.elem, "opacity", fx.now );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8423
		},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8424
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8425
		_default: function( fx ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8426
			if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8427
				fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8428
			} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8429
				fx.elem[ fx.prop ] = fx.now;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8430
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8431
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8432
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8433
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8434
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8435
if ( jQuery.expr && jQuery.expr.filters ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8436
	jQuery.expr.filters.animated = function( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8437
		return jQuery.grep(jQuery.timers, function( fn ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8438
			return elem === fn.elem;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8439
		}).length;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8440
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8441
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8442
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8443
// Try to restore the default display value of an element
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8444
function defaultDisplay( nodeName ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8445
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8446
	if ( !elemdisplay[ nodeName ] ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8447
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8448
		var elem = jQuery( "<" + nodeName + ">" ).appendTo( "body" ),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8449
			display = elem.css( "display" );
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8450
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8451
		elem.remove();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8452
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8453
		// If the simple way fails,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8454
		// get element's real default display by attaching it to a temp iframe
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8455
		if ( display === "none" || display === "" ) {
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8456
			// No iframe to use yet, so create it
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8457
			if ( !iframe ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8458
				iframe = document.createElement( "iframe" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8459
				iframe.frameBorder = iframe.width = iframe.height = 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8460
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8461
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8462
			document.body.appendChild( iframe );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8463
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8464
			// Create a cacheable copy of the iframe document on first call.
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8465
			// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake html
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8466
			// document to it, Webkit & Firefox won't allow reusing the iframe document
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8467
			if ( !iframeDoc || !iframe.createElement ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8468
				iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8469
				iframeDoc.write( "<!doctype><html><body></body></html>" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8470
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8471
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8472
			elem = iframeDoc.createElement( nodeName );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8473
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8474
			iframeDoc.body.appendChild( elem );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8475
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8476
			display = jQuery.css( elem, "display" );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8477
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8478
			document.body.removeChild( iframe );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8479
		}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8480
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8481
		// Store the correct default display
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8482
		elemdisplay[ nodeName ] = display;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8483
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8484
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8485
	return elemdisplay[ nodeName ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8486
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8487
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8488
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8489
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8490
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8491
var rtable = /^t(?:able|d|h)$/i,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8492
	rroot = /^(?:body|html)$/i;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8493
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8494
if ( "getBoundingClientRect" in document.documentElement ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8495
	jQuery.fn.offset = function( options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8496
		var elem = this[0], box;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8497
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8498
		if ( options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8499
			return this.each(function( i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8500
				jQuery.offset.setOffset( this, options, i );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8501
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8502
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8503
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8504
		if ( !elem || !elem.ownerDocument ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8505
			return null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8506
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8507
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8508
		if ( elem === elem.ownerDocument.body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8509
			return jQuery.offset.bodyOffset( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8510
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8511
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8512
		try {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8513
			box = elem.getBoundingClientRect();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8514
		} catch(e) {}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8515
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8516
		var doc = elem.ownerDocument,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8517
			docElem = doc.documentElement;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8518
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8519
		// Make sure we're not dealing with a disconnected DOM node
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8520
		if ( !box || !jQuery.contains( docElem, elem ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8521
			return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8522
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8523
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8524
		var body = doc.body,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8525
			win = getWindow(doc),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8526
			clientTop  = docElem.clientTop  || body.clientTop  || 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8527
			clientLeft = docElem.clientLeft || body.clientLeft || 0,
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8528
			scrollTop  = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop  || body.scrollTop,
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8529
			scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8530
			top  = box.top  + scrollTop  - clientTop,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8531
			left = box.left + scrollLeft - clientLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8532
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8533
		return { top: top, left: left };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8534
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8535
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8536
} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8537
	jQuery.fn.offset = function( options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8538
		var elem = this[0];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8539
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8540
		if ( options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8541
			return this.each(function( i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8542
				jQuery.offset.setOffset( this, options, i );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8543
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8544
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8545
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8546
		if ( !elem || !elem.ownerDocument ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8547
			return null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8548
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8549
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8550
		if ( elem === elem.ownerDocument.body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8551
			return jQuery.offset.bodyOffset( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8552
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8553
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8554
		jQuery.offset.initialize();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8555
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8556
		var computedStyle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8557
			offsetParent = elem.offsetParent,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8558
			prevOffsetParent = elem,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8559
			doc = elem.ownerDocument,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8560
			docElem = doc.documentElement,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8561
			body = doc.body,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8562
			defaultView = doc.defaultView,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8563
			prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8564
			top = elem.offsetTop,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8565
			left = elem.offsetLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8566
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8567
		while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8568
			if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8569
				break;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8570
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8571
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8572
			computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8573
			top  -= elem.scrollTop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8574
			left -= elem.scrollLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8575
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8576
			if ( elem === offsetParent ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8577
				top  += elem.offsetTop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8578
				left += elem.offsetLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8579
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8580
				if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8581
					top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8582
					left += parseFloat( computedStyle.borderLeftWidth ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8583
				}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8584
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8585
				prevOffsetParent = offsetParent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8586
				offsetParent = elem.offsetParent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8587
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8588
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8589
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8590
				top  += parseFloat( computedStyle.borderTopWidth  ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8591
				left += parseFloat( computedStyle.borderLeftWidth ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8592
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8593
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8594
			prevComputedStyle = computedStyle;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8595
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8596
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8597
		if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8598
			top  += body.offsetTop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8599
			left += body.offsetLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8600
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8601
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8602
		if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8603
			top  += Math.max( docElem.scrollTop, body.scrollTop );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8604
			left += Math.max( docElem.scrollLeft, body.scrollLeft );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8605
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8606
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8607
		return { top: top, left: left };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8608
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8609
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8610
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8611
jQuery.offset = {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8612
	initialize: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8613
		var body = document.body, container = document.createElement("div"), innerDiv, checkDiv, table, td, bodyMarginTop = parseFloat( jQuery.css(body, "marginTop") ) || 0,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8614
			html = "<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>";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8615
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8616
		jQuery.extend( container.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" } );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8617
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8618
		container.innerHTML = html;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8619
		body.insertBefore( container, body.firstChild );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8620
		innerDiv = container.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8621
		checkDiv = innerDiv.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8622
		td = innerDiv.nextSibling.firstChild.firstChild;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8623
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8624
		this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8625
		this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8626
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8627
		checkDiv.style.position = "fixed";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8628
		checkDiv.style.top = "20px";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8629
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8630
		// safari subtracts parent border width here which is 5px
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8631
		this.supportsFixedPosition = (checkDiv.offsetTop === 20 || checkDiv.offsetTop === 15);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8632
		checkDiv.style.position = checkDiv.style.top = "";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8633
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8634
		innerDiv.style.overflow = "hidden";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8635
		innerDiv.style.position = "relative";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8636
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8637
		this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8638
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8639
		this.doesNotIncludeMarginInBodyOffset = (body.offsetTop !== bodyMarginTop);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8640
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8641
		body.removeChild( container );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8642
		jQuery.offset.initialize = jQuery.noop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8643
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8644
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8645
	bodyOffset: function( body ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8646
		var top = body.offsetTop,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8647
			left = body.offsetLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8648
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8649
		jQuery.offset.initialize();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8650
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8651
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8652
			top  += parseFloat( jQuery.css(body, "marginTop") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8653
			left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8654
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8655
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8656
		return { top: top, left: left };
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8657
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8658
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8659
	setOffset: function( elem, options, i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8660
		var position = jQuery.css( elem, "position" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8661
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8662
		// set position first, in-case top/left are set even on static elem
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8663
		if ( position === "static" ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8664
			elem.style.position = "relative";
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8665
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8666
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8667
		var curElem = jQuery( elem ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8668
			curOffset = curElem.offset(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8669
			curCSSTop = jQuery.css( elem, "top" ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8670
			curCSSLeft = jQuery.css( elem, "left" ),
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8671
			calculatePosition = (position === "absolute" || position === "fixed") && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8672
			props = {}, curPosition = {}, curTop, curLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8673
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8674
		// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8675
		if ( calculatePosition ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8676
			curPosition = curElem.position();
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8677
			curTop = curPosition.top;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8678
			curLeft = curPosition.left;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8679
		} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8680
			curTop = parseFloat( curCSSTop ) || 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8681
			curLeft = parseFloat( curCSSLeft ) || 0;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8682
		}
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8683
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8684
		if ( jQuery.isFunction( options ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8685
			options = options.call( elem, i, curOffset );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8686
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8687
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8688
		if (options.top != null) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8689
			props.top = (options.top - curOffset.top) + curTop;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8690
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8691
		if (options.left != null) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8692
			props.left = (options.left - curOffset.left) + curLeft;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8693
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8694
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8695
		if ( "using" in options ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8696
			options.using.call( elem, props );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8697
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8698
			curElem.css( props );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8699
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8700
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8701
};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8702
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8703
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8704
jQuery.fn.extend({
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8705
	position: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8706
		if ( !this[0] ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8707
			return null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8708
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8709
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8710
		var elem = this[0],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8711
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8712
		// Get *real* offsetParent
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8713
		offsetParent = this.offsetParent(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8714
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8715
		// Get correct offsets
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8716
		offset       = this.offset(),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8717
		parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8718
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8719
		// Subtract element margins
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8720
		// note: when an element has margin: auto the offsetLeft and marginLeft
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8721
		// are the same in Safari causing offset.left to incorrectly be 0
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8722
		offset.top  -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8723
		offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8724
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8725
		// Add offsetParent borders
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8726
		parentOffset.top  += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8727
		parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8728
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8729
		// Subtract the two offsets
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8730
		return {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8731
			top:  offset.top  - parentOffset.top,
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8732
			left: offset.left - parentOffset.left
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8733
		};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8734
	},
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8735
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8736
	offsetParent: function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8737
		return this.map(function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8738
			var offsetParent = this.offsetParent || document.body;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8739
			while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8740
				offsetParent = offsetParent.offsetParent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8741
			}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8742
			return offsetParent;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8743
		});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8744
	}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8745
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8746
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8747
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8748
// Create scrollLeft and scrollTop methods
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8749
jQuery.each( ["Left", "Top"], function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8750
	var method = "scroll" + name;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8751
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8752
	jQuery.fn[ method ] = function( val ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8753
		var elem, win;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8754
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8755
		if ( val === undefined ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8756
			elem = this[ 0 ];
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8757
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8758
			if ( !elem ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8759
				return null;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8760
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8761
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8762
			win = getWindow( elem );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8763
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8764
			// Return the scroll offset
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8765
			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8766
				jQuery.support.boxModel && win.document.documentElement[ method ] ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8767
					win.document.body[ method ] :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8768
				elem[ method ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8769
		}
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8770
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8771
		// Set the scroll offset
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8772
		return this.each(function() {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8773
			win = getWindow( this );
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8774
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8775
			if ( win ) {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8776
				win.scrollTo(
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8777
					!i ? val : jQuery( win ).scrollLeft(),
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8778
					 i ? val : jQuery( win ).scrollTop()
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8779
				);
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8780
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8781
			} else {
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8782
				this[ method ] = val;
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8783
			}
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8784
		});
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8785
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8786
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8787
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8788
function getWindow( elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8789
	return jQuery.isWindow( elem ) ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8790
		elem :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8791
		elem.nodeType === 9 ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8792
			elem.defaultView || elem.parentWindow :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8793
			false;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8794
}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8795
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8796
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8797
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8798
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8799
// Create innerHeight, innerWidth, outerHeight and outerWidth methods
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8800
jQuery.each([ "Height", "Width" ], function( i, name ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8801
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8802
	var type = name.toLowerCase();
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8803
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8804
	// innerHeight and innerWidth
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8805
	jQuery.fn["inner" + name] = function() {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8806
		return this[0] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8807
			parseFloat( jQuery.css( this[0], type, "padding" ) ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8808
			null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8809
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8810
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8811
	// outerHeight and outerWidth
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8812
	jQuery.fn["outer" + name] = function( margin ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8813
		return this[0] ?
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8814
			parseFloat( jQuery.css( this[0], type, margin ? "margin" : "border" ) ) :
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8815
			null;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8816
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8817
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8818
	jQuery.fn[ type ] = function( size ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8819
		// Get window width or height
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8820
		var elem = this[0];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8821
		if ( !elem ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8822
			return size == null ? null : this;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8823
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8824
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8825
		if ( jQuery.isFunction( size ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8826
			return this.each(function( i ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8827
				var self = jQuery( this );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8828
				self[ type ]( size.call( this, i, self[ type ]() ) );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8829
			});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8830
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8831
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8832
		if ( jQuery.isWindow( elem ) ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8833
			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8834
			// 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8835
			var docElemProp = elem.document.documentElement[ "client" + name ];
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8836
			return elem.document.compatMode === "CSS1Compat" && docElemProp ||
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8837
				elem.document.body[ "client" + name ] || docElemProp;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8838
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8839
		// Get document width or height
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8840
		} else if ( elem.nodeType === 9 ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8841
			// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8842
			return Math.max(
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8843
				elem.documentElement["client" + name],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8844
				elem.body["scroll" + name], elem.documentElement["scroll" + name],
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8845
				elem.body["offset" + name], elem.documentElement["offset" + name]
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8846
			);
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8847
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8848
		// Get or set width or height on the element
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8849
		} else if ( size === undefined ) {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8850
			var orig = jQuery.css( elem, type ),
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8851
				ret = parseFloat( orig );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8852
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8853
			return jQuery.isNaN( ret ) ? orig : ret;
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8854
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8855
		// Set the width or height on the element (default to pixels if value is unitless)
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8856
		} else {
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8857
			return this.css( type, typeof size === "string" ? size : size + "px" );
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8858
		}
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8859
	};
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8860
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8861
});
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8862
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8863
99
483a30ff6e15 correct tags in unicode and upgrade jquery
ymh <ymh.work@gmail.com>
parents: 24
diff changeset
  8864
window.jQuery = window.$ = jQuery;
24
57a2650a7f87 update nyromodal
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  8865
})(window);