From d8b796acb9275e74324c3ea04324314ecbe1b664 Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Tue, 7 Jun 2011 10:45:01 -0400 Subject: Another massive commit: 1. Major improvements to the responsive styling. 2. Toggleable sidebar 3. Upgraded to modernizr 2.0 which includes Respond.js 4. IE7-9 testing and fixes 5. New theming system which should make forkers happy 6. New rake task for installing Octopress themes 7. Magic --- source/javascripts/libs/ender.js | 1497 ------------------- source/javascripts/libs/ender.min.js | 8 - .../libs/ie/DOMAssistantComplete-2.8.js | 1529 -------------------- source/javascripts/libs/ie/respond.js | 292 ---- source/javascripts/libs/ie/selectivizr-1.0.1.js | 5 - .../libs/ios-viewport-scaling-bug-fix.js | 20 - source/javascripts/libs/jXHR.js | 85 -- source/javascripts/libs/json2.js | 481 ------ source/javascripts/libs/modernizr-1.7.js | 964 ------------ source/javascripts/octopress.js | 0 source/javascripts/pinboard.js | 48 - source/javascripts/syntax-helper.js | 30 - source/javascripts/twitter.js | 64 - 13 files changed, 5023 deletions(-) delete mode 100644 source/javascripts/libs/ender.js delete mode 100644 source/javascripts/libs/ender.min.js delete mode 100644 source/javascripts/libs/ie/DOMAssistantComplete-2.8.js delete mode 100644 source/javascripts/libs/ie/respond.js delete mode 100644 source/javascripts/libs/ie/selectivizr-1.0.1.js delete mode 100644 source/javascripts/libs/ios-viewport-scaling-bug-fix.js delete mode 100644 source/javascripts/libs/jXHR.js delete mode 100644 source/javascripts/libs/json2.js delete mode 100644 source/javascripts/libs/modernizr-1.7.js delete mode 100644 source/javascripts/octopress.js delete mode 100644 source/javascripts/pinboard.js delete mode 100644 source/javascripts/syntax-helper.js delete mode 100644 source/javascripts/twitter.js (limited to 'source/javascripts') diff --git a/source/javascripts/libs/ender.js b/source/javascripts/libs/ender.js deleted file mode 100644 index 5e56fd89..00000000 --- a/source/javascripts/libs/ender.js +++ /dev/null @@ -1,1497 +0,0 @@ -/*! - * Ender: open module JavaScript framework - * copyright Dustin Diaz & Jacob Thornton 2011 (@ded @fat) - * https://ender.no.de - * License MIT - * Build: ender -b jeesh - */ -!function (context) { - - function aug(o, o2) { - for (var k in o2) { - k != 'noConflict' && k != '_VERSION' && (o[k] = o2[k]); - } - return o; - } - - function boosh(s, r) { - var els; - if (ender._select && typeof s == 'string' || s.nodeName || s.length && 'item' in s || s == window) { //string || node || nodelist || window - els = ender._select(s, r); - els.selector = s; - } else { - els = isFinite(s.length) ? s : [s]; - } - return aug(els, boosh); - } - - function ender(s, r) { - return boosh(s, r); - } - - aug(ender, { - _VERSION: '0.2.0', - ender: function (o, chain) { - aug(chain ? boosh : ender, o); - } - }); - - aug(boosh, { - forEach: function (fn, scope) { - // opt out of native forEach so we can intentionally call our own scope - // defaulting to the current item - for (var i = 0, l = this.length; i < l; ++i) { - i in this && fn.call(scope || this[i], this[i], i, this); - } - // return self for chaining - return this; - } - }); - - var old = context.$; - ender.noConflict = function () { - context.$ = old; - return this; - }; - - (typeof module !== 'undefined') && module.exports && (module.exports = ender); - // use subscript notation as extern for Closure compilation - context['ender'] = context['$'] = ender; - -}(this); -/*! - * bean.js - copyright Jacob Thornton 2011 - * https://github.com/fat/bean - * MIT License - * special thanks to: - * dean edwards: http://dean.edwards.name/ - * dperini: https://github.com/dperini/nwevents - * the entire mootools team: github.com/mootools/mootools-core - */ -!function (context) { - var __uid = 1, registry = {}, collected = {}, - overOut = /over|out/, - namespace = /[^\.]*(?=\..*)\.|.*/, - stripName = /\..*/, - addEvent = 'addEventListener', - attachEvent = 'attachEvent', - removeEvent = 'removeEventListener', - detachEvent = 'detachEvent', - doc = context.document || {}, - root = doc.documentElement || {}, - W3C_MODEL = root[addEvent], - eventSupport = W3C_MODEL ? addEvent : attachEvent, - - isDescendant = function (parent, child) { - var node = child.parentNode; - while (node != null) { - if (node == parent) { - return true; - } - node = node.parentNode; - } - }, - - retrieveUid = function (obj, uid) { - return (obj.__uid = uid || obj.__uid || __uid++); - }, - - retrieveEvents = function (element) { - var uid = retrieveUid(element); - return (registry[uid] = registry[uid] || {}); - }, - - listener = W3C_MODEL ? function (element, type, fn, add) { - element[add ? addEvent : removeEvent](type, fn, false); - } : function (element, type, fn, add, custom) { - custom && add && (element['_on' + custom] = element['_on' + custom] || 0); - element[add ? attachEvent : detachEvent]('on' + type, fn); - }, - - nativeHandler = function (element, fn, args) { - return function (event) { - event = fixEvent(event || ((this.ownerDocument || this.document || this).parentWindow || context).event); - return fn.apply(element, [event].concat(args)); - }; - }, - - customHandler = function (element, fn, type, condition, args) { - return function (event) { - if (condition ? condition.call(this, event) : W3C_MODEL ? true : event && event.propertyName == '_on' + type || !event) { - fn.apply(element, [event].concat(args)); - } - }; - }, - - addListener = function (element, orgType, fn, args) { - var type = orgType.replace(stripName, ''), - events = retrieveEvents(element), - handlers = events[type] || (events[type] = {}), - uid = retrieveUid(fn, orgType.replace(namespace, '')); - if (handlers[uid]) { - return element; - } - var custom = customEvents[type]; - if (custom) { - fn = custom.condition ? customHandler(element, fn, type, custom.condition) : fn; - type = custom.base || type; - } - var isNative = nativeEvents[type]; - fn = isNative ? nativeHandler(element, fn, args) : customHandler(element, fn, type, false, args); - isNative = W3C_MODEL || isNative; - if (type == 'unload') { - var org = fn; - fn = function () { - removeListener(element, type, fn) && org(); - }; - } - element[eventSupport] && listener(element, isNative ? type : 'propertychange', fn, true, !isNative && type); - handlers[uid] = fn; - fn.__uid = uid; - return type == 'unload' ? element : (collected[retrieveUid(element)] = element); - }, - - removeListener = function (element, orgType, handler) { - var uid, names, uids, i, events = retrieveEvents(element), type = orgType.replace(stripName, ''); - if (!events || !events[type]) { - return element; - } - names = orgType.replace(namespace, ''); - uids = names ? names.split('.') : [handler.__uid]; - for (i = uids.length; i--;) { - uid = uids[i]; - handler = events[type][uid]; - delete events[type][uid]; - if (element[eventSupport]) { - type = customEvents[type] ? customEvents[type].base : type; - var isNative = W3C_MODEL || nativeEvents[type]; - listener(element, isNative ? type : 'propertychange', handler, false, !isNative && type); - } - } - return element; - }, - - del = function (selector, fn, $) { - return function (e) { - var array = typeof selector == 'string' ? $(selector, this) : selector; - for (var target = e.target; target && target != this; target = target.parentNode) { - for (var i = array.length; i--;) { - if (array[i] == target) { - return fn.apply(target, arguments); - } - } - } - }; - }, - - add = function (element, events, fn, delfn, $) { - if (typeof events == 'object' && !fn) { - for (var type in events) { - events.hasOwnProperty(type) && add(element, type, events[type]); - } - } else { - var isDel = typeof fn == 'string', types = (isDel ? fn : events).split(' '); - fn = isDel ? del(events, delfn, $) : fn; - for (var i = types.length; i--;) { - addListener(element, types[i], fn, Array.prototype.slice.call(arguments, isDel ? 4 : 3)); - } - } - return element; - }, - - remove = function (element, orgEvents, fn) { - var k, type, events, - isString = typeof(orgEvents) == 'string', - names = isString && orgEvents.replace(namespace, ''), - rm = removeListener, - attached = retrieveEvents(element); - if (isString && /\s/.test(orgEvents)) { - orgEvents = orgEvents.split(' '); - var i = orgEvents.length - 1; - while (remove(element, orgEvents[i]) && i--) {} - return element; - } - events = isString ? orgEvents.replace(stripName, '') : orgEvents; - if (!attached || (isString && !attached[events])) { - return element; - } - if (typeof fn == 'function') { - rm(element, events, fn); - } else if (names) { - rm(element, orgEvents); - } else { - rm = events ? rm : remove; - type = isString && events; - events = events ? (fn || attached[events] || events) : attached; - for (k in events) { - events.hasOwnProperty(k) && rm(element, type || k, events[k]); - } - } - return element; - }, - - fire = function (element, type, args) { - var evt, k, i, types = type.split(' '); - for (i = types.length; i--;) { - type = types[i].replace(stripName, ''); - var isNative = nativeEvents[type], - isNamespace = types[i].replace(namespace, ''), - handlers = retrieveEvents(element)[type]; - if (isNamespace) { - isNamespace = isNamespace.split('.'); - for (k = isNamespace.length; k--;) { - handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, args); - } - } else if (!args && element[eventSupport]) { - fireListener(isNative, type, element); - } else { - for (k in handlers) { - handlers.hasOwnProperty(k) && handlers[k].apply(element, args); - } - } - } - return element; - }, - - fireListener = W3C_MODEL ? function (isNative, type, element) { - evt = document.createEvent(isNative ? "HTMLEvents" : "UIEvents"); - evt[isNative ? 'initEvent' : 'initUIEvent'](type, true, true, context, 1); - element.dispatchEvent(evt); - } : function (isNative, type, element) { - isNative ? element.fireEvent('on' + type, document.createEventObject()) : element['_on' + type]++; - }, - - clone = function (element, from, type) { - var events = retrieveEvents(from), obj, k; - obj = type ? events[type] : events; - for (k in obj) { - obj.hasOwnProperty(k) && (type ? add : clone)(element, type || from, type ? obj[k] : k); - } - return element; - }, - - fixEvent = function (e) { - var result = {}; - if (!e) { - return result; - } - var type = e.type, target = e.target || e.srcElement; - result.preventDefault = fixEvent.preventDefault(e); - result.stopPropagation = fixEvent.stopPropagation(e); - result.target = target && target.nodeType == 3 ? target.parentNode : target; - if (~type.indexOf('key')) { - result.keyCode = e.which || e.keyCode; - } else if ((/click|mouse|menu/i).test(type)) { - result.rightClick = e.which == 3 || e.button == 2; - result.pos = { x: 0, y: 0 }; - if (e.pageX || e.pageY) { - result.clientX = e.pageX; - result.clientY = e.pageY; - } else if (e.clientX || e.clientY) { - result.clientX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - result.clientY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - overOut.test(type) && (result.relatedTarget = e.relatedTarget || e[(type == 'mouseover' ? 'from' : 'to') + 'Element']); - } - for (var k in e) { - if (!(k in result)) { - result[k] = e[k]; - } - } - return result; - }; - - fixEvent.preventDefault = function (e) { - return function () { - if (e.preventDefault) { - e.preventDefault(); - } - else { - e.returnValue = false; - } - }; - }; - - fixEvent.stopPropagation = function (e) { - return function () { - if (e.stopPropagation) { - e.stopPropagation(); - } else { - e.cancelBubble = true; - } - }; - }; - - var nativeEvents = { click: 1, dblclick: 1, mouseup: 1, mousedown: 1, contextmenu: 1, //mouse buttons - mousewheel: 1, DOMMouseScroll: 1, //mouse wheel - mouseover: 1, mouseout: 1, mousemove: 1, selectstart: 1, selectend: 1, //mouse movement - keydown: 1, keypress: 1, keyup: 1, //keyboard - orientationchange: 1, // mobile - touchstart: 1, touchmove: 1, touchend: 1, touchcancel: 1, // touch - gesturestart: 1, gesturechange: 1, gestureend: 1, // gesture - focus: 1, blur: 1, change: 1, reset: 1, select: 1, submit: 1, //form elements - load: 1, unload: 1, beforeunload: 1, resize: 1, move: 1, DOMContentLoaded: 1, readystatechange: 1, //window - error: 1, abort: 1, scroll: 1 }; //misc - - function check(event) { - var related = event.relatedTarget; - if (!related) { - return related == null; - } - return (related != this && related.prefix != 'xul' && !/document/.test(this.toString()) && !isDescendant(this, related)); - } - - var customEvents = { - mouseenter: { base: 'mouseover', condition: check }, - mouseleave: { base: 'mouseout', condition: check }, - mousewheel: { base: /Firefox/.test(navigator.userAgent) ? 'DOMMouseScroll' : 'mousewheel' } - }; - - var bean = { add: add, remove: remove, clone: clone, fire: fire }; - - var clean = function (el) { - var uid = remove(el).__uid; - if (uid) { - delete collected[uid]; - delete registry[uid]; - } - }; - - if (context[attachEvent]) { - add(context, 'unload', function () { - for (var k in collected) { - collected.hasOwnProperty(k) && clean(collected[k]); - } - context.CollectGarbage && CollectGarbage(); - }); - } - - var oldBean = context.bean; - bean.noConflict = function () { - context.bean = oldBean; - return this; - }; - - (typeof module !== 'undefined' && module.exports) ? - (module.exports = bean) : - (context['bean'] = bean); - -}(this);!function ($) { - var b = bean.noConflict(), - integrate = function (method, type, method2) { - var _args = type ? [type] : []; - return function () { - for (var args, i = 0, l = this.length; i < l; i++) { - args = [this[i]].concat(_args, Array.prototype.slice.call(arguments, 0)); - args.length == 4 && args.push($); - !arguments.length && method == 'add' && type && (method = 'fire'); - b[method].apply(this, args); - } - return this; - }; - }; - - var add = integrate('add'), - remove = integrate('remove'), - fire = integrate('fire'); - - var methods = { - - on: add, - addListener: add, - bind: add, - listen: add, - delegate: add, - - unbind: remove, - unlisten: remove, - removeListener: remove, - undelegate: remove, - - emit: fire, - trigger: fire, - - cloneEvents: integrate('clone'), - - hover: function (enter, leave) { - for (var i = 0, l = this.length; i < l; i++) { - b.add.call(this, this[i], 'mouseenter', enter); - b.add.call(this, this[i], 'mouseleave', leave); - } - return this; - } - }; - - var shortcuts = [ - 'blur', 'change', 'click', 'dblclick', 'error', 'focus', 'focusin', - 'focusout', 'keydown', 'keypress', 'keyup', 'load', 'mousedown', - 'mouseenter', 'mouseleave', 'mouseout', 'mouseover', 'mouseup', - 'resize', 'scroll', 'select', 'submit', 'unload' - ]; - - for (var i = shortcuts.length; i--;) { - var shortcut = shortcuts[i]; - methods[shortcut] = integrate('add', shortcut); - } - - $.ender(methods, true); -}(ender); -/*! - * bonzo.js - copyright @dedfat 2011 - * https://github.com/ded/bonzo - * Follow our software http://twitter.com/dedfat - * MIT License - */ -!function (context) { - - var doc = context.document, - html = doc.documentElement, - query = null, - byTag = 'getElementsByTagName', - specialAttributes = /^checked|value|selected$/, - specialTags = /select|map|fieldset|table|tbody|tr|colgroup/i, - tagMap = { select: 'option', table: 'tbody', tr: 'td' }, - stateAttributes = /^checked|selected$/, - ie = /msie/i.test(navigator.userAgent), - uidList = [], - uuids = 0, - digit = /^-?[\d\.]+$/, - px = 'px', - // commonly used methods - setAttribute = 'setAttribute', - getAttribute = 'getAttribute', - trimReplace = /(^\s*|\s*$)/g, - unitless = { lineHeight: 1, zoom: 1, zIndex: 1, opacity: 1 }; - - function classReg(c) { - return new RegExp("(^|\\s+)" + c + "(\\s+|$)"); - } - - function each(ar, fn, scope) { - for (var i = 0, l = ar.length; i < l; i++) { - fn.call(scope || ar[i], ar[i], i, ar); - } - return ar; - } - - var trim = String.prototype.trim ? - function (s) { - return s.trim(); - } : - function (s) { - return s.replace(trimReplace, ''); - }; - - function camelize(s) { - return s.replace(/-(.)/g, function (m, m1) { - return m1.toUpperCase(); - }); - } - - function is(node) { - return node && node.nodeName && node.nodeType == 1; - } - - function some(ar, fn, scope) { - for (var i = 0, j = ar.length; i < j; ++i) { - if (fn.call(scope, ar[i], i, ar)) { - return true; - } - } - return false; - } - - var getStyle = doc.defaultView && doc.defaultView.getComputedStyle ? - function (el, property) { - var value = null; - if (property == 'float') { - property = 'cssFloat'; - } - var computed = doc.defaultView.getComputedStyle(el, ''); - computed && (value = computed[camelize(property)]); - return el.style[property] || value; - - } : (ie && html.currentStyle) ? - - function (el, property) { - property = camelize(property); - property = property == 'float' ? 'styleFloat' : property; - - if (property == 'opacity') { - var val = 100; - try { - val = el.filters['DXImageTransform.Microsoft.Alpha'].opacity; - } catch (e1) { - try { - val = el.filters('alpha').opacity; - } catch (e2) {} - } - return val / 100; - } - var value = el.currentStyle ? el.currentStyle[property] : null; - return el.style[property] || value; - } : - - function (el, property) { - return el.style[camelize(property)]; - }; - - function insert(target, host, fn) { - var i = 0, self = host || this, r = []; - each(normalize(query ? query(target) : target), function (t) { - each(self, function (el) { - var n = el.cloneNode(true); - fn(t, n); - r[i] = n; - i++; - }); - }, this); - each(r, function (e, i) { - self[i] = e; - }); - self.length = i; - return self; - } - - function xy(el, x, y) { - var $el = bonzo(el), - style = $el.css('position'), - offset = $el.offset(), - rel = 'relative', - isRel = style == rel, - delta = [parseInt($el.css('left'), 10), parseInt($el.css('top'), 10)]; - - if (style == 'static') { - $el.css('position', rel); - style = rel; - } - - isNaN(delta[0]) && (delta[0] = isRel ? 0 : el.offsetLeft); - isNaN(delta[1]) && (delta[1] = isRel ? 0 : el.offsetTop); - - x !== null && (el.style.left = x - offset.left + delta[0] + 'px'); - y !== null && (el.style.top = y - offset.top + delta[1] + 'px'); - - } - - function Bonzo(elements) { - this.length = 0; - this.original = elements; - if (elements) { - elements = typeof elements !== 'string' && - !elements.nodeType && - typeof elements.length !== 'undefined' ? - elements : - [elements]; - this.length = elements.length; - for (var i = 0; i < elements.length; i++) { - this[i] = elements[i]; - } - } - } - - Bonzo.prototype = { - - each: function (fn, scope) { - return each(this, fn, scope); - }, - - map: function (fn, reject) { - var m = [], n, i; - for (i = 0; i < this.length; i++) { - n = fn.call(this, this[i]); - reject ? (reject(n) && m.push(n)) : m.push(n); - } - return m; - }, - - first: function () { - return bonzo(this[0]); - }, - - last: function () { - return bonzo(this[this.length - 1]); - }, - - html: function (h, text) { - var method = text ? - html.textContent == null ? - 'innerText' : - 'textContent' : - 'innerHTML', m; - function append(el, tag) { - while (el.firstChild) { - el.removeChild(el.firstChild); - } - each(normalize(h, tag), function (node) { - el.appendChild(node); - }); - } - return typeof h !== 'undefined' ? - this.each(function (el) { - (m = el.tagName.match(specialTags)) ? - append(el, m[0]) : - (el[method] = h); - }) : - this[0] ? this[0][method] : ''; - }, - - text: function (text) { - return this.html(text, 1); - }, - - addClass: function (c) { - return this.each(function (el) { - this.hasClass(el, c) || (el.className = trim(el.className + ' ' + c)); - }, this); - }, - - removeClass: function (c) { - return this.each(function (el) { - this.hasClass(el, c) && (el.className = trim(el.className.replace(classReg(c), ' '))); - }, this); - }, - - hasClass: function (el, c) { - return typeof c == 'undefined' ? - some(this, function (i) { - return classReg(el).test(i.className); - }) : - classReg(c).test(el.className); - }, - - toggleClass: function (c, condition) { - if (typeof condition !== 'undefined' && !condition) { - return this; - } - return this.each(function (el) { - this.hasClass(el, c) ? - (el.className = trim(el.className.replace(classReg(c), ' '))) : - (el.className = trim(el.className + ' ' + c)); - }, this); - }, - - show: function (type) { - return this.each(function (el) { - el.style.display = type || ''; - }); - }, - - hide: function (elements) { - return this.each(function (el) { - el.style.display = 'none'; - }); - }, - - append: function (node) { - return this.each(function (el) { - each(normalize(node), function (i) { - el.appendChild(i); - }); - }); - }, - - prepend: function (node) { - return this.each(function (el) { - var first = el.firstChild; - each(normalize(node), function (i) { - el.insertBefore(i, first); - }); - }); - }, - - appendTo: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.appendChild(el); - }); - }, - - prependTo: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.insertBefore(el, t.firstChild); - }); - }, - - next: function () { - return this.related('nextSibling'); - }, - - previous: function () { - return this.related('previousSibling'); - }, - - related: function (method) { - return this.map( - function (el) { - el = el[method]; - while (el && el.nodeType !== 1) { - el = el[method]; - } - return el || 0; - }, - function (el) { - return el; - } - ); - }, - - before: function (node) { - return this.each(function (el) { - each(bonzo.create(node), function (i) { - el.parentNode.insertBefore(i, el); - }); - }); - }, - - after: function (node) { - return this.each(function (el) { - each(bonzo.create(node), function (i) { - el.parentNode.insertBefore(i, el.nextSibling); - }); - }); - }, - - insertBefore: function (target, host) { - return insert.call(this, target, host, function (t, el) { - t.parentNode.insertBefore(el, t); - }); - }, - - insertAfter: function (target, host) { - return insert.call(this, target, host, function (t, el) { - var sibling = t.nextSibling; - if (sibling) { - t.parentNode.insertBefore(el, sibling); - } - else { - t.parentNode.appendChild(el); - } - }); - }, - - css: function (o, v) { - // is this a request for just getting a style? - if (v === undefined && typeof o == 'string') { - return getStyle(this[0], o); - } - var iter = o; - if (typeof o == 'string') { - iter = {}; - iter[o] = v; - } - - if (ie && iter.opacity) { - // oh this 'ol gamut - iter.filter = 'alpha(opacity=' + (iter.opacity * 100) + ')'; - // give it layout - iter.zoom = o.zoom || 1; - delete iter.opacity; - } - - if (v = iter['float']) { - // float is a reserved style word. w3 uses cssFloat, ie uses styleFloat - ie ? (iter.styleFloat = v) : (iter.cssFloat = v); - delete iter['float']; - } - - var fn = function (el, p, v) { - for (var k in iter) { - if (iter.hasOwnProperty(k)) { - v = iter[k]; - // change "5" to "5px" - unless you're line-height, which is allowed - (p = camelize(k)) && digit.test(v) && !(p in unitless) && (v += px); - el.style[p] = v; - } - } - }; - return this.each(fn); - }, - - offset: function (x, y) { - if (x || y) { - return this.each(function (el) { - xy(el, x, y); - }); - } - var el = this[0]; - var width = el.offsetWidth; - var height = el.offsetHeight; - var top = el.offsetTop; - var left = el.offsetLeft; - while (el = el.offsetParent) { - top = top + el.offsetTop; - left = left + el.offsetLeft; - } - - return { - top: top, - left: left, - height: height, - width: width - }; - }, - - attr: function (k, v) { - var el = this[0]; - return typeof v == 'undefined' ? - specialAttributes.test(k) ? - stateAttributes.test(k) && typeof el[k] == 'string' ? - true : el[k] : el[getAttribute](k) : - this.each(function (el) { - k == 'value' ? (el.value = v) : el[setAttribute](k, v); - }); - }, - - val: function (s) { - return (typeof s == 'string') ? this.attr('value', s) : this[0].value; - }, - - removeAttr: function (k) { - return this.each(function (el) { - el.removeAttribute(k); - }); - }, - - data: function (k, v) { - var el = this[0]; - if (typeof v === 'undefined') { - el[getAttribute]('data-node-uid') || el[setAttribute]('data-node-uid', ++uuids); - var uid = el[getAttribute]('data-node-uid'); - uidList[uid] || (uidList[uid] = {}); - return uidList[uid][k]; - } else { - return this.each(function (el) { - el[getAttribute]('data-node-uid') || el[setAttribute]('data-node-uid', ++uuids); - var uid = el[getAttribute]('data-node-uid'); - var o = {}; - o[k] = v; - uidList[uid] = o; - }); - } - }, - - remove: function () { - return this.each(function (el) { - el.parentNode && el.parentNode.removeChild(el); - }); - }, - - empty: function () { - return this.each(function (el) { - while (el.firstChild) { - el.removeChild(el.firstChild); - } - }); - }, - - detach: function () { - return this.map(function (el) { - return el.parentNode.removeChild(el); - }); - }, - - scrollTop: function (y) { - return scroll.call(this, null, y, 'y'); - }, - - scrollLeft: function (x) { - return scroll.call(this, x, null, 'x'); - } - }; - - function normalize(node, tag) { - return typeof node == 'string' ? bonzo.create(node, tag) : is(node) ? [node] : node; - } - - function scroll(x, y, type) { - var el = this[0]; - if (x == null && y == null) { - return (isBody(el) ? getWindowScroll() : { x: el.scrollLeft, y: el.scrollTop })[type]; - } - if (isBody(el)) { - window.scrollTo(x, y); - } else { - x != null && (el.scrollLeft = x); - y != null && (el.scrollTop = y); - } - return this; - } - - function isBody(element) { - return element === window || (/^(?:body|html)$/i).test(element.tagName); - } - - function getWindowScroll() { - return { x: window.pageXOffset || html.scrollLeft, y: window.pageYOffset || html.scrollTop }; - } - - function bonzo(els, host) { - return new Bonzo(els, host); - } - - bonzo.setQueryEngine = function (q) { - query = q; - delete bonzo.setQueryEngine; - }; - - bonzo.aug = function (o, target) { - for (var k in o) { - o.hasOwnProperty(k) && ((target || Bonzo.prototype)[k] = o[k]); - } - }; - - bonzo.create = function (node, tag) { - return typeof node == 'string' ? - function () { - var t = tag ? tagMap[tag.toLowerCase()] : null; - var el = doc.createElement(t || 'div'), els = []; - if (tag) { - var bitches = node.match(new RegExp("<" + t + ">.+?<\\/" + t + ">", "g")); - each(bitches, function (m) { - m = m.replace(/<(.+)>(.+?)<\/\1>/, '$2'); - var bah = doc.createElement(t); - bah.appendChild(doc.createDocumentFragment(m)); - el.appendChild(bah); - }); - } else { - el.innerHTML = node; - } - var nodes = el.childNodes; - el = el.firstChild; - els.push(el); - while (el = el.nextSibling) { - (el.nodeType == 1) && els.push(el); - } - return els; - - }() : is(node) ? [node.cloneNode(true)] : []; - }; - - bonzo.doc = function () { - var w = html.scrollWidth, - h = html.scrollHeight, - vp = this.viewport(); - return { - width: Math.max(w, vp.width), - height: Math.max(h, vp.height) - }; - }; - - bonzo.firstChild = function (el) { - for (var c = el.childNodes, i = 0, j = (c && c.length) || 0, e; i < j; i++) { - if (c[i].nodeType === 1) { - e = c[j = i]; - } - } - return e; - }; - - bonzo.viewport = function () { - var h = self.innerHeight, - w = self.innerWidth; - ie && (h = html.clientHeight) && (w = html.clientWidth); - return { - width: w, - height: h - }; - }; - - bonzo.isAncestor = 'compareDocumentPosition' in html ? - function (container, element) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in html ? - function (container, element) { - return container !== element && container.contains(element); - } : - function (container, element) { - while (element = element.parentNode) { - if (element === container) { - return true; - } - } - return false; - }; - - var old = context.bonzo; - bonzo.noConflict = function () { - context.bonzo = old; - return this; - }; - context['bonzo'] = bonzo; - -}(this);!function ($) { - - var b = bonzo; - b.setQueryEngine($); - $.ender(b); - $.ender(b(), true); - $.ender({ - create: function (node) { - return $(b.create(node)); - } - }); - - $.id = function (id) { - return $([document.getElementById(id)]); - }; - - function indexOf(ar, val) { - for (var i = 0; i < ar.length; i++) { - if (ar[i] === val) { - return i; - } - } - return -1; - } - - function uniq(ar) { - var a = [], i, j; - label: - for (i = 0; i < ar.length; i++) { - for (j = 0; j < a.length; j++) { - if (a[j] == ar[i]) { - continue label; - } - } - a[a.length] = ar[i]; - } - return a; - } - - $.ender({ - parents: function (selector, closest) { - var collection = $(selector), j, k, p, r = []; - for (j = 0, k = this.length; j < k; j++) { - p = this[j]; - while (p = p.parentNode) { - if (indexOf(collection, p) !== -1) { - r.push(p); - if (closest) break; - } - } - } - return $(uniq(r)); - }, - - closest: function (selector) { - return this.parents(selector, true); - }, - - first: function () { - return $(this[0]); - }, - - last: function () { - return $(this[this.length - 1]); - }, - - next: function () { - return $(b(this).next()); - }, - - previous: function () { - return $(b(this).previous()); - }, - - appendTo: function (t) { - return b(this.selector).appendTo(t, this); - }, - - prependTo: function (t) { - return b(this.selector).prependTo(t, this); - }, - - insertAfter: function (t) { - return b(this.selector).insertAfter(t, this); - }, - - insertBefore: function (t) { - return b(this.selector).insertBefore(t, this); - }, - - siblings: function () { - var i, l, p, r = []; - for (i = 0, l = this.length; i < l; i++) { - p = this[i]; - while (p = p.previousSibling) { - p.nodeType == 1 && r.push(p); - } - p = this[i]; - while (p = p.nextSibling) { - p.nodeType == 1 && r.push(p); - } - } - return $(r); - }, - - children: function () { - var el, r = []; - for (i = 0, l = this.length; i < l; i++) { - if (!(el = b.firstChild(this[i]))) { - continue; - } - r.push(el); - while (el = el.nextSibling) { - el.nodeType == 1 && r.push(el); - } - } - return $(uniq(r)); - }, - - height: function (v) { - return v ? this.css('height', v) : parseInt(this.css('height'), 10); - }, - - width: function (v) { - return v ? this.css('width', v) : parseInt(this.css('width'), 10); - } - }, true); - -}(ender || $); - -!function () { var exports = {}, module = { exports: exports }; !function (doc) { - var loaded = 0, fns = [], ol, f = false, - testEl = doc.createElement('a'), - domContentLoaded = 'DOMContentLoaded', - addEventListener = 'addEventListener', - onreadystatechange = 'onreadystatechange'; - - /^loade|c/.test(doc.readyState) && (loaded = 1); - - function flush() { - loaded = 1; - for (var i = 0, l = fns.length; i < l; i++) { - fns[i](); - } - } - doc[addEventListener] && doc[addEventListener](domContentLoaded, function fn() { - doc.removeEventListener(domContentLoaded, fn, f); - flush(); - }, f); - - - testEl.doScroll && doc.attachEvent(onreadystatechange, (ol = function ol() { - if (/^c/.test(doc.readyState)) { - doc.detachEvent(onreadystatechange, ol); - flush(); - } - })); - - var domReady = testEl.doScroll ? - function (fn) { - self != top ? - !loaded ? - fns.push(fn) : - fn() : - !function () { - try { - testEl.doScroll('left'); - } catch (e) { - return setTimeout(function() { - domReady(fn); - }, 50); - } - fn(); - }(); - } : - function (fn) { - loaded ? fn() : fns.push(fn); - }; - - (typeof module !== 'undefined') && module.exports ? - (module.exports = {domReady: domReady}) : - (window.domReady = domReady); - -}(document); $.ender(module.exports); }.call($); -/*! - * qwery.js - copyright @dedfat - * https://github.com/ded/qwery - * Follow our software http://twitter.com/dedfat - * MIT License - */ - -!function (context, doc) { - - var c, i, j, k, l, m, o, p, r, v, - el, node, len, found, classes, item, items, token, - id = /#([\w\-]+)/, - clas = /\.[\w\-]+/g, - idOnly = /^#([\w\-]+$)/, - classOnly = /^\.([\w\-]+)$/, - tagOnly = /^([\w\-]+)$/, - tagAndOrClass = /^([\w]+)?\.([\w\-]+)$/, - html = doc.documentElement, - tokenizr = /\s(?![\s\w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^'"]*\])/, - specialChars = /([.*+?\^=!:${}()|\[\]\/\\])/g, - simple = /^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/, - attr = /\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/, - chunker = new RegExp(simple.source + '(' + attr.source + ')?'); - - function array(ar) { - r = []; - for (i = 0, len = ar.length; i < len; i++) { - r[i] = ar[i]; - } - return r; - } - - var cache = function () { - this.c = {}; - }; - cache.prototype = { - g: function (k) { - return this.c[k] || undefined; - }, - s: function (k, v) { - this.c[k] = v; - return v; - } - }; - - var classCache = new cache(), - cleanCache = new cache(), - attrCache = new cache(), - tokenCache = new cache(); - - function q(query) { - return query.match(chunker); - } - - function interpret(whole, tag, idsAndClasses, wholeAttribute, attribute, qualifier, value) { - var m, c, k; - if (tag && this.tagName.toLowerCase() !== tag) { - return false; - } - if (idsAndClasses && (m = idsAndClasses.match(id)) && m[1] !== this.id) { - return false; - } - if (idsAndClasses && (classes = idsAndClasses.match(clas))) { - for (i = classes.length; i--;) { - c = classes[i].slice(1); - if (!(classCache.g(c) || classCache.s(c, new RegExp('(^|\\s+)' + c + '(\\s+|$)'))).test(this.className)) { - return false; - } - } - } - if (wholeAttribute && !value) { - o = this.attributes; - for (k in o) { - if (Object.prototype.hasOwnProperty.call(o, k) && (o[k].name || k) == attribute) { - return this; - } - } - } - if (wholeAttribute && !checkAttr(qualifier, this.getAttribute(attribute) || '', value)) { - return false; - } - return this; - } - - function loopAll(tokens) { - var r = [], token = tokens.pop(), intr = q(token), tag = intr[1] || '*', i, l, els, - root = tokens.length && (m = tokens[0].match(idOnly)) ? doc.getElementById(m[1]) : doc; - if (!root) { - return r; - } - els = root.getElementsByTagName(tag); - for (i = 0, l = els.length; i < l; i++) { - el = els[i]; - if (item = interpret.apply(el, intr)) { - r.push(item); - } - } - return r; - } - - function clean(s) { - return cleanCache.g(s) || cleanCache.s(s, s.replace(specialChars, '\\$1')); - } - - function checkAttr(qualify, actual, val) { - switch (qualify) { - case '=': - return actual == val; - case '^=': - return actual.match(attrCache.g('^=' + val) || attrCache.s('^=' + val, new RegExp('^' + clean(val)))); - case '$=': - return actual.match(attrCache.g('$=' + val) || attrCache.s('$=' + val, new RegExp(clean(val) + '$'))); - case '*=': - return actual.match(attrCache.g(val) || attrCache.s(val, new RegExp(clean(val)))); - case '~=': - return actual.match(attrCache.g('~=' + val) || attrCache.s('~=' + val, new RegExp('(?:^|\\s+)' + clean(val) + '(?:\\s+|$)'))); - case '|=': - return actual.match(attrCache.g('|=' + val) || attrCache.s('|=' + val, new RegExp('^' + clean(val) + '(-|$)'))); - } - return false; - } - - function _qwery(selector) { - var r = [], ret = [], i, l, - tokens = tokenCache.g(selector) || tokenCache.s(selector, selector.split(tokenizr)); - tokens = tokens.slice(0); - if (!tokens.length) { - return r; - } - r = loopAll(tokens); - if (!tokens.length) { - return r; - } - // loop through all descendent tokens - for (j = 0, l = r.length, k = 0; j < l; j++) { - node = r[j]; - p = node; - // loop through each token - for (i = tokens.length; i--;) { - z: // loop through parent nodes - while (p !== html && (p = p.parentNode)) { - if (found = interpret.apply(p, q(tokens[i]))) { - break z; - } - } - } - found && (ret[k++] = node); - } - return ret; - } - - function boilerPlate(selector, _root, fn) { - var root = (typeof _root == 'string') ? fn(_root)[0] : (_root || doc); - if (selector === window || isNode(selector)) { - return !_root || (selector !== window && isNode(root) && isAncestor(selector, root)) ? [selector] : []; - } - if (selector && typeof selector === 'object' && isFinite(selector.length)) { - return array(selector); - } - if (m = selector.match(idOnly)) { - return (el = doc.getElementById(m[1])) ? [el] : []; - } - if (m = selector.match(tagOnly)) { - return array(root.getElementsByTagName(m[1])); - } - return false; - } - - function isNode(el) { - return (el && el.nodeType && (el.nodeType == 1 || el.nodeType == 9)); - } - - function uniq(ar) { - var a = [], i, j; - label: - for (i = 0; i < ar.length; i++) { - for (j = 0; j < a.length; j++) { - if (a[j] == ar[i]) { - continue label; - } - } - a[a.length] = ar[i]; - } - return a; - } - - function qwery(selector, _root) { - var root = (typeof _root == 'string') ? qwery(_root)[0] : (_root || doc); - if (!root || !selector) { - return []; - } - if (m = boilerPlate(selector, _root, qwery)) { - return m; - } - return select(selector, root); - } - - var isAncestor = 'compareDocumentPosition' in html ? - function (element, container) { - return (container.compareDocumentPosition(element) & 16) == 16; - } : 'contains' in html ? - function (element, container) { - container = container == doc || container == window ? html : container; - return container !== element && container.contains(element); - } : - function (element, container) { - while (element = element.parentNode) { - if (element === container) { - return 1; - } - } - return 0; - }, - - select = (doc.querySelector && doc.querySelectorAll) ? - function (selector, root) { - if (doc.getElementsByClassName && (m = selector.match(classOnly))) { - return array((root).getElementsByClassName(m[1])); - } - return array((root).querySelectorAll(selector)); - } : - function (selector, root) { - var result = [], collection, collections = [], i; - if (m = selector.match(tagAndOrClass)) { - items = root.getElementsByTagName(m[1] || '*'); - r = classCache.g(m[2]) || classCache.s(m[2], new RegExp('(^|\\s+)' + m[2] + '(\\s+|$)')); - for (i = 0, l = items.length, j = 0; i < l; i++) { - r.test(items[i].className) && (result[j++] = items[i]); - } - return result; - } - for (i = 0, items = selector.split(','), l = items.length; i < l; i++) { - collections[i] = _qwery(items[i]); - } - for (i = 0, l = collections.length; i < l && (collection = collections[i]); i++) { - var ret = collection; - if (root !== doc) { - ret = []; - for (j = 0, m = collection.length; j < m && (element = collection[j]); j++) { - // make sure element is a descendent of root - isAncestor(element, root) && ret.push(element); - } - } - result = result.concat(ret); - } - return uniq(result); - }; - - qwery.uniq = uniq; - var oldQwery = context.qwery; - qwery.noConflict = function () { - context.qwery = oldQwery; - return this; - }; - context['qwery'] = qwery; - -}(this, document);!function (doc) { - var q = qwery.noConflict(); - function create(node, root) { - var el = (root || doc).createElement('div'), els = []; - el.innerHTML = node; - var nodes = el.childNodes; - el = el.firstChild; - els.push(el); - while (el = el.nextSibling) { - (el.nodeType == 1) && els.push(el); - } - return els; - }; - $._select = function (s, r) { - return /^\s*.+?<\\/"+d+">","g"));t(g,function(a){a=a.replace(/<(.+)>(.+?)<\/\1>/,"$2");var c=b.createElement(d);c.appendChild(b.createDocumentFragment(a)),e.appendChild(c)})}else e.innerHTML=a;var i=e.childNodes;e=e.firstChild,f.push(e);while(e=e.nextSibling)e.nodeType==1&&f.push(e);return f}():w(a)?[a.cloneNode(!0)]:[]},G.doc=function(){var a=c.scrollWidth,b=c.scrollHeight,d=this.viewport();return{width:Math.max(a,d.width),height:Math.max(b,d.height)}},G.firstChild=function(a){for(var b=a.childNodes,c=0,d=b&&b.length||0,e;c\{\}\$\*\^'"]*\])/,C=/([.*+?\^=!:${}()|\[\]\/\\])/g,D=/^([a-z0-9]+)?(?:([\.\#]+[\w\-\.#]+)?)/,E=/\[([\w\-]+)(?:([\|\^\$\*\~]?\=)['"]?([ \w\-\/\?\&\=\:\.\(\)\!,@#%<>\{\}\$\*\^]+)["']?)?\]/,F=new RegExp(D.source+"("+E.source+")?"),H=function(){this.c={}};H.prototype={g:function(a){return this.c[a]||undefined},s:function(a,b){this.c[a]=b;return b}};var I=new H,J=new H,K=new H,L=new H,W="compareDocumentPosition"in A?function(a,b){return(b.compareDocumentPosition(a)&16)==16}:"contains"in A?function(a,c){c=c==b||c==window?A:c;return c!==a&&c.contains(a)}:function(a,b){while(a=a.parentNode)if(a===b)return 1;return 0},X=b.querySelector&&b.querySelectorAll?function(a,c){if(b.getElementsByClassName&&(h=a.match(x)))return G(c.getElementsByClassName(h[1]));return G(c.querySelectorAll(a))}:function(a,c){var d=[],f,i=[],j;if(h=a.match(z)){s=c.getElementsByTagName(h[1]||"*"),k=I.g(h[2])||I.s(h[2],new RegExp("(^|\\s+)"+h[2]+"(\\s+|$)"));for(j=0,g=s.length,e=0;j~])?/, - selectorSplit: /(?:\[.*\]|\(.*\)|[^\s+>~[(])+|[+>~]/g, - id: /^#([-\w\u00C0-\uFFFF=$]+)$/, - tag: /^\w+/, - relation: /^[+>~]$/, - pseudo: /^:(\w[-\w]*)(\((.+)\))?$/, - pseudos: /:(\w[-\w]*)(\((([^(]+)|([^(]+\([^(]+)\))\))?/g, - attribs: /\[(\w+)\s*([~^$*|])?(=)?\s*([^\[\]]*|"[^"]*"|'[^']*')?\](?=$|\[|:|\s)/g, - classes: /\.([-\w\u00C0-\uFFFF]+)/g, - quoted: /^["'](.*)["']$/, - nth: /^((odd|even)|([1-9]\d*)|((([1-9]\d*)?)n([-+]\d+)?)|(-(([1-9]\d*)?)n\+(\d+)))$/, - special: /(:check|:enabl|\bselect)ed\b/ - }, - navigate = function (node, direction, checkTagName) { - var oldName = node.tagName; - while ((node = node[direction + "Sibling"]) && (node.nodeType !== 1 || (checkTagName? node.tagName !== oldName : node.tagName === "!"))) {} - return node; - }, - def = function (obj) { - return typeof obj !== "undefined"; - }, - sortDocumentOrder = function (elmArray) { - return (sortDocumentOrder = elmArray[0].compareDocumentPosition? function (elmArray) { return elmArray.sort( function (a, b) { return 3 - (a.compareDocumentPosition(b) & 6); } ); } : - isIE? function (elmArray) { return elmArray.sort( function (a, b) { return a.sourceIndex - b.sourceIndex; } ); } : - function (elmArray) { return elmArray.sort( function (a, b) { - var range1 = document.createRange(), range2 = document.createRange(); - range1.setStart(a, 0); - range1.setEnd(a, 0); - range2.setStart(b, 0); - range2.setEnd(b, 0); - return range1.compareBoundaryPoints(Range.START_TO_END, range2); - } ); })(elmArray); - }; - var pushAll = function (set1, set2) { - set1.push.apply(set1, slice.apply(set2)); - return set1; - }; - if (isIE) { - pushAll = function (set1, set2) { - if (set2.slice) { - return set1.concat(set2); - } - var i=0, item; - while ((item = set2[i++])) { - set1[set1.length] = item; - } - return set1; - }; - } - return { - isIE : isIE, - camel : camel, - def : def, - allMethods : [], - publicMethods : [ - "prev", - "next", - "hasChild", - "cssSelect", - "elmsByClass", - "elmsByAttribute", - "elmsByTag" - ], - - harmonize : function () { - w.$ = _$; - w.$$ = _$$; - return this; - }, - - initCore : function () { - this.applyMethod.call(w, "$", this.$); - this.applyMethod.call(w, "$$", this.$$); - w.DOMAssistant = this; - if (isIE) { - HTMLArray = Array; - } - HTMLArray.prototype = []; - (function (H) { - H.each = function (fn, context) { - for (var i=0, il=this.length; i= add)? (start - add) % add : start; - } - else if (pseudoVal[8]) { // -an+b - add = pseudoVal[10]? parseInt(pseudoVal[10], 10) : 1; - start = max = parseInt(pseudoVal[11], 10); - while (start > add) { - start -= add; - } - modVal = (max >= add)? (max - add) % add : max; - } - return { start: start, add: add, max: max, modVal: modVal }; - }, - - cssByDOM : function (cssRule) { - var prevParents, currentRule, cssSelectors, childOrSiblingRef, nextTag, nextRegExp, current, previous, prevParent, notElm, addElm, iteratorNext, childElm, sequence, anyTag, - elm = new HTMLArray(), index = elm.indexOf, prevElm = [], matchingElms = [], cssRules = cssRule.replace(regex.rules, ",").split(","), splitRule = {}; - function clearAdded (elm) { - elm = elm || prevElm; - for (var n=elm.length; n--;) { - elm[n].added = null; - elm[n].removeAttribute("added"); - } - } - function clearChildElms () { - for (var n=prevParents.length; n--;) { - prevParents[n].childElms = null; - } - } - function subtractArray (arr1, arr2) { - for (var i=0, src1; (src1=arr1[i]); i++) { - var found = false; - for (var j=0, src2; (src2=arr2[j]); j++) { - if (src2 === src1) { - found = true; - arr2.splice(j, 1); - break; - } - } - if (found) { - arr1.splice(i--, 1); - } - } - return arr1; - } - function getAttr (elm, attr) { - return (isIE || regex.special.test(attr))? elm[camel[attr.toLowerCase()] || attr] : elm.getAttribute(attr, 2); - } - function attrToRegExp (attrVal, substrOperator) { - attrVal = attrVal? attrVal.replace(regex.quoted, "$1").replace(/(\.|\[|\])/g, "\\$1") : null; - return { - "^": "^" + attrVal, - "$": attrVal + "$", - "*": attrVal, - "|": "^" + attrVal + "(\\-\\w+)*$", - "~": "\\b" + attrVal + "\\b" - }[substrOperator] || (attrVal !== null? "^" + attrVal + "$" : attrVal); - } - function notComment(el) { - return (el || this).tagName !== "!"; - } - function getTags (tag, context) { - return isIE5? (tag === "*"? context.all : context.all.tags(tag)) : context.getElementsByTagName(tag); - } - function getElementsByTagName (tag, parent) { - tag = tag || "*"; - parent = parent || document; - return (parent === document || parent.lastModified)? tagCache[tag] || (tagCache[tag] = getTags(tag, document)) : getTags(tag, parent); - } - function getElementsByPseudo (previousMatch, pseudoClass, pseudoValue) { - prevParents = []; - var pseudo = pseudoClass.split("-"), matchingElms = [], idx = 0, checkNodeName = /\-of\-type$/.test(pseudoClass), recur, - match = { - first: function(el) { return !navigate(el, "previous", checkNodeName); }, - last: function(el) { return !navigate(el, "next", checkNodeName); }, - empty: function(el) { return !el.firstChild; }, - enabled: function(el) { return !el.disabled && el.type !== "hidden"; }, - disabled: function(el) { return el.disabled; }, - checked: function(el) { return el.checked; }, - contains: function(el) { return (el.innerText || el.textContent || "").indexOf(pseudoValue.replace(regex.quoted, "$1")) > -1; }, - other: function(el) { return getAttr(el, pseudoClass) === pseudoValue; } - }; - function basicMatch(key) { - while ((previous=previousMatch[idx++])) { - if (notComment(previous) && match[key](previous)) { - matchingElms[matchingElms.length] = previous; - } - } - return matchingElms; - } - var word = pseudo[0] || null; - if (word && match[word]) { - return basicMatch(word); - } - switch (word) { - case "only": - var kParent, kTag; - while ((previous=previousMatch[idx++])) { - prevParent = previous.parentNode; - var q = previous.nodeName; - if (prevParent !== kParent || q !== kTag) { - if (match.first(previous) && match.last(previous)) { - matchingElms[matchingElms.length] = previous; - } - kParent = prevParent; - kTag = q; - } - } - break; - case "nth": - if (pseudoValue === "n") { - matchingElms = previousMatch; - } - else { - var direction = (pseudo[1] === "last")? ["lastChild", "previousSibling"] : ["firstChild", "nextSibling"]; - sequence = DOMAssistant.getSequence(pseudoValue); - if (sequence) { - while ((previous=previousMatch[idx++])) { - prevParent = previous.parentNode; - prevParent.childElms = prevParent.childElms || {}; - var p = previous.nodeName; - if (!prevParent.childElms[p]) { - var childCount = 0; - iteratorNext = sequence.start; - childElm = prevParent[direction[0]]; - while (childElm && (sequence.max < 0 || iteratorNext <= sequence.max)) { - var c = childElm.nodeName; - if ((checkNodeName && c === p) || (!checkNodeName && childElm.nodeType === 1 && c !== "!")) { - if (++childCount === iteratorNext) { - if (c === p) { matchingElms[matchingElms.length] = childElm; } - iteratorNext += sequence.add; - } - } - childElm = childElm[direction[1]]; - } - if (anyTag) { sort++; } - prevParent.childElms[p] = true; - prevParents[prevParents.length] = prevParent; - } - } - clearChildElms(); - } - } - break; - case "target": - var hash = document.location.hash.slice(1); - if (hash) { - while ((previous=previousMatch[idx++])) { - if (getAttr(previous, "name") === hash || getAttr(previous, "id") === hash) { - matchingElms[matchingElms.length] = previous; - break; - } - } - } - break; - case "not": - if ((recur = regex.pseudo.exec(pseudoValue))) { - matchingElms = subtractArray(previousMatch, getElementsByPseudo(previousMatch, recur[1]? recur[1].toLowerCase() : null, recur[3] || null)); - } - else { - for (var re in regex) { - if (regex[re].lastIndex) { - regex[re].lastIndex = 0; - } - } - pseudoValue = pseudoValue.replace(regex.id, "[id=$1]"); - var notTag = regex.tag.exec(pseudoValue); - var notClass = regex.classes.exec(pseudoValue); - var notAttr = regex.attribs.exec(pseudoValue); - var notRegExp = new RegExp(notAttr? attrToRegExp(notAttr[4], notAttr[2]) : "(^|\\s)" + (notTag? notTag[0] : notClass? notClass[1] : "") + "(\\s|$)", "i"); - while ((notElm=previousMatch[idx++])) { - addElm = null; - if (notTag && !notRegExp.test(notElm.nodeName) || notClass && !notRegExp.test(notElm.className)) { - addElm = notElm; - } - else if (notAttr) { - var att = getAttr(notElm, notAttr[1]); - if (!def(att) || att === false || typeof att === "string" && !notRegExp.test(att)) { - addElm = notElm; - } - } - if (addElm && !addElm.added) { - addElm.added = true; - matchingElms[matchingElms.length] = addElm; - } - } - } - break; - default: return basicMatch("other"); - } - return matchingElms; - } - function pushUnique(set1, set2) { - var i=0, s=set1, item; - while ((item = set2[i++])) { - if (!s.length || s.indexOf(item) < 0) { - set1.push(item); - } - } - return set1; - } - sort = -1; - for (var a=0, tagBin=[]; (currentRule=cssRules[a]); a++) { - if (!(cssSelectors = currentRule.match(regex.selectorSplit)) || a && index.call(cssRules.slice(0, a), currentRule) > -1) { continue; } - prevElm = [this]; - for (var i=0, rule; (rule=cssSelectors[i]); i++) { - matchingElms = []; - if ((childOrSiblingRef = regex.relation.exec(rule))) { - var idElm = null, nextWord = cssSelectors[i+1]; - if ((nextTag = regex.tag.exec(nextWord))) { - nextTag = nextTag[0]; - nextRegExp = new RegExp("(^|\\s)" + nextTag + "(\\s|$)", "i"); - } - else if (regex.id.test(nextWord)) { - idElm = DOMAssistant.$(nextWord) || null; - } - for (var j=0, prevRef; (prevRef=prevElm[j]); j++) { - switch (childOrSiblingRef[0]) { - case ">": - var children = idElm || getElementsByTagName(nextTag, prevRef); - for (var k=0, child; (child=children[k]); k++) { - if (child.parentNode === prevRef) { - matchingElms[matchingElms.length] = child; - } - } - break; - case "+": - if ((prevRef = navigate(prevRef, "next"))) { - if ((idElm && idElm[0] === prevRef) || (!idElm && (!nextTag || nextRegExp.test(prevRef.nodeName)))) { - matchingElms[matchingElms.length] = prevRef; - } - } - break; - case "~": - while ((prevRef = prevRef.nextSibling) && !prevRef.added) { - if ((idElm && idElm[0] === prevRef) || (!idElm && (!nextTag || nextRegExp.test(prevRef.nodeName)))) { - prevRef.added = true; - matchingElms[matchingElms.length] = prevRef; - } - } - break; - } - } - prevElm = matchingElms; - clearAdded(); - rule = cssSelectors[++i]; - if (/^\w+$/.test(rule) || regex.id.test(rule)) { - continue; - } - prevElm.skipTag = true; - } - var cssSelector = regex.selector.exec(rule); - splitRule = { - tag : cssSelector[1]? cssSelector[1] : "*", - id : cssSelector[2], - allClasses : cssSelector[3], - allAttr : cssSelector[5], - allPseudos : cssSelector[10] - }; - anyTag = (splitRule.tag === "*"); - if (splitRule.id) { - var u = 0, DOMElm = document.getElementById(splitRule.id.slice(1)); - if (DOMElm) { - while (prevElm[u] && !DOMAssistant.hasChild.call(prevElm[u], DOMElm)) { u++; } - matchingElms = (u < prevElm.length && (anyTag || splitRule.tag === DOMElm.tagName.toLowerCase()))? [DOMElm] : []; - } - prevElm = matchingElms; - } - else if (splitRule.tag && !prevElm.skipTag) { - if (i===0 && !matchingElms.length && prevElm.length === 1) { - prevElm = matchingElms = pushAll([], getElementsByTagName(splitRule.tag, prevElm[0])); - } - else { - for (var l=0, ll=prevElm.length, tagCollectionMatches, tagMatch; l= 0 || index.call(tagBin, "*") >= 0))? pushUnique : pushAll)(elm, prevElm); - tagBin.push(splitRule.tag); - if (isIE && anyTag) { elm = elm.filter(notComment); } - } - return ((elm.length > 1 && cssRules.length > 1) || sort > 0)? sortDocumentOrder(elm) : elm; - }, - - cssByXpath : function (cssRule) { - var ns = { xhtml: "http://www.w3.org/1999/xhtml" }, - prefix = (document.documentElement.namespaceURI === ns.xhtml)? "xhtml:" : "", - nsResolver = function lookupNamespaceURI (prefix) { - return ns[prefix] || null; - }; - DOMAssistant.cssByXpath = function (cssRule) { - var currentRule, cssSelectors, xPathExpression, cssSelector, splitRule, sequence, - elm = new HTMLArray(), cssRules = cssRule.replace(regex.rules, ",").split(","); - function attrToXPath (wrap) { - var pre = wrap? "[" : "", post = wrap? "]" : ""; - return function (match, p1, p2, p3, p4) { - p4 = (p4 || "").replace(regex.quoted, "$1"); - if (p1 === p4 && p1 === "readonly") { p3 = null; } - return pre + ({ - "^": "starts-with(@" + p1 + ", \"" + p4 + "\")", - "$": "substring(@" + p1 + ", (string-length(@" + p1 + ") - " + (p4.length - 1) + "), " + p4.length + ") = \"" + p4 + "\"", - "*": "contains(concat(\" \", @" + p1 + ", \" \"), \"" + p4 + "\")", - "|": "@" + p1 + "=\"" + p4 + "\" or starts-with(@" + p1 + ", \"" + p4 + "-\")", - "~": "contains(concat(\" \", @" + p1 + ", \" \"), \" " + p4 + " \")" - }[p2] || ("@" + p1 + (p3? "=\"" + p4 + "\"" : ""))) + post; - }; - } - function pseudoToXPath (tag, pseudoClass, pseudoValue) { - tag = /\-child$/.test(pseudoClass)? "*" : tag; - var pseudo = pseudoClass.split("-"), position = ((pseudo[1] === "last")? "(count(following-sibling::" : "(count(preceding-sibling::") + tag + ") + 1)", recur, hash; - switch (pseudo[0]) { - case "nth": return (pseudoValue !== "n" && (sequence = DOMAssistant.getSequence(pseudoValue)))? ((sequence.start === sequence.max)? position + " = " + sequence.start : position + " mod " + sequence.add + " = " + sequence.modVal + ((sequence.start > 1)? " and " + position + " >= " + sequence.start : "") + ((sequence.max > 0)? " and " + position + " <= " + sequence.max: "")) : ""; - case "not": return "not(" + ((recur = regex.pseudo.exec(pseudoValue))? pseudoToXPath(tag, recur[1]? recur[1].toLowerCase() : null, recur[3] || null) : pseudoValue.replace(regex.id, "[id=$1]").replace(regex.tag, "self::$0").replace(regex.classes, "contains(concat(\" \", @class, \" \"), \" $1 \")").replace(regex.attribs, attrToXPath())) + ")"; - case "first": return "not(preceding-sibling::" + tag + ")"; - case "last": return "not(following-sibling::" + tag + ")"; - case "only": return "not(preceding-sibling::" + tag + " or following-sibling::" + tag + ")"; - case "empty": return "not(child::*) and not(text())"; - case "contains": return "contains(., \"" + pseudoValue.replace(regex.quoted, "$1") + "\")"; - case "enabled": return "not(@disabled) and not(@type=\"hidden\")"; - case "disabled": return "@disabled"; - case "target": return "@name=\"" + (hash = document.location.hash.slice(1)) + "\" or @id=\"" + hash + "\""; - default: return "@" + pseudoClass + "=\"" + pseudoValue + "\""; - } - } - for (var i=0; (currentRule=cssRules[i]); i++) { - if (!(cssSelectors = currentRule.match(regex.selectorSplit)) || i && elm.indexOf.call(cssRules.slice(0, i), currentRule) > -1) { continue; } - xPathExpression = xPathExpression? xPathExpression + " | ." : "."; - for (var j=0, jl=cssSelectors.length; j": "/", "+": "/following-sibling::*[1]/self::", "~": "/following-sibling::" }[splitRule.tagRelation] || "") : ((j > 0 && regex.relation.test(cssSelectors[j-1]))? splitRule.tag : ("//" + splitRule.tag))) + - (splitRule.id || "").replace(regex.id, "[@id = \"$1\"]") + - (splitRule.allClasses || "").replace(regex.classes, "[contains(concat(\" \", @class, \" \"), \" $1 \")]") + - (splitRule.allAttr || "").replace(regex.attribs, attrToXPath(true)); - if (splitRule.allPseudos) { - var allPseudos = splitRule.allPseudos.match(regex.pseudos); - for (var k=0, kl=allPseudos.length; k 0 && ajaxObj.params)? ("&" + ajaxObj.params) : ""); - } - return DOMAssistant.AJAX.makeCall.call(this, ajaxObj); - }, - - get : function (url, callback, addToContent) { - return DOMAssistant.AJAX.makeCall.call(this, createAjaxObj(url, "GET", callback, addToContent)); - }, - - post : function (url, callback) { - return DOMAssistant.AJAX.makeCall.call(this, createAjaxObj(url, "POST", callback)); - }, - - load : function (url, addToContent) { - this.get(url, DOMAssistant.AJAX.replaceWithAJAXContent, addToContent); - }, - - makeCall : function (ajaxObj) { - var XMLHttp = DOMAssistant.AJAX.initRequest(); - if (XMLHttp) { - globalXMLHttp = XMLHttp; - (function (elm) { - var url = ajaxObj.url, - method = ajaxObj.method || "GET", - callback = ajaxObj.callback, - params = ajaxObj.params, - headers = ajaxObj.headers, - responseType = ajaxObj.responseType || "text", - addToContent = ajaxObj.addToContent, - timeout = ajaxObj.timeout || null, - ex = ajaxObj.exception, - timeoutId = null, - done = false; - XMLHttp.open(method, url, true); - XMLHttp.setRequestHeader("AJAX", "true"); - XMLHttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - if (method === "POST") { - XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - XMLHttp.setRequestHeader("Content-length", params? params.length : 0); - if (XMLHttp.overrideMimeType) { - XMLHttp.setRequestHeader("Connection", "close"); - } - } - if (responseType === "json") { - XMLHttp.setRequestHeader("Accept", "application/json, text/javascript, */*"); - } - for (var i in headers) { - if (typeof i === "string") { - XMLHttp.setRequestHeader(i, headers[i]); - } - } - if (typeof callback === "function") { - XMLHttp.onreadystatechange = function () { - try { - if (XMLHttp.readyState === 4 && !done) { - window.clearTimeout(timeoutId); - done = true; - status = XMLHttp.status; - statusText = XMLHttp.statusText; - readyState = 4; - if ((status || location.protocol !== "file:") && (status < 200 || status >= 300)) { - throw new Error(statusText); - } - var response = /xml/i.test(responseType)? XMLHttp.responseXML : XMLHttp.responseText; - if (/json/i.test(responseType) && !!response) { - response = (typeof JSON === "object" && typeof JSON.parse === "function")? JSON.parse(response) : eval("(" + response + ")"); - } - globalXMLHttp = null; - XMLHttp.onreadystatechange = function () {}; - requestPool.push(XMLHttp); - callback.call(elm, response, addToContent); - } - } - catch (e) { - globalXMLHttp = XMLHttp = null; - if (typeof ex === "function") { - ex.call(elm, e); - ex = null; - } - } - }; - } - XMLHttp.send(params); - if (timeout) { - timeoutId = window.setTimeout( function () { - if (!done) { - XMLHttp.abort(); - done = true; - if (typeof ex === "function") { - readyState = 0; - status = 408; - statusText = "Request timeout"; - globalXMLHttp = XMLHttp = null; - ex.call(elm, new Error(statusText)); - ex = null; - } - } - }, timeout); - } - })(this); - } - return this; - }, - - replaceWithAJAXContent : function (content, add) { - if (add) { - this.innerHTML += content; - } - else { - DOMAssistant.cleanUp(this); - this.innerHTML = content; - } - }, - - getReadyState : function () { - return (globalXMLHttp && DOMAssistant.def(globalXMLHttp.readyState))? globalXMLHttp.readyState : readyState; - }, - - getStatus : function () { - return status; - }, - - getStatusText : function () { - return statusText; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.AJAX); -DOMAssistant.CSS = function () { - var def = DOMAssistant.def, - direct = { display: true }; - return { - addClass : function (className) { - if (!this.hasClass(className)) { - var currentClass = this.className; - this.className = currentClass + (currentClass.length? " " : "") + className; - } - return this; - }, - - removeClass : function (className) { - return this.replaceClass(className); - }, - - replaceClass : function (className, newClass) { - var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i"); - this.className = this.className.replace(classToRemove, function (match, p1, p2) { - return newClass? (p1 + newClass + p2) : " "; - }).replace(/^\s+|\s+$/g, ""); - return this; - }, - - hasClass : function (className) { - return (" " + this.className + " ").indexOf(" " + className + " ") > -1; - }, - - setStyle : function (style, value) { - var css = this.style; - if ("filters" in this && (typeof style === "string"? /opacity/i.test(style) : def(style.opacity))) { - css.zoom = 1; - css.filter = (css.filter || "").replace(/alpha\([^)]*\)/, "") + "alpha(opacity=" + (def(style.opacity)? style.opacity : value) * 100 + ")"; - } - if (def(css.cssText)) { - var styleToSet = css.cssText; - if (typeof style === "object") { - for (var i in style) { - if (typeof i === "string") { - if (direct[i]) { css[i] = style[i]; } - styleToSet += ";" + i + ":" + style[i]; - } - } - } - else { - if (direct[style]) { css[style] = value; } - styleToSet += ";" + style + ":" + value; - } - css.cssText = styleToSet; - } - return this; - }, - - getStyle : function (cssRule) { - var val = "", f; - cssRule = cssRule.toLowerCase(); - if (document.defaultView && document.defaultView.getComputedStyle) { - val = document.defaultView.getComputedStyle(this, "").getPropertyValue(cssRule); - } - else if (this.currentStyle) { - if ("filters" in this && cssRule === "opacity") { - val = (f = this.style.filter || this.currentStyle.filter) && f.indexOf("opacity=") >= 0? parseFloat(f.match(/opacity=([^)]*)/)[1]) / 100 : 1; - } - else { - cssRule = cssRule.replace(/^float$/, "styleFloat").replace(/\-(\w)/g, function (match, p1) { - return p1.toUpperCase(); - }); - val = this.currentStyle[cssRule]; - } - if (val === "auto" && /^(width|height)$/.test(cssRule) && this.currentStyle.display !== "none") { - val = this["offset" + cssRule.charAt(0).toUpperCase() + cssRule.substr(1)] + "px"; - } - } - return val; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.CSS); -DOMAssistant.Content = function () { - var D$ = DOMAssistant.$$; - return { - init : function () { - DOMAssistant.setCache(false); - }, - - create : function (name, attr, append, content) { - var elm = D$(document.createElement(name)); - if (attr) { - elm = elm.setAttributes(attr); - } - if (DOMAssistant.def(content)) { - elm.addContent(content); - } - if (append) { - this.appendChild(elm); - } - return elm; - }, - - setAttributes : function (attr) { - if (DOMAssistant.isIE) { - var setAttr = function (elm, att, val) { - var attLower = att.toLowerCase(); - switch (attLower) { - case "name": - case "type": - case "multiple": - return D$(document.createElement(elm.outerHTML.replace(new RegExp(attLower + "(=[a-zA-Z]+)?"), " ").replace(">", " " + attLower + "=" + val + ">"))); - case "style": - elm.style.cssText = val; - return elm; - default: - elm[DOMAssistant.camel[attLower] || att] = val; - return elm; - } - }; - DOMAssistant.Content.setAttributes = function (attr) { - var elem = this; - var parent = this.parentNode; - for (var i in attr) { - if (typeof attr[i] === "string" || typeof attr[i] === "number") { - var newElem = setAttr(elem, i, attr[i]); - if (parent && /(name|type)/i.test(i)) { - if (elem.innerHTML) { - newElem.innerHTML = elem.innerHTML; - } - parent.replaceChild(newElem, elem); - } - elem = newElem; - } - } - return elem; - }; - } - else { - DOMAssistant.Content.setAttributes = function (attr) { - for (var i in attr) { - if (/class/i.test(i)) { - this.className = attr[i]; - } - else { - this.setAttribute(i, attr[i]); - } - } - return this; - }; - } - return DOMAssistant.Content.setAttributes.call(this, attr); - }, - - addContent : function (content) { - var type = typeof content; - if (type === "string" || type === "number") { - if (!this.firstChild) { - this.innerHTML = content; - } - else { - var tmp = document.createElement("div"); - tmp.innerHTML = content; - for (var i=tmp.childNodes.length-1, last=null; i>=0; i--) { - last = this.insertBefore(tmp.childNodes[i], last); - } - } - } - else if (type === "object" || (type === "function" && !!content.nodeName)) { - this.appendChild(content); - } - return this; - }, - - replaceContent : function (content) { - DOMAssistant.cleanUp(this); - return this.addContent(content); - }, - - replace : function (content, returnNew) { - var type = typeof content; - if (type === "string" || type === "number") { - var parent = this.parentNode; - var tmp = DOMAssistant.Content.create.call(parent, "div", null, false, content); - for (var i=tmp.childNodes.length; i--;) { - parent.insertBefore(tmp.childNodes[i], this.nextSibling); - } - content = this.nextSibling; - parent.removeChild(this); - } - else if (type === "object" || (type === "function" && !!content.nodeName)) { - this.parentNode.replaceChild(content, this); - } - return returnNew? content : this; - }, - - remove : function () { - DOMAssistant.cleanUp(this); - if (this.hasData()) { - if (this.removeEvent) { this.removeEvent(); } - this.unstore(); - } - this.parentNode.removeChild(this); - return null; - } - }; -}(); -DOMAssistant.attach(DOMAssistant.Content); -DOMAssistant.Events = function () { - var handler, - key = "_events", - w3cMode = !!document.addEventListener, - useCapture = { focus: true, blur: true }, - translate = DOMAssistant.isIE? { focus: "activate", blur: "deactivate", mouseenter: "mouseover", mouseleave: "mouseout" } : { mouseenter: "mouseover", mouseleave: "mouseout" }, - regex = { - special: /^submit|reset|change|select$/i, - mouseenterleave: /^mouse(enter|leave)$/i, - dom: /^DOM/, - on: /^on/i - }, - special = function (e) { - return DOMAssistant.isIE && regex.special.test(e); - }, - fix = function (e) { - return translate[e] || e; - }, - createEvent = function (e, type, target) { - e = e || window.event || {}; - if (e.event) { return e; } - var event = { - event: e, - type: type || e.type, - bubbles: e.bubbles || true, - cancelable: e.cancelable || false, - target: target || e.target || e.srcElement, - clientX: e.clientX || 0, - clientY: e.clientY || 0, - altKey: e.altKey || false, - ctrlKey: e.ctrlKey || false, - shiftKey: e.shiftKey || false, - button: e.button || null, - timeStamp: +new Date(), - preventDefault: function() { - if (e.preventDefault) { e.preventDefault(); } - this.returnValue = e.returnValue = false; - }, - stopPropagation: function() { - if (e.stopPropagation) { e.stopPropagation(); } - this.cancelBubble = e.cancelBubble = true; - } - }; - if (event.target && 3 === event.target.nodeType) { // Safari textnode bug - event.target = event.target.parentNode; - } - event.currentTarget = event.target; - event.relatedTarget = e.relatedTarget || (e.fromElement === event.target? e.toElement : e.fromElement) || null; - var de = document.documentElement, b = document.body; - event.pageX = DOMAssistant.def(e.pageX)? e.pageX : (event.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0)); - event.pageY = DOMAssistant.def(e.pageY)? e.pageY : (event.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0)); - if ("number" === typeof e.which) { - event.keyCode = e.keyCode; - event.charCode = event.which = e.which; - } - else if (e.keyCode) { - event.keyCode = event.charCode = e.keyCode; - } - return event; - }; - - return { - publicMethods : [ - "triggerEvent", - "addEvent", - "removeEvent", - "relayEvent", - "unrelayEvent", - "preventDefault", - "cancelBubble" - ], - - init : function () { - DOMAssistant.preventDefault = this.preventDefault; - DOMAssistant.cancelBubble = this.cancelBubble; - handler = this.handleEvent; - }, - - triggerEvent : function (evt, target, e) { - var fevt = fix(evt), - events = this.retrieve(key), - event = e || createEvent(e, fevt, target || this); - event.currentTarget = this; - if (events && events[fevt]) { - for (var i=0, iL=events[fevt].length; i<\/script>"); - document.getElementById("ieScriptLoad").onreadystatechange = function() { - if (this.readyState === "complete") { - DOMHasLoaded(); - } - }; - @end @*/ - /* Mozilla, Chrome, Opera */ - if (document.addEventListener) { - document.addEventListener("DOMContentLoaded", DOMHasLoaded, false); - } - /* Safari, iCab, Konqueror */ - if (/KHTML|WebKit|iCab/i.test(navigator.userAgent)) { - DOMLoadTimer = setInterval(function () { - if (/loaded|complete/i.test(document.readyState)) { - DOMHasLoaded(); - clearInterval(DOMLoadTimer); - } - }, 10); - } - /* Other web browsers */ - window.onload = DOMHasLoaded; - - return { - DOMReady : function () { - for (var i=0, il=arguments.length, funcRef; i= thisstyle.minw ) && - (!thisstyle.maxw || thisstyle.maxw && currWidth <= thisstyle.maxw ) ){ - if( !styleBlocks[ thisstyle.media ] ){ - styleBlocks[ thisstyle.media ] = []; - } - styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] ); - } - } - - //remove any existing respond style element(s) - for( var i in appendedEls ){ - if( appendedEls[ i ] && appendedEls[ i ].parentNode === head ){ - head.removeChild( appendedEls[ i ] ); - } - } - - //inject active styles, grouped by media type - for( var i in styleBlocks ){ - var ss = doc.createElement( "style" ), - css = styleBlocks[ i ].join( "\n" ); - - ss.type = "text/css"; - ss.media = i; - - if ( ss.styleSheet ){ - ss.styleSheet.cssText = css; - } - else { - ss.appendChild( doc.createTextNode( css ) ); - } - dFrag.appendChild( ss ); - appendedEls.push( ss ); - } - - //append to DOM at once - head.insertBefore( dFrag, lastLink.nextSibling ); - }, - //tweaked Ajax functions from Quirksmode - ajax = function( url, callback ) { - var req = xmlHttp(); - if (!req){ - return; - } - req.open( "GET", url, true ); - req.onreadystatechange = function () { - if ( req.readyState != 4 || req.status != 200 && req.status != 304 ){ - return; - } - callback( req.responseText ); - } - if ( req.readyState == 4 ){ - return; - } - req.send(); - }, - //define ajax obj - xmlHttp = (function() { - var xmlhttpmethod = false, - attempts = [ - function(){ return new ActiveXObject("Microsoft.XMLHTTP") }, - function(){ return new XMLHttpRequest() } - ], - al = attempts.length; - - while( al-- ){ - try { - xmlhttpmethod = attempts[ al ](); - } - catch(e) { - continue; - } - break; - } - return function(){ - return xmlhttpmethod; - }; - })(); - - //translate CSS - ripCSS(); - - //expose update for re-running respond later on - respond.update = ripCSS; - - //adjust on resize - function callMedia(){ - applyMedia( true ); - } - if( win.addEventListener ){ - win.addEventListener( "resize", callMedia, false ); - } - else if( win.attachEvent ){ - win.attachEvent( "onresize", callMedia ); - } -})( - this, - (function( win ){ - - //for speed, flag browsers with window.matchMedia support and IE 9 as supported - if( win.matchMedia ){ return true; } - - var bool, - doc = document, - docElem = doc.documentElement, - refNode = docElem.firstElementChild || docElem.firstChild, - // fakeBody required for - fakeUsed = !doc.body, - fakeBody = doc.body || doc.createElement( "body" ), - div = doc.createElement( "div" ), - q = "only all"; - - div.id = "mq-test-1"; - div.style.cssText = "position:absolute;top:-99em"; - fakeBody.appendChild( div ); - - div.innerHTML = '_'; - if( fakeUsed ){ - docElem.insertBefore( fakeBody, refNode ); - } - div.removeChild( div.firstChild ); - bool = div.offsetWidth == 9; - if( fakeUsed ){ - docElem.removeChild( fakeBody ); - } - else{ - fakeBody.removeChild( div ); - } - return bool; - })( this ) -); - diff --git a/source/javascripts/libs/ie/selectivizr-1.0.1.js b/source/javascripts/libs/ie/selectivizr-1.0.1.js deleted file mode 100644 index 0846b919..00000000 --- a/source/javascripts/libs/ie/selectivizr-1.0.1.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * selectivizr v1.0.1 - (c) Keith Clark, freely distributable under the terms of the MIT license. - * selectivizr.com - */ -var k=true,p=false;(function(A){function N(a){return a.replace(O,q).replace(P,function(b,e,c){b=c.split(",");c=0;for(var g=b.length;c0){d=f;var x;i=h.substring(0,i).replace(U,o);if(i==o||i.charAt(i.length-1)==w)i+="*";try{x=y(i)}catch(ha){}if(x){i=0;for(m=x.length;i-1)a=a.substring(0,f);if(a.charAt(0)==":")switch(a.slice(1)){case "root":b=function(d){return c?d!=H:d==H};break;case "target":if(s==8){b=function(d){function l(){var m=location.hash,j=m.slice(1);return c?m==""||d.id!=j:m!=""&&d.id==j}t(A,"hashchange",function(){u(d,e,l())});return l()};break}return p;case "checked":b=function(d){X.test(d.type)&&t(d,"propertychange",function(){event.propertyName=="checked"&&u(d,e,d.checked!==c)});return d.checked!==c};break;case "disabled":c=!c;case "enabled":b=function(d){if(Y.test(d.tagName)){t(d,"propertychange",function(){event.propertyName=="$disabled"&&u(d,e,d.a===c)});z.push(d);d.a=d.disabled;return d.disabled===c}return a==":enabled"?c:!c};break;case "focus":g="focus";h="blur";case "hover":if(!g){g="mouseenter";h="mouseleave"}b=function(d){t(d,c?h:g,function(){u(d,e,k)});t(d,c?g:h,function(){u(d,e,p)});return c};break;default:if(!Z.test(a))return p}return{className:e,b:b}}function G(a){return I+"-"+(s==6&&$?aa++:a.replace(ba,function(b){return b.charCodeAt(0)}))}function Q(a){return a.replace(J,q).replace(ca,w)}function u(a,b,e){var c=a.className;b=E(c,b,e);if(b!=c){a.className=b;a.parentNode.className+=o}}function E(a,b,e){var c=RegExp("(^|\\s)"+b+"(\\s|$)"),g=c.test(a);return e?g?a:a+w+b:g?a.replace(c,q).replace(J,q):a}function t(a,b,e){a.attachEvent("on"+b,e)}function D(a,b){if(/^https?:\/\//i.test(a))return b.substring(0,b.indexOf("/",8))==a.substring(0,a.indexOf("/",8))?a:null;if(a.charAt(0)=="/")return b.substring(0,b.indexOf("/",8))+a;var e=b.split("?")[0];if(a.charAt(0)!="?"&&e.charAt(e.length-1)!="/")e=e.substring(0,e.lastIndexOf("/")+1);return e+a}function K(a){if(a){v.open("GET",a,p);v.send();return(v.status==200?v.responseText:o).replace(da,o).replace(ea,function(b,e,c,g,h){return K(D(c||h,a))}).replace(fa,function(b,e,c){e=e||"";return" url("+e+D(c,a)+e+") "})}return o}function ga(){var a,b;a=n.getElementsByTagName("BASE");for(var e=a.length>0?a[0].href:n.location.href,c=0;c0&&setInterval(function(){for(var g=0,h=z.length;g8||!v)){var L={NW:"*.Dom.select",DOMAssistant:"*.$",Prototype:"$$",YAHOO:"*.util.Selector.query",MooTools:"$$",Sizzle:"*",jQuery:"*",dojo:"*.query"},y,z=[],aa=0,$=k,I="slvzr",M=I+"DOMReady",da=/(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g,ea=/@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g,fa=/\burl\(\s*(["']?)([^"')]+)\1\s*\)/g,Z=/^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/,O=/:(:first-(?:line|letter))/g,P=/(^|})\s*([^\{]*?[\[:][^{]+)/g,T=/([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g,U=/(:not\()?:(hover|enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g,ba=/[^\w-]/g,Y=/^(INPUT|SELECT|TEXTAREA|BUTTON)$/,X=/^(checkbox|radio)$/,F=s>6?/[\$\^*]=(['"])\1/:null,R=/([(\[+~])\s+/g,S=/\s+([)\]+~])/g,ca=/\s+/g,J=/^\s*((?:[\S\s]*\S)?)\s*$/,o="",w=" ",q="$1";n.write("