if(typeof UNOUNO=="undefined"){var UNOUNO={};}if(typeof UNOUNO.namespace=="undefined"){UNOUNO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=UNOUNO;for(j=(d[0]=="UNOUNO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}return o;};}UNOUNO.params={siteModus:null,userAgent:null,siteId:null,ucuoId:null,sessionId:null,variant:null,project:null,page:null};
if(UNOUNO.init&&typeof UNOUNO.init.Params=="function"){UNOUNO.init.Params();}UNOUNO.error={internalErrorMessage:function(message){if(UNOUNO.params.siteModus=="stage"){if(typeof console!="undefined"){if(typeof console.error!="undefined"){console.error(message);}else{alert(message);}}else{alert(message);
}}else{UNOUNO.error.internalErrorLogging("[internal] "+message,"n/a","n/a");}},internalErrorLogging:function(message,url,line){if(message!="Error loading script"){var imgSrc="//pixel.1und1.de/JavaScriptErrorCollector/?__shopId="+encodeURIComponent(UNOUNO.params.siteId)+"&__ucuoId="+encodeURIComponent(UNOUNO.params.ucuoId)+"&__session="+encodeURIComponent(UNOUNO.params.sessionId)+"&__variant="+encodeURIComponent(UNOUNO.params.variant)+"&__type=jserror&message="+encodeURIComponent(message)+"&url="+encodeURIComponent(url)+"&page="+encodeURIComponent(UNOUNO.params.page)+"&userAgent="+encodeURIComponent(UNOUNO.params.userAgent)+"&line="+encodeURIComponent(line);
if(UNOUNO.params.articles){imgSrc=imgSrc+"&debuginfo="+encodeURIComponent(UNOUNO.params.articles);}var imgElement=new Image();imgElement.src=imgSrc;}}};window.onerror=function(sMsg,sUrl,sLine){if(UNOUNO.params.siteModus!="stage"){UNOUNO.error.internalErrorLogging(sMsg,sUrl,sLine);return true;}else{return false;
}};if(document&&document.body){var bodyClassName=document.body.className;if(bodyClassName.indexOf("js-active")==-1){if(bodyClassName!=""){document.body.className=bodyClassName+" js-active";}else{document.body.className="js-active";}}}UNOUNO.namespace("util");UNOUNO.namespace("ajax");UNOUNO.namespace("global");
UNOUNO.namespace("local");
if(!window.qx){window.qx={};if(!window.qxsettings){qxsettings={};}qxsettings["qx.globalErrorHandling"]="off";}
if(!window.qx){window.qx={};}qx.Bootstrap={genericToString:function(){return"[Class "+this.classname+"]";},createNamespace:function(name,object){var splits=name.split(".");var parent=window;var part=splits[0];for(var i=0,len=splits.length-1;i<len;i++,part=splits[i]){if(!parent[part]){parent=parent[part]={};
}else{parent=parent[part];}}parent[part]=object;return part;},setDisplayName:function(fcn,classname,name){fcn.displayName=classname+"."+name+"()";},setDisplayNames:function(functionMap,classname){for(var name in functionMap){var value=functionMap[name];if(value instanceof Function){value.displayName=classname+"."+name+"()";
}}},define:function(name,config){if(!config){var config={statics:{}};}var clazz;var proto=null;qx.Bootstrap.setDisplayNames(config.statics,name);if(config.members){qx.Bootstrap.setDisplayNames(config.members,name+".prototype");clazz=config.construct||new Function;var statics=config.statics;for(var key in statics){clazz[key]=statics[key];
}proto=clazz.prototype;var members=config.members;for(var key in members){proto[key]=members[key];}}else{clazz=config.statics||{};}var basename=this.createNamespace(name,clazz);clazz.name=clazz.classname=name;clazz.basename=basename;clazz.$$type="Class";if(!clazz.hasOwnProperty("toString")){clazz.toString=this.genericToString;
}if(config.defer){config.defer(clazz,proto);}qx.Bootstrap.$$registry[name]=config.statics;return clazz;}};qx.Bootstrap.define("qx.Bootstrap",{statics:{LOADSTART:qx.$$start||new Date(),createNamespace:qx.Bootstrap.createNamespace,define:qx.Bootstrap.define,setDisplayName:qx.Bootstrap.setDisplayName,setDisplayNames:qx.Bootstrap.setDisplayNames,genericToString:qx.Bootstrap.genericToString,getByName:function(name){return this.$$registry[name];
},$$registry:{}}});qx.Bootstrap.define("qx.core.Setting",{statics:{__settings:{},define:function(key,defaultValue){if(defaultValue===undefined){throw new Error('Default value of setting "'+key+'" must be defined!');}if(!this.__settings[key]){this.__settings[key]={};}else{if(this.__settings[key].defaultValue!==undefined){throw new Error('Setting "'+key+'" is already defined!');
}}this.__settings[key].defaultValue=defaultValue;},get:function(key){var cache=this.__settings[key];if(cache===undefined){throw new Error('Setting "'+key+'" is not defined.');}if(cache.value!==undefined){return cache.value;}return cache.defaultValue;},set:function(key,value){if((key.split(".")).length<2){throw new Error('Malformed settings key "'+key+'". Must be following the schema "namespace.key".');
}if(!this.__settings[key]){this.__settings[key]={};}this.__settings[key].value=value;},__init:function(){if(window.qxsettings){for(var key in window.qxsettings){this.set(key,window.qxsettings[key]);}window.qxsettings=undefined;try{delete window.qxsettings;}catch(ex){}this.__loadUrlSettings();}},__loadUrlSettings:function(){if(this.get("qx.allowUrlSettings")!=true){return ;
}var urlSettings=document.location.search.slice(1).split("&");for(var i=0;i<urlSettings.length;i++){var setting=urlSettings[i].split(":");if(setting.length!=3||setting[0]!="qxsetting"){continue;}this.set(setting[1],decodeURIComponent(setting[2]));}}},defer:function(statics){statics.define("qx.allowUrlSettings",false);
statics.define("qx.allowUrlVariants",false);statics.define("qx.propertyDebugLevel",0);statics.__init();}});qx.Bootstrap.define("qx.bom.client.Engine",{statics:{NAME:"",FULLVERSION:"0.0.0",VERSION:0,OPERA:false,WEBKIT:false,GECKO:false,MSHTML:false,UNKNOWN_ENGINE:false,UNKNOWN_VERSION:false,DOCUMENT_MODE:null,__init:function(){var engine="unknown";
var version="0.0.0";var agent=window.navigator.userAgent;var unknownEngine=false;var unknownVersion=false;if(window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]"){engine="opera";this.OPERA=true;if(/Opera[\s\/]([0-9]+)\.([0-9])([0-9]*)/.test(agent)){version=RegExp.$1+"."+RegExp.$2;
if(RegExp.$3!=""){version+="."+RegExp.$3;}}else{unknownVersion=true;version="9.6.0";}}else{if(window.navigator.userAgent.indexOf("AppleWebKit/")!=-1){engine="webkit";this.WEBKIT=true;if(/AppleWebKit\/([^ ]+)/.test(agent)){version=RegExp.$1;var invalidCharacter=RegExp("[^\\.0-9]").exec(version);if(invalidCharacter){version=version.slice(0,invalidCharacter.index);
}}else{unknownVersion=true;version="525.26";}}else{if(window.controllers&&window.navigator.product==="Gecko"){engine="gecko";this.GECKO=true;if(/rv\:([^\);]+)(\)|;)/.test(agent)){version=RegExp.$1;}else{unknownVersion=true;version="1.9.0.0";}}else{if(window.navigator.cpuClass&&/MSIE\s+([^\);]+)(\)|;)/.test(agent)){engine="mshtml";
version=RegExp.$1;if(document.documentMode){this.DOCUMENT_MODE=document.documentMode;}if(version<8&&/Trident\/([^\);]+)(\)|;)/.test(agent)){if(RegExp.$1==="4.0"){version="8.0";}}this.MSHTML=true;}else{var failFunction=window.qxFail;if(failFunction&&typeof failFunction==="function"){var engine=failFunction();
if(engine.NAME&&engine.FULLVERSION){engine=engine.NAME;this[engine.toUpperCase()]=true;version=engine.FULLVERSION;}}else{unknownEngine=true;unknownVersion=true;version="1.9.0.0";engine="gecko";this.GECKO=true;window.alert("Unsupported client: "+agent+"! Assumed gecko version 1.9.0.0 (Firefox 3.0).");
}}}}}this.UNKNOWN_ENGINE=unknownEngine;this.UNKNOWN_VERSION=unknownVersion;this.NAME=engine;this.FULLVERSION=version;this.VERSION=parseFloat(version);}},defer:function(statics){statics.__init();}});qx.Bootstrap.define("qx.core.Variant",{statics:{__variants:{},__cache:{},compilerIsSet:function(){return true;
},define:function(key,allowedValues,defaultValue){if(!this.__variants[key]){this.__variants[key]={};}else{}this.__variants[key].allowedValues=allowedValues;this.__variants[key].defaultValue=defaultValue;},get:function(key){var data=this.__variants[key];if(data.value!==undefined){return data.value;}return data.defaultValue;
},__init:function(){if(window.qxvariants){for(var key in qxvariants){if(!this.__variants[key]){this.__variants[key]={};}this.__variants[key].value=qxvariants[key];}window.qxvariants=undefined;try{delete window.qxvariants;}catch(ex){}this.__loadUrlVariants(this.__variants);}},__loadUrlVariants:function(){if(qx.core.Setting.get("qx.allowUrlVariants")!=true){return ;
}var urlVariants=document.location.search.slice(1).split("&");for(var i=0;i<urlVariants.length;i++){var variant=urlVariants[i].split(":");if(variant.length!=3||variant[0]!="qxvariant"){continue;}var key=variant[1];if(!this.__variants[key]){this.__variants[key]={};}this.__variants[key].value=decodeURIComponent(variant[2]);
}},select:function(key,variantFunctionMap){for(var variant in variantFunctionMap){if(this.isSet(key,variant)){return variantFunctionMap[variant];}}if(variantFunctionMap["default"]!==undefined){return variantFunctionMap["default"];}},isSet:function(key,variants){var access=key+"$"+variants;if(this.__cache[access]!==undefined){return this.__cache[access];
}var retval=false;if(variants.indexOf("|")<0){retval=this.get(key)===variants;}else{var keyParts=variants.split("|");for(var i=0,l=keyParts.length;i<l;i++){if(this.get(key)===keyParts[i]){retval=true;break;}}}this.__cache[access]=retval;return retval;},__isValidArray:function(v){return typeof v==="object"&&v!==null&&v instanceof Array;
},__isValidObject:function(v){return typeof v==="object"&&v!==null&&!(v instanceof Array);},__arrayContains:function(arr,obj){for(var i=0,l=arr.length;i<l;i++){if(arr[i]==obj){return true;}}return false;}},defer:function(statics){statics.define("qx.client",["gecko","mshtml","opera","webkit"],qx.bom.client.Engine.NAME);
statics.define("qx.debug",["on","off"],"on");statics.define("qx.aspects",["on","off"],"off");statics.define("qx.dynlocale",["on","off"],"on");statics.__init();}});qx.Bootstrap.define("qx.bom.Event",{statics:{addNativeListener:qx.core.Variant.select("qx.client",{"mshtml":function(target,type,listener){target.attachEvent("on"+type,listener);
},"default":function(target,type,listener){target.addEventListener(type,listener,false);}}),removeNativeListener:qx.core.Variant.select("qx.client",{"mshtml":function(target,type,listener){target.detachEvent("on"+type,listener);},"default":function(target,type,listener){target.removeEventListener(type,listener,false);
}}),getTarget:function(e){return e.target||e.srcElement;},getRelatedTarget:qx.core.Variant.select("qx.client",{"mshtml":function(e){if(e.type==="mouseover"){return e.fromEvent;}else{return e.toElement;}},"gecko":function(e){try{e.relatedTarget&&e.relatedTarget.nodeType;}catch(e){return null;}return e.relatedTarget;
},"default":function(e){return e.relatedTarget;}}),preventDefault:qx.core.Variant.select("qx.client",{"gecko":function(e){if(qx.bom.client.Engine.VERSION>=1.9&&e.type=="mousedown"&&e.button==2){return ;}e.preventDefault();if(qx.bom.client.Engine.VERSION<1.9){try{e.keyCode=0;}catch(ex){}}},"mshtml":function(e){try{e.keyCode=0;
}catch(ex){}e.returnValue=false;},"default":function(e){e.preventDefault();}}),stopPropagation:function(e){if(e.stopPropagation){e.stopPropagation();}e.cancelBubble=true;},fire:function(target,type){if(document.createEventObject){var evt=document.createEventObject();return target.fireEvent("on"+type,evt);
}else{var evt=document.createEvent("HTMLEvents");evt.initEvent(type,true,true);return !target.dispatchEvent(evt);}}}});qx.Bootstrap.define("qx.event.Manager",{construct:function(win,registration){this.__window=win;this.__registration=registration;if(win.qx!==qx){var self=this;qx.bom.Event.addNativeListener(win,"unload",qx.event.GlobalError.observeMethod(function(){qx.bom.Event.removeNativeListener(win,"unload",arguments.callee);
self.dispose();}));}this.__listeners={};this.__handlers={};this.__dispatchers={};this.__handlerCache={};},statics:{__lastUnique:0,getNextUniqueId:function(){return(this.__lastUnique++).toString(36);}},members:{__registration:null,__listeners:null,__dispatchers:null,__disposeWrapper:null,__handlers:null,__handlerCache:null,__window:null,getWindow:function(){return this.__window;
},getHandler:function(clazz){var handler=this.__handlers[clazz.classname];if(handler){return handler;}return this.__handlers[clazz.classname]=new clazz(this);},getDispatcher:function(clazz){var dispatcher=this.__dispatchers[clazz.classname];if(dispatcher){return dispatcher;}return this.__dispatchers[clazz.classname]=new clazz(this,this.__registration);
},getListeners:function(target,type,capture){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];if(!targetMap){return null;}var entryKey=type+(capture?"|capture":"|bubble");var entryList=targetMap[entryKey];return entryList?entryList.concat():null;
},serializeListeners:function(target){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];var result=[];if(targetMap){var indexOf,type,capture,entryList,entry;for(var entryKey in targetMap){indexOf=entryKey.indexOf("|");type=entryKey.substring(0,indexOf);
capture=entryKey.charAt(indexOf+1)=="c";entryList=targetMap[entryKey];for(var i=0,l=entryList.length;i<l;i++){entry=entryList[i];result.push({self:entry.context,handler:entry.handler,type:type,capture:capture});}}}return result;},toggleAttachedEvents:function(target,enable){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);
var targetMap=this.__listeners[targetKey];if(targetMap){var indexOf,type,capture,entryList;for(var entryKey in targetMap){indexOf=entryKey.indexOf("|");type=entryKey.substring(0,indexOf);capture=entryKey.charCodeAt(indexOf+1)===99;entryList=targetMap[entryKey];if(enable){this.__registerAtHandler(target,type,capture);
}else{this.__unregisterAtHandler(target,type,capture);}}}},hasListener:function(target,type,capture){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];if(!targetMap){return false;}var entryKey=type+(capture?"|capture":"|bubble");var entryList=targetMap[entryKey];
return entryList&&entryList.length>0;},importListeners:function(target,list){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey]={};var clazz=qx.event.Manager;for(var listKey in list){var item=list[listKey];var entryKey=item.type+(item.capture?"|capture":"|bubble");
var entryList=targetMap[entryKey];if(!entryList){entryList=targetMap[entryKey]=[];this.__registerAtHandler(target,item.type,item.capture);}entryList.push({handler:item.listener,context:item.self,unique:item.unique||(clazz.__lastUnique++).toString(36)});}},addListener:function(target,type,listener,self,capture){var msg;
var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];if(!targetMap){targetMap=this.__listeners[targetKey]={};}var entryKey=type+(capture?"|capture":"|bubble");var entryList=targetMap[entryKey];if(!entryList){entryList=targetMap[entryKey]=[];
}if(entryList.length===0){this.__registerAtHandler(target,type,capture);}var unique=(qx.event.Manager.__lastUnique++).toString(36);var entry={handler:listener,context:self,unique:unique};entryList.push(entry);return entryKey+"|"+unique;},findHandler:function(target,type){var isDomNode=false,isWindow=false,isObject=false;
var key;if(target.nodeType===1){isDomNode=true;key="DOM_"+target.tagName.toLowerCase()+"_"+type;}else{if(target==this.__window){isWindow=true;key="WIN_"+type;}else{if(target.classname){isObject=true;key="QX_"+target.classname+"_"+type;}else{key="UNKNOWN_"+target+"_"+type;}}}var cache=this.__handlerCache;
if(cache[key]){return cache[key];}var classes=this.__registration.getHandlers();var IEventHandler=qx.event.IEventHandler;var clazz,instance,supportedTypes,targetCheck;for(var i=0,l=classes.length;i<l;i++){clazz=classes[i];supportedTypes=clazz.SUPPORTED_TYPES;if(supportedTypes&&!supportedTypes[type]){continue;
}targetCheck=clazz.TARGET_CHECK;if(targetCheck){if(!isDomNode&&targetCheck===IEventHandler.TARGET_DOMNODE){continue;}else{if(!isWindow&&targetCheck===IEventHandler.TARGET_WINDOW){continue;}else{if(!isObject&&targetCheck===IEventHandler.TARGET_OBJECT){continue;}}}}instance=this.getHandler(classes[i]);
if(clazz.IGNORE_CAN_HANDLE||instance.canHandleEvent(target,type)){cache[key]=instance;return instance;}}return null;},__registerAtHandler:function(target,type,capture){var handler=this.findHandler(target,type);if(handler){handler.registerEvent(target,type,capture);return ;}},removeListener:function(target,type,listener,self,capture){var msg;
var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];if(!targetMap){return false;}var entryKey=type+(capture?"|capture":"|bubble");var entryList=targetMap[entryKey];if(!entryList){return false;}var entry;for(var i=0,l=entryList.length;i<l;i++){entry=entryList[i];
if(entry.handler===listener&&entry.context===self){qx.lang.Array.removeAt(entryList,i);if(entryList.length==0){this.__unregisterAtHandler(target,type,capture);}return true;}}return false;},removeListenerById:function(target,id){var msg;var split=id.split("|");var type=split[0];var capture=split[1].charCodeAt(0)==99;
var unique=split[2];var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];if(!targetMap){return false;}var entryKey=type+(capture?"|capture":"|bubble");var entryList=targetMap[entryKey];if(!entryList){return false;}var entry;for(var i=0,l=entryList.length;
i<l;i++){entry=entryList[i];if(entry.unique===unique){qx.lang.Array.removeAt(entryList,i);if(entryList.length==0){this.__unregisterAtHandler(target,type,capture);}return true;}}return false;},removeAllListeners:function(target){var targetKey=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var targetMap=this.__listeners[targetKey];
if(!targetMap){return false;}var split,type,capture;for(var entryKey in targetMap){if(targetMap[entryKey].length>0){split=entryKey.split("|");type=split[0];capture=split[1]==="capture";this.__unregisterAtHandler(target,type,capture);}}delete this.__listeners[targetKey];return true;},__unregisterAtHandler:function(target,type,capture){var handler=this.findHandler(target,type);
if(handler){handler.unregisterEvent(target,type,capture);return ;}},dispatchEvent:function(target,event){var msg;var type=event.getType();if(!event.getBubbles()&&!this.hasListener(target,type)){qx.event.Pool.getInstance().poolObject(event);return true;}if(!event.getTarget()){event.setTarget(target);}var classes=this.__registration.getDispatchers();
var instance;var dispatched=false;for(var i=0,l=classes.length;i<l;i++){instance=this.getDispatcher(classes[i]);if(instance.canDispatchEvent(target,event,type)){instance.dispatchEvent(target,event,type);dispatched=true;break;}}if(!dispatched){qx.log.Logger.error(this,"No dispatcher can handle event of type "+type+" on "+target);
return true;}var preventDefault=event.getDefaultPrevented();qx.event.Pool.getInstance().poolObject(event);return !preventDefault;},dispose:function(){this.__registration.removeManager(this);qx.util.DisposeUtil.disposeMap(this,"__handlers");qx.util.DisposeUtil.disposeMap(this,"__dispatchers");this.__listeners=this.__window=this.__disposeWrapper=null;
this.__registration=this.__handlerCache=null;}}});qx.Bootstrap.define("qx.dom.Node",{statics:{ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12,getDocument:function(node){return node.nodeType===this.DOCUMENT?node:node.ownerDocument||node.document;
},getWindow:qx.core.Variant.select("qx.client",{"mshtml":function(node){if(node.nodeType==null){return node;}if(node.nodeType!==this.DOCUMENT){node=node.ownerDocument;}return node.parentWindow;},"default":function(node){if(node.nodeType==null){return node;}if(node.nodeType!==this.DOCUMENT){node=node.ownerDocument;
}return node.defaultView;}}),getDocumentElement:function(node){return this.getDocument(node).documentElement;},getBodyElement:function(node){return this.getDocument(node).body;},isNode:function(node){return !!(node&&node.nodeType!=null);},isElement:function(node){return !!(node&&node.nodeType===this.ELEMENT);
},isDocument:function(node){return !!(node&&node.nodeType===this.DOCUMENT);},isText:function(node){return !!(node&&node.nodeType===this.TEXT);},isWindow:function(obj){return !!(obj&&obj.history&&obj.location&&obj.document);},getText:function(node){if(!node||!node.nodeType){return null;}switch(node.nodeType){case 1:var i,a=[],nodes=node.childNodes,length=nodes.length;
for(i=0;i<length;i++){a[i]=this.getText(nodes[i]);}return a.join("");case 2:return node.nodeValue;break;case 3:return node.nodeValue;break;}return null;}}});qx.Bootstrap.define("qx.lang.Array",{statics:{toArray:function(object,offset){return this.cast(object,Array,offset);},cast:function(object,constructor,offset){if(object.constructor===constructor){return object;
}if(qx.Class.hasInterface(object,qx.data.IListData)){var object=object.toArray();}var ret=new constructor;if(qx.core.Variant.isSet("qx.client","mshtml")){if(object.item){for(var i=offset||0,l=object.length;i<l;i++){ret.push(object[i]);}return ret;}}if(Object.prototype.toString.call(object)==="[object Array]"&&offset==null){ret.push.apply(ret,object);
}else{ret.push.apply(ret,Array.prototype.slice.call(object,offset||0));}return ret;},fromArguments:function(args,offset){return Array.prototype.slice.call(args,offset||0);},fromCollection:function(coll){if(qx.core.Variant.isSet("qx.client","mshtml")){if(coll.item){var arr=[];for(var i=0,l=coll.length;
i<l;i++){arr[i]=coll[i];}return arr;}}return Array.prototype.slice.call(coll,0);},fromShortHand:function(input){var len=input.length;var result=qx.lang.Array.clone(input);switch(len){case 1:result[1]=result[2]=result[3]=result[0];break;case 2:result[2]=result[0];case 3:result[3]=result[1];}return result;
},clone:function(arr){return arr.concat();},insertAt:function(arr,obj,i){arr.splice(i,0,obj);return arr;},insertBefore:function(arr,obj,obj2){var i=arr.indexOf(obj2);if(i==-1){arr.push(obj);}else{arr.splice(i,0,obj);}return arr;},insertAfter:function(arr,obj,obj2){var i=arr.indexOf(obj2);if(i==-1||i==(arr.length-1)){arr.push(obj);
}else{arr.splice(i+1,0,obj);}return arr;},removeAt:function(arr,i){return arr.splice(i,1)[0];},removeAll:function(arr){arr.length=0;return this;},append:function(arr1,arr2){Array.prototype.push.apply(arr1,arr2);return arr1;},exclude:function(arr1,arr2){for(var i=0,il=arr2.length,index;i<il;i++){index=arr1.indexOf(arr2[i]);
if(index!=-1){arr1.splice(index,1);}}return arr1;},remove:function(arr,obj){var i=arr.indexOf(obj);if(i!=-1){arr.splice(i,1);return obj;}},contains:function(arr,obj){return arr.indexOf(obj)!==-1;},equals:function(arr1,arr2){var length=arr1.length;if(length!==arr2.length){return false;}for(var i=0;i<length;
i++){if(arr1[i]!==arr2[i]){return false;}}return true;},sum:function(arr){var result=0;for(var i=0,l=arr.length;i<l;i++){result+=arr[i];}return result;},max:function(arr){var i,len=arr.length,result=arr[0];for(i=1;i<len;i++){if(arr[i]>result){result=arr[i];}}return result===undefined?null:result;},min:function(arr){var i,len=arr.length,result=arr[0];
for(i=1;i<len;i++){if(arr[i]<result){result=arr[i];}}return result===undefined?null:result;},unique:function(arr){var ret=[],doneStrings={},doneNumbers={},doneObjects={};var value,count=0;var key="qx"+qx.lang.Date.now();var hasNull=false,hasFalse=false,hasTrue=false;for(var i=0,len=arr.length;i<len;i++){value=arr[i];
if(value===null){if(!hasNull){hasNull=true;ret.push(value);}}else{if(value===undefined){}else{if(value===false){if(!hasFalse){hasFalse=true;ret.push(value);}}else{if(value===true){if(!hasTrue){hasTrue=true;ret.push(value);}}else{if(typeof value==="string"){if(!doneStrings[value]){doneStrings[value]=1;
ret.push(value);}}else{if(typeof value==="number"){if(!doneNumbers[value]){doneNumbers[value]=1;ret.push(value);}}else{hash=value[key];if(hash==null){hash=value[key]=count++;}if(!doneObjects[hash]){doneObjects[hash]=value;ret.push(value);}}}}}}}}for(var hash in doneObjects){try{delete doneObjects[hash][key];
}catch(ex){try{doneObjects[hash][key]=null;}catch(ex){throw new Error("Cannot clean-up map entry doneObjects["+hash+"]["+key+"]");}}}return ret;}}});qx.Bootstrap.define("qx.lang.Function",{statics:{getCaller:function(args){return args.caller?args.caller.callee:args.callee.caller;},getName:function(fcn){if(fcn.displayName){return fcn.displayName;
}if(fcn.$$original||fcn.wrapper||fcn.classname){return fcn.classname+".constructor()";}if(fcn.$$mixin){for(var key in fcn.$$mixin.$$members){if(fcn.$$mixin.$$members[key]==fcn){return fcn.$$mixin.name+".prototype."+key+"()";}}for(var key in fcn.$$mixin){if(fcn.$$mixin[key]==fcn){return fcn.$$mixin.name+"."+key+"()";
}}}if(fcn.self){var clazz=fcn.self.constructor;if(clazz){for(var key in clazz.prototype){if(clazz.prototype[key]==fcn){return clazz.classname+".prototype."+key+"()";}}for(var key in clazz){if(clazz[key]==fcn){return clazz.classname+"."+key+"()";}}}}var fcnReResult=fcn.toString().match(/function\s*(\w*)\s*\(.*/);
if(fcnReResult&&fcnReResult.length>=1&&fcnReResult[1]){return fcnReResult[1]+"()";}return"anonymous()";},globalEval:function(data){if(window.execScript){return window.execScript(data);}else{return eval.call(window,data);}},empty:function(){},returnTrue:function(){return true;},returnFalse:function(){return false;
},returnNull:function(){return null;},returnThis:function(){return this;},returnZero:function(){return 0;},create:function(func,options){if(!options){return func;}if(!(options.self||options.args||options.delay!=null||options.periodical!=null||options.attempt)){return func;}return function(event){var args=qx.lang.Array.fromArguments(arguments);
if(options.args){args=options.args.concat(args);}if(options.delay||options.periodical){var returns=qx.event.GlobalError.observeMethod(function(){return func.apply(options.self||this,args);});if(options.delay){return window.setTimeout(returns,options.delay);}if(options.periodical){return window.setInterval(returns,options.periodical);
}}else{if(options.attempt){var ret=false;try{ret=func.apply(options.self||this,args);}catch(ex){}return ret;}else{return func.apply(options.self||this,args);}}};},bind:function(func,self,varargs){return this.create(func,{self:self,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null});
},curry:function(func,varargs){return this.create(func,{args:arguments.length>1?qx.lang.Array.fromArguments(arguments,1):null});},listener:function(func,self,varargs){if(arguments.length<3){return function(event){return func.call(self||this,event||window.event);};}else{var optargs=qx.lang.Array.fromArguments(arguments,2);
return function(event){var args=[event||window.event];args.push.apply(args,optargs);func.apply(self||this,args);};}},attempt:function(func,self,varargs){return this.create(func,{self:self,attempt:true,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null})();},delay:function(func,delay,self,varargs){return this.create(func,{delay:delay,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();
},periodical:function(func,interval,self,varargs){return this.create(func,{periodical:interval,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();}}});qx.Bootstrap.define("qx.event.Registration",{statics:{__managers:{},getManager:function(target){if(target==null){target=window;
}else{if(target.nodeType){target=qx.dom.Node.getWindow(target);}else{if(!qx.dom.Node.isWindow(target)){target=window;}}}var hash=target.$$hash||qx.core.ObjectRegistry.toHashCode(target);var manager=this.__managers[hash];if(!manager){manager=new qx.event.Manager(target,this);this.__managers[hash]=manager;
}return manager;},removeManager:function(mgr){var id=qx.core.ObjectRegistry.toHashCode(mgr.getWindow());delete this.__managers[id];},addListener:function(target,type,listener,self,capture){return this.getManager(target).addListener(target,type,listener,self,capture);},removeListener:function(target,type,listener,self,capture){return this.getManager(target).removeListener(target,type,listener,self,capture);
},removeListenerById:function(target,id){return this.getManager(target).removeListenerById(target,id);},removeAllListeners:function(target){return this.getManager(target).removeAllListeners(target);},hasListener:function(target,type,capture){return this.getManager(target).hasListener(target,type,capture);
},serializeListeners:function(target){return this.getManager(target).serializeListeners(target);},createEvent:function(type,clazz,args){if(clazz==null){clazz=qx.event.type.Event;}var obj=qx.event.Pool.getInstance().getObject(clazz);if(!obj){return ;}args?obj.init.apply(obj,args):obj.init();if(type){obj.setType(type);
}return obj;},dispatchEvent:function(target,event){return this.getManager(target).dispatchEvent(target,event);},fireEvent:function(target,type,clazz,args){var msg;var evt=this.createEvent(type,clazz||null,args);return this.getManager(target).dispatchEvent(target,evt);},fireNonBubblingEvent:function(target,type,clazz,args){var mgr=this.getManager(target);
if(!mgr.hasListener(target,type,false)){return true;}var evt=this.createEvent(type,clazz||null,args);return mgr.dispatchEvent(target,evt);},PRIORITY_FIRST:-32000,PRIORITY_NORMAL:0,PRIORITY_LAST:32000,__handlers:[],addHandler:function(handler){this.__handlers.push(handler);this.__handlers.sort(function(a,b){return a.PRIORITY-b.PRIORITY;
});},getHandlers:function(){return this.__handlers;},__dispatchers:[],addDispatcher:function(dispatcher,priority){this.__dispatchers.push(dispatcher);this.__dispatchers.sort(function(a,b){return a.PRIORITY-b.PRIORITY;});},getDispatchers:function(){return this.__dispatchers;}}});qx.Bootstrap.define("qx.lang.Object",{statics:{empty:function(map){for(var key in map){if(map.hasOwnProperty(key)){delete map[key];
}}},isEmpty:qx.core.Variant.select("qx.client",{"gecko":function(map){return map.__count__===0;},"default":function(map){for(var key in map){return false;}return true;}}),hasMinLength:qx.core.Variant.select("qx.client",{"gecko":function(map,minLength){return map.__count__>=minLength;},"default":function(map,minLength){if(minLength<=0){return true;
}var length=0;for(var key in map){if((++length)>=minLength){return true;}}return false;}}),getLength:qx.core.Variant.select("qx.client",{"gecko":function(map){return map.__count__;},"default":function(map){var length=0;for(var key in map){length++;}return length;}}),_shadowedKeys:["isPrototypeOf","hasOwnProperty","toLocaleString","toString","valueOf"],getKeys:qx.core.Variant.select("qx.client",{"mshtml":function(map){var arr=[];
for(var key in map){arr.push(key);}var hasOwnProperty=Object.prototype.hasOwnProperty;for(var i=0,a=this._shadowedKeys,l=a.length;i<l;i++){if(hasOwnProperty.call(map,a[i])){arr.push(a[i]);}}return arr;},"default":function(map){var arr=[];for(var key in map){arr.push(key);}return arr;}}),getKeysAsString:function(map){var keys=qx.lang.Object.getKeys(map);
if(keys.length==0){return"";}return'"'+keys.join('", "')+'"';},getValues:function(map){var arr=[];var keys=this.getKeys(map);for(var i=0,l=keys.length;i<l;i++){arr.push(map[keys[i]]);}return arr;},mergeWith:function(target,source,overwrite){if(overwrite===undefined){overwrite=true;}for(var key in source){if(overwrite||target[key]===undefined){target[key]=source[key];
}}return target;},carefullyMergeWith:function(target,source){return qx.lang.Object.mergeWith(target,source,false);},merge:function(target,varargs){var len=arguments.length;for(var i=1;i<len;i++){qx.lang.Object.mergeWith(target,arguments[i]);}return target;},clone:function(source){var clone={};for(var key in source){clone[key]=source[key];
}return clone;},invert:function(map){var result={};for(var key in map){result[map[key].toString()]=key;}return result;},getKeyFromValue:function(map,value){for(var key in map){if(map.hasOwnProperty(key)&&map[key]===value){return key;}}return null;},contains:function(map,value){return this.getKeyFromValue(map,value)!==null;
},select:function(key,map){return map[key];},fromArray:function(array){var obj={};for(var i=0,l=array.length;i<l;i++){obj[array[i].toString()]=true;}return obj;}}});qx.Bootstrap.define("qx.lang.Type",{statics:{__classToTypeMap:{"[object String]":"String","[object Array]":"Array","[object Object]":"Object","[object RegExp]":"RegExp","[object Number]":"Number","[object Boolean]":"Boolean","[object Date]":"Date","[object Function]":"Function","[object Error]":"Error"},getClass:function(value){var classString=Object.prototype.toString.call(value);
return(this.__classToTypeMap[classString]||classString.slice(8,-1));},isString:function(value){return(value!==null&&(typeof value==="string"||this.getClass(value)=="String"||value instanceof String||(!!value&&!!value.$$isString)));},isArray:function(value){return(value!==null&&(value instanceof Array||(value&&qx.Class.hasInterface(value.constructor,qx.data.IListData))||this.getClass(value)=="Array"||(!!value&&!!value.$$isArray)));
},isObject:function(value){return(value!==undefined&&value!==null&&this.getClass(value)=="Object");},isRegExp:function(value){return this.getClass(value)=="RegExp";},isNumber:function(value){return(value!==null&&(this.getClass(value)=="Number"||value instanceof Number));},isBoolean:function(value){return(value!==null&&(this.getClass(value)=="Boolean"||value instanceof Boolean));
},isDate:function(value){return(value!==null&&(this.getClass(value)=="Date"||value instanceof Date));},isError:function(value){return(value!==null&&(this.getClass(value)=="Error"||value instanceof Error));},isFunction:function(value){return this.getClass(value)=="Function";}}});qx.Bootstrap.define("qx.Class",{statics:{define:function(name,config){if(!config){var config={};
}if(config.include&&!(config.include instanceof Array)){config.include=[config.include];}if(config.implement&&!(config.implement instanceof Array)){config.implement=[config.implement];}if(!config.hasOwnProperty("extend")&&!config.type){config.type="static";}var clazz=this.__createClass(name,config.type,config.extend,config.statics,config.construct,config.destruct);
if(config.extend){if(config.properties){this.__addProperties(clazz,config.properties,true);}if(config.members){this.__addMembers(clazz,config.members,true,true,false);}if(config.events){this.__addEvents(clazz,config.events,true);}if(config.include){for(var i=0,l=config.include.length;i<l;i++){this.__addMixin(clazz,config.include[i],false);
}}}if(config.settings){for(var key in config.settings){qx.core.Setting.define(key,config.settings[key]);}}if(config.variants){for(var key in config.variants){qx.core.Variant.define(key,config.variants[key].allowedValues,config.variants[key].defaultValue);}}if(config.implement){for(var i=0,l=config.implement.length;
i<l;i++){this.__addInterface(clazz,config.implement[i]);}}if(config.defer){config.defer.self=clazz;config.defer(clazz,clazz.prototype,{add:function(name,config){var properties={};properties[name]=config;qx.Class.__addProperties(clazz,properties,true);}});}return clazz;},isDefined:function(name){return this.getByName(name)!==undefined;
},getTotalNumber:function(){return qx.lang.Object.getLength(this.$$registry);},getByName:function(name){return this.$$registry[name];},include:function(clazz,mixin){qx.Class.__addMixin(clazz,mixin,false);},patch:function(clazz,mixin){qx.Class.__addMixin(clazz,mixin,true);},isSubClassOf:function(clazz,superClass){if(!clazz){return false;
}if(clazz==superClass){return true;}if(clazz.prototype instanceof superClass){return true;}return false;},getPropertyDefinition:function(clazz,name){while(clazz){if(clazz.$$properties&&clazz.$$properties[name]){return clazz.$$properties[name];}clazz=clazz.superclass;}return null;},getProperties:function(clazz){var list=[];
while(clazz){if(clazz.$$properties){list.push.apply(list,qx.lang.Object.getKeys(clazz.$$properties));}clazz=clazz.superclass;}return list;},getByProperty:function(clazz,name){while(clazz){if(clazz.$$properties&&clazz.$$properties[name]){return clazz;}clazz=clazz.superclass;}return null;},hasProperty:function(clazz,name){return !!this.getPropertyDefinition(clazz,name);
},getEventType:function(clazz,name){var clazz=clazz.constructor;while(clazz.superclass){if(clazz.$$events&&clazz.$$events[name]!==undefined){return clazz.$$events[name];}clazz=clazz.superclass;}return null;},supportsEvent:function(clazz,name){return !!this.getEventType(clazz,name);},hasOwnMixin:function(clazz,mixin){return clazz.$$includes&&clazz.$$includes.indexOf(mixin)!==-1;
},getByMixin:function(clazz,mixin){var list,i,l;while(clazz){if(clazz.$$includes){list=clazz.$$flatIncludes;for(i=0,l=list.length;i<l;i++){if(list[i]===mixin){return clazz;}}}clazz=clazz.superclass;}return null;},getMixins:function(clazz){var list=[];while(clazz){if(clazz.$$includes){list.push.apply(list,clazz.$$flatIncludes);
}clazz=clazz.superclass;}return list;},hasMixin:function(clazz,mixin){return !!this.getByMixin(clazz,mixin);},hasOwnInterface:function(clazz,iface){return clazz.$$implements&&clazz.$$implements.indexOf(iface)!==-1;},getByInterface:function(clazz,iface){var list,i,l;while(clazz){if(clazz.$$implements){list=clazz.$$flatImplements;
for(i=0,l=list.length;i<l;i++){if(list[i]===iface){return clazz;}}}clazz=clazz.superclass;}return null;},getInterfaces:function(clazz){var list=[];while(clazz){if(clazz.$$implements){list.push.apply(list,clazz.$$flatImplements);}clazz=clazz.superclass;}return list;},hasInterface:function(clazz,iface){return !!this.getByInterface(clazz,iface);
},implementsInterface:function(obj,iface){var clazz=obj.constructor;if(this.hasInterface(clazz,iface)){return true;}try{qx.Interface.assertObject(obj,iface);return true;}catch(ex){}try{qx.Interface.assert(clazz,iface,false);return true;}catch(ex){}return false;},getInstance:function(){if(!this.$$instance){this.$$allowconstruct=true;
this.$$instance=new this;delete this.$$allowconstruct;}return this.$$instance;},genericToString:function(){return"[Class "+this.classname+"]";},$$registry:qx.Bootstrap.$$registry,__allowedKeys:null,__staticAllowedKeys:null,__validateConfig:function(){},__validateAbstractInterfaces:function(){},__createClass:function(name,type,extend,statics,construct,destruct){var clazz;
if(!extend&&true){clazz=statics||{};qx.Bootstrap.setDisplayNames(clazz,name);}else{clazz={};if(extend){if(!construct){construct=this.__createDefaultConstructor();}clazz=this.__wrapConstructor(construct,name,type);qx.Bootstrap.setDisplayName(construct,name,"constructor");}if(statics){qx.Bootstrap.setDisplayNames(statics,name);
var key;for(var i=0,a=qx.lang.Object.getKeys(statics),l=a.length;i<l;i++){key=a[i];var staticValue=statics[key];clazz[key]=staticValue;}}}var basename=qx.Bootstrap.createNamespace(name,clazz,false);clazz.name=clazz.classname=name;clazz.basename=basename;clazz.$$type="Class";if(type){clazz.$$classtype=type;
}if(!clazz.hasOwnProperty("toString")){clazz.toString=this.genericToString;}if(extend){var superproto=extend.prototype;var helper=this.__createEmptyFunction();helper.prototype=superproto;var proto=new helper;clazz.prototype=proto;proto.name=proto.classname=name;proto.basename=basename;construct.base=clazz.superclass=extend;
construct.self=clazz.constructor=proto.constructor=clazz;if(destruct){clazz.$$destructor=destruct;qx.Bootstrap.setDisplayName(destruct,name,"destruct");}}this.$$registry[name]=clazz;return clazz;},__addEvents:function(clazz,events,patch){var key,key;if(clazz.$$events){for(var key in events){clazz.$$events[key]=events[key];
}}else{clazz.$$events=events;}},__addProperties:function(clazz,properties,patch){var config;if(patch===undefined){patch=false;}var attach=!!clazz.$$propertiesAttached;for(var name in properties){config=properties[name];config.name=name;if(!config.refine){if(clazz.$$properties===undefined){clazz.$$properties={};
}clazz.$$properties[name]=config;}if(config.init!==undefined){clazz.prototype["$$init_"+name]=config.init;}if(config.event!==undefined){var event={};event[config.event]="qx.event.type.Data";this.__addEvents(clazz,event,patch);}if(config.inheritable){qx.core.Property.$$inheritable[name]=true;}if(attach){qx.core.Property.attachMethods(clazz,name,config);
}}},__validateProperty:null,__addMembers:function(clazz,members,patch,base,wrap){var proto=clazz.prototype;var key,member;qx.Bootstrap.setDisplayNames(members,clazz.classname+".prototype");for(var i=0,a=qx.lang.Object.getKeys(members),l=a.length;i<l;i++){key=a[i];member=members[key];if(base!==false&&member instanceof Function&&member.$$type==null){if(wrap==true){member=this.__mixinMemberWrapper(member,proto[key]);
}else{if(proto[key]){member.base=proto[key];}member.self=clazz;}}proto[key]=member;}},__mixinMemberWrapper:function(member,base){if(base){return function(){var oldBase=member.base;member.base=base;var retval=member.apply(this,arguments);member.base=oldBase;return retval;};}else{return member;}},__addInterface:function(clazz,iface){var list=qx.Interface.flatten([iface]);
if(clazz.$$implements){clazz.$$implements.push(iface);clazz.$$flatImplements.push.apply(clazz.$$flatImplements,list);}else{clazz.$$implements=[iface];clazz.$$flatImplements=list;}},__addMixin:function(clazz,mixin,patch){if(this.hasMixin(clazz,mixin)){return ;}var list=qx.Mixin.flatten([mixin]);var entry;
for(var i=0,l=list.length;i<l;i++){entry=list[i];if(entry.$$events){this.__addEvents(clazz,entry.$$events,patch);}if(entry.$$properties){this.__addProperties(clazz,entry.$$properties,patch);}if(entry.$$members){this.__addMembers(clazz,entry.$$members,patch,patch,patch);}}if(clazz.$$includes){clazz.$$includes.push(mixin);
clazz.$$flatIncludes.push.apply(clazz.$$flatIncludes,list);}else{clazz.$$includes=[mixin];clazz.$$flatIncludes=list;}},__createDefaultConstructor:function(){function defaultConstructor(){arguments.callee.base.apply(this,arguments);}return defaultConstructor;},__createEmptyFunction:function(){return function(){};
},__wrapConstructor:function(construct,name,type){var aspectWrapper;var wrapper=function(){var clazz=arguments.callee.constructor;if(!clazz.$$propertiesAttached){qx.core.Property.attach(clazz);}var retval=clazz.$$original.apply(this,arguments);if(clazz.$$includes){var mixins=clazz.$$flatIncludes;for(var i=0,l=mixins.length;
i<l;i++){if(mixins[i].$$constructor){mixins[i].$$constructor.apply(this,arguments);}}}if(this.classname===name.classname){this.$$initialized=true;}return retval;};if(type==="singleton"){wrapper.getInstance=this.getInstance;}wrapper.$$original=construct;construct.wrapper=wrapper;return wrapper;}},defer:function(statics){var classname,statics,key;
}});qx.Bootstrap.define("qx.core.Property",{statics:{__checks:{"Boolean":"qx.core.Assert.assertBoolean(value, msg) || true","String":"qx.core.Assert.assertString(value, msg) || true","Number":"qx.core.Assert.assertNumber(value, msg) || true","Integer":"qx.core.Assert.assertInteger(value, msg) || true","PositiveNumber":"qx.core.Assert.assertPositiveNumber(value, msg) || true","PositiveInteger":"qx.core.Assert.assertPositiveInteger(value, msg) || true","Error":"qx.core.Assert.assertInstance(value, Error, msg) || true","RegExp":"qx.core.Assert.assertInstance(value, RegExp, msg) || true","Object":"qx.core.Assert.assertObject(value, msg) || true","Array":"qx.core.Assert.assertArray(value, msg) || true","Map":"qx.core.Assert.assertMap(value, msg) || true","Function":"qx.core.Assert.assertFunction(value, msg) || true","Date":"qx.core.Assert.assertInstance(value, Date, msg) || true","Node":"value !== null && value.nodeType !== undefined","Element":"value !== null && value.nodeType === 1 && value.attributes","Document":"value !== null && value.nodeType === 9 && value.documentElement","Window":"value !== null && value.document","Event":"value !== null && value.type !== undefined","Class":'value !== null && value.$$type === "Class"',"Mixin":'value !== null && value.$$type === "Mixin"',"Interface":'value !== null && value.$$type === "Interface"',"Theme":'value !== null && value.$$type === "Theme"',"Color":"qx.lang.Type.isString(value) && qx.util.ColorUtil.isValidPropertyValue(value)","Decorator":"value !== null && qx.theme.manager.Decoration.getInstance().isValidPropertyValue(value)","Font":"value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)"},__dispose:{"Object":true,"Array":true,"Map":true,"Function":true,"Date":true,"Node":true,"Element":true,"Document":true,"Window":true,"Event":true,"Class":true,"Mixin":true,"Interface":true,"Theme":true,"Font":true,"Decorator":true},$$inherit:"inherit",$$store:{runtime:{},user:{},theme:{},inherit:{},init:{},useinit:{}},$$method:{get:{},set:{},reset:{},init:{},refresh:{},setRuntime:{},resetRuntime:{},setThemed:{},resetThemed:{}},$$allowedKeys:{name:"string",dispose:"boolean",inheritable:"boolean",nullable:"boolean",themeable:"boolean",refine:"boolean",init:null,apply:"string",event:"string",check:null,transform:"string",deferredInit:"boolean",validate:null},$$allowedGroupKeys:{name:"string",group:"object",mode:"string",themeable:"boolean"},$$inheritable:{},refresh:function(widget){var parent=widget.getLayoutParent();
if(parent){var clazz=widget.constructor;var inherit=this.$$store.inherit;var init=this.$$store.init;var refresh=this.$$method.refresh;var properties;var value;while(clazz){properties=clazz.$$properties;if(properties){for(var name in this.$$inheritable){if(properties[name]&&widget[refresh[name]]){value=parent[inherit[name]];
if(value===undefined){value=parent[init[name]];}widget[refresh[name]](value);}}}clazz=clazz.superclass;}}},attach:function(clazz){var properties=clazz.$$properties;if(properties){for(var name in properties){this.attachMethods(clazz,name,properties[name]);}}clazz.$$propertiesAttached=true;},attachMethods:function(clazz,name,config){config.group?this.__attachGroupMethods(clazz,config,name):this.__attachPropertyMethods(clazz,config,name);
},__attachGroupMethods:function(clazz,config,name){var upname=qx.lang.String.firstUp(name);var members=clazz.prototype;var themeable=config.themeable===true;var setter=[];var resetter=[];if(themeable){var styler=[];var unstyler=[];}var argHandler="var a=arguments[0] instanceof Array?arguments[0]:arguments;";
setter.push(argHandler);if(themeable){styler.push(argHandler);}if(config.mode=="shorthand"){var shorthand="a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";setter.push(shorthand);if(themeable){styler.push(shorthand);}}for(var i=0,a=config.group,l=a.length;i<l;i++){setter.push("this.",this.$$method.set[a[i]],"(a[",i,"]);");
resetter.push("this.",this.$$method.reset[a[i]],"();");if(themeable){styler.push("this.",this.$$method.setThemed[a[i]],"(a[",i,"]);");unstyler.push("this.",this.$$method.resetThemed[a[i]],"();");}}this.$$method.set[name]="set"+upname;members[this.$$method.set[name]]=new Function(setter.join(""));this.$$method.reset[name]="reset"+upname;
members[this.$$method.reset[name]]=new Function(resetter.join(""));if(themeable){this.$$method.setThemed[name]="setThemed"+upname;members[this.$$method.setThemed[name]]=new Function(styler.join(""));this.$$method.resetThemed[name]="resetThemed"+upname;members[this.$$method.resetThemed[name]]=new Function(unstyler.join(""));
}},__attachPropertyMethods:function(clazz,config,name){var upname=qx.lang.String.firstUp(name);var members=clazz.prototype;if(config.dispose===undefined&&typeof config.check==="string"){config.dispose=this.__dispose[config.check]||qx.Class.isDefined(config.check)||qx.Interface.isDefined(config.check);
}var method=this.$$method;var store=this.$$store;store.runtime[name]="$$runtime_"+name;store.user[name]="$$user_"+name;store.theme[name]="$$theme_"+name;store.init[name]="$$init_"+name;store.inherit[name]="$$inherit_"+name;store.useinit[name]="$$useinit_"+name;method.get[name]="get"+upname;members[method.get[name]]=function(){return qx.core.Property.executeOptimizedGetter(this,clazz,name,"get");
};method.set[name]="set"+upname;members[method.set[name]]=function(value){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"set",arguments);};method.reset[name]="reset"+upname;members[method.reset[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"reset");
};if(config.inheritable||config.apply||config.event||config.deferredInit){method.init[name]="init"+upname;members[method.init[name]]=function(value){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"init",arguments);};}if(config.inheritable){method.refresh[name]="refresh"+upname;members[method.refresh[name]]=function(value){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"refresh",arguments);
};}method.setRuntime[name]="setRuntime"+upname;members[method.setRuntime[name]]=function(value){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"setRuntime",arguments);};method.resetRuntime[name]="resetRuntime"+upname;members[method.resetRuntime[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"resetRuntime");
};if(config.themeable){method.setThemed[name]="setThemed"+upname;members[method.setThemed[name]]=function(value){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"setThemed",arguments);};method.resetThemed[name]="resetThemed"+upname;members[method.resetThemed[name]]=function(){return qx.core.Property.executeOptimizedSetter(this,clazz,name,"resetThemed");
};}if(config.check==="Boolean"){members["toggle"+upname]=new Function("return this."+method.set[name]+"(!this."+method.get[name]+"())");members["is"+upname]=new Function("return this."+method.get[name]+"()");}},__errors:{0:"Could not change or apply init value after constructing phase!",1:"Requires exactly one argument!",2:"Undefined value is not allowed!",3:"Does not allow any arguments!",4:"Null value is not allowed!",5:"Is invalid!"},error:function(obj,id,property,variant,value){var classname=obj.constructor.classname;
var msg="Error in property "+property+" of class "+classname+" in method "+this.$$method[variant][property]+" with incoming value '"+value+"': ";throw new Error(msg+(this.__errors[id]||"Unknown reason: "+id));},__unwrapFunctionFromCode:function(instance,members,name,variant,code,args){var store=this.$$method[variant][name];
members[store]=new Function("value",code.join(""));qx.Bootstrap.setDisplayName(members[store],instance.classname+".prototype",store);if(args===undefined){return instance[store]();}else{return instance[store](args[0]);}},executeOptimizedGetter:function(instance,clazz,name,variant){var config=clazz.$$properties[name];
var members=clazz.prototype;var code=[];var store=this.$$store;code.push("if(this.",store.runtime[name],"!==undefined)");code.push("return this.",store.runtime[name],";");if(config.inheritable){code.push("else if(this.",store.inherit[name],"!==undefined)");code.push("return this.",store.inherit[name],";");
code.push("else ");}code.push("if(this.",store.user[name],"!==undefined)");code.push("return this.",store.user[name],";");if(config.themeable){code.push("else if(this.",store.theme[name],"!==undefined)");code.push("return this.",store.theme[name],";");}if(config.deferredInit&&config.init===undefined){code.push("else if(this.",store.init[name],"!==undefined)");
code.push("return this.",store.init[name],";");}code.push("else ");if(config.init!==undefined){if(config.inheritable){code.push("var init=this.",store.init[name],";");if(config.nullable){code.push("if(init==qx.core.Property.$$inherit)init=null;");}else{if(config.init!==undefined){code.push("return this.",store.init[name],";");
}else{code.push('if(init==qx.core.Property.$$inherit)throw new Error("Inheritable property ',name," of an instance of ",clazz.classname,' is not (yet) ready!");');}}code.push("return init;");}else{code.push("return this.",store.init[name],";");}}else{if(config.inheritable||config.nullable){code.push("return null;");
}else{code.push('throw new Error("Property ',name," of an instance of ",clazz.classname,' is not (yet) ready!");');}}return this.__unwrapFunctionFromCode(instance,members,name,variant,code);},executeOptimizedSetter:function(instance,clazz,name,variant,args){var config=clazz.$$properties[name];var members=clazz.prototype;
var code=[];var incomingValue=variant==="set"||variant==="setThemed"||variant==="setRuntime"||(variant==="init"&&config.init===undefined);var resetValue=variant==="reset"||variant==="resetThemed"||variant==="resetRuntime";var hasCallback=config.apply||config.event||config.inheritable;if(variant==="setRuntime"||variant==="resetRuntime"){var store=this.$$store.runtime[name];
}else{if(variant==="setThemed"||variant==="resetThemed"){var store=this.$$store.theme[name];}else{if(variant==="init"){var store=this.$$store.init[name];}else{var store=this.$$store.user[name];}}}if(!config.nullable||config.check||config.inheritable){code.push("var prop=qx.core.Property;");}if(variant==="set"){code.push('if(value===undefined)prop.error(this,2,"',name,'","',variant,'",value);');
}if(incomingValue){if(config.transform){code.push("value=this.",config.transform,"(value);");}if(config.validate){if(typeof config.validate==="string"){code.push("this.",config.validate,"(value);");}else{if(config.validate instanceof Function){code.push(clazz.classname,".$$properties.",name);code.push(".validate.call(this, value);");
}}}}if(hasCallback){if(incomingValue){code.push("if(this.",store,"===value)return value;");}else{if(resetValue){code.push("if(this.",store,"===undefined)return;");}}}if(config.inheritable){code.push("var inherit=prop.$$inherit;");}if(!hasCallback){if(variant==="setRuntime"){code.push("this.",this.$$store.runtime[name],"=value;");
}else{if(variant==="resetRuntime"){code.push("if(this.",this.$$store.runtime[name],"!==undefined)");code.push("delete this.",this.$$store.runtime[name],";");}else{if(variant==="set"){code.push("this.",this.$$store.user[name],"=value;");}else{if(variant==="reset"){code.push("if(this.",this.$$store.user[name],"!==undefined)");
code.push("delete this.",this.$$store.user[name],";");}else{if(variant==="setThemed"){code.push("this.",this.$$store.theme[name],"=value;");}else{if(variant==="resetThemed"){code.push("if(this.",this.$$store.theme[name],"!==undefined)");code.push("delete this.",this.$$store.theme[name],";");}else{if(variant==="init"&&incomingValue){code.push("this.",this.$$store.init[name],"=value;");
}}}}}}}}else{if(config.inheritable){code.push("var computed, old=this.",this.$$store.inherit[name],";");}else{code.push("var computed, old;");}code.push("if(this.",this.$$store.runtime[name],"!==undefined){");if(variant==="setRuntime"){code.push("computed=this.",this.$$store.runtime[name],"=value;");
}else{if(variant==="resetRuntime"){code.push("delete this.",this.$$store.runtime[name],";");code.push("if(this.",this.$$store.user[name],"!==undefined)");code.push("computed=this.",this.$$store.user[name],";");code.push("else if(this.",this.$$store.theme[name],"!==undefined)");code.push("computed=this.",this.$$store.theme[name],";");
code.push("else if(this.",this.$$store.init[name],"!==undefined){");code.push("computed=this.",this.$$store.init[name],";");code.push("this.",this.$$store.useinit[name],"=true;");code.push("}");}else{code.push("old=computed=this.",this.$$store.runtime[name],";");if(variant==="set"){code.push("this.",this.$$store.user[name],"=value;");
}else{if(variant==="reset"){code.push("delete this.",this.$$store.user[name],";");}else{if(variant==="setThemed"){code.push("this.",this.$$store.theme[name],"=value;");}else{if(variant==="resetThemed"){code.push("delete this.",this.$$store.theme[name],";");}else{if(variant==="init"&&incomingValue){code.push("this.",this.$$store.init[name],"=value;");
}}}}}}}code.push("}");code.push("else if(this.",this.$$store.user[name],"!==undefined){");if(variant==="set"){if(!config.inheritable){code.push("old=this.",this.$$store.user[name],";");}code.push("computed=this.",this.$$store.user[name],"=value;");}else{if(variant==="reset"){if(!config.inheritable){code.push("old=this.",this.$$store.user[name],";");
}code.push("delete this.",this.$$store.user[name],";");code.push("if(this.",this.$$store.runtime[name],"!==undefined)");code.push("computed=this.",this.$$store.runtime[name],";");code.push("if(this.",this.$$store.theme[name],"!==undefined)");code.push("computed=this.",this.$$store.theme[name],";");code.push("else if(this.",this.$$store.init[name],"!==undefined){");
code.push("computed=this.",this.$$store.init[name],";");code.push("this.",this.$$store.useinit[name],"=true;");code.push("}");}else{if(variant==="setRuntime"){code.push("computed=this.",this.$$store.runtime[name],"=value;");}else{if(config.inheritable){code.push("computed=this.",this.$$store.user[name],";");
}else{code.push("old=computed=this.",this.$$store.user[name],";");}}if(variant==="setThemed"){code.push("this.",this.$$store.theme[name],"=value;");}else{if(variant==="resetThemed"){code.push("delete this.",this.$$store.theme[name],";");}else{if(variant==="init"&&incomingValue){code.push("this.",this.$$store.init[name],"=value;");
}}}}}code.push("}");if(config.themeable){code.push("else if(this.",this.$$store.theme[name],"!==undefined){");if(!config.inheritable){code.push("old=this.",this.$$store.theme[name],";");}if(variant==="setRuntime"){code.push("computed=this.",this.$$store.runtime[name],"=value;");}else{if(variant==="set"){code.push("computed=this.",this.$$store.user[name],"=value;");
}else{if(variant==="setThemed"){code.push("computed=this.",this.$$store.theme[name],"=value;");}else{if(variant==="resetThemed"){code.push("delete this.",this.$$store.theme[name],";");code.push("if(this.",this.$$store.init[name],"!==undefined){");code.push("computed=this.",this.$$store.init[name],";");
code.push("this.",this.$$store.useinit[name],"=true;");code.push("}");}else{if(variant==="init"){if(incomingValue){code.push("this.",this.$$store.init[name],"=value;");}code.push("computed=this.",this.$$store.theme[name],";");}else{if(variant==="refresh"){code.push("computed=this.",this.$$store.theme[name],";");
}}}}}}code.push("}");}code.push("else if(this.",this.$$store.useinit[name],"){");if(!config.inheritable){code.push("old=this.",this.$$store.init[name],";");}if(variant==="init"){if(incomingValue){code.push("computed=this.",this.$$store.init[name],"=value;");}else{code.push("computed=this.",this.$$store.init[name],";");
}}else{if(variant==="set"||variant==="setRuntime"||variant==="setThemed"||variant==="refresh"){code.push("delete this.",this.$$store.useinit[name],";");if(variant==="setRuntime"){code.push("computed=this.",this.$$store.runtime[name],"=value;");}else{if(variant==="set"){code.push("computed=this.",this.$$store.user[name],"=value;");
}else{if(variant==="setThemed"){code.push("computed=this.",this.$$store.theme[name],"=value;");}else{if(variant==="refresh"){code.push("computed=this.",this.$$store.init[name],";");}}}}}}code.push("}");if(variant==="set"||variant==="setRuntime"||variant==="setThemed"||variant==="init"){code.push("else{");
if(variant==="setRuntime"){code.push("computed=this.",this.$$store.runtime[name],"=value;");}else{if(variant==="set"){code.push("computed=this.",this.$$store.user[name],"=value;");}else{if(variant==="setThemed"){code.push("computed=this.",this.$$store.theme[name],"=value;");}else{if(variant==="init"){if(incomingValue){code.push("computed=this.",this.$$store.init[name],"=value;");
}else{code.push("computed=this.",this.$$store.init[name],";");}code.push("this.",this.$$store.useinit[name],"=true;");}}}}code.push("}");}}if(config.inheritable){code.push("if(computed===undefined||computed===inherit){");if(variant==="refresh"){code.push("computed=value;");}else{code.push("var pa=this.getLayoutParent();if(pa)computed=pa.",this.$$store.inherit[name],";");
}code.push("if((computed===undefined||computed===inherit)&&");code.push("this.",this.$$store.init[name],"!==undefined&&");code.push("this.",this.$$store.init[name],"!==inherit){");code.push("computed=this.",this.$$store.init[name],";");code.push("this.",this.$$store.useinit[name],"=true;");code.push("}else{");
code.push("delete this.",this.$$store.useinit[name],";}");code.push("}");code.push("if(old===computed)return value;");code.push("if(computed===inherit){");code.push("computed=undefined;delete this.",this.$$store.inherit[name],";");code.push("}");code.push("else if(computed===undefined)");code.push("delete this.",this.$$store.inherit[name],";");
code.push("else this.",this.$$store.inherit[name],"=computed;");code.push("var backup=computed;");if(config.init!==undefined&&variant!=="init"){code.push("if(old===undefined)old=this.",this.$$store.init[name],";");}else{code.push("if(old===undefined)old=null;");}code.push("if(computed===undefined||computed==inherit)computed=null;");
}else{if(hasCallback){if(variant!=="set"&&variant!=="setRuntime"&&variant!=="setThemed"){code.push("if(computed===undefined)computed=null;");}code.push("if(old===computed)return value;");if(config.init!==undefined&&variant!=="init"){code.push("if(old===undefined)old=this.",this.$$store.init[name],";");
}else{code.push("if(old===undefined)old=null;");}}}if(hasCallback){if(config.apply){code.push("this.",config.apply,'(computed, old, "',name,'");');}if(config.event){code.push("var reg=qx.event.Registration;","if(reg.hasListener(this, '",config.event,"')){","reg.fireEvent(this, '",config.event,"', qx.event.type.Data, [computed, old]",")}");
}if(config.inheritable&&members._getChildren){code.push("var a=this._getChildren();if(a)for(var i=0,l=a.length;i<l;i++){");code.push("if(a[i].",this.$$method.refresh[name],")a[i].",this.$$method.refresh[name],"(backup);");code.push("}");}}if(incomingValue){code.push("return value;");}return this.__unwrapFunctionFromCode(instance,members,name,variant,code,args);
}}});qx.Bootstrap.define("qx.core.ObjectRegistry",{statics:{inShutDown:false,__registry:{},__nextHash:0,__freeHashes:[],register:function(obj){var registry=this.__registry;if(!registry){return ;}var hash=obj.$$hash;if(hash==null){var cache=this.__freeHashes;if(cache.length>0){hash=cache.pop();}else{hash=(this.__nextHash++).toString(36);
}obj.$$hash=hash;}registry[hash]=obj;},unregister:function(obj){var hash=obj.$$hash;if(hash==null){return ;}var registry=this.__registry;if(registry&&registry[hash]){delete registry[hash];this.__freeHashes.push(hash);}try{delete obj.$$hash;}catch(ex){if(obj.removeAttribute){obj.removeAttribute("$$hash");
}}},toHashCode:function(obj){var hash=obj.$$hash;if(hash!=null){return hash;}var cache=this.__freeHashes;if(cache.length>0){hash=cache.pop();}else{hash=(this.__nextHash++).toString(36);}return obj.$$hash=hash;},clearHashCode:function(obj){var hash=obj.$$hash;if(hash!=null){this.__freeHashes.push(hash);
try{delete obj.$$hash;}catch(ex){if(obj.removeAttribute){obj.removeAttribute("$$hash");}}}},fromHashCode:function(hash){return this.__registry[hash]||null;},shutdown:function(){this.inShutDown=true;var registry=this.__registry;var hashes=[];for(var hash in registry){hashes.push(hash);}hashes.sort(function(a,b){return parseInt(b,36)-parseInt(a,36);
});var obj,i=0,l=hashes.length;while(true){try{for(;i<l;i++){hash=hashes[i];obj=registry[hash];if(obj&&obj.dispose){obj.dispose();}}}catch(ex){qx.log.Logger.error(this,"Could not dispose object "+obj.toString()+": "+ex);if(i!==l){i++;continue;}}break;}qx.log.Logger.debug(this,"Disposed "+l+" objects");
delete this.__registry;},getRegistry:function(){return this.__registry;}}});qx.Bootstrap.define("qx.Mixin",{statics:{define:function(name,config){if(config){if(config.include&&!(config.include instanceof Array)){config.include=[config.include];}var mixin=config.statics?config.statics:{};qx.Bootstrap.setDisplayNames(mixin,name);
for(var key in mixin){if(mixin[key] instanceof Function){mixin[key].$$mixin=mixin;}}if(config.construct){mixin.$$constructor=config.construct;qx.Bootstrap.setDisplayName(config.construct,name,"constructor");}if(config.include){mixin.$$includes=config.include;}if(config.properties){mixin.$$properties=config.properties;
}if(config.members){mixin.$$members=config.members;qx.Bootstrap.setDisplayNames(config.members,name+".prototype");}for(var key in mixin.$$members){if(mixin.$$members[key] instanceof Function){mixin.$$members[key].$$mixin=mixin;}}if(config.events){mixin.$$events=config.events;}if(config.destruct){mixin.$$destructor=config.destruct;
qx.Bootstrap.setDisplayName(config.destruct,name,"destruct");}}else{var mixin={};}mixin.$$type="Mixin";mixin.name=name;mixin.toString=this.genericToString;mixin.basename=qx.Bootstrap.createNamespace(name,mixin);this.$$registry[name]=mixin;return mixin;},checkCompatibility:function(mixins){var list=this.flatten(mixins);
var len=list.length;if(len<2){return true;}var properties={};var members={};var events={};var mixin;for(var i=0;i<len;i++){mixin=list[i];for(var key in mixin.events){if(events[key]){throw new Error('Conflict between mixin "'+mixin.name+'" and "'+events[key]+'" in member "'+key+'"!');}events[key]=mixin.name;
}for(var key in mixin.properties){if(properties[key]){throw new Error('Conflict between mixin "'+mixin.name+'" and "'+properties[key]+'" in property "'+key+'"!');}properties[key]=mixin.name;}for(var key in mixin.members){if(members[key]){throw new Error('Conflict between mixin "'+mixin.name+'" and "'+members[key]+'" in member "'+key+'"!');
}members[key]=mixin.name;}}return true;},isCompatible:function(mixin,clazz){var list=qx.Class.getMixins(clazz);list.push(mixin);return qx.Mixin.checkCompatibility(list);},getByName:function(name){return this.$$registry[name];},isDefined:function(name){return this.getByName(name)!==undefined;},getTotalNumber:function(){return qx.lang.Object.getLength(this.$$registry);
},flatten:function(mixins){if(!mixins){return[];}var list=mixins.concat();for(var i=0,l=mixins.length;i<l;i++){if(mixins[i].$$includes){list.push.apply(list,this.flatten(mixins[i].$$includes));}}return list;},genericToString:function(){return"[Mixin "+this.name+"]";},$$registry:{},__allowedKeys:null,__validateConfig:function(){}}});
qx.Mixin.define("qx.data.MBinding",{members:{bind:function(sourcePropertyChain,targetObject,targetProperty,options){return qx.data.SingleValueBinding.bind(this,sourcePropertyChain,targetObject,targetProperty,options);},removeBinding:function(id){qx.data.SingleValueBinding.removeBindingFromObject(this,id);
},removeAllBindings:function(){qx.data.SingleValueBinding.removeAllBindingsForObject(this);},getBindings:function(){return qx.data.SingleValueBinding.getAllBindingsForObject(this);}}});qx.Bootstrap.define("qx.log.appender.RingBuffer",{construct:function(maxMessages){this.__history=[];this.setMaxMessages(maxMessages||50);
},members:{__nextIndexToStoreTo:0,__history:null,__maxMessages:50,setMaxMessages:function(maxMessages){this.__maxMessages=maxMessages;this.clearHistory();},getMaxMessages:function(){return this.__maxMessages;},process:function(entry){var maxMessages=this.getMaxMessages();if(this.__history.length<maxMessages){this.__history.push(entry);
}else{this.__history[this.__nextIndexToStoreTo++]=entry;if(this.__nextIndexToStoreTo>=maxMessages){this.__nextIndexToStoreTo=0;}}},getAllLogEvents:function(){return this.retrieveLogEvents(this.getMaxMessages());},retrieveLogEvents:function(count){if(count>this.__history.length){count=this.__history.length;
}if(this.__history.length==this.getMaxMessages()){var indexOfYoungestElementInHistory=this.__nextIndexToStoreTo-1;}else{indexOfYoungestElementInHistory=this.__history.length-1;}var startIndex=indexOfYoungestElementInHistory-count+1;if(startIndex<0){startIndex+=this.__history.length;}var result;if(startIndex<=indexOfYoungestElementInHistory){result=this.__history.slice(startIndex,indexOfYoungestElementInHistory+1);
}else{result=this.__history.slice(startIndex,this.__history.length).concat(this.__history.slice(0,indexOfYoungestElementInHistory+1));}return result;},clearHistory:function(){this.__history=[];this.__nextIndexToStoreTo=0;}}});qx.Bootstrap.define("qx.log.Logger",{statics:{__level:"debug",setLevel:function(value){this.__level=value;
},getLevel:function(){return this.__level;},setTreshold:function(value){this.__buffer.setMaxMessages(value);},getTreshold:function(){return this.__buffer.getMaxMessages();},__appender:{},__id:0,register:function(appender){if(appender.$$id){return ;}var id=this.__id++;this.__appender[id]=appender;appender.$$id=id;
var entries=this.__buffer.getAllLogEvents();for(var i=0,l=entries.length;i<l;i++){appender.process(entries[i]);}},unregister:function(appender){var id=appender.$$id;if(id==null){return ;}delete this.__appender[id];delete appender.$$id;},debug:function(object,message){this.__log("debug",arguments);},info:function(object,message){this.__log("info",arguments);
},warn:function(object,message){this.__log("warn",arguments);},error:function(object,message){this.__log("error",arguments);},trace:function(object){this.__log("info",[object,qx.dev.StackTrace.getStackTrace().join("\n")]);},deprecatedMethodWarning:function(fcn,msg){var functionName;},deprecatedClassWarning:function(clazz,msg){var className;
},deprecatedEventWarning:function(clazz,event,msg){var className;},deprecatedMixinWarning:function(clazz,msg){var mixinName;},clear:function(){this.__buffer.clearHistory();},__buffer:new qx.log.appender.RingBuffer(50),__levels:{debug:0,info:1,warn:2,error:3},__log:function(level,args){var levels=this.__levels;
if(levels[level]<levels[this.__level]){return ;}var object=args.length<2?null:args[0];var start=object?1:0;var items=[];for(var i=start,l=args.length;i<l;i++){items.push(this.__serialize(args[i],true));}var time=new Date;var entry={time:time,offset:time-qx.Bootstrap.LOADSTART,level:level,items:items,win:window};
if(object){if(object instanceof qx.core.Object){entry.object=object.$$hash;}else{if(object.$$type){entry.clazz=object;}}}this.__buffer.process(entry);var appender=this.__appender;for(var id in appender){appender[id].process(entry);}},__detect:function(value){if(value===undefined){return"undefined";}else{if(value===null){return"null";
}}if(value.$$type){return"class";}var type=typeof value;if(type==="function"||type=="string"||type==="number"||type==="boolean"){return type;}else{if(type==="object"){if(value.nodeType){return"node";}else{if(value.classname){return"instance";}else{if(value instanceof Array){return"array";}else{if(value instanceof Error){return"error";
}else{return"map";}}}}}}if(value.toString){return"stringify";}return"unknown";},__serialize:function(value,deep){var type=this.__detect(value);var text="unknown";var trace=[];switch(type){case"null":case"undefined":text=type;break;case"string":case"number":case"boolean":text=value;break;case"node":if(value.nodeType===9){text="document";
}else{if(value.nodeType===3){text="text["+value.nodeValue+"]";}else{if(value.nodeType===1){text=value.nodeName.toLowerCase();if(value.id){text+="#"+value.id;}}else{text="node";}}}break;case"function":text=qx.lang.Function.getName(value)||type;break;case"instance":text=value.basename+"["+value.$$hash+"]";
break;case"class":case"stringify":text=value.toString();break;case"error":trace=qx.dev.StackTrace.getStackTraceFromError(value);text=value.toString();break;case"array":if(deep){text=[];for(var i=0,l=value.length;i<l;i++){if(text.length>20){text.push("...(+"+(l-i)+")");break;}text.push(this.__serialize(value[i],false));
}}else{text="[...("+value.length+")]";}break;case"map":if(deep){var temp;var sorted=[];for(var key in value){sorted.push(key);}sorted.sort();text=[];for(var i=0,l=sorted.length;i<l;i++){if(text.length>20){text.push("...(+"+(l-i)+")");break;}key=sorted[i];temp=this.__serialize(value[key],false);temp.key=key;
text.push(temp);}}else{var number=0;for(var key in value){number++;}text="{...("+number+")}";}break;}return{type:type,text:text,trace:trace};}}});qx.Class.define("qx.core.Object",{extend:Object,include:[qx.data.MBinding],construct:function(){qx.core.ObjectRegistry.register(this);},statics:{$$type:"Object"},members:{toHashCode:function(){return this.$$hash;
},toString:function(){return this.classname+"["+this.$$hash+"]";},base:function(args,varags){if(arguments.length===1){return args.callee.base.call(this);}else{return args.callee.base.apply(this,Array.prototype.slice.call(arguments,1));}},self:function(args){return args.callee.self;},clone:function(){var clazz=this.constructor;
var clone=new clazz;var props=qx.Class.getProperties(clazz);var user=qx.core.Property.$$store.user;var setter=qx.core.Property.$$method.set;var name;for(var i=0,l=props.length;i<l;i++){name=props[i];if(this.hasOwnProperty(user[name])){clone[setter[name]](this[user[name]]);}}return clone;},serialize:function(){var clazz=this.constructor;
var props=qx.Class.getProperties(clazz);var user=qx.core.Property.$$store.user;var name,value;var result={classname:clazz.classname,properties:{}};for(var i=0,l=props.length;i<l;i++){name=props[i];if(this.hasOwnProperty(user[name])){value=this[user[name]];if(value instanceof qx.core.Object){result.properties[name]={$$hash:value.$$hash};
}else{result.properties[name]=value;}}}return result;},set:function(data,value){var setter=qx.core.Property.$$method.set;if(qx.lang.Type.isString(data)){if(!this[setter[data]]){if(this["set"+qx.lang.String.firstUp(data)]!=undefined){this["set"+qx.lang.String.firstUp(data)](value);return ;}}return this[setter[data]](value);
}else{for(var prop in data){if(!this[setter[prop]]){if(this["set"+qx.lang.String.firstUp(prop)]!=undefined){this["set"+qx.lang.String.firstUp(prop)](data[prop]);continue;}}this[setter[prop]](data[prop]);}return this;}},get:function(prop){var getter=qx.core.Property.$$method.get;if(!this[getter[prop]]){if(this["get"+qx.lang.String.firstUp(prop)]!=undefined){return this["get"+qx.lang.String.firstUp(prop)]();
}}return this[getter[prop]]();},reset:function(prop){var resetter=qx.core.Property.$$method.reset;if(!this[resetter[prop]]){if(this["reset"+qx.lang.String.firstUp(prop)]!=undefined){this["reset"+qx.lang.String.firstUp(prop)]();return ;}}this[resetter[prop]]();},__Registration:qx.event.Registration,addListener:function(type,listener,self,capture){if(!this.$$disposed){return this.__Registration.addListener(this,type,listener,self,capture);
}return null;},addListenerOnce:function(type,listener,self,capture){var callback=function(e){listener.call(self||this,e);this.removeListener(type,callback,this,capture);};return this.addListener(type,callback,this,capture);},removeListener:function(type,listener,self,capture){if(!this.$$disposed){return this.__Registration.removeListener(this,type,listener,self,capture);
}return false;},removeListenerById:function(id){if(!this.$$disposed){return this.__Registration.removeListenerById(this,id);}return false;},hasListener:function(type,capture){return this.__Registration.hasListener(this,type,capture);},dispatchEvent:function(evt){if(!this.$$disposed){return this.__Registration.dispatchEvent(this,evt);
}return true;},fireEvent:function(type,clazz,args){if(!this.$$disposed){return this.__Registration.fireEvent(this,type,clazz,args);}return true;},fireNonBubblingEvent:function(type,clazz,args){if(!this.$$disposed){return this.__Registration.fireNonBubblingEvent(this,type,clazz,args);}return true;},fireDataEvent:function(type,data,oldData,cancelable){if(!this.$$disposed){if(oldData===undefined){oldData=null;
}return this.__Registration.fireNonBubblingEvent(this,type,qx.event.type.Data,[data,oldData,!!cancelable]);}return true;},__userData:null,setUserData:function(key,value){if(!this.__userData){this.__userData={};}this.__userData[key]=value;},getUserData:function(key){if(!this.__userData){return null;}var data=this.__userData[key];
return data===undefined?null:data;},__Logger:qx.log.Logger,debug:function(msg){this.__Logger.debug(this,msg);},info:function(msg){this.__Logger.info(this,msg);},warn:function(msg){this.__Logger.warn(this,msg);},error:function(msg){this.__Logger.error(this,msg);},trace:function(){this.__Logger.trace(this);
},isDisposed:function(){return this.$$disposed||false;},dispose:function(){var key,value;if(this.$$disposed){return ;}this.$$disposed=true;this.$$instance=null;this.$$allowconstruct=null;var clazz=this.constructor;var mixins;while(clazz.superclass){if(clazz.$$destructor){clazz.$$destructor.call(this);
}if(clazz.$$includes){mixins=clazz.$$flatIncludes;for(var i=0,l=mixins.length;i<l;i++){if(mixins[i].$$destructor){mixins[i].$$destructor.call(this);}}}clazz=clazz.superclass;}var properties=qx.Class.getProperties(this.constructor);for(var i=0,l=properties.length;i<l;i++){delete this["$$user_"+properties[i]];
}},_disposeFields:function(varargs){qx.log.Logger.deprecatedMethodWarning(arguments.callee,"Don't use '_disposeFields' - instead assign directly to 'null'");qx.util.DisposeUtil.disposeFields(this,arguments);},_disposeObjects:function(varargs){qx.util.DisposeUtil.disposeObjects(this,arguments);},_disposeArray:function(field){qx.util.DisposeUtil.disposeArray(this,field);
},_disposeMap:function(field){qx.util.DisposeUtil.disposeMap(this,field);}},settings:{"qx.disposerDebugLevel":0},defer:function(statics){},destruct:function(){qx.event.Registration.removeAllListeners(this);qx.core.ObjectRegistry.unregister(this);this.__userData=null;var clazz=this.constructor;var properties;
var store=qx.core.Property.$$store;var storeUser=store.user;var storeTheme=store.theme;var storeInherit=store.inherit;var storeUseinit=store.useinit;var storeInit=store.init;while(clazz){properties=clazz.$$properties;if(properties){for(var name in properties){if(properties[name].dispose){this[storeUser[name]]=this[storeTheme[name]]=this[storeInherit[name]]=this[storeUseinit[name]]=this[storeInit[name]]=undefined;
}}}clazz=clazz.superclass;}}});qx.Bootstrap.define("qx.lang.String",{statics:{camelCase:function(str){return str.replace(/\-([a-z])/g,function(match,chr){return chr.toUpperCase();});},hyphenate:function(str){return str.replace(/[A-Z]/g,function(match){return("-"+match.charAt(0).toLowerCase());});},capitalize:function(str){return str.replace(/\b[a-z]/g,function(match){return match.toUpperCase();
});},clean:function(str){return this.trim(str.replace(/\s+/g," "));},trimLeft:function(str){return str.replace(/^\s+/,"");},trimRight:function(str){return str.replace(/\s+$/,"");},trim:function(str){return str.replace(/^\s+|\s+$/g,"");},startsWith:function(fullstr,substr){return fullstr.indexOf(substr)===0;
},endsWith:function(fullstr,substr){return fullstr.substring(fullstr.length-substr.length,fullstr.length)===substr;},pad:function(str,length,ch){if(typeof ch==="undefined"){ch="0";}var temp="";for(var i=str.length;i<length;i++){temp+=ch;}return temp+str;},firstUp:function(str){return str.charAt(0).toUpperCase()+str.substr(1);
},firstLow:function(str){return str.charAt(0).toLowerCase()+str.substr(1);},contains:function(str,substring){return str.indexOf(substring)!=-1;},format:function(pattern,args){var str=pattern;for(var i=0;i<args.length;i++){str=str.replace(new RegExp("%"+(i+1),"g"),args[i]);}return str;},escapeRegexpChars:function(str){return str.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1");
},toArray:function(str){return str.split(/\B|\b/g);},stripTags:function(str){return str.replace(/<\/?[^>]+>/gi,"");},stripScripts:function(str,exec){var scripts="";var text=str.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){scripts+=arguments[1]+"\n";return"";});if(exec===true){qx.lang.Function.globalEval(scripts);
}return text;}}});qx.Bootstrap.define("qx.Interface",{statics:{define:function(name,config){if(config){if(config.extend&&!(config.extend instanceof Array)){config.extend=[config.extend];}var iface=config.statics?config.statics:{};if(config.extend){iface.$$extends=config.extend;}if(config.properties){iface.$$properties=config.properties;
}if(config.members){iface.$$members=config.members;}if(config.events){iface.$$events=config.events;}}else{var iface={};}iface.$$type="Interface";iface.name=name;iface.toString=this.genericToString;iface.basename=qx.Bootstrap.createNamespace(name,iface);qx.Interface.$$registry[name]=iface;return iface;
},getByName:function(name){return this.$$registry[name];},isDefined:function(name){return this.getByName(name)!==undefined;},getTotalNumber:function(){return qx.lang.Object.getLength(this.$$registry);},flatten:function(ifaces){if(!ifaces){return[];}var list=ifaces.concat();for(var i=0,l=ifaces.length;
i<l;i++){if(ifaces[i].$$extends){list.push.apply(list,this.flatten(ifaces[i].$$extends));}}return list;},__assertMembers:function(object,clazz,iface,wrap){var members=iface.$$members;if(members){for(var key in members){if(qx.lang.Type.isFunction(members[key])){var isPropertyMethod=this.__isPropertyMethod(clazz,key);
var hasMemberFunction=isPropertyMethod||qx.lang.Type.isFunction(object[key]);if(!hasMemberFunction){throw new Error('Implementation of method "'+key+'" is missing in class "'+clazz.classname+'" required by interface "'+iface.name+'"');}var shouldWrapFunction=wrap===true&&!isPropertyMethod&&!qx.Class.hasInterface(clazz,iface);
if(shouldWrapFunction){object[key]=this.__wrapInterfaceMember(iface,object[key],key,members[key]);}}else{if(typeof object[key]===undefined){if(typeof object[key]!=="function"){throw new Error('Implementation of member "'+key+'" is missing in class "'+clazz.classname+'" required by interface "'+iface.name+'"');
}}}}}},__isPropertyMethod:function(clazz,methodName){var match=methodName.match(/^(is|toggle|get|set|reset)(.*)$/);if(!match){return false;}var propertyName=qx.lang.String.firstLow(match[2]);var isPropertyMethod=qx.Class.hasProperty(clazz,propertyName);if(!isPropertyMethod){return false;}var isBoolean=match[0]=="is"||match[0]=="toggle";
if(isBoolean){return qx.Class.getPropertyDefinition(clazz,propertyName).check=="Boolean";}return true;},__assertProperties:function(clazz,iface){if(iface.$$properties){for(var key in iface.$$properties){if(!qx.Class.hasProperty(clazz,key)){throw new Error('The property "'+key+'" is not supported by Class "'+clazz.classname+'"!');
}}}},__assertEvents:function(clazz,iface){if(iface.$$events){for(var key in iface.$$events){if(!qx.Class.supportsEvent(clazz,key)){throw new Error('The event "'+key+'" is not supported by Class "'+clazz.classname+'"!');}}}},assertObject:function(object,iface){var clazz=object.constructor;this.__assertMembers(object,clazz,iface,false);
this.__assertProperties(clazz,iface);this.__assertEvents(clazz,iface);var extend=iface.$$extends;if(extend){for(var i=0,l=extend.length;i<l;i++){this.assertObject(object,extend[i]);}}},assert:function(clazz,iface,wrap){this.__assertMembers(clazz.prototype,clazz,iface,wrap);this.__assertProperties(clazz,iface);
this.__assertEvents(clazz,iface);var extend=iface.$$extends;if(extend){for(var i=0,l=extend.length;i<l;i++){this.assert(clazz,extend[i],wrap);}}},genericToString:function(){return"[Interface "+this.name+"]";},$$registry:{},__wrapInterfaceMember:function(){},__allowedKeys:null,__validateConfig:function(){}}});
qx.Interface.define("qx.event.IEventHandler",{statics:{TARGET_DOMNODE:1,TARGET_WINDOW:2,TARGET_OBJECT:3},members:{canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){}}});qx.Bootstrap.define("qx.event.GlobalError",{statics:{setErrorHandler:function(callback,context){this.__callback=callback||null;
this.__context=context||window;if(qx.core.Setting.get("qx.globalErrorHandling")==="on"){if(callback&&!window.onerror){window.onerror=qx.lang.Function.bind(this.__onErrorWindow,this);}if(!callback&&window.onerror){window.onerror=null;}}},__onErrorWindow:function(msg,uri,lineNumber){if(this.__callback){this.handleError(new qx.core.WindowError(msg,uri,lineNumber));
return true;}},observeMethod:function(method){if(qx.core.Setting.get("qx.globalErrorHandling")==="on"){var self=this;return function(){if(!self.__callback){return method.apply(this,arguments);}try{return method.apply(this,arguments);}catch(ex){self.handleError(ex);}};}else{return method;}},handleError:function(ex){if(this.__callback){this.__callback.call(this.__context,ex);
}}},defer:function(statics){qx.core.Setting.define("qx.globalErrorHandling","on");statics.setErrorHandler(null,null);}});qx.Class.define("qx.event.handler.Element",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);this._manager=manager;this._registeredEvents={};
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{abort:true,scroll:true,select:true,reset:true,submit:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){var elementId=qx.core.ObjectRegistry.toHashCode(target);
var eventId=elementId+"-"+type;var listener=qx.lang.Function.listener(this._onNative,this,eventId);qx.bom.Event.addNativeListener(target,type,listener);this._registeredEvents[eventId]={element:target,type:type,listener:listener};},unregisterEvent:function(target,type,capture){var events=this._registeredEvents;
if(!events){return ;}var elementId=qx.core.ObjectRegistry.toHashCode(target);var eventId=elementId+"-"+type;var eventData=this._registeredEvents[eventId];qx.bom.Event.removeNativeListener(target,type,eventData.listener);delete this._registeredEvents[eventId];},_onNative:qx.event.GlobalError.observeMethod(function(nativeEvent,eventId){var events=this._registeredEvents;
if(!events){return ;}var eventData=events[eventId];qx.event.Registration.fireNonBubblingEvent(eventData.element,eventData.type,qx.event.type.Native,[nativeEvent]);})},destruct:function(){var entry;var events=this._registeredEvents;for(var id in events){entry=events[id];qx.bom.Event.removeNativeListener(entry.element,entry.type,entry.listener);
}this._manager=this._registeredEvents=null;},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Class.define("qx.bom.element.Attribute",{statics:{__hints:{names:{"class":"className","for":"htmlFor",html:"innerHTML",text:qx.core.Variant.isSet("qx.client","mshtml")?"innerText":"textContent",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",datetime:"dateTime",accesskey:"accessKey",tabindex:"tabIndex",maxlength:"maxLength",readonly:"readOnly",longdesc:"longDesc",cellpadding:"cellPadding",cellspacing:"cellSpacing",frameborder:"frameBorder",usemap:"useMap"},runtime:{"html":1,"text":1},bools:{compact:1,nowrap:1,ismap:1,declare:1,noshade:1,checked:1,disabled:1,readonly:1,multiple:1,selected:1,noresize:1,defer:1,allowTransparency:1},property:{$$html:1,$$widget:1,disabled:1,checked:1,readOnly:1,multiple:1,selected:1,value:1,maxLength:1,className:1,innerHTML:1,innerText:1,textContent:1,htmlFor:1,tabIndex:1},propertyDefault:{disabled:false,checked:false,readOnly:false,multiple:false,selected:false,value:"",maxLength:10000000,className:"",innerHTML:"",innerText:"",textContent:"",htmlFor:"",tabIndex:0},original:{href:1,src:1,type:1}},compile:function(map){var html=[];
var runtime=this.__hints.runtime;for(var key in map){if(!runtime[key]){html.push(key,"='",map[key],"'");}}return html.join("");},get:qx.core.Variant.select("qx.client",{"mshtml":function(element,name){var hints=this.__hints;var value;name=hints.names[name]||name;if(hints.original[name]){value=element.getAttribute(name,2);
}else{if(hints.property[name]){if(hints.propertyDefault[name]&&value==hints.propertyDefault[name]){return null;}value=element[name];}else{value=element.getAttribute(name);}}if(hints.bools[name]){return !!value;}return value;},"default":function(element,name){var hints=this.__hints;var value;name=hints.names[name]||name;
if(hints.property[name]){if(hints.propertyDefault[name]&&value==hints.propertyDefault[name]){return null;}value=element[name];if(value==null){value=element.getAttribute(name);}}else{value=element.getAttribute(name);}if(hints.bools[name]){return !!value;}return value;}}),set:function(element,name,value){var hints=this.__hints;
name=hints.names[name]||name;if(hints.bools[name]){value=!!value;}if(hints.property[name]){if(value==null){value=hints.propertyDefault[name];if(value===undefined){value=null;}}element[name]=value;}else{if(value===true){element.setAttribute(name,name);}else{if(value===false||value===null){element.removeAttribute(name);
}else{element.setAttribute(name,value);}}}},reset:function(element,name){this.set(element,name,null);}}});qx.Class.define("qx.event.type.Event",{extend:qx.core.Object,statics:{CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3},members:{init:function(canBubble,cancelable){this._type=null;this._target=null;
this._currentTarget=null;this._relatedTarget=null;this._originalTarget=null;this._stopPropagation=false;this._preventDefault=false;this._bubbles=!!canBubble;this._cancelable=!!cancelable;this._timeStamp=(new Date()).getTime();this._eventPhase=null;return this;},clone:function(embryo){if(embryo){var clone=embryo;
}else{var clone=qx.event.Pool.getInstance().getObject(this.constructor);}clone._type=this._type;clone._target=this._target;clone._currentTarget=this._currentTarget;clone._relatedTarget=this._relatedTarget;clone._originalTarget=this._originalTarget;clone._stopPropagation=this._stopPropagation;clone._bubbles=this._bubbles;
clone._preventDefault=this._preventDefault;clone._cancelable=this._cancelable;return clone;},stop:function(){this.stopPropagation();this.preventDefault();},stopPropagation:function(){this._stopPropagation=true;},getPropagationStopped:function(){return !!this._stopPropagation;},preventDefault:function(){this._preventDefault=true;
},getDefaultPrevented:function(){return !!this._preventDefault;},getType:function(){return this._type;},setType:function(type){this._type=type;},getEventPhase:function(){return this._eventPhase;},setEventPhase:function(eventPhase){this._eventPhase=eventPhase;},getTimeStamp:function(){return this._timeStamp;
},getTarget:function(){return this._target;},setTarget:function(target){this._target=target;},getCurrentTarget:function(){return this._currentTarget||this._target;},setCurrentTarget:function(currentTarget){this._currentTarget=currentTarget;},getRelatedTarget:function(){return this._relatedTarget;},setRelatedTarget:function(relatedTarget){this._relatedTarget=relatedTarget;
},getOriginalTarget:function(){return this._originalTarget;},setOriginalTarget:function(originalTarget){this._originalTarget=originalTarget;},getBubbles:function(){return this._bubbles;},setBubbles:function(bubbles){this._bubbles=bubbles;},isCancelable:function(){return this._cancelable;},setCancelable:function(cancelable){this._cancelable=cancelable;
}},destruct:function(){this._target=this._currentTarget=this._relatedTarget=this._originalTarget=null;}});qx.Class.define("qx.event.type.Data",{extend:qx.event.type.Event,members:{__data:null,__old:null,init:function(data,old,cancelable){this.base(arguments,false,cancelable);this.__data=data;this.__old=old;
return this;},clone:function(embryo){var clone=this.base(arguments,embryo);clone.__data=this.__data;clone.__old=this.__old;return clone;},getData:function(){return this.__data;},getOldData:function(){return this.__old;}},destruct:function(){this.__data=this.__old=null;}});qx.Class.define("qx.event.type.Focus",{extend:qx.event.type.Event,members:{init:function(target,relatedTarget,canBubble){this.base(arguments,canBubble,false);
this._target=target;this._relatedTarget=relatedTarget;return this;}}});qx.Interface.define("qx.event.IEventDispatcher",{members:{canDispatchEvent:function(target,event,type){this.assertInstance(event,qx.event.type.Event);this.assertString(type);},dispatchEvent:function(target,event,type){this.assertInstance(event,qx.event.type.Event);
this.assertString(type);}}});qx.Class.define("qx.event.dispatch.Direct",{extend:qx.core.Object,implement:qx.event.IEventDispatcher,construct:function(manager){this._manager=manager;},statics:{PRIORITY:qx.event.Registration.PRIORITY_LAST},members:{canDispatchEvent:function(target,event,type){return !event.getBubbles();
},dispatchEvent:function(target,event,type){event.setEventPhase(qx.event.type.Event.AT_TARGET);var listeners=this._manager.getListeners(target,type,false);if(listeners){for(var i=0,l=listeners.length;i<l;i++){var context=listeners[i].context||target;listeners[i].handler.call(context,event);}}}},defer:function(statics){qx.event.Registration.addDispatcher(statics);
}});qx.Class.define("qx.bom.element.Class",{statics:{add:function(element,name){if(!this.has(element,name)){element.className+=(element.className?" ":"")+name;}return name;},get:function(element){return element.className;},has:function(element,name){var regexp=new RegExp("(^|\\s)"+name+"(\\s|$)");return regexp.test(element.className);
},remove:function(element,name){var regexp=new RegExp("(^|\\s)"+name+"(\\s|$)");element.className=element.className.replace(regexp,"$2");return name;},replace:function(element,oldName,newName){this.remove(element,oldName);return this.add(element,newName);},toggle:function(element,name,toggle){if(toggle==null){toggle=!this.has(element,name);
}toggle?this.add(element,name):this.remove(element,name);return name;}}});qx.Class.define("qx.bom.Document",{statics:{isQuirksMode:qx.core.Variant.select("qx.client",{"mshtml":function(win){if(qx.bom.client.Engine.VERSION>=8){return qx.bom.client.Engine.DOCUMENT_MODE===5;}else{return(win||window).document.compatMode!=="CSS1Compat";
}},"webkit":function(win){if(document.compatMode===undefined){var el=(win||window).document.createElement("div");el.style.cssText="position:absolute;width:0;height:0;width:1";return el.style.width==="1px"?true:false;}else{return(win||window).document.compatMode!=="CSS1Compat";}},"default":function(win){return(win||window).document.compatMode!=="CSS1Compat";
}}),isStandardMode:function(win){return !this.isQuirksMode(win);},getWidth:function(win){var doc=(win||window).document;var view=qx.bom.Viewport.getWidth(win);var scroll=this.isStandardMode(win)?doc.documentElement.scrollWidth:doc.body.scrollWidth;return Math.max(scroll,view);},getHeight:function(win){var doc=(win||window).document;
var view=qx.bom.Viewport.getHeight(win);var scroll=this.isStandardMode(win)?doc.documentElement.scrollHeight:doc.body.scrollHeight;return Math.max(scroll,view);}}});qx.Class.define("qx.bom.element.BoxSizing",{statics:{__styleProperties:qx.core.Variant.select("qx.client",{"mshtml":null,"webkit":["boxSizing","KhtmlBoxSizing","WebkitBoxSizing"],"gecko":["MozBoxSizing"],"opera":["boxSizing"]}),__cssProperties:qx.core.Variant.select("qx.client",{"mshtml":null,"webkit":["box-sizing","-khtml-box-sizing","-webkit-box-sizing"],"gecko":["-moz-box-sizing"],"opera":["box-sizing"]}),__nativeBorderBox:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__usesNativeBorderBox:function(element){var map=this.__nativeBorderBox;
return map.tags[element.tagName.toLowerCase()]||map.types[element.type];},compile:qx.core.Variant.select("qx.client",{"mshtml":function(value){},"default":function(value){var props=this.__cssProperties;var css="";if(props){for(var i=0,l=props.length;i<l;i++){css+=props[i]+":"+value+";";}}return css;}}),get:qx.core.Variant.select("qx.client",{"mshtml":function(element){if(qx.bom.Document.isStandardMode(qx.dom.Node.getDocument(element))){if(!this.__usesNativeBorderBox(element)){return"content-box";
}}return"border-box";},"default":function(element){var props=this.__styleProperties;var value;if(props){for(var i=0,l=props.length;i<l;i++){value=qx.bom.element.Style.get(element,props[i],null,false);if(value!=null&&value!==""){return value;}}}return"";}}),set:qx.core.Variant.select("qx.client",{"mshtml":function(element,value){},"default":function(element,value){var props=this.__styleProperties;
if(props){for(var i=0,l=props.length;i<l;i++){element.style[props[i]]=value;}}}}),reset:function(element){this.set(element,"");}}});qx.Class.define("qx.dom.Hierarchy",{statics:{getNodeIndex:function(node){var index=0;while(node&&(node=node.previousSibling)){index++;}return index;},getElementIndex:function(element){var index=0;
var type=qx.dom.Node.ELEMENT;while(element&&(element=element.previousSibling)){if(element.nodeType==type){index++;}}return index;},getNextElementSibling:function(element){while(element&&(element=element.nextSibling)&&!qx.dom.Node.isElement(element)){continue;}return element||null;},getPreviousElementSibling:function(element){while(element&&(element=element.previousSibling)&&!qx.dom.Node.isElement(element)){continue;
}return element||null;},contains:qx.core.Variant.select("qx.client",{"webkit|mshtml|opera":function(element,target){if(qx.dom.Node.isDocument(element)){var doc=qx.dom.Node.getDocument(target);return element&&doc==element;}else{if(qx.dom.Node.isDocument(target)){return false;}else{return element.contains(target);
}}},"gecko":function(element,target){return !!(element.compareDocumentPosition(target)&16);},"default":function(element,target){while(target){if(element==target){return true;}target=target.parentNode;}return false;}}),isRendered:function(element){if(!element.offsetParent){return false;}var doc=element.ownerDocument||element.document;
if(doc.body.contains){return doc.body.contains(element);}if(doc.compareDocumentPosition){return !!(doc.compareDocumentPosition(element)&16);}throw new Error("Missing support for isRendered()!");},isDescendantOf:function(element,ancestor){return this.contains(ancestor,element);},getCommonParent:qx.core.Variant.select("qx.client",{"mshtml|opera":function(element1,element2){if(element1===element2){return element1;
}while(element1&&qx.dom.Node.isElement(element1)){if(element1.contains(element2)){return element1;}element1=element1.parentNode;}return null;},"default":function(element1,element2){if(element1===element2){return element1;}var known={};var obj=qx.core.ObjectRegistry;var h1,h2;while(element1||element2){if(element1){h1=obj.toHashCode(element1);
if(known[h1]){return known[h1];}known[h1]=element1;element1=element1.parentNode;}if(element2){h2=obj.toHashCode(element2);if(known[h2]){return known[h2];}known[h2]=element2;element2=element2.parentNode;}}return null;}}),getAncestors:function(element){return this._recursivelyCollect(element,"parentNode");
},getChildElements:function(element){element=element.firstChild;if(!element){return[];}var arr=this.getNextSiblings(element);if(element.nodeType===1){arr.unshift(element);}return arr;},getDescendants:function(element){return qx.lang.Array.fromCollection(element.getElementsByTagName("*"));},getFirstDescendant:function(element){element=element.firstChild;
while(element&&element.nodeType!=1){element=element.nextSibling;}return element;},getLastDescendant:function(element){element=element.lastChild;while(element&&element.nodeType!=1){element=element.previousSibling;}return element;},getPreviousSiblings:function(element){return this._recursivelyCollect(element,"previousSibling");
},getNextSiblings:function(element){return this._recursivelyCollect(element,"nextSibling");},_recursivelyCollect:function(element,property){var list=[];while(element=element[property]){if(element.nodeType==1){list.push(element);}}return list;},getSiblings:function(element){return this.getPreviousSiblings(element).reverse().concat(this.getNextSiblings(element));
},isEmpty:function(element){element=element.firstChild;while(element){if(element.nodeType===qx.dom.Node.ELEMENT||element.nodeType===qx.dom.Node.TEXT){return false;}element=element.nextSibling;}return true;},cleanWhitespace:function(element){var node=element.firstChild;while(node){var nextNode=node.nextSibling;
if(node.nodeType==3&&!/\S/.test(node.nodeValue)){element.removeChild(node);}node=nextNode;}}}});qx.Class.define("qx.type.BaseError",{extend:Error,construct:function(comment,failMessage){Error.call(this,failMessage);this.__comment=comment||"";this.message=failMessage||qx.type.BaseError.DEFAULTMESSAGE;
},statics:{DEFAULTMESSAGE:"error"},members:{__comment:null,message:null,getComment:function(){return this.__comment;},toString:function(){return this.__comment+": "+this.message;}}});qx.Class.define("qx.event.handler.Capture",{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{capture:true,losecapture:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){}},defer:function(statics){qx.event.Registration.addHandler(statics);
}});qx.Class.define("qx.core.AssertionError",{extend:qx.type.BaseError,construct:function(comment,failMessage){qx.type.BaseError.call(this,comment,failMessage);this.__trace=qx.dev.StackTrace.getStackTrace();},members:{__trace:null,getStackTrace:function(){return this.__trace;}}});qx.Class.define("qx.bom.element.Scroll",{statics:{intoViewX:function(element,stop,align){var parent=element.parentNode;
var doc=qx.dom.Node.getDocument(element);var body=doc.body;var parentLocation,parentLeft,parentRight;var parentOuterWidth,parentClientWidth,parentScrollWidth;var parentLeftBorder,parentRightBorder,parentScrollBarWidth;var elementLocation,elementLeft,elementRight,elementWidth;var leftOffset,rightOffset,scrollDiff;
var alignLeft=align==="left";var alignRight=align==="right";stop=stop?stop.parentNode:doc;while(parent&&parent!=stop){if(parent.scrollWidth>parent.clientWidth&&(parent===body||qx.bom.element.Overflow.getY(parent)!="visible")){if(parent===body){parentLeft=parent.scrollLeft;parentRight=parentLeft+qx.bom.Viewport.getWidth();
parentOuterWidth=qx.bom.Viewport.getWidth();parentClientWidth=parent.clientWidth;parentScrollWidth=parent.scrollWidth;parentLeftBorder=0;parentRightBorder=0;parentScrollBarWidth=0;}else{parentLocation=qx.bom.element.Location.get(parent);parentLeft=parentLocation.left;parentRight=parentLocation.right;
parentOuterWidth=parent.offsetWidth;parentClientWidth=parent.clientWidth;parentScrollWidth=parent.scrollWidth;parentLeftBorder=parseInt(qx.bom.element.Style.get(parent,"borderLeftWidth"),10)||0;parentRightBorder=parseInt(qx.bom.element.Style.get(parent,"borderRightWidth"),10)||0;parentScrollBarWidth=parentOuterWidth-parentClientWidth-parentLeftBorder-parentRightBorder;
}elementLocation=qx.bom.element.Location.get(element);elementLeft=elementLocation.left;elementRight=elementLocation.right;elementWidth=element.offsetWidth;leftOffset=elementLeft-parentLeft-parentLeftBorder;rightOffset=elementRight-parentRight+parentRightBorder;scrollDiff=0;if(alignLeft){scrollDiff=leftOffset;
}else{if(alignRight){scrollDiff=rightOffset+parentScrollBarWidth;}else{if(leftOffset<0||elementWidth>parentClientWidth){scrollDiff=leftOffset;}else{if(rightOffset>0){scrollDiff=rightOffset+parentScrollBarWidth;}}}}parent.scrollLeft+=scrollDiff;if(qx.bom.client.Engine.GECKO){qx.event.Registration.fireNonBubblingEvent(parent,"scroll");
}}if(parent===body){break;}parent=parent.parentNode;}},intoViewY:function(element,stop,align){var parent=element.parentNode;var doc=qx.dom.Node.getDocument(element);var body=doc.body;var parentLocation,parentTop,parentBottom;var parentOuterHeight,parentClientHeight,parentScrollHeight;var parentTopBorder,parentBottomBorder,parentScrollBarHeight;
var elementLocation,elementTop,elementBottom,elementHeight;var topOffset,bottomOffset,scrollDiff;var alignTop=align==="top";var alignBottom=align==="bottom";stop=stop?stop.parentNode:doc;while(parent&&parent!=stop){if(parent.scrollHeight>parent.clientHeight&&(parent===body||qx.bom.element.Overflow.getY(parent)!="visible")){if(parent===body){parentTop=parent.scrollTop;
parentBottom=parentTop+qx.bom.Viewport.getHeight();parentOuterHeight=qx.bom.Viewport.getHeight();parentClientHeight=parent.clientHeight;parentScrollHeight=parent.scrollHeight;parentTopBorder=0;parentBottomBorder=0;parentScrollBarHeight=0;}else{parentLocation=qx.bom.element.Location.get(parent);parentTop=parentLocation.top;
parentBottom=parentLocation.bottom;parentOuterHeight=parent.offsetHeight;parentClientHeight=parent.clientHeight;parentScrollHeight=parent.scrollHeight;parentTopBorder=parseInt(qx.bom.element.Style.get(parent,"borderTopWidth"),10)||0;parentBottomBorder=parseInt(qx.bom.element.Style.get(parent,"borderBottomWidth"),10)||0;
parentScrollBarHeight=parentOuterHeight-parentClientHeight-parentTopBorder-parentBottomBorder;}elementLocation=qx.bom.element.Location.get(element);elementTop=elementLocation.top;elementBottom=elementLocation.bottom;elementHeight=element.offsetHeight;topOffset=elementTop-parentTop-parentTopBorder;bottomOffset=elementBottom-parentBottom+parentBottomBorder;
scrollDiff=0;if(alignTop){scrollDiff=topOffset;}else{if(alignBottom){scrollDiff=bottomOffset+parentScrollBarHeight;}else{if(topOffset<0||elementHeight>parentClientHeight){scrollDiff=topOffset;}else{if(bottomOffset>0){scrollDiff=bottomOffset+parentScrollBarHeight;}}}}parent.scrollTop+=scrollDiff;if(qx.bom.client.Engine.GECKO){qx.event.Registration.fireNonBubblingEvent(parent,"scroll");
}}if(parent===body){break;}parent=parent.parentNode;}},intoView:function(element,stop,alignX,alignY){this.intoViewX(element,stop,alignX);this.intoViewY(element,stop,alignY);}}});qx.Class.define("qx.event.type.Native",{extend:qx.event.type.Event,members:{init:function(nativeEvent,target,relatedTarget,canBubble,cancelable){this.base(arguments,canBubble,cancelable);
this._target=target||qx.bom.Event.getTarget(nativeEvent);this._relatedTarget=relatedTarget||qx.bom.Event.getRelatedTarget(nativeEvent);if(nativeEvent.timeStamp){this._timeStamp=nativeEvent.timeStamp;}this._native=nativeEvent;this._returnValue=null;return this;},clone:function(embryo){var clone=this.base(arguments,embryo);
var nativeClone={};clone._native=this._cloneNativeEvent(this._native,nativeClone);clone._returnValue=this._returnValue;return clone;},_cloneNativeEvent:function(nativeEvent,clone){clone.preventDefault=qx.lang.Function.empty;return clone;},preventDefault:function(){this.base(arguments);qx.bom.Event.preventDefault(this._native);
},getNativeEvent:function(){return this._native;},setReturnValue:function(returnValue){this._returnValue=returnValue;},getReturnValue:function(){return this._returnValue;}},destruct:function(){this._native=this._returnValue=null;}});qx.Class.define("qx.event.type.Dom",{extend:qx.event.type.Native,statics:{SHIFT_MASK:1,CTRL_MASK:2,ALT_MASK:4,META_MASK:8},members:{_cloneNativeEvent:function(nativeEvent,clone){var clone=this.base(arguments,nativeEvent,clone);
clone.shiftKey=nativeEvent.shiftKey;clone.ctrlKey=nativeEvent.ctrlKey;clone.altKey=nativeEvent.altKey;clone.metaKey=nativeEvent.metaKey;return clone;},getModifiers:function(){var mask=0;var evt=this._native;if(evt.shiftKey){mask|=qx.event.type.Dom.SHIFT_MASK;}if(evt.ctrlKey){mask|=qx.event.type.Dom.CTRL_MASK;
}if(evt.altKey){mask|=qx.event.type.Dom.ALT_MASK;}if(evt.metaKey){mask|=qx.event.type.Dom.META_MASK;}return mask;},isCtrlPressed:function(){return this._native.ctrlKey;},isShiftPressed:function(){return this._native.shiftKey;},isAltPressed:function(){return this._native.altKey;},isMetaPressed:function(){return this._native.metaKey;
},isCtrlOrCommandPressed:function(){if(qx.bom.client.Platform.MAC){return this._native.metaKey;}else{return this._native.ctrlKey;}}}});qx.Class.define("qx.event.type.Mouse",{extend:qx.event.type.Dom,members:{init:function(nativeEvent,target,relatedTarget,canBubble,cancelable){this.base(arguments,nativeEvent,target,relatedTarget,canBubble,cancelable);
if(!relatedTarget){this._relatedTarget=qx.bom.Event.getRelatedTarget(nativeEvent);}return this;},_cloneNativeEvent:function(nativeEvent,clone){var clone=this.base(arguments,nativeEvent,clone);clone.button=nativeEvent.button;clone.clientX=nativeEvent.clientX;clone.clientY=nativeEvent.clientY;clone.pageX=nativeEvent.pageX;
clone.pageY=nativeEvent.pageY;clone.screenX=nativeEvent.screenX;clone.screenY=nativeEvent.screenY;clone.wheelDelta=nativeEvent.wheelDelta;clone.detail=nativeEvent.detail;clone.srcElement=nativeEvent.srcElement;return clone;},__buttons:qx.core.Variant.select("qx.client",{"mshtml":{1:"left",2:"right",4:"middle"},"default":{0:"left",2:"right",1:"middle"}}),stop:function(){this.stopPropagation();
},getButton:function(){switch(this._type){case"click":case"dblclick":return"left";case"contextmenu":return"right";default:return this.__buttons[this._native.button]||"none";}},isLeftPressed:function(){return this.getButton()==="left";},isMiddlePressed:function(){return this.getButton()==="middle";},isRightPressed:function(){return this.getButton()==="right";
},getRelatedTarget:function(){return this._relatedTarget;},getViewportLeft:function(){return this._native.clientX;},getViewportTop:function(){return this._native.clientY;},getDocumentLeft:qx.core.Variant.select("qx.client",{"mshtml":function(){var win=qx.dom.Node.getWindow(this._native.srcElement);return this._native.clientX+qx.bom.Viewport.getScrollLeft(win);
},"default":function(){return this._native.pageX;}}),getDocumentTop:qx.core.Variant.select("qx.client",{"mshtml":function(){var win=qx.dom.Node.getWindow(this._native.srcElement);return this._native.clientY+qx.bom.Viewport.getScrollTop(win);},"default":function(){return this._native.pageY;}}),getScreenLeft:function(){return this._native.screenX;
},getScreenTop:function(){return this._native.screenY;},getWheelDelta:qx.core.Variant.select("qx.client",{"default":function(){return -(this._native.wheelDelta/40);},"gecko":function(){return this._native.detail;},"webkit":function(){if(window.navigator.userAgent.indexOf("Chrome")!==-1){return -(this._native.wheelDelta/120);
}else{return -(this._native.wheelDelta/40);}}})}});qx.Class.define("qx.event.handler.UserAction",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);this.__manager=manager;this.__window=manager.getWindow();},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{useraction:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{__manager:null,__window:null,canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){}},destruct:function(){this.__manager=this.__window=null;
},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Bootstrap.define("qx.bom.client.Platform",{statics:{NAME:"",WIN:false,MAC:false,UNIX:false,UNKNOWN_PLATFORM:false,__init:function(){var input=navigator.platform;if(input==null||input===""){input=navigator.userAgent;}if(input.indexOf("Windows")!=-1||input.indexOf("Win32")!=-1||input.indexOf("Win64")!=-1){this.WIN=true;
this.NAME="win";}else{if(input.indexOf("Macintosh")!=-1||input.indexOf("MacPPC")!=-1||input.indexOf("MacIntel")!=-1||input.indexOf("iPod")!=-1||input.indexOf("iPhone")!=-1){this.MAC=true;this.NAME="mac";}else{if(input.indexOf("X11")!=-1||input.indexOf("Linux")!=-1||input.indexOf("BSD")!=-1){this.UNIX=true;
this.NAME="unix";}else{this.UNKNOWN_PLATFORM=true;this.WIN=true;this.NAME="win";}}}}},defer:function(statics){statics.__init();}});qx.Bootstrap.define("qx.bom.client.System",{statics:{NAME:"",SP1:false,SP2:false,WIN95:false,WIN98:false,WINME:false,WINNT4:false,WIN2000:false,WINXP:false,WIN2003:false,WINVISTA:false,WINCE:false,LINUX:false,SUNOS:false,FREEBSD:false,NETBSD:false,OPENBSD:false,OSX:false,OS9:false,SYMBIAN:false,NINTENDODS:false,PSP:false,IPHONE:false,UNKNOWN_SYSTEM:false,__ids:{"Windows NT 6.0":"winvista","Windows NT 5.2":"win2003","Windows NT 5.1":"winxp","Windows NT 5.0":"win2000","Windows 2000":"win2000","Windows NT 4.0":"winnt4","Win 9x 4.90":"winme","Windows CE":"wince","Windows 98":"win98","Win98":"win98","Windows 95":"win95","Win95":"win95","Linux":"linux","FreeBSD":"freebsd","NetBSD":"netbsd","OpenBSD":"openbsd","SunOS":"sunos","Symbian System":"symbian","Nitro":"nintendods","PSP":"sonypsp","Mac OS X 10_5":"osx5","Mac OS X 10.5":"osx5","Mac OS X 10_4":"osx4","Mac OS X 10.4":"osx4","Mac OS X 10_3":"osx3","Mac OS X 10.3":"osx3","Mac OS X 10_2":"osx2","Mac OS X 10.2":"osx2","Mac OS X 10_1":"osx1","Mac OS X 10.1":"osx1","Mac OS X 10_0":"osx0","Mac OS X 10.0":"osx0","Mac OS X":"osx","Mac OS 9":"os9"},__init:function(){var agent=navigator.userAgent;
var str=[];for(var key in this.__ids){str.push(key);}var reg=new RegExp("("+str.join("|").replace(/\./g,".")+")","g");if(!reg.test(agent)){this.UNKNOWN_SYSTEM=true;if(!qx.bom.client.Platform.UNKNOWN_PLATFORM){if(qx.bom.client.Platform.UNIX){this.NAME="linux";this.LINUX=true;}else{if(qx.bom.client.Platform.MAC){this.NAME="osx5";
this.OSX=true;}else{this.NAME="winxp";this.WINXP=true;}}}else{this.NAME="winxp";this.WINXP=true;}return ;}if(qx.bom.client.Engine.WEBKIT&&RegExp(" Mobile/").test(navigator.userAgent)){this.IPHONE=true;this.NAME="iphone";}else{this.NAME=this.__ids[RegExp.$1];this[this.NAME.toUpperCase()]=true;if(qx.bom.client.Platform.WIN){if(agent.indexOf("Windows NT 5.01")!==-1){this.SP1=true;
}else{if(qx.bom.client.Engine.MSHTML&&agent.indexOf("SV1")!==-1){this.SP2=true;}}}}}},defer:function(statics){statics.__init();}});qx.Class.define("qx.event.handler.Mouse",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);this.__manager=manager;this.__window=manager.getWindow();
this.__root=this.__window.document;this._initButtonObserver();this._initMoveObserver();this._initWheelObserver();},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{mousemove:1,mouseover:1,mouseout:1,mousedown:1,mouseup:1,click:1,dblclick:1,contextmenu:1,mousewheel:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{__onButtonEventWrapper:null,__onMoveEventWrapper:null,__onWheelEventWrapper:null,__lastEventType:null,__lastMouseDownTarget:null,__manager:null,__window:null,__root:null,canHandleEvent:function(target,type){},registerEvent:qx.bom.client.System.IPHONE?function(target,type,capture){target["on"+type]=qx.lang.Function.returnNull;
}:qx.lang.Function.returnNull,unregisterEvent:qx.bom.client.System.IPHONE?function(target,type,capture){target["on"+type]=undefined;}:qx.lang.Function.returnNull,__fireEvent:function(domEvent,type,target){if(!target){target=domEvent.target||domEvent.srcElement;}if(target&&target.nodeType){qx.event.Registration.fireEvent(target,type||domEvent.type,qx.event.type.Mouse,[domEvent,target,null,true,true]);
}qx.event.Registration.fireEvent(this.__window,"useraction",qx.event.type.Data,[type||domEvent.type]);},_initButtonObserver:function(){this.__onButtonEventWrapper=qx.lang.Function.listener(this._onButtonEvent,this);var Event=qx.bom.Event;Event.addNativeListener(this.__root,"mousedown",this.__onButtonEventWrapper);
Event.addNativeListener(this.__root,"mouseup",this.__onButtonEventWrapper);Event.addNativeListener(this.__root,"click",this.__onButtonEventWrapper);Event.addNativeListener(this.__root,"dblclick",this.__onButtonEventWrapper);Event.addNativeListener(this.__root,"contextmenu",this.__onButtonEventWrapper);
},_initMoveObserver:function(){this.__onMoveEventWrapper=qx.lang.Function.listener(this._onMoveEvent,this);var Event=qx.bom.Event;Event.addNativeListener(this.__root,"mousemove",this.__onMoveEventWrapper);Event.addNativeListener(this.__root,"mouseover",this.__onMoveEventWrapper);Event.addNativeListener(this.__root,"mouseout",this.__onMoveEventWrapper);
},_initWheelObserver:function(){this.__onWheelEventWrapper=qx.lang.Function.listener(this._onWheelEvent,this);var Event=qx.bom.Event;var type=qx.core.Variant.isSet("qx.client","mshtml|webkit|opera")?"mousewheel":"DOMMouseScroll";Event.addNativeListener(this.__root,type,this.__onWheelEventWrapper);},_stopButtonObserver:function(){var Event=qx.bom.Event;
Event.removeNativeListener(this.__root,"mousedown",this.__onButtonEventWrapper);Event.removeNativeListener(this.__root,"mouseup",this.__onButtonEventWrapper);Event.removeNativeListener(this.__root,"click",this.__onButtonEventWrapper);Event.removeNativeListener(this.__root,"dblclick",this.__onButtonEventWrapper);
Event.removeNativeListener(this.__root,"contextmenu",this.__onButtonEventWrapper);},_stopMoveObserver:function(){var Event=qx.bom.Event;Event.removeNativeListener(this.__root,"mousemove",this.__onMoveEventWrapper);Event.removeNativeListener(this.__root,"mouseover",this.__onMoveEventWrapper);Event.removeNativeListener(this.__root,"mouseout",this.__onMoveEventWrapper);
},_stopWheelObserver:function(){var Event=qx.bom.Event;var type=qx.core.Variant.isSet("qx.client","mshtml|webkit|opera")?"mousewheel":"DOMMouseScroll";Event.removeNativeListener(this.__root,type,this.__onWheelEventWrapper);},_onMoveEvent:qx.event.GlobalError.observeMethod(function(domEvent){this.__fireEvent(domEvent);
}),_onButtonEvent:qx.event.GlobalError.observeMethod(function(domEvent){var type=domEvent.type;var target=domEvent.target||domEvent.srcElement;if(qx.core.Variant.isSet("qx.client","gecko|webkit")){if(target&&target.nodeType==3){target=target.parentNode;}}if(this.__rightClickFixPre){this.__rightClickFixPre(domEvent,type,target);
}if(this.__doubleClickFixPre){this.__doubleClickFixPre(domEvent,type,target);}this.__fireEvent(domEvent,type,target);if(this.__rightClickFixPost){this.__rightClickFixPost(domEvent,type,target);}if(this.__differentTargetClickFixPost){this.__differentTargetClickFixPost(domEvent,type,target);}this.__lastEventType=type;
}),_onWheelEvent:qx.event.GlobalError.observeMethod(function(domEvent){this.__fireEvent(domEvent,"mousewheel");}),__rightClickFixPre:qx.core.Variant.select("qx.client",{"webkit":function(domEvent,type,target){if(qx.bom.client.Engine.VERSION<530){if(type=="contextmenu"){this.__fireEvent(domEvent,"mouseup",target);
}}},"default":null}),__rightClickFixPost:qx.core.Variant.select("qx.client",{"opera":function(domEvent,type,target){if(type=="mouseup"&&domEvent.button==2){this.__fireEvent(domEvent,"contextmenu",target);}},"default":null}),__doubleClickFixPre:qx.core.Variant.select("qx.client",{"mshtml":function(domEvent,type,target){if(type=="mouseup"&&this.__lastEventType=="click"){this.__fireEvent(domEvent,"mousedown",target);
}else{if(type=="dblclick"){this.__fireEvent(domEvent,"click",target);}}},"default":null}),__differentTargetClickFixPost:qx.core.Variant.select("qx.client",{"mshtml":null,"default":function(domEvent,type,target){switch(type){case"mousedown":this.__lastMouseDownTarget=target;break;case"mouseup":if(target!==this.__lastMouseDownTarget){var commonParent=qx.dom.Hierarchy.getCommonParent(target,this.__lastMouseDownTarget);
this.__fireEvent(domEvent,"click",commonParent);}}}})},destruct:function(){this._stopButtonObserver();this._stopMoveObserver();this._stopWheelObserver();this.__manager=this.__window=this.__root=this.__lastMouseDownTarget=null;},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Bootstrap.define("qx.xml.Document",{statics:{DOMDOC:null,XMLHTTP:null,isXmlDocument:function(elem){if(elem.nodeType===9){return elem.documentElement.nodeName!=="HTML";
}else{if(elem.ownerDocument){return this.isXmlDocument(elem.ownerDocument);}else{return false;}}},create:qx.core.Variant.select("qx.client",{"mshtml":function(namespaceUri,qualifiedName){var obj=new ActiveXObject(this.DOMDOC);obj.setProperty("SelectionLanguage","XPath");if(qualifiedName){var str='<?xml version="1.0" encoding="utf-8"?>\n<';
str+=qualifiedName;if(namespaceUri){str+=" xmlns='"+namespaceUri+"'";}str+=" />";obj.loadXML(str);}return obj;},"default":function(namespaceUri,qualifiedName){return document.implementation.createDocument(namespaceUri||"",qualifiedName||"",null);}}),fromString:qx.core.Variant.select("qx.client",{"mshtml":function(str){var dom=qx.xml.Document.create();
dom.loadXML(str);return dom;},"default":function(str){var parser=new DOMParser();return parser.parseFromString(str,"text/xml");}})},defer:function(statics){if(qx.core.Variant.isSet("qx.client","mshtml")){var domDoc=["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.3.0"];var httpReq=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0"];
for(var i=0,l=domDoc.length;i<l;i++){try{new ActiveXObject(domDoc[i]);new ActiveXObject(httpReq[i]);}catch(ex){continue;}statics.DOMDOC=domDoc[i];statics.XMLHTTP=httpReq[i];break;}}}});qx.Bootstrap.define("qx.lang.Date",{statics:{now:function(){return +new Date;}}});qx.Class.define("qx.event.dispatch.AbstractBubbling",{extend:qx.core.Object,implement:qx.event.IEventDispatcher,type:"abstract",construct:function(manager){this._manager=manager;
},members:{_getParent:function(target){throw new Error("Missing implementation");},canDispatchEvent:function(target,event,type){return event.getBubbles();},dispatchEvent:function(target,event,type){var parent=target;var manager=this._manager;var captureListeners,bubbleListeners;var localList;var listener,context;
var currentTarget;var targetList=[];captureListeners=manager.getListeners(target,type,true);bubbleListeners=manager.getListeners(target,type,false);if(captureListeners){targetList.push(captureListeners);}if(bubbleListeners){targetList.push(bubbleListeners);}var parent=this._getParent(target);var bubbleList=[];
var bubbleTargets=[];var captureList=[];var captureTargets=[];while(parent!=null){captureListeners=manager.getListeners(parent,type,true);if(captureListeners){captureList.push(captureListeners);captureTargets.push(parent);}bubbleListeners=manager.getListeners(parent,type,false);if(bubbleListeners){bubbleList.push(bubbleListeners);
bubbleTargets.push(parent);}parent=this._getParent(parent);}event.setEventPhase(qx.event.type.Event.CAPTURING_PHASE);for(var i=captureList.length-1;i>=0;i--){currentTarget=captureTargets[i];event.setCurrentTarget(currentTarget);localList=captureList[i];for(var j=0,jl=localList.length;j<jl;j++){listener=localList[j];
context=listener.context||currentTarget;listener.handler.call(context,event);}if(event.getPropagationStopped()){return ;}}event.setEventPhase(qx.event.type.Event.AT_TARGET);event.setCurrentTarget(target);for(var i=0,il=targetList.length;i<il;i++){localList=targetList[i];for(var j=0,jl=localList.length;
j<jl;j++){listener=localList[j];context=listener.context||target;listener.handler.call(context,event);}if(event.getPropagationStopped()){return ;}}event.setEventPhase(qx.event.type.Event.BUBBLING_PHASE);for(var i=0,il=bubbleList.length;i<il;i++){currentTarget=bubbleTargets[i];event.setCurrentTarget(currentTarget);
localList=bubbleList[i];for(var j=0,jl=localList.length;j<jl;j++){listener=localList[j];context=listener.context||currentTarget;listener.handler.call(context,event);}if(event.getPropagationStopped()){return ;}}}}});qx.Class.define("qx.event.dispatch.DomBubbling",{extend:qx.event.dispatch.AbstractBubbling,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL},members:{_getParent:function(target){return target.parentNode;
},canDispatchEvent:function(target,event,type){return target.nodeType!==undefined&&event.getBubbles();}},defer:function(statics){qx.event.Registration.addDispatcher(statics);}});qx.Class.define("qx.event.handler.Appear",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);
this.__manager=manager;this.__targets={};qx.event.handler.Appear.__instances[this.$$hash]=this;},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{appear:true,disappear:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true,__instances:{},refresh:function(){var all=this.__instances;
for(var hash in all){all[hash].refresh();}}},members:{__manager:null,__targets:null,canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){var hash=qx.core.ObjectRegistry.toHashCode(target)+type;var targets=this.__targets;if(targets&&!targets[hash]){targets[hash]=target;target.$$displayed=target.offsetWidth>0;
}},unregisterEvent:function(target,type,capture){var hash=qx.core.ObjectRegistry.toHashCode(target)+type;var targets=this.__targets;if(!targets){return ;}if(targets[hash]){delete targets[hash];}},refresh:function(){var targets=this.__targets;var elem;for(var hash in targets){elem=targets[hash];var displayed=elem.offsetWidth>0;
if((!!elem.$$displayed)!==displayed){elem.$$displayed=displayed;var evt=qx.event.Registration.createEvent(displayed?"appear":"disappear");this.__manager.dispatchEvent(elem,evt);}}}},destruct:function(){this.__manager=this.__targets=null;delete qx.event.handler.Appear.__instances[this.$$hash];},defer:function(statics){qx.event.Registration.addHandler(statics);
}});qx.Class.define("qx.bom.Element",{statics:{__initialAttributes:{"onload":true,"onpropertychange":true,"oninput":true,"onchange":true,"name":true,"type":true,"checked":true,"disabled":true},create:function(name,attributes,win){if(!win){win=window;}if(!name){throw new Error("The tag name is missing!");
}var initial=this.__initialAttributes;var attributesHtml="";for(var key in attributes){if(initial[key]){attributesHtml+=key+"='"+attributes[key]+"' ";}}var element;if(attributesHtml!=""){if(qx.bom.client.Engine.MSHTML){element=win.document.createElement("<"+name+" "+attributesHtml+">");}else{var helper=win.document.createElement("div");
helper.innerHTML="<"+name+" "+attributesHtml+"></"+name+">";element=helper.firstChild;}}else{element=win.document.createElement(name);}for(var key in attributes){if(!initial[key]){qx.bom.element.Attribute.set(element,key,attributes[key]);}}return element;},empty:function(element){return element.innerHTML="";
},addListener:function(element,type,listener,self,capture){return qx.event.Registration.addListener(element,type,listener,self,capture);},removeListener:function(element,type,listener,self,capture){return qx.event.Registration.removeListener(element,type,listener,self,capture);},removeListenerById:function(target,id){return qx.event.Registration.removeListenerById(target,id);
},hasListener:function(element,type,capture){return qx.event.Registration.hasListener(element,type,capture);},focus:function(element){qx.event.Registration.getManager(element).getHandler(qx.event.handler.Focus).focus(element);},blur:function(element){qx.event.Registration.getManager(element).getHandler(qx.event.handler.Focus).blur(element);
},activate:function(element){qx.event.Registration.getManager(element).getHandler(qx.event.handler.Focus).activate(element);},deactivate:function(element){qx.event.Registration.getManager(element).getHandler(qx.event.handler.Focus).deactivate(element);},capture:function(element,containerCapture){qx.event.Registration.getManager(element).getDispatcher(qx.event.dispatch.MouseCapture).activateCapture(element,containerCapture);
},releaseCapture:function(element){qx.event.Registration.getManager(element).getDispatcher(qx.event.dispatch.MouseCapture).releaseCapture(element);},clone:function(element,events){var clone;if(events||(qx.core.Variant.isSet("qx.client","mshtml")&&!qx.xml.Document.isXmlDocument(element))){var mgr=qx.event.Registration.getManager(element);
var all=qx.dom.Hierarchy.getDescendants(element);all.push(element);}if(qx.core.Variant.isSet("qx.client","mshtml")){for(var i=0,l=all.length;i<l;i++){mgr.toggleAttachedEvents(all[i],false);}}var clone=element.cloneNode(true);if(qx.core.Variant.isSet("qx.client","mshtml")){for(var i=0,l=all.length;i<l;
i++){mgr.toggleAttachedEvents(all[i],true);}}if(events===true){var cloneAll=qx.dom.Hierarchy.getDescendants(clone);cloneAll.push(clone);var eventList,cloneElem,origElem,eventEntry;for(var i=0,il=all.length;i<il;i++){origElem=all[i];eventList=mgr.serializeListeners(origElem);if(eventList.length>0){cloneElem=cloneAll[i];
for(var j=0,jl=eventList.length;j<jl;j++){eventEntry=eventList[j];mgr.addListener(cloneElem,eventEntry.type,eventEntry.handler,eventEntry.self,eventEntry.capture);}}}}return clone;}}});qx.Class.define("qx.bom.element.Cursor",{statics:{__map:qx.core.Variant.select("qx.client",{"mshtml":{"cursor":"hand","ew-resize":"e-resize","ns-resize":"n-resize","nesw-resize":"ne-resize","nwse-resize":"nw-resize"},"opera":{"col-resize":"e-resize","row-resize":"n-resize","ew-resize":"e-resize","ns-resize":"n-resize","nesw-resize":"ne-resize","nwse-resize":"nw-resize"},"default":{}}),compile:function(cursor){return"cursor:"+(this.__map[cursor]||cursor)+";";
},get:function(element,mode){return qx.bom.element.Style.get(element,"cursor",mode,false);},set:function(element,value){element.style.cursor=this.__map[value]||value;},reset:function(element){element.style.cursor="";}}});qx.Class.define("qx.event.handler.Object",{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_LAST,SUPPORTED_TYPES:null,TARGET_CHECK:qx.event.IEventHandler.TARGET_OBJECT,IGNORE_CAN_HANDLE:false},members:{canHandleEvent:function(target,type){return qx.Class.supportsEvent(target.constructor,type);
},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){}},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Class.define("qx.bom.element.Clip",{statics:{compile:function(map){if(!map){return"clip:auto;";}var left=map.left;var top=map.top;var width=map.width;
var height=map.height;var right,bottom;if(left==null){right=(width==null?"auto":width+"px");left="auto";}else{right=(width==null?"auto":left+width+"px");left=left+"px";}if(top==null){bottom=(height==null?"auto":height+"px");top="auto";}else{bottom=(height==null?"auto":top+height+"px");top=top+"px";}return"clip:rect("+top+","+right+","+bottom+","+left+");";
},get:function(element,mode){var clip=qx.bom.element.Style.get(element,"clip",mode,false);var left,top,width,height;var right,bottom;if(typeof clip==="string"&&clip!=="auto"&&clip!==""){clip=qx.lang.String.trim(clip);if(/\((.*)\)/.test(clip)){var split=RegExp.$1.split(",");top=qx.lang.String.trim(split[0]);
right=qx.lang.String.trim(split[1]);bottom=qx.lang.String.trim(split[2]);left=qx.lang.String.trim(split[3]);if(left==="auto"){left=null;}if(top==="auto"){top=null;}if(right==="auto"){right=null;}if(bottom==="auto"){bottom=null;}if(top!=null){top=parseInt(top,10);}if(right!=null){right=parseInt(right,10);
}if(bottom!=null){bottom=parseInt(bottom,10);}if(left!=null){left=parseInt(left,10);}if(right!=null&&left!=null){width=right-left;}else{if(right!=null){width=right;}}if(bottom!=null&&top!=null){height=bottom-top;}else{if(bottom!=null){height=bottom;}}}else{throw new Error("Could not parse clip string: "+clip);
}}return{left:left||null,top:top||null,width:width||null,height:height||null};},set:function(element,map){if(!map){element.style.clip="rect(auto,auto,auto,auto)";return ;}var left=map.left;var top=map.top;var width=map.width;var height=map.height;var right,bottom;if(left==null){right=(width==null?"auto":width+"px");
left="auto";}else{right=(width==null?"auto":left+width+"px");left=left+"px";}if(top==null){bottom=(height==null?"auto":height+"px");top="auto";}else{bottom=(height==null?"auto":top+height+"px");top=top+"px";}element.style.clip="rect("+top+","+right+","+bottom+","+left+")";},reset:function(element){element.style.clip=qx.bom.client.Engine.MSHTML?"rect(auto)":"auto";
}}});qx.Class.define("qx.core.WindowError",{extend:Error,construct:function(failMessage,uri,lineNumber){Error.call(this,failMessage);this.__failMessage=failMessage;this.__uri=uri||"";this.__lineNumber=lineNumber===undefined?-1:lineNumber;},members:{__failMessage:null,__uri:null,__lineNumber:null,toString:function(){return this.__failMessage;
},getUri:function(){return this.__uri;},getLineNumber:function(){return this.__lineNumber;}}});qx.Class.define("qx.event.handler.Application",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);this._window=manager.getWindow();this.__domReady=false;
this.__loaded=false;this._initObserver();qx.event.handler.Application.$$instance=this;},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{ready:1,shutdown:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true,__scriptLoaded:false,onScriptLoaded:function(){this.__scriptLoaded=true;
var inst=qx.event.handler.Application.$$instance;if(inst){inst.__fireReady();}}},members:{canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){},__isReady:null,__domReady:null,__loaded:null,__isUnloaded:null,__fireReady:function(){var clazz=qx.event.handler.Application;
if(!this.__isReady&&this.__domReady&&clazz.__scriptLoaded){if(qx.core.Variant.isSet("qx.client","mshtml")){if(qx.event.Registration.hasListener(this._window,"ready")){this.__isReady=true;qx.event.Registration.fireEvent(this._window,"ready");}}else{this.__isReady=true;qx.event.Registration.fireEvent(this._window,"ready");
}}},isApplicationReady:function(){return this.__isReady;},_initObserver:function(){if(qx.$$domReady||document.readyState=="complete"){this.__domReady=true;this.__fireReady();}else{this._onNativeLoadWrapped=qx.lang.Function.bind(this._onNativeLoad,this);if(qx.core.Variant.isSet("qx.client","gecko|opera|webkit")){qx.bom.Event.addNativeListener(this._window,"DOMContentLoaded",this._onNativeLoadWrapped);
}else{if(qx.core.Variant.isSet("qx.client","mshtml")){var self=this;var timer=function(){try{document.documentElement.doScroll("left");if(document.body){self._onNativeLoadWrapped();}}catch(error){window.setTimeout(timer,100);}};timer();}}qx.bom.Event.addNativeListener(this._window,"load",this._onNativeLoadWrapped);
}this._onNativeUnloadWrapped=qx.lang.Function.bind(this._onNativeUnload,this);qx.bom.Event.addNativeListener(this._window,"unload",this._onNativeUnloadWrapped);},_stopObserver:function(){if(this._onNativeLoadWrapped){qx.bom.Event.removeNativeListener(this._window,"load",this._onNativeLoadWrapped);}qx.bom.Event.removeNativeListener(this._window,"unload",this._onNativeUnloadWrapped);
this._onNativeLoadWrapped=null;this._onNativeUnloadWrapped=null;},_onNativeLoad:qx.event.GlobalError.observeMethod(function(){this.__domReady=true;this.__fireReady();}),_onNativeUnload:qx.event.GlobalError.observeMethod(function(){if(!this.__isUnloaded){this.__isUnloaded=true;try{qx.event.Registration.fireEvent(this._window,"shutdown");
}catch(e){throw e;}finally{qx.core.ObjectRegistry.shutdown();}}})},destruct:function(){this._stopObserver();this._window=null;},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Class.define("qx.bom.element.Overflow",{statics:{__scrollbarSize:null,getScrollbarWidth:function(){if(this.__scrollbarSize!==null){return this.__scrollbarSize;
}var Style=qx.bom.element.Style;var getStyleSize=function(el,propertyName){return parseInt(Style.get(el,propertyName))||0;};var getBorderRight=function(el){return(Style.get(el,"borderRightStyle")=="none"?0:getStyleSize(el,"borderRightWidth"));};var getBorderLeft=function(el){return(Style.get(el,"borderLeftStyle")=="none"?0:getStyleSize(el,"borderLeftWidth"));
};var getInsetRight=qx.core.Variant.select("qx.client",{"mshtml":function(el){if(Style.get(el,"overflowY")=="hidden"||el.clientWidth==0){return getBorderRight(el);}return Math.max(0,el.offsetWidth-el.clientLeft-el.clientWidth);},"default":function(el){if(el.clientWidth==0){var ov=Style.get(el,"overflow");
var sbv=(ov=="scroll"||ov=="-moz-scrollbars-vertical"?16:0);return Math.max(0,getBorderRight(el)+sbv);}return Math.max(0,(el.offsetWidth-el.clientWidth-getBorderLeft(el)));}});var getScrollBarSizeRight=function(el){return getInsetRight(el)-getBorderRight(el);};var t=document.createElement("div");var s=t.style;
s.height=s.width="100px";s.overflow="scroll";document.body.appendChild(t);var c=getScrollBarSizeRight(t);this.__scrollbarSize=c?c:16;document.body.removeChild(t);return this.__scrollbarSize;},_compile:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(prop,value){if(value=="hidden"){value="-moz-scrollbars-none";
}return"overflow:"+value+";";}:function(prop,value){return prop+":"+value+";";},"opera":qx.bom.client.Engine.VERSION<9.5?function(prop,value){return"overflow:"+value+";";}:function(prop,value){return prop+":"+value+";";},"default":function(prop,value){return prop+":"+value+";";}}),compileX:function(value){return this._compile("overflow-x",value);
},compileY:function(value){return this._compile("overflow-y",value);},getX:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element,mode){var overflow=qx.bom.element.Style.get(element,"overflow",mode,false);if(overflow==="-moz-scrollbars-none"){overflow="hidden";}return overflow;
}:function(element,mode){return qx.bom.element.Style.get(element,"overflowX",mode,false);},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,mode){return qx.bom.element.Style.get(element,"overflow",mode,false);}:function(element,mode){return qx.bom.element.Style.get(element,"overflowX",mode,false);
},"default":function(element,mode){return qx.bom.element.Style.get(element,"overflowX",mode,false);}}),setX:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element,value){if(value=="hidden"){value="-moz-scrollbars-none";}element.style.overflow=value;}:function(element,value){element.style.overflowX=value;
},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,value){element.style.overflow=value;}:function(element,value){element.style.overflowX=value;},"default":function(element,value){element.style.overflowX=value;}}),resetX:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element){element.style.overflow="";
}:function(element){element.style.overflowX="";},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,value){element.style.overflow="";}:function(element,value){element.style.overflowX="";},"default":function(element){element.style.overflowX="";}}),getY:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element,mode){var overflow=qx.bom.element.Style.get(element,"overflow",mode,false);
if(overflow==="-moz-scrollbars-none"){overflow="hidden";}return overflow;}:function(element,mode){return qx.bom.element.Style.get(element,"overflowY",mode,false);},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,mode){return qx.bom.element.Style.get(element,"overflow",mode,false);}:function(element,mode){return qx.bom.element.Style.get(element,"overflowY",mode,false);
},"default":function(element,mode){return qx.bom.element.Style.get(element,"overflowY",mode,false);}}),setY:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element,value){if(value==="hidden"){value="-moz-scrollbars-none";}element.style.overflow=value;}:function(element,value){element.style.overflowY=value;
},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,value){element.style.overflow=value;}:function(element,value){element.style.overflowY=value;},"default":function(element,value){element.style.overflowY=value;}}),resetY:qx.core.Variant.select("qx.client",{"gecko":qx.bom.client.Engine.VERSION<1.8?function(element){element.style.overflow="";
}:function(element){element.style.overflowY="";},"opera":qx.bom.client.Engine.VERSION<9.5?function(element,value){element.style.overflow="";}:function(element,value){element.style.overflowY="";},"default":function(element){element.style.overflowY="";}})}});qx.Class.define("qx.event.handler.Input",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(){this.base(arguments);
this._onChangeCheckedWrapper=qx.lang.Function.listener(this._onChangeChecked,this);this._onChangeValueWrapper=qx.lang.Function.listener(this._onChangeValue,this);this._onInputWrapper=qx.lang.Function.listener(this._onInput,this);this._onPropertyWrapper=qx.lang.Function.listener(this._onProperty,this);
},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{input:1,change:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:false},members:{canHandleEvent:function(target,type){var lower=target.tagName.toLowerCase();if(type==="input"&&(lower==="input"||lower==="textarea")){return true;
}if(type==="change"&&(lower==="input"||lower==="textarea"||lower==="select")){return true;}return false;},registerEvent:qx.core.Variant.select("qx.client",{"mshtml":function(target,type,capture){if(!target.__inputHandlerAttached){var tag=target.tagName.toLowerCase();var elementType=target.type;if(elementType==="text"||elementType==="password"||tag==="textarea"||elementType==="checkbox"||elementType==="radio"){qx.bom.Event.addNativeListener(target,"propertychange",this._onPropertyWrapper);
}if(elementType!=="checkbox"&&elementType!=="radio"){qx.bom.Event.addNativeListener(target,"change",this._onChangeValueWrapper);}this.__changeEventOnEnterFix(target,elementType);target.__inputHandlerAttached=true;}},"default":function(target,type,capture){if(type==="input"){this.__registerInputListener(target);
}else{if(type==="change"){if(target.type==="radio"||target.type==="checkbox"){qx.bom.Event.addNativeListener(target,"change",this._onChangeCheckedWrapper);}else{qx.bom.Event.addNativeListener(target,"change",this._onChangeValueWrapper);}this.__changeEventOnEnterFix(target,target.type);}}}}),__registerInputListener:qx.core.Variant.select("qx.client",{"mshtml":null,"webkit":function(target){var tag=target.tagName.toLowerCase();
if(qx.bom.client.Engine.VERSION<532&&tag=="textarea"){qx.bom.Event.addNativeListener(target,"keypress",this._onInputWrapper);}qx.bom.Event.addNativeListener(target,"input",this._onInputWrapper);},"default":function(target){qx.bom.Event.addNativeListener(target,"input",this._onInputWrapper);}}),unregisterEvent:qx.core.Variant.select("qx.client",{"mshtml":function(target,type){if(target.__inputHandlerAttached){var tag=target.tagName.toLowerCase();
var elementType=target.type;if(elementType==="text"||elementType==="password"||tag==="textarea"||elementType==="checkbox"||elementType==="radio"){qx.bom.Event.removeNativeListener(target,"propertychange",this._onPropertyWrapper);}if(elementType!=="checkbox"&&elementType!=="radio"){qx.bom.Event.removeNativeListener(target,"change",this._onChangeValueWrapper);
}try{delete target.__inputHandlerAttached;}catch(ex){target.__inputHandlerAttached=null;}}},"default":function(target,type){if(type==="input"){this.__registerInputListener(target);}else{if(type==="change"){if(target.type==="radio"||target.type==="checkbox"){qx.bom.Event.removeNativeListener(target,"change",this._onChangeCheckedWrapper);
}else{qx.bom.Event.removeNativeListener(target,"change",this._onChangeValueWrapper);}}}}}),__unregisterInputListener:qx.core.Variant.select("qx.client",{"mshtml":null,"webkit":function(target){var tag=target.tagName.toLowerCase();if(qx.bom.client.Engine.VERSION<532&&tag=="textarea"){qx.bom.Event.removeNativeListener(target,"keypress",this._onInputWrapper);
}qx.bom.Event.removeNativeListener(target,"input",this._onInputWrapper);},"default":function(target){qx.bom.Event.removeNativeListener(target,"input",this._onInputWrapper);}}),__changeEventOnEnterFix:qx.core.Variant.select("qx.client",{"mshtml|opera":function(target,elementType){if(elementType==="text"||elementType==="password"){qx.event.Registration.addListener(target,"keypress",function(e){if(e.getKeyIdentifier()==="Enter"){qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[target.value]);
}});}},"default":function(target,elementType){}}),_onInput:qx.event.GlobalError.observeMethod(function(e){var target=e.target;qx.event.Registration.fireEvent(target,"input",qx.event.type.Data,[target.value]);}),_onChangeValue:qx.event.GlobalError.observeMethod(function(e){var target=e.target||e.srcElement;
var data=target.value;if(target.type==="select-multiple"){var data=[];for(var i=0,o=target.options,l=o.length;i<l;i++){if(o[i].selected){data.push(o[i].value);}}}qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[data]);}),_onChangeChecked:qx.event.GlobalError.observeMethod(function(e){var target=e.target;
if(target.type==="radio"){if(target.checked){qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[target.value]);}}else{qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[target.checked]);}}),_onProperty:qx.core.Variant.select("qx.client",{"mshtml":qx.event.GlobalError.observeMethod(function(e){var target=e.target||e.srcElement;
var prop=e.propertyName;if(prop==="value"&&(target.type==="text"||target.type==="password"||target.tagName.toLowerCase()==="textarea")){if(!target.__inValueSet){qx.event.Registration.fireEvent(target,"input",qx.event.type.Data,[target.value]);}}else{if(prop==="checked"){if(target.type==="checkbox"){qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[target.checked]);
}else{if(target.checked){qx.event.Registration.fireEvent(target,"change",qx.event.type.Data,[target.value]);}}}}}),"default":function(){}})},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Class.define("qx.bom.Input",{statics:{__types:{text:1,textarea:1,select:1,checkbox:1,radio:1,password:1,hidden:1,submit:1,image:1,file:1,search:1,reset:1,button:1},create:function(type,attributes,win){var attributes=attributes?qx.lang.Object.clone(attributes):{};
var tag;if(type==="textarea"||type==="select"){tag=type;}else{tag="input";attributes.type=type;}return qx.bom.Element.create(tag,attributes,win);},setValue:function(element,value){var tag=element.nodeName.toLowerCase();var type=element.type;var Array=qx.lang.Array;var Type=qx.lang.Type;if(typeof value==="number"){value+="";
}if((type==="checkbox"||type==="radio")){if(Type.isArray(value)){element.checked=Array.contains(value,element.value);}else{element.checked=element.value==value;}}else{if(tag==="select"){var isArray=Type.isArray(value);var options=element.options;var subel,subval;for(var i=0,l=options.length;i<l;i++){subel=options[i];
subval=subel.getAttribute("value");if(subval==null){subval=subel.text;}subel.selected=isArray?Array.contains(value,subval):value==subval;}if(isArray&&value.length==0){element.selectedIndex=-1;}}else{if(type==="text"&&qx.core.Variant.isSet("qx.client","mshtml")){element.__inValueSet=true;element.value=value;
element.__inValueSet=null;}else{element.value=value;}}}},getValue:function(element){var tag=element.nodeName.toLowerCase();if(tag==="option"){return(element.attributes.value||{}).specified?element.value:element.text;}if(tag==="select"){var index=element.selectedIndex;if(index<0){return null;}var values=[];
var options=element.options;var one=element.type=="select-one";var clazz=qx.bom.Input;var value;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=clazz.getValue(option);if(one){return value;}values.push(value);}}return values;}else{return(element.value||"").replace(/\r/g,"");
}},setWrap:qx.core.Variant.select("qx.client",{"mshtml":function(element,wrap){element.wrap=wrap?"soft":"off";},"gecko":function(element,wrap){var wrapValue=wrap?"soft":"off";var styleValue=wrap?"":"auto";element.setAttribute("wrap",wrapValue);element.style.overflow=styleValue;},"default":function(element,wrap){element.style.whiteSpace=wrap?"normal":"nowrap";
}})}});qx.Bootstrap.define("qx.lang.Core",{statics:{errorToString:qx.lang.Object.select((!Error.prototype.toString||Error.prototype.toString()=="[object Error]")?"emulated":"native",{"native":Error.prototype.toString,"emulated":function(){return this.message;}}),arrayIndexOf:qx.lang.Object.select(Array.prototype.indexOf?"native":"emulated",{"native":Array.prototype.indexOf,"emulated":function(searchElement,fromIndex){if(fromIndex==null){fromIndex=0;
}else{if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}}for(var i=fromIndex;i<this.length;i++){if(this[i]===searchElement){return i;}}return -1;}}),arrayLastIndexOf:qx.lang.Object.select(Array.prototype.lastIndexOf?"native":"emulated",{"native":Array.prototype.lastIndexOf,"emulated":function(searchElement,fromIndex){if(fromIndex==null){fromIndex=this.length-1;
}else{if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}}for(var i=fromIndex;i>=0;i--){if(this[i]===searchElement){return i;}}return -1;}}),arrayForEach:qx.lang.Object.select(Array.prototype.forEach?"native":"emulated",{"native":Array.prototype.forEach,"emulated":function(callback,obj){var l=this.length;
for(var i=0;i<l;i++){var value=this[i];if(value!==undefined){callback.call(obj||window,value,i,this);}}}}),arrayFilter:qx.lang.Object.select(Array.prototype.filter?"native":"emulated",{"native":Array.prototype.filter,"emulated":function(callback,obj){var res=[];var l=this.length;for(var i=0;i<l;i++){var value=this[i];
if(value!==undefined){if(callback.call(obj||window,value,i,this)){res.push(this[i]);}}}return res;}}),arrayMap:qx.lang.Object.select(Array.prototype.map?"native":"emulated",{"native":Array.prototype.map,"emulated":function(callback,obj){var res=[];var l=this.length;for(var i=0;i<l;i++){var value=this[i];
if(value!==undefined){res[i]=callback.call(obj||window,value,i,this);}}return res;}}),arraySome:qx.lang.Object.select(Array.prototype.some?"native":"emulated",{"native":Array.prototype.some,"emulated":function(callback,obj){var l=this.length;for(var i=0;i<l;i++){var value=this[i];if(value!==undefined){if(callback.call(obj||window,value,i,this)){return true;
}}}return false;}}),arrayEvery:qx.lang.Object.select(Array.prototype.every?"native":"emulated",{"native":Array.prototype.every,"emulated":function(callback,obj){var l=this.length;for(var i=0;i<l;i++){var value=this[i];if(value!==undefined){if(!callback.call(obj||window,value,i,this)){return false;}}}return true;
}}),stringQuote:qx.lang.Object.select(String.prototype.quote?"native":"emulated",{"native":String.prototype.quote,"emulated":function(){return'"'+this.replace(/\\/g,"\\\\").replace(/\"/g,'\\"')+'"';}})}});Error.prototype.toString=qx.lang.Core.errorToString;Array.prototype.indexOf=qx.lang.Core.arrayIndexOf;
Array.prototype.lastIndexOf=qx.lang.Core.arrayLastIndexOf;Array.prototype.forEach=qx.lang.Core.arrayForEach;Array.prototype.filter=qx.lang.Core.arrayFilter;Array.prototype.map=qx.lang.Core.arrayMap;Array.prototype.some=qx.lang.Core.arraySome;Array.prototype.every=qx.lang.Core.arrayEvery;String.prototype.quote=qx.lang.Core.stringQuote;
qx.Bootstrap.define("qx.lang.Generics",{statics:{__map:{"Array":["join","reverse","sort","push","pop","shift","unshift","splice","concat","slice","indexOf","lastIndexOf","forEach","map","filter","some","every"],"String":["quote","substring","toLowerCase","toUpperCase","charAt","charCodeAt","indexOf","lastIndexOf","toLocaleLowerCase","toLocaleUpperCase","localeCompare","match","search","replace","split","substr","concat","slice"]},__wrap:function(obj,func){return function(s){return obj.prototype[func].apply(s,Array.prototype.slice.call(arguments,1));
};},__init:function(){var map=qx.lang.Generics.__map;for(var key in map){var obj=window[key];var arr=map[key];for(var i=0,l=arr.length;i<l;i++){var func=arr[i];if(!obj[func]){obj[func]=qx.lang.Generics.__wrap(obj,func);}}}}},defer:function(statics){statics.__init();}});qx.Bootstrap.define("qx.bom.client.Feature",{statics:{STANDARD_MODE:false,QUIRKS_MODE:false,CONTENT_BOX:false,BORDER_BOX:false,SVG:false,CANVAS:false,VML:false,XPATH:false,AIR:false,GEARS:false,SSL:false,__init:function(){this.QUIRKS_MODE=this.__isQuirksMode();
this.STANDARD_MODE=!this.QUIRKS_MODE;this.CONTENT_BOX=!qx.bom.client.Engine.MSHTML||this.STANDARD_MODE;this.BORDER_BOX=!this.CONTENT_BOX;this.SVG=document.implementation&&document.implementation.hasFeature&&(document.implementation.hasFeature("org.w3c.dom.svg","1.0")||document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1"));
this.CANVAS=!!window.CanvasRenderingContext2D;this.VML=qx.bom.client.Engine.MSHTML;this.AIR=navigator.userAgent.indexOf("adobeair")!==-1;this.GEARS=!!(window.google&&window.google.gears);this.XPATH=!!document.evaluate;this.SSL=window.location.protocol==="https:";},__isQuirksMode:function(){if(qx.bom.client.Engine.MSHTML&&qx.bom.client.Engine.VERSION>=8){return qx.bom.client.Engine.DOCUMENT_MODE===5;
}else{return document.compatMode!=="CSS1Compat";}}},defer:function(statics){statics.__init();}});qx.Class.define("qx.util.ResourceManager",{extend:qx.core.Object,type:"singleton",statics:{__registry:qx.$$resources||{},__urlPrefix:{}},members:{has:function(id){return !!this.self(arguments).__registry[id];
},getData:function(id){return this.self(arguments).__registry[id]||null;},getImageWidth:function(id){var entry=this.self(arguments).__registry[id];return entry?entry[0]:null;},getImageHeight:function(id){var entry=this.self(arguments).__registry[id];return entry?entry[1]:null;},getImageFormat:function(id){var entry=this.self(arguments).__registry[id];
return entry?entry[2]:null;},isClippedImage:function(id){var entry=this.self(arguments).__registry[id];return entry&&entry.length>4;},toUri:function(id){if(id==null){return id;}var entry=this.self(arguments).__registry[id];if(!entry){return id;}if(typeof entry==="string"){var lib=entry;}else{var lib=entry[3];
if(!lib){return id;}}var urlPrefix="";if(qx.core.Variant.isSet("qx.client","mshtml")&&qx.bom.client.Feature.SSL){urlPrefix=this.self(arguments).__urlPrefix[lib];}return urlPrefix+qx.$$libraries[lib].resourceUri+"/"+id;}},defer:function(statics){if(qx.core.Variant.isSet("qx.client","mshtml")){if(qx.bom.client.Feature.SSL){for(var lib in qx.$$libraries){var resourceUri=qx.$$libraries[lib].resourceUri;
if(resourceUri.match(/^\/\//)!=null){statics.__urlPrefix[lib]=window.location.protocol;}else{if(resourceUri.match(/^\.\//)!=null&&qx.core.Setting.get("qx.isSource")){var url=document.URL;statics.__urlPrefix[lib]=url.substring(0,url.lastIndexOf("/"));}else{if(resourceUri.match(/^http/)!=null){}else{var index=window.location.href.indexOf("?");
var href;if(index==-1){href=window.location.href;}else{href=window.location.href.substring(0,index);}statics.__urlPrefix[lib]=href.substring(0,href.lastIndexOf("/")+1);}}}}}}}});qx.Class.define("qx.event.handler.Focus",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);
this._manager=manager;this._window=manager.getWindow();this._document=this._window.document;this._root=this._document.documentElement;this._body=this._document.body;this._initObserver();},properties:{active:{apply:"_applyActive",nullable:true},focus:{apply:"_applyFocus",nullable:true}},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{focus:1,blur:1,focusin:1,focusout:1,activate:1,deactivate:1},IGNORE_CAN_HANDLE:true,FOCUSABLE_ELEMENTS:qx.core.Variant.select("qx.client",{"mshtml|gecko":{a:1,body:1,button:1,frame:1,iframe:1,img:1,input:1,object:1,select:1,textarea:1},"opera|webkit":{button:1,input:1,select:1,textarea:1}})},members:{__onNativeMouseDownWrapper:null,__onNativeMouseUpWrapper:null,__onNativeFocusWrapper:null,__onNativeBlurWrapper:null,__onNativeDragGestureWrapper:null,__onNativeSelectStartWrapper:null,__onNativeFocusInWrapper:null,__onNativeFocusOutWrapper:null,__previousFocus:null,__previousActive:null,canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){},focus:function(element){try{element.focus();
}catch(ex){}this.setFocus(element);this.setActive(element);},activate:function(element){this.setActive(element);},blur:function(element){try{element.blur();}catch(ex){}if(this.getActive()===element){this.resetActive();}if(this.getFocus()===element){this.resetFocus();}},deactivate:function(element){if(this.getActive()===element){this.resetActive();
}},tryActivate:function(element){var active=this.__findActivatableElement(element);if(active){this.setActive(active);}},__fireEvent:function(target,related,type,bubbles){var Registration=qx.event.Registration;var evt=Registration.createEvent(type,qx.event.type.Focus,[target,related,bubbles]);Registration.dispatchEvent(target,evt);
},_windowFocused:true,__doWindowBlur:function(){if(this._windowFocused){this._windowFocused=false;this.__fireEvent(this._window,null,"blur",false);}},__doWindowFocus:function(){if(!this._windowFocused){this._windowFocused=true;this.__fireEvent(this._window,null,"focus",false);}},_initObserver:qx.core.Variant.select("qx.client",{"gecko":function(){this.__onNativeMouseDownWrapper=qx.lang.Function.listener(this.__onNativeMouseDown,this);
this.__onNativeMouseUpWrapper=qx.lang.Function.listener(this.__onNativeMouseUp,this);this.__onNativeFocusWrapper=qx.lang.Function.listener(this.__onNativeFocus,this);this.__onNativeBlurWrapper=qx.lang.Function.listener(this.__onNativeBlur,this);this.__onNativeDragGestureWrapper=qx.lang.Function.listener(this.__onNativeDragGesture,this);
this._document.addEventListener("mousedown",this.__onNativeMouseDownWrapper,true);this._document.addEventListener("mouseup",this.__onNativeMouseUpWrapper,true);this._window.addEventListener("focus",this.__onNativeFocusWrapper,true);this._window.addEventListener("blur",this.__onNativeBlurWrapper,true);
this._window.addEventListener("draggesture",this.__onNativeDragGestureWrapper,true);},"mshtml":function(){this.__onNativeMouseDownWrapper=qx.lang.Function.listener(this.__onNativeMouseDown,this);this.__onNativeMouseUpWrapper=qx.lang.Function.listener(this.__onNativeMouseUp,this);this.__onNativeFocusInWrapper=qx.lang.Function.listener(this.__onNativeFocusIn,this);
this.__onNativeFocusOutWrapper=qx.lang.Function.listener(this.__onNativeFocusOut,this);this.__onNativeSelectStartWrapper=qx.lang.Function.listener(this.__onNativeSelectStart,this);this._document.attachEvent("onmousedown",this.__onNativeMouseDownWrapper);this._document.attachEvent("onmouseup",this.__onNativeMouseUpWrapper);
this._document.attachEvent("onfocusin",this.__onNativeFocusInWrapper);this._document.attachEvent("onfocusout",this.__onNativeFocusOutWrapper);this._document.attachEvent("onselectstart",this.__onNativeSelectStartWrapper);},"webkit":function(){this.__onNativeMouseDownWrapper=qx.lang.Function.listener(this.__onNativeMouseDown,this);
this.__onNativeMouseUpWrapper=qx.lang.Function.listener(this.__onNativeMouseUp,this);this.__onNativeFocusOutWrapper=qx.lang.Function.listener(this.__onNativeFocusOut,this);this.__onNativeFocusWrapper=qx.lang.Function.listener(this.__onNativeFocus,this);this.__onNativeBlurWrapper=qx.lang.Function.listener(this.__onNativeBlur,this);
this.__onNativeSelectStartWrapper=qx.lang.Function.listener(this.__onNativeSelectStart,this);this._document.addEventListener("mousedown",this.__onNativeMouseDownWrapper,true);this._document.addEventListener("mouseup",this.__onNativeMouseUpWrapper,true);this._document.addEventListener("selectstart",this.__onNativeSelectStartWrapper,false);
this._window.addEventListener("DOMFocusOut",this.__onNativeFocusOutWrapper,true);this._window.addEventListener("focus",this.__onNativeFocusWrapper,true);this._window.addEventListener("blur",this.__onNativeBlurWrapper,true);},"opera":function(){this.__onNativeMouseDownWrapper=qx.lang.Function.listener(this.__onNativeMouseDown,this);
this.__onNativeMouseUpWrapper=qx.lang.Function.listener(this.__onNativeMouseUp,this);this.__onNativeFocusInWrapper=qx.lang.Function.listener(this.__onNativeFocusIn,this);this.__onNativeFocusOutWrapper=qx.lang.Function.listener(this.__onNativeFocusOut,this);this._document.addEventListener("mousedown",this.__onNativeMouseDownWrapper,true);
this._document.addEventListener("mouseup",this.__onNativeMouseUpWrapper,true);this._window.addEventListener("DOMFocusIn",this.__onNativeFocusInWrapper,true);this._window.addEventListener("DOMFocusOut",this.__onNativeFocusOutWrapper,true);}}),_stopObserver:qx.core.Variant.select("qx.client",{"gecko":function(){this._document.removeEventListener("mousedown",this.__onNativeMouseDownWrapper,true);
this._document.removeEventListener("mouseup",this.__onNativeMouseUpWrapper,true);this._window.removeEventListener("focus",this.__onNativeFocusWrapper,true);this._window.removeEventListener("blur",this.__onNativeBlurWrapper,true);this._window.removeEventListener("draggesture",this.__onNativeDragGestureWrapper,true);
},"mshtml":function(){this._document.detachEvent("onmousedown",this.__onNativeMouseDownWrapper);this._document.detachEvent("onmouseup",this.__onNativeMouseUpWrapper);this._document.detachEvent("onfocusin",this.__onNativeFocusInWrapper);this._document.detachEvent("onfocusout",this.__onNativeFocusOutWrapper);
this._document.detachEvent("onselectstart",this.__onNativeSelectStartWrapper);},"webkit":function(){this._document.removeEventListener("mousedown",this.__onNativeMouseDownWrapper,true);this._document.removeEventListener("selectstart",this.__onNativeSelectStartWrapper,false);this._window.removeEventListener("DOMFocusIn",this.__onNativeFocusInWrapper,true);
this._window.removeEventListener("DOMFocusOut",this.__onNativeFocusOutWrapper,true);this._window.removeEventListener("focus",this.__onNativeFocusWrapper,true);this._window.removeEventListener("blur",this.__onNativeBlurWrapper,true);},"opera":function(){this._document.removeEventListener("mousedown",this.__onNativeMouseDownWrapper,true);
this._window.removeEventListener("DOMFocusIn",this.__onNativeFocusInWrapper,true);this._window.removeEventListener("DOMFocusOut",this.__onNativeFocusOutWrapper,true);this._window.removeEventListener("focus",this.__onNativeFocusWrapper,true);this._window.removeEventListener("blur",this.__onNativeBlurWrapper,true);
}}),__onNativeDragGesture:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"gecko":function(e){if(!this.__isSelectable(e.target)){qx.bom.Event.preventDefault(e);}},"default":null})),__onNativeFocusIn:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"mshtml":function(e){this.__doWindowFocus();
var target=e.srcElement;var focusTarget=this.__findFocusableElement(target);if(focusTarget){this.setFocus(focusTarget);}this.tryActivate(target);},"opera":function(e){var target=e.target;if(target==this._document||target==this._window){this.__doWindowFocus();if(this.__previousFocus){this.setFocus(this.__previousFocus);
delete this.__previousFocus;}if(this.__previousActive){this.setActive(this.__previousActive);delete this.__previousActive;}}else{this.setFocus(target);this.tryActivate(target);if(!this.__isSelectable(target)){target.selectionStart=0;target.selectionEnd=0;}}},"default":null})),__onNativeFocusOut:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"mshtml":function(e){if(!e.toElement){this.__doWindowBlur();
this.resetFocus();this.resetActive();}},"webkit":function(e){var target=e.target;if(target===this.getFocus()){this.resetFocus();}if(target===this.getActive()){this.resetActive();}},"opera":function(e){var target=e.target;if(target==this._document){this.__doWindowBlur();this.__previousFocus=this.getFocus();
this.__previousActive=this.getActive();this.resetFocus();this.resetActive();}else{if(target===this.getFocus()){this.resetFocus();}if(target===this.getActive()){this.resetActive();}}},"default":null})),__onNativeBlur:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"gecko":function(e){if(e.target===this._window||e.target===this._document){this.__doWindowBlur();
this.resetActive();this.resetFocus();}},"webkit":function(e){if(e.target===this._window||e.target===this._document){this.__doWindowBlur();this.__previousFocus=this.getFocus();this.__previousActive=this.getActive();this.resetActive();this.resetFocus();}},"default":null})),__onNativeFocus:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"gecko":function(e){var target=e.target;
if(target===this._window||target===this._document){this.__doWindowFocus();target=this._body;}this.setFocus(target);this.tryActivate(target);},"webkit":function(e){var target=e.target;if(target===this._window||target===this._document){this.__doWindowFocus();if(this.__previousFocus){this.setFocus(this.__previousFocus);
delete this.__previousFocus;}if(this.__previousActive){this.setActive(this.__previousActive);delete this.__previousActive;}}else{this.setFocus(target);this.tryActivate(target);}},"default":null})),__onNativeMouseDown:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"gecko":function(e){var target=e.target;
var focusTarget=this.__findFocusableElement(target);var selectable=this.__isSelectable(target);if(!selectable){qx.bom.Event.preventDefault(e);if(focusTarget){if(qx.core.Variant.isSet("qx.client","gecko")){var isElementOfRootPage=qx.bom.element.Attribute.get(focusTarget,"qxIsRootPage")==="1";if(!isElementOfRootPage){focusTarget.focus();
}}else{focusTarget.focus();}}}else{if(!focusTarget){qx.bom.Event.preventDefault(e);}}},"mshtml":function(e){var target=e.srcElement;var focusTarget=this.__findFocusableElement(target);if(focusTarget){if(!this.__isSelectable(target)){target.unselectable="on";try{document.selection.empty();}catch(e){}focusTarget.focus();
}}else{qx.bom.Event.preventDefault(e);if(!this.__isSelectable(target)){target.unselectable="on";}}},"webkit":function(e){var target=e.target;var focusTarget=this.__findFocusableElement(target);if(focusTarget){this.setFocus(focusTarget);}else{qx.bom.Event.preventDefault(e);}},"opera":function(e){var target=e.target;
var focusTarget=this.__findFocusableElement(target);if(!this.__isSelectable(target)){qx.bom.Event.preventDefault(e);if(focusTarget){var current=this.getFocus();if(current&&current.selectionEnd){current.selectionStart=0;current.selectionEnd=0;current.blur();}if(focusTarget){this.setFocus(focusTarget);
}}}else{if(focusTarget){this.setFocus(focusTarget);}}},"default":null})),__onNativeMouseUp:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"mshtml":function(e){var target=e.srcElement;if(target.unselectable){target.unselectable="off";}this.tryActivate(this.__fixFocus(target));},"gecko":function(e){var target=e.target;
while(target&&target.offsetWidth===undefined){target=target.parentNode;}if(target){this.tryActivate(target);}},"webkit|opera":function(e){this.tryActivate(this.__fixFocus(e.target));},"default":null})),__fixFocus:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"mshtml|webkit":function(target){var focusedElement=this.getFocus();
if(focusedElement&&target!=focusedElement&&(focusedElement.nodeName.toLowerCase()==="input"||focusedElement.nodeName.toLowerCase()==="textarea")){target=focusedElement;}return target;},"default":function(target){return target;}})),__onNativeSelectStart:qx.event.GlobalError.observeMethod(qx.core.Variant.select("qx.client",{"mshtml|webkit":function(e){var target=qx.bom.client.Engine.MSHTML?e.srcElement:e.target;
if(!this.__isSelectable(target)){qx.bom.Event.preventDefault(e);}},"default":null})),__isFocusable:function(el){var index=qx.bom.element.Attribute.get(el,"tabIndex");if(index>=1){return true;}var focusable=qx.event.handler.Focus.FOCUSABLE_ELEMENTS;if(index>=0&&focusable[el.tagName]){return true;}return false;
},__findFocusableElement:function(el){while(el&&el.nodeType===1){if(el.getAttribute("qxKeepFocus")=="on"){return null;}if(this.__isFocusable(el)){return el;}el=el.parentNode;}return this._body;},__findActivatableElement:function(el){var orig=el;while(el&&el.nodeType===1){if(el.getAttribute("qxKeepActive")=="on"){return null;
}el=el.parentNode;}return orig;},__isSelectable:function(node){while(node&&node.nodeType===1){var attr=node.getAttribute("qxSelectable");if(attr!=null){return attr==="on";}node=node.parentNode;}return true;},_applyActive:function(value,old){if(old){this.__fireEvent(old,value,"deactivate",true);}if(value){this.__fireEvent(value,old,"activate",true);
}},_applyFocus:function(value,old){if(old){this.__fireEvent(old,value,"focusout",true);}if(value){this.__fireEvent(value,old,"focusin",true);}if(old){this.__fireEvent(old,value,"blur",false);}if(value){this.__fireEvent(value,old,"focus",false);}}},destruct:function(){this._stopObserver();this._manager=this._window=this._document=this._root=this._body=this.__mouseActive=null;
},defer:function(statics){qx.event.Registration.addHandler(statics);var focusable=statics.FOCUSABLE_ELEMENTS;for(var entry in focusable){focusable[entry.toUpperCase()]=1;}}});qx.Class.define("qx.event.handler.Window",{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(manager){this.base(arguments);
this._manager=manager;this._window=manager.getWindow();this._initWindowObserver();},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{error:1,load:1,beforeunload:1,unload:1,resize:1,scroll:1,beforeshutdown:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_WINDOW,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(target,type){},registerEvent:function(target,type,capture){},unregisterEvent:function(target,type,capture){},_initWindowObserver:function(){this._onNativeWrapper=qx.lang.Function.listener(this._onNative,this);
var types=qx.event.handler.Window.SUPPORTED_TYPES;for(var key in types){qx.bom.Event.addNativeListener(this._window,key,this._onNativeWrapper);}},_stopWindowObserver:function(){var types=qx.event.handler.Window.SUPPORTED_TYPES;for(var key in types){qx.bom.Event.removeNativeListener(this._window,key,this._onNativeWrapper);
}},_onNative:qx.event.GlobalError.observeMethod(function(e){if(this.isDisposed()){return ;}var win=this._window;var doc=win.document;var html=doc.documentElement;var target=e.target||e.srcElement;if(target==null||target===win||target===doc||target===html){var event=qx.event.Registration.createEvent(e.type,qx.event.type.Native,[e,win]);
qx.event.Registration.dispatchEvent(win,event);var result=event.getReturnValue();if(result!=null){e.returnValue=result;return result;}}})},destruct:function(){this._stopWindowObserver();this._manager=this._window=null;},defer:function(statics){qx.event.Registration.addHandler(statics);}});qx.Class.define("qx.bom.Blocker",{extend:qx.core.Object,construct:function(){this.base(arguments);
this.__init();},members:{__iframeElement:null,__blockerElement:null,__blockedElement:null,__isActive:false,__defaultZIndex:10000,__defaultBlockerOpacity:0,__defaultBlockerColor:"transparent",block:function(element){if(!this.__isActive){this.__blockedElement=element;var styles=this.__calculateStyles();
this.__styleAndInsertBlocker(styles);this.__isActive=true;}},unblock:function(){if(this.__isActive){this.__removeBlocker();this.__isActive=false;}},isBlocked:function(){return this.__isActive;},getBlockerElement:function(){return this.__blockerElement;},setBlockerColor:function(color){qx.bom.element.Style.set(this.__blockerElement,"backgroundColor",color);
},getBlockerColor:function(){return qx.bom.element.Style.get(this.__blockerElement,"backgroundColor");},setBlockerOpacity:function(opacity){qx.bom.element.Opacity.set(this.__blockerElement,opacity);},getBlockerOpacity:function(){return qx.bom.element.Opacity.get(this.__blockerElement);},setBlockerZIndex:function(zIndex){qx.bom.element.Style.set(this.__blockerElement,"zIndex",zIndex);
},getBlockerZIndex:function(){return qx.bom.element.Style.get(this.__blockerElement,"zIndex");},__init:function(){this.__setupBlockerElement();if(qx.core.Variant.isSet("qx.client","mshtml")){this.__setupIframeElement();}qx.event.Registration.addListener(window,"resize",this.__onResize,this);},__setupBlockerElement:function(){this.__blockerElement=qx.bom.Element.create("div");
qx.bom.element.Style.setStyles(this.__blockerElement,{display:"block",opacity:this.__defaultBlockerOpacity,backgroundColor:this.__defaultBlockerColor});this.setBlockerZIndex(this.__defaultZIndex);if(qx.core.Variant.isSet("qx.client","mshtml")){qx.bom.element.Style.setStyles(this.__blockerElement,{backgroundImage:"url("+qx.util.ResourceManager.getInstance().toUri("/core/img/blank.gif")+")",backgroundRepeat:"repeat"});
}},__setupIframeElement:function(){this.__iframeElement=qx.bom.Iframe.create();qx.bom.element.Attribute.set(this.__iframeElement,"allowTransparency",false);qx.bom.element.Attribute.set(this.__iframeElement,"src","javascript:false;");qx.bom.element.Style.setStyles(this.__iframeElement,{display:"block",opacity:this.__defaultBlockerOpacity});
},__calculateStyles:function(){var styles={position:"absolute"};if(this.__isWholeDocumentBlockTarget()){styles.left="0px";styles.top="0px";styles.right=null;styles.bottom=null;styles.width=qx.bom.Document.getWidth()+"px";styles.height=qx.bom.Document.getHeight()+"px";}else{styles.width=qx.bom.element.Dimension.getWidth(this.__blockedElement)+"px";
styles.height=qx.bom.element.Dimension.getHeight(this.__blockedElement)+"px";styles.left=qx.bom.element.Location.getLeft(this.__blockedElement)+"px";styles.top=qx.bom.element.Location.getTop(this.__blockedElement)+"px";}return styles;},__styleAndInsertBlocker:function(styles){var target=document.body;
qx.bom.element.Style.setStyles(this.__blockerElement,styles);qx.dom.Element.insertEnd(this.__blockerElement,target);if(qx.core.Variant.isSet("qx.client","mshtml")){styles.zIndex=this.getBlockerZIndex()-1;qx.bom.element.Style.setStyles(this.__iframeElement,styles);qx.dom.Element.insertEnd(this.__iframeElement,document.body);
}},__removeBlocker:function(){qx.dom.Element.remove(this.__blockerElement);if(qx.core.Variant.isSet("qx.client","mshtml")){qx.dom.Element.remove(this.__iframeElement);}},__onResize:function(e){if(this.__isWholeDocumentBlockTarget()){this.__resizeBlocker({width:"0px",height:"0px"});qx.event.Timer.once(function(){var dimension={width:qx.bom.Document.getWidth()+"px",height:qx.bom.Document.getHeight()+"px"};
this.__resizeBlocker(dimension);},this,0);}},__resizeBlocker:function(dimension){qx.bom.element.Style.setStyles(this.__blockerElement,dimension);if(qx.core.Variant.isSet("qx.client","mshtml")){qx.bom.element.Style.setStyles(this.__iframeElement,dimension);}},__isWholeDocumentBlockTarget:function(){return(this.__blockedElement==null||qx.dom.Node.isWindow(this.__blockedElement)||qx.dom.Node.isDocument(this.__blockedElement));
}}});qx.Class.define("qx.bom.element.Background",{statics:{__tmpl:["background-image:url(",null,");","background-position:",null,";","background-repeat:",null,";"],__emptyStyles:{backgroundImage:null,backgroundPosition:null,backgroundRepeat:null},__computePosition:function(left,top){var Engine=qx.bom.client.Engine;
if(Engine.GECKO&&Engine.VERSION<1.9&&left==top&&typeof left=="number"){top+=0.01;}if(left){var leftCss=(typeof left=="number")?left+"px":left;}else{leftCss="0";}if(top){var topCss=(typeof top=="number")?top+"px":top;}else{topCss="0";}return leftCss+" "+topCss;},compile:function(source,repeat,left,top){var position=this.__computePosition(left,top);
var backgroundImageUrl=qx.util.ResourceManager.getInstance().toUri(source);var tmpl=this.__tmpl;tmpl[1]=backgroundImageUrl;tmpl[4]=position;tmpl[7]=repeat;return tmpl.join("");},getStyles:function(source,repeat,left,top){if(!source){return this.__emptyStyles;}var position=this.__computePosition(left,top);
var backgroundImageUrl=qx.util.ResourceManager.getInstance().toUri(source);var map={backgroundPosition:position,backgroundImage:"url("+backgroundImageUrl+")"};if(repeat!=null){map.backgroundRepeat=repeat;}return map;},set:function(element,source,repeat,left,top){var styles=this.getStyles(source,repeat,left,top);
for(var prop in styles){element.style[prop]=styles[prop];}}}});qx.Class.define("qx.bom.element.Location",{statics:{__style:function(elem,style){return qx.bom.element.Style.get(elem,style,qx.bom.element.Style.COMPUTED_MODE,false);},__num:function(elem,style){return parseInt(qx.bom.element.Style.get(elem,style,qx.bom.element.Style.COMPUTED_MODE,false),10)||0;
},__computeScroll:function(elem){var left=0,top=0;if(elem.getBoundingClientRect&&!qx.bom.client.Engine.OPERA){var win=qx.dom.Node.getWindow(elem);left-=qx.bom.Viewport.getScrollLeft(win);top-=qx.bom.Viewport.getScrollTop(win);}else{var body=qx.dom.Node.getDocument(elem).body;elem=elem.parentNode;while(elem&&elem!=body){left+=elem.scrollLeft;
top+=elem.scrollTop;elem=elem.parentNode;}}return{left:left,top:top};},__computeBody:qx.core.Variant.select("qx.client",{"mshtml":function(elem){var doc=qx.dom.Node.getDocument(elem);var body=doc.body;var left=0;var top=0;left-=body.clientLeft+doc.documentElement.clientLeft;top-=body.clientTop+doc.documentElement.clientTop;
if(qx.bom.client.Feature.STANDARD_MODE){left+=this.__num(body,"borderLeftWidth");top+=this.__num(body,"borderTopWidth");}return{left:left,top:top};},"webkit":function(elem){var doc=qx.dom.Node.getDocument(elem);var body=doc.body;var left=body.offsetLeft;var top=body.offsetTop;if(qx.bom.client.Engine.VERSION<530.17){left+=this.__num(body,"borderLeftWidth");
top+=this.__num(body,"borderTopWidth");}return{left:left,top:top};},"gecko":function(elem){var body=qx.dom.Node.getDocument(elem).body;var left=body.offsetLeft;var top=body.offsetTop;if(qx.bom.client.Engine.VERSION<1.9){left+=this.__num(body,"marginLeft");top+=this.__num(body,"marginTop");}if(qx.bom.element.BoxSizing.get(body)!=="border-box"){left+=this.__num(body,"borderLeftWidth");
top+=this.__num(body,"borderTopWidth");}return{left:left,top:top};},"default":function(elem){var body=qx.dom.Node.getDocument(elem).body;var left=body.offsetLeft;var top=body.offsetTop;return{left:left,top:top};}}),__computeOffset:qx.core.Variant.select("qx.client",{"mshtml|webkit":function(elem){var doc=qx.dom.Node.getDocument(elem);
if(elem.getBoundingClientRect){var rect=elem.getBoundingClientRect();var left=rect.left;var top=rect.top;}else{var left=elem.offsetLeft;var top=elem.offsetTop;elem=elem.offsetParent;var body=doc.body;while(elem&&elem!=body){left+=elem.offsetLeft;top+=elem.offsetTop;left+=this.__num(elem,"borderLeftWidth");
top+=this.__num(elem,"borderTopWidth");elem=elem.offsetParent;}}return{left:left,top:top};},"gecko":function(elem){if(elem.getBoundingClientRect){var rect=elem.getBoundingClientRect();var left=Math.round(rect.left);var top=Math.round(rect.top);}else{var left=0;var top=0;var body=qx.dom.Node.getDocument(elem).body;
var box=qx.bom.element.BoxSizing;if(box.get(elem)!=="border-box"){left-=this.__num(elem,"borderLeftWidth");top-=this.__num(elem,"borderTopWidth");}while(elem&&elem!==body){left+=elem.offsetLeft;top+=elem.offsetTop;if(box.get(elem)!=="border-box"){left+=this.__num(elem,"borderLeftWidth");top+=this.__num(elem,"borderTopWidth");
}if(elem.parentNode&&this.__style(elem.parentNode,"overflow")!="visible"){left+=this.__num(elem.parentNode,"borderLeftWidth");top+=this.__num(elem.parentNode,"borderTopWidth");}elem=elem.offsetParent;}}return{left:left,top:top};},"default":function(elem){var left=0;var top=0;var body=qx.dom.Node.getDocument(elem).body;
while(elem&&elem!==body){left+=elem.offsetLeft;top+=elem.offsetTop;elem=elem.offsetParent;}return{left:left,top:top};}}),get:function(elem,mode){if(elem.tagName=="BODY"){var location=this.__getBodyLocation(elem);var left=location.left;var top=location.top;}else{var body=this.__computeBody(elem);var offset=this.__computeOffset(elem);
var scroll=this.__computeScroll(elem);var left=offset.left+body.left-scroll.left;var top=offset.top+body.top-scroll.top;}var right=left+elem.offsetWidth;var bottom=top+elem.offsetHeight;if(mode){if(mode=="padding"||mode=="scroll"){var overX=qx.bom.element.Overflow.getX(elem);if(overX=="scroll"||overX=="auto"){right+=elem.scrollWidth-elem.offsetWidth+this.__num(elem,"borderLeftWidth")+this.__num(elem,"borderRightWidth");
}var overY=qx.bom.element.Overflow.getY(elem);if(overY=="scroll"||overY=="auto"){bottom+=elem.scrollHeight-elem.offsetHeight+this.__num(elem,"borderTopWidth")+this.__num(elem,"borderBottomWidth");}}switch(mode){case"padding":left+=this.__num(elem,"paddingLeft");top+=this.__num(elem,"paddingTop");right-=this.__num(elem,"paddingRight");
bottom-=this.__num(elem,"paddingBottom");case"scroll":left-=elem.scrollLeft;top-=elem.scrollTop;right-=elem.scrollLeft;bottom-=elem.scrollTop;case"border":left+=this.__num(elem,"borderLeftWidth");top+=this.__num(elem,"borderTopWidth");right-=this.__num(elem,"borderRightWidth");bottom-=this.__num(elem,"borderBottomWidth");
break;case"margin":left-=this.__num(elem,"marginLeft");top-=this.__num(elem,"marginTop");right+=this.__num(elem,"marginRight");bottom+=this.__num(elem,"marginBottom");break;}}return{left:left,top:top,right:right,bottom:bottom};},__getBodyLocation:qx.core.Variant.select("qx.client",{"default":function(body){var top=body.offsetTop+this.__num(body,"marginTop");
var left=body.offsetLeft+this.__num(body,"marginLeft");return{left:left,top:top};},"mshtml":function(body){var top=body.offsetTop;var left=body.offsetLeft;if(!((qx.bom.client.Engine.VERSION<8||qx.bom.client.Engine.DOCUMENT_MODE<8)&&!qx.bom.client.Feature.QUIRKS_MODE)){top+=this.__num(body,"marginTop");
left+=this.__num(body,"marginLeft");}return{left:left,top:top};},"gecko":function(body){var top=body.offsetTop+this.__num(body,"marginTop")+this.__num(body,"borderLeftWidth");var left=body.offsetLeft+this.__num(body,"marginLeft")+this.__num(body,"borderTopWidth");return{left:left,top:top};}}),getLeft:function(elem,mode){return this.get(elem,mode).left;
},getTop:function(elem,mode){return this.get(elem,mode).top;},getRight:function(elem,mode){return this.get(elem,mode).right;},getBottom:function(elem,mode){return this.get(elem,mode).bottom;},getRelative:function(elem1,elem2,mode1,mode2){var loc1=this.get(elem1,mode1);var loc2=this.get(elem2,mode2);return{left:loc1.left-loc2.left,top:loc1.top-loc2.top,right:loc1.right-loc2.right,bottom:loc1.bottom-loc2.bottom};
},getPosition:function(elem){return this.getRelative(elem,this.getOffsetParent(elem));},getOffsetParent:function(element){var offsetParent=element.offsetParent||document.body;var Style=qx.bom.element.Style;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&Style.get(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent;
}return offsetParent;}}});qx.Bootstrap.define("qx.dev.StackTrace",{statics:{getStackTrace:qx.core.Variant.select("qx.client",{"gecko":function(){try{throw new Error();}catch(ex){var errorTrace=this.getStackTraceFromError(ex);qx.lang.Array.removeAt(errorTrace,0);var callerTrace=this.getStackTraceFromCaller(arguments);
var trace=callerTrace.length>errorTrace.length?callerTrace:errorTrace;for(var i=0;i<Math.min(callerTrace.length,errorTrace.length);i++){var callerCall=callerTrace[i];if(callerCall.indexOf("anonymous")>=0){continue;}var callerArr=callerCall.split(":");if(callerArr.length!=2){continue;}var callerClassName=callerArr[0];
var methodName=callerArr[1];var errorCall=errorTrace[i];var errorArr=errorCall.split(":");var errorClassName=errorArr[0];var lineNumber=errorArr[1];if(qx.Class.getByName(errorClassName)){var className=errorClassName;}else{className=callerClassName;}var line=className+":";if(methodName){line+=methodName+":";
}line+=lineNumber;trace[i]=line;}return trace;}},"mshtml|webkit":function(){return this.getStackTraceFromCaller(arguments);},"opera":function(){var foo;try{foo.bar();}catch(ex){var trace=this.getStackTraceFromError(ex);qx.lang.Array.removeAt(trace,0);return trace;}return[];}}),getStackTraceFromCaller:qx.core.Variant.select("qx.client",{"opera":function(args){return[];
},"default":function(args){var trace=[];var fcn=qx.lang.Function.getCaller(args);var knownFunction={};while(fcn){var fcnName=qx.lang.Function.getName(fcn);trace.push(fcnName);try{fcn=fcn.caller;}catch(ex){break;}if(!fcn){break;}var hash=qx.core.ObjectRegistry.toHashCode(fcn);if(knownFunction[hash]){trace.push("...");
break;}knownFunction[hash]=fcn;}return trace;}}),getStackTraceFromError:qx.core.Variant.select("qx.client",{"gecko":function(error){if(!error.stack){return[];}var lineRe=/@(.+):(\d+)$/gm;var hit;var trace=[];while((hit=lineRe.exec(error.stack))!=null){var url=hit[1];var lineNumber=hit[2];var className=this.__fileNameToClassName(url);
trace.push(className+":"+lineNumber);}return trace;},"webkit":function(error){if(error.sourceURL&&error.line){return[this.__fileNameToClassName(error.sourceURL)+":"+error.line];}else{return[];}},"opera":function(error){if(error.message.indexOf("Backtrace:")<0){return[];}var trace=[];var traceString=qx.lang.String.trim(error.message.split("Backtrace:")[1]);
var lines=traceString.split("\n");for(var i=0;i<lines.length;i++){var reResult=lines[i].match(/\s*Line ([0-9]+) of.* (\S.*)/);if(reResult&&reResult.length>=2){var lineNumber=reResult[1];var fileName=this.__fileNameToClassName(reResult[2]);trace.push(fileName+":"+lineNumber);}}return trace;},"default":function(){return[];
}}),__fileNameToClassName:function(fileName){var scriptDir="/source/class/";var jsPos=fileName.indexOf(scriptDir);var className=(jsPos==-1)?fileName:fileName.substring(jsPos+scriptDir.length).replace(/\//g,".").replace(/\.js$/,"");return className;}}});qx.Class.define("qx.util.ObjectPool",{extend:qx.core.Object,construct:function(size){this.base(arguments);
this.__pool={};if(size!=null){this.setSize(size);}},properties:{size:{check:"Integer",init:Infinity}},members:{__pool:null,getObject:function(clazz){if(this.$$disposed){return ;}if(!clazz){throw new Error("Class needs to be defined!");}var obj=null;var pool=this.__pool[clazz.classname];if(pool){obj=pool.pop();
}if(obj){obj.$$pooled=false;}else{obj=new clazz;}return obj;},poolObject:function(obj){if(!this.__pool){return ;}var classname=obj.classname;var pool=this.__pool[classname];if(obj.$$pooled){throw new Error("Object is already pooled: "+obj);}if(!pool){this.__pool[classname]=pool=[];}if(pool.length>this.getSize()){if(obj.destroy){obj.destroy();
}else{obj.dispose();}return ;}obj.$$pooled=true;pool.push(obj);}},destruct:function(){var pool=this.__pool;var classname,list,i,l;for(classname in pool){list=pool[classname];for(i=0,l=list.length;i<l;i++){list[i].dispose();}}delete this.__pool;}});qx.Class.define("qx.bom.Label",{statics:{__styles:{fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},__prepareText:function(){var el=this.__createMeasureElement(false);
document.body.insertBefore(el,document.body.firstChild);return this._textElement=el;},__prepareHtml:function(){var el=this.__createMeasureElement(true);document.body.insertBefore(el,document.body.firstChild);return this._htmlElement=el;},__createMeasureElement:function(html){var el=qx.bom.Element.create("div");
var style=el.style;style.width=style.height="auto";style.left=style.top="-1000px";style.visibility="hidden";style.position="absolute";style.overflow="visible";if(html){style.whiteSpace="normal";}else{style.whiteSpace="nowrap";if(qx.core.Variant.isSet("qx.client","gecko")){var inner=document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","label");
for(var key in this.__styles){inner.style[key]="inherit";}el.appendChild(inner);}}return el;},__getStyles:function(html){var styles={};if(html){styles.whiteSpace="normal";}else{if(qx.core.Variant.isSet("qx.client","gecko")){styles.display="block";}else{styles.overflow="hidden";styles.whiteSpace="nowrap";
styles.textOverflow="ellipsis";styles.userSelect="none";if(qx.core.Variant.isSet("qx.client","opera")){styles.OTextOverflow="ellipsis";}}}return styles;},create:function(content,html,win){if(!win){win=window;}if(html){var el=win.document.createElement("div");el.useHtml=true;}else{if(qx.core.Variant.isSet("qx.client","gecko")){var el=win.document.createElement("div");
var xulel=win.document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul","label");xulel.style.cursor="inherit";xulel.style.color="inherit";xulel.style.overflow="hidden";xulel.style.maxWidth="100%";for(var key in this.__styles){xulel.style[key]="inherit";}xulel.setAttribute("crop","end");
el.appendChild(xulel);}else{var el=win.document.createElement("div");qx.bom.element.Style.setStyles(el,this.__getStyles(html));}}if(content){this.setValue(el,content);}return el;},setValue:function(element,value){value=value||"";if(element.useHtml){element.innerHTML=value;}else{if(qx.core.Variant.isSet("qx.client","gecko")){element.firstChild.setAttribute("value",value);
}else{qx.bom.element.Attribute.set(element,"text",value);}}},getValue:function(element){if(element.useHtml){return element.innerHTML;}else{if(qx.core.Variant.isSet("qx.client","gecko")){return element.firstChild.getAttribute("value")||"";}else{return qx.bom.element.Attribute.get(element,"text");}}},getHtmlSize:function(content,styles,width){var element=this._htmlElement||this.__prepareHtml();
element.style.width=width!==undefined?width+"px":"auto";element.innerHTML=content;return this.__measureSize(element,styles);},getTextSize:function(text,styles){var element=this._textElement||this.__prepareText();if(qx.core.Variant.isSet("qx.client","gecko")){element.firstChild.setAttribute("value",text);
}else{qx.bom.element.Attribute.set(element,"text",text);}return this.__measureSize(element,styles);},__measureSize:function(element,styles){var keys=this.__styles;if(!styles){styles={};}for(var key in keys){element.style[key]=styles[key]||"";}var size=qx.bom.element.Dimension.getSize(element);if(qx.core.Variant.isSet("qx.client","gecko")){if(!qx.bom.client.Platform.WIN){size.width++;
}}return size;},setContent:function(element,value){qx.log.Logger.deprecatedMethodWarning(arguments.callee,"Please use the setValue() method instead.");this.setValue(element,value);},getContent:function(element){qx.log.Logger.deprecatedMethodWarning(arguments.callee,"Please use the getValue() method instead.");
return this.getValue(element);}}});qx.Class.define("qx.bom.element.Opacity",{statics:{compile:qx.core.Variant.select("qx.client",{"mshtml":function(opacity){if(opacity>=1){return"";}if(opacity<0.00001){opacity=0;}return"zoom:1;filter:alpha(opacity="+(opacity*100)+");";},"gecko":function(opacity){if(opacity==1){opacity=0.999999;
}if(qx.bom.client.Engine.VERSION<1.7){return"-moz-opacity:"+opacity+";";}else{return"opacity:"+opacity+";";}},"default":function(opacity){if(opacity==1){return"";}return"opacity:"+opacity+";";}}),set:qx.core.Variant.select("qx.client",{"mshtml":function(element,opacity){var filter=qx.bom.element.Style.get(element,"filter",qx.bom.element.Style.COMPUTED_MODE,false);
if(opacity>=1){element.style.filter=filter.replace(/alpha\([^\)]*\)/gi,"");return ;}if(opacity<0.00001){opacity=0;}if(!element.currentStyle||!element.currentStyle.hasLayout){element.style.zoom=1;}element.style.filter=filter.replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+opacity*100+")";},"gecko":function(element,opacity){if(opacity==1){opacity=0.999999;
}if(qx.bom.client.Engine.VERSION<1.7){element.style.MozOpacity=opacity;}else{element.style.opacity=opacity;}},"default":function(element,opacity){if(opacity==1){opacity="";}element.style.opacity=opacity;}}),reset:qx.core.Variant.select("qx.client",{"mshtml":function(element){var filter=qx.bom.element.Style.get(element,"filter",qx.bom.element.Style.COMPUTED_MODE,false);
element.style.filter=filter.replace(/alpha\([^\)]*\)/gi,"");},"gecko":function(element){if(qx.bom.client.Engine.VERSION<1.7){element.style.MozOpacity="";}else{element.style.opacity="";}},"default":function(element){element.style.opacity="";}}),get:qx.core.Variant.select("qx.client",{"mshtml":function(element,mode){var filter=qx.bom.element.Style.get(element,"filter",mode,false);
if(filter){var opacity=filter.match(/alpha\(opacity=(.*)\)/);if(opacity&&opacity[1]){return parseFloat(opacity[1])/100;}}return 1;},"gecko":function(element,mode){var opacity=qx.bom.element.Style.get(element,qx.bom.client.Engine.VERSION<1.7?"MozOpacity":"opacity",mode,false);if(opacity==0.999999){opacity=1;
}if(opacity!=null){return parseFloat(opacity);}return 1;},"default":function(element,mode){var opacity=qx.bom.element.Style.get(element,"opacity",mode,false);if(opacity!=null){return parseFloat(opacity);}return 1;}})}});qx.Class.define("qx.bom.element.Style",{statics:{__hints:{styleNames:{"float":qx.core.Variant.select("qx.client",{"mshtml":"styleFloat","default":"cssFloat"}),"appearance":qx.core.Variant.select("qx.client",{"gecko":"MozAppearance","webkit":"WebkitAppearance","default":"appearance"}),"userSelect":qx.core.Variant.select("qx.client",{"gecko":"MozUserSelect","webkit":"WebkitUserSelect","default":"userSelect"}),"userModify":qx.core.Variant.select("qx.client",{"gecko":"MozUserModify","webkit":"WebkitUserModify","default":"userSelect"})},cssNames:{"appearance":qx.core.Variant.select("qx.client",{"gecko":"-moz-appearance","webkit":"-webkit-appearance","default":"appearance"}),"userSelect":qx.core.Variant.select("qx.client",{"gecko":"-moz-user-select","webkit":"-webkit-user-select","default":"user-select"}),"userModify":qx.core.Variant.select("qx.client",{"gecko":"-moz-user-modify","webkit":"-webkit-user-modify","default":"user-select"}),"textOverflow":qx.core.Variant.select("qx.client",{"opera":"-o-text-overflow","default":"text-overflow"})},mshtmlPixel:{width:"pixelWidth",height:"pixelHeight",left:"pixelLeft",right:"pixelRight",top:"pixelTop",bottom:"pixelBottom"},special:{clip:qx.bom.element.Clip,cursor:qx.bom.element.Cursor,opacity:qx.bom.element.Opacity,boxSizing:qx.bom.element.BoxSizing,overflowX:{set:qx.lang.Function.bind(qx.bom.element.Overflow.setX,qx.bom.element.Overflow),get:qx.lang.Function.bind(qx.bom.element.Overflow.getX,qx.bom.element.Overflow),reset:qx.lang.Function.bind(qx.bom.element.Overflow.resetX,qx.bom.element.Overflow),compile:qx.lang.Function.bind(qx.bom.element.Overflow.compileX,qx.bom.element.Overflow)},overflowY:{set:qx.lang.Function.bind(qx.bom.element.Overflow.setY,qx.bom.element.Overflow),get:qx.lang.Function.bind(qx.bom.element.Overflow.getY,qx.bom.element.Overflow),reset:qx.lang.Function.bind(qx.bom.element.Overflow.resetY,qx.bom.element.Overflow),compile:qx.lang.Function.bind(qx.bom.element.Overflow.compileY,qx.bom.element.Overflow)}}},__hyphens:{},compile:function(map){var html=[];
var hints=this.__hints;var special=hints.special;var names=hints.cssNames;var hyphens=this.__hyphens;var str=qx.lang.String;var name,prop,value;for(name in map){value=map[name];if(value==null){continue;}name=names[name]||name;if(special[name]){html.push(special[name].compile(value));}else{prop=hyphens[name];
if(!prop){prop=hyphens[name]=str.hyphenate(name);}html.push(prop,":",value,";");}}return html.join("");},setCss:qx.core.Variant.select("qx.client",{"mshtml":function(element,value){element.style.cssText=value;},"default":function(element,value){element.setAttribute("style",value);}}),getCss:qx.core.Variant.select("qx.client",{"mshtml":function(element){return element.style.cssText.toLowerCase();
},"default":function(element){return element.getAttribute("style");}}),COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,set:function(element,name,value,smart){var hints=this.__hints;name=hints.styleNames[name]||name;if(smart!==false&&hints.special[name]){return hints.special[name].set(element,value);}else{element.style[name]=value!==null?value:"";
}},setStyles:function(element,styles,smart){var hints=this.__hints;var styleNames=hints.styleNames;var special=hints.special;var style=element.style;for(var key in styles){var value=styles[key];var name=styleNames[key]||key;if(value===undefined){if(smart!==false&&special[name]){special[name].reset(element);
}else{style[name]="";}}else{if(smart!==false&&special[name]){special[name].set(element,value);}else{style[name]=value!==null?value:"";}}}},reset:function(element,name,smart){var hints=this.__hints;name=hints.styleNames[name]||name;if(smart!==false&&hints.special[name]){return hints.special[name].reset(element);
}else{element.style[name]="";}},get:qx.core.Variant.select("qx.client",{"mshtml":function(element,name,mode,smart){var hints=this.__hints;name=hints.styleNames[name]||name;if(smart!==false&&hints.special[name]){return hints.special[name].get(element,mode);}if(!element.currentStyle){return element.style[name]||"";
}switch(mode){case this.LOCAL_MODE:return element.style[name]||"";case this.CASCADED_MODE:return element.currentStyle[name]||"";default:var currentStyle=element.currentStyle[name]||"";if(/^-?[\.\d]+(px)?$/i.test(currentStyle)){return currentStyle;}var pixel=hints.mshtmlPixel[name];if(pixel){var localStyle=element.style[name];
element.style[name]=currentStyle||0;var value=element.style[pixel]+"px";element.style[name]=localStyle;return value;}if(/^-?[\.\d]+(em|pt|%)?$/i.test(currentStyle)){throw new Error("Untranslated computed property value: "+name+". Only pixel values work well across different clients.");}return currentStyle;
}},"default":function(element,name,mode,smart){var hints=this.__hints;name=hints.styleNames[name]||name;if(smart!==false&&hints.special[name]){return hints.special[name].get(element,mode);}switch(mode){case this.LOCAL_MODE:return element.style[name]||"";case this.CASCADED_MODE:if(element.currentStyle){return element.currentStyle[name]||"";
}throw new Error("Cascaded styles are not supported in this browser!");default:var doc=qx.dom.Node.getDocument(element);var computed=doc.defaultView.getComputedStyle(element,null);return computed?computed[name]:"";}}})}});qx.Class.define("qx.event.dispatch.MouseCapture",{extend:qx.event.dispatch.AbstractBubbling,construct:function(manager,registration){this.base(arguments,manager);
this.__window=manager.getWindow();this.__registration=registration;manager.addListener(this.__window,"blur",this.releaseCapture,this);manager.addListener(this.__window,"focus",this.releaseCapture,this);manager.addListener(this.__window,"scroll",this.releaseCapture,this);},statics:{PRIORITY:qx.event.Registration.PRIORITY_FIRST},members:{__registration:null,__captureElement:null,__containerCapture:true,__window:null,_getParent:function(target){return target.parentNode;
},canDispatchEvent:function(target,event,type){return(this.__captureElement&&this.__captureEvents[type]);},dispatchEvent:function(target,event,type){if(type=="click"){event.stopPropagation();this.releaseCapture();return ;}if(this.__containerCapture||!qx.dom.Hierarchy.contains(this.__captureElement,target)){target=this.__captureElement;
}this.base(arguments,target,event,type);},__captureEvents:{"mouseup":1,"mousedown":1,"click":1,"dblclick":1,"mousemove":1,"mouseout":1,"mouseover":1},activateCapture:function(element,containerCapture){var containerCapture=containerCapture!==false;if(this.__captureElement===element&&this.__containerCapture==containerCapture){return ;
}if(this.__captureElement){this.releaseCapture();}this.nativeSetCapture(element,containerCapture);if(this.hasNativeCapture){var self=this;qx.bom.Event.addNativeListener(element,"losecapture",function(){qx.bom.Event.removeNativeListener(element,"losecapture",arguments.callee);self.releaseCapture();});
}this.__containerCapture=containerCapture;this.__captureElement=element;this.__registration.fireEvent(element,"capture",qx.event.type.Event,[true,false]);},getCaptureElement:function(){return this.__captureElement;},releaseCapture:function(){var element=this.__captureElement;if(!element){return ;}this.__captureElement=null;
this.__registration.fireEvent(element,"losecapture",qx.event.type.Event,[true,false]);this.nativeReleaseCapture(element);},hasNativeCapture:qx.bom.client.Engine.MSHTML,nativeSetCapture:qx.core.Variant.select("qx.client",{"mshtml":function(element,containerCapture){element.setCapture(containerCapture!==false);
},"default":qx.lang.Function.empty}),nativeReleaseCapture:qx.core.Variant.select("qx.client",{"mshtml":function(element){element.releaseCapture();},"default":qx.lang.Function.empty})},destruct:function(){this.__captureElement=this.__window=this.__registration=null;},defer:function(statics){qx.event.Registration.addDispatcher(statics);
}});qx.Class.define("qx.dom.Element",{statics:{hasChild:function(parent,child){return child.parentNode===parent;},hasChildren:function(element){return !!element.firstChild;},hasChildElements:function(element){element=element.firstChild;while(element){if(element.nodeType===1){return true;}element=element.nextSibling;
}return false;},getParentElement:function(element){return element.parentNode;},isInDom:function(element,win){if(!win){win=window;}var domElements=win.document.getElementsByTagName(element.nodeName);for(var i=0,l=domElements.length;i<l;i++){if(domElements[i]===element){return true;}}return false;},insertAt:function(node,parent,index){var ref=parent.childNodes[index];
if(ref){parent.insertBefore(node,ref);}else{parent.appendChild(node);}return true;},insertBegin:function(node,parent){if(parent.firstChild){this.insertBefore(node,parent.firstChild);}else{parent.appendChild(node);}},insertEnd:function(node,parent){parent.appendChild(node);},insertBefore:function(node,ref){ref.parentNode.insertBefore(node,ref);
return true;},insertAfter:function(node,ref){var parent=ref.parentNode;if(ref==parent.lastChild){parent.appendChild(node);}else{return this.insertBefore(node,ref.nextSibling);}return true;},remove:function(node){if(!node.parentNode){return false;}node.parentNode.removeChild(node);return true;},removeChild:function(node,parent){if(node.parentNode!==parent){return false;
}parent.removeChild(node);return true;},removeChildAt:function(index,parent){var child=parent.childNodes[index];if(!child){return false;}parent.removeChild(child);return true;},replaceChild:function(newNode,oldNode){if(!oldNode.parentNode){return false;}oldNode.parentNode.replaceChild(newNode,oldNode);
return true;},replaceAt:function(newNode,index,parent){var oldNode=parent.childNodes[index];if(!oldNode){return false;}parent.replaceChild(newNode,oldNode);return true;}}});qx.Class.define("qx.bom.Cookie",{statics:{get:function(key){var start=document.cookie.indexOf(key+"=");var len=start+key.length+1;
if((!start)&&(key!=document.cookie.substring(0,key.length))){return null;}if(start==-1){return null;}var end=document.cookie.indexOf(";",len);if(end==-1){end=document.cookie.length;}return unescape(document.cookie.substring(len,end));},set:function(key,value,expires,path,domain,secure){var cookie=[key,"=",escape(value)];
if(expires){var today=new Date();today.setTime(today.getTime());cookie.push(";expires=",new Date(today.getTime()+(expires*1000*60*60*24)).toGMTString());}if(path){cookie.push(";path=",path);}if(domain){cookie.push(";domain=",domain);}if(secure){cookie.push(";secure");}document.cookie=cookie.join("");
},del:function(key,path,domain){if(!qx.bom.Cookie.get(key)){return ;}var cookie=[key,"="];if(path){cookie.push(";path=",path);}if(domain){cookie.push(";domain=",domain);}cookie.push(";expires=Thu, 01-Jan-1970 00:00:01 GMT");document.cookie=cookie.join("");}}});qx.Class.define("qx.event.Pool",{extend:qx.util.ObjectPool,type:"singleton",construct:function(){this.base(arguments,30);
}});qx.Class.define("qx.bom.Viewport",{statics:{getWidth:qx.core.Variant.select("qx.client",{"opera":function(win){if(qx.bom.client.Engine.VERSION<9.5){return(win||window).document.body.clientWidth;}else{var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientWidth:doc.body.clientWidth;
}},"webkit":function(win){if(qx.bom.client.Engine.VERSION<523.15){return(win||window).innerWidth;}else{var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientWidth:doc.body.clientWidth;}},"default":function(win){var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientWidth:doc.body.clientWidth;
}}),getHeight:qx.core.Variant.select("qx.client",{"opera":function(win){if(qx.bom.client.Engine.VERSION<9.5){return(win||window).document.body.clientHeight;}else{var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientHeight:doc.body.clientHeight;}},"webkit":function(win){if(qx.bom.client.Engine.VERSION<523.15){return(win||window).innerHeight;
}else{var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientHeight:doc.body.clientHeight;}},"default":function(win){var doc=(win||window).document;return qx.bom.Document.isStandardMode(win)?doc.documentElement.clientHeight:doc.body.clientHeight;}}),getScrollLeft:qx.core.Variant.select("qx.client",{"mshtml":function(win){var doc=(win||window).document;
return doc.documentElement.scrollLeft||doc.body.scrollLeft;},"default":function(win){return(win||window).pageXOffset;}}),getScrollTop:qx.core.Variant.select("qx.client",{"mshtml":function(win){var doc=(win||window).document;return doc.documentElement.scrollTop||doc.body.scrollTop;},"default":function(win){return(win||window).pageYOffset;
}})}});qx.Class.define("qx.core.ValidationError",{extend:qx.type.BaseError});qx.Class.define("qx.util.DisposeUtil",{statics:{disposeFields:function(obj,arr){qx.log.Logger.deprecatedMethodWarning(arguments.callee,"Don't use 'disposeFields' - instead assign directly to 'null'");var name;for(var i=0,l=arr.length;
i<l;i++){var name=arr[i];if(obj[name]==null||!obj.hasOwnProperty(name)){continue;}obj[name]=null;}},disposeObjects:function(obj,arr){var name;for(var i=0,l=arr.length;i<l;i++){name=arr[i];if(obj[name]==null||!obj.hasOwnProperty(name)){continue;}if(!qx.core.ObjectRegistry.inShutDown){if(obj[name].dispose){obj[name].dispose();
}else{throw new Error("Has no disposable object under key: "+name+"!");}}obj[name]=null;}},disposeArray:function(obj,field){var data=obj[field];if(!data){return ;}if(qx.core.ObjectRegistry.inShutDown){obj[field]=null;return ;}try{var entry;for(var i=data.length-1;i>=0;i--){entry=data[i];if(entry){entry.dispose();
}}}catch(ex){throw new Error("The array field: "+field+" of object: "+obj+" has non disposable entries: "+ex);}data.length=0;obj[field]=null;},disposeMap:function(obj,field){var data=obj[field];if(!data){return ;}if(qx.core.ObjectRegistry.inShutDown){obj[field]=null;return ;}try{for(var key in data){if(data.hasOwnProperty(key)){data[key].dispose();
}}}catch(ex){throw new Error("The map field: "+field+" of object: "+obj+" has non disposable entries: "+ex);}obj[field]=null;},disposeTriggeredBy:function(disposeMe,trigger){var triggerDispose=trigger.dispose;trigger.dispose=function(){triggerDispose.call(trigger);disposeMe.dispose();};}}});qx.Class.define("qx.log.appender.Util",{statics:{toHtml:function(entry){var output=[];
var item,msg,sub,list;output.push("<span class='offset'>",this.formatOffset(entry.offset,6),"</span> ");if(entry.object){var obj=entry.win.qx.core.ObjectRegistry.fromHashCode(entry.object);if(obj){output.push("<span class='object' title='Object instance with hash code: "+obj.$$hash+"'>",obj.classname,"[",obj.$$hash,"]</span>: ");
}}else{if(entry.clazz){output.push("<span class='object'>"+entry.clazz.classname,"</span>: ");}}var items=entry.items;for(var i=0,il=items.length;i<il;i++){item=items[i];msg=item.text;if(msg instanceof Array){var list=[];for(var j=0,jl=msg.length;j<jl;j++){sub=msg[j];if(typeof sub==="string"){list.push("<span>"+this.escapeHTML(sub)+"</span>");
}else{if(sub.key){list.push("<span class='type-key'>"+sub.key+"</span>:<span class='type-"+sub.type+"'>"+this.escapeHTML(sub.text)+"</span>");}else{list.push("<span class='type-"+sub.type+"'>"+this.escapeHTML(sub.text)+"</span>");}}}output.push("<span class='type-"+item.type+"'>");if(item.type==="map"){output.push("{",list.join(", "),"}");
}else{output.push("[",list.join(", "),"]");}output.push("</span>");}else{output.push("<span class='type-"+item.type+"'>"+this.escapeHTML(msg)+"</span> ");}}var wrapper=document.createElement("DIV");wrapper.innerHTML=output.join("");wrapper.className="level-"+entry.level;return wrapper;},formatOffset:function(offset,length){var str=offset.toString();
var diff=(length||6)-str.length;var pad="";for(var i=0;i<diff;i++){pad+="0";}return pad+str;},escapeHTML:function(value){return String(value).replace(/[<>&"']/g,this.__escapeHTMLReplace);},__escapeHTMLReplace:function(ch){var map={"<":"&lt;",">":"&gt;","&":"&amp;","'":"&#39;",'"':"&quot;"};return map[ch]||"?";
},toText:function(entry){return this.toTextArray(entry).join(" ");},toTextArray:function(entry){var output=[];output.push(this.formatOffset(entry.offset,6));if(entry.object){var obj=entry.win.qx.core.ObjectRegistry.fromHashCode(entry.object);if(obj){output.push(obj.classname+"["+obj.$$hash+"]:");}}else{if(entry.clazz){output.push(entry.clazz.classname+":");
}}var items=entry.items;var item,msg;for(var i=0,il=items.length;i<il;i++){item=items[i];msg=item.text;if(msg instanceof Array){var list=[];for(var j=0,jl=msg.length;j<jl;j++){list.push(msg[j].text);}if(item.type==="map"){output.push("{",list.join(", "),"}");}else{output.push("[",list.join(", "),"]");
}}else{output.push(msg);}}return output;}}});qx.Class.define("qx.bom.element.Dimension",{statics:{getWidth:qx.core.Variant.select("qx.client",{"gecko":function(element){if(element.getBoundingClientRect){var rect=element.getBoundingClientRect();return Math.round(rect.right)-Math.round(rect.left);}else{return element.offsetWidth;
}},"default":function(element){return element.offsetWidth;}}),getHeight:qx.core.Variant.select("qx.client",{"gecko":function(element){if(element.getBoundingClientRect){var rect=element.getBoundingClientRect();return Math.round(rect.bottom)-Math.round(rect.top);}else{return element.offsetHeight;}},"default":function(element){return element.offsetHeight;
}}),getSize:function(element){return{width:this.getWidth(element),height:this.getHeight(element)};},__hiddenScrollbars:{visible:true,hidden:true},getContentWidth:function(element){var Style=qx.bom.element.Style;var overflowX=qx.bom.element.Overflow.getX(element);var paddingLeft=parseInt(Style.get(element,"paddingLeft"),10);
var paddingRight=parseInt(Style.get(element,"paddingRight"),10);if(this.__hiddenScrollbars[overflowX]){return element.clientWidth-paddingLeft-paddingRight;}else{if(element.clientWidth>=element.scrollWidth){return Math.max(element.clientWidth,element.scrollWidth)-paddingLeft-paddingRight;}else{var width=element.scrollWidth-paddingLeft;
var Engine=qx.bom.client.Engine;if(Engine.NAME==="mshtml"&&Engine.VERSION==6){width-=paddingRight;}return width;}}},getContentHeight:function(element){var Style=qx.bom.element.Style;var overflowY=qx.bom.element.Overflow.getY(element);var paddingTop=parseInt(Style.get(element,"paddingTop"),10);var paddingBottom=parseInt(Style.get(element,"paddingBottom"),10);
if(this.__hiddenScrollbars[overflowY]){return element.clientHeight-paddingTop-paddingBottom;}else{if(element.clientHeight>=element.scrollHeight){return Math.max(element.clientHeight,element.scrollHeight)-paddingTop-paddingBottom;}else{var height=element.scrollHeight-paddingTop;var Engine=qx.bom.client.Engine;
if(Engine.NAME==="mshtml"&&Engine.VERSION==6){height-=paddingBottom;}return height;}}},getContentSize:function(element){return{width:this.getContentWidth(element),height:this.getContentHeight(element)};}}});
UNOUNO.util.BackButtonHandler=function(){this.init();};UNOUNO.util.BackButtonHandler.prototype={getCookieValue:function(name){var value=null;var begin=document.cookie.indexOf(name+"=");if(begin!=-1){begin+=name.length+1;value=document.cookie.substring(begin,document.cookie.indexOf(";",begin));}return value;
},handleWindowLoad:function(ev){var lastpage=this.getCookieValue("lastpage");if(UNOUNO.params.lastpage!==""&&lastpage===UNOUNO.params.lastpage&&UNOUNO.params.page!==UNOUNO.params.lastpage){document.cookie="backpage="+lastpage;document.cookie="ucuo="+UNOUNO.params.ucuoId;}var backpage=this.getCookieValue("backpage");
var ucuo=this.getCookieValue("ucuo");if(UNOUNO.params.ucuoId==ucuo&&UNOUNO.params.lastpage!=""&&UNOUNO.params.page==backpage){this.showBanner();}if(document.getElementById("close_banner")!==null){qx.bom.Element.addListener(document.getElementById("close_banner"),"click",this.hideBanner);}},hideBanner:function(){if(document.getElementById("support_banner")!==null){qx.bom.element.Style.set(document.getElementById("support_banner"),"display","none");
window.scrollTo(0,0);}},showBanner:function(){if(document.getElementById("support_banner")!==null){qx.bom.element.Style.set(document.getElementById("support_banner"),"display","block");window.scrollTo(0,0);}},handleWindowUnload:function(ev){document.cookie="lastpage="+UNOUNO.params.page;},init:function(){this.handleWindowLoad();
qx.event.Registration.addListener(window,"beforeunload",this.handleWindowUnload,this);}};