var base2={name:"base2",version:"1.0 (beta 2)",exports:"Base,Package,Abstract,Module,Enumerable,Map,Collection,RegGrp,assert,assertArity,assertType,assignID,copy,detect,extend,forEach,format,global,instanceOf,match,rescape,slice,trim,typeOf,I,K,Undefined,Null,True,False,bind,delegate,flip,not,unbind",global:this,detect:new function(_){var global=_;var jscript=NaN/*@cc_on||@_jscript_version@*/;var java=_.java?true:false;if(_.navigator){var MSIE=/MSIE[\d.]+/g;var element=document.createElement("span");var userAgent=navigator.userAgent.replace(/([a-z])[\s\/](\d)/gi,"$1$2");if(!jscript){userAgent=userAgent.replace(MSIE,"")}if(MSIE.test(userAgent)){userAgent=userAgent.match(MSIE)[0]+" "+userAgent.replace(MSIE,"")}userAgent=navigator.platform+" "+userAgent;java&=navigator.javaEnabled()}return function(expression){var r=false;var not=expression.charAt(0)=="!";if(not){expression=expression.slice(1)}if(expression.charAt(0)=="("){try{eval("r=!!"+expression)}catch(e){}}else{r=new RegExp("("+expression+")","i").test(userAgent)}return !!(not^r)}}(this)};new function(_){var _namespace="function base(o,a){return o.base.apply(o,a)};";eval(_namespace);var detect=base2.detect;var Undefined=K(),Null=K(null),True=K(true),False=K(false);var _FORMAT=/%([1-9])/g;var _LTRIM=/^\s\s*/;var _RTRIM=/\s\s*$/;var _RESCAPE=/([\/()[\]{}|*+-.,^$?\\])/g;var _BASE=/eval/.test(detect)?/\bbase\s*\(/:/.*/;var _HIDDEN=["constructor","toString","valueOf"];var _MSIE_NATIVE_FUNCTION=detect("(jscript)")?new RegExp("^"+rescape(isNaN).replace(/isNaN/,"\\w+")+"$"):{test:False};var _counter=1;var _slice=Array.prototype.slice;var slice=Array.slice||function(array){return _slice.apply(array,_slice.call(arguments,1))};_Function_forEach();var _subclass=function(_instance,_static){base2.__prototyping=this.prototype;var _prototype=new this;extend(_prototype,_instance);delete base2.__prototyping;var _constructor=_prototype.constructor;function _class(){if(!base2.__prototyping){if(this.constructor==arguments.callee||this.__constructing){this.__constructing=true;_constructor.apply(this,arguments);delete this.__constructing}else{return extend(arguments[0],_prototype)}}return this}_prototype.constructor=_class;for(var i in Base){_class[i]=this[i]}_class.ancestor=this;_class.base=Undefined;_class.init=Undefined;extend(_class,_static);_class.prototype=_prototype;_class.init();_class.toString=K(String(_constructor));_class["#implements"]=[];_class["#implemented_by"]=[];return _class};var Base=_subclass.call(Object,{constructor:function(){if(arguments.length>0){this.extend(arguments[0])}},base:function(){},extend:delegate(extend)},Base={ancestorOf:delegate(_ancestorOf),extend:_subclass,forEach:delegate(_Function_forEach),implement:function(source){if(typeof source=="function"){if(_ancestorOf(Base,source)){source(this.prototype);this["#implements"].push(source);source["#implemented_by"].push(this)}}else{extend(this.prototype,source)}return this}});var Package=Base.extend({constructor:function(_private,_public){this.extend(_public);if(this.init){this.init()}if(this.name!="base2"){if(!this.parent){this.parent=base2}this.parent.addName(this.name,this);this.namespace=format("var %1=%2;",this.name,String(this).slice(1,-1))}var LIST=/[^\s,]+/g;if(_private){_private.imports=Array2.reduce(this.imports.match(LIST),function(namespace,name){eval("var ns=base2."+name);assert(ns,format("Package not found: '%1'.",name),ReferenceError);return namespace+=ns.namespace},_namespace+base2.namespace+JavaScript.namespace);_private.exports=Array2.reduce(this.exports.match(LIST),function(namespace,name){var fullName=this.name+"."+name;this.namespace+="var "+name+"="+fullName+";";return namespace+="if(!"+fullName+")"+fullName+"="+name+";"},"",this)}},exports:"",imports:"",name:"",namespace:"",parent:null,addName:function(name,value){if(!this[name]){this[name]=value;this.exports+=","+name;this.namespace+=format("var %1=%2.%1;",name,this.name)}},addPackage:function(name){this.addName(name,new Package(null,{name:name,parent:this}))},toString:function(){return format("[%1]",this.parent?String(this.parent).slice(1,-1)+"."+this.name:this.name)}});var Abstract=Base.extend({constructor:function(){throw new TypeError("Class cannot be instantiated.")}});var Module=Abstract.extend(null,{extend:function(_interface,_static){var module=this.base();module.implement(this);module.implement(_interface);extend(module,_static);module.init();return module},implement:function(_interface){var module=this;if(typeof _interface=="function"){if(!_ancestorOf(_interface,module)){this.base(_interface)}if(_ancestorOf(Module,_interface)){forEach(_interface,function(property,name){if(!module[name]){if(typeof property=="function"&&property.call&&_interface.prototype[name]){property=function(){return _interface[name].apply(_interface,arguments)}}module[name]=property}})}}else{extend(module,_interface);_Function_forEach(Object,_interface,function(source,name){if(name.charAt(0)=="@"){if(detect(name.slice(1))){forEach(source,arguments.callee)}}else{if(typeof source=="function"&&source.call){module.prototype[name]=function(){var args=_slice.call(arguments);args.unshift(this);return module[name].apply(module,args)};module.prototype[name]._module=module}}})}return module}});var Enumerable=Module.extend({every:function(object,test,context){var result=true;try{this.forEach(object,function(value,key){result=test.call(context,value,key,object);if(!result){throw StopIteration}})}catch(error){if(error!=StopIteration){throw error}}return !!result},filter:function(object,test,context){var i=0;return this.reduce(object,function(result,value,key){if(test.call(context,value,key,object)){result[i++]=value}return result},[])},invoke:function(object,method){var args=_slice.call(arguments,2);return this.map(object,(typeof method=="function")?function(item){return(item==null)?undefined:method.apply(item,args)}:function(item){return(item==null)?undefined:item[method].apply(item,args)})},map:function(object,block,context){var result=[],i=0;this.forEach(object,function(value,key){result[i++]=block.call(context,value,key,object)});return result},pluck:function(object,key){return this.map(object,function(item){return(item==null)?undefined:item[key]})},reduce:function(object,block,result,context){var initialised=arguments.length>2;this.forEach(object,function(value,key){if(initialised){result=block.call(context,result,value,key,object)}else{result=value;initialised=true}});return result},some:function(object,test,context){return !this.every(object,not(test),context)}},{forEach:forEach});var _HASH="#";var Map=Base.extend({constructor:function(values){this.merge(values)},copy:delegate(copy),forEach:function(block,context){for(var key in this){if(key.charAt(0)==_HASH){block.call(context,this[key],key.slice(1),this)}}},get:function(key){return this[_HASH+key]},getKeys:function(){return this.map(flip(I))},getValues:function(){return this.map(I)},has:function(key){/*@cc_on @*//*@if (@_jscript_version < 5.5) return $Legacy.has(this, _HASH + key); @else @*/return _HASH+key in this;/*@end @*/},merge:function(values){var put=flip(this.put);forEach(arguments,function(values){forEach(values,put,this)},this);return this},remove:function(key){delete this[_HASH+key]},put:function(key,value){if(arguments.length==1){value=key}this[_HASH+key]=value},size:function(){var size=0;for(var key in this){if(key.charAt(0)==_HASH){size++}}return size},union:function(values){return this.merge.apply(this.copy(),arguments)}});Map.implement(Enumerable);var _KEYS="~";var Collection=Map.extend({constructor:function(values){this[_KEYS]=new Array2;this.base(values)},add:function(key,item){assert(!this.has(key),"Duplicate key '"+key+"'.");this.put.apply(this,arguments)},copy:function(){var copy=this.base();copy[_KEYS]=this[_KEYS].copy();return copy},forEach:function(block,context){var keys=this[_KEYS];var length=keys.length;for(var i=0;i1900){Date.prototype.getYear=function(){return this.getFullYear()-1900};Date.prototype.setYear=function(year){return this.setFullYear(year+1900)}}Function.prototype.prototype={};if("".replace(/^/,K("$$"))=="$"){extend(String.prototype,"replace",function(expression,replacement){if(typeof replacement=="function"){var fn=replacement;replacement=function(){return String(fn.apply(null,arguments)).split("$").join("$$")}}return this.base(expression,replacement)})}var Array2=_createObject2(Array,Array,"concat,join,pop,push,reverse,shift,slice,sort,splice,unshift",[Enumerable,{combine:function(keys,values){if(!values){values=keys}return this.reduce(keys,function(hash,key,index){hash[key]=values[index];return hash},{})},contains:function(array,item){return this.indexOf(array,item)!=-1},copy:function(array){var copy=_slice.call(array);if(!copy.swap){this(copy)}return copy},flatten:function(array){var length=0;return this.reduce(array,function(result,item){if(this.like(item)){this.reduce(item,arguments.callee,result,this)}else{result[length++]=item}return result},[],this)},forEach:_Array_forEach,indexOf:function(array,item,fromIndex){var length=array.length;if(fromIndex==null){fromIndex=0}else{if(fromIndex<0){fromIndex=Math.max(0,length+fromIndex)}}for(var i=fromIndex;i=0;i--){if(array[i]===item){return i}}return -1},map:function(array,block,context){var result=[];this.forEach(array,function(item,index){result[index]=block.call(context,item,index,array)});return result},remove:function(array,item){var index=this.indexOf(array,item);if(index!=-1){this.removeAt(array,index)}return item},removeAt:function(array,index){return this.splice(array,index,1)},swap:function(array,index1,index2){if(index1<0){index1+=array.length}if(index2<0){index2+=array.length}var temp=array[index1];array[index1]=array[index2];array[index2]=temp;return array}}]);Array2.reduce=Enumerable.reduce;Array2.like=function(object){return !!(object&&typeof object=="object"&&typeof object.length=="number")};Enumerable["#implemented_by"].pop();Enumerable["#implemented_by"].push(Array2);var _DATE_PATTERN=/^((-\d+|\d{4,})(-(\d{2})(-(\d{2}))?)?)?T((\d{2})(:(\d{2})(:(\d{2})(\.(\d{1,3})(\d)?\d*)?)?)?)?(([+-])(\d{2})(:(\d{2}))?|Z)?$/;var _DATE_PARTS={FullYear:2,Month:4,Date:6,Hours:8,Minutes:10,Seconds:12,Milliseconds:14};var _TIMEZONE_PARTS={Hectomicroseconds:15,UTC:16,Sign:17,Hours:18,Minutes:20};var _TRIM_ZEROES=/(((00)?:0+)?:0+)?\.0+$/;var _TRIM_TIMEZONE=/(T[0-9:.]+)$/;var Date2=_createObject2(Date,function(yy,mm,dd,h,m,s,ms){switch(arguments.length){case 0:return new Date;case 1:return new Date(yy);default:return new Date(yy,mm,arguments.length==2?1:dd,h||0,m||0,s||0,ms||0)}},"",[{toISOString:function(date){var string="####-##-##T##:##:##.###";for(var part in _DATE_PARTS){string=string.replace(/#+/,function(digits){var value=date["getUTC"+part]();if(part=="Month"){value++}return("000"+value).slice(-digits.length)})}return string.replace(_TRIM_ZEROES,"").replace(_TRIM_TIMEZONE,"$1Z")}}]);Date2.now=function(){return(new Date).valueOf()};Date2.parse=function(string,defaultDate){if(arguments.length>1){assertType(defaultDate,"number","defaultDate should be of type 'number'.")}var match=String(string).match(_DATE_PATTERN);if(match){if(match[_DATE_PARTS.Month]){match[_DATE_PARTS.Month]--}if(match[_TIMEZONE_PARTS.Hectomicroseconds]>=5){match[_DATE_PARTS.Milliseconds]++}var date=new Date(defaultDate||0);var prefix=match[_TIMEZONE_PARTS.UTC]||match[_TIMEZONE_PARTS.Hours]?"UTC":"";for(var part in _DATE_PARTS){var value=match[_DATE_PARTS[part]];if(!value){continue}date["set"+prefix+part](value);if(date["get"+prefix+part]()!=match[_DATE_PARTS[part]]){return NaN}}if(match[_TIMEZONE_PARTS.Hours]){var Hours=Number(match[_TIMEZONE_PARTS.Sign]+match[_TIMEZONE_PARTS.Hours]);var Minutes=Number(match[_TIMEZONE_PARTS.Sign]+(match[_TIMEZONE_PARTS.Minutes]||0));date.setUTCMinutes(date.getUTCMinutes()+(Hours*60)+Minutes)}return date.valueOf()}else{return Date.parse(string)}};var String2=_createObject2(String,function(string){return new String(arguments.length==0?"":string)},"charAt,charCodeAt,concat,indexOf,lastIndexOf,match,replace,search,slice,split,substr,substring,toLowerCase,toUpperCase",[{trim:trim}]);function _createObject2(Native,constructor,generics,extensions){var INative=Module.extend();forEach(generics.match(/\w+/g),function(name){INative[name]=unbind(Native.prototype[name])});forEach(extensions,INative.implement,INative);var Native2=function(){return INative(this.constructor==INative?constructor.apply(null,arguments):arguments[0])};Native2.prototype=INative.prototype;forEach(INative,function(method,name){if(Native[name]){INative[name]=Native[name];delete INative.prototype[name]}Native2[name]=INative[name]});Native2.ancestor=Object;delete Native2.extend;if(Native!=Array){delete Native2.forEach}return Native2}function extend(object,source){if(object&&source){if(arguments.length>2){var key=source;source={};source[key]=arguments[2]}var proto=(typeof source=="function"?Function:Object).prototype;var i=_HIDDEN.length,key;if(base2.__prototyping){while(key=_HIDDEN[--i]){var value=source[key];if(value!=proto[key]){if(_BASE.test(value)){_override(object,key,value)}else{object[key]=value}}}}for(key in source){if(proto[key]===undefined){var value=source[key];if(key.charAt(0)=="@"){if(detect(key.slice(1))){arguments.callee(object,value)}continue}var ancestor=object[key];if(ancestor&&typeof value=="function"){if(value!=ancestor&&(!ancestor.method||!_ancestorOf(value,ancestor))){if(_BASE.test(value)){_override(object,key,value)}else{value.ancestor=ancestor;object[key]=value}}}else{object[key]=value}}}}return object}function _ancestorOf(ancestor,fn){while(fn){if(!fn.ancestor){return false}fn=fn.ancestor;if(fn==ancestor){return true}}return false}function _override(object,name,method){var ancestor=object[name];var superObject=base2.__prototyping;if(superObject&&ancestor!=superObject[name]){superObject=null}function _base(){var previous=this.base;this.base=superObject?superObject[name]:ancestor;var returnValue=method.apply(this,arguments);this.base=previous;return returnValue}_base.ancestor=ancestor;object[name]=_base;_base.toString=K(String(method))}if(typeof StopIteration=="undefined"){StopIteration=new Error("StopIteration")}function forEach(object,block,context,fn){if(object==null){return }if(!fn){if(typeof object=="function"&&object.call){fn=Function}else{if(typeof object.forEach=="function"&&object.forEach!=arguments.callee){object.forEach(block,context);return }else{if(typeof object.length=="number"){_Array_forEach(object,block,context);return }}}}_Function_forEach(fn||Object,object,block,context)}function _Array_forEach(array,block,context){if(array==null){return }var length=array.length,i;if(typeof array=="string"){for(i=0;i1)?function(fn,object,block,context){var processed={};for(var key in object){if(!processed[key]&&fn.prototype[key]===undefined){processed[key]=true;block.call(context,object[key],key,object)}}}:function(fn,object,block,context){for(var key in object){if(fn.prototype[key]===undefined){block.call(context,object[key],key,object)}}};_Function_forEach(fn,object,block,context)}function typeOf(object){var type=typeof object;switch(type){case"object":return object===null?"null":typeof object.call=="function"||_MSIE_NATIVE_FUNCTION.test(object)?"function":type;case"function":return typeof object.call=="function"?type:"object";default:return type}}function instanceOf(object,klass){if(typeof klass!="function"){throw new TypeError("Invalid 'instanceOf' operand.")}if(object==null){return false;/*@cc_on // COM objects don't have a constructor if (typeof object.constructor != "function") { return typeOf(object) == typeof klass.prototype.valueOf(); } @*//*@if (@_jscript_version < 5.1) if ($Legacy.instanceOf(object, klass)) return true; @else @*/}if(object instanceof klass){return true;/*@end @*/}if(Base.ancestorOf==klass.ancestorOf){return false}if(Base.ancestorOf==object.constructor.ancestorOf){return klass==Object}switch(klass){case Array:return !!(typeof object=="object"&&object.join&&object.splice);case Function:return typeOf(object)=="function";case RegExp:return typeof object.constructor.$1=="string";case Date:return !!object.getTimezoneOffset;case String:case Number:case Boolean:return typeof object==typeof klass.prototype.valueOf();case Object:return true}return false}function assert(condition,message,ErrorClass){if(!condition){throw new (ErrorClass||Error)(message||"Assertion failed.")}}function assertArity(args,arity,message){if(arity==null){arity=args.callee.length}if(args.lengthotherIndex){return 2}}return 0}}});var _getSourceIndex=document.documentElement.sourceIndex?function(node){return node.sourceIndex}:function(node){var key=0;while(node){key=Traversal.getNodeIndex(node)+"."+key;node=node.parentNode}return key};var Document=Node.extend(null,{bind:function(document){extend(document,"createElement",function(tagName){return DOM.bind(this.base(tagName))});AbstractView.bind(document.defaultView);if(document!=window.document){new DOMContentLoadedEvent(document)}return this.base(document)},"@!(document.defaultView)":{bind:function(document){document.defaultView=Traversal.getDefaultView(document);return this.base(document)}}});var _EVALUATED=/^(href|src)$/;var _ATTRIBUTES={"class":"className","for":"htmlFor"};var Element=Node.extend({"@MSIE.+win":{getAttribute:function(element,name,iFlags){if(element.className===undefined){return this.base(element,name)}var attribute=_MSIE_getAttributeNode(element,name);if(attribute&&(attribute.specified||name=="value")){if(_EVALUATED.test(name)){return this.base(element,name,2)}else{if(name=="style"){return element.style.cssText}else{return attribute.nodeValue}}}return null},setAttribute:function(element,name,value){if(element.className===undefined){this.base(element,name,value)}else{if(name=="style"){element.style.cssText=value}else{value=String(value);var attribute=_MSIE_getAttributeNode(element,name);if(attribute){attribute.nodeValue=value}else{this.base(element,_ATTRIBUTES[name]||name,value)}}}}},"@!(element.hasAttribute)":{hasAttribute:function(element,name){return this.getAttribute(element,name)!=null}}});extend(Element.prototype,"cloneNode",function(deep){var clone=this.base(deep||false);clone.base2ID=undefined;return clone});if(_MSIE){var _PROPERCASE_ATTRIBUTES="colSpan,rowSpan,vAlign,dateTime,accessKey,tabIndex,encType,maxLength,readOnly,longDesc";extend(_ATTRIBUTES,Array2.combine(_PROPERCASE_ATTRIBUTES.toLowerCase().split(","),_PROPERCASE_ATTRIBUTES.split(",")));var _MSIE_getAttributeNode=_MSIE5?function(element,name){return element.attributes[name]||element.attributes[_ATTRIBUTES[name.toLowerCase()]]}:function(element,name){return element.getAttributeNode(name)}}var TEXT=_MSIE?"innerText":"textContent";var Traversal=Module.extend({getDefaultView:function(node){return this.getDocument(node).defaultView},getNextElementSibling:function(node){while(node&&(node=node.nextSibling)&&!this.isElement(node)){continue}return node},getNodeIndex:function(node){var index=0;while(node&&(node=node.previousSibling)){index++}return index},getOwnerDocument:function(node){return node.ownerDocument},getPreviousElementSibling:function(node){while(node&&(node=node.previousSibling)&&!this.isElement(node)){continue}return node},getTextContent:function(node){return node[TEXT]},isEmpty:function(node){node=node.firstChild;while(node){if(node.nodeType==3||this.isElement(node)){return false}node=node.nextSibling}return true},setTextContent:function(node,text){return node[TEXT]=text},"@MSIE":{getDefaultView:function(node){return(node.document||node).parentWindow},"@MSIE5":{getOwnerDocument:function(node){return node.ownerDocument||node.document}}}},{contains:function(node,target){while(target&&(target=target.parentNode)&&node!=target){continue}return !!target},getDocument:function(node){return this.isDocument(node)?node:this.getOwnerDocument(node)},isDocument:function(node){return !!(node&&node.documentElement)},isElement:function(node){return !!(node&&node.nodeType==1)},"@(element.contains)":{contains:function(node,target){return node!=target&&(this.isDocument(node)?node==this.getOwnerDocument(target):node.contains(target))}},"@MSIE5":{isElement:function(node){return !!(node&&node.nodeType==1&&node.nodeName!="!")}}});var AbstractView=Binding.extend();var Event=Binding.extend({"@!(document.createEvent)":{initEvent:function(event,type,bubbles,cancelable){event.type=type;event.bubbles=bubbles;event.cancelable=cancelable;event.timeStamp=new Date().valueOf()},"@MSIE":{initEvent:function(event,type,bubbles,cancelable){this.base(event,type,bubbles,cancelable);event.cancelBubble=!event.bubbles},preventDefault:function(event){if(event.cancelable!==false){event.returnValue=false}},stopPropagation:function(event){event.cancelBubble=true}}}},{"@!(document.createEvent)":{"@MSIE":{bind:function(event){if(!event.timeStamp){event.bubbles=!!_BUBBLES[event.type];event.cancelable=!!_CANCELABLE[event.type];event.timeStamp=new Date().valueOf()}if(!event.target){event.target=event.srcElement}event.relatedTarget=event[(event.type=="mouseout"?"to":"from")+"Element"];return this.base(event)}}}});if(_MSIE){var _BUBBLES="abort,error,select,change,resize,scroll";var _CANCELABLE="click,mousedown,mouseup,mouseover,mousemove,mouseout,keydown,keyup,submit,reset";_BUBBLES=Array2.combine((_BUBBLES+","+_CANCELABLE).split(","));_CANCELABLE=Array2.combine(_CANCELABLE.split(","))}var EventTarget=Interface.extend({"@!(element.addEventListener)":{addEventListener:function(target,type,listener,capture){var targetID=assignID(target);var listenerID=assignID(listener);var events=_eventMap[targetID];if(!events){events=_eventMap[targetID]={}}var listeners=events[type];var current=target["on"+type];if(!listeners){listeners=events[type]={};if(current){listeners[0]=current}}listeners[listenerID]=listener;if(current!==undefined){target["on"+type]=_eventMap._handleEvent}},dispatchEvent:function(target,event){return _handleEvent.call(target,event)},removeEventListener:function(target,type,listener,capture){var events=_eventMap[target.base2ID];if(events&&events[type]){delete events[type][listener.base2ID]}},"@(element.fireEvent)":{dispatchEvent:function(target,event){var type="on"+event.type;event.target=target;if(target[type]===undefined){return this.base(target,event)}else{return target.fireEvent(type,event)}}}}});var _eventMap=new Base({_handleEvent:_handleEvent,"@MSIE":{_handleEvent:function(){var target=this;var window=(target.document||target).parentWindow;if(target.Infinity){target=window}return _handleEvent.call(target,window.event)}}});function _handleEvent(event){var returnValue=true;var events=_eventMap[this.base2ID];if(events){Event.bind(event);var listeners=events[event.type];for(var i in listeners){var listener=listeners[i];if(listener.handleEvent){var result=listener.handleEvent(event)}else{result=listener.call(this,event)}if(result===false||event.returnValue===false){returnValue=false}}}return returnValue}var DocumentEvent=Interface.extend({"@!(document.createEvent)":{createEvent:function(document,type){return Event.bind({})},"@(document.createEventObject)":{createEvent:function(document,type){return Event.bind(document.createEventObject())}}},"@(document.createEvent)":{"@!(document.createEvent('Events'))":{createEvent:function(document,type){return this.base(document,type=="Events"?"UIEvents":type)}}}});var DOMContentLoadedEvent=Base.extend({constructor:function(document){var fired=false;this.fire=function(){if(!fired){fired=true;setTimeout(function(){var event=DocumentEvent.createEvent(document,"Events");Event.initEvent(event,"DOMContentLoaded",false,false);EventTarget.dispatchEvent(document,event)},1)}};EventTarget.addEventListener(document,"DOMContentLoaded",function(){fired=true},false);this.listen(document)},listen:function(document){EventTarget.addEventListener(Traversal.getDefaultView(document),"load",this.fire,false)},"@MSIE.+win":{listen:function(document){if(document.readyState!="complete"){var event=this;document.write("