summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Zepto/ajax.js
Side-by-side diff
Diffstat (limited to 'frontend/gamma/js/Zepto/ajax.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Zepto/ajax.js285
1 files changed, 0 insertions, 285 deletions
diff --git a/frontend/gamma/js/Zepto/ajax.js b/frontend/gamma/js/Zepto/ajax.js
deleted file mode 100644
index f4da150..0000000
--- a/frontend/gamma/js/Zepto/ajax.js
+++ b/dev/null
@@ -1,285 +0,0 @@
-// Zepto.js
-// (c) 2010-2012 Thomas Fuchs
-// Zepto.js may be freely distributed under the MIT license.
-
-;(function($){
- var jsonpID = 0,
- isObject = $.isObject,
- document = window.document,
- key,
- name,
- rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
- scriptTypeRE = /^(?:text|application)\/javascript/i,
- xmlTypeRE = /^(?:text|application)\/xml/i,
- jsonType = 'application/json',
- htmlType = 'text/html',
- blankRE = /^\s*$/
-
- // trigger a custom event and return false if it was cancelled
- function triggerAndReturn(context, eventName, data) {
- var event = $.Event(eventName)
- $(context).trigger(event, data)
- return !event.defaultPrevented
- }
-
- // trigger an Ajax "global" event
- function triggerGlobal(settings, context, eventName, data) {
- if (settings.global) return triggerAndReturn(context || document, eventName, data)
- }
-
- // Number of active Ajax requests
- $.active = 0
-
- function ajaxStart(settings) {
- if (settings.global && $.active++ === 0) triggerGlobal(settings, null, 'ajaxStart')
- }
- function ajaxStop(settings) {
- if (settings.global && !(--$.active)) triggerGlobal(settings, null, 'ajaxStop')
- }
-
- // triggers an extra global event "ajaxBeforeSend" that's like "ajaxSend" but cancelable
- function ajaxBeforeSend(xhr, settings) {
- var context = settings.context
- if (settings.beforeSend.call(context, xhr, settings) === false ||
- triggerGlobal(settings, context, 'ajaxBeforeSend', [xhr, settings]) === false)
- return false
-
- triggerGlobal(settings, context, 'ajaxSend', [xhr, settings])
- }
- function ajaxSuccess(data, xhr, settings) {
- var context = settings.context, status = 'success'
- settings.success.call(context, data, status, xhr)
- triggerGlobal(settings, context, 'ajaxSuccess', [xhr, settings, data])
- ajaxComplete(status, xhr, settings)
- }
- // type: "timeout", "error", "abort", "parsererror"
- function ajaxError(error, type, xhr, settings) {
- var context = settings.context
- settings.error.call(context, xhr, type, error)
- triggerGlobal(settings, context, 'ajaxError', [xhr, settings, error])
- ajaxComplete(type, xhr, settings)
- }
- // status: "success", "notmodified", "error", "timeout", "abort", "parsererror"
- function ajaxComplete(status, xhr, settings) {
- var context = settings.context
- settings.complete.call(context, xhr, status)
- triggerGlobal(settings, context, 'ajaxComplete', [xhr, settings])
- ajaxStop(settings)
- }
-
- // Empty function, used as default callback
- function empty() {}
-
- $.ajaxJSONP = function(options){
- if (!('type' in options)) return $.ajax(options)
-
- var callbackName = 'jsonp' + (++jsonpID),
- script = document.createElement('script'),
- abort = function(){
- $(script).remove()
- if (callbackName in window) window[callbackName] = empty
- ajaxComplete('abort', xhr, options)
- },
- xhr = { abort: abort }, abortTimeout
-
- if (options.error) script.onerror = function() {
- xhr.abort()
- options.error()
- }
-
- window[callbackName] = function(data){
- clearTimeout(abortTimeout)
- $(script).remove()
- delete window[callbackName]
- ajaxSuccess(data, xhr, options)
- }
-
- serializeData(options)
- script.src = options.url.replace(/=\?/, '=' + callbackName)
- $('head').append(script)
-
- if (options.timeout > 0) abortTimeout = setTimeout(function(){
- xhr.abort()
- ajaxComplete('timeout', xhr, options)
- }, options.timeout)
-
- return xhr
- }
-
- $.ajaxSettings = {
- // Default type of request
- type: 'GET',
- // Callback that is executed before request
- beforeSend: empty,
- // Callback that is executed if the request succeeds
- success: empty,
- // Callback that is executed the the server drops error
- error: empty,
- // Callback that is executed on request complete (both: error and success)
- complete: empty,
- // The context for the callbacks
- context: null,
- // Whether to trigger "global" Ajax events
- global: true,
- // Transport
- xhr: function () {
- return new window.XMLHttpRequest()
- },
- // MIME types mapping
- accepts: {
- script: 'text/javascript, application/javascript',
- json: jsonType,
- xml: 'application/xml, text/xml',
- html: htmlType,
- text: 'text/plain'
- },
- // Whether the request is to another domain
- crossDomain: false,
- // Default timeout
- timeout: 0,
- // Whether data should be serialized to string
- processData: true
- }
-
- function mimeToDataType(mime) {
- return mime && ( mime == htmlType ? 'html' :
- mime == jsonType ? 'json' :
- scriptTypeRE.test(mime) ? 'script' :
- xmlTypeRE.test(mime) && 'xml' ) || 'text'
- }
-
- function appendQuery(url, query) {
- return (url + '&' + query).replace(/[&?]{1,2}/, '?')
- }
-
- // serialize payload and append it to the URL for GET requests
- function serializeData(options) {
- if (options.processData && isObject(options.data))
- options.data = $.param(options.data, options.traditional)
- if (options.data && (!options.type || options.type.toUpperCase() == 'GET'))
- options.url = appendQuery(options.url, options.data)
- }
-
- $.ajax = function(options){
- var settings = $.extend({}, options || {})
- for (key in $.ajaxSettings) if (settings[key] === undefined) settings[key] = $.ajaxSettings[key]
-
- ajaxStart(settings)
-
- if (!settings.crossDomain) settings.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(settings.url) &&
- RegExp.$2 != window.location.host
-
- var dataType = settings.dataType, hasPlaceholder = /=\?/.test(settings.url)
- if (dataType == 'jsonp' || hasPlaceholder) {
- if (!hasPlaceholder) settings.url = appendQuery(settings.url, 'callback=?')
- return $.ajaxJSONP(settings)
- }
-
- if (!settings.url) settings.url = window.location.toString()
- serializeData(settings)
-
- var mime = settings.accepts[dataType],
- baseHeaders = { },
- protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol,
- xhr = $.ajaxSettings.xhr(), abortTimeout
-
- if (!settings.crossDomain) baseHeaders['X-Requested-With'] = 'XMLHttpRequest'
- if (mime) {
- baseHeaders['Accept'] = mime
- if (mime.indexOf(',') > -1) mime = mime.split(',', 2)[0]
- xhr.overrideMimeType && xhr.overrideMimeType(mime)
- }
- if (settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() != 'GET'))
- baseHeaders['Content-Type'] = (settings.contentType || 'application/x-www-form-urlencoded')
- settings.headers = $.extend(baseHeaders, settings.headers || {})
-
- xhr.onreadystatechange = function(){
- if (xhr.readyState == 4) {
- xhr.onreadystatechange = empty;
- clearTimeout(abortTimeout)
- var result, error = false
- if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304 || (xhr.status == 0 && protocol == 'file:')) {
- dataType = dataType || mimeToDataType(xhr.getResponseHeader('content-type'))
- result = xhr.responseText
-
- try {
- if (dataType == 'script') (1,eval)(result)
- else if (dataType == 'xml') result = xhr.responseXML
- else if (dataType == 'json') result = blankRE.test(result) ? null : $.parseJSON(result)
- } catch (e) { error = e }
-
- if (error) ajaxError(error, 'parsererror', xhr, settings)
- else ajaxSuccess(result, xhr, settings)
- } else {
- ajaxError(null, xhr.status ? 'error' : 'abort', xhr, settings)
- }
- }
- }
-
- var async = 'async' in settings ? settings.async : true
- xhr.open(settings.type, settings.url, async)
-
- for (name in settings.headers) xhr.setRequestHeader(name, settings.headers[name])
-
- if (ajaxBeforeSend(xhr, settings) === false) {
- xhr.abort()
- return false
- }
-
- if (settings.timeout > 0) abortTimeout = setTimeout(function(){
- xhr.onreadystatechange = empty
- xhr.abort()
- ajaxError(null, 'timeout', xhr, settings)
- }, settings.timeout)
-
- // avoid sending empty string (#319)
- xhr.send(settings.data ? settings.data : null)
- return xhr
- }
-
- $.get = function(url, success){ return $.ajax({ url: url, success: success }) }
-
- $.post = function(url, data, success, dataType){
- if ($.isFunction(data)) dataType = dataType || success, success = data, data = null
- return $.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType })
- }
-
- $.getJSON = function(url, success){
- return $.ajax({ url: url, success: success, dataType: 'json' })
- }
-
- $.fn.load = function(url, success){
- if (!this.length) return this
- var self = this, parts = url.split(/\s/), selector
- if (parts.length > 1) url = parts[0], selector = parts[1]
- $.get(url, function(response){
- self.html(selector ?
- $('<div>').html(response.replace(rscript, "")).find(selector)
- : response)
- success && success.apply(self, arguments)
- })
- return this
- }
-
- var escape = encodeURIComponent
-
- function serialize(params, obj, traditional, scope){
- var array = $.isArray(obj)
- $.each(obj, function(key, value) {
- if (scope) key = traditional ? scope : scope + '[' + (array ? '' : key) + ']'
- // handle data in serializeArray() format
- if (!scope && array) params.add(value.name, value.value)
- // recurse into nested objects
- else if (traditional ? $.isArray(value) : isObject(value))
- serialize(params, value, traditional, key)
- else params.add(key, value)
- })
- }
-
- $.param = function(obj, traditional){
- var params = []
- params.add = function(k, v){ this.push(escape(k) + '=' + escape(v)) }
- serialize(params, obj, traditional)
- return params.join('&').replace(/%20/g, '+')
- }
-})(Zepto)