forked from meritt/base2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase2-dom-p.js
9 lines (8 loc) · 44.2 KB
/
base2-dom-p.js
1
2
3
4
5
6
7
8
9
/*
base2 - copyright 2007-2009, Dean Edwards
http://code.google.com/p/base2/
http://www.opensource.org/licenses/mit-license.php
Contributors:
Doeke Zanstra
*/
new function(_1R){var dom=new base2.Package(this,{name:"dom",version:base2.version,imports:"Function2",exports:"Interface,Binding,Node,Document,Element,Traversal,AbstractView,ViewCSS,CSSStyleDeclaration,NodeSelector,StaticNodeList,Selector,CSSParser,XPathParser,Event,EventTarget,DocumentEvent,HTMLDocument,HTMLElement,ClassList,ElementView",bind:function(a){/*@if(@_jscript_version<5.6)if(a&&a.getElementById){a.nodeType=9}/*@end @*/if(a&&a.nodeType){var b=(a.nodeType==1?a.uniqueID:a.base2ID)||assignID(a);if(!_p[b]){switch(a.nodeType){case 1:if(typeof a.className=="string"){(HTMLElement.bindings[a.tagName]||HTMLElement).bind(a)}else{Element.bind(a)}break;case 9:if(a.getElementById){HTMLDocument.bind(a)}else{Document.bind(a)}break;default:Node.bind(a)}_p[b]=true}}return a},isBound:function(a){return!!_p[a.nodeType==1?a.uniqueID:a.base2ID]}});eval(this.imports);base2.DOM=pcopy(dom);base2.DOM.namespace+="var DOM=dom;";/*@cc_on @*/var _p={};var _2=document.createElement("span"),_q=_2.style;var _r=detect("(element.textContent)")?"textContent":"innerText";var _16=/^(action|cite|codebase|data|href|longdesc|lowsrc|src|usemap)$/i,_17=/^(type|value)$/i;var _s=detect("(element.parentElement)")?"parentElement":"parentNode";var _18=/type="?([^\s">]*)"?/i,_19=/value="?([^\s">]*)"?/i;function _I(b){return extend(this.base(b),"removeEventListener",function(){var a=Array2.slice(arguments);a.unshift(this);EventTarget.removeEventListener.apply(EventTarget,a)})};var _J=_2.sourceIndex==undefined?function(a){var b=0;while(a){var c=Traversal.getNodeIndex(a);b="0000".slice(0,4-String(c).length)+c+"."+b;a=a.parentNode}return b}:function(a){return a.sourceIndex};var _i={"class":"className","for":"htmlFor"};var _K="accessKey,allowTransparency,cellPadding,cellSpacing,codeBase,codeType,colSpan,dateTime,frameBorder,longDesc,maxLength,noHref,noResize,noShade,noWrap,readOnly,rowSpan,tabIndex,useMap,vAlign";extend(_i,Array2.combine(_K.toLowerCase().split(","),_K.split(",")));var _1a=_2.getAttributeNode?function(a,b){return a.getAttributeNode(b)}:function(a,b){return a.attributes[b]||a.attributes[_i[b.toLowerCase()]]};var Interface=Module.extend(null,{forEach:function(c,d){forEach(this,function(a,b){if(typeOf(a)=="function"&&(this.prototype[b]||a._j)){c.call(d,a,b,this)}},this,Module)},implement:function(a){if(typeof a=="object"){_L(this,a)}else if(Interface.ancestorOf(a)){for(var b in a){if(a[b]&&a[b]._j){this[b]=bind(b,a);this[b]._j=b}}}return this.base(a)}});function _L(a,b){var c=a.toString().slice(1,-1);for(var d in b){var e=b[d];if(d.indexOf("@")==0){_L(a,e)}else if(!a[d]&&typeof e=="function"&&e.call){var f="abcdefghij".slice(0,e.length).split("");var g=new Function(f.join(","),format("%2.base=%2.%1.ancestor;var m=%2.base?'base':'%1';return %2[m](%3)",d,f[0],f.slice(1)));g._j=d;a[d]=g;a.namespace+="var "+d+"=base2.lang.bind('"+d+"',"+c+");";}}};var Binding=Interface.extend(null,{bind:function(a){return extend(a,this.prototype);}});var Node=Binding.extend({"@!(element.compareDocumentPosition)":{compareDocumentPosition:function(a,b){if(Traversal.contains(a,b)){return 4|16;}else if(Traversal.contains(b,a)){return 2|8;}var c=_J(a);var d=_J(b);if(c<d){return 4;}else if(c>d){return 2;}return 1;}}});var Document=Node.extend(null,{bind:function(b){extend(b,"createElement",function(a){return dom.bind(this.base(a));});if(!b.defaultView){b.defaultView=Traversal.getDefaultView(b);}AbstractView.bind(b.defaultView);if(b!=window.document){new DOMContentLoadedEvent(b);}return this.base(b);},"@Gecko":{bind:_I}});detect("(element.className='test',element.expando=true)");var Element=Node.extend({"@(element.getAttribute('made-up')===''||element.getAttribute('id')!=null||element.getAttribute('expando'))":{getAttribute:function(a,b){var c=_1a(a,b),d=c&&c.specified;/*@if(@_jscript)if(a.nodeName=="INPUT"&&_17.test(b)&&a.outerHTML){var e=a.outerHTML||"";with(e)e=slice(0,indexOf(">")+1);return match(e,b=="type"?_18:_19)[1]||null;}if((d&&_16.test(b))||(!c&&@_jscript_version<5.6)){var f="getAttribute";if(a["_"+f])f="_"+f;return a[f](b,2);}/*@end @*/if(d){/*@if(@_jscript)if(b=="style")return a.style.cssText.toLowerCase();/*@end @*/return c.nodeValue;}return null;},hasAttribute:function(a,b){return this.getAttribute(a,b)!=null;}},"@!(element.getAttribute('class'))":{removeAttribute:function(a,b){b=_i[b.toLowerCase()]||b;/*@if(@_jscript)var c="removeAttribute";if(a["_"+c])c="_"+c;a[c](b);@else @*/this.base(a,b);/*@end @*/},setAttribute:function(a,b,c){b=_i[b.toLowerCase()]||b;/*@if(@_jscript)if(b=="style"){a.style.cssText=c;}else{var d="setAttribute";if(a["_"+d])d="_"+d;a[d](b,String(c));}@else @*/this.base(a,b,c);/*@end @*/}},"@!(element.hasAttribute)":{hasAttribute:function(a,b){return this.getAttribute(a,b)!=null;}},"@!(element.matchesSelector)":{matchesSelector:function(a,b){return new Selector(b).test(a);}}},{"@Gecko":{bind:_I}});var Traversal=Module.extend({contains:function(a,b){a.nodeType;while(b&&(b=b[_s])&&a!=b)continue;return!!b;},getFirstElementChild:function(a){a=a.firstChild;return this.isElement(a)?a:this.getNextElementSibling(a);},getLastElementChild:function(a){a=a.lastChild;return this.isElement(a)?a:this.getPreviousElementSibling(a);},getNextElementSibling:function(a){while(a&&(a=a.nextSibling)&&!this.isElement(a))continue;return a;},getNodeIndex:function(a){var b=0;while(a&&(a=a.previousSibling))b++;return b;},getOwnerDocument:function(a){return a.ownerDocument;},getPreviousElementSibling:function(a){while(a&&(a=a.previousSibling)&&!this.isElement(a))continue;return a;},getTextContent:function(a,b){return a[a.nodeType==1?b?"innerHTML":_r:"nodeValue"];},includes:function(a,b){return!!b&&(a==b||this.contains(a,b));},isEmpty:function(a){a=a.firstChild;while(a){if(a.nodeType==3||this.isElement(a))return false;a=a.nextSibling;}return true;},setTextContent:function(a,b,c){a[a.nodeType==1?c?"innerHTML":_r:"nodeValue"]=b;},"@!MSIE":{setTextContent:function(a,b,c){with(a)while(lastChild)removeChild(lastChild);this.base(a,b,c);}},"@(jscript<5.6)":{getOwnerDocument:function(a){return a.document.parentWindow.document;}}},{TEXT_CONTENT:_r,getDefaultView:function(a){return(a.ownerDocument||a.document||a).defaultView;},getDocument:function(a){return this.isDocument(a)?a:a.nodeType?this.getOwnerDocument(a):a.document||null;},isDocument:function(a){return!!a&&a.nodeType==9;},isElement:function(a){return!!a&&a.nodeType==1;},isXML:function(a){return!this.getDocument(a).getElementById;},"@!(document.defaultView)":{getDefaultView:function(a){return(a.document||a).parentWindow;}},"@(jscript<5.6)":{isDocument:function(a){return!!(a&&(a.nodeType==9||a.writeln));},isElement:function(a){return!!a&&a.nodeType==1&&a.nodeName!="!";}}});var AbstractView=Binding.extend();var _a=1,_M=2,_b=3;var _N={"2":2,"4":1},_O={focusin:"focus",focusout:"blur"},_P=/^mouse(up|down)|click$/,_1b=/click$/,_Q=/^((before|un)?load|focus|blur|stop|(readystate|property|filter)change|losecapture)$/,_1c=/^((dbl)?click|mouse(down|up|over|out|wheel)|key(down|up|press)|submit|DOMActivate|(before)?(cut|copy|paste)|contextmenu|drag(start|enter|over)?|drop|before(de)?activate)$/,_1d=/^(abort|error|load|scroll|(readystate|property|filter)change)$/;var _k={},_R=extend({},{DOMContentLoaded:"base2ContentLoaded",mouseenter:"mouseover",mouseleave:"mouseout","@Gecko":{mousewheel:"DOMMouseScroll"}});function _4(a,b,c){var d=a+"#"+assignID(b);if(!_k[d]){_k[d]=c;}return _k[d];};function _1e(a,b){return _k[a+"#"+b.base2ID]||b;};function _7(a,b,c){if(typeof b=="function"){b.call(a,c);}else{b.handleEvent(c);}};extend(_0,{suppress:{},listeners:{},handlers:{},attachEvent:function(a,b,c){var d=base2.assignID(c);var e=this.handlers[d];if(!e){this.listeners[d]=c;e=this.handlers[d]=new Function("e","base2.toString.listeners['"+d+"'](e)");}a.attachEvent(b,e);},detachEvent:function(a,b,c,d){var e=c.base2ID;a.detachEvent(b,this.handlers[e]);if(d){delete this.listeners[e];delete this.handlers[e];}}});var Event=Binding.extend({"@!(document.createEvent)":{initEvent:function(a,b,c,d){a.type=String(b);a.bubbles=!!c;a.cancelable=!!d;},preventDefault:function(b){if(b.cancelable!==false)b.returnValue=false;if(b.type=="mousedown"){var c=Traversal.getDocument(b.target).activeElement,d=_0.suppress;var e=function(a){d.focus=true;c.focus();_0.detachEvent(c,"onblur",e,true);setTimeout(function(){delete d.focus;delete d.blur;},1);};d.blur=true;_0.attachEvent(c,"onblur",e);}},stopPropagation:function(a){a.cancelBubble=true;},"@(element.onbeforedeactivate)":{preventDefault:function(b){if(b.cancelable!==false)b.returnValue=false;if(b.type=="mousedown"){var c=Traversal.getDocument(b.target).body;var d=function(a){_0.detachEvent(c,"onbeforedeactivate",d,true);a.returnValue=false;};_0.attachEvent(c,"onbeforedeactivate",d);}}}}},{CAPTURING_PHASE:_a,AT_TARGET:_M,BUBBLING_PHASE:_b,cloneEvent:function(a){if(a.isClone)return a;var b=copy(a);b.isClone=true;b.stopPropagation=function(){a.stopPropagation();this.cancelBubble=true;};b.preventDefault=function(){a.preventDefault();this.returnValue=false;};return b;},"@!(document.createEvent)":{bind:function(a){if(!a.timeStamp){a.bubbles=!_Q.test(a.type);a.cancelable=_1c.test(a.type);a.timeStamp=new Date().valueOf();}a.relatedTarget=a[(a.target==a.fromElement?"to":"from")+"Element"];return this.base(a);}}});if(detect.MSIE&&!detect("element.dispatchEvent")){var _l=document.createElement(/^CSS/.test(document.compatMode)?"meta":"marquee"),_t=_0.base2Event={};_l.base2Events=0;_l.attachEvent("onpropertychange",new Function('e','var d=base2.toString.base2Event;if (e.propertyName=="base2Events"){if(typeof d.listener=="function")d.listener.call(d.target,d.event);else d.listener.handleEvent(d.event)}'));document.getElementsByTagName("head")[0].appendChild(_l);var EventDispatcher=Base.extend({constructor:function(a){this.state=a;},dispatch:function(a,b,c,d){b.eventPhase=c;var e=a.length;while(e--&&!b.cancelBubble){var f=a[e],g=d[f.nodeType==1?f.uniqueID:f.base2ID];if(g){g=copy(g);b.currentTarget=f;b.eventPhase=f==b.target?_M:c;for(var h in g){_t.event=b;_t.target=f;_t.listener=g[h];_l.base2Events++;if(b.returnValue===false){b.preventDefault();}}}}},handleEvent:function(a){a=Event.cloneEvent(Event.bind(a));var b=a.type;if(_O[b]){b=a.type=_O[b];a.bubbles=!_Q.test(b);}var c=this.state.events[b];if(c&&!_0.suppress[b]){if(_P.test(b)){var d=_1b.test(b)?this.state._u:a.button;a.button=_N[d]||0;}var e=a.target,f=[],g=0;while(e){f[g++]=e;e=e.parentNode;}/*@if(@_jscript_version<5.6)if(f[0].nodeType==1&&!f[g-1].documentElement){f[g]=Traversal.getDocument(f[0]);}/*@end @*/var h=c[_a];if(h)this.dispatch(f,a,_a,h);h=c[_b];if(h&&!a.cancelBubble){if(a.bubbles){f.reverse();}else{f.length=1;}this.dispatch(f,a,_b,h);}}return a.returnValue!==false;}});}var EventTarget=Interface.extend({"@!(element.addEventListener)":{addEventListener:function(a,b,c,d){var e=DocumentState.getInstance(a);var f=assignID(a),g=assignID(c),h=d?_a:_b,j=e.registerEvent(b,a),k=j[h];if(!k)k=j[h]={};var l=k[f];if(!l)l=k[f]={};l[g]=c;},dispatchEvent:function(a,b){b.target=a;b._v=true;return DocumentState.getInstance(a).handleEvent(b);},removeEventListener:function(a,b,c,d){var e=DocumentState.getInstance(a).events;var f=e[b];if(f){var g=f[d?_a:_b];if(g){var h=g[a.nodeType==1?a.uniqueID:a.base2ID];if(h)delete h[c.base2ID];}}}},addEventListener:function(b,c,d,e){var f=d;if(c=="DOMContentLoaded"){d=_4(c,f,function(a){a=Event.cloneEvent(a);a.type=c;a.bubbles=a.cancelable=false;EventTarget.removeEventListener(b,c,f,e);_7(this,f,a);});}else if(c=="mouseenter"||c=="mouseleave"){d=_4(c,f,function(a){if(Traversal.includes(this,a.target)&&!Traversal.includes(this,a.relatedTarget)){a=copy(a);a.target=this;a.type=c;a.bubbles=a.cancelable=false;_7(this,f,a);}});}this.base(b,_R[c]||c,d,e);},removeEventListener:function(a,b,c,d){this.base(a,_R[b]||b,_1e(b,c),d);},"@Gecko":{addEventListener:function(b,c,d,e){if(c=="mousewheel"){var f=d;d=_4(c,f,function(a){a=Event.cloneEvent(a);a.type=c;a.wheelDelta=(-a.detail*40)||0;_7(this,f,a);});}this.base(b,c,d,e);}},"@Gecko1\\.[0-3]|Webkit[1-4]":{addEventListener:function(b,c,d,e){if(/^mouse/.test(c)){var f=d;d=_4(c,f,function(a){try{if(a.target.nodeType==3){a=Event.cloneEvent(a);a.target=a.target.parentNode;}}catch(x){return;}_7(this,f,a);});}this.base(b,c,d,e);}},"@webkit[1-4]|KHTML[34]":{addEventListener:function(c,d,e,f){var g=e;if(_P.test(d)){e=_4(d,g,function(a){var b=_N[a.button]||0;if(a.button!=b){a=Event.cloneEvent(a);a.button=b;}_7(this,g,a);});}else if(typeof e=="object"){e=_4(d,g,bind("handleEvent",e));}this.base(c,d,e,f);}},"@Linux|Mac|Opera":{addEventListener:function(g,h,j,k){if(h=="keydown"){var l=j;j=_4(h,l,function(b){var c=0,d=false;extend(b,"preventDefault",function(){this.base();d=true;});function e(a){if(d)a.preventDefault();if(a==b||c>1){_7(this,l,b);}c++;};var f=function(){this.removeEventListener("keypress",e,true);this.removeEventListener("keyup",f,true);};e.call(this,b);this.addEventListener("keyup",f,true);this.addEventListener("keypress",e,true);});}this.base(g,h,j,k);}}});if(detect("Gecko")){EventTarget.removeEventListener._j="removeEventListener";delete EventTarget.prototype.removeEventListener;}var DocumentEvent=Interface.extend({"@!(document.createEvent)":{createEvent:function(a,b){return Event({bubbles:false,cancelable:false,eventPhase:0,target:a,currentTarget:null,relatedTarget:null,timeStamp:new Date().valueOf()});}},"@(document.createEvent)":{"@!(document.createEvent('Events'))":{createEvent:function(a,b){return this.base(a,b=="Events"?"UIEvents":b);}}}});var DOMContentLoadedEvent=Base.extend({constructor:function(b){var c=false;this.fire=function(){if(!c){c=true;setTimeout(function(){var a=DocumentEvent.createEvent(b,"Events");Event.initEvent(a,"base2ContentLoaded",false,false);EventTarget.dispatchEvent(b,a);},1);}};this.listen(b);},listen:function(a){EventTarget.addEventListener(Traversal.getDefaultView(a),"load",this.fire,false);},"@(document.addEventListener)":{constructor:function(a){this.base(a);a.addEventListener("DOMContentLoaded",this.fire,false);}},"@MSIE.+win":{listen:function(a){this.base(a);try{a.body.doScroll("left");if(!this.__constructing)this.fire();}catch(x){setTimeout(bind(this.listen,this,a),10);}}},"@KHTML":{listen:function(a){if(/loaded|complete/.test(a.readyState)){if(!this.__constructing)this.fire();}else{setTimeout(bind(this.listen,this,a),10);}}}});Document.implement(DocumentEvent);Document.implement(EventTarget);Element.implement(EventTarget);var ViewCSS=Interface.extend({"@!(document.defaultView.getComputedStyle)":{"@(element.currentStyle)":{getComputedStyle:function(b,c,d){var e=c.currentStyle,f=_S.bind({});for(var g in e){if(_w.test(g)||_x.test(g)){f[g]=this.getComputedPropertyValue(b,c,g);}else if(g.indexOf("ruby")!=0){f[g]=e[g];}}forEach.csv("backgroundPosition,boxSizing,clip,cssFloat,opacity",function(a){f[a]=this.getComputedPropertyValue(b,c,a);},this);return f;}}}},{prefix:"","@Gecko":{prefix:"Moz"},"@KHTML":{prefix:"Khtml"},"@Webkit":{prefix:"Webkit"},"@Opera":{prefix:"O"},"@MSIE":{prefix:"Ms"},getComputedPropertyValue:function(a,b,c){var d=CSSStyleDeclaration.getPropertyValue(this.getComputedStyle(a,b,null),c);if(_x.test(c))d=_T(d);return d;},"@!(document.defaultView.getComputedStyle)":{"@(element.currentStyle)":{getComputedPropertyValue:function(a,b,c){var d=b.currentStyle,e=d[c];if(e==null){c=_5(c);e=d[c]||"";}switch(c){case"float":case"cssFloat":return d.cssFloat||d.styleFloat||"";case"cursor":return e=="hand"?"pointer":e;case"opacity":return e==null?"1":e;case"clip":return"rect("+[d.clipTop,d.clipRight,d.clipBottom,d.clipLeft].join(", ")+")";case"backgroundPosition":return d.backgroundPositionX+" "+d.backgroundPositionY;case"boxSizing":return e==null?/^CSS/.test(Traversal.getDocument(b).compatMode)?"content-box":"border-box":e;}if(e.indexOf(" ")>0)return e;if(_w.test(c)){if(_1f.test(e))return e;if(e=="auto")return"0px";if(c.indexOf("border")==0){if(d[c.replace("Width","Style")]=="none")return"0px";e=_1g[e]||e;if(typeof e=="number")return e+"px";}/*@if(@_jscript)if(_1h.test(e))return _1i(b,e);/*@end @*/}else if(_x.test(c)){if(e=="transparent")return e;if(/^(#|rgb)/.test(e))return _T(e);/*@if(@_jscript)return _1j(e);/*@end @*/}return e;}}}});var _1h=/\d/,_1f=/\dpx$/i,_w=/(width|height|top|bottom|left|right|fontSize)$/i,_x=/color$/i;var _1k=/\-/,_1l=/\-([a-z])/g,_y=/[A-Z]/g;var _1g={thin:1,medium:2,thick:4};var _1m={"@MSIE":{opacity:1,cursor:1}};var _5=function(c,d){if(c=="float"||c=="cssFloat"||c=="styleFloat"){return d?"float":_q.cssFloat==null?"styleFloat":"cssFloat";}if(_1k.test(c)){c=c.replace(_1l,_1n);}if(_q[c]==null){var e=/^border(\w+)Radius$/;if(ViewCSS.prefix=="Moz"&&e.test(c)){c=c.replace(e,function(a,b){return"borderRadius"+b.charAt(0)+b.slice(1).toLowerCase();});}var f=ViewCSS.prefix+c.charAt(0).toUpperCase()+c.slice(1);if(_q[f]!=null){c=f;}}if(d){c=c.replace(_y,_z);}return c;};function _z(a){return"-"+a.toLowerCase();};var _1n=flip(String2.toUpperCase),_1o=partial(parseInt,undefined,16);function _1i(a,b){var c=a.style.left;var d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;b=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return b+"px";};function _1j(a){if(window.createPopup){var b=createPopup().document;}else{b=new ActiveXObject("htmlfile");b.write("<body>");}var c=b.body,d=c.createTextRange();c.style.color=a.toLowerCase();var e=d.queryCommandValue("ForeColor");return format("rgb(%1, %2, %3)",e&0xff,(e&0xff00)>>8,(e&0xff0000)>>16);};function _T(a){if(a.indexOf("rgb")==0)return a.replace(/(\d)\s,/g,"$1,");if(a.indexOf("#")!=0)return a;var b=a.slice(1);if(b.length==3)b=b.replace(/(\w)/g,"$1$1");return"rgb("+Array2.map(b.match(/(\w\w)/g),_1o).join(", ")+")";};var _S=Binding.extend({getPropertyValue:function(a,b){if(a[b]==null)b=_5(b);return a[b]||"";},"@MSIE5":{getPropertyValue:function(a,b){if(a[b]==null)b=_5(b);var c=a[b];if(b=="cursor"&&c=="hand"){c="pointer";}return c||"";}}});var CSSStyleDeclaration=_S.extend({setProperty:function(a,b,c,d){if(a[b]==null)b=_5(b);if(d){this.base(a,b.replace(_y,_z),c,d);}else{a[b]=c;}},"@!(style['setProperty'])":{setProperty:function(a,b,c,d){if(a[b]==null)b=_5(b);/*@if(@_jscript)if(@_jscript_version<5.6&&b=="cursor"&&c=="pointer"){c="hand";}else if(b=="opacity"){c*=100;a.zoom="100%";a.filter="alpha(opacity="+Math.round(c)+")";}/*@end @*/if(d=="important"){a.cssText+=format(";%1:%2!important;",b.replace(_y,_z),c);}else{a[b]=c;}}}},{getPropertyName:_5,setProperties:function(a,b){b=extend({},b);for(var c in b){var d=b[c];if(a[c]==null)c=_5(c);if(typeof d=="number"&&_w.test(c))d+="px";if(_1m[c]){this.setProperty(a,c,d,"");}else{a[c]=d;}}}});AbstractView.implement(ViewCSS);var _U=detect("(input.getAttribute('type')=='text')")?/:visited|\[(type|value)|\b(object|param)\b/i:/:visited/;var _1p=detect("(element.compareDocumentPosition)")?function(a,b){return(a.compareDocumentPosition(b)&2)-1;}:document.createRange?function(a,b){var c=a.ownerDocument,d=c.createRange(),e=c.createRange();d.selectNode(a);d.collapse(true);e.selectNode(b);e.collapse(true);return d.compareBoundaryPoints(Range.START_TO_END,e);}:function(a,b){return(Node.compareDocumentPosition(a,b)&2)-1;};var _1q=/'(\\.|[^'\\])*'|"(\\.|[^"\\])*"|\\./g,_1r=/([\s>+~,]|[^(]\+|^)([#.:\[])/g,_1s=/(^|,)([^\s>+~])/g,_1t=/\s*([\^*~|$]?=|[\s>+~,]|^|$)\s*/g,_1u=/\s*([\])])/g,_1v=/([\[(])\s*/g,_1w=/\x01(\d+)\x01/g,_V=/^ \*?/g,_1x=/'/g;var _1y=/#/g,_1z=/[.:\[]/g,_1A=/^\w|[\s>+~]\w/g;var _1B=/^[\s>+~]$/;var _m=":(checked|disabled|enabled|selected|hover|active|focus|link|visited|target)",_8=_m+"|^(#[\\w\u00a1-\uffff\\-]+\\s*)?[\\w\u00a1-\uffff\\-]+$";if(detect("KHTML")){if(detect("WebKit5")){_8+="|nth\\-|,"}else{_8="."}}_m=new RegExp(_m);_8=new RegExp(_8);var _n=function(a,b){if(typeof a!="function"){a=new Selector(a).toDOMQuery(true)}return this.base(a,b)};function _W(a,b,c,d,e,f,g,h){d=/last/i.test(a)?d+"+1-":"";if(!isNaN(b))b="0n+"+b;else if(b=="even")b="2n";else if(b=="odd")b="2n+1";b=b.split("n");var j=b[0]?(b[0]=="-")?-1:parseInt(b[0],10):1;var k=parseInt(b[1],10)||0;var l=j<0;if(l){j=-j;if(j==1)k++}var p=format(j==0?"%3%7"+(d+k):"(%4%3-(%2))%6%1%70%5%4%3>=%2",j,k,c,d,f,g,h);if(l)p=e+"("+p+")";return p};var _A,_B;function _1C(a,b){if(!_B)_B=new XPathParser;return"[not("+_B.exec(trim(b)).replace(/\[1\]/g,"").replace(/^(\*|[\w\u00a1-\uffff\-\x01]+)/,"[self::$1]").replace(/\]\[/g," and ").slice(1,-1)+")]"};function _C(a,b,c){return"["+_W(a,b,c||"count(preceding-sibling::*)+1","last()","not"," and "," mod ","=")+"]"};var id="base2"+Date2.now(),root=document.documentElement;_2.innerHTML='<a name="'+id+'"></a>';root.insertBefore(_2,root.firstChild);var _X=document.getElementById(id)==_2.firstChild?document.all?function(a,b){var c=a.all[b]||null;if(!c||(c.nodeType&&Element.getAttribute(c,"id")==b))return c;for(var d=0;d<c.length;d++){if(Element.getAttribute(c[d],"id")==b)return c[d]}return null}:null:function(a,b){return a.getElementById(b)};root.removeChild(_2);var _c=1,_d={};function _1D(a){if(_d._c!=_c){_d={_c:_c}}var b=a.sourceIndex>0,c=b?a.sourceIndex:a.uniqueID||assignID(a);if(!_d[c]){var d={},e=1,f=a.firstChild;while(f){if(f.nodeType==1)/*@if(@_jscript_version<5.6)if(f.nodeName!="!")/*@end @*/d[b?f.sourceIndex:f.uniqueID||assignID(f)]=e++;f=f.nextSibling}d.length=e;_d[c]=d}return _d[c]};function _Y(a,b,c){try{var d=a.base(b,c)}catch(x){if(Traversal.isDocument(b)||Traversal.isElement(b)||b.nodeType==11){if(Traversal.isXML(b)&&_m.test(a)){d=null}else{var e=new SyntaxError(format("'%1' is not a valid CSS selector.",a));e.code=12;throw e;}}else{throw new TypeError("Invalid argument.");}}return d};var StaticNodeList=Base.extend({constructor:function(a){a=a||[];if(a.unsorted)a.sort(_1p);var b=a.length,c=0,d=0;if(b)this[0]=undefined;while(c<b){if(a[c])this[d++]=a[c];c++}this.length=d},length:0,forEach:function(a,b){var c=this.length;for(var d=0;d<c;d++){a.call(b,this[d],d,this)}},item:Array2.prototype.item,not:function(a,b){return this.filter(not(a),b)},slice:function(a,b){return new StaticNodeList(this.map(I).slice(a,b))},"@(XPathResult)":{constructor:function(a){if(a&&a.snapshotItem){var b=this.length=a.snapshotLength,c=0;while(c<b)this[c]=a.snapshotItem(c++)}else this.base(a)}}},{bind:function(c){Base.forEach(this.prototype,function(a,b){if(c[b]===undefined){c[b]=a}});return c}});StaticNodeList.implement(Enumerable);StaticNodeList.implement({every:_n,filter:_n,not:_n,some:_n});StaticNodeList.implement({filter:function(a,b){return new StaticNodeList(this.base(a,b))}});var NodeSelector=Interface.extend({"@(element.querySelector)":{querySelector:function(a,b){if(!_U.test(b)){try{return this.base(a,b)}catch(x){}}return new Selector(b).exec(a,1)},querySelectorAll:function(a,b){if(!_U.test(b)){try{return StaticNodeList.bind(this.base(a,b))}catch(x){}}return new Selector(b).exec(a)}},"@!(element.querySelector)":{querySelector:function(a,b){return new Selector(b).exec(a,1)},querySelectorAll:function(a,b){return new Selector(b).exec(a)}}});if(_2.querySelectorAll){_2.innerHTML='<a id="X"></a>';if(_2.querySelectorAll("#X").length==0){NodeSelector.implement({querySelectorAll:function(a,b){if(/[A-Z]/.test(b)){if(!/^CSS/.test(Traversal.getDocument(a).compatMode)){return new Selector(b).exec(a)}}return this.base(a,b)}})}}extend(NodeSelector.prototype,{querySelector:function(a){return dom.bind(this.base(a))},querySelectorAll:function(a){var b=this.base(a);var c=b.length;while(c--)dom.bind(b[c]);return b}});var CSSParser=RegGrp.extend({constructor:function(a){this.base(a);this.cache={};this.sorter=new RegGrp;this.sorter.add(/:not\([^)]*\)/,RegGrp.IGNORE);this.sorter.add(/([ >](\*|[\w-]+))([^: >+~]*)(:\w+-child(\([^)]+\))?)([^: >+~]*)/,"$1$3$6$4")},cache:null,ignoreCase:true,escape:function(b){var c=this._1E=[];return String(b).replace(_1q,function(a){if(a.indexOf("\\")!=0){a=a.slice(1,-1).replace(_1x,"\\'")}return"\x01"+c.push(a)+"\x01"})},format:function(a){return this.normalise(this.escape(a+""))},normalise:function(a){return a.replace(_1t,"$1").replace(_1u,"$1").replace(_1v,"$1").replace(_1s,"$1 $2").replace(_1r,"$1*$2")},parse:function(a,b){return this.cache[a]||(this.cache[a]=this.revert(this.exec(this.format(a,b))))},put:function(a,b){return this.base(a.replace(/ID/g,"\\w\u00a1-\uffff\\-\\x01"),b)},revert:function(a){return this.unescape(a)},unescape:function(c){var d=this._1E;return c.replace(_1w,function(a,b){return d[b-1]})}});var XPathParser=CSSParser.extend({constructor:function(){this.base(XPathParser.build());this.sorter.putAt(1,"$1$4$3$6")},format:function(a){return this.base(a).replace(/,/g,"\x02")},unescape:function(a){return this.base(a).replace(/\\(.)/g,"$1")},revert:function(b){return this.base(b.replace(/\[self::\*\]/g,"").replace(/(^|\x02)\//g,"$1./").replace(/\x02/g," | ")).replace(/'[^'\\]*\\'(\\.|[^'\\])*'/g,function(a){return"concat("+a.split("\\'").join("',\"'\",'")+")"})},"@Opera(7|8|9\\.[0-4])":{revert:function(a){return this.base(a.replace(/last\(\)/g,"count(preceding-sibling::*)+count(following-sibling::*)+1"))}}},{build:function(){this.values.attributes[""]="[@$1]";forEach(this.types,function(a,b){forEach(this.values[b],a,this.rules)},this);this.build=K(this.rules);return this.rules},optimised:{pseudoClasses:{"first-child":"[1]","last-child":"[last()]","only-child":"[last()=1]"}},rules:extend({},{"@!KHTML|Opera":{"(^|\\x02) (\\*|[ID]+)#([ID]+)":"$1id('$3')[self::$2]"},"@!KHTML":{"([ >])(\\*|[ID]+):([\\w-]+-child(\\(([^)]+)\\))?)":function(a,b,c,d,e,f){var g=(b==" ")?"//*":"/*";if(/^nth/i.test(d)){g+=_C(d,f,"position()")}else{g+=XPathParser.optimised.pseudoClasses[d]}return g+"[self::"+c+"]"}}}),types:{identifiers:function(a,b){this[rescape(b)+"([ID]+)"]=a},combinators:function(a,b){this[rescape(b)+"(\\*|[ID]+)"]=a},attributes:function(a,b){this["\\[([ID]+)"+rescape(b)+"([^\\]]*)\\]"]=a},pseudoClasses:function(a,b){this[":"+b.replace(/\(\)$/,b=="not()"?"\\((([^\\s>+~]|~=)+)\\)":"\\(([^)]+)\\)")]=a}},values:{identifiers:{"#":"[@id='$1'][1]",".":"[contains(concat(' ',@class,' '),' $1 ')]"},combinators:{" ":"/descendant::$1",">":"/child::$1","+":"/following-sibling::*[1][self::$1]","~":"/following-sibling::$1"},attributes:{"*=":"[contains(@$1,'$2')]","^=":"[starts-with(@$1,'$2')]","$=":"[substring(@$1,string-length(@$1)-string-length('$2')+1)='$2']","~=":"[contains(concat(' ',@$1,' '),' $2 ')]","|=":"[contains(concat('-',@$1,'-'),'-$2-')]","=":"[@$1='$2']"},pseudoClasses:{"contains()":"[contains(.,'$1')]","empty":"[not(child::*) and not(text())]","first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","not()":_1C,"nth-child()":_C,"nth-last-child()":_C,"only-child":"[not(preceding-sibling::*) and not(following-sibling::*)]","root":"[not(parent::*)]"}},"@Opera(7|8|9\\.[1-4])":{build:function(){this.optimised.pseudoClasses["last-child"]=this.values.pseudoClasses["last-child"];this.optimised.pseudoClasses["only-child"]=this.values.pseudoClasses["only-child"];return this.base()}}});var Selector=Base.extend({constructor:function(a){this.toString=K(trim(a))},exec:function(a,b){return this.toDOMQuery()(a,b)},getSpecificity:function(){var a=_3.escape(this);if(a.indexOf(",")==-1){return match(a,_1y).length*10000+match(a,_1z).length*100+match(a,_1A).length}else{return-1}},split:function(){return Array2.map(_3.escape(this).split(","),function(a){return new Selector(_3.unescape(a))})},test:function(a){return this.toDOMQuery(true)(a)},toDOMQuery:function(q){var B=_1F[q?"test":"exec"];if(!B[this]){var n="",J=["e0,c"],u=[],v=(q?"":"_e.complete=false;")+"_c++;var r=[],l,d=e0.nodeType==9?e0:e0.ownerDocument||Traversal.getDocument(e0),t=d.getElementById?'toUpperCase':'toString',u,v={},k=0,p0;",w=[],L=[],C=_3.format(this).split(","),D=C.length>1,m=0;var y=function(d,e){var f="",g=_f[e?"test":"exec"],h,j,k=0;if(e)d=d.replace(_V,"");var l=match(d,_1G),p;if(e)l.reverse();for(var E=0;p=l[E];E++){var o="";j=false;if(_1B.test(p)){h=p;o+=g[h];if(h==" "||h==">"){if(!e&&h==" "&&l[E+1].indexOf("*")==0){o=o.replace(/\bT\b/,"'*'")}m++;k++;if(!e){u.push(m)}}}else{var M=match(p,_1H),N=M[1]||"*",Q=M[2]||"",F=N=="*";if(!F){w.push(N)}if(e){if(!F){o+="if(e.nodeName==t){"}}else{if(F){if(!_1I&&h=="~"){o+="if("+_D+"){"}/*@if(@_jscript)if(h==" "||h==">"){o+="if(e.nodeName!='"+(@_jscript_version<5.6?"!":"#comment")+"'){"}@else @*/if(!_Z&&h==">"){o+="if(e.nodeType==1){"}/*@end @*/}else if(h!=" "){o+="if(e.nodeName==t){"}if((k>1&&h==" ")||h=="~"){o+=_1J;L.push(m);j=true}}o+=_3.exec(Q)}f+=o.replace(_1K,function(a,b,c){if(c)return c;return b=="T"?"t"+w.length:b=="t"?b+(w.length-1):b=="E"?"e"+(m-1):b+m})}if(D){var z="";if(!j){z=_10}if(!_o){if(s==0){z+="v[u]=1;"}else{z+="if(!v[u]){v[u]=1;"}}f+=format(z,m)}return f};var G=function(a){if(q){a+="return true;"}else{var b="if(c==1)return e%1;";if(D&&_o){b+="r[u]=e%1;k++;"}else{b+="r[k++]=e%1;"}b+="if(k===c){_e.state=[%state%];return r;";a+=format(b,m)}a+=Array(match(a,/\)\{/g).length+1).join("}");if(D&&!q&&!_o){a+="if(l&&r.length>l)r.unsorted=1;l=r.length;"}return a};_9=[];for(var s=0;s<C.length;s++){var t=C[s];if(s>0)n+="e"+m+"=e0;";var H=t.lastIndexOf("#");if(q||H==-1){n+=G(y(t,q))}else{var O=t.slice(0,H),P=match(t.slice(H),_1L),R=P[1]||"",S=P[2]||"";var A=y(t,q);n+="if(!_X||!d.getElementById||(e0!=d&&Node.compareDocumentPosition(e0,d)&1)){"+G(A)+"}";n+=format("else{var e%1=_X(d,'%2');if(e%1&&(e0==d||Traversal.contains(e0,e%1))){",++m,R);var r="";if(O.replace(_V,"")){var T=m;r="var q"+m+"=function(e0){";m=0;r+=y(O,true)+"return true";r+=Array(match(r,/\)\{/g).length+1).join("}")+";";m=T}A=r?"if(q"+m+"(e"+m+")){":"";A+=y(S);n+=r+G(A)+"}}"}}/*@if(@_jscript_version<5.6)n=n.replace(/getElementsByTagName\('\*'\)/g,"all");/*@end @*/v+="var reg=["+_9.join(",")+"];";v+=Array2.map(w,function(a,b){return"var t"+b+"='"+a+"'"+(a==a.toUpperCase()?";":"[t]();")}).join("");v+=Array2.map(L,function(a){return"var s"+a+"={};"}).join("");forEach(u,function(a,b){u[b]="i"+a;J.push("a"+a)});n=_3.unescape(v+n);n+=q?";return false":"_e.state=[%state%];_e.complete=true;return c==1?null:r";n=n.replace(/%state%/g,u.join(","));eval("var _e=function("+J.join(",")+"){"+n+"}");B[this]=_e}return B[this]},toXPath:function(){if(!_A)_A=new XPathParser;return _A.parse(this)},"@(XPathResult)":{exec:function(a,b){if(_8.test(this)){return this.base(a,b)}var c=Traversal.getDocument(a);var d=b==1?9:7;var e=c.evaluate(this.toXPath(),a,null,d,null);return b==1?e.singleNodeValue:e}},"@(jscript)":{exec:function(a,b){if(typeof a.selectNodes!="undefined"&&!_8.test(this)){var c=Traversal.getDocument(a),d=b==1?"selectSingleNode":"selectNodes";c.setProperty("SelectionLanguage","XPath");return a[d](this.toXPath())}return this.base(a,b)}},"@(true)":{exec:function(a,b){this.base;var c=_Y(this,a||document,b);return b==1?c:new StaticNodeList(c)},test:function(a){this.base;return!!_Y(this,a)}}});var _o=detect("(element.sourceIndex)"),_Z=detect("(element.children)"),_1I=detect("(element.nextElementSibling)"),_11=_o?"e.sourceIndex":"e.uniqueID||assignID(e)",_10="u="+_11.replace(/\be\b/g,"e%1")+";",_D="e.nodeType==1",_1J="u="+_11+";if(s[u])break;s[u]=1;",_1H=new RegExp("^(\\*|[\\w\u00a1-\uffff\\-\\x01]+)?(.*)$"),_1L=new RegExp("^#([\\w\u00a1-\uffff\\-\\x01]+)?(.*)$"),_1G=/[^\s>+]+(~=|n\+\d)[^\s>+]+|[^\s>+~]+|[\s>+~]/g,_1K=/\b([aeEijnpstT])\b|('[^']+')/g;/*@if(@_jscript_version<5.6)_D+="&&e.nodeName!='!'";/*@end @*/var _9=[],_1F={exec:{},test:{}};var _f={exec:extend({},{" ":"var i,e,p,n=E.getElementsByTagName(T);for(i=a||0;e=n[i];i++){",">":"var i,e,p,n=E."+(_Z?"children":"childNodes")+";for(i=a||0;e=n[i];i++){","+":"while((e=e.nextSibling)&&!("+_D+"))continue;if(e){","~":"while((e=e.nextSibling)){","@(element.nextElementSibling)":{"+":"e=e.nextElementSibling;if(e){","~":"while((e=e.nextElementSibling)){"}}),test:{" ":"var e=E;while((e=e."+_s+")){",">":"var e=E."+_s+";if(e){"}};_f.test["+"]=_f.exec["+"].replace("next","previous");_f.test["~"]=_f.exec["~"].replace("next","previous");var _g=extend({},{"checked":"e.checked","contains":"e."+Traversal.TEXT_CONTENT+".indexOf('%1')!=-1","disabled":"e.disabled===true","empty":"Traversal.isEmpty(e)","enabled":"e.disabled===false","first-child":"!(e.previousSibling&&Traversal.getPreviousElementSibling(e))","last-child":"!(e.nextSibling&&Traversal.getNextElementSibling(e))","@(element.nextElementSibling)":{"first-child":"!e.previousElementSibling","last-child":"!e.nextElementSibling"},"root":"e==d.documentElement","target":"e.id&&Element.getAttribute(e,'id')==d.location.hash.slice(1)","hover":"DocumentState.getInstance(d).isHover(e)","active":"DocumentState.getInstance(d).isActive(e)","focus":"DocumentState.getInstance(d).hasFocus(e)","link":"d.links&&Array2.contains(d.links,e)","visited":"false"});_g["only-child"]=_g["first-child"]+"&&"+_g["last-child"];var _E={"=":"%1=='%2'","~=":/(^| )%1( |$)/,"|=":/^%1(-|$)/,"^=":/^%1/,"$=":/%1$/,"*=":/%1/};_E[""]="%1";var _3=new CSSParser({":not\\((\\*|[ID]+)?(([^\\s>+~]|~=)+)\\)":function(a,b,c){var d=(b&&b!="*")?"if(e.nodeName!='"+b+"'){":"";d+=_3.exec(c).replace(/if\(\(/g,"if(!(");return d},"#([ID]+)":"if(((e.submit?Element.getAttribute(e,'id'):e.id)=='$1')){","\\.([ID]+)":function(a,b){_9.push(new RegExp("(^|\\s)"+rescape(b)+"(\\s|$)"));return"if((e.className&®["+(_9.length-1)+"].test(e.className))){"},":nth(-last)?-child\\(([^)]+)\\)":function(a,b,c){return"p=_1D(e.parentNode);"+format(_10,"")+"var j=p[u];if(("+_W(a,c,"j","p.length","!","&&","% ","==")+")){"},":([a-z\\-]+)(\\(([^)]+)\\))?":function(a,b,c,d){return"if(("+format(_g[b]||"throw",d)+")){"},"\\[([ID]+)([^=]?=)?([^\\]]*)\\]":function(a,b,c,d){d=trim(d);if(b=="class"){var e="e.className"}else{var f=(c?"get":"has")+"Attribute";if(Element.prototype[f]){e="Element."+f+"(e,'"+b+"')"}else{e="e."+f+"('"+b+"')"}}var g=_E[c||""];if(instanceOf(g,RegExp)){_9.push(new RegExp(format(g.source,rescape(_3.unescape(d)))));g="reg[%2].test(%1)";d=_9.length-1}return"if(("+format(g,e,d)+")){"}});Document.implement(NodeSelector);Element.implement(NodeSelector);Selector.pseudoClasses=_g;Selector.operators=_E;var HTMLDocument=Document.extend(null,{bind:function(a){DocumentState.createState(a);return this.base(a)}});var HTMLElement=Element.extend(null,{bindings:{},tags:"*",bind:function(a){if(!a.classList){a.classList=new _1M(a)}if(!a.ownerDocument){a.ownerDocument=Traversal.getOwnerDocument(a)}/*@if(@_jscript)for(var b,c=0;b=_1N[c];c++){b+="Attribute";a["_"+b]=a[b]}/*@end @*/return this.base(a)},extend:function(){var b=this.base.apply(this,arguments);forEach.csv(b.tags,function(a){HTMLElement.bindings[a]=b});return b}});HTMLElement.extend(null,{tags:"APPLET,EMBED,OBJECT,IFRAME",bind:I});var _1N="get,set,has,remove".split(",");/*@if(@_jscript_version<5.7)for(var i in HTMLElement.prototype){if(i!="base"&&i!="extend"){HTMLElement.prototype[i]=new Function("var a=base2.js.Array2.slice(arguments),m=base2.dom.HTMLElement."+i+";a.unshift(this);return m.apply(m,a)")}}/*@end @*/var ClassList=Module.extend({add:function(a,b){if(!ClassList.contains(a,b)){a.className+=(a.className?" ":"")+b}},contains:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)");return c.test(a.className||"")},remove:function(a,b){var c=new RegExp("(^|\\s)"+b+"(\\s|$)","g");a.className=trim(a.className.replace(c,"$2"))},toggle:function(a,b){ClassList[ClassList.has(a,b)?"remove":"add"](a,b)}});var _1M=new Function("e",Array2.reduce(String2.csv("add,contains,remove,toggle"),function(a,b){return a+="this."+b+"=function(t){return base2.dom.ClassList."+b+"(e,t)};"},""));ClassList.has=ClassList.contains;var _12=/^(TABLE|TH|TD)$/,_1O=detect("QuirksMode"),_13=detect("MSIE6"),_1P=detect("Webkit5")?_12:detect("Opera8")?{test:function(a){return!_12.test(a)}}:{test:False};var _1=new Base({getBodyClient:function(a){var b=0,c=0,d=a.defaultView,e=a.body,f=ViewCSS.getComputedStyle(d,e,null),g=f.position,h=g!="static";if(h){b+=parseInt(f.left)+parseInt(f.marginLeft);c+=parseInt(f.top)+parseInt(f.marginTop);if(g=="relative"){var j=ViewCSS.getComputedStyle(d,a.documentElement,null);b+=parseInt(j.paddingLeft)+parseInt(j.borderLeftWidth);c+=parseInt(j.paddingTop)+parseInt(j.borderTopWidth);if(!_13){b+=parseInt(j.marginLeft);c+=parseInt(j.marginTop)}}}else{var k=a.createElement("div");e.insertBefore(k,e.firstChild);b+=k.offsetLeft-parseInt(f.paddingLeft);c+=k.offsetTop-parseInt(f.paddingTop);e.removeChild(k)}return{position:g,isAbsolute:h,left:b,top:c}},getBodyOffset:function(a){var b=this.getBodyClient(a),c=a.defaultView,d=a.body;return{isAbsolute:b.isAbsolute,left:b.left+parseInt(ViewCSS.getComputedPropertyValue(c,d,"borderLeftWidth")),top:b.top+parseInt(ViewCSS.getComputedPropertyValue(c,d,"borderTopWidth"))}},getViewport:function(a){var b=a.defaultView,c=a.documentElement;return{left:parseInt(ViewCSS.getComputedPropertyValue(b,c,"marginLeft")),top:parseInt(ViewCSS.getComputedPropertyValue(b,c,"marginTop"))}},getGeckoRoot:function(a){var b=a.defaultView.getComputedStyle(a.documentElement,null);return{x:parseInt(b.marginLeft)+parseInt(b.borderLeftWidth),y:parseInt(b.marginTop)+parseInt(b.borderTopWidth)}},"@MSIE.+QuirksMode":{getViewport:K({left:0,top:0})},"@(true)":{getBodyClient:_6(1),getBodyOffset:_6(2),getViewport:_6(3),getGeckoRoot:_6(4)}});function _6(c){return function(a){var b=c+(a.base2ID||assignID(a));if(!_6[b])_6[b]=this.base(a);return _6[b]}};var ElementView=Interface.extend({"@!(element.getBoundingClientRect)":{getBoundingClientRect:function(a){var b=a.ownerDocument;switch(a.nodeName){case"HTML":var c=_1.getViewport(b);break;case"BODY":c=_1.getBodyClient(b);break;default:var d=a.offsetLeft,e=a.offsetTop,f=b.defaultView,g=b.documentElement,h=f.getComputedStyle(a,null);offsetParent=a.offsetParent;while(offsetParent&&(offsetParent!=g||h.position=="static")){d+=offsetParent.offsetLeft-offsetParent.scrollLeft;e+=offsetParent.offsetTop-offsetParent.scrollTop;h=f.getComputedStyle(offsetParent,null);if(_1P.test(offsetParent.nodeName)){if(offsetParent.clientLeft===undefined){d+=parseInt(h.borderLeftWidth);e+=parseInt(h.borderTopWidth)}else{d+=offsetParent.clientTop;e+=offsetParent.clientLeft}}offsetParent=offsetParent.offsetParent}c={left:d,top:e}}return{top:c.top,right:c.left+a.clientWidth,bottom:c.top+a.clientHeight,left:c.left}},"@Webkit5":{getBoundingClientRect:function(a){var b=this.base(a);if(a.nodeName!="HTML"){var c=a.ownerDocument,d=_1.getBodyOffset(c);if(!d.isAbsolute){d=_1.getViewport(c)}b.left+=d.left;b.top+=d.top}return b}},"@(document.getBoxObjectFor)":{getBoundingClientRect:function(a){var b=a.ownerDocument,c=b.defaultView,d=b.documentElement,e=b.getBoxObjectFor(a),f=c.getComputedStyle(a,null),g=e.x-parseInt(f.borderLeftWidth),h=e.y-parseInt(f.borderTopWidth),j=a.parentNode;if(a!=d){while(j&&j!=d){g-=j.scrollLeft;h-=j.scrollTop;f=c.getComputedStyle(j,null);if(f.position!="absolute"){g+=parseInt(f.borderTopWidth);h+=parseInt(f.borderLeftWidth)}j=j.parentNode}if(f.position!="fixed"){g-=c.pageXOffset;h-=c.pageYOffset}var k=c.getComputedStyle(b.body,null).position;if(k=="relative"){var l=b.getBoxObjectFor(d)}else if(k=="static"){l=_1.getGeckoRoot(b)}if(l){g+=l.x;h+=l.y}}return{top:h,right:g+a.clientWidth,bottom:h+a.clientHeight,left:g}}}},"@(jscript)":{getBoundingClientRect:function(a){var b=this.base(a);if(a.nodeName=="HTML"){var c=Traversal.getDocument(a),d=_1.getViewport(c),e=c.documentElement,f=d.left-e.scrollLeft,g=d.left-e.scrollTop;b={top:g,right:f+b.right-b.left,bottom:g+b.bottom-b.top,left:f}}return b}},"@Gecko1\\.9([^\\.]|\\.0)":{getBoundingClientRect:function(a){var b=this.base(a);if(a.nodeName!="HTML"&&_1.getBodyClient(a.ownerDocument).position=="absolute"){var c=_1.getGeckoRoot(document);return{top:b.top-c.y,right:b.right-c.x,bottom:b.bottom-c.y,left:b.left-c.x}}return b}}},{getOffsetFromBody:function(a){var b=0,c=0;if(a.nodeName!="BODY"){var d=Traversal.getOwnerDocument(a),e=d.defaultView,f=d.documentElement,g=d.body,h=this.getBoundingClientRect(a);b=h.left+Math.max(f.scrollLeft,g.scrollLeft);c=h.top+Math.max(f.scrollTop,g.scrollTop);var j=_1.getBodyOffset(d);/*@if(@_jscript)if(_13&&g.currentStyle.position!="relative"){b-=f.clientLeft;c-=f.clientTop}if(@_jscript_version==5.7||d.documentMode==7){var k=f.getBoundingClientRect();b-=k.left;c-=k.top}if(_1O){b-=g.clientLeft;c-=g.clientTop;j.isAbsolute=false}/*@end @*/if(j.isAbsolute){b-=j.left;c-=j.top}}return{left:b,top:c}},"@!(element.getBoundingClientRect)":{"@Webkit5":{getOffsetFromBody:function(a){var b=this.base(a);if(a.nodeName!="HTML"){var c=a.ownerDocument,d=_1.getBodyOffset(c);if(!d.isAbsolute){d=_1.getViewport(c)}b.left-=d.left;b.top-=d.top}return b}}},"@Gecko1\\.([^9]|9(\\.0|[^\\.]))":{getOffsetFromBody:function(a){var b=this.base(a);if(!_1.getBodyClient(a.ownerDocument).isAbsolute){var c=_1.getGeckoRoot(document);b.left-=c.x;b.top-=c.y}return b}},getOffsetXY:function(a,b,c){var d=this.getBoundingClientRect(a);return{x:b-d.left-a.clientLeft,y:c-d.top-a.clientTop}},"@!(element.clientLeft)":{getOffsetXY:function(a,b,c){var d=this.getBoundingClientRect(a),e=a.ownerDocument.defaultView.getComputedStyle(a,null);return{x:b-d.left-parseInt(e.borderLeftWidth),y:c-d.top-parseInt(e.borderTopWidth)}}}});HTMLElement.implement(ElementView);var DocumentState=Base.extend({init:function(d){this.document=d;this.events={};this._14=d.documentElement;var e=/^on((DOM)?\w+|[a-z]+)$/;forEach(this,function(a,b,c){if(e.test(b)){c.registerEvent(b.slice(2))}})},hasFocus:function(a){return a==this._F},isActive:function(a){return Traversal.includes(a,this._G)},isHover:function(a){return Traversal.includes(a,this._14)},handleEvent:function(a){if(!a._v){this["on"+a.type](a)}},onblur:function(a){delete this._F},onmouseover:function(a){this._14=a.target},onmousedown:function(a){this._G=a.target},onfocus:function(a){this._F=a.target},onmouseup:function(a){delete this._G},registerEvent:function(a){this.document.addEventListener(a,this,true);this.events[a]=true},"@!(document.activeElement)":{init:function(a){this.base(a);if(dom.isBound(a)){a.activeElement=a.body}},onfocus:function(a){this.base(a);if(dom.isBound(this.document)){this.document.activeElement=this._F}},onblur:function(a){this.base(a);if(dom.isBound(this.document)){this.document.activeElement=this.document.body}}},"@!(element.addEventListener)":{init:function(b){this.base(b);var c=new EventDispatcher(this);this._h=function(a){a.target=a.target||a.srcElement||b;c.handleEvent(a)};this.handleEvent=function(a){if(this["on"+a.type]){this["on"+a.type](a)}return c.handleEvent(a)}},registerEvent:function(a,b){var c=this.events[a],d=b&&b.Infinity,e=!d&&!_1d.test(a);if(!c||!e){if(!c)c=this.events[a]={};if(e||!b)b=this.document;if(!b)b=this.document;this.addEvent(a,b)}return c},addEvent:function(b,c){var d=this;c["on"+b]=function(a){if(!a){a=Traversal.getDefaultView(this).event}if(a)d.handleEvent(a)}},"@(element.attachEvent)":{init:function(c){this.base(c);var d={};this._15=function(a){var b=assignID(a);if(!d[b]){d[b]=true;_0.attachEvent(a,"onsubmit",this._h);_0.attachEvent(a,"onreset",this._h)}};var e=this;this._1Q=function(a){if(e._G==a.target){e._H=copy(a)}else{e._h(a)}}},registered:{},fireEvent:function(a,b){b=Event.cloneEvent(b);b.type=a;this.handleEvent(b)},addEvent:function(b,c){var d=assignID(c)+b;if(!this.registered[d]&&c["on"+b]!==undefined){this.registered[d]=true;var e=this;_0.attachEvent(c,"on"+b,function(a){/*@if(@_jscript_version<5.6)if(a.srcElement&&!a.srcElement.nodeName)return;/*@end @*/a.target=a.srcElement||c;e.handleEvent(a);if(e["after"+b]){e["after"+b](a)}})}},onDOMContentLoaded:function(a){forEach(a.target.forms,this._15,this);this.activate(this.document.activeElement)},onmousedown:function(a){this.base(a);this._u=a.button},onmouseup:function(a){this.base(a);if(!a._v&&this._u==null){this.fireEvent("mousedown",a)}delete this._u},aftermouseup:function(){if(this._H){this._h(this._H);delete this._H}},onfocusin:function(a){this.activate(a.target);this.onfocus(a)},activate:function(a){var b=this.events.change&&a.onchange!==undefined,c=this.events.select&&a.onselect!==undefined;if(b||c){var d=this._h,e=this._1Q;if(b)_0.attachEvent(a,"onchange",d);if(c)_0.attachEvent(a,"onselect",e);var f=function(){_0.detachEvent(a,"onblur",f,true);if(b)_0.detachEvent(a,"onchange",d);if(c)_0.detachEvent(a,"onselect",e)};_0.attachEvent(a,"onblur",f)}},onfocusout:function(a){this.onblur(a)},onclick:function(a){var b=a.target;if(b.form)this._15(b.form)},ondblclick:function(a){if(!a._v)this.fireEvent("click",a)},"@!(element.onfocusin)":{init:function(b){this.base(b);var c=this,d=b.activeElement;_0.attachEvent(b,"onpropertychange",function(a){if(a.propertyName=="activeElement"){if(d){_0.attachEvent(d,"onblur",f)}d=b.activeElement;if(d){_0.attachEvent(d,"onfocus",e);c.activate(d)}}});function e(a){_0.detachEvent(a.srcElement,"onfocus",e);a.target=a.srcElement;c.handleEvent(a)};function f(a){_0.detachEvent(a.srcElement,"onblur",f);a.target=a.srcElement;c.handleEvent(a)}}}}}},{createState:function(a){var b=assignID(a);if(!this[b]&&!Traversal.isXML(a)){this[b]=new this();this[b].init(a)}return this[b]},getInstance:function(a){var b=Traversal.getDocument(a);return this[b.base2ID]||this.createState(b)}});DocumentState.createState(document);new DOMContentLoadedEvent(document);eval(this.exports)};