Änderungen https Andy Müller rückgängig gemacht
This commit is contained in:
parent
086d1e1e9e
commit
8d942a9c18
@ -1,8 +1,8 @@
|
||||
//** Ajax Tabs Content script v2.0- © Dynamic Drive DHTML code library (https://www.dynamicdrive.com)
|
||||
//** Ajax Tabs Content script v2.0- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
|
||||
//** Updated Oct 21st, 07 to version 2.0. Contains numerous improvements
|
||||
//** Updated Feb 18th, 08 to version 2.1: Adds a public "tabinstance.cycleit(dir)" method to cycle forward or backward between tabs dynamically. Only .js file changed from v2.0.
|
||||
//** Updated April 8th, 08 to version 2.2:
|
||||
// -Adds support for expanding a tab using a URL parameter (ie: https://mysite.com/tabcontent.htm?tabinterfaceid=0)
|
||||
// -Adds support for expanding a tab using a URL parameter (ie: http://mysite.com/tabcontent.htm?tabinterfaceid=0)
|
||||
// -Modified Ajax routine so testing the script out locally in IE7 now works
|
||||
|
||||
var ddajaxtabssettings={}
|
||||
@ -44,7 +44,7 @@ ddajaxtabs.connect=function(pageurl, tabinstance){
|
||||
page_request = new XMLHttpRequest()
|
||||
else
|
||||
return false
|
||||
var ajaxfriendlyurl=pageurl.replace(/^https:\/\/[^\/]+\//i, "https://"+window.location.hostname+"/")
|
||||
var ajaxfriendlyurl=pageurl.replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
|
||||
page_request.onreadystatechange=function(){ddajaxtabs.loadpage(page_request, pageurl, tabinstance)}
|
||||
if (ddajaxtabssettings.bustcachevar) //if bust caching of external page
|
||||
bustcacheparameter=(ajaxfriendlyurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
|
||||
|
@ -1,5 +1,5 @@
|
||||
Authors ordered by first contribution
|
||||
A list of current team members is available at https://jqueryui.com/about
|
||||
A list of current team members is available at http://jqueryui.com/about
|
||||
|
||||
Paul Bakaus <paul.bakaus@gmail.com>
|
||||
Richard Worth <rdworth@gmail.com>
|
||||
@ -42,7 +42,7 @@ Adam Sontag <ajpiano@ajpiano.com>
|
||||
Carl Fürstenberg <carl@excito.com>
|
||||
Kevin Dalman <development@allpro.net>
|
||||
Alberto Fernández Capel <afcapel@gmail.com>
|
||||
Jacek Jędrzejewski (https://jacek.jedrzejewski.name)
|
||||
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
|
||||
Ting Kuei <ting@kuei.com>
|
||||
Samuel Cormier-Iijima <sam@chide.it>
|
||||
Jon Palmer <jonspalmer@gmail.com>
|
||||
@ -229,7 +229,7 @@ Anika Henke <anika@selfthinker.org>
|
||||
Samuel Bovée <samycookie2000@yahoo.fr>
|
||||
Fabrício Matté <ult_combo@hotmail.com>
|
||||
Viktor Kojouharov <vkojouharov@gmail.com>
|
||||
Pawel Maruszczyk (https://hrabstwo.net)
|
||||
Pawel Maruszczyk (http://hrabstwo.net)
|
||||
Pavel Selitskas <p.selitskas@gmail.com>
|
||||
Bjørn Johansen <post@bjornjohansen.no>
|
||||
Matthieu Penant <thieum22@hotmail.com>
|
||||
|
@ -33,7 +33,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Copyright and related rights for sample code are waived via CC0. Sample
|
||||
code is defined as all source code contained within the demos directory.
|
||||
|
||||
CC0: https://creativecommons.org/publicdomain/zero/1.0/
|
||||
CC0: http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
====
|
||||
|
||||
|
5740
jquery/bootstrap.min.css
vendored
Executable file
5740
jquery/bootstrap.min.css
vendored
Executable file
File diff suppressed because it is too large
Load Diff
7
jquery/bootstrap.min.js
vendored
Executable file
7
jquery/bootstrap.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
108
jquery/controls.js
vendored
Executable file
108
jquery/controls.js
vendored
Executable file
@ -0,0 +1,108 @@
|
||||
$(function(){
|
||||
/*
|
||||
* For the sake keeping the code clean and the examples simple this file
|
||||
* contains only the plugin configuration & callbacks.
|
||||
*
|
||||
* UI functions ui_* can be located in:
|
||||
* - assets/demo/uploader/js/ui-main.js
|
||||
* - assets/demo/uploader/js/ui-multiple.js
|
||||
* - assets/demo/uploader/js/ui-single.js
|
||||
*/
|
||||
$('#drag-and-drop-zone').dmUploader({ //
|
||||
url: '/demo/java-script/upload',
|
||||
maxFileSize: 3000000, // 3 Megs max
|
||||
auto: false,
|
||||
queue: false,
|
||||
onDragEnter: function(){
|
||||
// Happens when dragging something over the DnD area
|
||||
this.addClass('active');
|
||||
},
|
||||
onDragLeave: function(){
|
||||
// Happens when dragging something OUT of the DnD area
|
||||
this.removeClass('active');
|
||||
},
|
||||
onInit: function(){
|
||||
// Plugin is ready to use
|
||||
ui_add_log('Penguin initialized :)', 'info');
|
||||
},
|
||||
onComplete: function(){
|
||||
// All files in the queue are processed (success or error)
|
||||
ui_add_log('All pending tranfers finished');
|
||||
},
|
||||
onNewFile: function(id, file){
|
||||
// When a new file is added using the file selector or the DnD area
|
||||
ui_add_log('New file added #' + id);
|
||||
ui_multi_add_file(id, file);
|
||||
},
|
||||
onBeforeUpload: function(id){
|
||||
// about tho start uploading a file
|
||||
ui_add_log('Starting the upload of #' + id);
|
||||
ui_multi_update_file_status(id, 'uploading', 'Uploading...');
|
||||
ui_multi_update_file_progress(id, 0, '', true);
|
||||
ui_multi_update_file_controls(id, false, true); // change control buttons status
|
||||
},
|
||||
onUploadProgress: function(id, percent){
|
||||
// Updating file progress
|
||||
ui_multi_update_file_progress(id, percent);
|
||||
},
|
||||
onUploadSuccess: function(id, data){
|
||||
// A file was successfully uploaded
|
||||
ui_add_log('Server Response for file #' + id + ': ' + JSON.stringify(data));
|
||||
ui_add_log('Upload of file #' + id + ' COMPLETED', 'success');
|
||||
ui_multi_update_file_status(id, 'success', 'Upload Complete');
|
||||
ui_multi_update_file_progress(id, 100, 'success', false);
|
||||
ui_multi_update_file_controls(id, false, false); // change control buttons status
|
||||
},
|
||||
onUploadCanceled: function(id) {
|
||||
// Happens when a file is directly canceled by the user.
|
||||
ui_multi_update_file_status(id, 'warning', 'Canceled by User');
|
||||
ui_multi_update_file_progress(id, 0, 'warning', false);
|
||||
ui_multi_update_file_controls(id, true, false);
|
||||
},
|
||||
onUploadError: function(id, xhr, status, message){
|
||||
// Happens when an upload error happens
|
||||
ui_multi_update_file_status(id, 'danger', message);
|
||||
ui_multi_update_file_progress(id, 0, 'danger', false);
|
||||
ui_multi_update_file_controls(id, true, false, true); // change control buttons status
|
||||
},
|
||||
onFallbackMode: function(){
|
||||
// When the browser doesn't support this plugin :(
|
||||
ui_add_log('Plugin cant be used here, running Fallback callback', 'danger');
|
||||
},
|
||||
onFileSizeError: function(file){
|
||||
ui_add_log('File \'' + file.name + '\' cannot be added: size excess limit', 'danger');
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
Global controls
|
||||
*/
|
||||
$('#btnApiStart').on('click', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
$('#drag-and-drop-zone').dmUploader('start');
|
||||
});
|
||||
|
||||
$('#btnApiCancel').on('click', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
$('#drag-and-drop-zone').dmUploader('cancel');
|
||||
});
|
||||
|
||||
/*
|
||||
Each File element action
|
||||
*/
|
||||
$('#files').on('click', 'button.start', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
var id = $(this).closest('li.media').data('file-id');
|
||||
$('#drag-and-drop-zone').dmUploader('start', id);
|
||||
});
|
||||
|
||||
$('#files').on('click', 'button.cancel', function(evt){
|
||||
evt.preventDefault();
|
||||
|
||||
var id = $(this).closest('li.media').data('file-id');
|
||||
$('#drag-and-drop-zone').dmUploader('cancel', id);
|
||||
});
|
||||
});
|
66
jquery/external/jquery/jquery.js
vendored
66
jquery/external/jquery/jquery.js
vendored
@ -1,13 +1,13 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v1.12.4
|
||||
* https://jquery.com/
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2016-05-20T17:17Z
|
||||
*/
|
||||
@ -338,7 +338,7 @@ jQuery.extend( {
|
||||
},
|
||||
|
||||
// Workarounds based on findings by Jim Driscoll
|
||||
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
globalEval: function( data ) {
|
||||
if ( data && jQuery.trim( data ) ) {
|
||||
|
||||
@ -579,11 +579,11 @@ function isArrayLike( obj ) {
|
||||
var Sizzle =
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.2.1
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2015-10-17
|
||||
*/
|
||||
@ -637,7 +637,7 @@ var i,
|
||||
push = arr.push,
|
||||
slice = arr.slice,
|
||||
// Use a stripped-down indexOf as it's faster than native
|
||||
// https://jsperf.com/thor-indexof-vs-for/5
|
||||
// http://jsperf.com/thor-indexof-vs-for/5
|
||||
indexOf = function( list, elem ) {
|
||||
var i = 0,
|
||||
len = list.length;
|
||||
@ -653,13 +653,13 @@ var i,
|
||||
|
||||
// Regular expressions
|
||||
|
||||
// https://www.w3.org/TR/css3-selectors/#whitespace
|
||||
// http://www.w3.org/TR/css3-selectors/#whitespace
|
||||
whitespace = "[\\x20\\t\\r\\n\\f]",
|
||||
|
||||
// https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
|
||||
|
||||
// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
|
||||
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
|
||||
// Operator (capture 2)
|
||||
"*([*^$|!~]?=)" + whitespace +
|
||||
@ -716,7 +716,7 @@ var i,
|
||||
rsibling = /[+~]/,
|
||||
rescape = /'|\\/g,
|
||||
|
||||
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
|
||||
funescape = function( _, escaped, escapedWhitespace ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
@ -1208,7 +1208,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// We allow this because of a bug in IE8/9 that throws an error
|
||||
// whenever `document.activeElement` is accessed on an iframe
|
||||
// So, we allow :focus to pass through QSA all the time to avoid the IE error
|
||||
// See https://bugs.jquery.com/ticket/13378
|
||||
// See http://bugs.jquery.com/ticket/13378
|
||||
rbuggyQSA = [];
|
||||
|
||||
if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
|
||||
@ -1219,7 +1219,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// This is to test IE's treatment of not explicitly
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// https://bugs.jquery.com/ticket/12359
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
|
||||
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
|
||||
"<option selected=''></option></select>";
|
||||
@ -1227,7 +1227,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// Support: IE8, Opera 11-12.16
|
||||
// Nothing should be selected when empty strings follow ^= or $= or *=
|
||||
// The test attribute must be unknown in Opera but "safe" for WinRT
|
||||
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
if ( div.querySelectorAll("[msallowcapture^='']").length ) {
|
||||
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
||||
}
|
||||
@ -1244,7 +1244,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
}
|
||||
|
||||
// Webkit/Opera - :checked should return selected option elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( !div.querySelectorAll(":checked").length ) {
|
||||
rbuggyQSA.push(":checked");
|
||||
@ -1841,7 +1841,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"PSEUDO": function( pseudo, argument ) {
|
||||
// pseudo-class names are case-insensitive
|
||||
// https://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// http://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
||||
// Remember that setFilters inherits from pseudos
|
||||
var args,
|
||||
@ -1928,7 +1928,7 @@ Expr = Sizzle.selectors = {
|
||||
// or beginning with the identifier C immediately followed by "-".
|
||||
// The matching of C against the element's language value is performed case-insensitively.
|
||||
// The identifier C does not have to be a valid language name."
|
||||
// https://www.w3.org/TR/selectors/#lang-pseudo
|
||||
// http://www.w3.org/TR/selectors/#lang-pseudo
|
||||
"lang": markFunction( function( lang ) {
|
||||
// lang value must be a valid identifier
|
||||
if ( !ridentifier.test(lang || "") ) {
|
||||
@ -1975,7 +1975,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"checked": function( elem ) {
|
||||
// In CSS3, :checked should return both checked and selected elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
var nodeName = elem.nodeName.toLowerCase();
|
||||
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
|
||||
},
|
||||
@ -1992,7 +1992,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
// Contents
|
||||
"empty": function( elem ) {
|
||||
// https://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// http://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
|
||||
// but not by others (comment: 8; processing instruction: 7; etc.)
|
||||
// nodeType < 6 works because attributes (2) do not appear as children
|
||||
@ -2666,7 +2666,7 @@ support.sortDetached = assert(function( div1 ) {
|
||||
|
||||
// Support: IE<8
|
||||
// Prevent attribute/property "interpolation"
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !assert(function( div ) {
|
||||
div.innerHTML = "<a href='#'></a>";
|
||||
return div.firstChild.getAttribute("href") === "#" ;
|
||||
@ -3666,7 +3666,7 @@ jQuery.ready.promise = function( obj ) {
|
||||
try {
|
||||
|
||||
// Use the trick by Diego Perini
|
||||
// https://javascript.nwbox.com/IEContentLoaded/
|
||||
// http://javascript.nwbox.com/IEContentLoaded/
|
||||
top.doScroll( "left" );
|
||||
} catch ( e ) {
|
||||
return window.setTimeout( doScrollCheck, 50 );
|
||||
@ -5553,7 +5553,7 @@ jQuery.Event = function( src, props ) {
|
||||
};
|
||||
|
||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
jQuery.Event.prototype = {
|
||||
constructor: jQuery.Event,
|
||||
isDefaultPrevented: returnFalse,
|
||||
@ -5775,7 +5775,7 @@ if ( !support.change ) {
|
||||
//
|
||||
// Support: Chrome, Safari
|
||||
// focus(in | out) events fire after focus & blur events,
|
||||
// which is spec violation - https://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
|
||||
// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
|
||||
// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
|
||||
if ( !support.focusin ) {
|
||||
jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
||||
@ -6148,7 +6148,7 @@ jQuery.extend( {
|
||||
if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
|
||||
( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
|
||||
|
||||
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
|
||||
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
||||
destElements = getAll( clone );
|
||||
srcElements = getAll( elem );
|
||||
|
||||
@ -6732,7 +6732,7 @@ if ( window.getComputedStyle ) {
|
||||
// Safari 5.1.7 (at least) returns percentage for a larger set of values,
|
||||
// but width seems to be reliably pixels
|
||||
// this is against the CSSOM draft spec:
|
||||
// https://dev.w3.org/csswg/cssom/#resolved-values
|
||||
// http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||
|
||||
// Remember the original values
|
||||
@ -6776,7 +6776,7 @@ if ( window.getComputedStyle ) {
|
||||
}
|
||||
|
||||
// From the awesome hack by Dean Edwards
|
||||
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
|
||||
// If we're not dealing with a regular pixel number
|
||||
// but a number that has a weird ending, we need to convert it to pixels
|
||||
@ -8109,7 +8109,7 @@ jQuery.fx.speeds = {
|
||||
|
||||
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://web.archive.org/web/20100324014747/https://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
jQuery.fn.delay = function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
@ -8707,7 +8707,7 @@ jQuery.extend( {
|
||||
|
||||
// elem.tabIndex doesn't always return the
|
||||
// correct value when it hasn't been explicitly set
|
||||
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// Use proper attribute retrieval(#12072)
|
||||
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||
|
||||
@ -8728,7 +8728,7 @@ jQuery.extend( {
|
||||
} );
|
||||
|
||||
// Some attributes require a special call on IE
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !support.hrefNormalized ) {
|
||||
|
||||
// href/src property should get the full normalized URL (#10299/#12915)
|
||||
@ -9602,8 +9602,8 @@ jQuery.extend( {
|
||||
parts = rurl.exec( s.url.toLowerCase() );
|
||||
s.crossDomain = !!( parts &&
|
||||
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? "80" : "443" ) ) !==
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? "80" : "443" ) ) )
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
|
||||
);
|
||||
}
|
||||
|
||||
@ -10158,8 +10158,8 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
|
||||
|
||||
// Support: IE<9
|
||||
// oldIE XHR does not support non-RFC2616 methods (#13240)
|
||||
// See https://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
|
||||
// and https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
|
||||
// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
|
||||
// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
|
||||
// Although this check for six methods instead of eight
|
||||
// since IE also does not support "trace" and "connect"
|
||||
return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
|
||||
|
5
jquery/font-awesome.min.css
vendored
Executable file
5
jquery/font-awesome.min.css
vendored
Executable file
File diff suppressed because one or more lines are too long
@ -1,11 +1,11 @@
|
||||
/*
|
||||
* Globalize Culture de-DE
|
||||
*
|
||||
* https://github.com/jquery/globalize
|
||||
* http://github.com/jquery/globalize
|
||||
*
|
||||
* Copyright Software Freedom Conservancy, Inc.
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* This file was generated by the Globalize Culture Generator
|
||||
* Translation: bugs found in this file need to be fixed in the generator
|
||||
|
6
jquery/globalize.js
vendored
6
jquery/globalize.js
vendored
@ -1,11 +1,11 @@
|
||||
/*!
|
||||
* Globalize
|
||||
*
|
||||
* https://github.com/jquery/globalize
|
||||
* http://github.com/jquery/globalize
|
||||
*
|
||||
* Copyright Software Freedom Conservancy, Inc.
|
||||
* Dual licensed under the MIT or GPL Version 2 licenses.
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*/
|
||||
|
||||
(function( window, undefined ) {
|
||||
@ -242,7 +242,7 @@ Globalize.cultures[ "default" ] = {
|
||||
monthsGenitive:
|
||||
Same as months but used when the day preceeds the month.
|
||||
Omit if the culture has no genitive distinction in month names.
|
||||
For an explaination of genitive months, see https://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
|
||||
For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
|
||||
convert:
|
||||
Allows for the support of non-gregorian based calendars. This convert object is used to
|
||||
to convert a date to and from a gregorian calendar date to handle parsing and formatting.
|
||||
|
223
jquery/googletag.js
vendored
Executable file
223
jquery/googletag.js
vendored
Executable file
@ -0,0 +1,223 @@
|
||||
|
||||
// Copyright 2012 Google Inc. All rights reserved.
|
||||
(function(){
|
||||
|
||||
var data = {
|
||||
"resource": {
|
||||
"version":"1",
|
||||
|
||||
"macros":[],
|
||||
"tags":[],
|
||||
"predicates":[],
|
||||
"rules":[]
|
||||
},
|
||||
"runtime":[]
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
/*
|
||||
|
||||
Copyright The Closure Library Authors.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var aa,ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},ca;if("function"==typeof Object.setPrototypeOf)ca=Object.setPrototypeOf;else{var da;a:{var ea={lf:!0},fa={};try{fa.__proto__=ea;da=fa.lf;break a}catch(a){}da=!1}ca=da?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ia=ca,ja=this||self,la=/^[\w+/_-]+[=]{0,2}$/,ma=null;var pa=function(){},qa=function(a){return"function"==typeof a},g=function(a){return"string"==typeof a},ra=function(a){return"number"==typeof a&&!isNaN(a)},ua=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},r=function(a,b){if(Array.prototype.indexOf){var c=a.indexOf(b);return"number"==typeof c?c:-1}for(var d=0;d<a.length;d++)if(a[d]===b)return d;return-1},va=function(a,b){if(a&&ua(a))for(var c=0;c<a.length;c++)if(a[c]&&b(a[c]))return a[c]},wa=function(a,b){if(!ra(a)||
|
||||
!ra(b)||a>b)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)},ya=function(a,b){for(var c=new xa,d=0;d<a.length;d++)c.set(a[d],!0);for(var e=0;e<b.length;e++)if(c.get(b[e]))return!0;return!1},za=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(c,a[c])},Aa=function(a){return Math.round(Number(a))||0},Ba=function(a){return"false"==String(a).toLowerCase()?!1:!!a},Ca=function(a){var b=[];if(ua(a))for(var c=0;c<a.length;c++)b.push(String(a[c]));return b},Ea=function(a){return a?
|
||||
a.replace(/^\s+|\s+$/g,""):""},Fa=function(){return(new Date).getTime()},xa=function(){this.prefix="gtm.";this.values={}};xa.prototype.set=function(a,b){this.values[this.prefix+a]=b};xa.prototype.get=function(a){return this.values[this.prefix+a]};
|
||||
var Ga=function(a,b,c){return a&&a.hasOwnProperty(b)?a[b]:c},Ha=function(a){var b=!1;return function(){if(!b)try{a()}catch(c){}b=!0}},Ia=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},Ja=function(a){for(var b in a)if(a.hasOwnProperty(b))return!0;return!1},Ka=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),c.push.apply(c,b[a[d]]||[]);return c},La=function(a,b){for(var c={},d=c,e=a.split("."),f=0;f<e.length-1;f++)d=d[e[f]]={};d[e[e.length-1]]=b;return c},Ma=function(a){var b=
|
||||
[];za(a,function(c,d){10>c.length&&d&&b.push(c)});return b.join(",")},Na=function(a){for(var b=[],c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b.push(d):2048>d?b.push(192|d>>6,128|d&63):55296>d||57344<=d?b.push(224|d>>12,128|d>>6&63,128|d&63):(d=65536+((d&1023)<<10|a.charCodeAt(++c)&1023),b.push(240|d>>18,128|d>>12&63,128|d>>6&63,128|d&63))}return new Uint8Array(b)};/*
|
||||
jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */
|
||||
var Oa=/\[object (Boolean|Number|String|Function|Array|Date|RegExp)\]/,Pa=function(a){if(null==a)return String(a);var b=Oa.exec(Object.prototype.toString.call(Object(a)));return b?b[1].toLowerCase():"object"},Qa=function(a,b){return Object.prototype.hasOwnProperty.call(Object(a),b)},Ra=function(a){if(!a||"object"!=Pa(a)||a.nodeType||a==a.window)return!1;try{if(a.constructor&&!Qa(a,"constructor")&&!Qa(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}for(var b in a);return void 0===
|
||||
b||Qa(a,b)},B=function(a,b){var c=b||("array"==Pa(a)?[]:{}),d;for(d in a)if(Qa(a,d)){var e=a[d];"array"==Pa(e)?("array"!=Pa(c[d])&&(c[d]=[]),c[d]=B(e,c[d])):Ra(e)?(Ra(c[d])||(c[d]={}),c[d]=B(e,c[d])):c[d]=e}return c};var qb;
|
||||
var rb=[],sb=[],tb=[],vb=[],wb=[],xb={},yb,zb,Ab,Bb=function(a,b){var c={};c["function"]="__"+a;for(var d in b)b.hasOwnProperty(d)&&(c["vtp_"+d]=b[d]);return c},Cb=function(a,b){var c=a["function"];if(!c)throw Error("Error: No function name given for function call.");var d=xb[c],e={},f;for(f in a)a.hasOwnProperty(f)&&0===f.indexOf("vtp_")&&(e[void 0!==d?f:f.substr(4)]=a[f]);return void 0!==d?d(e):qb(c,e,b)},Eb=function(a,b,c){c=c||[];var d={},e;for(e in a)a.hasOwnProperty(e)&&(d[e]=Db(a[e],b,c));
|
||||
return d},Fb=function(a){var b=a["function"];if(!b)throw"Error: No function name given for function call.";var c=xb[b];return c?c.priorityOverride||0:0},Db=function(a,b,c){if(ua(a)){var d;switch(a[0]){case "function_id":return a[1];case "list":d=[];for(var e=1;e<a.length;e++)d.push(Db(a[e],b,c));return d;case "macro":var f=a[1];if(c[f])return;var h=rb[f];if(!h||b.Lc(h))return;c[f]=!0;try{var k=Eb(h,b,c);k.vtp_gtmEventId=b.id;d=Cb(k,b);Ab&&(d=Ab.Mf(d,k))}catch(y){b.te&&b.te(y,Number(f)),d=!1}c[f]=
|
||||
!1;return d;case "map":d={};for(var l=1;l<a.length;l+=2)d[Db(a[l],b,c)]=Db(a[l+1],b,c);return d;case "template":d=[];for(var m=!1,n=1;n<a.length;n++){var q=Db(a[n],b,c);zb&&(m=m||q===zb.ub);d.push(q)}return zb&&m?zb.Pf(d):d.join("");case "escape":d=Db(a[1],b,c);if(zb&&ua(a[1])&&"macro"===a[1][0]&&zb.mg(a))return zb.Jg(d);d=String(d);for(var u=2;u<a.length;u++)Sa[a[u]]&&(d=Sa[a[u]](d));return d;case "tag":var p=a[1];if(!vb[p])throw Error("Unable to resolve tag reference "+p+".");return d={fe:a[2],
|
||||
index:p};case "zb":var t={arg0:a[2],arg1:a[3],ignore_case:a[5]};t["function"]=a[1];var v=Hb(t,b,c),w=!!a[4];return w||2!==v?w!==(1===v):null;default:throw Error("Attempting to expand unknown Value type: "+a[0]+".");}}return a},Hb=function(a,b,c){try{return yb(Eb(a,b,c))}catch(d){JSON.stringify(a)}return 2};var Ib=function(){var a=function(b){return{toString:function(){return b}}};return{qd:a("convert_case_to"),rd:a("convert_false_to"),sd:a("convert_null_to"),td:a("convert_true_to"),ud:a("convert_undefined_to"),rh:a("debug_mode_metadata"),ra:a("function"),Qe:a("instance_name"),Ue:a("live_only"),We:a("malware_disabled"),Xe:a("metadata"),sh:a("original_vendor_template_id"),af:a("once_per_event"),Dd:a("once_per_load"),Ld:a("setup_tags"),Nd:a("tag_id"),Od:a("teardown_tags")}}();var Jb=null,Mb=function(a){function b(q){for(var u=0;u<q.length;u++)d[q[u]]=!0}var c=[],d=[];Jb=Kb(a);for(var e=0;e<sb.length;e++){var f=sb[e],h=Lb(f);if(h){for(var k=f.add||[],l=0;l<k.length;l++)c[k[l]]=!0;b(f.block||[])}else null===h&&b(f.block||[])}for(var m=[],n=0;n<vb.length;n++)c[n]&&!d[n]&&(m[n]=!0);return m},Lb=function(a){for(var b=a["if"]||[],c=0;c<b.length;c++){var d=Jb(b[c]);if(0===d)return!1;if(2===d)return null}for(var e=a.unless||[],f=0;f<e.length;f++){var h=Jb(e[f]);if(2===h)return null;
|
||||
if(1===h)return!1}return!0},Kb=function(a){var b=[];return function(c){void 0===b[c]&&(b[c]=Hb(tb[c],a));return b[c]}};/*
|
||||
Copyright (c) 2014 Derek Brans, MIT license https://github.com/krux/postscribe/blob/master/LICENSE. Portions derived from simplehtmlparser, which is licensed under the Apache License, Version 2.0 */
|
||||
var D=window,F=document,fc=navigator,gc=F.currentScript&&F.currentScript.src,hc=function(a,b){var c=D[a];D[a]=void 0===c?b:c;return D[a]},ic=function(a,b){b&&(a.addEventListener?a.onload=b:a.onreadystatechange=function(){a.readyState in{loaded:1,complete:1}&&(a.onreadystatechange=null,b())})},jc=function(a,b,c){var d=F.createElement("script");d.type="text/javascript";d.async=!0;d.src=a;ic(d,b);c&&(d.onerror=c);var e;if(null===ma)b:{var f=ja.document,h=f.querySelector&&f.querySelector("script[nonce]");
|
||||
if(h){var k=h.nonce||h.getAttribute("nonce");if(k&&la.test(k)){ma=k;break b}}ma=""}e=ma;e&&d.setAttribute("nonce",e);var l=F.getElementsByTagName("script")[0]||F.body||F.head;l.parentNode.insertBefore(d,l);return d},kc=function(){if(gc){var a=gc.toLowerCase();if(0===a.indexOf("https://"))return 2;if(0===a.indexOf("http://"))return 3}return 1},lc=function(a,b){var c=F.createElement("iframe");c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var d=F.body&&F.body.lastChild||
|
||||
F.body||F.head;d.parentNode.insertBefore(c,d);ic(c,b);void 0!==a&&(c.src=a);return c},mc=function(a,b,c){var d=new Image(1,1);d.onload=function(){d.onload=null;b&&b()};d.onerror=function(){d.onerror=null;c&&c()};d.src=a;return d},nc=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},oc=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent("on"+b,c)},G=function(a){D.setTimeout(a,0)},qc=function(a,b){return a&&
|
||||
b&&a.attributes&&a.attributes[b]?a.attributes[b].value:null},rc=function(a){var b=a.innerText||a.textContent||"";b&&" "!=b&&(b=b.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""));b&&(b=b.replace(/(\xa0+|\s{2,}|\n|\r\t)/g," "));return b},sc=function(a){var b=F.createElement("div");b.innerHTML="A<div>"+a+"</div>";b=b.lastChild;for(var c=[];b.firstChild;)c.push(b.removeChild(b.firstChild));return c},tc=function(a,b,c){c=c||100;for(var d={},e=0;e<b.length;e++)d[b[e]]=!0;for(var f=a,h=0;f&&h<=c;h++){if(d[String(f.tagName).toLowerCase()])return f;
|
||||
f=f.parentElement}return null},uc=function(a,b){var c=a[b];c&&"string"===typeof c.animVal&&(c=c.animVal);return c};var wc=function(a){return vc?F.querySelectorAll(a):null},xc=function(a,b){if(!vc)return null;if(Element.prototype.closest)try{return a.closest(b)}catch(e){return null}var c=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector,d=a;if(!F.documentElement.contains(d))return null;do{try{if(c.call(d,b))return d}catch(e){break}d=d.parentElement||d.parentNode}while(null!==d&&1===d.nodeType);
|
||||
return null},yc=!1;if(F.querySelectorAll)try{var zc=F.querySelectorAll(":root");zc&&1==zc.length&&zc[0]==F.documentElement&&(yc=!0)}catch(a){}var vc=yc;var H={qa:"_ee",nc:"event_callback",tb:"event_timeout",D:"gtag.config",X:"allow_ad_personalization_signals",oc:"restricted_data_processing",Qa:"allow_google_signals",Y:"cookie_expires",sb:"cookie_update",Ra:"session_duration",ca:"user_properties"};
|
||||
H.ad="page_view";H.Qg="user_engagement";H.ma="purchase";H.Cb="refund";H.Sa="begin_checkout";H.Ab="add_to_cart";H.Bb="remove_from_cart";H.Ag="view_cart";H.zd="add_to_wishlist";H.Ta="view_item";H.Pg="view_promotion";H.Hg="select_promotion";H.Cg="click_item_list";H.Zc="view_item_list";H.yd="add_payment_info";H.yg="add_shipping_info";H.Xg="allow_custom_scripts";H.dh="allow_display_features";H.gh="allow_enhanced_conversions";H.Ud="enhanced_conversions";H.Eb="client_id";H.P="cookie_domain";H.Fb="cookie_name";
|
||||
H.Da="cookie_path";H.aa="currency";H.Hb="custom_params";H.oh="custom_map";H.md="groups";H.Ea="language";H.kh="country";H.uh="non_interaction";H.Ya="page_location";H.Za="page_referrer";H.jc="page_title";H.$a="send_page_view";H.oa="send_to";H.kc="session_engaged";H.Pb="session_id";H.mc="session_number";H.cf="tracking_id";H.na="linker";H.Ua="accept_incoming";H.C="domains";H.Xa="url_position";H.Va="decorate_forms";H.od="phone_conversion_number";H.Wd="phone_conversion_callback";H.Xd="phone_conversion_css_class";
|
||||
H.Yd="phone_conversion_options";H.Te="phone_conversion_ids";H.Se="phone_conversion_country_code";H.Ad="aw_remarketing";H.Bd="aw_remarketing_only";H.W="value";H.Ve="quantity";H.Ge="affiliation";H.Td="tax";H.Le="shipping";H.gd="list_name";H.Rd="checkout_step";H.Qd="checkout_option";H.Ie="coupon";H.Je="promotions";H.ab="transaction_id";H.cb="user_id";H.Ca="conversion_linker";H.Aa="conversion_cookie_prefix";H.S="cookie_prefix";H.M="items";H.Hd="aw_merchant_id";H.Ed="aw_feed_country";H.Gd="aw_feed_language";
|
||||
H.Cd="discount";H.Md="disable_merchant_reported_purchases";H.ic="new_customer";H.Kd="customer_lifetime_value";H.qh="dc_natural_search";H.ph="dc_custom_params";H.df="trip_type";H.Vd="passengers";H.Pe="method";H.Ze="search_term";H.ih="content_type";H.Re="optimize_id";H.Me="experiments";H.Nb="google_signals";H.ld="google_tld";H.Qb="update";H.kd="firebase_id";H.Lb="ga_restrict_domain";H.hd="event_settings";H.Ye="screen_name";H.Oe="_x_19";H.Ne="_x_20";H.ia="transport_url";H.ee=[H.X,H.Qa,H.oc,H.P,H.Y,H.Fb,
|
||||
H.Da,H.S,H.sb,H.Hb,H.nc,H.hd,H.tb,H.Lb,H.Nb,H.ld,H.md,H.na,H.oa,H.$a,H.Ra,H.Qb,H.ca,H.ia];H.ae=[H.Ya,H.Za,H.jc,H.Ea,H.Ye,H.cb,H.kd];H.ef=[H.ma,H.Cb,H.Sa,H.Ab,H.Bb,H.Ag,H.zd,H.Ta,H.Pg,H.Hg,H.Zc,H.Cg,H.yd,H.yg];H.xd=[H.oa,H.Ad,H.Bd,H.Hb,H.$a,H.Ea,H.W,H.aa,H.ab,H.cb,H.Ca,H.Aa,H.S,H.P,H.Y,H.Ya,H.Za,H.od,H.Wd,H.Xd,H.Yd,H.M,H.Hd,H.Ed,H.Gd,H.Cd,H.Md,H.ic,H.Kd,H.X,H.oc,H.Qb,H.kd,H.Ud,H.ia];
|
||||
H.de=[H.X,H.Qa,H.sb];H.ke=[H.Y,H.tb,H.Ra];var Pc=/[A-Z]+/,Qc=/\s/,Rc=function(a){if(g(a)&&(a=Ea(a),!Qc.test(a))){var b=a.indexOf("-");if(!(0>b)){var c=a.substring(0,b);if(Pc.test(c)){for(var d=a.substring(b+1).split("/"),e=0;e<d.length;e++)if(!d[e])return;return{id:a,prefix:c,containerId:c+"-"+d[0],o:d}}}}},Tc=function(a){for(var b={},c=0;c<a.length;++c){var d=Rc(a[c]);d&&(b[d.id]=d)}Sc(b);var e=[];za(b,function(f,h){e.push(h)});return e};
|
||||
function Sc(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];"AW"===d.prefix&&d.o[1]&&b.push(d.containerId)}for(var e=0;e<b.length;++e)delete a[b[e]]};var Uc={},Vc=null,Wc=Math.random();Uc.s="UA-638054-11";Uc.yb="250";var Xc={__cl:!0,__ecl:!0,__ehl:!0,__evl:!0,__fal:!0,__fil:!0,__fsl:!0,__hl:!0,__jel:!0,__lcl:!0,__sdl:!0,__tl:!0,__ytl:!0,__paused:!0,__tg:!0},Zc="www.googletagmanager.com/gtm.js";Zc="www.googletagmanager.com/gtag/js";var $c=Zc,ad=null,bd=null,cd=null,dd="//www.googletagmanager.com/a?id="+Uc.s+"&cv=1",ed={},fd={},gd=function(){var a=Vc.sequence||0;Vc.sequence=a+1;return a};var hd={},I=function(a,b){hd[a]=hd[a]||[];hd[a][b]=!0},id=function(a){for(var b=[],c=hd[a]||[],d=0;d<c.length;d++)c[d]&&(b[Math.floor(d/6)]^=1<<d%6);for(var e=0;e<b.length;e++)b[e]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(b[e]||0);return b.join("")};
|
||||
var jd=function(){return"&tc="+vb.filter(function(a){return a}).length},md=function(){kd||(kd=D.setTimeout(ld,500))},ld=function(){kd&&(D.clearTimeout(kd),kd=void 0);void 0===nd||od[nd]&&!pd&&!qd||(rd[nd]||sd.og()||0>=td--?(I("GTM",1),rd[nd]=!0):(sd.Sg(),mc(ud()),od[nd]=!0,vd=wd=qd=pd=""))},ud=function(){var a=nd;if(void 0===a)return"";var b=id("GTM"),c=id("TAGGING");return[xd,od[a]?"":"&es=1",yd[a],b?"&u="+b:"",c?"&ut="+c:"",jd(),pd,qd,wd,vd,"&z=0"].join("")},zd=function(){return[dd,"&v=3&t=t","&pid="+
|
||||
wa(),"&rv="+Uc.yb].join("")},Ad="0.005000">Math.random(),xd=zd(),Bd=function(){xd=zd()},od={},pd="",qd="",vd="",wd="",nd=void 0,yd={},rd={},kd=void 0,sd=function(a,b){var c=0,d=0;return{og:function(){if(c<a)return!1;Fa()-d>=b&&(c=0);return c>=a},Sg:function(){Fa()-d>=b&&(c=0);c++;d=Fa()}}}(2,1E3),td=1E3,Cd=function(a,b){if(Ad&&!rd[a]&&nd!==a){ld();nd=a;vd=pd="";var c;c=0===b.indexOf("gtm.")?encodeURIComponent(b):"*";yd[a]="&e="+c+"&eid="+a;md()}},Dd=function(a,b,c){if(Ad&&!rd[a]&&
|
||||
b){a!==nd&&(ld(),nd=a);var d,e=String(b[Ib.ra]||"").replace(/_/g,"");0===e.indexOf("cvt")&&(e="cvt");d=e;var f=c+d;pd=pd?pd+"."+f:"&tr="+f;var h=b["function"];if(!h)throw Error("Error: No function name given for function call.");var k=(xb[h]?"1":"2")+d;vd=vd?vd+"."+k:"&ti="+k;md();2022<=ud().length&&ld()}},Ed=function(a,b,c){if(Ad&&!rd[a]){a!==nd&&(ld(),nd=a);var d=c+b;qd=qd?qd+
|
||||
"."+d:"&epr="+d;md();2022<=ud().length&&ld()}};var Fd={},Gd=new xa,Hd={},Id={},Ld={name:"dataLayer",set:function(a,b){B(La(a,b),Hd);Jd()},get:function(a){return Kd(a,2)},reset:function(){Gd=new xa;Hd={};Jd()}},Kd=function(a,b){if(2!=b){var c=Gd.get(a);if(Ad){var d=Md(a);c!==d&&I("GTM",5)}return c}return Md(a)},Md=function(a,b,c){var d=a.split("."),e=!1,f=void 0;var h=function(k,l){for(var m=0;void 0!==k&&m<d.length;m++){if(null===k)return!1;k=k[d[m]]}return void 0!==k||1<m?k:l.length?h(Nd(l.pop()),l):Od(d)};
|
||||
e=!0;f=h(Hd.eventModel,[b,c]);return e?f:Od(d)},Od=function(a){for(var b=Hd,c=0;c<a.length;c++){if(null===b)return!1;if(void 0===b)break;b=b[a[c]]}return b};var Nd=function(a){if(a){var b=Od(["gtag","targets",a]);return Ra(b)?b:void 0}},Pd=function(a,b){function c(f){f&&za(f,function(h){d[h]=null})}var d={};c(Hd);delete d.eventModel;c(Nd(a));c(Nd(b));c(Hd.eventModel);var e=[];za(d,function(f){e.push(f)});return e};
|
||||
var Qd=function(a,b){Id.hasOwnProperty(a)||(Gd.set(a,b),B(La(a,b),Hd),Jd())},Jd=function(a){za(Id,function(b,c){Gd.set(b,c);B(La(b,void 0),Hd);B(La(b,c),Hd);a&&delete Id[b]})},Rd=function(a,b,c){Fd[a]=Fd[a]||{};var d=1!==c?Md(b):Gd.get(b);"array"===Pa(d)||"object"===Pa(d)?Fd[a][b]=B(d):Fd[a][b]=d},Sd=function(a,b){if(Fd[a])return Fd[a][b]},Td=function(a,b){Fd[a]&&delete Fd[a][b]};var Ud=function(){var a=!1;return a};var Q=function(a,b,c,d){return(2===Vd()||d||"http:"!=D.location.protocol?a:b)+c},Vd=function(){var a=kc(),b;if(1===a)a:{var c=$c;c=c.toLowerCase();for(var d="https://"+c,e="http://"+c,f=1,h=F.getElementsByTagName("script"),k=0;k<h.length&&100>k;k++){var l=h[k].src;if(l){l=l.toLowerCase();if(0===l.indexOf(e)){b=3;break a}1===f&&0===l.indexOf(d)&&(f=2)}}b=f}else b=a;return b};
|
||||
var Xd=function(a,b,c){if(D[a.functionName])return b.Rc&&G(b.Rc),D[a.functionName];var d=Wd();D[a.functionName]=d;if(a.Db)for(var e=0;e<a.Db.length;e++)D[a.Db[e]]=D[a.Db[e]]||Wd();a.Ob&&void 0===D[a.Ob]&&(D[a.Ob]=c);jc(Q("https://","http://",a.bd),b.Rc,b.Dg);return d},Wd=function(){var a=function(){a.q=a.q||[];a.q.push(arguments)};return a},Yd={functionName:"_googWcmImpl",Ob:"_googWcmAk",bd:"www.gstatic.com/wcm/loader.js"},Zd={functionName:"_gaPhoneImpl",Ob:"ga_wpid",bd:"www.gstatic.com/gaphone/loader.js"},
|
||||
$d={He:"",hf:"1"},ae={functionName:"_googCallTrackingImpl",Db:[Zd.functionName,Yd.functionName],bd:"www.gstatic.com/call-tracking/call-tracking_"+($d.He||$d.hf)+".js"},be={},ce=function(a,b,c,d){I("GTM",22);if(c){d=d||{};var e=Xd(Yd,d,a),f={ak:a,cl:b};void 0===d.da&&(f.autoreplace=c);e(2,d.da,f,c,0,new Date,d.options)}},de=function(a,b,c){I("GTM",23);if(b){c=c||{};var d=Xd(Zd,c,a),e={};void 0!==c.da?e.receiver=c.da:e.replace=b;e.ga_wpid=a;e.destination=b;d(2,new Date,
|
||||
e)}},ee=function(a,b,c,d){I("GTM",21);if(b&&c){d=d||{};for(var e={countryNameCode:c,destinationNumber:b,retrievalTime:new Date},f=0;f<a.length;f++){var h=a[f];be[h.id]||(h&&"AW"===h.prefix&&!e.adData&&2<=h.o.length?(e.adData={ak:h.o[0],cl:h.o[1]},be[h.id]=!0):h&&"UA"===h.prefix&&!e.gaData&&(e.gaData={gaWpid:h.containerId},be[h.id]=!0))}(e.gaData||e.adData)&&Xd(ae,d)(d.da,e,d.options)}},fe=function(){var a=!1;
|
||||
return a},ge=function(a,b){if(a)if(Ud()){}else{if(g(a)){var c=Rc(a);if(!c)return;a=c}var d=function(x){return b?b.getWithConfig(x):Md(x,a.containerId,a.id)},e=void 0,f=!1,h=d(H.Te);if(h&&ua(h)){e=[];for(var k=0;k<h.length;k++){var l=Rc(h[k]);l&&(e.push(l),(a.id===l.id||a.id===a.containerId&&a.containerId===l.containerId)&&(f=!0))}}if(!e||f){var m=d(H.od),n;if(m){ua(m)?n=m:n=[m];var q=d(H.Wd),u=d(H.Xd),p=d(H.Yd),t=d(H.Se),
|
||||
v=q||u,w=1;"UA"!==a.prefix||e||(w=5);for(var y=0;y<n.length;y++)y<w&&(e?ee(e,n[y],t,{da:v,options:p}):"AW"===a.prefix&&a.o[1]?fe()?ee([a],n[y],t||"US",{da:v,options:p}):ce(a.o[0],a.o[1],n[y],{da:v,options:p}):"UA"===a.prefix&&(fe()?ee([a],n[y],t||"US",{da:v}):de(a.containerId,n[y],{da:v})))}}}};var je=new RegExp(/^(.*\.)?(google|youtube|blogger|withgoogle)(\.com?)?(\.[a-z]{2})?\.?$/),ke={cl:["ecl"],customPixels:["nonGooglePixels"],ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],customScripts:["html","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],nonGooglePixels:[],nonGoogleScripts:["nonGooglePixels"],nonGoogleIframes:["nonGooglePixels"]},le={cl:["ecl"],customPixels:["customScripts","html"],
|
||||
ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts"],customScripts:["html"],nonGooglePixels:["customPixels","customScripts","html","nonGoogleScripts","nonGoogleIframes"],nonGoogleScripts:["customScripts","html"],nonGoogleIframes:["customScripts","html","nonGoogleScripts"]},me="google customPixels customScripts html nonGooglePixels nonGoogleScripts nonGoogleIframes".split(" ");
|
||||
var oe=function(a){var b=Kd("gtm.whitelist");b&&I("GTM",9);b="google gtagfl lcl zone oid op".split(" ");var c=b&&Ka(Ca(b),ke),d=Kd("gtm.blacklist");d||(d=Kd("tagTypeBlacklist"))&&I("GTM",3);d?
|
||||
I("GTM",8):d=[];ne()&&(d=Ca(d),d.push("nonGooglePixels","nonGoogleScripts","sandboxedScripts"));0<=r(Ca(d),"google")&&I("GTM",2);var e=d&&Ka(Ca(d),le),f={};return function(h){var k=h&&h[Ib.ra];if(!k||"string"!=typeof k)return!0;k=k.replace(/^_*/,"");if(void 0!==f[k])return f[k];var l=fd[k]||[],m=a(k,l);if(b){var n;if(n=m)a:{if(0>r(c,k))if(l&&0<l.length)for(var q=0;q<
|
||||
l.length;q++){if(0>r(c,l[q])){I("GTM",11);n=!1;break a}}else{n=!1;break a}n=!0}m=n}var u=!1;if(d){var p=0<=r(e,k);if(p)u=p;else{var t=ya(e,l||[]);t&&I("GTM",10);u=t}}var v=!m||u;v||!(0<=r(l,"sandboxedScripts"))||c&&-1!==r(c,"sandboxedScripts")||(v=ya(e,me));return f[k]=v}},ne=function(){return je.test(D.location&&D.location.hostname)};var pe={Mf:function(a,b){b[Ib.qd]&&"string"===typeof a&&(a=1==b[Ib.qd]?a.toLowerCase():a.toUpperCase());b.hasOwnProperty(Ib.sd)&&null===a&&(a=b[Ib.sd]);b.hasOwnProperty(Ib.ud)&&void 0===a&&(a=b[Ib.ud]);b.hasOwnProperty(Ib.td)&&!0===a&&(a=b[Ib.td]);b.hasOwnProperty(Ib.rd)&&!1===a&&(a=b[Ib.rd]);return a}};var qe={active:!0,isWhitelisted:function(){return!0}},re=function(a){var b=Vc.zones;!b&&a&&(b=Vc.zones=a());return b};var se=function(){};var te=!1,ue=0,ve=[];function we(a){if(!te){var b=F.createEventObject,c="complete"==F.readyState,d="interactive"==F.readyState;if(!a||"readystatechange"!=a.type||c||!b&&d){te=!0;for(var e=0;e<ve.length;e++)G(ve[e])}ve.push=function(){for(var f=0;f<arguments.length;f++)G(arguments[f]);return 0}}}function xe(){if(!te&&140>ue){ue++;try{F.documentElement.doScroll("left"),we()}catch(a){D.setTimeout(xe,50)}}}var ye=function(a){te?a():ve.push(a)};var ze={},Ae={},Be=function(a,b,c,d){if(!Ae[a]||Xc[b]||"__zone"===b)return-1;var e={};Ra(d)&&(e=B(d,e));e.id=c;e.status="timeout";return Ae[a].tags.push(e)-1},Ce=function(a,b,c,d){if(Ae[a]){var e=Ae[a].tags[b];e&&(e.status=c,e.executionTime=d)}};function De(a){for(var b=ze[a]||[],c=0;c<b.length;c++)b[c]();ze[a]={push:function(d){d(Uc.s,Ae[a])}}}
|
||||
var Ge=function(a,b,c){Ae[a]={tags:[]};qa(b)&&Ee(a,b);c&&D.setTimeout(function(){return De(a)},Number(c));return Fe(a)},Ee=function(a,b){ze[a]=ze[a]||[];ze[a].push(Ha(function(){return G(function(){b(Uc.s,Ae[a])})}))};function Fe(a){var b=0,c=0,d=!1;return{add:function(){c++;return Ha(function(){b++;d&&b>=c&&De(a)})},yf:function(){d=!0;b>=c&&De(a)}}};var He=function(){function a(d){return!ra(d)||0>d?0:d}if(!Vc._li&&D.performance&&D.performance.timing){var b=D.performance.timing.navigationStart,c=ra(Ld.get("gtm.start"))?Ld.get("gtm.start"):0;Vc._li={cst:a(c-b),cbt:a(bd-b)}}};var Le={},Me=function(){return D.GoogleAnalyticsObject&&D[D.GoogleAnalyticsObject]},Ne=!1;
|
||||
var Oe=function(a){D.GoogleAnalyticsObject||(D.GoogleAnalyticsObject=a||"ga");var b=D.GoogleAnalyticsObject;if(D[b])D.hasOwnProperty(b)||I("GTM",12);else{var c=function(){c.q=c.q||[];c.q.push(arguments)};c.l=Number(new Date);D[b]=c}He();return D[b]},Pe=function(a,b,c,d){b=String(b).replace(/\s+/g,"").split(",");var e=Me();e(a+"require","linker");e(a+"linker:autoLink",b,c,d)};
|
||||
var Re=function(a){},Qe=function(){return D.GoogleAnalyticsObject||"ga"};var Te=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;var Ue=/:[0-9]+$/,Ve=function(a,b,c){for(var d=a.split("&"),e=0;e<d.length;e++){var f=d[e].split("=");if(decodeURIComponent(f[0]).replace(/\+/g," ")===b){var h=f.slice(1).join("=");return c?h:decodeURIComponent(h).replace(/\+/g," ")}}},Ye=function(a,b,c,d,e){b&&(b=String(b).toLowerCase());if("protocol"===b||"port"===b)a.protocol=We(a.protocol)||We(D.location.protocol);"port"===b?a.port=String(Number(a.hostname?a.port:D.location.port)||("http"==a.protocol?80:"https"==a.protocol?443:"")):"host"===b&&
|
||||
(a.hostname=(a.hostname||D.location.hostname).replace(Ue,"").toLowerCase());var f=b,h,k=We(a.protocol);f&&(f=String(f).toLowerCase());switch(f){case "url_no_fragment":h=Xe(a);break;case "protocol":h=k;break;case "host":h=a.hostname.replace(Ue,"").toLowerCase();if(c){var l=/^www\d*\./.exec(h);l&&l[0]&&(h=h.substr(l[0].length))}break;case "port":h=String(Number(a.port)||("http"==k?80:"https"==k?443:""));break;case "path":a.pathname||a.hostname||I("TAGGING",1);h="/"==a.pathname.substr(0,1)?a.pathname:
|
||||
"/"+a.pathname;var m=h.split("/");0<=r(d||[],m[m.length-1])&&(m[m.length-1]="");h=m.join("/");break;case "query":h=a.search.replace("?","");e&&(h=Ve(h,e,void 0));break;case "extension":var n=a.pathname.split(".");h=1<n.length?n[n.length-1]:"";h=h.split("/")[0];break;case "fragment":h=a.hash.replace("#","");break;default:h=a&&a.href}return h},We=function(a){return a?a.replace(":","").toLowerCase():""},Xe=function(a){var b="";if(a&&a.href){var c=a.href.indexOf("#");b=0>c?a.href:a.href.substr(0,c)}return b},
|
||||
Ze=function(a){var b=F.createElement("a");a&&(b.href=a);var c=b.pathname;"/"!==c[0]&&(a||I("TAGGING",1),c="/"+c);var d=b.hostname.replace(Ue,"");return{href:b.href,protocol:b.protocol,host:b.host,hostname:d,pathname:c,search:b.search,hash:b.hash,port:b.port}};function df(a,b,c,d){var e=vb[a],f=ef(a,b,c,d);if(!f)return null;var h=Db(e[Ib.Ld],c,[]);if(h&&h.length){var k=h[0];f=df(k.index,{B:f,w:1===k.fe?b.terminate:f,terminate:b.terminate},c,d)}return f}
|
||||
function ef(a,b,c,d){function e(){if(f[Ib.We])k();else{var w=Eb(f,c,[]),y=Be(c.id,String(f[Ib.ra]),Number(f[Ib.Nd]),w[Ib.Xe]),x=!1;w.vtp_gtmOnSuccess=function(){if(!x){x=!0;var A=Fa()-C;Dd(c.id,vb[a],"5");Ce(c.id,y,"success",A);h()}};w.vtp_gtmOnFailure=function(){if(!x){x=!0;var A=Fa()-C;Dd(c.id,vb[a],"6");Ce(c.id,y,"failure",A);k()}};w.vtp_gtmTagId=f.tag_id;
|
||||
w.vtp_gtmEventId=c.id;Dd(c.id,f,"1");var z=function(){var A=Fa()-C;Dd(c.id,f,"7");Ce(c.id,y,"exception",A);x||(x=!0,k())};var C=Fa();try{Cb(w,c)}catch(A){z(A)}}}var f=vb[a],h=b.B,k=b.w,l=b.terminate;if(c.Lc(f))return null;var m=Db(f[Ib.Od],c,[]);if(m&&m.length){var n=m[0],q=df(n.index,{B:h,w:k,terminate:l},c,d);if(!q)return null;h=q;k=2===n.fe?l:q}if(f[Ib.Dd]||f[Ib.af]){var u=f[Ib.Dd]?wb:c.ah,p=h,t=k;if(!u[a]){e=Ha(e);var v=ff(a,u,e);h=v.B;k=v.w}return function(){u[a](p,t)}}return e}
|
||||
function ff(a,b,c){var d=[],e=[];b[a]=gf(d,e,c);return{B:function(){b[a]=hf;for(var f=0;f<d.length;f++)d[f]()},w:function(){b[a]=jf;for(var f=0;f<e.length;f++)e[f]()}}}function gf(a,b,c){return function(d,e){a.push(d);b.push(e);c()}}function hf(a){a()}function jf(a,b){b()};var mf=function(a,b){for(var c=[],d=0;d<vb.length;d++)if(a.kb[d]){var e=vb[d];var f=b.add();try{var h=df(d,{B:f,w:f,terminate:f},a,d);h?c.push({Ee:d,ze:Fb(e),Xf:h}):(kf(d,a),f())}catch(l){f()}}b.yf();c.sort(lf);for(var k=0;k<c.length;k++)c[k].Xf();return 0<c.length};function lf(a,b){var c,d=b.ze,e=a.ze;c=d>e?1:d<e?-1:0;var f;if(0!==c)f=c;else{var h=a.Ee,k=b.Ee;f=h>k?1:h<k?-1:0}return f}
|
||||
function kf(a,b){if(!Ad)return;var c=function(d){var e=b.Lc(vb[d])?"3":"4",f=Db(vb[d][Ib.Ld],b,[]);f&&f.length&&c(f[0].index);Dd(b.id,vb[d],e);var h=Db(vb[d][Ib.Od],b,[]);h&&h.length&&c(h[0].index)};c(a);}
|
||||
var nf=!1,of=function(a,b,c,d,e){if("gtm.js"==b){if(nf)return!1;nf=!0}Cd(a,b);var f=Ge(a,d,e);Rd(a,"event",1);Rd(a,"ecommerce",1);Rd(a,"gtm");var h={id:a,name:b,Lc:oe(c),kb:[],ah:[],te:function(){I("GTM",6)}};h.kb=Mb(h);var k=mf(h,f);"gtm.js"!==b&&"gtm.sync"!==b||Re(Uc.s);if(!k)return k;for(var l=0;l<h.kb.length;l++)if(h.kb[l]){var m=vb[l];if(m&&!Xc[String(m[Ib.ra])])return!0}return!1};var pf=function(a,b){var c=Bb(a,b);vb.push(c);return vb.length-1};var qf=/^https?:\/\/www\.googletagmanager\.com/;function rf(){var a;return a}function tf(a,b){}
|
||||
function sf(a){0!==a.indexOf("http://")&&0!==a.indexOf("https://")&&(a="https://"+a);"/"===a[a.length-1]&&(a=a.substring(0,a.length-1));return a}function uf(){var a=!1;return a};var vf=function(){this.eventModel={};this.targetConfig={};this.containerConfig={};this.h={};this.globalConfig={};this.B=function(){};this.w=function(){}},wf=function(a){var b=new vf;b.eventModel=a;return b},xf=function(a,b){a.targetConfig=b;return a},yf=function(a,b){a.containerConfig=b;return a},zf=function(a,b){a.h=b;return a},Af=function(a,b){a.globalConfig=b;return a},Bf=function(a,b){a.B=b;return a},Cf=function(a,b){a.w=b;return a};
|
||||
vf.prototype.getWithConfig=function(a){if(void 0!==this.eventModel[a])return this.eventModel[a];if(void 0!==this.targetConfig[a])return this.targetConfig[a];if(void 0!==this.containerConfig[a])return this.containerConfig[a];if(void 0!==this.h[a])return this.h[a];if(void 0!==this.globalConfig[a])return this.globalConfig[a]};
|
||||
var Df=function(a){function b(e){za(e,function(f){c[f]=null})}var c={};b(a.eventModel);b(a.targetConfig);b(a.containerConfig);b(a.globalConfig);var d=[];za(c,function(e){d.push(e)});return d};var Ef={},Ff=["G"];Ef.Fe="";var Gf=Ef.Fe.split(",");function Hf(){var a=Vc;return a.gcq=a.gcq||new If}
|
||||
var Jf=function(a,b,c){Hf().register(a,b,c)},Kf=function(a,b,c,d){Hf().push("event",[b,a],c,d)},Lf=function(a,b){Hf().push("config",[a],b)},Mf={},Nf=function(){this.status=1;this.containerConfig={};this.targetConfig={};this.i={};this.m=null;this.h=!1},Of=function(a,b,c,d,e){this.type=a;this.m=b;this.N=c||"";this.h=d;this.i=e},If=function(){this.i={};this.m={};this.h=[]},Pf=function(a,b){var c=Rc(b);return a.i[c.containerId]=a.i[c.containerId]||new Nf},Qf=function(a,b,c,d){if(d.N){var e=Pf(a,d.N),
|
||||
f=e.m;if(f){var h=B(c),k=B(e.targetConfig[d.N]),l=B(e.containerConfig),m=B(e.i),n=B(a.m),q=Kd("gtm.uniqueEventId"),u=Rc(d.N).prefix,p=Cf(Bf(Af(zf(yf(xf(wf(h),k),l),m),n),function(){Ed(q,u,"2");}),function(){Ed(q,u,"3");});try{Ed(q,u,"1");f(d.N,b,d.m,p)}catch(t){
|
||||
Ed(q,u,"4");}}}};
|
||||
If.prototype.register=function(a,b,c){if(3!==Pf(this,a).status){Pf(this,a).m=b;Pf(this,a).status=3;c&&(Pf(this,a).i=c);var d=Rc(a),e=Mf[d.containerId];if(void 0!==e){var f=Vc[d.containerId].bootstrap,h=d.prefix.toUpperCase();Vc[d.containerId]._spx&&(h=h.toLowerCase());var k=Kd("gtm.uniqueEventId"),l=h,m=Fa()-f;if(Ad&&!rd[k]){k!==nd&&(ld(),nd=k);var n=l+"."+Math.floor(f-e)+"."+Math.floor(m);wd=wd?wd+","+n:"&cl="+n}delete Mf[d.containerId]}this.flush()}};
|
||||
If.prototype.push=function(a,b,c,d){var e=Math.floor(Fa()/1E3);if(c){var f=Rc(c),h;if(h=f){var k;if(k=1===Pf(this,c).status)a:{var l=f.prefix;k=!0}h=k}if(h&&(Pf(this,c).status=2,this.push("require",[],f.containerId),Mf[f.containerId]=Fa(),!Ud())){var m=encodeURIComponent(f.containerId),n=("http:"!=D.location.protocol?"https:":"http:")+
|
||||
"//www.googletagmanager.com";jc(n+"/gtag/js?id="+m+"&l=dataLayer&cx=c")}}this.h.push(new Of(a,e,c,b,d));d||this.flush()};
|
||||
If.prototype.flush=function(a){for(var b=this;this.h.length;){var c=this.h[0];if(c.i)c.i=!1,this.h.push(c);else switch(c.type){case "require":if(3!==Pf(this,c.N).status&&!a)return;break;case "set":za(c.h[0],function(l,m){B(La(l,m),b.m)});break;case "config":var d=c.h[0],e=!!d[H.Qb];delete d[H.Qb];var f=Pf(this,c.N),h=Rc(c.N),k=h.containerId===h.id;e||(k?f.containerConfig={}:f.targetConfig[c.N]={});f.h&&e||Qf(this,H.D,d,c);f.h=!0;delete d[H.qa];k?B(d,f.containerConfig):B(d,f.targetConfig[c.N]);break;
|
||||
case "event":Qf(this,c.h[1],c.h[0],c)}this.h.shift()}};var Rf=function(a,b,c){for(var d=[],e=String(b||document.cookie).split(";"),f=0;f<e.length;f++){var h=e[f].split("="),k=h[0].replace(/^\s*|\s*$/g,"");if(k&&k==a){var l=h.slice(1).join("=").replace(/^\s*|\s*$/g,"");l&&c&&(l=decodeURIComponent(l));d.push(l)}}return d},Uf=function(a,b,c,d){var e=Sf(a,d);if(1===e.length)return e[0].id;if(0!==e.length){e=Tf(e,function(f){return f.Jb},b);if(1===e.length)return e[0].id;e=Tf(e,function(f){return f.lb},c);return e[0]?e[0].id:void 0}};
|
||||
function Vf(a,b,c){var d=document.cookie;document.cookie=a;var e=document.cookie;return d!=e||void 0!=c&&0<=Rf(b,e).indexOf(c)}
|
||||
var Zf=function(a,b,c,d,e,f){d=d||"auto";var h={path:c||"/"};e&&(h.expires=e);"none"!==d&&(h.domain=d);var k;a:{var l=b,m;if(void 0==l)m=a+"=deleted; expires="+(new Date(0)).toUTCString();else{f&&(l=encodeURIComponent(l));var n=l;n&&1200<n.length&&(n=n.substring(0,1200));l=n;m=a+"="+l}var q=void 0,u=void 0,p;for(p in h)if(h.hasOwnProperty(p)){var t=h[p];if(null!=t)switch(p){case "secure":t&&(m+="; secure");break;case "domain":q=t;break;default:"path"==p&&(u=t),"expires"==p&&t instanceof Date&&(t=
|
||||
t.toUTCString()),m+="; "+p+"="+t}}if("auto"===q){for(var v=Wf(),w=0;w<v.length;++w){var y="none"!=v[w]?v[w]:void 0;if(!Yf(y,u)&&Vf(m+(y?"; domain="+y:""),a,l)){k=!0;break a}}k=!1}else q&&"none"!=q&&(m+="; domain="+q),k=!Yf(q,u)&&Vf(m,a,l)}return k};function Tf(a,b,c){for(var d=[],e=[],f,h=0;h<a.length;h++){var k=a[h],l=b(k);l===c?d.push(k):void 0===f||l<f?(e=[k],f=l):l===f&&e.push(k)}return 0<d.length?d:e}
|
||||
function Sf(a,b){for(var c=[],d=Rf(a),e=0;e<d.length;e++){var f=d[e].split("."),h=f.shift();if(!b||-1!==b.indexOf(h)){var k=f.shift();k&&(k=k.split("-"),c.push({id:f.join("."),Jb:1*k[0]||1,lb:1*k[1]||1}))}}return c}
|
||||
var $f=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,ag=/(^|\.)doubleclick\.net$/i,Yf=function(a,b){return ag.test(document.location.hostname)||"/"===b&&$f.test(a)},Wf=function(){var a=[],b=document.location.hostname.split(".");if(4===b.length){var c=b[b.length-1];if(parseInt(c,10).toString()===c)return["none"]}for(var d=b.length-2;0<=d;d--)a.push(b.slice(d).join("."));var e=document.location.hostname;ag.test(e)||$f.test(e)||a.push("none");return a};var bg="G".split(/,/),cg=!1;cg=!0;var dg=null,eg={},fg={},gg;function hg(a,b){var c={event:a};b&&(c.eventModel=B(b),b[H.nc]&&(c.eventCallback=b[H.nc]),b[H.tb]&&(c.eventTimeout=b[H.tb]));return c}
|
||||
var ig=function(){dg=dg||!Vc.gtagRegistered;Vc.gtagRegistered=!0;return dg},jg=function(a){if(void 0===fg[a.id]){var b;switch(a.prefix){case "UA":b=pf("gtagua",{trackingId:a.id});break;case "AW":b=pf("gtagaw",{conversionId:a});break;case "DC":b=pf("gtagfl",{targetId:a.id});break;case "GF":b=pf("gtaggf",{conversionId:a});break;case "G":b=pf("get",{trackingId:a.id,isAutoTag:!0});break;case "HA":b=pf("gtagha",{conversionId:a});break;case "GP":b=pf("gtaggp",{conversionId:a.id});break;default:return}if(!gg){var c=
|
||||
Bb("v",{name:"send_to",dataLayerVersion:2});rb.push(c);gg=["macro",rb.length-1]}var d={arg0:gg,arg1:a.id,ignore_case:!1};d[Ib.ra]="_lc";tb.push(d);var e={"if":[tb.length-1],add:[b]};e["if"]&&(e.add||e.block)&&sb.push(e);fg[a.id]=b}},kg=function(a){za(eg,function(b,c){var d=r(c,a);0<=d&&c.splice(d,1)})},lg=Ha(function(){}),mg=function(a){if(a.containerId!==Uc.s&&"G"!==a.prefix){var b;switch(a.prefix){case "UA":b=14;break;case "AW":b=15;break;case "DC":b=16;break;default:b=17}I("GTM",b)}};
|
||||
var ng={config:function(a){var b=a[2]||{};if(2>a.length||!g(a[1])||!Ra(b))return;var c=Rc(a[1]);if(!c)return;kg(c.id);var d=c.id,e=b[H.md]||"default";e=e.toString().split(",");for(var f=0;f<e.length;f++)eg[e[f]]=eg[e[f]]||[],eg[e[f]].push(d);delete b[H.md];B(b);if(ig()){if(cg&&-1!==r(bg,c.prefix)){"G"===c.prefix&&(b[H.qa]=!0);Lf(b,c.id);return}jg(c);mg(c)}else lg();Qd("gtag.targets."+c.id,void 0);Qd("gtag.targets."+c.id,B(b));var h={};h[H.oa]=c.id;return hg(H.D,h);},
|
||||
event:function(a){var b=a[1];if(g(b)&&!(3<a.length)){var c;if(2<a.length){if(!Ra(a[2])&&void 0!=a[2])return;c=a[2]}var d=hg(b,c);var e;var f=c&&c[H.oa];void 0===f&&(f=Kd(H.oa,2),void 0===f&&(f="default"));if(g(f)||ua(f)){for(var h=f.toString().replace(/\s+/g,"").split(","),k=[],l=0;l<h.length;l++)0<=h[l].indexOf("-")?k.push(h[l]):k=k.concat(eg[h[l]]||[]);e=Tc(k)}else e=void 0;var m=e;if(!m)return;var n=ig();n||lg();for(var q=[],u=0;n&&u<m.length;u++){var p=m[u];mg(p);
|
||||
if(cg&&-1!==r(bg,p.prefix)){var t=B(c);"G"===p.prefix&&(t[H.qa]=!0);Kf(b,t,p.id)}else jg(p);q.push(p.id)}B(c,{event:b});d.eventModel=d.eventModel||{};0<m.length?d.eventModel[H.oa]=q.join():delete d.eventModel[H.oa];return d}},js:function(a){if(2==a.length&&a[1].getTime)return{event:"gtm.js","gtm.start":a[1].getTime()}},policy:function(){},set:function(a){var b;2==a.length&&Ra(a[1])?b=B(a[1]):3==a.length&&g(a[1])&&(b={},Ra(a[2])||ua(a[2])?b[a[1]]=B(a[2]):b[a[1]]=a[2]);
|
||||
if(b){if(ig()){var c=B(b);Hf().push("set",[c])}B(b);b._clear=!0;return b}}},og={policy:!0};var pg=function(a,b){var c=a.hide;if(c&&void 0!==c[b]&&c.end){c[b]=!1;var d=!0,e;for(e in c)if(c.hasOwnProperty(e)&&!0===c[e]){d=!1;break}d&&(c.end(),c.end=null)}},rg=function(a){var b=qg(),c=b&&b.hide;c&&c.end&&(c[a]=!0)};var sg=!1,tg=[];function ug(){if(!sg){sg=!0;for(var a=0;a<tg.length;a++)G(tg[a])}}var vg=function(a){sg?G(a):tg.push(a)};var Kg=function(a){if(Jg(a))return a;this.h=a};Kg.prototype.dg=function(){return this.h};var Jg=function(a){return!a||"object"!==Pa(a)||Ra(a)?!1:"getUntrustedUpdateValue"in a};Kg.prototype.getUntrustedUpdateValue=Kg.prototype.dg;var Lg=[],Mg=!1,Ng=function(a){return D["dataLayer"].push(a)},Og=function(a){var b=Vc["dataLayer"],c=b?b.subscribers:1,d=0;return function(){++d===c&&a()}};
|
||||
function Pg(a){var b=a._clear;za(a,function(f,h){"_clear"!==f&&(b&&Qd(f,void 0),Qd(f,h))});ad||(ad=a["gtm.start"]);var c=a.event;if(!c)return!1;var d=a["gtm.uniqueEventId"];d||(d=gd(),a["gtm.uniqueEventId"]=d,Qd("gtm.uniqueEventId",d));cd=c;var e=
|
||||
Qg(a);cd=null;switch(c){case "gtm.init":I("GTM",19),e&&I("GTM",20)}return e}function Qg(a){var b=a.event,c=a["gtm.uniqueEventId"],d,e=Vc.zones;d=e?e.checkState(Uc.s,c):qe;return d.active?of(c,b,d.isWhitelisted,a.eventCallback,a.eventTimeout)?!0:!1:!1}
|
||||
function Rg(){for(var a=!1;!Mg&&0<Lg.length;){Mg=!0;delete Hd.eventModel;Jd();var b=Lg.shift();if(null!=b){var c=Jg(b);if(c){var d=b;b=Jg(d)?d.getUntrustedUpdateValue():void 0;for(var e=["gtm.whitelist","gtm.blacklist","tagTypeBlacklist"],f=0;f<e.length;f++){var h=e[f],k=Kd(h,1);if(ua(k)||Ra(k))k=B(k);Id[h]=k}}try{if(qa(b))try{b.call(Ld)}catch(v){}else if(ua(b)){var l=b;if(g(l[0])){var m=
|
||||
l[0].split("."),n=m.pop(),q=l.slice(1),u=Kd(m.join("."),2);if(void 0!==u&&null!==u)try{u[n].apply(u,q)}catch(v){}}}else{var p=b;if(p&&("[object Arguments]"==Object.prototype.toString.call(p)||Object.prototype.hasOwnProperty.call(p,"callee"))){a:{if(b.length&&g(b[0])){var t=ng[b[0]];if(t&&(!c||!og[b[0]])){b=t(b);break a}}b=void 0}if(!b){Mg=!1;continue}}a=Pg(b)||a}}finally{c&&Jd(!0)}}Mg=!1}
|
||||
return!a}function Sg(){var a=Rg();try{pg(D["dataLayer"],Uc.s)}catch(b){}return a}
|
||||
var Ug=function(){var a=hc("dataLayer",[]),b=hc("google_tag_manager",{});b=b["dataLayer"]=b["dataLayer"]||{};ye(function(){b.gtmDom||(b.gtmDom=!0,a.push({event:"gtm.dom"}))});vg(function(){b.gtmLoad||(b.gtmLoad=!0,a.push({event:"gtm.load"}))});b.subscribers=(b.subscribers||0)+1;var c=a.push;a.push=function(){var d;if(0<Vc.SANDBOXED_JS_SEMAPHORE){d=[];for(var e=0;e<arguments.length;e++)d[e]=new Kg(arguments[e])}else d=[].slice.call(arguments,0);var f=c.apply(a,d);Lg.push.apply(Lg,d);if(300<
|
||||
this.length)for(I("GTM",4);300<this.length;)this.shift();var h="boolean"!==typeof f||f;return Rg()&&h};Lg.push.apply(Lg,a.slice(0));Tg()&&G(Sg)},Tg=function(){var a=!0;return a};var Vg={};Vg.ub=new String("undefined");
|
||||
var Wg=function(a){this.h=function(b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]===Vg.ub?b:a[d]);return c.join("")}};Wg.prototype.toString=function(){return this.h("undefined")};Wg.prototype.valueOf=Wg.prototype.toString;Vg.jf=Wg;Vg.xc={};Vg.Pf=function(a){return new Wg(a)};var Xg={};Vg.Tg=function(a,b){var c=gd();Xg[c]=[a,b];return c};Vg.be=function(a){var b=a?0:1;return function(c){var d=Xg[c];if(d&&"function"===typeof d[b])d[b]();Xg[c]=void 0}};Vg.mg=function(a){for(var b=!1,c=!1,d=2;d<a.length;d++)b=
|
||||
b||8===a[d],c=c||16===a[d];return b&&c};Vg.Jg=function(a){if(a===Vg.ub)return a;var b=gd();Vg.xc[b]=a;return'google_tag_manager["'+Uc.s+'"].macro('+b+")"};Vg.xg=function(a,b,c){a instanceof Vg.jf&&(a=a.h(Vg.Tg(b,c)),b=pa);return{Jc:a,B:b}};var Yg=function(a,b,c){function d(f,h){var k=f[h];return k}var e={event:b,"gtm.element":a,"gtm.elementClasses":d(a,"className"),"gtm.elementId":a["for"]||qc(a,"id")||"","gtm.elementTarget":a.formTarget||d(a,"target")||""};c&&(e["gtm.triggers"]=c.join(","));e["gtm.elementUrl"]=(a.attributes&&a.attributes.formaction?a.formAction:"")||a.action||d(a,"href")||a.src||a.code||a.codebase||
|
||||
"";return e},Zg=function(a){Vc.hasOwnProperty("autoEventsSettings")||(Vc.autoEventsSettings={});var b=Vc.autoEventsSettings;b.hasOwnProperty(a)||(b[a]={});return b[a]},$g=function(a,b,c){Zg(a)[b]=c},ah=function(a,b,c,d){var e=Zg(a),f=Ga(e,b,d);e[b]=c(f)},bh=function(a,b,c){var d=Zg(a);return Ga(d,b,c)};function ch(){for(var a=dh,b={},c=0;c<a.length;++c)b[a[c]]=c;return b}function eh(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ";a+=a.toLowerCase()+"0123456789-_";return a+"."}var dh,fh;function gh(a){dh=dh||eh();fh=fh||ch();for(var b=[],c=0;c<a.length;c+=3){var d=c+1<a.length,e=c+2<a.length,f=a.charCodeAt(c),h=d?a.charCodeAt(c+1):0,k=e?a.charCodeAt(c+2):0,l=f>>2,m=(f&3)<<4|h>>4,n=(h&15)<<2|k>>6,q=k&63;e||(q=64,d||(n=64));b.push(dh[l],dh[m],dh[n],dh[q])}return b.join("")}
|
||||
function hh(a){function b(l){for(;d<a.length;){var m=a.charAt(d++),n=fh[m];if(null!=n)return n;if(!/^[\s\xa0]*$/.test(m))throw Error("Unknown base64 encoding at char: "+m);}return l}dh=dh||eh();fh=fh||ch();for(var c="",d=0;;){var e=b(-1),f=b(0),h=b(64),k=b(64);if(64===k&&-1===e)return c;c+=String.fromCharCode(e<<2|f>>4);64!=h&&(c+=String.fromCharCode(f<<4&240|h>>2),64!=k&&(c+=String.fromCharCode(h<<6&192|k)))}};var ih;var mh=function(){var a=jh,b=kh,c=lh(),d=function(h){a(h.target||h.srcElement||{})},e=function(h){b(h.target||h.srcElement||{})};if(!c.init){nc(F,"mousedown",d);nc(F,"keyup",d);nc(F,"submit",e);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){b(this);f.call(this)};c.init=!0}},nh=function(a,b,c){for(var d=lh().decorators,e={},f=0;f<d.length;++f){var h=d[f],k;if(k=!c||h.forms)a:{var l=h.domains,m=a;if(l&&(h.sameHost||m!==F.location.hostname))for(var n=0;n<l.length;n++)if(l[n]instanceof
|
||||
RegExp){if(l[n].test(m)){k=!0;break a}}else if(0<=m.indexOf(l[n])){k=!0;break a}k=!1}if(k){var q=h.placement;void 0==q&&(q=h.fragment?2:1);q===b&&Ia(e,h.callback())}}return e},lh=function(){var a=hc("google_tag_data",{}),b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var oh=/(.*?)\*(.*?)\*(.*)/,ph=/^https?:\/\/([^\/]*?)\.?cdn\.ampproject\.org\/?(.*)/,qh=/^(?:www\.|m\.|amp\.)+/,rh=/([^?#]+)(\?[^#]*)?(#.*)?/;function sh(a){return new RegExp("(.*?)(^|&)"+a+"=([^&]*)&?(.*)")}
|
||||
var uh=function(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];void 0!==d&&d===d&&null!==d&&"[object Object]"!==d.toString()&&(b.push(c),b.push(gh(String(d))))}var e=b.join("*");return["1",th(e),e].join("*")},th=function(a,b){var c=[window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1E3)-(void 0===b?0:b),a].join("*"),d;if(!(d=ih)){for(var e=Array(256),f=0;256>f;f++){for(var h=f,k=0;8>k;k++)h=
|
||||
h&1?h>>>1^3988292384:h>>>1;e[f]=h}d=e}ih=d;for(var l=4294967295,m=0;m<c.length;m++)l=l>>>8^ih[(l^c.charCodeAt(m))&255];return((l^-1)>>>0).toString(36)},wh=function(){return function(a){var b=Ze(D.location.href),c=b.search.replace("?",""),d=Ve(c,"_gl",!0)||"";a.query=vh(d)||{};var e=Ye(b,"fragment").match(sh("_gl"));a.fragment=vh(e&&e[3]||"")||{}}},xh=function(){var a=wh(),b=lh();b.data||(b.data={query:{},fragment:{}},a(b.data));var c={},d=b.data;d&&(Ia(c,d.query),Ia(c,d.fragment));return c},vh=function(a){var b;
|
||||
b=void 0===b?3:b;try{if(a){var c;a:{for(var d=a,e=0;3>e;++e){var f=oh.exec(d);if(f){c=f;break a}d=decodeURIComponent(d)}c=void 0}var h=c;if(h&&"1"===h[1]){var k=h[3],l;a:{for(var m=h[2],n=0;n<b;++n)if(m===th(k,n)){l=!0;break a}l=!1}if(l){for(var q={},u=k?k.split("*"):[],p=0;p<u.length;p+=2)q[u[p]]=hh(u[p+1]);return q}}}}catch(t){}};
|
||||
function yh(a,b,c,d){function e(n){var q=n,u=sh(a).exec(q),p=q;if(u){var t=u[2],v=u[4];p=u[1];v&&(p=p+t+v)}n=p;var w=n.charAt(n.length-1);n&&"&"!==w&&(n+="&");return n+m}d=void 0===d?!1:d;var f=rh.exec(c);if(!f)return"";var h=f[1],k=f[2]||"",l=f[3]||"",m=a+"="+b;d?l="#"+e(l.substring(1)):k="?"+e(k.substring(1));return""+h+k+l}
|
||||
function zh(a,b){var c="FORM"===(a.tagName||"").toUpperCase(),d=nh(b,1,c),e=nh(b,2,c),f=nh(b,3,c);if(Ja(d)){var h=uh(d);c?Ah("_gl",h,a):Bh("_gl",h,a,!1)}if(!c&&Ja(e)){var k=uh(e);Bh("_gl",k,a,!0)}for(var l in f)if(f.hasOwnProperty(l))a:{var m=l,n=f[l],q=a;if(q.tagName){if("a"===q.tagName.toLowerCase()){Bh(m,n,q,void 0);break a}if("form"===q.tagName.toLowerCase()){Ah(m,n,q);break a}}"string"==typeof q&&yh(m,n,q,void 0)}}
|
||||
function Bh(a,b,c,d){if(c.href){var e=yh(a,b,c.href,void 0===d?!1:d);Te.test(e)&&(c.href=e)}}
|
||||
function Ah(a,b,c){if(c&&c.action){var d=(c.method||"").toLowerCase();if("get"===d){for(var e=c.childNodes||[],f=!1,h=0;h<e.length;h++){var k=e[h];if(k.name===a){k.setAttribute("value",b);f=!0;break}}if(!f){var l=F.createElement("input");l.setAttribute("type","hidden");l.setAttribute("name",a);l.setAttribute("value",b);c.appendChild(l)}}else if("post"===d){var m=yh(a,b,c.action);Te.test(m)&&(c.action=m)}}}
|
||||
var jh=function(a){try{var b;a:{for(var c=a,d=100;c&&0<d;){if(c.href&&c.nodeName.match(/^a(?:rea)?$/i)){b=c;break a}c=c.parentNode;d--}b=null}var e=b;if(e){var f=e.protocol;"http:"!==f&&"https:"!==f||zh(e,e.hostname)}}catch(h){}},kh=function(a){try{if(a.action){var b=Ye(Ze(a.action),"host");zh(a,b)}}catch(c){}},Ch=function(a,b,c,d){mh();var e="fragment"===c?2:1,f={callback:a,domains:b,fragment:2===e,placement:e,forms:!!d,sameHost:!1};lh().decorators.push(f)},Dh=function(){var a=F.location.hostname,
|
||||
b=ph.exec(F.referrer);if(!b)return!1;var c=b[2],d=b[1],e="";if(c){var f=c.split("/"),h=f[1];e="s"===h?decodeURIComponent(f[2]):decodeURIComponent(h)}else if(d){if(0===d.indexOf("xn--"))return!1;e=d.replace(/-/g,".").replace(/\.\./g,"-")}var k=a.replace(qh,""),l=e.replace(qh,""),m;if(!(m=k===l)){var n="."+l;m=k.substring(k.length-n.length,k.length)===n}return m},Eh=function(a,b){return!1===a?!1:a||b||Dh()};var Fh={};var Gh=/^\w+$/,Hh=/^[\w-]+$/,Ih=/^~?[\w-]+$/,Jh={aw:"_aw",dc:"_dc",gf:"_gf",ha:"_ha",gp:"_gp"};function Kh(a){return a&&"string"==typeof a&&a.match(Gh)?a:"_gcl"}
|
||||
var Mh=function(){var a=Ze(D.location.href),b=Ye(a,"query",!1,void 0,"gclid"),c=Ye(a,"query",!1,void 0,"gclsrc"),d=Ye(a,"query",!1,void 0,"dclid");if(!b||!c){var e=a.hash.replace("#","");b=b||Ve(e,"gclid",void 0);c=c||Ve(e,"gclsrc",void 0)}return Lh(b,c,d)},Lh=function(a,b,c){var d={},e=function(f,h){d[h]||(d[h]=[]);d[h].push(f)};d.gclid=a;d.gclsrc=b;d.dclid=c;if(void 0!==a&&a.match(Hh))switch(b){case void 0:e(a,"aw");break;case "aw.ds":e(a,"aw");e(a,"dc");break;case "ds":e(a,"dc");break;case "3p.ds":(void 0==
|
||||
Fh.gtm_3pds?0:Fh.gtm_3pds)&&e(a,"dc");break;case "gf":e(a,"gf");break;case "ha":e(a,"ha");break;case "gp":e(a,"gp")}c&&e(c,"dc");return d},Oh=function(a){var b=Mh();Nh(b,a)};
|
||||
function Nh(a,b,c){function d(q,u){var p=Ph(q,e);p&&Zf(p,u,h,f,l,!0)}b=b||{};var e=Kh(b.prefix),f=b.domain||"auto",h=b.path||"/",k=void 0==b.Ka?7776E3:b.Ka;c=c||Fa();var l=0==k?void 0:new Date(c+1E3*k),m=Math.round(c/1E3),n=function(q){return["GCL",m,q].join(".")};a.aw&&(!0===b.Lh?d("aw",n("~"+a.aw[0])):d("aw",n(a.aw[0])));a.dc&&d("dc",n(a.dc[0]));a.gf&&d("gf",n(a.gf[0]));a.ha&&d("ha",n(a.ha[0]));a.gp&&d("gp",n(a.gp[0]))}
|
||||
var Rh=function(a,b,c,d,e){for(var f=xh(),h=Kh(b),k=0;k<a.length;++k){var l=a[k];if(void 0!==Jh[l]){var m=Ph(l,h),n=f[m];if(n){var q=Math.min(Qh(n),Fa()),u;b:{for(var p=q,t=Rf(m,F.cookie),v=0;v<t.length;++v)if(Qh(t[v])>p){u=!0;break b}u=!1}u||Zf(m,n,c,d,0==e?void 0:new Date(q+1E3*(null==e?7776E3:e)),!0)}}}var w={prefix:b,path:c,domain:d};Nh(Lh(f.gclid,f.gclsrc),w)},Ph=function(a,b){var c=Jh[a];if(void 0!==c)return b+c},Qh=function(a){var b=a.split(".");return 3!==b.length||"GCL"!==b[0]?0:1E3*(Number(b[1])||
|
||||
0)};function Sh(a){var b=a.split(".");if(3==b.length&&"GCL"==b[0]&&b[1])return b[2]}
|
||||
var Th=function(a,b,c,d,e){if(ua(b)){var f=Kh(e);Ch(function(){for(var h={},k=0;k<a.length;++k){var l=Ph(a[k],f);if(l){var m=Rf(l,F.cookie);m.length&&(h[l]=m.sort()[m.length-1])}}return h},b,c,d)}},Uh=function(a){return a.filter(function(b){return Ih.test(b)})},Vh=function(a,b){for(var c=Kh(b&&b.prefix),d={},e=0;e<a.length;e++)Jh[a[e]]&&(d[a[e]]=Jh[a[e]]);za(d,function(f,h){var k=Rf(c+h,F.cookie);if(k.length){var l=k[0],m=Qh(l),n={};n[f]=[Sh(l)];Nh(n,b,m)}})};var Wh=function(){for(var a=fc.userAgent+(F.cookie||"")+(F.referrer||""),b=a.length,c=D.history.length;0<c;)a+=c--^b++;var d=1,e,f,h;if(a)for(d=0,f=a.length-1;0<=f;f--)h=a.charCodeAt(f),d=(d<<6&268435455)+h+(h<<14),e=d&266338304,d=0!=e?d^e>>21:d;return[Math.round(2147483647*Math.random())^d&2147483647,Math.round(Fa()/1E3)].join(".")},Zh=function(a,b,c,d){var e=Xh(b);return Uf(a,e,Yh(c),d)},$h=function(a,b,c,d){var e=""+Xh(c),f=Yh(d);1<f&&(e+="-"+f);return[b,e,a].join(".")},Xh=function(a){if(!a)return 1;
|
||||
a=0===a.indexOf(".")?a.substr(1):a;return a.split(".").length},Yh=function(a){if(!a||"/"===a)return 1;"/"!==a[0]&&(a="/"+a);"/"!==a[a.length-1]&&(a+="/");return a.split("/").length-1};var ai=["1"],bi={},fi=function(a,b,c,d){var e=ci(a);bi[e]||di(e,b,c)||(ei(e,Wh(),b,c,d),di(e,b,c))};function ei(a,b,c,d,e){var f=$h(b,"1",d,c);Zf(a,f,c,d,0==e?void 0:new Date(Fa()+1E3*(void 0==e?7776E3:e)))}function di(a,b,c){var d=Zh(a,b,c,ai);d&&(bi[a]=d);return d}function ci(a){return(a||"_gcl")+"_au"};var gi=function(){for(var a=[],b=F.cookie.split(";"),c=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,d=0;d<b.length;d++){var e=b[d].match(c);e&&a.push({dd:e[1],value:e[2]})}var f={};if(!a||!a.length)return f;for(var h=0;h<a.length;h++){var k=a[h].value.split(".");"1"==k[0]&&3==k.length&&k[1]&&(f[a[h].dd]||(f[a[h].dd]=[]),f[a[h].dd].push({timestamp:k[1],$f:k[2]}))}return f};var hi=/^\d+\.fls\.doubleclick\.net$/;function ii(a){var b=Ze(D.location.href),c=Ye(b,"host",!1);if(c&&c.match(hi)){var d=Ye(b,"path").split(a+"=");if(1<d.length)return d[1].split(";")[0].split("?")[0]}}
|
||||
function ji(a,b){if("aw"==a||"dc"==a){var c=ii("gcl"+a);if(c)return c.split(".")}var d=Kh(b);if("_gcl"==d){var e;e=Mh()[a]||[];if(0<e.length)return e}var f=Ph(a,d),h;if(f){var k=[];if(F.cookie){var l=Rf(f,F.cookie);if(l&&0!=l.length){for(var m=0;m<l.length;m++){var n=Sh(l[m]);n&&-1===r(k,n)&&k.push(n)}h=Uh(k)}else h=k}else h=k}else h=[];return h}
|
||||
var ki=function(){var a=ii("gac");if(a)return decodeURIComponent(a);var b=gi(),c=[];za(b,function(d,e){for(var f=[],h=0;h<e.length;h++)f.push(e[h].$f);f=Uh(f);f.length&&c.push(d+":"+f.join(","))});return c.join(";")},li=function(a,b,c,d,e){fi(b,c,d,e);var f=bi[ci(b)],h=Mh().dc||[],k=!1;if(f&&0<h.length){var l=Vc.joined_au=Vc.joined_au||{},m=b||"_gcl";if(!l[m])for(var n=0;n<h.length;n++){var q="https://adservice.google.com/ddm/regclk",u=q=q+"?gclid="+h[n]+"&auiddc="+f;fc.sendBeacon&&fc.sendBeacon(u)||mc(u);k=l[m]=
|
||||
!0}}null==a&&(a=k);if(a&&f){var p=ci(b),t=bi[p];t&&ei(p,t,c,d,e)}};var mi;if(3===Uc.yb.length)mi="g";else{var ni="G";ni="g";mi=ni}
|
||||
var oi={"":"n",UA:"u",AW:"a",DC:"d",G:"e",GF:"f",HA:"h",GTM:mi,OPT:"o"},pi=function(a){var b=Uc.s.split("-"),c=b[0].toUpperCase(),d=oi[c]||"i",e=a&&"GTM"===c?b[1]:"OPT"===c?b[1]:"",f;if(3===Uc.yb.length){var h=void 0;h=h||(Ud()?"s":"o");f="2"+(h||"w")}else f=
|
||||
"";return f+d+Uc.yb+e};
|
||||
var qi=function(a){return!(void 0===a||null===a||0===(a+"").length)},ri=function(a,b){var c;if(2===b.V)return a("ord",wa(1E11,1E13)),!0;if(3===b.V)return a("ord","1"),a("num",wa(1E11,1E13)),!0;if(4===b.V)return qi(b.sessionId)&&a("ord",b.sessionId),!0;if(5===b.V)c="1";else if(6===b.V)c=b.Yc;else return!1;qi(c)&&a("qty",c);qi(b.Gb)&&a("cost",b.Gb);qi(b.transactionId)&&a("ord",b.transactionId);return!0},si=encodeURIComponent,ti=function(a,b){function c(n,q,u){f.hasOwnProperty(n)||(q+="",e+=";"+n+"="+
|
||||
(u?q:si(q)))}var d=a.Ec,e=a.protocol;e+=a.Zb?"//"+d+".fls.doubleclick.net/activityi":"//ad.doubleclick.net/activity";e+=";src="+si(d)+(";type="+si(a.Hc))+(";cat="+si(a.fb));var f=a.Rf||{};za(f,function(n,q){e+=";"+si(n)+"="+si(q+"")});if(ri(c,a)){qi(a.hc)&&c("u",a.hc);qi(a.fc)&&c("tran",a.fc);c("gtm",pi());!1===a.vf&&c("npa","1");if(a.Dc){var h=ji("dc",a.Fa);h&&h.length&&c("gcldc",h.join("."));var k=ji("aw",a.Fa);k&&k.length&&c("gclaw",k.join("."));var l=ki();l&&c("gac",l);fi(a.Fa,void 0,a.Nf,a.Of);
|
||||
var m=bi[ci(a.Fa)];m&&c("auiddc",m)}qi(a.Uc)&&c("prd",a.Uc,!0);za(a.fd,function(n,q){c(n,q)});e+=b||"";qi(a.Ub)&&c("~oref",a.Ub);a.Zb?lc(e+"?",a.B):mc(e+"?",a.B,a.w)}else G(a.w)};var ui=["input","select","textarea"],vi=["button","hidden","image","reset","submit"],wi=function(a){var b=a.tagName.toLowerCase();return!va(ui,function(c){return c===b})||"input"===b&&va(vi,function(c){return c===a.type.toLowerCase()})?!1:!0},xi=function(a){return a.form?a.form.tagName?a.form:F.getElementById(a.form):tc(a,["form"],100)},yi=function(a,b,c){if(!a.elements)return 0;for(var d=b.getAttribute(c),e=0,f=1;e<a.elements.length;e++){var h=a.elements[e];if(wi(h)){if(h.getAttribute(c)===d)return f;
|
||||
f++}}return 0};
|
||||
var Ai=function(a){var b;if(a.hasOwnProperty("conversion_data"))b="conversion_data";else if(a.hasOwnProperty("price"))b="price";else return;var c=b,d="/pagead/conversion/"+zi(a.conversion_id)+"/?",e=zi(JSON.stringify(a[c])),f="https://www.googletraveladservices.com/travel/flights/clk"+d+c+"="+e;if(a.conversionLinkerEnabled){var h=ji("gf",a.cookiePrefix);if(h&&h.length)for(var k=0;k<h.length;k++)f+="&gclgf="+zi(h[k])}mc(f,a.onSuccess,a.onFailure)},zi=function(a){return null===a||void 0===a||0===String(a).length?
|
||||
"":encodeURIComponent(String(a))};var Bi=!!D.MutationObserver,Ci=void 0,Di=function(a){if(!Ci){var b=function(){var c=F.body;if(c)if(Bi)(new MutationObserver(function(){for(var e=0;e<Ci.length;e++)G(Ci[e])})).observe(c,{childList:!0,subtree:!0});else{var d=!1;nc(c,"DOMNodeInserted",function(){d||(d=!0,G(function(){d=!1;for(var e=0;e<Ci.length;e++)G(Ci[e])}))})}};Ci=[];F.body?b():G(b)}Ci.push(a)};var Zi=D.clearTimeout,$i=D.setTimeout,R=function(a,b,c){if(Ud()){b&&G(b)}else return jc(a,b,c)},aj=function(){return D.location.href},bj=function(a){return Ye(Ze(a),"fragment")},cj=function(a){return Xe(Ze(a))},U=function(a,b){return Kd(a,b||2)},dj=function(a,b,c){var d;b?(a.eventCallback=b,c&&(a.eventTimeout=c),d=Ng(a)):d=Ng(a);return d},ej=function(a,b){D[a]=b},X=function(a,b,c){b&&(void 0===D[a]||c&&!D[a])&&(D[a]=
|
||||
b);return D[a]},fj=function(a,b,c){return Rf(a,b,void 0===c?!0:!!c)},gj=function(a,b){if(Ud()){b&&G(b)}else lc(a,b)},hj=function(a){return!!bh(a,"init",!1)},ij=function(a){$g(a,"init",!0)},jj=function(a,b){var c=(void 0===b?0:b)?"www.googletagmanager.com/gtag/js":$c;c+="?id="+encodeURIComponent(a)+"&l=dataLayer";R(Q("https://","http://",c))},kj=function(a,b){var c=a[b];return c};
|
||||
var lj=Vg.xg;var mj;var Jj=new xa;function Kj(a,b){function c(h){var k=Ze(h),l=Ye(k,"protocol"),m=Ye(k,"host",!0),n=Ye(k,"port"),q=Ye(k,"path").toLowerCase().replace(/\/$/,"");if(void 0===l||"http"==l&&"80"==n||"https"==l&&"443"==n)l="web",n="default";return[l,m,n,q]}for(var d=c(String(a)),e=c(String(b)),f=0;f<d.length;f++)if(d[f]!==e[f])return!1;return!0}
|
||||
function Lj(a){return Mj(a)?1:0}
|
||||
function Mj(a){var b=a.arg0,c=a.arg1;if(a.any_of&&ua(c)){for(var d=0;d<c.length;d++)if(Lj({"function":a["function"],arg0:b,arg1:c[d]}))return!0;return!1}switch(a["function"]){case "_cn":return 0<=String(b).indexOf(String(c));case "_css":var e;a:{if(b){var f=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"];try{for(var h=0;h<f.length;h++)if(b[f[h]]){e=b[f[h]](c);break a}}catch(v){}}e=!1}return e;case "_ew":var k,l;k=String(b);l=String(c);var m=k.length-
|
||||
l.length;return 0<=m&&k.indexOf(l,m)==m;case "_eq":return String(b)==String(c);case "_ge":return Number(b)>=Number(c);case "_gt":return Number(b)>Number(c);case "_lc":var n;n=String(b).split(",");return 0<=r(n,String(c));case "_le":return Number(b)<=Number(c);case "_lt":return Number(b)<Number(c);case "_re":var q;var u=a.ignore_case?"i":void 0;try{var p=String(c)+u,t=Jj.get(p);t||(t=new RegExp(c,u),Jj.set(p,t));q=t.test(b)}catch(v){q=!1}return q;case "_sw":return 0==String(b).indexOf(String(c));case "_um":return Kj(b,
|
||||
c)}return!1};var Nj=function(a,b){var c=function(){};c.prototype=a.prototype;var d=new c;a.apply(d,Array.prototype.slice.call(arguments,1));return d};var Oj={},Pj=encodeURI,Y=encodeURIComponent,Qj=mc;var Rj=function(a,b){if(!a)return!1;var c=Ye(Ze(a),"host");if(!c)return!1;for(var d=0;b&&d<b.length;d++){var e=b[d]&&b[d].toLowerCase();if(e){var f=c.length-e.length;0<f&&"."!=e.charAt(0)&&(f--,e="."+e);if(0<=f&&c.indexOf(e,f)==f)return!0}}return!1};
|
||||
var Sj=function(a,b,c){for(var d={},e=!1,f=0;a&&f<a.length;f++)a[f]&&a[f].hasOwnProperty(b)&&a[f].hasOwnProperty(c)&&(d[a[f][b]]=a[f][c],e=!0);return e?d:null};Oj.ng=function(){var a=!1;return a};var el=function(){var a=D.gaGlobal=D.gaGlobal||{};a.hid=a.hid||wa();return a.hid};var pl=window,ql=document,rl=function(a){var b=pl._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===pl["ga-disable-"+a])return!0;try{var c=pl.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(f){}for(var d=Rf("AMP_TOKEN",ql.cookie,!0),e=0;e<d.length;e++)if("$OPT_OUT"==d[e])return!0;return ql.getElementById("__gaOptOutExtension")?!0:!1};var ul=function(a){za(a,function(c){"_"===c.charAt(0)&&delete a[c]});var b=a[H.ca]||{};za(b,function(c){"_"===c.charAt(0)&&delete b[c]})};var yl=function(a,b,c){Kf(b,c,a)},zl=function(a,b,c){Kf(b,c,a,!0)},Bl=function(a,b){};
|
||||
function Al(a,b){}
|
||||
var Cl=function(a){var b=tf(a,"/pagead/conversion_async.js");return b?b:-1===navigator.userAgent.toLowerCase().indexOf("firefox")?Q("https://","http://","www.googleadservices.com/pagead/conversion_async.js"):"https://www.google.com/pagead/conversion_async.js"},Dl=!1,El=[],Fl=["aw","dc"],Gl=function(a){var b=D.google_trackConversion,c=a.gtm_onFailure;"function"==typeof b?b(a)||c():c()},Hl=function(){for(;0<El.length;)Gl(El.shift())},Il=function(a){if(!Dl){Dl=!0;He();var b=function(){Hl();El={push:Gl}};
|
||||
Ud()?b():jc(a,b,function(){Hl();Dl=!1})}},Jl=function(a){if(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];d&&b.push({item_id:d.id,quantity:d.quantity,value:d.price,start_date:d.start_date,end_date:d.end_date})}return b}},Kl=function(a,b,c,d){var e=Rc(a),f=b==H.D,h=e.o[0],k=e.o[1],l=void 0!==k,m=function(W){return d.getWithConfig(W)},n=!1!==m(H.Ca),q=m(H.Aa)||m(H.S),u=m(H.P),p=m(H.Y),t=Cl(m(H.ia));if(f){var v=m(H.na)||{};if(n){Eh(v[H.Ua],!!v[H.C])&&Rh(Fl,q,void 0,u,p);var w={prefix:q,domain:u,Ka:p};
|
||||
Oh(w);Vh(["aw","dc"],w)}v[H.C]&&Th(Fl,v[H.C],v[H.Xa],!!v[H.Va],q);var y=!1;y?ge(e,d):ge(e)}var x=!1===m(H.Ad)||!1===m(H.$a);if(!f||!l&&!x)if(!0===m(H.Bd)&&(l=!1),!1!==m(H.X)||l){var z={google_conversion_id:h,google_remarketing_only:!l,onload_callback:d.B,gtm_onFailure:d.w,google_conversion_format:"3",google_conversion_color:"ffffff",google_conversion_domain:"",google_conversion_label:k,
|
||||
google_conversion_language:m(H.Ea),google_conversion_value:m(H.W),google_conversion_currency:m(H.aa),google_conversion_order_id:m(H.ab),google_user_id:m(H.cb),google_conversion_page_url:m(H.Ya),google_conversion_referrer_url:m(H.Za),google_gtm:pi(),google_transport_url:tf(m(H.ia),"/")};z.google_restricted_data_processing=m(H.oc);Ud()&&(z.opt_image_generator=function(){return new Image},z.google_enable_display_cookie_match=
|
||||
!1);!1===m(H.X)&&(z.google_allow_ad_personalization_signals=!1);z.google_read_gcl_cookie_opt_out=!n;n&&q&&(z.google_gcl_cookie_prefix=q);var C=function(){var W=m(H.Hb),S={event:b};if(ua(W)){I("GTM",26);for(var na=0;na<W.length;++na){var ha=W[na],N=m(ha);void 0!==N&&(S[ha]=N)}return S}var L=d.eventModel;if(!L)return null;B(L,S);for(var P=0;P<H.xd.length;++P)delete S[H.xd[P]];return S}();C&&(z.google_custom_params=C);!l&&m(H.M)&&(z.google_gtag_event_data={items:m(H.M),value:m(H.W)});if(l&&b==H.ma){z.google_conversion_merchant_id=
|
||||
m(H.Hd);z.google_basket_feed_country=m(H.Ed);z.google_basket_feed_language=m(H.Gd);z.google_basket_discount=m(H.Cd);z.google_basket_transaction_type=b;z.google_disable_merchant_reported_conversions=!0===m(H.Md);Ud()&&(z.google_disable_merchant_reported_conversions=!0);var A=Jl(m(H.M));A&&(z.google_conversion_items=A)}var E=function(W,S){void 0!=S&&""!==S&&(z.google_additional_conversion_params=z.google_additional_conversion_params||{},z.google_additional_conversion_params[W]=S)};l&&("boolean"===typeof m(H.ic)&&
|
||||
E("vdnc",m(H.ic)),E("vdltv",m(H.Kd)));var J=!0;J&&El.push(z)}Il(t)};
|
||||
var Ll=function(a,b,c,d,e,f){var h={config:a,gtm:pi()};c&&(fi(d,void 0,e,f),h.auiddc=bi[ci(d)]);b&&(h.loadInsecure=b);void 0===D.__dc_ns_processor&&(D.__dc_ns_processor=[]);D.__dc_ns_processor.push(h);jc((b?"http":"https")+"://www.googletagmanager.com/dclk/ns/v1.js")},Ml=function(a,b,c){var d=/^u([1-9]\d?|100)$/,e=a.getWithConfig(H.oh)||{},f=Pd(b,c);var h={},k={};if(Ra(e))for(var l in e)if(e.hasOwnProperty(l)&&
|
||||
d.test(l)){var m=e[l];g(m)&&(h[l]=m)}for(var n=0;n<f.length;n++){var q=f[n];d.test(q)&&(h[q]=q)}for(var u in h)h.hasOwnProperty(u)&&(k[u]=a.getWithConfig(h[u]));return k},Nl=function(a){function b(l,m,n){void 0!==n&&0!==(n+"").length&&d.push(l+m+":"+c(n+""))}var c=encodeURIComponent,d=[],e=a(H.M)||[];if(ua(e))for(var f=0;f<e.length;f++){var h=e[f],k=f+1;b("i",k,h.id);b("p",k,h.price);b("q",k,h.quantity);b("c",k,a(H.kh));b("l",k,a(H.Ea))}return d.join("|")},Ol=function(a){var b=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(a);
|
||||
if(b){var c={standard:2,unique:3,per_session:4,transactions:5,items_sold:6,"":1}[(b[5]||"").toLowerCase()];if(c)return{containerId:"DC-"+b[1],N:b[3]?a:"",pf:b[1],nf:b[3]||"",fb:b[4]||"",V:c}}},Ql=function(a,b,c,d){var e=Ol(a);if(e){var f=function(M){return d.getWithConfig(M)},h=!1!==f(H.Ca),k=f(H.Aa)||f(H.S),l=f(H.P),m=f(H.Y),n=f(H.qh),q=3===Vd();if(b===H.D){var u=f(H.na)||{},p=f(H.sb),t=void 0===p?!0:!!p;if(h){if(Eh(u[H.Ua],!!u[H.C])){Rh(Pl,k,void 0,l,
|
||||
m);}var v={prefix:k,domain:l,Ka:m};Oh(v);Vh(Pl,v);li(t,k,void 0,l,m)}if(u[H.C]){Th(Pl,u[H.C],u[H.Xa],!!u[H.Va],k);}if(n&&n.exclusion_parameters&&n.engines)if(Ud()){}else Ll(n,q,h,k,l,m);G(d.B)}else{var w={},y=f(H.ph);if(Ra(y))for(var x in y)if(y.hasOwnProperty(x)){var z=y[x];void 0!==z&&null!==
|
||||
z&&(w[x]=z)}var C="";if(5===e.V||6===e.V)C=Nl(f);var A=Ml(d,e.containerId,e.N),E=!0===f(H.Xg);if(Ud()&&E){E=!1}var J={fb:e.fb,Dc:h,Nf:l,Of:m,Fa:k,Gb:f(H.W),V:e.V,Rf:w,Ec:e.pf,Hc:e.nf,w:d.w,B:d.B,Ub:Xe(Ze(D.location.href)),Uc:C,protocol:q?"http:":"https:",Yc:f(H.Ve),Zb:E,sessionId:f(H.Pb),fc:void 0,transactionId:f(H.ab),hc:void 0,fd:A,vf:!1!==f(H.X)};ti(J)}}else G(d.w)},Pl=["aw","dc"];
|
||||
var Rl=/.*\.google\.com(:\d+)?\/booking\/flights.*/,Tl=function(a,b,c,d){var e=function(w){return d.getWithConfig(w)},f=Rc(a).o[0],h=!1!==e(H.Ca),k=e(H.Aa)||e(H.S),l=e(H.P),m=e(H.Y);if(b===H.D){if(h){var n={prefix:k,domain:l,Ka:m};Oh(n);Vh(["aw","dc"],n)}G(d.B)}else{var q={conversion_id:f,onFailure:d.w,onSuccess:d.B,conversionLinkerEnabled:h,cookiePrefix:k},u=Rl.test(D.location.href);if(b!==H.ma)G(d.w);else{var t={partner_id:f,trip_type:e(H.df),total_price:e(H.W),currency:e(H.aa),is_direct_booking:u,flight_segment:Sl(e(H.M))},v=e(H.Vd);v&&"object"===typeof v&&(t.passengers_total=v.total,t.passengers_adult=v.adult,t.passengers_child=v.child,t.passengers_infant_in_seat=v.infant_in_seat,t.passengers_infant_in_lap=v.infant_in_lap);q.conversion_data=t;Ai(q)}}},Sl=function(a){if(a){for(var b=
|
||||
[],c=0,d=0;d<a.length;++d){var e=a[d];!e||void 0!==e.category&&""!==e.category&&"FlightSegment"!==e.category||(b[c]={cabin:e.travel_class,fare_product:e.fare_product,booking_code:e.booking_code,flight_number:e.flight_number,origin:e.origin,destination:e.destination,departure_date:e.start_date},c++)}return b}};
|
||||
var Yl=function(a,b,c,d){var e=Rc(a),f=function(w){return d.getWithConfig(w)},h=!1!==f(H.Ca),k=f(H.Aa)||f(H.S),l=f(H.P),m=f(H.Y);if(b===H.D){var n=f(H.na)||{};if(h){Eh(n[H.Ua],!!n[H.C])&&Rh(Ul,k,void 0,l,m);var q={prefix:k,domain:l,Ka:m};Oh(q);Vh(["aw","dc"],q)}if(n[H.C]){Th(Ul,n[H.C],n[H.Xa],!!n[H.Va],k);}G(d.B)}else{var u=e.o[0];if(/^\d+$/.test(u)){var p="https://www.googletraveladservices.com/travel/clk/pagead/conversion/"+encodeURIComponent(u)+
|
||||
"/";if(b===H.ma){var t=Vl(f(H.ab),f(H.W),f(H.aa),f(H.M));t=encodeURIComponent(Wl(t));p+="?data="+t}else if(b===H.Ta){var v=Xl(u,f(H.W),f(H.Td),f(H.aa),f(H.M));v=encodeURIComponent(Wl(v));p+="?label=FH&guid=ON&script=0&ord="+wa(0,4294967295)+("&price="+v)}else{G(d.w);return}h&&(p+=ji("ha",k).map(function(w){return"&gclha="+encodeURIComponent(w)}).join(""));mc(p,d.B,d.w)}else G(d.w)}},Vl=function(a,b,c,d){var e={};Zl(a)&&(e.hct_booking_xref=a);g(c)&&(e.hct_currency_code=c);Zl(b)&&(e.hct_total_price=
|
||||
b,e.hct_base_price=b);if(!ua(d)||0===d.length)return e;var f=d[0];if(!Ra(f))return e;Zl(f[$l.sa])&&(e.hct_partner_hotel_id=f[$l.sa]);g(f[$l.ja])&&(e.hct_checkin_date=f[$l.ja]);g(f[$l.Pa])&&(e.hct_checkout_date=f[$l.Pa]);return e},Xl=function(a,b,c,d,e){function f(n){void 0===n&&(n=0);if(Zl(n))return l+n}function h(n,q,u){u(q)&&(k[n]=q)}var k={};k.partner_id=a;var l="USD";g(d)&&(l=k.currency=d);Zl(b)&&(k.base_price_value_string=f(b),k.display_price_value_string=f(b));Zl(c)&&(k.tax_price_value_string=
|
||||
f(c));g("LANDING_PAGE")&&(k.page_type="LANDING_PAGE");if(!ua(e)||0==e.length)return k;var m=e[0];if(!Ra(m))return k;Zl(m[$l.Fd])&&(k.total_price_value_string=f(m[$l.Fd]));h("partner_hotel_id",m[$l.sa],Zl);h("check_in_date",m[$l.ja],g);h("check_out_date",m[$l.Pa],g);h("adults",m[$l.$e],am);h($l.Jd,m[$l.Jd],g);h($l.Id,m[$l.Id],g);return k},Wl=function(a){var b=[];za(a,function(c,d){b.push(c+"="+d)});return b.join(";")},Zl=function(a){return g(a)||am(a)},am=function(a){return"number"===typeof a},$l=
|
||||
{sa:"id",Fd:"price",ja:"start_date",Pa:"end_date",$e:"occupancy",Jd:"room_id",Id:"rate_rule_id"},Ul=["ha"];
|
||||
var om=function(a,b,c,d){var e="https://www.google-analytics.com/analytics.js",f=Oe();if(qa(f)){var h="gtag_"+a.split("-").join("_"),k=function(x){var z=[].slice.call(arguments,0);z[0]=h+"."+z[0];f.apply(window,z)},l=function(){var x=function(E,J){for(var M=0;J&&M<J.length;M++)k(E,J[M])},z=fm(b,d);if(z){var C=z.action;if("impressions"===C)x("ec:addImpression",z.hg);else if("promo_click"===C||"promo_view"===C){var A=z.Vc;x("ec:addPromo",z.Vc);A&&0<A.length&&"promo_click"===C&&k("ec:setAction",C)}else x("ec:addProduct",
|
||||
z.La),k("ec:setAction",C,z.eb)}},m=function(){if(Ud()){}else{var x=d.getWithConfig(H.Re);x&&(k("require",x,{dataLayer:"dataLayer"}),k("require","render"))}},n=gm(a,h,b,d);hm(h,n.Ga)&&(f(function(){Me()&&Me().remove(h)}),im[h]=!1);f("create",a,n.Ga);(function(){var x=d.getWithConfig("custom_map");f(function(){if(Ra(x)){var z=n.ka,C=Me().getByName(h),A;for(A in x)if(x.hasOwnProperty(A)&&/^(dimension|metric)\d+$/.test(A)&&void 0!=x[A]){var E=C.get(jm(x[A]));km(z,A,E)}}})})();(function(x){if(x){var z={};if(Ra(x))for(var C in lm)lm.hasOwnProperty(C)&&mm(lm[C],C,x[C],z);k("require","linkid",z)}})(n.linkAttribution);
|
||||
var u=n[H.na];if(u&&u[H.C]){var p=u[H.Xa];Pe(h+".",u[H.C],void 0===p?!!u.use_anchor:"fragment"===p,!!u[H.Va])}var t=function(x,z,C){C&&(z=""+z);n.ka[x]=z};if(b===H.ad)m(),k("send","pageview",n.ka);else if(b===H.D){m();var v=!1;v?ge(a,d):ge(a);0!=n.sendPageView&&k("send","pageview",n.ka)}else"screen_view"===b?k("send","screenview",n.ka):"timing_complete"===b?(t("timingCategory",
|
||||
n.eventCategory,!0),t("timingVar",n.name,!0),t("timingValue",Aa(n.value)),void 0!==n.eventLabel&&t("timingLabel",n.eventLabel,!0),k("send","timing",n.ka)):"exception"===b?k("send","exception",n.ka):"optimize.callback"!==b&&(0<=r([H.Zc,"select_content",H.Ta,H.Ab,H.Bb,H.Sa,"set_checkout_option",H.ma,H.Cb,"view_promotion","checkout_progress"],b)&&(k("require","ec","ec.js"),l()),t("eventCategory",n.eventCategory,!0),t("eventAction",n.eventAction||b,!0),void 0!==n.eventLabel&&t("eventLabel",n.eventLabel,
|
||||
!0),void 0!==n.value&&t("eventValue",Aa(n.value)),k("send","event",n.ka));if(!nm){nm=!0;He();var w=d.w,y=function(){Me().loaded||w()};Ud()?G(y):jc(e,y,w)}}else G(d.w)},nm,im={},pm={client_id:1,client_storage:"storage",cookie_name:1,cookie_domain:1,cookie_expires:1,cookie_path:1,cookie_update:1,sample_rate:1,site_speed_sample_rate:1,use_amp_client_id:1,store_gac:1,conversion_linker:"storeGac"},qm={anonymize_ip:1,app_id:1,app_installer_id:1,app_name:1,app_version:1,campaign:{name:"campaignName",source:"campaignSource",
|
||||
medium:"campaignMedium",term:"campaignTerm",content:"campaignContent",id:"campaignId"},currency:"currencyCode",description:"exDescription",fatal:"exFatal",language:1,non_interaction:1,page_hostname:"hostname",page_referrer:"referrer",page_path:"page",page_location:"location",page_title:"title",screen_name:1,transport_type:"transport",user_id:1},rm={content_id:1,event_category:1,event_action:1,event_label:1,link_attribution:1,linker:1,method:1,name:1,send_page_view:1,value:1},lm={cookie_name:1,cookie_expires:"duration",
|
||||
levels:1},sm={anonymize_ip:1,fatal:1,non_interaction:1,use_amp_client_id:1,send_page_view:1,store_gac:1,conversion_linker:1},mm=function(a,b,c,d){if(void 0!==c)if(sm[b]&&(c=Ba(c)),"anonymize_ip"!==b||c||(c=void 0),1===a)d[jm(b)]=c;else if(g(a))d[a]=c;else for(var e in a)a.hasOwnProperty(e)&&void 0!==c[e]&&(d[a[e]]=c[e])},jm=function(a){return a&&g(a)?a.replace(/(_[a-z])/g,function(b){return b[1].toUpperCase()}):a},tm=function(a){var b="general";0<=r([H.yd,H.Ab,H.zd,H.Sa,"checkout_progress",H.ma,H.Cb,
|
||||
H.Bb,"set_checkout_option"],a)?b="ecommerce":0<=r("generate_lead login search select_content share sign_up view_item view_item_list view_promotion view_search_results".split(" "),a)?b="engagement":"exception"===a&&(b="error");return b},km=function(a,b,c){a.hasOwnProperty(b)||(a[b]=c)},um=function(a){if(ua(a)){for(var b=[],c=0;c<a.length;c++){var d=a[c];if(void 0!=d){var e=d.id,f=d.variant;void 0!=e&&void 0!=f&&b.push(String(e)+"."+String(f))}}return 0<b.length?b.join("!"):void 0}},gm=function(a,b,
|
||||
c,d){var e=function(A){return d.getWithConfig(A)},f={},h={},k={},l=um(e(H.Me));l&&km(h,"exp",l);var m=e("custom_map");if(Ra(m))for(var n in m)if(m.hasOwnProperty(n)&&/^(dimension|metric)\d+$/.test(n)&&void 0!=m[n]){var q=e(String(m[n]));void 0!==q&&km(h,n,q)}var u=Pd(a);for(var p=0;p<u.length;++p){var t=u[p],v=e(t);if(rm.hasOwnProperty(t))mm(rm[t],t,v,f);else if(qm.hasOwnProperty(t))mm(qm[t],
|
||||
t,v,h);else if(pm.hasOwnProperty(t))mm(pm[t],t,v,k);else if(/^(dimension|metric|content_group)\d+$/.test(t))mm(1,t,v,h);else if("developer_id"===t){}else t===H.S&&0>r(u,H.Fb)&&(k.cookieName=v+"_ga")}km(k,"cookieDomain","auto");km(h,"forceSSL",!0);km(f,"eventCategory",tm(c));0<=r(["view_item","view_item_list","view_promotion","view_search_results"],c)&&km(h,"nonInteraction",
|
||||
!0);"login"===c||"sign_up"===c||"share"===c?km(f,"eventLabel",e(H.Pe)):"search"===c||"view_search_results"===c?km(f,"eventLabel",e(H.Ze)):"select_content"===c&&km(f,"eventLabel",e(H.ih));var y=f[H.na]||{},x=y[H.Ua];x||0!=x&&y[H.C]?k.allowLinker=!0:!1===x&&km(k,"useAmpClientId",!1);if(!1===e(H.dh)||!1===e(H.X)||!1===e(H.Qa))h.allowAdFeatures=!1;!1===e(H.X)&&I("GTM",27);k.name=b;h[">m"]=pi(!0);h.hitCallback=d.B;var z=e(H.Oe)||Kd("gtag.remote_config."+a+".url",2),C=e(H.Ne)||Kd("gtag.remote_config."+
|
||||
a+".dualId",2);z&&null!=gc&&(k._x_19=z);C&&(k._x_20=C);f.ka=h;f.Ga=k;return f},fm=function(a,b){function c(v){var w=B(v);w.list=v.list_name;w.listPosition=v.list_position;w.position=v.list_position||v.creative_slot;w.creative=v.creative_name;return w}function d(v){for(var w=[],y=0;v&&y<v.length;y++)v[y]&&w.push(c(v[y]));return w.length?w:void 0}function e(v){return{id:f(H.ab),affiliation:f(H.Ge),revenue:f(H.W),tax:f(H.Td),shipping:f(H.Le),coupon:f(H.Ie),list:f(H.gd)||v}}for(var f=function(v){return b.getWithConfig(v)},
|
||||
h=f(H.M),k,l=0;h&&l<h.length&&!(k=h[l][H.gd]);l++);var m=f("custom_map");if(Ra(m))for(var n=0;h&&n<h.length;++n){var q=h[n],u;for(u in m)m.hasOwnProperty(u)&&/^(dimension|metric)\d+$/.test(u)&&void 0!=m[u]&&km(q,u,q[m[u]])}var p=null,t=f(H.Je);a===H.ma||a===H.Cb?p={action:a,eb:e(),La:d(h)}:a===H.Ab?p={action:"add",La:d(h)}:a===H.Bb?p={action:"remove",La:d(h)}:a===H.Ta?p={action:"detail",eb:e(k),La:d(h)}:a===H.Zc?p={action:"impressions",hg:d(h)}:"view_promotion"===a?p={action:"promo_view",Vc:d(t)}:
|
||||
"select_content"===a&&t&&0<t.length?p={action:"promo_click",Vc:d(t)}:"select_content"===a?p={action:"click",eb:{list:f(H.gd)||k},La:d(h)}:a===H.Sa||"checkout_progress"===a?p={action:"checkout",La:d(h),eb:{step:a===H.Sa?1:f(H.Rd),option:f(H.Qd)}}:"set_checkout_option"===a&&(p={action:"checkout_option",eb:{step:f(H.Rd),option:f(H.Qd)}});p&&(p.yh=f(H.aa));return p},vm={},hm=function(a,b){var c=vm[a];vm[a]=B(b);if(!c)return!1;for(var d in b)if(b.hasOwnProperty(d)&&b[d]!==c[d])return!0;for(var e in c)if(c.hasOwnProperty(e)&&
|
||||
c[e]!==b[e])return!0;return!1};var Z={a:{}};
|
||||
|
||||
|
||||
|
||||
Z.a.gtagha=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_conversionId,e=cd,f=U("eventModel");if(a){Jf(d.id,Yl);if(e===H.D){var h=U("gtag.targets."+d.id);Lf(h,d.id)}else Kf(e,f,d.id);G(c.vtp_gtmOnSuccess)}else{var k=Cf(Bf(wf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Md(l,d.containerId,d.id)};Yl(d.id,e,(new Date).getTime(),
|
||||
k)}};Z.__gtagha=b;Z.__gtagha.b="gtagha";Z.__gtagha.g=!0;Z.__gtagha.priorityOverride=0;}();
|
||||
Z.a.e=["google"],function(){(function(a){Z.__e=a;Z.__e.b="e";Z.__e.g=!0;Z.__e.priorityOverride=0})(function(a){return String(Sd(a.vtp_gtmEventId,"event"))})}();
|
||||
|
||||
Z.a.v=["google"],function(){(function(a){Z.__v=a;Z.__v.b="v";Z.__v.g=!0;Z.__v.priorityOverride=0})(function(a){var b=a.vtp_name;if(!b||!b.replace)return!1;var c=U(b.replace(/\\\./g,"."),a.vtp_dataLayerVersion||1);return void 0!==c?c:a.vtp_defaultValue})}();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Z.a.gtagaw=["google"],function(){(function(a){Z.__gtagaw=a;Z.__gtagaw.b="gtagaw";Z.__gtagaw.g=!0;Z.__gtagaw.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=cd;Jf(b.id,Kl);if(c===H.D){var d=U("gtag.targets."+b.id);Lf(d,b.id)}else{var e=U("eventModel");Kf(c,e,b.id)}G(a.vtp_gtmOnSuccess)})}();
|
||||
|
||||
Z.a.get=["google"],function(){(function(a){Z.__get=a;Z.__get.b="get";Z.__get.g=!0;Z.__get.priorityOverride=0})(function(a){if(a.vtp_isAutoTag){var b=String(a.vtp_trackingId),c=cd||"",d={};if(c===H.D){var e=U("gtag.targets."+b);B(e,d);d[H.qa]=!0;Lf(d,b)}else{var f=U("eventModel");B(f,d);d[H.qa]=!0;Kf(c,d,b)}}else{var h=a.vtp_settings;(a.vtp_deferrable?zl:yl)(String(h.streamId),String(a.vtp_eventName),h.eventParameters||{})}a.vtp_gtmOnSuccess()})}();
|
||||
|
||||
|
||||
Z.a.gtagfl=[],function(){function a(d){var e=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(d);if(e)return{containerId:"DC-"+e[1],N:e[3]&&d}}var b=!1;b=!0;var c=function(d){var e=d.vtp_targetId,f=cd,h=U("eventModel");if(b){Jf(e,Ql);if(f===H.D){var k=U("gtag.targets."+e);Lf(k,e)}else Kf(f,h,e);G(d.vtp_gtmOnSuccess)}else{var l=a(e);if(l){var m=Cf(Bf(wf(h),d.vtp_gtmOnSuccess),
|
||||
d.vtp_gtmOnFailure);m.getWithConfig=function(n){return Md(n,l.containerId,l.N)};Ql(e,f,(new Date).getTime(),m)}else G(d.vtp_gtmOnFailure)}};Z.__gtagfl=c;Z.__gtagfl.b="gtagfl";Z.__gtagfl.g=!0;Z.__gtagfl.priorityOverride=0;}();
|
||||
|
||||
|
||||
Z.a.gtaggf=["google"],function(){(function(a){Z.__gtaggf=a;Z.__gtaggf.b="gtaggf";Z.__gtaggf.g=!0;Z.__gtaggf.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=cd,d=U("eventModel");Jf(b.id,Tl);if(c===H.D){var e=U("gtag.targets."+b.id);Lf(e,b.id)}else Kf(c,d,b.id);G(a.vtp_gtmOnSuccess)})}();
|
||||
|
||||
|
||||
|
||||
|
||||
Z.a.gtagua=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_trackingId,e=cd,f=U("eventModel");if(a){Jf(d,om);if(e===H.D){var h=U("gtag.targets."+d);Lf(h,d)}else Kf(e,f,d);G(c.vtp_gtmOnSuccess)}else{var k=Cf(Bf(wf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Md(l,d,void 0)};om(d,e,(new Date).getTime(),k)}};Z.__gtagua=
|
||||
b;Z.__gtagua.b="gtagua";Z.__gtagua.g=!0;Z.__gtagua.priorityOverride=0;}();
|
||||
|
||||
|
||||
var wm={};wm.macro=function(a){if(Vg.xc.hasOwnProperty(a))return Vg.xc[a]},wm.onHtmlSuccess=Vg.be(!0),wm.onHtmlFailure=Vg.be(!1);wm.dataLayer=Ld;wm.callback=function(a){ed.hasOwnProperty(a)&&qa(ed[a])&&ed[a]();delete ed[a]};function xm(){Vc[Uc.s]=wm;Ia(fd,Z.a);zb=zb||Vg;Ab=pe}
|
||||
function ym(){Fh.gtm_3pds=!0;Vc=D.google_tag_manager=D.google_tag_manager||{};if(Vc[Uc.s]){var a=Vc.zones;a&&a.unregisterChild(Uc.s)}else{for(var b=data.resource||{},c=b.macros||[],d=0;d<c.length;d++)rb.push(c[d]);for(var e=b.tags||[],f=0;f<e.length;f++)vb.push(e[f]);for(var h=b.predicates||[],k=0;k<
|
||||
h.length;k++)tb.push(h[k]);for(var l=b.rules||[],m=0;m<l.length;m++){for(var n=l[m],q={},u=0;u<n.length;u++)q[n[u][0]]=Array.prototype.slice.call(n[u],1);sb.push(q)}xb=Z;yb=Lj;xm();Ug();te=!1;ue=0;if("interactive"==F.readyState&&!F.createEventObject||"complete"==F.readyState)we();else{nc(F,"DOMContentLoaded",we);nc(F,"readystatechange",we);if(F.createEventObject&&F.documentElement.doScroll){var p=!0;try{p=!D.frameElement}catch(y){}p&&xe()}nc(D,"load",we)}sg=!1;"complete"===F.readyState?ug():nc(D,
|
||||
"load",ug);a:{if(!Ad)break a;D.setInterval(Bd,864E5);}
|
||||
bd=(new Date).getTime();
|
||||
wm.bootstrap=bd;}}ym();
|
||||
|
||||
})()
|
||||
|
66
jquery/jquery-1.12.4.js
vendored
66
jquery/jquery-1.12.4.js
vendored
@ -1,13 +1,13 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v1.12.4
|
||||
* https://jquery.com/
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2016-05-20T17:17Z
|
||||
*/
|
||||
@ -338,7 +338,7 @@ jQuery.extend( {
|
||||
},
|
||||
|
||||
// Workarounds based on findings by Jim Driscoll
|
||||
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
globalEval: function( data ) {
|
||||
if ( data && jQuery.trim( data ) ) {
|
||||
|
||||
@ -579,11 +579,11 @@ function isArrayLike( obj ) {
|
||||
var Sizzle =
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.2.1
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2015-10-17
|
||||
*/
|
||||
@ -637,7 +637,7 @@ var i,
|
||||
push = arr.push,
|
||||
slice = arr.slice,
|
||||
// Use a stripped-down indexOf as it's faster than native
|
||||
// https://jsperf.com/thor-indexof-vs-for/5
|
||||
// http://jsperf.com/thor-indexof-vs-for/5
|
||||
indexOf = function( list, elem ) {
|
||||
var i = 0,
|
||||
len = list.length;
|
||||
@ -653,13 +653,13 @@ var i,
|
||||
|
||||
// Regular expressions
|
||||
|
||||
// https://www.w3.org/TR/css3-selectors/#whitespace
|
||||
// http://www.w3.org/TR/css3-selectors/#whitespace
|
||||
whitespace = "[\\x20\\t\\r\\n\\f]",
|
||||
|
||||
// https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
|
||||
|
||||
// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
|
||||
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
|
||||
// Operator (capture 2)
|
||||
"*([*^$|!~]?=)" + whitespace +
|
||||
@ -716,7 +716,7 @@ var i,
|
||||
rsibling = /[+~]/,
|
||||
rescape = /'|\\/g,
|
||||
|
||||
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
|
||||
funescape = function( _, escaped, escapedWhitespace ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
@ -1208,7 +1208,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// We allow this because of a bug in IE8/9 that throws an error
|
||||
// whenever `document.activeElement` is accessed on an iframe
|
||||
// So, we allow :focus to pass through QSA all the time to avoid the IE error
|
||||
// See https://bugs.jquery.com/ticket/13378
|
||||
// See http://bugs.jquery.com/ticket/13378
|
||||
rbuggyQSA = [];
|
||||
|
||||
if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
|
||||
@ -1219,7 +1219,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// This is to test IE's treatment of not explicitly
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// https://bugs.jquery.com/ticket/12359
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
|
||||
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
|
||||
"<option selected=''></option></select>";
|
||||
@ -1227,7 +1227,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// Support: IE8, Opera 11-12.16
|
||||
// Nothing should be selected when empty strings follow ^= or $= or *=
|
||||
// The test attribute must be unknown in Opera but "safe" for WinRT
|
||||
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
if ( div.querySelectorAll("[msallowcapture^='']").length ) {
|
||||
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
||||
}
|
||||
@ -1244,7 +1244,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
}
|
||||
|
||||
// Webkit/Opera - :checked should return selected option elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( !div.querySelectorAll(":checked").length ) {
|
||||
rbuggyQSA.push(":checked");
|
||||
@ -1841,7 +1841,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"PSEUDO": function( pseudo, argument ) {
|
||||
// pseudo-class names are case-insensitive
|
||||
// https://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// http://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
||||
// Remember that setFilters inherits from pseudos
|
||||
var args,
|
||||
@ -1928,7 +1928,7 @@ Expr = Sizzle.selectors = {
|
||||
// or beginning with the identifier C immediately followed by "-".
|
||||
// The matching of C against the element's language value is performed case-insensitively.
|
||||
// The identifier C does not have to be a valid language name."
|
||||
// https://www.w3.org/TR/selectors/#lang-pseudo
|
||||
// http://www.w3.org/TR/selectors/#lang-pseudo
|
||||
"lang": markFunction( function( lang ) {
|
||||
// lang value must be a valid identifier
|
||||
if ( !ridentifier.test(lang || "") ) {
|
||||
@ -1975,7 +1975,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"checked": function( elem ) {
|
||||
// In CSS3, :checked should return both checked and selected elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
var nodeName = elem.nodeName.toLowerCase();
|
||||
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
|
||||
},
|
||||
@ -1992,7 +1992,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
// Contents
|
||||
"empty": function( elem ) {
|
||||
// https://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// http://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
|
||||
// but not by others (comment: 8; processing instruction: 7; etc.)
|
||||
// nodeType < 6 works because attributes (2) do not appear as children
|
||||
@ -2666,7 +2666,7 @@ support.sortDetached = assert(function( div1 ) {
|
||||
|
||||
// Support: IE<8
|
||||
// Prevent attribute/property "interpolation"
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !assert(function( div ) {
|
||||
div.innerHTML = "<a href='#'></a>";
|
||||
return div.firstChild.getAttribute("href") === "#" ;
|
||||
@ -3666,7 +3666,7 @@ jQuery.ready.promise = function( obj ) {
|
||||
try {
|
||||
|
||||
// Use the trick by Diego Perini
|
||||
// https://javascript.nwbox.com/IEContentLoaded/
|
||||
// http://javascript.nwbox.com/IEContentLoaded/
|
||||
top.doScroll( "left" );
|
||||
} catch ( e ) {
|
||||
return window.setTimeout( doScrollCheck, 50 );
|
||||
@ -5553,7 +5553,7 @@ jQuery.Event = function( src, props ) {
|
||||
};
|
||||
|
||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
jQuery.Event.prototype = {
|
||||
constructor: jQuery.Event,
|
||||
isDefaultPrevented: returnFalse,
|
||||
@ -5775,7 +5775,7 @@ if ( !support.change ) {
|
||||
//
|
||||
// Support: Chrome, Safari
|
||||
// focus(in | out) events fire after focus & blur events,
|
||||
// which is spec violation - https://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
|
||||
// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
|
||||
// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
|
||||
if ( !support.focusin ) {
|
||||
jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
|
||||
@ -6148,7 +6148,7 @@ jQuery.extend( {
|
||||
if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
|
||||
( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
|
||||
|
||||
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
|
||||
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
||||
destElements = getAll( clone );
|
||||
srcElements = getAll( elem );
|
||||
|
||||
@ -6732,7 +6732,7 @@ if ( window.getComputedStyle ) {
|
||||
// Safari 5.1.7 (at least) returns percentage for a larger set of values,
|
||||
// but width seems to be reliably pixels
|
||||
// this is against the CSSOM draft spec:
|
||||
// https://dev.w3.org/csswg/cssom/#resolved-values
|
||||
// http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||
|
||||
// Remember the original values
|
||||
@ -6776,7 +6776,7 @@ if ( window.getComputedStyle ) {
|
||||
}
|
||||
|
||||
// From the awesome hack by Dean Edwards
|
||||
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
|
||||
// If we're not dealing with a regular pixel number
|
||||
// but a number that has a weird ending, we need to convert it to pixels
|
||||
@ -8109,7 +8109,7 @@ jQuery.fx.speeds = {
|
||||
|
||||
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://web.archive.org/web/20100324014747/https://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
jQuery.fn.delay = function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
@ -8707,7 +8707,7 @@ jQuery.extend( {
|
||||
|
||||
// elem.tabIndex doesn't always return the
|
||||
// correct value when it hasn't been explicitly set
|
||||
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// Use proper attribute retrieval(#12072)
|
||||
var tabindex = jQuery.find.attr( elem, "tabindex" );
|
||||
|
||||
@ -8728,7 +8728,7 @@ jQuery.extend( {
|
||||
} );
|
||||
|
||||
// Some attributes require a special call on IE
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !support.hrefNormalized ) {
|
||||
|
||||
// href/src property should get the full normalized URL (#10299/#12915)
|
||||
@ -9602,8 +9602,8 @@ jQuery.extend( {
|
||||
parts = rurl.exec( s.url.toLowerCase() );
|
||||
s.crossDomain = !!( parts &&
|
||||
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? "80" : "443" ) ) !==
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? "80" : "443" ) ) )
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
|
||||
);
|
||||
}
|
||||
|
||||
@ -10158,8 +10158,8 @@ jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
|
||||
|
||||
// Support: IE<9
|
||||
// oldIE XHR does not support non-RFC2616 methods (#13240)
|
||||
// See https://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
|
||||
// and https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
|
||||
// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
|
||||
// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
|
||||
// Although this check for six methods instead of eight
|
||||
// since IE also does not support "trace" and "connect"
|
||||
return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
|
||||
|
60
jquery/jquery-1.9.1.js
vendored
60
jquery/jquery-1.9.1.js
vendored
@ -1,13 +1,13 @@
|
||||
/*!
|
||||
* jQuery JavaScript Library v1.9.1
|
||||
* https://jquery.com/
|
||||
* http://jquery.com/
|
||||
*
|
||||
* Includes Sizzle.js
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*
|
||||
* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2013-2-4
|
||||
*/
|
||||
@ -552,7 +552,7 @@ jQuery.extend({
|
||||
|
||||
if ( data ) {
|
||||
// Make sure the incoming data is actual JSON
|
||||
// Logic borrowed from https://json.org/json2.js
|
||||
// Logic borrowed from http://json.org/json2.js
|
||||
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
|
||||
.replace( rvalidtokens, "]" )
|
||||
.replace( rvalidbraces, "")) ) {
|
||||
@ -593,7 +593,7 @@ jQuery.extend({
|
||||
|
||||
// Evaluates a script in a global context
|
||||
// Workarounds based on findings by Jim Driscoll
|
||||
// https://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
|
||||
globalEval: function( data ) {
|
||||
if ( data && jQuery.trim( data ) ) {
|
||||
// We use execScript on Internet Explorer
|
||||
@ -889,7 +889,7 @@ jQuery.ready.promise = function( obj ) {
|
||||
|
||||
// Catch cases where $(document).ready() is called after the browser event has already occurred.
|
||||
// we once tried to use readyState "interactive" here, but it caused issues like the one
|
||||
// discovered by ChrisS here: https://bugs.jquery.com/ticket/12282#comment:15
|
||||
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
|
||||
if ( document.readyState === "complete" ) {
|
||||
// Handle it asynchronously to allow scripts the opportunity to delay ready
|
||||
setTimeout( jQuery.ready );
|
||||
@ -924,7 +924,7 @@ jQuery.ready.promise = function( obj ) {
|
||||
|
||||
try {
|
||||
// Use the trick by Diego Perini
|
||||
// https://javascript.nwbox.com/IEContentLoaded/
|
||||
// http://javascript.nwbox.com/IEContentLoaded/
|
||||
top.doScroll("left");
|
||||
} catch(e) {
|
||||
return setTimeout( doScrollCheck, 50 );
|
||||
@ -1986,7 +1986,7 @@ jQuery.fn.extend({
|
||||
});
|
||||
},
|
||||
// Based off of the plugin by Clint Helfers, with permission.
|
||||
// https://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
// http://blindsignals.com/index.php/2009/07/jquery-delay/
|
||||
delay: function( time, type ) {
|
||||
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
|
||||
type = type || "fx";
|
||||
@ -2478,7 +2478,7 @@ jQuery.extend({
|
||||
tabIndex: {
|
||||
get: function( elem ) {
|
||||
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
|
||||
// https://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
|
||||
var attributeNode = elem.getAttributeNode("tabindex");
|
||||
|
||||
return attributeNode && attributeNode.specified ?
|
||||
@ -2613,7 +2613,7 @@ if ( !getSetAttribute ) {
|
||||
|
||||
|
||||
// Some attributes require a special call on IE
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !jQuery.support.hrefNormalized ) {
|
||||
jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
|
||||
jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
|
||||
@ -3363,7 +3363,7 @@ jQuery.Event = function( src, props ) {
|
||||
};
|
||||
|
||||
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
|
||||
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
|
||||
jQuery.Event.prototype = {
|
||||
isDefaultPrevented: returnFalse,
|
||||
isPropagationStopped: returnFalse,
|
||||
@ -3688,7 +3688,7 @@ jQuery.fn.extend({
|
||||
* Sizzle CSS Selector Engine
|
||||
* Copyright 2012 jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://sizzlejs.com/
|
||||
* http://sizzlejs.com/
|
||||
*/
|
||||
(function( window, undefined ) {
|
||||
|
||||
@ -3746,17 +3746,17 @@ var i,
|
||||
|
||||
// Regular expressions
|
||||
|
||||
// Whitespace characters https://www.w3.org/TR/css3-selectors/#whitespace
|
||||
// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
|
||||
whitespace = "[\\x20\\t\\r\\n\\f]",
|
||||
// https://www.w3.org/TR/css3-syntax/#characters
|
||||
// http://www.w3.org/TR/css3-syntax/#characters
|
||||
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
|
||||
|
||||
// Loosely modeled on CSS identifier characters
|
||||
// An unquoted value should be a CSS identifier https://www.w3.org/TR/css3-selectors/#attribute-selectors
|
||||
// Proper syntax: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
|
||||
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = characterEncoding.replace( "w", "w#" ),
|
||||
|
||||
// Acceptable operators https://www.w3.org/TR/selectors/#attribute-selectors
|
||||
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
operators = "([*^$|!~]?=)",
|
||||
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
|
||||
"*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
|
||||
@ -3806,7 +3806,7 @@ var i,
|
||||
rescape = /'|\\/g,
|
||||
rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
|
||||
|
||||
// CSS escapes https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,
|
||||
funescape = function( _, escaped ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
@ -4189,7 +4189,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
// This is to test IE's treatment of not explictly
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// https://bugs.jquery.com/ticket/12359
|
||||
// http://bugs.jquery.com/ticket/12359
|
||||
div.innerHTML = "<select><option selected=''></option></select>";
|
||||
|
||||
// IE8 - Some boolean attributes are not treated correctly
|
||||
@ -4198,7 +4198,7 @@ setDocument = Sizzle.setDocument = function( node ) {
|
||||
}
|
||||
|
||||
// Webkit/Opera - :checked should return selected option elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( !div.querySelectorAll(":checked").length ) {
|
||||
rbuggyQSA.push(":checked");
|
||||
@ -4768,7 +4768,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"PSEUDO": function( pseudo, argument ) {
|
||||
// pseudo-class names are case-insensitive
|
||||
// https://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// http://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
||||
// Remember that setFilters inherits from pseudos
|
||||
var args,
|
||||
@ -4852,7 +4852,7 @@ Expr = Sizzle.selectors = {
|
||||
// or beginning with the identifier C immediately followed by "-".
|
||||
// The matching of C against the element's language value is performed case-insensitively.
|
||||
// The identifier C does not have to be a valid language name."
|
||||
// https://www.w3.org/TR/selectors/#lang-pseudo
|
||||
// http://www.w3.org/TR/selectors/#lang-pseudo
|
||||
"lang": markFunction( function( lang ) {
|
||||
// lang value must be a valid identifider
|
||||
if ( !ridentifier.test(lang || "") ) {
|
||||
@ -4899,7 +4899,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
"checked": function( elem ) {
|
||||
// In CSS3, :checked should return both checked and selected elements
|
||||
// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
var nodeName = elem.nodeName.toLowerCase();
|
||||
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
|
||||
},
|
||||
@ -4916,7 +4916,7 @@ Expr = Sizzle.selectors = {
|
||||
|
||||
// Contents
|
||||
"empty": function( elem ) {
|
||||
// https://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// http://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),
|
||||
// not comment, processing instructions, or others
|
||||
// Thanks to Diego Perini for the nodeName shortcut
|
||||
@ -6395,7 +6395,7 @@ jQuery.extend({
|
||||
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
|
||||
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
|
||||
|
||||
// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
|
||||
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
||||
destElements = getAll( clone );
|
||||
srcElements = getAll( elem );
|
||||
|
||||
@ -6943,7 +6943,7 @@ if ( window.getComputedStyle ) {
|
||||
// A tribute to the "awesome hack by Dean Edwards"
|
||||
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
|
||||
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
|
||||
// this is against the CSSOM draft spec: https://dev.w3.org/csswg/cssom/#resolved-values
|
||||
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
|
||||
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
|
||||
|
||||
// Remember the original values
|
||||
@ -6982,7 +6982,7 @@ if ( window.getComputedStyle ) {
|
||||
}
|
||||
|
||||
// From the awesome hack by Dean Edwards
|
||||
// https://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
|
||||
|
||||
// If we're not dealing with a regular pixel number
|
||||
// but a number that has a weird ending, we need to convert it to pixels
|
||||
@ -7853,8 +7853,8 @@ jQuery.extend({
|
||||
parts = rurl.exec( s.url.toLowerCase() );
|
||||
s.crossDomain = !!( parts &&
|
||||
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "https:" ? 80 : 443 ) ) !=
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "https:" ? 80 : 443 ) ) )
|
||||
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
|
||||
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
|
||||
);
|
||||
}
|
||||
|
||||
@ -8531,7 +8531,7 @@ if ( xhrSupported ) {
|
||||
|
||||
// Firefox throws exceptions when accessing properties
|
||||
// of an xhr when a network error occurred
|
||||
// https://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
|
||||
try {
|
||||
|
||||
// Was never called and is aborted or complete
|
||||
|
4
jquery/jquery-3.2.1.min.js
vendored
Executable file
4
jquery/jquery-3.2.1.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
2
jquery/jquery-3.4.1.min.js
vendored
Executable file
2
jquery/jquery-3.4.1.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
BIN
jquery/jquery-timepicker-1.3.5.zip
Executable file
BIN
jquery/jquery-timepicker-1.3.5.zip
Executable file
Binary file not shown.
4
jquery/jquery-ui.css
vendored
4
jquery/jquery-ui.css
vendored
@ -1,7 +1,7 @@
|
||||
/*! jQuery UI - v1.12.1 - 2016-09-14
|
||||
* https://jqueryui.com
|
||||
* http://jqueryui.com
|
||||
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
|
||||
* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
|
||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
/* Layout helpers
|
||||
|
376
jquery/jquery-ui.js
vendored
376
jquery/jquery-ui.js
vendored
File diff suppressed because it is too large
Load Diff
4
jquery/jquery-ui.min.css
vendored
4
jquery/jquery-ui.min.css
vendored
File diff suppressed because one or more lines are too long
2
jquery/jquery-ui.min.js
vendored
2
jquery/jquery-ui.min.js
vendored
@ -1,5 +1,5 @@
|
||||
/*! jQuery UI - v1.12.1 - 2016-09-14
|
||||
* https://jqueryui.com
|
||||
* http://jqueryui.com
|
||||
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
|
||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
|
6
jquery/jquery-ui.structure.css
vendored
6
jquery/jquery-ui.structure.css
vendored
@ -1,12 +1,12 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.12.1
|
||||
* https://jqueryui.com
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* https://api.jqueryui.com/category/theming/
|
||||
* http://api.jqueryui.com/category/theming/
|
||||
*/
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
|
2
jquery/jquery-ui.structure.min.css
vendored
2
jquery/jquery-ui.structure.min.css
vendored
File diff suppressed because one or more lines are too long
8
jquery/jquery-ui.theme.css
vendored
8
jquery/jquery-ui.theme.css
vendored
@ -1,14 +1,14 @@
|
||||
/*!
|
||||
* jQuery UI CSS Framework 1.12.1
|
||||
* https://jqueryui.com
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* https://jquery.org/license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* https://api.jqueryui.com/category/theming/
|
||||
* http://api.jqueryui.com/category/theming/
|
||||
*
|
||||
* To view and modify this theme, visit https://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6
|
||||
*/
|
||||
|
||||
|
||||
|
2
jquery/jquery-ui.theme.min.css
vendored
2
jquery/jquery-ui.theme.min.css
vendored
File diff suppressed because one or more lines are too long
1
jquery/jquery.dm-uploader.min.css
vendored
Executable file
1
jquery/jquery.dm-uploader.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.dm-uploader{cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dm-uploader .btn{position:relative;overflow:hidden}.dm-uploader .btn input[type=file]{position:absolute;top:0;right:0;margin:0;border:solid transparent;width:100%;opacity:0;cursor:pointer}
|
11
jquery/jquery.dm-uploader.min.js
vendored
Executable file
11
jquery/jquery.dm-uploader.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
6
jquery/jquery.min.js
vendored
6
jquery/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
||||
/*! Copyright (c) 2013 Brandon Aaron (https://brandon.aaron.sh)
|
||||
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
|
||||
* Licensed under the MIT License (LICENSE.txt).
|
||||
*
|
||||
* Version: 3.1.12
|
||||
|
864
jquery/jquery.timepicker.js
Executable file
864
jquery/jquery.timepicker.js
Executable file
@ -0,0 +1,864 @@
|
||||
/**
|
||||
* jQuery Timepicker - v1.3.5 - 2016-07-10
|
||||
* http://timepicker.co
|
||||
*
|
||||
* Enhances standard form input fields helping users to select (or type) times.
|
||||
*
|
||||
* Copyright (c) 2016 Willington Vega; Licensed MIT, GPL
|
||||
*/
|
||||
|
||||
(function (factory) {
|
||||
if ( typeof module === 'object' && typeof module.exports === 'object' ) {
|
||||
factory(require('jquery'), window, document);
|
||||
} else if (typeof jQuery !== 'undefined') {
|
||||
factory(jQuery, window, document);
|
||||
}
|
||||
}(function($, window, document, undefined) {
|
||||
(function() {
|
||||
|
||||
function pad(str, ch, length) {
|
||||
return (new Array(length + 1 - str.length).join(ch)) + str;
|
||||
}
|
||||
|
||||
function normalize() {
|
||||
if (arguments.length === 1) {
|
||||
var date = arguments[0];
|
||||
if (typeof date === 'string') {
|
||||
date = $.fn.timepicker.parseTime(date);
|
||||
}
|
||||
return new Date(0, 0, 0, date.getHours(), date.getMinutes(), date.getSeconds());
|
||||
} else if (arguments.length === 3) {
|
||||
return new Date(0, 0, 0, arguments[0], arguments[1], arguments[2]);
|
||||
} else if (arguments.length === 2) {
|
||||
return new Date(0, 0, 0, arguments[0], arguments[1], 0);
|
||||
} else {
|
||||
return new Date(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
$.TimePicker = function() {
|
||||
var widget = this;
|
||||
|
||||
widget.container = $('.ui-timepicker-container');
|
||||
widget.ui = widget.container.find('.ui-timepicker');
|
||||
|
||||
if (widget.container.length === 0) {
|
||||
widget.container = $('<div></div>').addClass('ui-timepicker-container')
|
||||
.addClass('ui-timepicker-hidden ui-helper-hidden')
|
||||
.appendTo('body')
|
||||
.hide();
|
||||
widget.ui = $( '<div></div>' ).addClass('ui-timepicker')
|
||||
.addClass('ui-widget ui-widget-content ui-menu')
|
||||
.addClass('ui-corner-all')
|
||||
.appendTo(widget.container);
|
||||
widget.viewport = $('<ul></ul>').addClass( 'ui-timepicker-viewport' )
|
||||
.appendTo( widget.ui );
|
||||
|
||||
if ($.fn.jquery >= '1.4.2') {
|
||||
widget.ui.delegate('a', 'mouseenter.timepicker', function() {
|
||||
// passing false instead of an instance object tells the function
|
||||
// to use the current instance
|
||||
widget.activate(false, $(this).parent());
|
||||
}).delegate('a', 'mouseleave.timepicker', function() {
|
||||
widget.deactivate(false);
|
||||
}).delegate('a', 'click.timepicker', function(event) {
|
||||
event.preventDefault();
|
||||
widget.select(false, $(this).parent());
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.TimePicker.count = 0;
|
||||
$.TimePicker.instance = function() {
|
||||
if (!$.TimePicker._instance) {
|
||||
$.TimePicker._instance = new $.TimePicker();
|
||||
}
|
||||
return $.TimePicker._instance;
|
||||
};
|
||||
|
||||
$.TimePicker.prototype = {
|
||||
// extracted from from jQuery UI Core
|
||||
// http://github,com/jquery/jquery-ui/blob/master/ui/jquery.ui.core.js
|
||||
keyCode: {
|
||||
ALT: 18,
|
||||
BLOQ_MAYUS: 20,
|
||||
CTRL: 17,
|
||||
DOWN: 40,
|
||||
END: 35,
|
||||
ENTER: 13,
|
||||
HOME: 36,
|
||||
LEFT: 37,
|
||||
NUMPAD_ENTER: 108,
|
||||
PAGE_DOWN: 34,
|
||||
PAGE_UP: 33,
|
||||
RIGHT: 39,
|
||||
SHIFT: 16,
|
||||
TAB: 9,
|
||||
UP: 38
|
||||
},
|
||||
|
||||
_items: function(i, startTime) {
|
||||
var widget = this, ul = $('<ul></ul>'), item = null, time, end;
|
||||
|
||||
// interval should be a multiple of 60 if timeFormat is not
|
||||
// showing minutes
|
||||
if (i.options.timeFormat.indexOf('m') === -1 && i.options.interval % 60 !== 0) {
|
||||
i.options.interval = Math.max(Math.round(i.options.interval / 60), 1) * 60;
|
||||
}
|
||||
|
||||
if (startTime) {
|
||||
time = normalize(startTime);
|
||||
} else if (i.options.startTime) {
|
||||
time = normalize(i.options.startTime);
|
||||
} else {
|
||||
time = normalize(i.options.startHour, i.options.startMinutes);
|
||||
}
|
||||
|
||||
end = new Date(time.getTime() + 24 * 60 * 60 * 1000);
|
||||
|
||||
while(time < end) {
|
||||
if (widget._isValidTime(i, time)) {
|
||||
item = $('<li>').addClass('ui-menu-item').appendTo(ul);
|
||||
$('<a>').addClass('ui-corner-all').text($.fn.timepicker.formatTime(i.options.timeFormat, time)).appendTo(item);
|
||||
item.data('time-value', time);
|
||||
}
|
||||
time = new Date(time.getTime() + i.options.interval * 60 * 1000);
|
||||
}
|
||||
|
||||
return ul.children();
|
||||
},
|
||||
|
||||
_isValidTime: function(i, time) {
|
||||
var min = null, max = null;
|
||||
|
||||
time = normalize(time);
|
||||
|
||||
if (i.options.minTime !== null) {
|
||||
min = normalize(i.options.minTime);
|
||||
} else if (i.options.minHour !== null || i.options.minMinutes !== null) {
|
||||
min = normalize(i.options.minHour, i.options.minMinutes);
|
||||
}
|
||||
|
||||
if (i.options.maxTime !== null) {
|
||||
max = normalize(i.options.maxTime);
|
||||
} else if (i.options.maxHour !== null || i.options.maxMinutes !== null) {
|
||||
max = normalize(i.options.maxHour, i.options.maxMinutes);
|
||||
}
|
||||
|
||||
if (min !== null && max !== null) {
|
||||
return time >= min && time <= max;
|
||||
} else if (min !== null) {
|
||||
return time >= min;
|
||||
} else if (max !== null) {
|
||||
return time <= max;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
_hasScroll: function() {
|
||||
// fix for jQuery 1.6 new prop method
|
||||
var m = typeof this.ui.prop !== 'undefined' ? 'prop' : 'attr';
|
||||
return this.ui.height() < this.ui[m]('scrollHeight');
|
||||
},
|
||||
|
||||
/**
|
||||
* TODO: Write me!
|
||||
*
|
||||
* @param i
|
||||
* @param direction
|
||||
* @param edge
|
||||
* */
|
||||
_move: function(i, direction, edge) {
|
||||
var widget = this;
|
||||
if (widget.closed()) {
|
||||
widget.open(i);
|
||||
}
|
||||
if (!widget.active) {
|
||||
widget.activate( i, widget.viewport.children( edge ) );
|
||||
return;
|
||||
}
|
||||
var next = widget.active[direction + 'All']('.ui-menu-item').eq(0);
|
||||
if (next.length) {
|
||||
widget.activate(i, next);
|
||||
} else {
|
||||
widget.activate( i, widget.viewport.children( edge ) );
|
||||
}
|
||||
},
|
||||
|
||||
//
|
||||
// protected methods
|
||||
//
|
||||
|
||||
register: function(node, options) {
|
||||
var widget = this, i = {}; // timepicker instance object
|
||||
|
||||
i.element = $(node);
|
||||
|
||||
if (i.element.data('TimePicker')) {
|
||||
return;
|
||||
}
|
||||
|
||||
i.options = $.metadata ? $.extend({}, options, i.element.metadata()) : $.extend({}, options);
|
||||
i.widget = widget;
|
||||
|
||||
// proxy functions for the exposed api methods
|
||||
$.extend(i, {
|
||||
next: function() {return widget.next(i) ;},
|
||||
previous: function() {return widget.previous(i) ;},
|
||||
first: function() { return widget.first(i) ;},
|
||||
last: function() { return widget.last(i) ;},
|
||||
selected: function() { return widget.selected(i) ;},
|
||||
open: function() { return widget.open(i) ;},
|
||||
close: function() { return widget.close(i) ;},
|
||||
closed: function() { return widget.closed(i) ;},
|
||||
destroy: function() { return widget.destroy(i) ;},
|
||||
|
||||
parse: function(str) { return widget.parse(i, str) ;},
|
||||
format: function(time, format) { return widget.format(i, time, format); },
|
||||
getTime: function() { return widget.getTime(i) ;},
|
||||
setTime: function(time, silent) { return widget.setTime(i, time, silent); },
|
||||
option: function(name, value) { return widget.option(i, name, value); }
|
||||
});
|
||||
|
||||
widget._setDefaultTime(i);
|
||||
widget._addInputEventsHandlers(i);
|
||||
|
||||
i.element.data('TimePicker', i);
|
||||
},
|
||||
|
||||
_setDefaultTime: function(i) {
|
||||
if (i.options.defaultTime === 'now') {
|
||||
i.setTime(normalize(new Date()));
|
||||
} else if (i.options.defaultTime && i.options.defaultTime.getFullYear) {
|
||||
i.setTime(normalize(i.options.defaultTime));
|
||||
} else if (i.options.defaultTime) {
|
||||
i.setTime($.fn.timepicker.parseTime(i.options.defaultTime));
|
||||
}
|
||||
},
|
||||
|
||||
_addInputEventsHandlers: function(i) {
|
||||
var widget = this;
|
||||
|
||||
i.element.bind('keydown.timepicker', function(event) {
|
||||
switch (event.which || event.keyCode) {
|
||||
case widget.keyCode.ENTER:
|
||||
case widget.keyCode.NUMPAD_ENTER:
|
||||
event.preventDefault();
|
||||
if (widget.closed()) {
|
||||
i.element.trigger('change.timepicker');
|
||||
} else {
|
||||
widget.select(i, widget.active);
|
||||
}
|
||||
break;
|
||||
case widget.keyCode.UP:
|
||||
i.previous();
|
||||
break;
|
||||
case widget.keyCode.DOWN:
|
||||
i.next();
|
||||
break;
|
||||
default:
|
||||
if (!widget.closed()) {
|
||||
i.close(true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}).bind('focus.timepicker', function() {
|
||||
i.open();
|
||||
}).bind('blur.timepicker', function() {
|
||||
setTimeout(function() {
|
||||
if (i.element.data('timepicker-user-clicked-outside')) {
|
||||
i.close();
|
||||
}
|
||||
});
|
||||
}).bind('change.timepicker', function() {
|
||||
if (i.closed()) {
|
||||
i.setTime($.fn.timepicker.parseTime(i.element.val()));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
select: function(i, item) {
|
||||
var widget = this, instance = i === false ? widget.instance : i;
|
||||
widget.setTime(instance, $.fn.timepicker.parseTime(item.children('a').text()));
|
||||
widget.close(instance, true);
|
||||
},
|
||||
|
||||
activate: function(i, item) {
|
||||
var widget = this, instance = i === false ? widget.instance : i;
|
||||
|
||||
if (instance !== widget.instance) {
|
||||
return;
|
||||
} else {
|
||||
widget.deactivate();
|
||||
}
|
||||
|
||||
if (widget._hasScroll()) {
|
||||
var offset = item.offset().top - widget.ui.offset().top,
|
||||
scroll = widget.ui.scrollTop(),
|
||||
height = widget.ui.height();
|
||||
if (offset < 0) {
|
||||
widget.ui.scrollTop(scroll + offset);
|
||||
} else if (offset >= height) {
|
||||
widget.ui.scrollTop(scroll + offset - height + item.height());
|
||||
}
|
||||
}
|
||||
|
||||
widget.active = item.eq(0).children('a').addClass('ui-state-hover')
|
||||
.attr('id', 'ui-active-item')
|
||||
.end();
|
||||
},
|
||||
|
||||
deactivate: function() {
|
||||
var widget = this;
|
||||
if (!widget.active) { return; }
|
||||
widget.active.children('a').removeClass('ui-state-hover').removeAttr('id');
|
||||
widget.active = null;
|
||||
},
|
||||
|
||||
/**
|
||||
* _activate, _deactivate, first, last, next, previous, _move and
|
||||
* _hasScroll were extracted from jQuery UI Menu
|
||||
* http://github,com/jquery/jquery-ui/blob/menu/ui/jquery.ui.menu.js
|
||||
*/
|
||||
|
||||
//
|
||||
// public methods
|
||||
//
|
||||
|
||||
next: function(i) {
|
||||
if (this.closed() || this.instance === i) {
|
||||
this._move(i, 'next', '.ui-menu-item:first');
|
||||
}
|
||||
return i.element;
|
||||
},
|
||||
|
||||
previous: function(i) {
|
||||
if (this.closed() || this.instance === i) {
|
||||
this._move(i, 'prev', '.ui-menu-item:last');
|
||||
}
|
||||
return i.element;
|
||||
},
|
||||
|
||||
first: function(i) {
|
||||
if (this.instance === i) {
|
||||
return this.active && this.active.prevAll('.ui-menu-item').length === 0;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
last: function(i) {
|
||||
if (this.instance === i) {
|
||||
return this.active && this.active.nextAll('.ui-menu-item').length === 0;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
selected: function(i) {
|
||||
if (this.instance === i) {
|
||||
return this.active ? this.active : null;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
open: function(i) {
|
||||
var widget = this,
|
||||
selectedTime = i.getTime(),
|
||||
arrange = i.options.dynamic && selectedTime;
|
||||
|
||||
// return if dropdown is disabled
|
||||
if (!i.options.dropdown) { return i.element; }
|
||||
|
||||
// fix for issue https://github.com/wvega/timepicker/issues/56
|
||||
// idea from https://prototype.lighthouseapp.com/projects/8887/tickets/248-results-popup-from-ajaxautocompleter-disappear-when-user-clicks-on-scrollbars-in-ie6ie7
|
||||
i.element.data('timepicker-event-namespace', Math.random());
|
||||
|
||||
$(document).bind('click.timepicker-' + i.element.data('timepicker-event-namespace'), function(event) {
|
||||
if (i.element.get(0) === event.target) {
|
||||
i.element.data('timepicker-user-clicked-outside', false);
|
||||
} else {
|
||||
i.element.data('timepicker-user-clicked-outside', true).blur();
|
||||
}
|
||||
});
|
||||
|
||||
// if a date is already selected and options.dynamic is true,
|
||||
// arrange the items in the list so the first item is
|
||||
// cronologically right after the selected date.
|
||||
// TODO: set selectedTime
|
||||
if (i.rebuild || !i.items || arrange) {
|
||||
i.items = widget._items(i, arrange ? selectedTime : null);
|
||||
}
|
||||
|
||||
// remove old li elements keeping associated events, then append
|
||||
// the new li elements to the ul
|
||||
if (i.rebuild || widget.instance !== i || arrange) {
|
||||
// handle menu events when using jQuery versions previous to
|
||||
// 1.4.2 (thanks to Brian Link)
|
||||
// http://github.com/wvega/timepicker/issues#issue/4
|
||||
if ($.fn.jquery < '1.4.2') {
|
||||
widget.viewport.children().remove();
|
||||
widget.viewport.append(i.items);
|
||||
widget.viewport.find('a').bind('mouseover.timepicker', function() {
|
||||
widget.activate(i, $(this).parent());
|
||||
}).bind('mouseout.timepicker', function() {
|
||||
widget.deactivate(i);
|
||||
}).bind('click.timepicker', function(event) {
|
||||
event.preventDefault();
|
||||
widget.select(i, $(this).parent());
|
||||
});
|
||||
} else {
|
||||
widget.viewport.children().detach();
|
||||
widget.viewport.append(i.items);
|
||||
}
|
||||
}
|
||||
|
||||
i.rebuild = false;
|
||||
|
||||
// theme
|
||||
widget.container.removeClass('ui-helper-hidden ui-timepicker-hidden ui-timepicker-standard ui-timepicker-corners').show();
|
||||
|
||||
switch (i.options.theme) {
|
||||
case 'standard':
|
||||
widget.container.addClass('ui-timepicker-standard');
|
||||
break;
|
||||
case 'standard-rounded-corners':
|
||||
widget.container.addClass('ui-timepicker-standard ui-timepicker-corners');
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* resize ui */
|
||||
|
||||
// we are hiding the scrollbar in the dropdown menu adding a 40px
|
||||
// padding to the wrapper element making the scrollbar appear in the
|
||||
// part of the wrapper that's hidden by the container (a DIV).
|
||||
if ( ! widget.container.hasClass( 'ui-timepicker-no-scrollbar' ) && ! i.options.scrollbar ) {
|
||||
widget.container.addClass( 'ui-timepicker-no-scrollbar' );
|
||||
widget.viewport.css( { paddingRight: 40 } );
|
||||
}
|
||||
|
||||
var containerDecorationHeight = widget.container.outerHeight() - widget.container.height(),
|
||||
zindex = i.options.zindex ? i.options.zindex : i.element.offsetParent().css( 'z-index' ),
|
||||
elementOffset = i.element.offset();
|
||||
|
||||
// position the container right below the element, or as close to as possible.
|
||||
widget.container.css( {
|
||||
top: elementOffset.top + i.element.outerHeight(),
|
||||
left: elementOffset.left
|
||||
} );
|
||||
|
||||
// then show the container so that the browser can consider the timepicker's
|
||||
// height to calculate the page's total height and decide if adding scrollbars
|
||||
// is necessary.
|
||||
widget.container.show();
|
||||
|
||||
// now we need to calculate the element offset and position the container again.
|
||||
// If the browser added scrollbars, the container's original position is not aligned
|
||||
// with the element's final position. This step fixes that problem.
|
||||
widget.container.css( {
|
||||
left: i.element.offset().left,
|
||||
height: widget.ui.outerHeight() + containerDecorationHeight,
|
||||
width: i.element.outerWidth(),
|
||||
zIndex: zindex,
|
||||
cursor: 'default'
|
||||
} );
|
||||
|
||||
var calculatedWidth = widget.container.width() - ( widget.ui.outerWidth() - widget.ui.width() );
|
||||
|
||||
// hardcode ui, viewport and item's width. I couldn't get it to work using CSS only
|
||||
widget.ui.css( { width: calculatedWidth } );
|
||||
widget.viewport.css( { width: calculatedWidth } );
|
||||
i.items.css( { width: calculatedWidth } );
|
||||
|
||||
// XXX: what's this line doing here?
|
||||
widget.instance = i;
|
||||
|
||||
// try to match input field's current value with an item in the
|
||||
// dropdown
|
||||
if (selectedTime) {
|
||||
i.items.each(function() {
|
||||
var item = $(this), time;
|
||||
|
||||
if ($.fn.jquery < '1.4.2') {
|
||||
time = $.fn.timepicker.parseTime(item.find('a').text());
|
||||
} else {
|
||||
time = item.data('time-value');
|
||||
}
|
||||
|
||||
if (time.getTime() === selectedTime.getTime()) {
|
||||
widget.activate(i, item);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
} else {
|
||||
widget.deactivate(i);
|
||||
}
|
||||
|
||||
// don't break the chain
|
||||
return i.element;
|
||||
},
|
||||
|
||||
close: function(i) {
|
||||
var widget = this;
|
||||
|
||||
if (widget.instance === i) {
|
||||
widget.container.addClass('ui-helper-hidden ui-timepicker-hidden').hide();
|
||||
widget.ui.scrollTop(0);
|
||||
widget.ui.children().removeClass('ui-state-hover');
|
||||
}
|
||||
|
||||
$(document).unbind('click.timepicker-' + i.element.data('timepicker-event-namespace'));
|
||||
|
||||
return i.element;
|
||||
},
|
||||
|
||||
closed: function() {
|
||||
return this.ui.is(':hidden');
|
||||
},
|
||||
|
||||
destroy: function(i) {
|
||||
var widget = this;
|
||||
widget.close(i, true);
|
||||
return i.element.unbind('.timepicker').data('TimePicker', null);
|
||||
},
|
||||
|
||||
//
|
||||
|
||||
parse: function(i, str) {
|
||||
return $.fn.timepicker.parseTime(str);
|
||||
},
|
||||
|
||||
format: function(i, time, format) {
|
||||
format = format || i.options.timeFormat;
|
||||
return $.fn.timepicker.formatTime(format, time);
|
||||
},
|
||||
|
||||
getTime: function(i) {
|
||||
var widget = this,
|
||||
current = $.fn.timepicker.parseTime(i.element.val());
|
||||
|
||||
// if current value is not valid, we return null.
|
||||
// stored Date object is ignored, because the current value
|
||||
// (valid or invalid) always takes priority
|
||||
if (current instanceof Date && !widget._isValidTime(i, current)) {
|
||||
return null;
|
||||
} else if (current instanceof Date && i.selectedTime) {
|
||||
// if the textfield's value and the stored Date object
|
||||
// have the same representation using current format
|
||||
// we prefer the stored Date object to avoid unnecesary
|
||||
// lost of precision.
|
||||
if (i.format(current) === i.format(i.selectedTime)) {
|
||||
return i.selectedTime;
|
||||
} else {
|
||||
return current;
|
||||
}
|
||||
} else if (current instanceof Date) {
|
||||
return current;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
setTime: function(i, time, silent) {
|
||||
var widget = this, previous = i.selectedTime;
|
||||
|
||||
if (typeof time === 'string') {
|
||||
time = i.parse(time);
|
||||
}
|
||||
|
||||
if (time && time.getMinutes && widget._isValidTime(i, time)) {
|
||||
time = normalize(time);
|
||||
i.selectedTime = time;
|
||||
i.element.val(i.format(time, i.options.timeFormat));
|
||||
|
||||
// TODO: add documentaion about setTime being chainable
|
||||
if (silent) { return i; }
|
||||
} else {
|
||||
i.selectedTime = null;
|
||||
}
|
||||
|
||||
// custom change event and change callback
|
||||
// TODO: add documentation about this event
|
||||
if (previous !== null || i.selectedTime !== null) {
|
||||
i.element.trigger('time-change', [time]);
|
||||
if ($.isFunction(i.options.change)) {
|
||||
i.options.change.apply(i.element, [time]);
|
||||
}
|
||||
}
|
||||
|
||||
return i.element;
|
||||
},
|
||||
|
||||
option: function(i, name, value) {
|
||||
if (typeof value === 'undefined') {
|
||||
return i.options[name];
|
||||
}
|
||||
|
||||
var time = i.getTime(),
|
||||
options, destructive;
|
||||
|
||||
if (typeof name === 'string') {
|
||||
options = {};
|
||||
options[name] = value;
|
||||
} else {
|
||||
options = name;
|
||||
}
|
||||
|
||||
// some options require rebuilding the dropdown items
|
||||
destructive = ['minHour', 'minMinutes', 'minTime',
|
||||
'maxHour', 'maxMinutes', 'maxTime',
|
||||
'startHour', 'startMinutes', 'startTime',
|
||||
'timeFormat', 'interval', 'dropdown'];
|
||||
|
||||
|
||||
$.each(options, function(name) {
|
||||
i.options[name] = options[name];
|
||||
i.rebuild = i.rebuild || $.inArray(name, destructive) > -1;
|
||||
});
|
||||
|
||||
if (i.rebuild) {
|
||||
i.setTime(time);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.TimePicker.defaults = {
|
||||
timeFormat: 'hh:mm p',
|
||||
minHour: null,
|
||||
minMinutes: null,
|
||||
minTime: null,
|
||||
maxHour: null,
|
||||
maxMinutes: null,
|
||||
maxTime: null,
|
||||
startHour: null,
|
||||
startMinutes: null,
|
||||
startTime: null,
|
||||
interval: 30,
|
||||
dynamic: true,
|
||||
theme: 'standard',
|
||||
zindex: null,
|
||||
dropdown: true,
|
||||
scrollbar: false,
|
||||
// callbacks
|
||||
change: function(/*time*/) {}
|
||||
};
|
||||
|
||||
$.TimePicker.methods = {
|
||||
chainable: [
|
||||
'next',
|
||||
'previous',
|
||||
'open',
|
||||
'close',
|
||||
'destroy',
|
||||
'setTime'
|
||||
]
|
||||
};
|
||||
|
||||
$.fn.timepicker = function(options) {
|
||||
// support calling API methods using the following syntax:
|
||||
// $(...).timepicker('parse', '11p');
|
||||
if (typeof options === 'string') {
|
||||
var args = Array.prototype.slice.call(arguments, 1),
|
||||
method, result;
|
||||
|
||||
// chainable API methods
|
||||
if (options === 'option' && arguments.length > 2) {
|
||||
method = 'each';
|
||||
} else if ($.inArray(options, $.TimePicker.methods.chainable) !== -1) {
|
||||
method = 'each';
|
||||
// API methods that return a value
|
||||
} else {
|
||||
method = 'map';
|
||||
}
|
||||
|
||||
result = this[method](function() {
|
||||
var element = $(this), i = element.data('TimePicker');
|
||||
if (typeof i === 'object') {
|
||||
return i[options].apply(i, args);
|
||||
}
|
||||
});
|
||||
|
||||
if (method === 'map' && this.length === 1) {
|
||||
return $.makeArray(result).shift();
|
||||
} else if (method === 'map') {
|
||||
return $.makeArray(result);
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// calling the constructor again on a jQuery object with a single
|
||||
// element returns a reference to a TimePicker object.
|
||||
if (this.length === 1 && this.data('TimePicker')) {
|
||||
return this.data('TimePicker');
|
||||
}
|
||||
|
||||
var globals = $.extend({}, $.TimePicker.defaults, options);
|
||||
|
||||
return this.each(function() {
|
||||
$.TimePicker.instance().register(this, globals);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* TODO: documentation
|
||||
*/
|
||||
$.fn.timepicker.formatTime = function(format, time) {
|
||||
var hours = time.getHours(),
|
||||
hours12 = hours % 12,
|
||||
minutes = time.getMinutes(),
|
||||
seconds = time.getSeconds(),
|
||||
replacements = {
|
||||
hh: pad((hours12 === 0 ? 12 : hours12).toString(), '0', 2),
|
||||
HH: pad(hours.toString(), '0', 2),
|
||||
mm: pad(minutes.toString(), '0', 2),
|
||||
ss: pad(seconds.toString(), '0', 2),
|
||||
h: (hours12 === 0 ? 12 : hours12),
|
||||
H: hours,
|
||||
m: minutes,
|
||||
s: seconds,
|
||||
p: hours > 11 ? 'PM' : 'AM'
|
||||
},
|
||||
str = format, k = '';
|
||||
for (k in replacements) {
|
||||
if (replacements.hasOwnProperty(k)) {
|
||||
str = str.replace(new RegExp(k,'g'), replacements[k]);
|
||||
}
|
||||
}
|
||||
// replacements is not guaranteed to be order and the 'p' can cause problems
|
||||
str = str.replace(new RegExp('a','g'), hours > 11 ? 'pm' : 'am');
|
||||
return str;
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert a string representing a given time into a Date object.
|
||||
*
|
||||
* The Date object will have attributes others than hours, minutes and
|
||||
* seconds set to current local time values. The function will return
|
||||
* false if given string can't be converted.
|
||||
*
|
||||
* If there is an 'a' in the string we set am to true, if there is a 'p'
|
||||
* we set pm to true, if both are present only am is setted to true.
|
||||
*
|
||||
* All non-digit characters are removed from the string before trying to
|
||||
* parse the time.
|
||||
*
|
||||
* '' can't be converted and the function returns false.
|
||||
* '1' is converted to 01:00:00 am
|
||||
* '11' is converted to 11:00:00 am
|
||||
* '111' is converted to 01:11:00 am
|
||||
* '1111' is converted to 11:11:00 am
|
||||
* '11111' is converted to 01:11:11 am
|
||||
* '111111' is converted to 11:11:11 am
|
||||
*
|
||||
* Only the first six (or less) characters are considered.
|
||||
*
|
||||
* Special case:
|
||||
*
|
||||
* When hours is greater than 24 and the last digit is less or equal than 6, and minutes
|
||||
* and seconds are less or equal than 60, we append a trailing zero and
|
||||
* start parsing process again. Examples:
|
||||
*
|
||||
* '95' is treated as '950' and converted to 09:50:00 am
|
||||
* '46' is treated as '460' and converted to 05:00:00 am
|
||||
* '57' can't be converted and the function returns false.
|
||||
*
|
||||
* For a detailed list of supported formats check the unit tests at
|
||||
* http://github.com/wvega/timepicker/tree/master/tests/
|
||||
*/
|
||||
$.fn.timepicker.parseTime = (function() {
|
||||
var patterns = [
|
||||
// 1, 12, 123, 1234, 12345, 123456
|
||||
[/^(\d+)$/, '$1'],
|
||||
// :1, :2, :3, :4 ... :9
|
||||
[/^:(\d)$/, '$10'],
|
||||
// :1, :12, :123, :1234 ...
|
||||
[/^:(\d+)/, '$1'],
|
||||
// 6:06, 5:59, 5:8
|
||||
[/^(\d):([7-9])$/, '0$10$2'],
|
||||
[/^(\d):(\d\d)$/, '$1$2'],
|
||||
[/^(\d):(\d{1,})$/, '0$1$20'],
|
||||
// 10:8, 10:10, 10:34
|
||||
[/^(\d\d):([7-9])$/, '$10$2'],
|
||||
[/^(\d\d):(\d)$/, '$1$20'],
|
||||
[/^(\d\d):(\d*)$/, '$1$2'],
|
||||
// 123:4, 1234:456
|
||||
[/^(\d{3,}):(\d)$/, '$10$2'],
|
||||
[/^(\d{3,}):(\d{2,})/, '$1$2'],
|
||||
//
|
||||
[/^(\d):(\d):(\d)$/, '0$10$20$3'],
|
||||
[/^(\d{1,2}):(\d):(\d\d)/, '$10$2$3']
|
||||
],
|
||||
length = patterns.length;
|
||||
|
||||
return function(str) {
|
||||
var time = normalize(new Date()),
|
||||
am = false, pm = false, h = false, m = false, s = false;
|
||||
|
||||
if (typeof str === 'undefined' || !str.toLowerCase) { return null; }
|
||||
|
||||
str = str.toLowerCase();
|
||||
am = /a/.test(str);
|
||||
pm = am ? false : /p/.test(str);
|
||||
str = str.replace(/[^0-9:]/g, '').replace(/:+/g, ':');
|
||||
|
||||
for (var k = 0; k < length; k = k + 1) {
|
||||
if (patterns[k][0].test(str)) {
|
||||
str = str.replace(patterns[k][0], patterns[k][1]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
str = str.replace(/:/g, '');
|
||||
|
||||
if (str.length === 1) {
|
||||
h = str;
|
||||
} else if (str.length === 2) {
|
||||
h = str;
|
||||
} else if (str.length === 3 || str.length === 5) {
|
||||
h = str.substr(0, 1);
|
||||
m = str.substr(1, 2);
|
||||
s = str.substr(3, 2);
|
||||
} else if (str.length === 4 || str.length > 5) {
|
||||
h = str.substr(0, 2);
|
||||
m = str.substr(2, 2);
|
||||
s = str.substr(4, 2);
|
||||
}
|
||||
|
||||
if (str.length > 0 && str.length < 5) {
|
||||
if (str.length < 3) {
|
||||
m = 0;
|
||||
}
|
||||
s = 0;
|
||||
}
|
||||
|
||||
if (h === false || m === false || s === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
h = parseInt(h, 10);
|
||||
m = parseInt(m, 10);
|
||||
s = parseInt(s, 10);
|
||||
|
||||
if (am && h === 12) {
|
||||
h = 0;
|
||||
} else if (pm && h < 12) {
|
||||
h = h + 12;
|
||||
}
|
||||
|
||||
if (h > 24) {
|
||||
if (str.length >= 6) {
|
||||
return $.fn.timepicker.parseTime(str.substr(0,5));
|
||||
} else {
|
||||
return $.fn.timepicker.parseTime(str + '0' + (am ? 'a' : '') + (pm ? 'p' : ''));
|
||||
}
|
||||
} else {
|
||||
time.setHours(h, m, s);
|
||||
return time;
|
||||
}
|
||||
};
|
||||
})();
|
||||
})();
|
||||
}));
|
11
jquery/jquery.timepicker.min.css
vendored
Executable file
11
jquery/jquery.timepicker.min.css
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* jQuery Timepicker - v1.3.5 - 2016-07-10
|
||||
* http://timepicker.co
|
||||
*
|
||||
* Enhances standard form input fields helping users to select (or type) times.
|
||||
*
|
||||
* Copyright (c) 2016 Willington Vega; Licensed MIT, GPL
|
||||
*/
|
||||
|
||||
|
||||
.ui-timepicker-container{position:absolute;overflow:hidden;box-sizing:border-box}.ui-timepicker{box-sizing:content-box;display:block;height:205px;list-style:none outside none;margin:0;padding:0 1px;text-align:center}.ui-timepicker-viewport{box-sizing:content-box;display:block;height:205px;margin:0;padding:0;overflow:auto;overflow-x:hidden}.ui-timepicker-standard{font-family:Verdana,Arial,sans-serif;font-size:1.1em;background-color:#FFF;border:1px solid #AAA;color:#222;margin:0;padding:2px}.ui-timepicker-standard a{border:1px solid transparent;color:#222;display:block;padding:.2em .4em;text-decoration:none}.ui-timepicker-standard .ui-state-hover{background-color:#DADADA;border:1px solid #999;font-weight:400;color:#212121}.ui-timepicker-standard .ui-menu-item{margin:0;padding:0}.ui-timepicker-corners,.ui-timepicker-corners .ui-corner-all{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.ui-timepicker-hidden{display:none}.ui-timepicker-no-scrollbar .ui-timepicker{border:0}
|
10
jquery/jquery.timepicker.min.js
vendored
Executable file
10
jquery/jquery.timepicker.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
2
jquery/jqx/jqxcore.js
vendored
2
jquery/jqx/jqxcore.js
vendored
File diff suppressed because one or more lines are too long
75
jquery/main.css
Executable file
75
jquery/main.css
Executable file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
First: A couple styles to make the demo page look good
|
||||
*/
|
||||
body {
|
||||
padding-bottom: 2rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
border-top: 4px solid #28a745;
|
||||
}
|
||||
|
||||
nav li.active {
|
||||
border-bottom: 4px solid #28a745;
|
||||
}
|
||||
|
||||
.row {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
[class*="col-"] {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
hr {
|
||||
margin-top: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.progress {
|
||||
height: 1.5rem;
|
||||
}
|
||||
|
||||
#files {
|
||||
overflow-y: scroll !important;
|
||||
min-height: 320px;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
#files {
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#debug {
|
||||
overflow-y: scroll !important;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
|
||||
/* These are for the single examle */
|
||||
.preview-img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
}
|
||||
|
||||
form {
|
||||
border: solid #f7f7f9 !important;
|
||||
padding: 1.5rem
|
||||
}
|
||||
|
||||
form.active {
|
||||
border-color: red !important;
|
||||
}
|
||||
|
||||
form .progress {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.dm-uploader {
|
||||
border: 0.25rem dashed #A5A5C7;
|
||||
}
|
||||
.dm-uploader.active {
|
||||
border-color: red;
|
||||
|
||||
border-style: solid;
|
||||
}
|
||||
|
2
jquery/modernizr-custom_input.js
vendored
2
jquery/modernizr-custom_input.js
vendored
@ -1,3 +1,3 @@
|
||||
/*! modernizr 3.6.0 (Custom Build) | MIT *
|
||||
* https://modernizr.com/download/?-input-setclasses !*/
|
||||
!function(e,n,t){function s(e,n){return typeof e===n}function a(){var e,n,t,a,o,i,f;for(var c in r)if(r.hasOwnProperty(c)){if(e=[],n=r[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(a=s(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++)i=e[o],f=i.split("."),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),l.push((a?"":"no-")+f.join("-"))}}function o(e){var n=c.className,t=Modernizr._config.classPrefix||"";if(u&&(n=n.baseVal),Modernizr._config.enableJSClass){var s=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(s,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),u?c.className.baseVal=n:c.className=n)}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):u?n.createElementNS.call(n,"https://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}var l=[],r=[],f={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){r.push({name:e,fn:n,options:t})},addAsyncTest:function(e){r.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=f,Modernizr=new Modernizr;var c=n.documentElement,u="svg"===c.nodeName.toLowerCase(),p=i("input"),m="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),d={};Modernizr.input=function(n){for(var t=0,s=n.length;s>t;t++)d[n[t]]=!!(n[t]in p);return d.list&&(d.list=!(!i("datalist")||!e.HTMLDataListElement)),d}(m),a(),o(l),delete f.addTest,delete f.addAsyncTest;for(var g=0;g<Modernizr._q.length;g++)Modernizr._q[g]();e.Modernizr=Modernizr}(window,document);
|
||||
!function(e,n,t){function s(e,n){return typeof e===n}function a(){var e,n,t,a,o,i,f;for(var c in r)if(r.hasOwnProperty(c)){if(e=[],n=r[c],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(a=s(n.fn,"function")?n.fn():n.fn,o=0;o<e.length;o++)i=e[o],f=i.split("."),1===f.length?Modernizr[f[0]]=a:(!Modernizr[f[0]]||Modernizr[f[0]]instanceof Boolean||(Modernizr[f[0]]=new Boolean(Modernizr[f[0]])),Modernizr[f[0]][f[1]]=a),l.push((a?"":"no-")+f.join("-"))}}function o(e){var n=c.className,t=Modernizr._config.classPrefix||"";if(u&&(n=n.baseVal),Modernizr._config.enableJSClass){var s=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(s,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),u?c.className.baseVal=n:c.className=n)}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):u?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}var l=[],r=[],f={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){r.push({name:e,fn:n,options:t})},addAsyncTest:function(e){r.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=f,Modernizr=new Modernizr;var c=n.documentElement,u="svg"===c.nodeName.toLowerCase(),p=i("input"),m="autocomplete autofocus list placeholder max min multiple pattern required step".split(" "),d={};Modernizr.input=function(n){for(var t=0,s=n.length;s>t;t++)d[n[t]]=!!(n[t]in p);return d.list&&(d.list=!(!i("datalist")||!e.HTMLDataListElement)),d}(m),a(),o(l),delete f.addTest,delete f.addAsyncTest;for(var g=0;g<Modernizr._q.length;g++)Modernizr._q[g]();e.Modernizr=Modernizr}(window,document);
|
2
jquery/modernizr.min.js
vendored
2
jquery/modernizr.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,9 +1,9 @@
|
||||
#wan-spinner, a jQuery Spinner
|
||||
----------
|
||||
|
||||
> 
|
||||
> 
|
||||
|
||||
### [demo](https://blog.0xfc.cn/2015/08/09/spinner/) ###
|
||||
### [demo](http://blog.0xfc.cn/2015/08/09/spinner/) ###
|
||||
|
||||
> demo/test.html
|
||||
|
||||
|
@ -7,8 +7,8 @@
|
||||
<title>jQuery Wan Spinner Plugin Demos</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="../build/wan-spinner.css">
|
||||
<link href="https://www.jqueryscript.net/css/jquerysctipttop.css" rel="stylesheet" type="text/css">
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
|
||||
<link href="http://www.jqueryscript.net/css/jquerysctipttop.css" rel="stylesheet" type="text/css">
|
||||
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed' rel='stylesheet' type='text/css'>
|
||||
<style>
|
||||
body { background-color:#ECF0F1; font-family:'Roboto Condensed';}
|
||||
.container { margin:150px auto; text-align:center; max-width:640px;}
|
||||
@ -20,8 +20,8 @@
|
||||
<div id="jquery-script-menu">
|
||||
<div class="jquery-script-center">
|
||||
<ul>
|
||||
<li><a href="https://www.jqueryscript.net/form/Minimal-Number-Picker-Plugin-For-jQuery-Wan-Spinner.html">Download This Plugin</a></li>
|
||||
<li><a href="https://www.jqueryscript.net/">Back To jQueryScript.Net</a></li>
|
||||
<li><a href="http://www.jqueryscript.net/form/Minimal-Number-Picker-Plugin-For-jQuery-Wan-Spinner.html">Download This Plugin</a></li>
|
||||
<li><a href="http://www.jqueryscript.net/">Back To jQueryScript.Net</a></li>
|
||||
</ul>
|
||||
<div class="jquery-script-ads"><script type="text/javascript"><!--
|
||||
google_ad_client = "ca-pub-2783044520727903";
|
||||
@ -31,7 +31,7 @@ google_ad_width = 728;
|
||||
google_ad_height = 90;
|
||||
//-->
|
||||
</script>
|
||||
<script type="text/javascript" src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||||
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||||
</script></div>
|
||||
<div class="jquery-script-clear"></div>
|
||||
</div>
|
||||
|
@ -1,7 +1,7 @@
|
||||
Numbertor
|
||||
=======
|
||||
Numbertor is a jQuery-based addon for input boxes, giving them a number sanitizer.
|
||||
[You can see a demo here](https://opensource.qodio.com/numbertor).
|
||||
[You can see a demo here](http://opensource.qodio.com/numbertor).
|
||||
|
||||
|
||||
Usage
|
||||
|
@ -102,7 +102,7 @@ src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'https://www') + '.google-analytics.com/ga.js';
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
"title": "jQuery UI",
|
||||
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
|
||||
"version": "1.12.1",
|
||||
"homepage": "https://jqueryui.com",
|
||||
"homepage": "http://jqueryui.com",
|
||||
"author": {
|
||||
"name": "jQuery Foundation and other contributors",
|
||||
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
|
||||
@ -13,27 +13,27 @@
|
||||
{
|
||||
"name": "Scott González",
|
||||
"email": "scott.gonzalez@gmail.com",
|
||||
"url": "https://scottgonzalez.com"
|
||||
"url": "http://scottgonzalez.com"
|
||||
},
|
||||
{
|
||||
"name": "Jörn Zaefferer",
|
||||
"email": "joern.zaefferer@gmail.com",
|
||||
"url": "https://bassistance.de"
|
||||
"url": "http://bassistance.de"
|
||||
},
|
||||
{
|
||||
"name": "Mike Sherov",
|
||||
"email": "mike.sherov@gmail.com",
|
||||
"url": "https://mike.sherov.com"
|
||||
"url": "http://mike.sherov.com"
|
||||
},
|
||||
{
|
||||
"name": "TJ VanToll",
|
||||
"email": "tj.vantoll@gmail.com",
|
||||
"url": "https://tjvantoll.com"
|
||||
"url": "http://tjvantoll.com"
|
||||
},
|
||||
{
|
||||
"name": "Felix Nagel",
|
||||
"email": "info@felixnagel.com",
|
||||
"url": "https://www.felixnagel.com"
|
||||
"url": "http://www.felixnagel.com"
|
||||
},
|
||||
{
|
||||
"name": "Alex Schmitz",
|
||||
|
2
jquery/prism-coy.min.css
vendored
Executable file
2
jquery/prism-coy.min.css
vendored
Executable file
@ -0,0 +1,2 @@
|
||||
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:0}pre[class*=language-]>code{position:relative;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}code[class*=language]{max-height:inherit;padding:0 1em;display:block;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}:not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}pre[class*=language-]:after,pre[class*=language-]:before{content:'';z-index:-2;display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}:not(pre)>code[class*=language-]:after,pre[class*=language-]:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7d8b99}.token.punctuation{color:#5f6364}.token.boolean,.token.constant,.token.deleted,.token.function-name,.token.number,.token.property,.token.symbol,.token.tag{color:#c92c2c}.token.attr-name,.token.builtin,.token.char,.token.function,.token.inserted,.token.selector,.token.string{color:#2f9c0a}.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.class-name,.token.keyword{color:#1990b8}.token.important,.token.regex{color:#e90}.language-css .token.string,.style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}.token.important{font-weight:400}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.namespace{opacity:.7}@media screen and (max-width:767px){pre[class*=language-]:after,pre[class*=language-]:before{bottom:14px;box-shadow:none}}.token.cr:before,.token.lf:before,.token.tab:not(:empty):before{color:#e0d7d1}pre[class*=language-].line-numbers{padding-left:0}pre[class*=language-].line-numbers code{padding-left:3.8em}pre[class*=language-].line-numbers .line-numbers-rows{left:0}pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}pre[data-line] code{position:relative;padding-left:4em}pre .line-highlight{margin-top:0}
|
||||
/*# sourceMappingURL=prism-coy.min.css.map */
|
1
jquery/prism-javascript.min.js
vendored
Executable file
1
jquery/prism-javascript.min.js
vendored
Executable file
@ -0,0 +1 @@
|
||||
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\d*\.?\d+(?:[Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[[^\]\r\n]+]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,alias:"function"}}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\s\S]*?>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript",greedy:!0}}),Prism.languages.js=Prism.languages.javascript;
|
1
jquery/prism.min.js
vendored
Executable file
1
jquery/prism.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
21
jquery/prx_search.js
vendored
Executable file
21
jquery/prx_search.js
vendored
Executable file
@ -0,0 +1,21 @@
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#search').keyup(function()
|
||||
{
|
||||
|
||||
if($(this).val().length >= 3 || $(this).val() == '%')
|
||||
{
|
||||
$.get("../admin/prx_search.php", {search: $(this).val()}, function(data)
|
||||
{
|
||||
$("#results").html(data);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$("#btnSubmit").click(function(){
|
||||
$.get("../admin/prx_search.php", {search: '%'}, function(data)
|
||||
{
|
||||
$("#results").html(data);
|
||||
});
|
||||
});
|
||||
});
|
23
jquery/ui-main.js
vendored
Executable file
23
jquery/ui-main.js
vendored
Executable file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Some helper functions to work with our UI and keep our code cleaner
|
||||
*/
|
||||
|
||||
// Adds an entry to our debug area
|
||||
function ui_add_log(message, color)
|
||||
{
|
||||
var d = new Date();
|
||||
|
||||
var dateString = (('0' + d.getHours())).slice(-2) + ':' +
|
||||
(('0' + d.getMinutes())).slice(-2) + ':' +
|
||||
(('0' + d.getSeconds())).slice(-2);
|
||||
|
||||
color = (typeof color === 'undefined' ? 'muted' : color);
|
||||
|
||||
var template = $('#debug-template').text();
|
||||
template = template.replace('%%date%%', dateString);
|
||||
template = template.replace('%%message%%', message);
|
||||
template = template.replace('%%color%%', color);
|
||||
|
||||
$('#debug').find('li.empty').fadeOut(); // remove the 'no messages yet'
|
||||
$('#debug').prepend(template);
|
||||
}
|
62
jquery/ui-multiple.js
vendored
Executable file
62
jquery/ui-multiple.js
vendored
Executable file
@ -0,0 +1,62 @@
|
||||
// Creates a new file and add it to our list
|
||||
function ui_multi_add_file(id, file)
|
||||
{
|
||||
var template = $('#files-template').text();
|
||||
template = template.replace('%%filename%%', file.name);
|
||||
|
||||
template = $(template);
|
||||
template.prop('id', 'uploaderFile' + id);
|
||||
template.data('file-id', id);
|
||||
|
||||
$('#files').find('li.empty').fadeOut(); // remove the 'no files yet'
|
||||
$('#files').prepend(template);
|
||||
}
|
||||
|
||||
// Changes the status messages on our list
|
||||
function ui_multi_update_file_status(id, status, message)
|
||||
{
|
||||
$('#uploaderFile' + id).find('span').html(message).prop('class', 'status text-' + status);
|
||||
}
|
||||
|
||||
// Updates a file progress, depending on the parameters it may animate it or change the color.
|
||||
function ui_multi_update_file_progress(id, percent, color, active)
|
||||
{
|
||||
color = (typeof color === 'undefined' ? false : color);
|
||||
active = (typeof active === 'undefined' ? true : active);
|
||||
|
||||
var bar = $('#uploaderFile' + id).find('div.progress-bar');
|
||||
|
||||
bar.width(percent + '%').attr('aria-valuenow', percent);
|
||||
bar.toggleClass('progress-bar-striped progress-bar-animated', active);
|
||||
|
||||
if (percent === 0){
|
||||
bar.html('');
|
||||
} else {
|
||||
bar.html(percent + '%');
|
||||
}
|
||||
|
||||
if (color !== false){
|
||||
bar.removeClass('bg-success bg-info bg-warning bg-danger');
|
||||
bar.addClass('bg-' + color);
|
||||
}
|
||||
}
|
||||
|
||||
// Toggles the disabled status of Star/Cancel buttons on one particual file
|
||||
function ui_multi_update_file_controls(id, start, cancel, wasError)
|
||||
{
|
||||
wasError = (typeof wasError === 'undefined' ? false : wasError);
|
||||
|
||||
$('#uploaderFile' + id).find('button.start').prop('disabled', !start);
|
||||
$('#uploaderFile' + id).find('button.cancel').prop('disabled', !cancel);
|
||||
|
||||
if (!start && !cancel) {
|
||||
$('#uploaderFile' + id).find('.controls').fadeOut();
|
||||
} else {
|
||||
$('#uploaderFile' + id).find('.controls').fadeIn();
|
||||
}
|
||||
|
||||
if (wasError) {
|
||||
$('#uploaderFile' + id).find('button.start').html('Retry');
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -580,7 +580,7 @@
|
||||
|
||||
* libs/Smarty_Compiler.class.php:
|
||||
Modified _(push|pop)_cacheable_state() to embedd alternate syntax. See this
|
||||
bug report: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=10502
|
||||
bug report: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=10502
|
||||
|
||||
2007-02-26 Peter 'Mash' Morgan <pm@daffodil.uk.com>
|
||||
|
||||
@ -717,7 +717,7 @@
|
||||
|
||||
This avoids unlink() unless rename() fails or a Windows system is detected
|
||||
|
||||
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=6956
|
||||
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=6956
|
||||
|
||||
Thanks to c960657 from the forums.
|
||||
|
||||
@ -728,7 +728,7 @@
|
||||
update debug.tpl to xhtml 1.1 compliance, fix javascript escaping in debug
|
||||
output and apply a Smarty based color scheme
|
||||
|
||||
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=7178
|
||||
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=7178
|
||||
|
||||
thanks to cybot from the forums!
|
||||
|
||||
@ -736,7 +736,7 @@
|
||||
libs/plugins/modifier.debug_print_var.php:
|
||||
enhance reporting precision of debug_print_var modifier
|
||||
|
||||
see: https://www.phpinsider.com/smarty-forum/viewtopic.php?t=9281
|
||||
see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=9281
|
||||
|
||||
thanks to cybot from the forums
|
||||
|
||||
@ -1682,7 +1682,7 @@
|
||||
"Alternative syntax" used for example in compiled {if}..{else}..{/if}
|
||||
blocks.
|
||||
|
||||
(see: https://php.net/manual/en/control-structures.alternative-syntax.php
|
||||
(see: http://php.net/manual/en/control-structures.alternative-syntax.php
|
||||
on "Alternative syntax")
|
||||
|
||||
thanks to kihara from the forum.
|
||||
@ -1701,7 +1701,7 @@
|
||||
|
||||
* libs/plugins/function.popup.php:
|
||||
added "closeclick" from
|
||||
https://www.bosrup.com/web/overlib/?Command_Reference
|
||||
http://www.bosrup.com/web/overlib/?Command_Reference
|
||||
|
||||
2005-11-23 boots <jayboots@yahoo.com>
|
||||
|
||||
|
@ -6,7 +6,7 @@ GENERAL
|
||||
Q: What is Smarty?
|
||||
Q: What's the difference between Smarty and other template engines?
|
||||
Q: What do you mean "Compiled PHP Scripts" ?
|
||||
Q: Why can't I just use PHPA (https://php-accelerator.co.uk) or Zend Cache?
|
||||
Q: Why can't I just use PHPA (http://php-accelerator.co.uk) or Zend Cache?
|
||||
Q: Why does smarty have a built in cache? Wouldn't it be better to handle this
|
||||
in a separate class?
|
||||
Q: Is Smarty faster than <insert other PHP template engine>?
|
||||
@ -78,7 +78,7 @@ A: Smarty reads the template files and creates PHP scripts from them. Once
|
||||
know of their existance. (NOTE: you can turn off this compile checking step
|
||||
in Smarty for increased performance.)
|
||||
|
||||
Q: Why can't I just use PHPA (https://php-accelerator.co.uk) or Zend Cache?
|
||||
Q: Why can't I just use PHPA (http://php-accelerator.co.uk) or Zend Cache?
|
||||
A: You certainly can, and we highly recommend it! What PHPA does is caches
|
||||
compiled bytecode of your PHP scripts in shared memory or in a file. This
|
||||
speeds up server response and saves the compilation step. Smarty creates PHP
|
||||
@ -134,14 +134,14 @@ A: We have a few mailing lists. "general" for you to share your ideas or ask
|
||||
smarty-cvs-subscribe@lists.php.net (subscribe to the cvs list)
|
||||
smarty-cvs-unsubscribe@lists.php.net (unsubscribe from the cvs list)
|
||||
You can also browse the mailing list archives at
|
||||
https://marc.theaimsgroup.com/?l=smarty&r=1&w=2
|
||||
http://marc.theaimsgroup.com/?l=smarty&r=1&w=2
|
||||
|
||||
|
||||
|
||||
Q: Can you change the mailing list so Reply-To sends to the list and not the
|
||||
user?
|
||||
A: Yes we could, but no we won't. Use "Reply-All" in your e-mail client to send
|
||||
to the list. https://www.unicom.com/pw/reply-to-harmful.html
|
||||
to the list. http://www.unicom.com/pw/reply-to-harmful.html
|
||||
|
||||
TROUBLESHOOTING
|
||||
---------------
|
||||
|
@ -96,7 +96,7 @@ Hello, {$name}!
|
||||
|
||||
|
||||
Now go to your new application through the web browser,
|
||||
https://www.domain.com/myapp/index.php in our example. You should see the text
|
||||
http://www.domain.com/myapp/index.php in our example. You should see the text
|
||||
"Hello Ned!" in your browser.
|
||||
|
||||
Once you get this far, you can continue on to the Smarty Crash Course to learn
|
||||
|
@ -51,7 +51,7 @@ $smarty->unregisterFilter(...)
|
||||
|
||||
Please refer to the online documentation for all specific changes:
|
||||
|
||||
https://www.smarty.net/documentation
|
||||
http://www.smarty.net/documentation
|
||||
|
||||
----
|
||||
|
||||
@ -570,6 +570,6 @@ In the template you can use it like this:
|
||||
|
||||
Please look through it and send any questions/suggestions/etc to the forums.
|
||||
|
||||
https://www.phpinsider.com/smarty-forum/viewtopic.php?t=14168
|
||||
http://www.phpinsider.com/smarty-forum/viewtopic.php?t=14168
|
||||
|
||||
Monte and Uwe
|
||||
|
@ -61,7 +61,7 @@ class MySmarty extends Smarty {
|
||||
== Autoloader ==
|
||||
Smarty 3 does register its own autoloader with spl_autoload_register. If your code has
|
||||
an existing __autoload function then this function must be explicitly registered on
|
||||
the __autoload stack. See https://us3.php.net/manual/en/function.spl-autoload-register.php
|
||||
the __autoload stack. See http://us3.php.net/manual/en/function.spl-autoload-register.php
|
||||
for further details.
|
||||
|
||||
== Plugin Filenames ==
|
||||
|
@ -3,7 +3,7 @@
|
||||
"type": "library",
|
||||
"description": "Smarty - the compiling PHP template engine",
|
||||
"keywords": ["templating"],
|
||||
"homepage": "https://www.smarty.net",
|
||||
"homepage": "http://www.smarty.net",
|
||||
"license": "LGPL-3.0",
|
||||
"authors": [
|
||||
{
|
||||
@ -22,7 +22,7 @@
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/smarty",
|
||||
"issues": "https://github.com/smarty-php/smarty/issues",
|
||||
"forum": "https://www.smarty.net/forums/"
|
||||
"forum": "http://www.smarty.net/forums/"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2"
|
||||
|
@ -21,7 +21,7 @@
|
||||
* Smarty mailing list. Send a blank e-mail to
|
||||
* smarty-discussion-subscribe@googlegroups.com
|
||||
*
|
||||
* @link https://www.smarty.net/
|
||||
* @link http://www.smarty.net/
|
||||
* @version 2.6.25-dev
|
||||
* @copyright Copyright: 2001-2005 New Digital Group, Inc.
|
||||
* @author Andrei Zmievski <andrei@php.net>
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Smarty mailing list. Send a blank e-mail to
|
||||
* smarty-discussion-subscribe@googlegroups.com
|
||||
*
|
||||
* @link https://www.smarty.net/
|
||||
* @link http://www.smarty.net/
|
||||
* @copyright 2015 New Digital Group, Inc.
|
||||
* @copyright 2015 Uwe Tews
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
@ -1385,7 +1385,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
/**
|
||||
* Error Handler to mute expected messages
|
||||
*
|
||||
* @link https://php.net/set_error_handler
|
||||
* @link http://php.net/set_error_handler
|
||||
*
|
||||
* @param integer $errno Error level
|
||||
* @param $errstr
|
||||
@ -1447,7 +1447,7 @@ class Smarty extends Smarty_Internal_TemplateBase
|
||||
{
|
||||
/*
|
||||
error muting is done because some people implemented custom error_handlers using
|
||||
https://php.net/set_error_handler and for some reason did not understand the following paragraph:
|
||||
http://php.net/set_error_handler and for some reason did not understand the following paragraph:
|
||||
|
||||
It is important to remember that the standard PHP error handler is completely bypassed for the
|
||||
error types specified by error_types unless the callback function returns FALSE.
|
||||
|
@ -18,7 +18,7 @@
|
||||
* Smarty mailing list. Send a blank e-mail to
|
||||
* smarty-discussion-subscribe@googlegroups.com
|
||||
*
|
||||
* @link https://www.smarty.net/
|
||||
* @link http://www.smarty.net/
|
||||
* @copyright 2008 New Digital Group, Inc.
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author Uwe Tews
|
||||
|
@ -18,7 +18,7 @@
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* @link https://smarty.php.net/
|
||||
* @link http://smarty.php.net/
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author Andrei Zmievski <andrei@php.net>
|
||||
* @version 2.6.25-dev
|
||||
|
@ -1,6 +1,6 @@
|
||||
{capture name='_smarty_debug' assign=debug_output}
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<title>Smarty Debug Console</title>
|
||||
<style type="text/css">
|
||||
|
@ -22,7 +22,7 @@
|
||||
* - wrap_boundary - boolean (true)
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.textformat.php {textformat}
|
||||
* @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
|
||||
* (Smarty online manual)
|
||||
*
|
||||
* @param array $params parameters
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Type: compiler function<br>
|
||||
* Name: assign<br>
|
||||
* Purpose: assign a value to a template variable
|
||||
* @link https://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign}
|
||||
* @link http://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com> (initial author)
|
||||
* @author messju mohr <messju at lammfellpuschen dot de> (conversion to compiler function)
|
||||
|
@ -11,7 +11,7 @@
|
||||
* Type: function<br>
|
||||
* Name: config_load<br>
|
||||
* Purpose: load config file vars
|
||||
* @link https://smarty.php.net/manual/en/language.function.config.load.php {config_load}
|
||||
* @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author messju mohr <messju at lammfellpuschen dot de> (added use of resources)
|
||||
|
@ -13,7 +13,7 @@
|
||||
* Purpose: print out a counter value
|
||||
*
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @link https://www.smarty.net/manual/en/language.function.counter.php {counter}
|
||||
* @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
|
||||
* (Smarty online manual)
|
||||
*
|
||||
* @param array $params parameters
|
||||
|
@ -30,7 +30,7 @@
|
||||
* {cycle name=row}
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.cycle.php {cycle}
|
||||
* @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author credit to Mark Priatel <mpriatel@rogers.com>
|
||||
|
@ -13,7 +13,7 @@
|
||||
* Name: debug<br>
|
||||
* Date: July 1, 2002<br>
|
||||
* Purpose: popup debug window
|
||||
* @link https://smarty.php.net/manual/en/language.function.debug.php {debug}
|
||||
* @link http://smarty.php.net/manual/en/language.function.debug.php {debug}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @version 1.0
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: function<br>
|
||||
* Name: eval<br>
|
||||
* Purpose: evaluate a template variable as a template<br>
|
||||
* @link https://smarty.php.net/manual/en/language.function.eval.php {eval}
|
||||
* @link http://smarty.php.net/manual/en/language.function.eval.php {eval}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param array
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: fetch<br>
|
||||
* Purpose: fetch file, web or ftp data and display results
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.fetch.php {fetch}
|
||||
* @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
|
@ -31,7 +31,7 @@
|
||||
* - escape (optional) - escape the content (not value), defaults to true
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
|
||||
* (Smarty online manual)
|
||||
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
|
||||
* @author credits to Monte Ohrt <monte at ohrt dot com>
|
||||
|
@ -23,7 +23,7 @@
|
||||
* - path_prefix - prefix for path output (optional, default empty)
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.image.php {html_image}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.image.php {html_image}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author credits to Duda <duda@big.hu>
|
||||
|
@ -23,7 +23,7 @@
|
||||
* - class (optional) - string default not set
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.options.php {html_image}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.options.php {html_image}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author Ralf Strehle (minor optimization) <ralf dot strehle at yahoo dot de>
|
||||
|
@ -31,7 +31,7 @@
|
||||
* {html_radios values=$ids checked=$checked separator='<br>' output=$names}
|
||||
* </pre>
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
|
||||
* @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
|
||||
* (Smarty online manual)
|
||||
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
|
||||
* @author credits to Monte Ohrt <monte at ohrt dot com>
|
||||
|
@ -39,7 +39,7 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
|
||||
* added attributes month_names, *_id
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
|
||||
* (Smarty online manual)
|
||||
* @version 2.0
|
||||
* @author Andrei Zmievski
|
||||
|
@ -21,7 +21,7 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
|
||||
* Name: html_select_time<br>
|
||||
* Purpose: Prints the dropdowns for time selection
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
|
||||
* (Smarty online manual)
|
||||
* @author Roberto Berto <roberto@berto.net>
|
||||
* @author Monte Ohrt <monte AT ohrt DOT com>
|
||||
|
@ -40,7 +40,7 @@
|
||||
* @author credit to Messju Mohr <messju at lammfellpuschen dot de>
|
||||
* @author credit to boots <boots dot smarty at yahoo dot com>
|
||||
* @version 1.1
|
||||
* @link https://www.smarty.net/manual/en/language.function.html.table.php {html_table}
|
||||
* @link http://www.smarty.net/manual/en/language.function.html.table.php {html_table}
|
||||
* (Smarty online manual)
|
||||
*
|
||||
* @param array $params parameters
|
||||
|
@ -38,7 +38,7 @@
|
||||
* {mailto address="me@domain.com" extra='class="mailto"'}
|
||||
* </pre>
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.mailto.php {mailto}
|
||||
* @link http://www.smarty.net/manual/en/language.function.mailto.php {mailto}
|
||||
* (Smarty online manual)
|
||||
* @version 1.2
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
|
@ -13,7 +13,7 @@
|
||||
* Name: math<br>
|
||||
* Purpose: handle math computations in template
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.function.math.php {math}
|
||||
* @link http://www.smarty.net/manual/en/language.function.math.php {math}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: function<br>
|
||||
* Name: popup<br>
|
||||
* Purpose: make text pop up in windows via overlib
|
||||
* @link https://smarty.php.net/manual/en/language.function.popup.php {popup}
|
||||
* @link http://smarty.php.net/manual/en/language.function.popup.php {popup}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param array
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: function<br>
|
||||
* Name: popup_init<br>
|
||||
* Purpose: initialize overlib
|
||||
* @link https://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
|
||||
* @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init}
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param array
|
||||
|
@ -15,7 +15,7 @@
|
||||
* Purpose: catenate a value to a variable
|
||||
* Input: string to catenate
|
||||
* Example: {$var|cat:"foo"}
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.cat.php cat
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
|
||||
* (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @version 1.0
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: count_characteres<br>
|
||||
* Purpose: count the number of characters in a text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.count.characters.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.count.characters.php
|
||||
* count_characters (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: count_paragraphs<br>
|
||||
* Purpose: count the number of paragraphs in a text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* count_paragraphs (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: count_sentences
|
||||
* Purpose: count the number of sentences in a text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* count_sentences (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: count_words<br>
|
||||
* Purpose: count the number of words in a text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.count.words.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.count.words.php
|
||||
* count_words (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -16,7 +16,7 @@
|
||||
* - format: strftime format for output
|
||||
* - default_date: default date if $string is empty
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
|
||||
* @link http://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
* @param string $string input date string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: default<br>
|
||||
* Purpose: designate default value for empty variables
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.default.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.default.php
|
||||
* default (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: escape<br>
|
||||
* Purpose: escape string for output
|
||||
*
|
||||
* @link https://www.smarty.net/docs/en/language.modifier.escape
|
||||
* @link http://www.smarty.net/docs/en/language.modifier.escape
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
* @param string $string input string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: indent<br>
|
||||
* Purpose: indent lines of text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.indent.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.indent.php
|
||||
* indent (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: lower<br>
|
||||
* Purpose: convert string to lowercase
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.lower.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.lower.php
|
||||
* lower (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -18,7 +18,7 @@
|
||||
* - preceed_test = if true, includes preceeding break tags
|
||||
* in replacement
|
||||
* Example: {$text|nl2br}
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.nl2br.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.nl2br.php
|
||||
* nl2br (Smarty online manual)
|
||||
* @version 1.0
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: regex_replace<br>
|
||||
* Purpose: regular expression search/replace
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.regex.replace.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
|
||||
* regex_replace (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: replace<br>
|
||||
* Purpose: simple search/replace
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @author Uwe Tews
|
||||
*
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: spacify<br>
|
||||
* Purpose: add spaces between characters in a string
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
* @param string $string input string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: string_format<br>
|
||||
* Purpose: format strings via sprintf
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.string.format.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.string.format.php
|
||||
* string_format (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -15,7 +15,7 @@
|
||||
* with a single space or supplied replacement string.<br>
|
||||
* Example: {$var|strip} {$var|strip:" "}
|
||||
* Date: September 25th, 2002
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.strip.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.strip.php
|
||||
* strip (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @version 1.0
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: strip_tags<br>
|
||||
* Purpose: strip html tags from text
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.strip.tags.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php
|
||||
* strip_tags (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -14,7 +14,7 @@
|
||||
* optionally splitting in the middle of a word, and
|
||||
* appending the $etc string or inserting $etc into the middle.
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
*
|
||||
* @param string $string input string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: upper<br>
|
||||
* Purpose: convert string to uppercase
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.upper.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.upper.php
|
||||
* upper (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Type: modifier<br>
|
||||
* Name: wordwrap<br>
|
||||
* Purpose: wrap a string of text at a given length
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.wordwrap.php
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php
|
||||
* wordwrap (Smarty online manual)
|
||||
* @author Monte Ohrt <monte at ohrt dot com>
|
||||
* @param string
|
||||
|
@ -15,7 +15,7 @@
|
||||
* Input: string to catenate<br>
|
||||
* Example: {$var|cat:"foo"}
|
||||
*
|
||||
* @link https://smarty.php.net/manual/en/language.modifier.cat.php cat
|
||||
* @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
|
||||
* (Smarty online manual)
|
||||
* @author Uwe Tews
|
||||
*
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: count_characteres<br>
|
||||
* Purpose: count the number of characters in a text
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
|
||||
* @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
|
||||
* @author Uwe Tews
|
||||
*
|
||||
* @param array $params parameters
|
||||
|
@ -12,7 +12,7 @@
|
||||
* Name: count_paragraphs<br>
|
||||
* Purpose: count the number of paragraphs in a text
|
||||
*
|
||||
* @link https://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
|
||||
* count_paragraphs (Smarty online manual)
|
||||
* @author Uwe Tews
|
||||
*
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user