function $_YIELD(t){this.timeout=t||0}function $_RETURN(t){this.args=t}function $YIELD(t){throw new $_YIELD(t)}function $BREAK(){throw $_BREAK}function $CONTINUE(){throw $_CONTINUE}function $RETURN(t){throw new $_RETURN(t)}function DEFINE_CLASS(t,e,n,i){function s(n){if(n!==$__JSOOP){if(this===window)return alert("FIXME: Constructor called without new in "+t);var i;s.FIXARGS&&(0==arguments.length&&(n={},i=[n]),s.FIXARGS.apply(this,i||arguments)),s.DEFAULT_ARGS&&s.setDefaults(this,n),s.BEFORE_BASE&&s.BEFORE_BASE.apply(this,i||arguments),e&&e.apply(this,i||arguments),s.CONSTRUCT&&s.CONSTRUCT.apply(this,i||arguments)}}s.name=t||"",i&&(s.hidden=!0),e&&s.inherits(e,t),t&&!i&&(window[t]=s);var o=s.prototype;return n&&(s.DEFINITION=n,n(s,o,DynarchDomUtils)),o.FINISH_OBJECT_DEF instanceof Function&&o.FINISH_OBJECT_DEF(),o.$||(o.$=Object.curry2),s}function EXTEND_CLASS(t,e){e(t,t.prototype,DynarchDomUtils)}function DEFINE_HIDDEN_CLASS(t,e,n){return DEFINE_CLASS.call(this,t,e,n,!0)}function DEFINE_SINGLETON(t,e,n){var i=DEFINE_HIDDEN_CLASS(t,e,n);return DlSingleton.register(t,i,!0),i}function DEFINE_EXCEPTION(t,e){return DEFINE_CLASS(t,e||DlException)}function DlPoint(t,e){"object"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t,this.y=e)}function DlRect(t,e,n,i){t instanceof DlRect?this.setFromRect(t):"object"==typeof t?"object"==typeof e?e instanceof DlPoint?this.setFromPoints(t,e):this.setFromValues(t.x,t.y,e.x,e.y):this.setFromValues(t.x,t.y,n,i):this.setFromValues(t,e,n,i)}function DlMenuBase(){function t(t,n,i){var s=i?i.widget:null;this._noClose||DlPopupMenu.clearAll(),e.applyHooks.delayed(1,e,"onSelect",[this.name,this,s])}var e,n;this._isMenuBase||(this._isMenuBase=!0,this._items=[],e=this,n=this.appendWidget,this.appendWidget=function(e){e instanceof DlMenuItem&&(this._items.push(e),null!=e.name&&e.addEventListener("onSelect",t)),n.apply(this,Array.$(arguments))},this.getItemByName=function(t){return this._items.grep_first(function(e){return e.name&&e.name==t})},this.getItemById=function(t){return this._items.grep_first(function(e){return e.__itemId&&e.__itemId==t})},this instanceof DlHbox?this._popupAlign={prefer:"Br",fallX1:"_r",fallX2:"_l",fallY1:"B_",fallY2:"T_"}:this._popupAlign={prefer:"bR",fallX1:"_R",fallX2:"_L",fallY1:"b_",fallY2:"t_"},this._getDlPopup=function(){var t,e=this.getParent(DlPopupMenu),n=0;return e&&(n=e._level+1),t=DlPopupMenu.get(n),t.detachPopup(),e&&t.attachToPopup(e),t},this.getToplevelMenu=function(){for(var t=this;t.parentMenu;)t=t.parentMenu;return t})}function DlType(t){t&&(this.name=t,DlType.TYPES[t]=this)}function DlConsole(){this._messages=[],DlConsole.INSTANCE=this}var CE_CACHE,$__JSOOP,$_BREAK,$_CONTINUE,DlElementCache,DlColor,DlKeyboard;DlTEXTS={goToday:"Go Today",_date_monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],_date_shortMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],_date_dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],_date_shortDayNames:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],_date_firstDayOfWeek:1};try{document.execCommand("BackgroundImageCache",!1,!0)}catch(e){}CE_CACHE={HTML_ESCAPE_DIV:document.createElement("div"),HTML_ESCAPE_TEXT:document.createTextNode(""),CONTAINER:document.createElement("div")},CE_CACHE.HTML_ESCAPE_DIV.appendChild(CE_CACHE.HTML_ESCAPE_TEXT),Array.$=function(t,e){null==e&&(e=0);var n,i,s;try{n=Array.prototype.slice.call(t,e)}catch(o){for(n=new Array(t.length-e),i=e,s=0;i<t.length;++i,++s)n[s]=t[i]}return n},Object.merge=function(t,e){if(null==t&&(t={}),e)for(var n in e)t[n]=e[n];return t},Object.merge(Object,{mergeDefined:function(t,e){for(var n in e)"undefined"!=typeof e[n]&&(t[n]=e[n]);return t},mergeUndefined:function(t,e){for(var n in e)n in t||(t[n]=e[n]);return t},remove:function(t,e){for(var n=e.length;--n>=0;)delete t[e[n]]},isEmpty:function(t){for(var e in t)return!1;return!0},makeCopy:function(t){var e,n={};for(e in t)n[e]=t[e];return n},makeDeepCopy:function(t){var e,n,i;if(t instanceof Array){for(e=[],n=t.length;--n>=0;)e[n]=Object.makeDeepCopy(t[n]);return e}if(null===t)return null;if(t instanceof Function)return t;if(t instanceof Date)return new Date(t);if(t instanceof Object){i={};for(n in t)i[n]=Object.makeDeepCopy(t[n]);return i}return t},makeShortcuts:function(t,e){for(var n in e)t[n]=t[e[n]]},foreach:function(t,e,n){for(var i in t)try{e.call(n,t[i],i)}catch(s){if(s===$_BREAK)break;if(s===$_CONTINUE)continue;if(s instanceof $_RETURN)return s.args;throw s}},map:function(t,e,n){var i,s=[];for(i in t)if(Object.HOP(t,i))try{s.push(e.call(n,t[i],i))}catch(o){if(o===$_BREAK)break;if(o===$_CONTINUE)continue;if(o instanceof $_RETURN)return o.args;throw o}return s},grep:function(t,e,n){var i,s={};if(e instanceof RegExp)for(i in t)Object.HOP(t,i)&&e.test(i)&&(s[i]=t[i]);else if(e instanceof Function)for(i in t)Object.HOP(t,i)&&e.call(n,t[i],i)&&(s[i]=t[i]);return s},curry2:function(t){return t instanceof Function||(t=this[t]),t.$A(this,Array.$(arguments,1))},HOP:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},clear:function(t){for(var e in t)Object.HOP(t,e)&&delete t[e]}}),Object.merge(Function,{INHERITANCE:{},getInheritanceGraph:function(){return Function.INHERITANCE},noop:function(){},identity:function(t){return t},returnTrue:function(){return!0},returnFalse:function(){return!1},returnThis:function(){return this},invoke:function(t){return t()}}),$__JSOOP=new Function.noop,Object.merge(Function.prototype,{$:Function.prototype.closure=function(t){var e=Array.$(arguments,1),n=this;return t==window.undefined?function(){return n.apply(this,e.concat(Array.$(arguments)))}:function(){return n.apply(t,e.concat(Array.$(arguments)))}},$0:function(t){var e=this,n=Array.$(arguments,1);return function(){return e.apply(t,n)}},inherits:function(t,e){var n=this.prototype=new t($__JSOOP);return n.constructor=this,this.BASE=t.prototype,Function.INHERITANCE[this.name=this._objectType=n._objectType=e||Dynarch.getFunctionName(this)]=Dynarch.getFunctionName(t),this.BASE},setDefaults:function(t,e,n){return Dynarch.setDefaults.call(t,this.DEFAULT_ARGS,e,n)},$$:function(t){return this.$.apply(this,t)},$A:function(t,e){return this.$.apply(this,[t].concat(e))},$C:function(){var t=Array.$(arguments),e=this;return function(){return e.apply(null,t.concat(Array.$(arguments)))}},inverse:function(){var t=this;return function(){return!t.apply(this,arguments)}},clearingTimeout:function(t,e){var n=null,i=this,s=Array.$(arguments,2),o=function(){n&&clearTimeout(n),n=setTimeout(i.$A(null==e?this:e,s.concat(Array.$(arguments))),t)};return o.cancel=function(){clearTimeout(n)},o.doItNow=function(){clearTimeout(n),i.apply(e,s.concat(Array.$(arguments)))},o},rarify:function(t,e){var n=this.$$(Array.$(arguments,2)),i=this.clearingTimeout.apply(this,Array.$(arguments,1)),s=t,o=null,l=function(){s=t};return function(){return o&&clearTimeout(o),o=setTimeout(l,e),s-->0?n.apply(this,arguments):i.apply(this,arguments)}},delayed:function(t){var e=arguments.length>1?this.$$(Array.$(arguments,1)):this;return setTimeout(e,t)},setInterval:function(t){var e=arguments.length>1?this.$$(Array.$(arguments,1)):this;return setTimeout(e,0),setInterval(e,t)},inject:function(t){return null==t&&(t=this.OBJECT_EXTENSIONS),Object.merge(this.prototype,t),this},memoize:function(){var t=this,e=$__JSOOP;return function(){return e===$__JSOOP&&(e=t.apply(this,arguments)),e}}}),Object.merge(Array,{hashKeys:function(t){var e,n=[],i=0;for(e in t)t.hasOwnProperty(e)&&(n[i++]=e);return n},hashValues:function(t){var e,n=[],i=0;for(e in t)t.hasOwnProperty(e)&&(n[i++]=t[e]);return n}}),$_BREAK={},$_CONTINUE={},Array.inject({map_hash:function(t,e,n){return n||(n={}),this.foreach(t instanceof Function?function(i){n[i]=t.call(e,i)}:function(e){n[e]=t[e]}),n},accumulate:function(t,e){arguments.length<2&&(e=0);for(var n=0;n<this.length;++n)e=t(this[n],e,n);return e},foreach:function(t,e){null==e&&(e=this);for(var n=0,i=this.length;i-->0;)try{t.call(e,this[n],n++)}catch(s){if(s===$_BREAK)break;if(s===$_CONTINUE)continue;if(s instanceof $_RETURN)return s.args;throw s}},r_foreach:function(t,e){null==e&&(e=this);for(var n=this.length;--n>=0;)try{t.call(e,this[n],n)}catch(i){if(i===$_BREAK)break;if(i===$_CONTINUE)continue;if(i instanceof $_RETURN)return i.args;throw i}},assign_each:function(t,e){return this.foreach(function(n,i){this[i]=t.call(e,i,n)})},r_assign_each:function(t,e){return this.r_foreach(function(n,i){this[i]=t.call(e,i,n)})},toHash:function(t,e){var n={};return t instanceof Function?this.foreach(function(i,s){n[i]=t.call(e,i,s)}):this.foreach(function(e,i){n[e]=null!=t?t:i+1}),n},toHash2:function(){for(var t={},e=0;e<this.length;)t[this[e++]]=this[e++];return t},toHash3:function(t,e){var n={};return t instanceof Function?this.foreach(function(i,s){var o=t.call(null!=e?e:i,i,s);n[o[0]]=o[1]}):this.foreach(function(e){n[e[t]]=e}),n},map:function(t,e){var n,i,s=0,o=this.length,l=[];if(t instanceof Function)for(null==e&&(e=this);o-->0;)try{l.push(t.call(e,this[s],s++))}catch(r){if(r===$_BREAK)break;if(r===$_CONTINUE)continue;if(r instanceof $_RETURN){l.push(r.args);break}throw r}else for(n=Array.$(arguments,1);o-->0;)e=this[s],i=e[t],l[s++]=i instanceof Function?i.apply(e,n):i;return l},r_map:function(t,e){var n,i,s=this.length,o=[];if(t instanceof Function)for(null==e&&(e=this);--s>=0;)try{o.push(t.call(e,this[s],s))}catch(l){if(l===$_BREAK)break;if(l===$_CONTINUE)continue;if(l instanceof $_RETURN){o.push(l.args);break}throw l}else for(i=Array.$(arguments,1);--s>=0;)e=this[s],n=e[t],o[s]=n instanceof Function?n.apply(e,i):n;return o.reverse()},count:function(t,e){var n=0;return this.r_foreach(function(e,i){t.call(this,e,i)&&++n},e),n},keys_map:function(t){return this.map(function(e){return t[e]})},grep:function(t,e){var n,i,s,o=0,l=this.length,r=[];if(t instanceof RegExp)for(;l-->0;)n=this[o++],t.test(n)&&r.push(n);else if(t instanceof Function)for(null==e&&(e=this);l-->0;)n=this[o],t.call(e,n,o++)&&r.push(n);else for(i=Array.$(arguments,1);l-->0;)e=this[o++],s=e[t],s instanceof Function?s.apply(e,i)&&r.push(e):s&&r.push(e);return r},grep_last:function(t,e){for(null==e&&(e=this.length-1);e>=0;){var n=this[e--];if(t(n))return n}return null},grep_first:function(t,e){for(e=e||0;e<this.length;++e){var n=this[e];if(t(n))return n}return null},contains:function(t){for(var e=this.length;--e>=0;)if(this[e]===t)return!0;return!1},any:function(t,e){var n,i,s;if(t instanceof Function){for(null==e&&(e=this),n=this.length;--n>=0;)if(t.call(e,this[n],n))return!0}else for(i=Array.$(arguments,1),n=this.length;--n>=0;)if(e=this[n],s=e[t],s instanceof Function){if(s.apply(e,i))return!0}else if(s)return!0;return!1},find:function(t){for(var e=this.length;--e>=0;)if(this[e]===t)return e;return-1},remove:function(t){for(var e=this.length;--e>=0;)this[e]===t&&this.splice(e,1);return this},pushUnique:function(t){return this.find(t)<0?(this.push(t),this.length):null},peek:function(t){return this.length>0?this[this.length-1-(null!=t?Math.abs(t):0)]:void 0},min:function(t,e){var n,i;if(0==this.length)return null;if(arguments.length>0){for(n=null!=t?t.call(e,this[0],0):this[0],i=1;i<this.length;++i)n=Math.min(n,null!=t?t.call(e,this[i],i):this[i]);return n}return Math.min.apply(Math,this)},minElement:function(t,e,n){if(0==this.length)return null;for(var i,s=0,o=this[0],l=t.call(e,o),r=0;++s<this.length;)(i=t.call(e,this[s]))<l&&(l=i,r=s,o=this[s]);return n&&this.splice(r,1),o},max:function(t,e){var n,i;if(0==this.length)return null;if(arguments.length>0){for(n=null!=t?t.call(e,this[0],0):this[0],i=1;i<this.length;++i)n=Math.max(n,null!=t?t.call(e,this[i],i):this[i]);return n}return Math.max.apply(Math,this)},maxElement:function(t,e,n){if(0==this.length)return null;for(var i,s=0,o=this[0],l=t.call(e,o),r=0;++s<this.length;)(i=t.call(e,this[s]))>l&&(l=i,r=s,o=this[s]);return n&&this.splice(r,1),o},rotateIndex:function(t){return Math.rotateLimit(t,0,this.length-1)},limitIndex:function(t){return Math.limit(t,0,this.length-1)},nullLimitIndex:function(t){return Math.nullLimit(t,0,this.length-1)},bytesToString:function(){for(var t,e="",n=0;n<this.length;)t=this[n++],240&t^240?224&t^224?192&t^192||(t=(31&t)<<6|63&this[n++]):t=(15&t)<<12|(63&this[n++])<<6|63&this[n++]:t=(3&t)<<18|(63&this[n++])<<12|(63&this[n++])<<6|63&this[n++],e+=String.fromCharCode(t);return e},repeat:function(t){if(0==t)return[];if(1==t)return this;var e=this.repeat(t>>1);return e=e.concat(e),1&t&&(e=e.concat(this)),e},common_prefix:function(){switch(this.length){case 0:return"";case 1:return this[0];case 2:for(var t=this[0],e=this[1],n=Math.min(t.length,e.length),i=0;n>i&&t.charAt(i)===e.charAt(i);)++i;return t.substring(0,i);default:return[this[0],this.slice(1).common_prefix()].common_prefix()}},append:function(t){this.push.apply(this,t)},prepend:function(t){this.unshift.apply(this,t)},toXML:function(){var t,e,n,i=this[0];if("~literal"==i)return this.slice(1).flatJoin();for(t="<"+i,e=1,n=this[1],"object"==typeof n&&(Object.foreach(n,function(e,n){"$"==n.charAt(0)&&(n=n.substr(1)),t+=" "+n.htmlEscape()+'="',t+="object"==typeof e?Object.map(e,function(t,e){return e=e.replace(/([a-z]?)([A-Z])/g,function(t,e,n){return e+"-"+n.toLowerCase()}),e.htmlEscape()+": "+t.htmlEscape()}).join("; "):e.htmlEscape(),t+='"'}),++e),t+=">";e<this.length;)n=this[e++],t+=n instanceof Array?n.toXML():String(n).htmlEscape();return t+"</"+i+">"},swap:function(t,e){var n=this[t];return this[t]=this[e],this[e]=n,this}}),Number.inject({map:function(t,e){return t+(e-t)*this},reduce:function(t,e){return(this-t)/(e-t)},mapInt:function(t,e){return Math.round(this.map(t,e))},reduceInt:function(t,e){return Math.round((this-t)/(e-t))},bits1Array:function(){for(var t=this,e=[],n=1,i=0;t>0;)1&t&&(e[i++]=n),n<<=1,t>>=1;return e},times:function(t,e){for(var n=this,i=0;--n>=0;)t.call(e,i++,n)},hex:function(t){var e=this.toString(16).toUpperCase();if(t)for(;e.length<t;)e="0"+e;return e},zeroPad:function(t,e){var n=""+Math.round(this);for(null==e&&(e="0");n.length<t;)n=e+n;return n},formatTime:function(){var t,e,n=this;return e=n/60,n%=60,t=e/60,e%=60,[t,e,n].map("zeroPad",2).join(":")},toDate:function(t,e,n,i){return Date.intToDate(this,t,e,n,i)},limit:function(t,e){return Math.limit(this,t,e)},rotateLimit:function(t,e){return Math.rotateLimit(this,t,e)},nullLimit:function(t,e){return Math.nullLimit(this,t,e)},i18n:function(t){var e=this;return t=arguments.length>1?Array.$(arguments):t.trim().split(/\s*\|\s*/),t=e<t.length?t[e]:t[t.length-1],t.replace(/##?/g,function(t){return 2==t.length?"#":e})}}),Object.merge(Math,{nullLimit:function(t,e,n){return e>t&&(t=null),t>n&&(t=null),t},limit:function(t,e,n){return e>t&&(t=e),t>n&&(t=n),t+0},rotateLimit:function(t,e,n){return n++,t%=n-e,0>t?t=n+t:e>t&&(t=e-t),t+0}}),Object.merge(Date,{_MD:[31,28,31,30,31,30,31,31,30,31,30,31],SECOND:1e3,MINUTE:6e4,HOUR:36e5,DAY:864e5,WEEK:6048e5,_MN:DlTEXTS._date_monthNames,_SMN:DlTEXTS._date_shortMonthNames,_DN:DlTEXTS._date_dayNames,_SDN:DlTEXTS._date_shortDayNames,_FDOW:DlTEXTS._date_firstDayOfWeek,isWeekend:function(t){return 0==t||6==t},parseMySQL:function(t,e){var n,i=t.split(/\s+/),s=i[0].split(/-/),o=i[1].split(/:/);return n=new Date(s[0],s[1]-1,s[2],o[0]||null,o[1]||null,o[2]||null),e&&(n.setUTCMilliseconds(0),n.setUTCSeconds(o[2]||0),n.setUTCMinutes(o[1]||0),n.setUTCHours(o[0]||0),n.setUTCDate(1),n.setUTCMonth(s[1]-1),n.setUTCDate(s[2]),n.setUTCFullYear(s[0])),n},dateToInt:function(t){return t instanceof Date?1e4*t.getFullYear()+100*(t.getMonth()+1)+t.getDate():"string"==typeof t?parseInt(t,10):t},intToDate:function(t,e,n,i,s){var o,l;return t instanceof Date||(t=parseInt(t,10),o=Math.floor(t/1e4),t%=1e4,l=Math.floor(t/100),t%=100,t=new Date(o,l-1,t,e||12,n||0,i||0,s||0)),t},getMonthName:function(t,e){var n=e?Date._SMN:Date._MN;return n[t%12]},getFirstDayOfWeek:function(){return Date._FDOW},getDayName:function(t,e){var n=e?Date._SDN:Date._DN;return n[t%7]}}),Date.now||(Date.now=function(){return(new Date).getTime()}),Date.inject({toInt:function(){return Date.dateToInt(this)},getMonthDays:function(t){var e=this.getFullYear();return null==t&&(t=this.getMonth()),0!=e%4||0==e%100&&0!=e%400||1!=t?Date._MD[t]:29},getDayOfYear:function(){var t=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),e=new Date(this.getFullYear(),0,0,0,0,0),n=t-e;return Math.floor(n/Date.DAY)},getWeekNumber:function(){var t,e=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),n=e.getDay();return e.setDate(e.getDate()-(n+6)%7+3),t=e.valueOf(),e.setMonth(0),e.setDate(4),Math.round((t-e.valueOf())/6048e5)+1},dateEqualsTo:function(t,e){return this.getFullYear()==t.getFullYear()&&this.getMonth()==t.getMonth()&&(e||this.getDate()==t.getDate())},print:function(t){var e,n,i,s=this.getMonth(),o=this.getDate(),l=this.getFullYear(),r=this.getWeekNumber(),a=this.getDay(),u={},h=this.getHours(),c=h>=12,d=c?h-12:h,_=this.getDayOfYear();return 0==d&&(d=12),e=this.getMinutes(),n=this.getSeconds(),u["%a"]=Date.getDayName(a,!0),u["%A"]=Date.getDayName(a),u["%b"]=Date.getMonthName(s,!0),u["%B"]=Date.getMonthName(s),u["%C"]=1+Math.floor(l/100),u["%d"]=10>o?"0"+o:o,u["%e"]=o,u["%H"]=10>h?"0"+h:h,u["%I"]=10>d?"0"+d:d,u["%j"]=100>_?10>_?"00"+_:"0"+_:_,u["%k"]=h,u["%l"]=d,u["%m"]=9>s?"0"+(1+s):1+s,u["%M"]=10>e?"0"+e:e,u["%n"]="\n",u["%p"]=c?"PM":"AM",u["%P"]=c?"pm":"am",u["%s"]=Math.floor(this.getTime()/1e3),u["%S"]=10>n?"0"+n:n,u["%t"]="	",u["%U"]=u["%W"]=u["%V"]=10>r?"0"+r:r,u["%u"]=a+1,u["%w"]=a,u["%y"]=(""+l).substr(2,2),u["%Y"]=l,u["%%"]="%",i=/%./g,t.replace(i,function(t){return u[t]||t})}}),String.inject({breakable:function(t){return t||(t=/([_.-])/g),this.replace(t,"$1<span class='BreakPoint'> </span>")},printf:function(){var t=Array.$(arguments),e=0;return this.replace(/%[sdfo%]/g,function(n){n=n.charAt(1);var i=t[e++];switch(n){case"s":return i.toString();case"d":return parseInt(i);case"f":return parseFloat(i).toFixed(3);case"o":return i;case"%":return"%"}return"undefined"})},fixedWidth:function(t){return String.buffer("<div style='width:",t,"'>",this,"</div>").get()},noWrap:function(){return this.replace(/\x20/g,"&nbsp;")},lastIndexOfRegexp:function(t,e){var n,i=0;for(t.lastIndex=0,t.global=!0;(n=t.exec(this))&&t.lastIndex<e;)i=t.lastIndex;return i},hashWords:function(t){return this.trim().split(/\s+/).toHash(arguments.length>0?t:!0)},arrayWords:function(){return this.trim().split(/\s+/)},trim:function(t,e){var n=t?this:this.replace(/^\s+/,"");return e||(n=n.replace(/\s+$/,"")),n},htmlEscapeFull:function(){return this.replace(/&/g,"&amp;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&#xa0;")},decodeJSON:function(t){return DlJSON.decode(this,t)},makeLabel:function(){return this.replace(/\s+/g,"&nbsp;")},capitalizeString:function(){return this.charAt(0).toUpperCase()+this.substr(1)},htmlEmbed:function(t,e){var n=["<",t];return null!=e&&n.push(" class='",e,"'"),n.push(">",this,"</",t,">"),n.join("")},repeat:function(t){if(0==t)return"";if(1==t)return""+this;var e=this.repeat(t>>1);return e+=e,1&t&&(e+=this),e},hexToBytes:function(t){var e=[],n=0,i=this;for(t&&(i=i.replace(/[^0-9a-f]/gi,"")),1&i.length&&(i="0"+i);n<i.length;)e.push(parseInt(i.substr(n,2),16)),n++,n++;return e},toBytes:function(){for(var t,e=this.length,n=0,i=0,s=[];--e>=0;)t=this.charCodeAt(i++),128>t?s[n++]=t:2048>t?(s[n++]=192|t>>>6&31,s[n++]=128|63&t):65536>t?(s[n++]=224|t>>>12&15,s[n++]=128|t>>>6&63,s[n++]=128|63&t):1114112>t&&(s[n++]=240|t>>>18&3,s[n++]=128|t>>>12&63,s[n++]=128|t>>>6&63,s[n++]=128|63&t);return s}}),function(){function t(t,e){return e?t instanceof Function?function(e,n){return t(n,e)}:function(t,e){return t>e?-1:e>t?1:0}:t instanceof Function?t:function(t,e){return e>t?-1:t>e?1:0}}function e(t){t instanceof Array?t.foreach(e,this):t instanceof Function?(t=t(),null!=t&&t!==!1&&e.call(this,t)):this.push(t)}function n(t){return t instanceof Array?t.accumulate(function(t,e){return e+n(t)},""):t instanceof Function?n(t()):t===!1||null==t?"":String(t)}var i,s,o,l,r,a,u,h,c=navigator.userAgent;is_opera=/opera/i.test(c),is_ie=/msie/i.test(c)&&!is_opera&&!/mac_powerpc/i.test(c),is_ie5=is_ie&&/msie 5\.[^5]/i.test(c),is_ie6=is_ie&&/msie 6/i.test(c),is_ie7=is_ie&&/msie 7/i.test(c),is_ie8=is_ie&&/msie 8/i.test(c),ie_box_model=is_ie&&document.compatMode&&"BackCompat"==document.compatMode,is_mac_ie=/msie.*mac/i.test(c),is_khtml=/Konqueror|Safari|KHTML/i.test(c),is_safari=/Safari/i.test(c),is_safari3=is_safari&&/Version\/3/i.test(c),is_konqueror=is_khtml&&!is_safari3,is_gecko=/gecko/i.test(c)&&!is_khtml&&!is_opera&&!is_ie,is_chrome=/Chrome/i.test(c),is_w3=!is_ie,is_macintosh=/Macintosh/i.test(c),is_gecko&&/rv:\s*([0-9.]+)/.test(c)&&(gecko_version=parseFloat(RegExp.$1)),i=Array.prototype,s=Date.prototype,o=String.prototype,l=Number.prototype,i.mergeSort=function(e,n){function i(t,e){for(var n=[],i=0,s=0,l=0;i<t.length&&s<e.length;)o(t[i],e[s])>0?n[l++]=e[s++]:n[l++]=t[i++];return i<t.length&&n.push.apply(n,t.slice(i)),s<e.length&&n.push.apply(n,e.slice(s)),n}function s(t){if(t.length<=1)return t;var e=Math.floor(t.length/2),n=t.slice(0,e),o=t.slice(e);return n=s(n),o=s(o),i(n,o)}if(this.length<2)return Array.$(this);var o=t(e,n);return s(this)},i.qsort=function(e,n){function i(t,e){var n=t,a=e,u=!1;if(a>n){do o(l[n],l[a])>0&&(s=l[n],l[n]=l[a],l[a]=s,u=!u,r=!0),u?--a:++n;while(a>n);i(t,n-1),i(n+1,e)}}if(this.length>=2){var s,o=t(e,n),l=this,r=!1;return i(0,this.length-1),r}},i.x=i.repeat,i.flatJoin=function(){return n(this)},i.flatten=function(){var t=[];return e.call(t,this),t},r=l.$1K=1024,a=l.$1M=1024*r,u=l.$1G=1024*a,h=l.$1T=1024*u,l.formatBytes=function(t){var e,n,i=this;return r>i?e="B":a>i?(i/=r,e="K"):u>i?(i/=a,e="M"):h>i&&(i/=u,e="G"),n=Math.round(i),t&&i!=n?i.toFixed(t)+e:n+e},o.qw=o.arrayWords,o.bold=o.htmlEmbed.$(window.undefined,"b"),o.x=o.repeat}(),Object.merge(String,{firstNonEmpty:function(){var t,e;for(t=0;t<arguments.length;++t)if(e=arguments[t],/\S/.test(e))return e},template:function(){var format=String.buffer.apply(this,arguments).get();return function(props){return format.replace(/(.?)\$(\{.*?\}|[a-zA-Z0-9_]+)/g,function(s,p1,p2){return"\\"==p1.charAt(0)?s.substr(1):("{"==p2.charAt(0)&&(p2=p2.substr(1,p2.length-2)),eval("p2 = props."+p2),p1+p2)})}},buffer:is_ie||is_khtml?function(){var t=[],e=0,n=function(){for(var i=0;i<arguments.length;++i)t[e++]=arguments[i];return n};return n.get=function(){return t=[t.join("")],e=1,t[0]},arguments.length>0&&n.apply(this,arguments),n}:function(){var t="",e=function(){return t=t.concat.apply(t,arguments),e};return arguments.length>0&&e.apply(this,arguments),e.get=function(){return t},e}}),String.prototype.htmlEscape=is_gecko?function(){return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&#xa0;")}:function(){return CE_CACHE.HTML_ESCAPE_TEXT.data=this,CE_CACHE.HTML_ESCAPE_DIV.innerHTML},window.Dynarch={dblClickTimeout:400,setDefaults:function(t,e,n){e||(e={});var i,s,o;for(i in t)!n&&i in this||(o=t[i],o instanceof Array?null!=o[0]?(s=o[0],s=s in e?e[s]:o[1]):s=o[1]:s=o,this[i]=s)},__IDS:{},ID:function(t){var e=Dynarch.__IDS;return null==t&&(t="generic"),t in e||(e[t]=0),"dynarch-"+t+"-"+ ++e[t]},getFunctionName:function(t){return null!=t.name?t.name:/function\s+(\$?[a-z0-9_]+)\(/i.test(t.toString())?RegExp.$1:"UNKNOWN_FUNCTION"},EXPORT:function(t,e){var n=String.buffer("var D=window.",t,"=",t,",P=",t,".prototype;");return e&&n(DynarchDomUtils.importCommonVars()),n.get()},getBaseURL:function(){var t,e,n,i=window.Dynarch_Base_Url;if(!i)for(t=document.getElementsByTagName("script"),e=0;n=t[e++];)if("DynarchLIB"==n.className&&(i=n.src,/^(.*)\x2fjs\x2f/.test(i))){Dynarch_Base_Url=i=RegExp.$1;break}return i},getFileURL:function(t){return Dynarch.getBaseURL()+"/"+t},firebugRunning:function(){return window.console&&window.console.firebug},evalClean:function(code){return Dynarch.firebugRunning()?new Function("return ("+code+");")():eval("("+code+")")}},window.DynarchDomUtils={ID:Dynarch.ID,related:function(t,e){var n,i;if(is_ie?(i=e.type,"mouseover"==i?n=e.fromElement:"mouseout"==i&&(n=e.toElement)):n=e.relatedTarget,is_gecko&&n)try{n.parentNode}catch(s){try{n=e.parentNode}catch(s){n=e.target}}try{for(;n;n=n.parentNode)if(n===t)return!0}catch(s){return!0}return!1},getScrollbarSize:function(t){return{x:t.offsetWidth-t.clientWidth,y:t.offsetHeight-t.clientHeight}},addEvent:function(t,e,n){if("string"==typeof e)t.addEventListener?t.addEventListener(e,n,!1):t.attachEvent?t.attachEvent("on"+e,n):t["on"+e]=n;else if(e instanceof Array)DynarchDomUtils.addEvents(t,e,n);else for(var i in e)DynarchDomUtils.addEvent(t,i,e[i])},addEvents:function(t,e,n){for(var i=e.length;--i>=0;)DynarchDomUtils.addEvent(t,e[i],n)},removeEvent:function(t,e,n){if("string"==typeof e)t.removeEventListener?t.removeEventListener(e,n,!1):t.detachEvent?t.detachEvent("on"+e,n):t["on"+e]="";else if(e instanceof Array)DynarchDomUtils.removeEvents(t,e,n);else for(var i in e)DynarchDomUtils.removeEvent(t,i,e[i])},removeEvents:function(t,e,n){for(var i=e.length;--i>=0;)DynarchDomUtils.removeEvent(t,e[i],n)},condEvent:function(t){return t=t?DynarchDomUtils.addEvent:DynarchDomUtils.removeEvent,t.apply(DynarchDomUtils,Array.$(arguments,1))},condEvents:function(t){return t=t?DynarchDomUtils.addEvents:DynarchDomUtils.removeEvents,t.apply(DynarchDomUtils,Array.$(arguments,1))},stopEvent:function(t){return is_ie?(t.cancelBubble=!0,t.returnValue=!1):(t.preventDefault(),t.stopPropagation()),!1},addLoadHandler:function(t,e){is_ie?t.onreadystatechange=function(){if(4==t.readyState){try{t.onreadystatechange=null}catch(n){}e()}}:DynarchDomUtils.addEvent(t,"load",e)},callHandler:function(t,e){return t[e]instanceof Function?t[e].call(t):"string"==typeof t[e]?Dynarch.evalClean(t[e]):void 0},setStyleProperty:function(t,e,n){switch(e){case"float":e="styleFloat";break;default:e=e.toLowerCase().replace(/-([a-z])/g,function(t,e){return e.toUpperCase()})}t.style[e]=n},setOpacity:function(t,e){return null!=e?(""==e&&0!=e?is_ie?t.style.filter="":t.style.opacity="":is_ie?t.style.filter="alpha(opacity="+Math.round(100*e)+")":t.style.opacity=e,e):is_ie?/alpha\(opacity=([0-9.])+\)/.test(t.style.opacity)?parseFloat(RegExp.$1):void 0:parseFloat(t.style.opacity)},getClosestParentByTagName:function(t,e){for(e=e.toLowerCase();t&&t.tagName&&t.tagName.toLowerCase()!=e;)t=t.parentNode;return t},isInside:function(t,e){try{for(;t;){if(t===e)return!0;t=t.parentNode}}catch(n){}return!1},getWindowSize:function(){if(is_gecko)return document.documentElement.clientWidth?{x:document.documentElement.clientWidth,y:document.documentElement.clientHeight}:{x:window.innerWidth,y:window.innerHeight};if(is_opera)return{x:window.innerWidth,y:window.innerHeight};if(is_ie)return document.compatMode&&"BackCompat"!=document.compatMode?{x:document.documentElement.clientWidth,y:document.documentElement.clientHeight}:{x:document.body.clientWidth,y:document.body.clientHeight};var t=document.createElement("div"),e=t.style;return e.position="absolute",e.bottom=e.right="0px",document.body.appendChild(t),e={x:t.offsetLeft,y:t.offsetTop},document.body.removeChild(t),e},getPos:function(t){var e,n,i,s,o,l,r;if(t.getBoundingClientRect)return e=t.getBoundingClientRect(),{x:e.left-document.documentElement.clientLeft,y:e.top-document.documentElement.clientTop};if(document.getBoxObjectFor){for(e=t.ownerDocument.getBoxObjectFor(t),n={x:e.x,y:e.y};t.parentNode&&t.parentNode!==document.body;)t=t.parentNode,n.x-=t.scrollLeft,n.y-=t.scrollTop;return n}return/^body$/i.test(t.tagName)?{x:0,y:0}:(i=0,s=0,o=/^div$/i.test(t.tagName),o&&t.scrollLeft&&(i=t.scrollLeft),o&&t.scrollTop&&(s=t.scrollTop),l={x:t.offsetLeft-i,y:t.offsetTop-s},t.offsetParent&&(r=DynarchDomUtils.getPos(t.offsetParent),l.x+=r.x,l.y+=r.y),l)},getBRPos:function(t){var e=DynarchDomUtils.getPos(t),n=DynarchDomUtils.getOuterSize(t);return e.x+=n.x-1,e.y+=n.y-1,e},setPos:function(t,e,n){"number"==typeof e&&(e+="px"),"number"==typeof n&&(n+="px"),null!=e&&(t.style.left=e),null!=n&&(t.style.top=n)},createElement:function(t,e,n,i,s){var o,l=CE_CACHE[t]||(CE_CACHE[t]=document.createElement(t));if(l=l.cloneNode(!1),e)for(o in e)is_ie?DynarchDomUtils.setStyleProperty(l,o,e[o]):l.style.setProperty(o,e[o],"");if(n)for(o in n)l[o]=n[o];return i&&("number"==typeof s&&(s=i.childNodes[s]),s||(s=null),i.insertBefore(l,s)),l},setUnselectable:function(t,e){if(null==e&&(e=!0),is_ie){e=e?"on":"off";var n=Array.$(t.getElementsByTagName("*"));n.push(t),n.foreach(function(t){t.setAttribute("unselectable",e)})}else e=e?"none":"normal",t.style.MozUserSelect=e,t.style.WebkitUserSelect=e,t.style.userSelect=e},addClass:function(t,e,n){DynarchDomUtils.delClass(t,n,e)},delClass:function(t,e,n){var i,s,o,l;if(t){if(i=t.className,e instanceof RegExp&&(i=i.replace(e," "),e=null),n||e){for(s=i.split(/\s+/),o=s.length,l={},e&&(l[e]=1),n&&(l[n]=1);--o>=0;)s[o]in l&&s.splice(o,1);n&&s.push(n),i=s.join(" ")}t.className=i}},condClass:function(t,e,n,i){DynarchDomUtils[e?"addClass":"delClass"](t,n,i)},hasClass:function(t,e){return t.className.split(" ").contains(e)},elementIsVisible:function(t){return!!t.offsetWidth&&"hidden"!=t.style.visibility},ie_getBackgroundColor:function(t){var e=document.body.createTextRange();return e.moveToElementText(t),"#"+parseInt(e.queryCommandValue("BackColor")).hex(6)},getStyle:function(t,e){var n=null;return window.getComputedStyle?n=document.defaultView.getComputedStyle(t,"").getPropertyValue(e):t.currentStyle&&(e=e.replace(/-[a-z]/g,function(t){return t.charAt(1).toUpperCase()}),n="backgroundColor"==e?ie_getBackgroundColor(t):t.currentStyle[e]),n},getStylePX:function(t,e){var n=parseInt(DynarchDomUtils.getStyle(t,e),10);return isNaN(n)&&(n=0),n},getBorder:function(t){return{x:t.offsetWidth-t.clientWidth,y:t.offsetHeight-t.clientHeight}},getPadding:function(t){var e,n,i=DynarchDomUtils.getStylePX;return e=i(t,"padding-left")+i(t,"padding-right"),n=i(t,"padding-top")+i(t,"padding-bottom"),{x:e,y:n}},getPaddingAndBorder:function(t){var e=0,n=0,i=DynarchDomUtils.getStylePX;return e+=i(t,"border-left-width"),e+=i(t,"border-right-width"),n+=i(t,"border-top-width"),n+=i(t,"border-bottom-width"),e+=i(t,"padding-left"),e+=i(t,"padding-right"),n+=i(t,"padding-top"),n+=i(t,"padding-bottom"),{x:e,y:n}},getSelectionRange:function(t){var e,n,i,s,o;return is_ie?(i=document.selection.createRange(),s=0==i.compareEndPoints("StartToEnd",i),s||i.collapse(!0),o=i.getBookmark(),e=o.charCodeAt(2)-2,i=document.selection.createRange(),s=0==i.compareEndPoints("StartToEnd",i),s||i.collapse(!1),o=i.getBookmark(),n=o.charCodeAt(2)-2):(e=t.selectionStart,n=t.selectionEnd),{start:e,end:n}},setSelectionRange:function(t,e,n){var i,s;null==n&&(n=e),e>n&&(i=e,e=n,n=i),"object"==typeof e&&(n=e.end,e=e.start),is_ie?(s=t.createTextRange(),s.collapse(!0),s.moveStart("character",e),s.moveEnd("character",n-e),s.select()):t.setSelectionRange(e,n)},setOuterSize:function(t,e,n){var i=DynarchDomUtils.getPaddingAndBorder(t);null!=e&&NaN!=i.x&&(e-=i.x),null!=n&&NaN!=i.y&&(n-=i.y),DynarchDomUtils.setInnerSize(t,e,n)},setInnerSize:function(t,e,n){try{"number"==typeof e&&NaN!=e&&(e=Math.abs(e)+"px"),"number"==typeof n&&NaN!=n&&(n=Math.abs(n)+"px"),null==e||NaN==e||is_ie&&0>=e||(t.style.width=e),null==n||NaN==n||is_ie&&0>=n||(t.style.height=n)}catch(i){}},getOuterSize:function(t){return{x:t.offsetWidth,y:t.offsetHeight}},getInnerSize:function(t){var e=DynarchDomUtils.getOuterSize(t),n=DynarchDomUtils.getPaddingAndBorder(t);return e.x-=n.x,e.y-=n.y,e},importCommonVars:function(){return["var DOM=DynarchDomUtils","AC=DOM.addClass","DC=DOM.delClass","CC=DOM.condClass","CE=DOM.createElement","ID=Dynarch.ID"].join(",")},trash:function(t,e){t&&(e=t.parentNode)&&e.removeChild(t)},strip:function(t){for(var e=t.parentNode;t.firstChild;)e.insertBefore(t.firstChild,t);DynarchDomUtils.trash(t)},createFromHtml:function(t){var e=CE_CACHE.CONTAINER;
return e.innerHTML=t,e.firstChild},swapNodes:function(t,e){var n=t.parentNode,i=t.nextSibling;e.parentNode.replaceChild(t,e),n.insertBefore(e,i)},scrollIntoView:function(t){for(var e,n,i,s,o,l,r=t.parentNode;r&&(r.scrollHeight==r.clientHeight&&r.scrollWidth==r.clientWidth||/table|tbody/i.test(r.tagName));)r=r.parentNode;if(r&&r!==document.body){for(e=[],n=r;n;)e.push(n),n=n.parentNode;for(i=0,s=0,n=t;n&&n!=r;)if(i+=n.offsetTop,s+=n.offsetLeft,n=n.offsetParent,e.contains(n)){n!=r&&(i-=r.offsetTop,s-=r.offsetLeft);break}o=i+t.offsetHeight,l=s+t.offsetWidth,i<r.scrollTop&&(r.scrollTop=i),i>r.scrollTop&&o>r.scrollTop+r.clientHeight&&(r.scrollTop=o-r.clientHeight),s<r.scrollLeft&&(r.scrollLeft=s),s>r.scrollLeft&&l>r.scrollLeft+r.clientWidth&&(r.scrollLeft=l-r.clientWidth)}},flash:function(t,e,n){n||(n=3);var i=setInterval(function(){t.style.visibility=1&n?"hidden":"",--n,0>n&&clearInterval(i)},e||150)},walk:function(t,e){if(!e(t))for(var n=t.firstChild;n;n=n.nextSibling)1==n.nodeType&&DynarchDomUtils.walk(n,e)},setDocumentTitle:function(t){document.title=t},setZoom:function(t,e){e="scale("+e+")",t=t.style,DynarchDomUtils.forAllStandards("transform",function(n){t.setProperty(n,e,"")})},forAllStandards:function(t,e){["-moz-","-webkit-","-o-","-ms-",""].foreach(function(n){e(n+t)})},CE_CACHE:CE_CACHE},DEFINE_CLASS("DlException",null,function(t,e){t.CONSTRUCT=function(t,e){this.error=this.constructor.name,t||(t="*** no error message given ***"),this.message=this.constructor.name+": "+t,null!=e&&(this.code=e)},e.toString=function(){var t=this.message;return this.code&&(t+=" / code: "+this.code),t}}).stopEventBubbling=function(){throw new DlExStopEventBubbling},DEFINE_EXCEPTION("DlExInvalidOperation"),DEFINE_EXCEPTION("DlExAbstractBaseClass"),DEFINE_EXCEPTION("DlExStopEventProcessing"),DEFINE_EXCEPTION("DlExStopFrameEvent"),DEFINE_EXCEPTION("DlExStopEventBubbling"),DEFINE_EXCEPTION("DlDataException"),DEFINE_EXCEPTION("DlSecurityException"),DEFINE_CLASS("DlEventProxy",null,function(t,e){function n(t,e){return t.applyHooks(e,Array.$(arguments,2))}t.CONSTRUCT=function(){this.__eventHooks={},this.__disHooks={},this.registerEvents(this.DEFAULT_EVENTS),this.addEventListener("onDestroy",this.__onDestroy)},e.DEFAULT_EVENTS=["onDestroy"],e.FINISH_OBJECT_DEF=function(){var t=this.constructor.DEFAULT_EVENTS;t&&(this.DEFAULT_EVENTS=this.DEFAULT_EVENTS.concat(t))},e.__onDestroy=function(){["__eventHooks","__disHooks"].foreach(function(t){var e,n;for(e in this[t])n=this[t][e],n&&n.foreach(function(t,e){this[e]=null}),this[t][e]=null;this[t]=null},this)},e.__getEventHooks=function(t,e){if(!this.__eventHooks)throw new DlExStopEventBubbling;var n=this.__eventHooks[t.toLowerCase()];return n?(e&&(n=n.slice(0)),n):[]},e.registerEvents=function(t){for(var e,n=this.__eventHooks,i=0;e=t[i++];)e=e.toLowerCase(),n[e]||(n[e]=[])},e.condEventListener=function(t){return t=t?this.addEventListener:this.removeEventListener,t.apply(this,Array.$(arguments,1))},e.addEventListener=function(t,e,n,i){var s,o,l;if(t instanceof Array)for(s=0;o=t[s++];)this.addEventListener(o,e,n,i);else if("object"==typeof t)for(s in t)this.addEventListener(s,t[s],e,n);else l=this.__getEventHooks(t),l.remove(e),null==n&&"ondestroy"==t.toLowerCase()&&(n=!0),n?l.unshift(e):l.push(e),i&&i.addEventListener("onDestroy",this.removeEventListener.$(this,t,e));return this},e.listenOnce=function(t,e,n){null==n&&(n=1);var i=function(){0==--n&&this.removeEventListener(t,i),e.apply(this,arguments)};return this.addEventListener(t,i)},e.connectEvents=function(t,e,i){if("string"==typeof e?(i=e,e=this):i||(i=t),t instanceof Array)for(var s=0;s<t.length;++s)this.connectEvents(t[s],e,i[s]);else this.addEventListener(t,n.$(null,e,i));return this},e.removeEventListener=function(t,e){var n,i=0;if(t instanceof Array)for(;n=t[i++];)this.removeEventListener(n,e);else if("object"==typeof t)for(i in t)this.removeEventListener(i,t[i]);else this.__getEventHooks(t).remove(e);return this},e.removeAllListeners=function(t){if(t instanceof Array)t.foreach(this.removeAllListeners,this);else if("object"==typeof t)for(var e in t)this.removeAllListeners(e);else this.__getEventHooks(t).length=0;return this},e.disableHooks=function(t){return t instanceof Array?t.r_foreach(this.disableHooks,this):(t=t.toLowerCase(),this.__disHooks[t]=this.__eventHooks[t],this.__eventHooks[t]=[]),this},e.enableHooks=function(t){return t instanceof Array?t.r_foreach(this.enableHooks,this):(t=t.toLowerCase(),this.__eventHooks[t]=this.__disHooks[t],this.__disHooks[t]=null),this},e.callHooks=function(t){var e=arguments.length>1?Array.$(arguments,1):[];return this.applyHooks(t,e)},e.hasHooks=function(t){var e=this.__eventHooks[t.toLowerCase()];return e&&e.length>0},e.withHooks=function(t,e){this.addEventListener.apply(this,t);try{return e()}finally{this.removeEventListener.apply(this,t)}},e.withDisabledHooks=function(t,e){this.disableHooks.apply(this,t);try{return e()}finally{this.enableHooks.apply(this,t)}},e.applyHooks=function(t,e){var n,i,s=[],o=0;try{for(n=this.__getEventHooks(t,!0);i=n[o++];)s.push(i.apply(this,e))}catch(l){if(!(l instanceof DlExStopEventProcessing))throw l}return s},e.debug_countHooks=function(){var t,e={};for(t in this.__eventHooks)e[t]=this.__eventHooks[t].length;return e},e.invoke=function(t){var e=Array.$(arguments,1);return function(){this[t].apply(this,e.concat(Array.$(arguments)))}.$(this)},e.destroy=function(){this.destroyed||(this.destroying=!0,this.callHooks("onDestroy"),this.__eventHooks=null,this.destroying=!1,this.destroyed=!0)}}),DEFINE_CLASS("DlEvent",null,function(t,e,n){function i(t,e,i,s){var o,l=e.getObject();switch(e.type){case"click":break;case"mousedown":t._ev_mouseDown=!0,t.applyHooks(e.dl_type,[e]);break;case"mouseup":o=t._ev_mouseDown,t._ev_mouseDown=!1,t.applyHooks(e.dl_type,[e]),o&&t._ev_mouseInside&&0===e.button&&(e=new DlEvent(s),e.dl_type="onClick",this.push([t,e,i,s]));break;case"mouseover":case"mouseout":i&&n.related(i,s)?(e.dl_type="mouseover"==e.type?"onMouseOver":"onMouseOut",t.applyHooks(e.dl_type,[e])):(t===l&&(t._ev_mouseInside="mouseover"==e.type),t.applyHooks(e.dl_type,[e]));break;case"dblclick":if((is_ie||is_opera)&&!t.hasHooks("onDblClick")){e=new DlEvent(s),e.type="click",t.applyHooks(e.dl_type="onClick",[e]);break}default:t.applyHooks(e.dl_type,[e])}s&&e.domStop&&n.stopEvent(s)}function s(){this===l&&(l=null)}function o(){u.r_foreach(Function.invoke)}var l,r,a,u,h=n.createElement,c={mouseover:"onMouseEnter",mouseout:"onMouseLeave",mousedown:"onMouseDown",mouseup:"onMouseUp",mousemove:"onMouseMove",click:"onClick",dblclick:"onDblClick",keydown:"onKeyDown",keyup:"onKeyUp",keypress:"onKeyPress",contextmenu:"onContextMenu",focus:"on_DOM_Focus",blur:"on_DOM_Blur",mousewheel:"onMouseWheel",DOMMouseScroll:"onMouseWheel",textInput:"onTextInput",paste:"onPaste",copy:"onCopy",cut:"onCut"};t.CONSTRUCT=function(e){if(this.type=e.type,this.dl_type=c[this.type]||this.type,this.ctrlKey=e.ctrlKey,this.which=e.which,this.keyIdentifier=e.keyIdentifier,is_macintosh?(this.altGrKey=e.altKey,this.altKey=e.metaKey):this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.button=e.button,this.focusedWidget=t.focusedWidget(),is_ie)switch(e.button){case 0:this.button=null;break;case 1:this.button=0;break;case 2:this.button=2;break;case 4:this.button=1}if(0==this.type.indexOf("key")&&(this.keyCode=e.keyCode,this.charCode="which"in e?e.which:is_ie||is_opera?e.keyCode:e.charCode,this.keyStr=String.fromCharCode(this.charCode)),"onMouseWheel"==this.dl_type){var n;e.wheelDelta?n=e.wheelDelta/120:e.detail&&(n=-e.detail/3),this.wheelDelta=n}if(this.pos={x:e.clientX,y:e.clientY},this.relPos=this.pos,is_ie)switch(this.target=e.srcElement,this.type){case"mouseover":this.relatedTarget=e.fromElement;break;case"mouseout":this.relatedTarget=e.toElement}else try{this.target=e.target,3==this.target.nodeType&&(this.target=this.target.parentNode),("mouseout"==this.type||"mouseover"==this.type)&&(this.relatedTarget=e.relatedTarget,this.relatedTarget&&3==this.relatedTarget.nodeType&&(this.relatedTarget=this.relatedTarget.parentNode))}catch(i){this.relatedTarget=e.explicitOriginalTarget}},e.computePos=function(t){var e=t?t instanceof DlWidget?t.getElement():t:document.body,i=this.elPos=e?n.getPos(e):{x:0,y:0};return this.relPos={x:this.pos.x-i.x,y:this.pos.y-i.y,elPos:i}},e.getObject=function(t){var e=this.target,n=this.object;if(!n){try{for(;e&&!DlWidget.getFromElement(e);)e=e.parentNode;n=e?DlWidget.getFromElement(e):null}catch(i){n=null}this.object=n}return t&&(n=n.getParent(t)),n},e.getParentElement=function(t,e){if(e&&e instanceof DlWidget&&(e=e.getElement()),e&&n===e)return null;var n=this.target;try{for(;n&&n.tagName.toLowerCase()!=t;)if(n=n.parentNode,e&&n===e)return null}catch(i){n=null}return n},t.stopEvent=n.stopEvent,l=null,t.fakeBlur=function(){var t,e;return is_safari&&l.blur?l.blur():(t=n.CE_CACHE.FAKE_FOCUS,t||(t=n.CE_CACHE.FAKE_FOCUS=h("a",null,{href:"#",innerHTML:".",className:"DYNARCH-FAKE-FOCUS"},document.body)),t.focus(),is_ie&&(e=document.body.createTextRange(),e.moveStart("character",0),e.collapse(!0),e.select()),t.blur(),void(window.status=""))},t.focusedWidget=function(e){if(arguments.length>0&&l!==e&&(l&&!l.destroyed&&(2==l._focusable?e._focusable<2&&t.fakeBlur():l.blur(),l.removeEventListener("onDestroy",s)),l=e,e)){e.addEventListener("onDestroy",s);for(var n=e.parent;n;)n._focusedWidget=e,n=n.parent}return l},t.checkDisabled=function(t){for(;t;){if(t.disabled())return!0;t=t.parent}return!1},e.destroy=function(){this.object=this.target=this.relatedTarget=null},e.stopDomEvent=function(){t.stopEvent(t.latestDomEvent)},r=t.GLOBAL_CAPTURES={},a="keydown keyup keypress".hashWords(),t._genericEventHandler=function(e,n){var s,o,u,h,c,d;if(e||(e=window.event),u=e instanceof t?e:new t(e),n&&(e=n),u._failed)return void t.stopEvent(e);t.latestEvent=u,t.latestDomEvent=e,u.pos.x&&"onMouseWheel"!=u.dl_type&&(t.latestMouseEvent=u,"onMouseDown"==u.dl_type&&(t.latestMouseDownEvent=u));try{if(h=r[u.dl_type])for(c=h.length;--c>=0;)h[c](u);s=u.type in a&&l?l.getElement():u.target,d=[],c=0;for(;s&&(o=DlWidget.getFromElement(s),!(o&&(t.checkDisabled(o)||(d[c++]=[o,u,s,e]),o.__noPropEvents&&o.__noPropEvents.test(u.dl_type))));)s=s.parentNode;for(c=0;c<d.length;++c)i.apply(d,d[c])}catch(_){if(!(_ instanceof DlExStopEventBubbling))throw _;t.stopEvent(e)}u.destroy()},u=[],t._unloadHandler=o,t.captureGlobals=function(e){for(var n in e)t.captureGlobal(n,e[n])},t.releaseGlobals=function(e){for(var n in e)t.releaseGlobal(n,e[n])},t.captureGlobal=function(t,e){var n=r[t];n||(n=r[t]=[]),n.push(e)},t.releaseGlobal=function(t,e){var n=r[t];n&&n.remove(e)},t.atUnload=function(t){u.push(t)},n.addEvents(document,["contextmenu","click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove",is_gecko?"DOMMouseScroll":"mousewheel","keydown","keyup","keypress","paste","copy","cut"],t._genericEventHandler),n.addEvent(window,"unload",o)}),DEFINE_CLASS("DlWidget",DlEventProxy,function(t,e,n){function i(){return D||(D=new DlTooltip({})),D}function s(){if(this.__tooltipActive&&i().hide(),this.__contextMenu instanceof t&&this.__contextMenu.destroy(),this.parent)try{this.parent.removeWidget(this)}catch(e){}var s=this.getElement();s&&(s._dynarch_object=null,s._dynarch_focusable=null),this._element=null,n.trash(s),y[this.id]&&(y[this.id]=null,delete y[this.id]),s=null,this.__refNodes.r_foreach(function(t,e){this.__refNodes[e]=null,this[t]=null,delete this[t]},this),this.__refNodes=null,this.userData=null,this.__propsUserData=null}function o(){this.__tooltip&&this._popupTooltip()}function l(){i().hide()}function r(t,e){if(t.dragging||Math.abs(e.pos.x-t.startPos.x)<t.delta&&Math.abs(e.pos.y-t.startPos.y)<t.delta||(t.dragging=!0,t.makeElementCopy(this,e),t.applyHooks("onStartDrag",[this,e]),this.addClass(t.draggingClass)),t.dragging){var n=t.elementCopy;n&&(n.style.left=e.pos.x+5+"px",n.style.top=e.pos.y+5+"px"),t.moving(this,e),DlException.stopEventBubbling()}}function a(t,e,n){this.delClass(t.draggingClass),DlEvent.releaseGlobals(t.captures),t.captures=null,v=!1,n||t.doDrop(this,e),t.reset(n)}function u(t,e){if(0==e.button){var n=t.dragging&&t.canDrop;a.call(this,t,e,!n)}}function h(t,e){DlException.stopEventBubbling()}function c(t,e){DlException.stopEventBubbling()}function d(t,e){for(var n,i=e.getObject(),s=!1,o=i;o;){if(o===this){s=!0;break}o=o.parent}n=t.dropOK(this,e,i,s),DlException.stopEventBubbling()}function _(t,e){DlException.stopEventBubbling()}function f(t,e){e.keyCode==DlKeyboard.ESCAPE&&a.call(this,t,e,!0),DlException.stopEventBubbling()}function p(t,e){DlException.stopEventBubbling()}function g(t){var e,n;i().cancel(),this._focusable&&!t._justFocusedWidget&&(t._justFocusedWidget=this,this._focusable<2&&this.focus()),0==t.button&&(e=this._dragArgs,e&&!v&&e.startOK(this,t)&&(n=t.getObject(),n&&n.applyHooks("onMouseLeave",[t]),v=!0,e.source=this,e.captures={onMouseMove:r.$(this,e),onMouseUp:u.$(this,e),onMouseOver:h.$(this,e),onMouseOut:c.$(this,e),onMouseEnter:d.$(this,e),onMouseLeave:_.$(this,e),onContextMenu:p.$(this,e),onKeyPress:f.$(this,e)},e.startPos=t.pos,e.startElPos=this.getPos(),DlEvent.captureGlobals(e.captures)))}function m(t){var e,n=this.__contextMenu;"function"==typeof n&&(n=n.call(this,t)),n&&(e=this._getContextMenuPopup(),e.popup({timeout:0,content:n,anchor:n.contextMenuAnchor||this.getElement(),align:n.contextMenuAlign||"mouse",widget:this,onPopup:n.contextMenuOnPopup||null,onHide:n.contextMenuOnHide||null,isContext:!0}),DlException.stopEventBubbling())}var y,D,E,v,C,b=n.createElement,S=n.addClass,T=n.delClass,x=n.condClass,A=Dynarch.ID;t.FIXARGS=function(t){null==t.focusable&&t.tabIndex&&(t.focusable=!0)},t.CONSTRUCT=function(){if(this.__propsUserData={},this.__refNodes=[],!(null==this._parent||this._parent instanceof DlContainer))throw new DlException("Parent must be an instance of DlContainer");this.id=A(this._objectType||"DlWidget"),y[this.id]=this,this.initDOM()},t.DEFAULT_ARGS={userData:["data",null],_parent:["parent",null],_fillParent:["fillParent",null],_tagName:["tagName","div"],_dragArgs:["drag",null],_element:["element",null],_focusable:["focusable",!1],_tabIndex:["tabIndex",0],_accessKey:["accessKey",null],__appendArgs:["appendArgs",window.undefined],__addClassName:["className",""],__disabled:["disabled",!1],__tooltip:["tooltip",null],__contextMenu:["contextMenu",null],__tooltipTimeout:["tooltipTimeout",650],__refCnt:["_refCnt",0],__noPropEvents:["dontBubbleEvents",null]},t.DEFAULT_EVENTS=["onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onMouseUp","onMouseOver","onMouseOut","onMouseWheel","onClick","onDblClick","onDisabled","onDisplay","onFocus","on_DOM_Focus","onBlur","on_DOM_Blur","onKeyDown","onKeyUp","onKeyPress","onResize","onContextMenu","onTooltipShow","onTooltipHide"],y=t.WIDGETS={},t.getById=function(t){return y[t]},t.getFromElement=function(t){return t._dynarch_object},t.getFromUpElement=function(t){for(;t&&!t._dynarch_object;)t=t.parentNode;return t&&t._dynarch_object},D=null,t.getTooltip=i,e.getWidgetId=function(){return this.id},e._className=[],e.FINISH_OBJECT_DEF=function(){t.BASE.FINISH_OBJECT_DEF.call(this),this._className=this._className.concat([this._objectType])},E=null,e.getResizeRect=t.getResizeRect=function(){return E||(E=b("div",{display:"none"},{className:"Dl-ResizeRect",innerHTML:"&nbsp;"},document.body)),E},t.debug_countHooks=function(){var t={};return Array.hashKeys(DlWidget.WIDGETS).foreach(function(e){t[e]=DlWidget.WIDGETS[e].debug_countHooks()}),t},e.destroy=function(){this.unref()>0||t.BASE.destroy.call(this)},e.__onTooltipShow=function(){this.__tooltipActive=!0,this.callHooks("onTooltipShow")},e.__onTooltipHide=function(){this.__tooltipActive=!1,this.callHooks("onTooltipHide")},e._popupTooltip=function(){i().popup({timeout:this.__tooltipTimeout,content:this.__tooltip,anchor:this.getElement(),align:"mouse",onPopup:this.__onTooltipShow,onHide:this.__onTooltipHide,widget:this})},v=!1,e.setData=function(t,e){1==arguments.length?delete this.__propsUserData[t]:this.__propsUserData[t]=e},e.getData=function(t){return this.__propsUserData[t]},e._getDlPopup=function(){var t=this.getParent(DlPopup)||0;return t&&(t=t._level+1),DlPopupMenu.get(t)},e._getContextMenuPopup=e._getDlPopup,C={onDestroy:s,onMouseEnter:o,onMouseLeave:l,onMouseDown:g,onContextMenu:m},e._setListeners=function(){this.addEventListener(C),this.addEventListener(is_ie||is_khtml?"onKeyDown":"onKeyPress",this._handle_focusKeys)},e._handle_focusKeys=function(t){},e._check_accessKey=function(t){return this._accessKey&&DlKeyboard.checkKey(t,this._accessKey)},e._handle_accessKey=function(t){this.focus()},e._setFocusedStyle=function(t){this.condClass(t,this._className.peek()+"-focus")},e.focus=function(){this._focusable?(DlEvent.focusedWidget(this),this._setFocusedStyle(!0),this.callHooks("onFocus"),this instanceof DlEntry||this.scrollIntoView()):this.parent&&this.parent.focus()},e.blur=function(){this._focusable&&(this.destroyed||(this._setFocusedStyle(!1),this.callHooks("onBlur")))},e.focusInside=function(){for(var t=DlEvent.focusedWidget();t&&t!=this;)t=t.parent;return!!t},e._createElement=function(t){var e,i,s=this._element;s?this.__alreadyInDom=!0:(e=this.constructor,i=e.__joinedClassName||this._className.join(" "),e.__joinedClassName||(e.__joinedClassName=i),this.__addClassName&&(i+=" "+this.__addClassName),t?(s=n.createFromHtml(t),s.className=i):s=b(this._tagName,null,{className:i}),this._focusable&&(s._dynarch_focusable=!0),this._element=s),s._dynarch_object=this},e.getElement=function(){return this._element},e.getParentNode=function(){return this._element.parentNode},e.getDOMChildren=function(){return Array.$(this.getContentElement().childNodes)},e.getContentElement=function(){return this.getElement()},e.setStyle=function(t,e){var n,i=this.getElement().style;if(arguments.length>1)i[t]=e;else for(n in t)this.setStyle(n,t[n])},e.setContent=function(e){for(var n=this.getContentElement();n.firstChild;)n.removeChild(n.lastChild);if("string"==typeof e)n.innerHTML=e;else{if(e instanceof Function)return this.setContent(e.call(this));e instanceof t?this.appendWidget(e,this.__appendArgs):e instanceof Array?n.innerHTML=e.join(""):null!=e&&n.appendChild(e)}return null!=e},e.ref=function(){return this.__refCnt++},e.unref=function(){return--this.__refCnt},e.refCnt=function(){return this.__refCnt},e.setContextMenu=function(e){this.__contextMenu instanceof t&&this.__contextMenu.destroy(),e instanceof t&&e.ref(),this.__contextMenu=e},e.setTooltip=function(t){this.__tooltip=t},e.initDOM=function(){return this._setListeners(),this._createElement(),this._parent&&(this._parent.appendWidget(this,this.__appendArgs),this._parent=null),this.__disabled&&this.disabled(!0,!0),this.__onTooltipShow=this.__onTooltipShow.$(this),this.__onTooltipHide=this.__onTooltipHide.$(this),this},e.setUnselectable=function(t,e){null==t&&(t=this.getElement()),n.setUnselectable(t,e)},e.disabled=function(t,e){return null==t||!e&&t==this.__disabled||(this.__disabled=t,this.condClass(t,"DlWidget-disabled"),this.condClass(t,this._className.peek()+"-disabled"),this.applyHooks("onDisabled",[t])),this.__disabled},e.enabled=function(t,e){return null!=t&&this.disabled(!t,e),!this.__disabled},e.getParent=function(t,e){if(null==t)return this.parent;var n=this;for(e&&(n=this.parent);n&&!(n instanceof t);)n=n.parent;return n},e.findParent=function(t,e){var n,i,s=this;if(e&&(s=this.parent),t instanceof Function)for(;s&&!t(s);)s=s.parent;else for(i=Array.$(arguments,2);s;){if(n=s[t]){if(!(n instanceof Function))break;if(n.apply(s,i))break}s=s.parent}return s},e.getPos=function(){return n.getPos(this.getElement())},e.getBRPos=function(){return n.getBRPos(this.getElement())},e.getOffsetPos=function(){var t=this.getElement();return{x:t.offsetLeft,y:t.offsetTop}},e.setPos=function(t,e){var n=this.getElement();null!=t&&"object"==typeof t&&(e=t.y,t=t.x),null!=t&&(n.style.left=t+"px"),null!=e&&(n.style.top=e+"px")},e.setSize=e.setOuterSize=function(t){n.setOuterSize(this.getElement(),t.x,t.y),this.callHooks("onResize")},e.setInnerSize=function(t){n.setInnerSize(this.getContentElement(),t.x,t.y),this.callHooks("onResize")},e.getSize=e.getOuterSize=function(){return n.getOuterSize(this.getElement())},e.getInnerSize=function(){return n.getInnerSize(this.getContentElement())},e.display=function(t){var e=this.getElement().style;return null!=t?(e.display=t?"":"none",this.applyHooks("onDisplay",[t,e.display,"display"]),t):"none"!=e.display},e.visibility=function(t){var e=this.getElement().style;return null!=t?(e.visibility=t?"":"hidden",this.applyHooks("onDisplay",[t,e.visibility,"visibility"]),t):"hidden"!=e.visible},e.opacity=function(t){return n.setOpacity(this.getElement(),t)},e.position=function(t){var e=this.getElement().style,n=e.position;return null!=t&&(e.position=t),n},e.setIconClass=function(t){var e=this.getContentElement();x(e,null!=t,this.__withIconClass||this._className.peek()+"-withIcon"),this.iconClass&&T(e,this.iconClass),t&&S(e,t),this.iconClass=t},e.addClass=function(t,e){S(this.getElement(),t,e)},e.delClass=function(t,e){T(this.getElement(),t,e)},e.condClass=function(t,e,n){return x(this.getElement(),t,e,n),t},e.zIndex=function(t){var e=this.getElement();return null!=t?(e.style.zIndex=t,t):e.style.zIndex?parseInt(e.style.zIndex,10):0},e.refNode=function(t,e){return this[t]=e,this.__refNodes.remove(t),null!=e&&this.__refNodes.push(t),e},e.debug_highlight=function(t){this.getElement().style.backgroundColor=t||"yellow"},e.getQuickPopup=function(){var t=this.getParent(DlPopup)||0;return t&&(t=t._level+1),DlDialogPopup.get(t)},e.quickPopup=function(t){var e=this.getQuickPopup();t=Object.makeCopy(t),Object.mergeUndefined(t,{anchor:this.getElement(),align:{prefer:"CC"}}),e.popup(t)},e.getScroll=function(){var t=this.getElement();return{x:t.scrollLeft,y:t.scrollTop}},e.scrollIntoView=function(){n.scrollIntoView(this.getElement())},e.flash=function(t,e){n.flash(this.getElement(),t,e)}}),DEFINE_CLASS("DlContainer",DlWidget,function(t,e){function n(t,e){return t=t?Array.$(t.getElement().getElementsByTagName("*")):[],Array.$(this.getElement().getElementsByTagName("*")).grep(e?"_dynarch_object":"_dynarch_focusable").grep(DynarchDomUtils.elementIsVisible).grep(t.contains.$(t).inverse()).map(DlWidget.getFromElement).grep("enabled").mergeSort(function(t,e){return t._tabIndex-e._tabIndex})}function i(t,e){var i=n.call(this,t),s=i.find(t);return s=i.rotateIndex(s+e),null!=s?i[s]:void 0}t.BEFORE_BASE=function(){this._widgets=[]},t.DEFAULT_ARGS={_scrollBars:["scroll",!1],__noParentKeyBindings:["noParentKB",!1]},e._createElement=function(){t.BASE._createElement.apply(this,arguments),this._scrollBars&&this.setStyle("overflow","auto")},e.appendWidget=function(t){t.parent&&t.parent.removeWidget(t),this._widgets.push(t),t.parent=this,t.__alreadyInDom||this._appendWidgetElement.apply(this,arguments),delete t.__alreadyInDom},e._appendWidgetElement=function(t,e){var n,i=t.getElement();if("number"==typeof e){n=this.getContentElement();try{e=n.childNodes[e],n.insertBefore(i,e)}catch(s){n.appendChild(i)}}else null==e?e=this.getContentElement():"string"==typeof e&&(e=document.getElementById(e)),i.parentNode!==e&&e.appendChild(i)},e.removeWidget=function(t){t.parent===this&&(this._removeWidgetElement(t),this._widgets.remove(t),t.parent=null)},e._removeWidgetElement=function(t){if(this._widgets.contains(t)){var e=t.getElement();e.parentNode&&e.parentNode.removeChild(e)}},e.destroyChildWidgets=function(){var e,n,i=Array.$(this._widgets);for(e=0;e<i.length;++e)i[e]instanceof t&&i.push.apply(i,i[e]._widgets);return i.r_foreach(function(t){try{t.destroy()}catch(e){}}),n=this.getContentElement(),n&&(n.innerHTML=""),n},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener("onDestroy",this.destroyChildWidgets),this.addEventListener("onResize",this.__doLayout)},e.disabled=function(e,n){var i=t.BASE.disabled.call(this,e,n);return null!=e&&this._widgets.r_foreach(function(t){t.disabled(e,n)}),i},e.children=function(t){return null!=t?this._widgets[t]:this._widgets},e.__doLayout=function(){var t=this.children().grep_first(function(t){return t._fillParent});t&&t.setSize(this.getInnerSize())},e.getNextFocusWidget=function(t){return i.call(this,t,1)},e.getPrevFocusWidget=function(t){return i.call(this,t,-1)},e.getFirstFocusWidget=function(){return this.getNextFocusWidget(null)},e.getLastFocusWidget=function(){return this.getPrevFocusWidget(null)},e._handleKeybinding=function(t,e){if(t.altKey||t.ctrlKey){var i=n.call(this,e,!0);i.foreach(function(e){if(e._check_accessKey(t))throw e._handle_accessKey(t),t.domStop=!0,new DlExStopEventBubbling}),this.parent&&!this.__noParentKeyBindings&&this.parent._handleKeybinding(t,this)}};var s;t.getHiddenContainer=function(){return s||(s=new this({className:"DlContainer-Hidden"}),document.body.appendChild(s.getElement())),s}}),DEFINE_CLASS("DlRadioGroup",DlEventProxy,function(t,e){function n(){s[this.id]&&(this._buttons=null,this._buttonsById=null,this._buttonsByValue=null,this._history=null,delete s[this.id])}function i(t){if(null!=t)if(this._changed=!0,t.checked()){if(null!=this._maxChecked)for(;this._history.length>=this._maxChecked;){var e=this._history[0];e.checked(!1,!0),this._history.splice(0,1)}this._history.push(t)}else{if(null!=this._minChecked&&this._history.length<=this._minChecked)throw t.checked(!0,!0),new DlExStopEventProcessing;this._history.remove(t)}}t.CONSTRUCT=function(t){null!=t&&(this._maxChecked=1,this._minChecked=null,this.id=t,this.reset(),this.addEventListener("onDestroy",n))};var s={};t.DEFAULT_EVENTS=["onChange"],t.getById=t.get=function(t){t||(t=Dynarch.ID("group"));var e=s[t];return e||(e=s[t]=new this(t)),e},e.reset=function(){this._buttons&&this._buttons.r_foreach(function(t){t.__group=t.__groupId=null}),this._changed=!1,this._buttons=[],this._buttonsById={},this._buttonsByValue={},this._history=[],this.removeAllListeners("onChange"),this.addEventListener("onChange",i)},e.changed=function(t){var e=this._changed;return null!=t&&(this._changed=t),e},e.getSelected=function(){return this._history},e.getButtons=function(){return this._buttons},e.getNextButton=function(t){null==t&&(t=this.getSelected()[0]);var e=this._buttons,n=e.nullLimitIndex(e.find(t)+1);return null!=n?e[n]:void 0},e.getPrevButton=function(t){null==t&&(t=this.getSelected()[0]);var e=this._buttons,n=e.nullLimitIndex(e.find(t)-1);return null!=n?e[n]:void 0},e.getValue=function(){return this._history.map("value")},e.setValue=function(t,e){var n,i=this._buttonsByValue;t instanceof Array||(t=[t]),t=t.toHash(!0),this._history=[];for(n in i)i[n].checked(t[n],!0),t[n]&&this._history.push(i[n]);e&&this.callHooks("onChange")},e.getByValue=function(t){return this._buttonsByValue[t]},e.addWidget=function(t,e){if(!this._buttonsById[t.id]){null==e&&(e=this._buttons.length),this._buttonsById[t.id]=t,this._buttons.splice(e,0,t),t.checked()&&this._history.push(t);var n=t.value();"undefined"!=typeof n&&(this._buttonsByValue[n]=t),t.addEventListener("onDestroy",this.removeWidget.$(this,t))}},e.removeWidget=function(t){if(this._buttonsById[t.id]){this._changed=!0,delete this._buttonsById[t.id];var e=t.value();"undefined"!=typeof e&&delete this._buttonsByValue[t.value()],this._buttons.remove(t),this._history.length!=this._history.remove(t).length&&this.callHooks("onChange")}},e.minChecked=function(t){return arguments.length>0&&(this._minChecked=t),this._minChecked},e.maxChecked=function(t){return arguments.length>0&&(this._maxChecked=t),this._maxChecked},e.checkAll=function(t,e){null==t&&(t=!0),null==e&&(e=!1),this._buttons.foreach(function(n){n.checked(t,!e)}),this._history=t?Array.$(this._buttons):[]},e.unCheckAll=function(){this._history.r_foreach(function(t){t.checked(!1)})}}),DEFINE_CLASS("DlAbstractButton",DlWidget,function(t,e){var n=["onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","onUpdateLabel","onClick","onCheck","onChange","onDisabled"],i={STANDARD:1,TWOSTATE:2};t.DEFAULT_ARGS={_label:["label",""],_classes:["classes",{}],_checked:["checked",!1],__groupId:["group",null],_btnType:["type",i.STANDARD],_value:["value",window.undefined],_noCapture:["noCapture",!1],_alwaysCheck:["alwaysCheck",!1]},t.CONSTRUCT=function(t){var e,n=this.__groupId;null!=n&&("object"==typeof n?(e=n,this.__groupId=e.id):e=DlRadioGroup.get(n),this.__group=e,e.addWidget(this,"number"==typeof t.appendArgs?t.appendArgs:null)),this._noCapture||(this._btnpressCapture={onMouseMove:DlException.stopEventBubbling,onMouseUp:this._cap_onMouseUp.$(this),onMouseOver:DlException.stopEventBubbling,onMouseOut:DlException.stopEventBubbling,onMouseEnter:this._cap_onMouseEnter.$(this),onMouseLeave:this._cap_onMouseLeave.$(this)})},t.DEFAULT_EVENTS=["onCheck","onUncheck","onChange","onUpdateLabel"],e._cap_onMouseUp=function(t){var e=t.getObject();DlEvent.releaseGlobals(this._btnpressCapture),this.applyHooks("onMouseUp",[t]),this._ev_mouseInside||this.applyHooks("onMouseLeave",[t]),e!==this&&(e&&e.applyHooks("onMouseEnter",[t]),DlException.stopEventBubbling())},e._cap_onMouseEnter=function(t){var e=t.getObject();e===this&&this.addClass(this._classes.active),e&&(e._ev_mouseInside=!0),DlException.stopEventBubbling()},e._cap_onMouseLeave=function(t){var e=t.getObject();e===this&&this.delClass(this._classes.active),e&&(e._ev_mouseInside=!1),DlException.stopEventBubbling()},t.TYPE=i,e._onMouseEnter=function(t){this.addClass(this._classes.hover)},e._onMouseLeave=function(t){this.delClass(this._classes.hover),this.delClass(this._classes.active)},e._onMouseDown=function(t){0===t.button&&(this._ev_mouseInside=!0,this.addClass(this._classes.hover),this.addClass(this._classes.active),this._noCapture||(DlEvent.captureGlobals(this._btnpressCapture),t.domStop=!0))},e._onMouseUp=function(t){this.delClass(this._classes.active)},e._onUpdateLabel=function(){this.condClass(!this._label||!/\S/.test(this._label),this._classes.empty)},e._onClick=function(){this._btnType==i.TWOSTATE&&(this._alwaysCheck?this.checked(!0):this.toggle())},e.keyClicked=function(t){this.addClass(this._classes.active),function(){this.delClass(this._classes.hover),this.delClass(this._classes.active),this.applyHooks("onClick",[t])}.delayed(90,this),t&&(t.domStop=!0,DlException.stopEventBubbling())},e._handle_focusKeys=function(e){var n,i,s=e.keyCode;s==DlKeyboard.ENTER||e.charCode==DlKeyboard.SPACE?this.keyClicked(e):!this._customMoveKeys&&this.__group&&s in DlKeyboard.KEYS_MOVE&&(n=s in DlKeyboard.KEYS_MOVE_PREV,i=n?this.__group.getPrevButton(this):this.__group.getNextButton(this),i&&(i.focus(),e.shiftKey&&(this.checked(!0),i.checked(!0)),e.domStop=!0,DlException.stopEventBubbling())),t.BASE._handle_focusKeys.call(this,e)},e._handle_accessKey=function(t){this.focus(),this.keyClicked(t)},e.disabled=function(e,n){return null!=e&&e&&(this.delClass(this._classes.hover),this.delClass(this._classes.active)),t.BASE.disabled.call(this,e,n)},e._onChange=function(){null!=this.__group&&this.__group.applyHooks("onChange",[this])},e._onCheck=Function.noop,e._onDisabled=function(t){this.condClass(t,this._classes.disabled),t&&this._capture&&(DlEvent.releaseCapture(this._capture),this._capture=null)},e._createElement=function(){t.BASE._createElement.call(this),this._createLabelElement(),this.label(this._label,!0),this._updateState(),this.setUnselectable()},e._setListeners=function(){t.BASE._setListeners.call(this),n.r_foreach(function(t){this.addEventListener(t,this["_"+t])},this)},e._createLabelElement=Function.noop,e.label=function(t,e){return(e||arguments.length>0&&t!==this._label)&&(this._label=t,t&&(t="<div class='DlButton-Label'>"+this._label+"</div>"),this.setContent(t),this.applyHooks("onUpdateLabel",[this._label])),this._label},e.setLabel=e.label,e.getLabel=e.label,e.group=function(){return this.__group},e._checkTwoState=function(t){var e=this._btnType!=i.TWOSTATE;if(e&&!t)throw new DlExInvalidOperation("This operation is only available for a TWOSTATE button");return!e},e._updateState=function(){if(this._checkTwoState(!0)){
var t=this._classes;this.condClass(this._checked,t.checked,t.unchecked)}},e.checked=function(t,e){if(this._checkTwoState(),arguments.length>0){t=!!t;var n=!e&&this._checked!==t;this._checked=t,this._updateState(),n&&(this.callHooks("onChange"),this.callHooks(t?"onCheck":"onUncheck"))}return this._checked},e.toggle=function(t){this._checkTwoState(),this.checked(!this._checked,t)},e.value=function(t){var e=this._value;return arguments.length>0&&(this._value=t),e},e.setValue=e.value,e.getValue=e.value}),DEFINE_CLASS("DlAnimation",DlEventProxy,function(t,e){function n(){this.t=this.i/this.length;try{this.applyHooks("onUpdate",[this.t]),++this.i>this.length&&this.stop(!0)}catch(t){throw this.stop(),t}}var i,s,o,l,r,a,u,h,c;t.DEFAULT_EVENTS=["onStart","onStop","onPause","onUpdate"],t.CONSTRUCT=function(t,e){this.addEventListener("onDestroy",this.stop.$(this)),null!=t&&(this.length=t),null!=e&&(this._speed=1e3/e),this._update=n.$(this)},e.start=function(t,e,n){this.stop(),null!=t&&(this.length=t),null!=e&&(this._speed=1e3/e),null!=n&&(n instanceof Function||(n=DlAnimation.easing[n]),this.func=n),this.t=0,this.i=0,this.callHooks("onStart"),this._timer=setInterval(this._update,this._speed)},e.running=function(){return this._timer},e.stop=function(t){this._timer&&(clearInterval(this._timer),this._timer=null,this.applyHooks("onStop",[t]))},e.getPos=function(t){return null==t&&(t=this.func),t.call(this,this.t)},i=Math.PI,s=Math.abs,o=Math.asin,l=Math.pow,r=Math.sin,a=Math.cos,u=Math.exp,h=Math.round,c=t.easing={elastic_b:function(t){return 1-a(5.5*-t*i)/l(2,7*t)},elastic_b_custom:function(t,e,n){return t+=.5,1-a(-n*t*i)/l(2,e*n)},magnetic:function(t){return 1-a(t*t*t*10.5*i)/u(4*t)},accel_b:function(t){return t=1-t,1-t*t*t},accel_a:function(t){return t*t*t},accel_ab:function(t){return t=1-t,1-r(t*t*t*i/2)},bounce_b:function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},shake:function(t){return.5>t?-a(11*t*i)*t*t:(t=1-t,a(11*t*i)*t*t)}}}),DEFINE_CLASS("DlBox",DlContainer,function(t,e,n){t.DEFAULT_ARGS={_borderSpacing:["borderSpacing",0],_align:["align",null],_tagName:["tagName","table"]},e._createElement=function(){t.BASE._createElement.call(this);var e=this.getElement();e.cellSpacing=this._borderSpacing,e.cellPadding=0,this._align&&(e.align=this._align),this.refNode("_tbody",n.createElement("tbody",null,null,e))},e.getTableElement=e.getElement,e._appendWidgetElement=function(t,e){null==e?this.createCellElement().appendChild(t.getElement()):e.appendChild(t.getElement())},e.destroyChildWidgets=function(){var t=Array.$(this._widgets);t.r_foreach(function(t){try{t.destroy()}catch(e){}})},e.__addSep=function(t,e,i){i||(i=this.createCellElement()),i.separator=!0;var s=this._objectType+"-"+t;return e&&(s+=" "+e),i.className=s,i.innerHTML="<div class='"+s+"'>&nbsp;</div>",n.setUnselectable(i),i},e.addSeparator=function(t,e){return this.__addSep("separator",t,e)},e.addSpace=function(t,e){return this.__addSep("spacer",t,e)}}),DEFINE_CLASS("DlButton",DlAbstractButton,function(t,e,n){t.CONSTRUCT=function(){this.setIconClass(this._iconClass),this._iconClass=null},t.TYPE=DlAbstractButton.TYPE,t.DEFAULT_ARGS={_classes:["classes",{active:"DlButton-active",hover:"DlButton-hover",checked:"DlButton-1",unchecked:"DlButton-0",empty:"DlButton-empty",disabled:"DlButton-disabled"}],_iconClass:["iconClass",null]},e.__withIconClass="DlButton-withIcon",e._createElement=function(){t.BASE._createElement.call(this),this.addClass("DlWidget-3D")},e._createLabelElement=function(){this.getElement().innerHTML="<div class='DlButton-inner'><div></div></div>"},e.getContentElement=function(){return this.getElement().firstChild.firstChild},e.setSize=e.setOuterSize=function(t){var e=n.getPaddingAndBorder(this.getElement());null!=t.x&&(t.x-=e.x),null!=t.y&&(t.y-=e.y),e=n.getPaddingAndBorder(this.getElement().firstChild),null!=t.x&&(t.x-=e.x),null!=t.y&&(t.y-=e.y),n.setOuterSize(this.getContentElement(),t.x,t.y)}}),DEFINE_CLASS("DlHbox",DlBox,function(t,e,n){var i=n.createElement;e._createElement=function(){t.BASE._createElement.call(this),this.refNode("_row",i("tr",null,null,this._tbody))},e.createCellElement=function(t){var e=i("td",null,{className:"cell"});return null!=t?this._row.insertBefore(e,t):this._row.appendChild(e),e},e._removeWidgetElement=function(t){if(this._widgets.contains(t)){var e=t.getElement();e.parentNode.parentNode.removeChild(e.parentNode)}},e.addFiller=function(){var t=this.createCellElement();t.className+=" DlHbox-filler",this.addClass("DlHbox-hasFiller")},e.setAlign=function(t,e){var n=this.getElement();switch(t){case"left":n.style.marginLeft="0",n.style.marginRight="auto";break;case"center":n.style.marginLeft="auto",n.style.marginRight="auto";break;case"right":n.style.marginLeft="auto",n.style.marginRight="0";break;default:n.style.marginLeft=null!=t?t:"auto",n.style.marginRight=null!=e?e:"auto"}},e.setEqualWidths=function(t){var e=this.children().max(function(t){return t.getSize().x});t&&(e+=t),this.children().r_foreach(function(t){t.setSize({x:e})})}}),DlPoint.prototype={clone:function(){return new DlPoint(this.x,this.y)},normalize:function(t){var e;return this.x>t.x&&(e=this.x,this.x=t.x,t.x=e),this.y>t.y&&(e=this.y,this.y=t.y,t.y=e),this},distanceTo:function(t){var e=Math.abs(t.x-this.x),n=Math.abs(t.y-this.y);return Math.sqrt(e*e+n*n)}},DlRect.prototype={setFromRect:function(t){return this.x=t.x,this.y=t.y,this.w=t.w,this.h=t.h,this},setFromPoints:function(t,e){return t=t.clone().normalize(e=e.clone()),this.x=t.x,this.y=t.y,this.w=e.x-t.x+1,this.h=e.y-t.y+1,this},setFromValues:function(t,e,n,i){return this.x=t,this.y=e,this.w=n,this.h=i,this},getTL:function(){return new DlPoint(this.x,this.y)},getBR:function(){return new DlPoint(this.x+this.w-1,this.y+this.h-1)},getPoints:function(){return[getTL(),getBR()]},height:function(t){return null!=t&&(this.h=t),this.h},width:function(t){return null!=t&&(this.w=t),this.w},containsPoint:function(t){return this.x<=t.x&&this.x+this.w>t.x&&this.y<=t.y&&this.y+this.h>t.y},intersect:function(t){var e=null,n=Math,i=n.max(this.x,t.x),s=n.max(this.y,t.y),o=n.min(this.x+this.w,t.x+t.w)-i,l=n.min(this.y+this.h,t.y+t.h)-s;return o>0&&l>0&&(e=new DlRect(i,s,o,l)),e},area:function(){return this.w*this.h},makeDiv:function(t,e){e||(e="#000"),null==t&&(t=0);var n={position:"absolute",left:this.x+"px",top:this.y+"px",width:this.w-2*t+"px",height:this.h-2*t+"px",overflow:"hidden",lineHeight:"1px",fontSize:"1px",border:t+"px solid "+e};return n=DynarchDomUtils.createElement("div",n,{innerHTML:"&nbsp;"})},positionDiv:function(t){t.style.left=this.x+"px",t.style.top=this.y+"px",t.style.height=this.h+"px",t.style.width=this.w+"px"},toString:function(){return this.w+"x"+this.h+"@"+this.x+","+this.y}},DEFINE_CLASS("DlPopup",DlContainer,function(t,e,n){function i(t){this.getScrollDiv().scrollTop+=this._scrollStep*t,this._scrollSetArrowState()}function s(t,e){t._scrollStep=t._oscroll.step1,t._scrollTimer=setInterval(i.$(t,e),t._oscroll.speed),_(this,"DlPopup-scroll-hover"),p(this,e>0,"DlPopup-scrollDown-hover","DlPopup-scrollUp-hover")}function o(){g[this._objectType][this._level]=this,this._autolink&&0!=this._level||(y[this.id]=this)}function l(){var t=g[this._objectType],e=t[this._level+1];e&&e.hide(),t.splice(this._level,1),y[this.id]&&delete y[this.id]}function r(t){if(this.args.scrollVisible){var e=this.getScrollDiv(),n=e.scrollTop;t.wheelDelta<0?n+=20:(n-=20,0>n&&(n=0)),e.scrollTop=n,t.domStop=!0,DlException.stopEventBubbling()}}function a(e){for(var n=e.getObject(),i={};n&&!(n instanceof t);)n.currentPopup&&(i[n.currentPopup.id]=!0),n=n.parent;if(n)for(;null!=n;)i[n.id]=!0,n=n._parentPopup;t.clearAllPopups(i)}function u(t){t.onBeforePopup&&t.onBeforePopup.call(this,t),this._timer=null,this.setContent(t.content)&&(t.onPopup&&t.onPopup.call(this,t),this.applyHooks("onPopup",[t]),this.showAt(t.anchor,t.align||this._align,t.pos,t.shift,t.fluid),this._prevFocus=DlEvent.focusedWidget(),this.focus())}function h(){if(this.visible){if(this.args&&this.args.onHide&&this.args.onHide.call(this,this.args),this._focusable&&this._prevFocus)try{this._prevFocus.focus()}catch(t){}this.args=null,this._timer=null,this.callHooks("onHide"),this.display(!1),this.visible=!1}}var c,d=n.createElement,_=n.addClass,f=n.delClass,p=n.condClass,g={},m={},y={},D=/DlPopup-scroll(Up|Down)?-hover/g;t.BEFORE_BASE=function(){this._hasScrolling=!1,this.visible=!1},t.DEFAULT_EVENTS=["onPopup","onHide"],t.DEFAULT_ARGS={_level:["level",0],_autolink:["autolink",!0],_oscroll:["scroll",{step1:5,step2:10,speed:40}],_align:["align",null],_zIndex:["zIndex",1e3],_focusable:["focusable",!0]},e.FINISH_OBJECT_DEF=function(){t.BASE.FINISH_OBJECT_DEF.call(this),this.constructor.get=t.get,this.constructor.clearAll=t.clearAll,g[this._objectType]=[],m[this._objectType]={}},t.get=function(t,e){var n,i,s=this.prototype._objectType,o=!1,l=g[s].length;return null!=t&&l>t||(t=l,o=!0),n=m[s],m[s]||(n=m[s]={}),i=n[t],i||(i=e?null:n[t]=new this({level:t})),i.detachPopup(),o&&t>0&&i.attachToPopup(g[s].peek()),i},t.clearAll=function(t){var e=g[this.prototype._objectType];e=e[t||0],e&&e.hide()},t.clearAllPopups=function(t){for(var e in y)t&&t[e]||y[e].hide()},e._createElement=function(){var e,n=this._parent;this._parent=null,t.BASE._createElement.call(this),e=this.getElement(),this.parent=n,this.display(!1),document.body.appendChild(e),is_gecko&&(e=d("div",null,{className:"Gecko-Bug-302380"},e)),this.refNode("_contentEl",d("div",null,{className:"DlPopup-scrollArea"},e)),this.zIndex(this._zIndex)},e.getContentElement=function(){return this._contentEl},e.getScrollDiv=e.getContentElement,e._scrollSetArrowState=function(){var t=this.getScrollDiv(),e=this._scroll_el(0),n=this._scroll_el(1),i=0==t.scrollTop,s=t.scrollTop+t.offsetHeight==t.scrollHeight;(i||s)&&this._scrollStopHandler(),p(e,i,"DlPopup-scrollUp-disabled"),p(n,s,"DlPopup-scrollDown-disabled")},e._scrollStopHandler=function(){this._scrollTimer&&(clearInterval(this._scrollTimer),this._scrollTimer=null,this._scrollSetArrowState()),f(this._scroll_el(0),D),f(this._scroll_el(1),D)},e._scrollDoubleSpeed=function(t){return this._scrollStep=this._oscroll[t?"step2":"step1"],!1},e._scroll_setup=function(){if(!this._hasScrolling){this._hasScrolling=!0;var t=this.getElement(),e=d("div",null,{className:"DlPopup-scrollUp"},t,0),n=d("div",null,{className:"DlPopup-scrollDown"},t);e.onmouseover=s.$(null,this,-1),n.onmouseover=s.$(null,this,1),e.onmouseout=n.onmouseout=this._scrollStopHandler.$(this),e.onmousedown=n.onmousedown=this._scrollDoubleSpeed.$(this,!0),e.onmouseup=n.onmouseup=this._scrollDoubleSpeed.$(this,!1),this.refNode("_scrollEl0",e),this.refNode("_scrollEl1",n),this.getScrollDiv().onscroll=this._scrollSetArrowState.$(this)}this._scroll_visibile(!0)},e._scroll_el=function(t){return this["_scrollEl"+t]},e._scroll_visibile=function(t){this._hasScrolling&&(is_gecko&&(this.getScrollDiv().parentNode.style.overflow=t?"auto":""),t=t?"":"none",this._scroll_el(0).style.display=t,this._scroll_el(1).style.display=t,this.args.scrollVisible=!t)},c=!1,e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onPopup:o,onMouseWheel:r,onHide:l}),c||(c=!0,DlEvent.captureGlobal("onMouseDown",a))},e.popup=function(t){this.args=t,this.cancel(),t.timeout?this._timer=u.$(this,t).delayed(t.timeout):u.call(this,t)},e.hide=function(t){this.cancel(),t?this._timer=h.$(this).delayed(t):h.call(this)},e.cancel=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},e.correctPos=Function.noop,e.reposition=function(){this.visible&&this.showAt(this.args.anchor,this.args.align||this._align,this.args.pos,this.args.shift,this.args.fluid)},e.showAt=function(t,e,i,s,o){var l,r,a,u,h,c,d,_,f,p,g=this.getScrollDiv();e||(e=this._align),"mouse"==e?(null==i&&(i=Object.makeCopy(DlEvent.latestMouseEvent.pos)),l=i,this._mouseDiff&&(l.x+=this._mouseDiff.x,l.y+=this._mouseDiff.y),e={prefer:"__",fallX1:"_R",fallX2:"_L",fallY1:"B_",fallY2:"T_"}):(l=n.getPos(t),s&&(s.x&&(l.x+=s.x),s.y&&(l.y+=s.y))),a=n.getOuterSize(t),r=Object.makeCopy(l),this.visibility(!1),g.style.height="",this._scroll_visibile(!1),this.setPos(-3e4,-3e4),this.display(!0),is_ie&&(this.getElement().style.width=""),u=this._bestPosition(e,r,a),h=u.height(),c=this.getScrollDiv().offsetHeight,d=this.getElement().offsetHeight-c,r=u.getTL(),c>h&&(o?this.children(0).setSize({y:h}):(is_ie&&(this.getElement().style.width=g.offsetWidth+"px"),this._scroll_setup(),_=this._scroll_el(0).offsetHeight,f=this._scroll_el(1).offsetHeight,g.style.height=h-_-f-d+"px",this._scrollSetArrowState(),g.scrollTop=0)),this.correctPos(r),this.setPos(r.x,r.y),this._parentPopup&&(p=this._parentPopup.zIndex()+1,this.zIndex(p)),this.visibility(!0),this.visible=!0},e._bestPosition=function(t,e,i){var s,o,l,r,a,u,h,c=n.getWindowSize(),d=new DlRect(0,0,c.x,c.y),_=new DlPoint(e);return c=this.getSize(),this._doAlign(t.prefer,_,i),s=new DlRect(_,c).intersect(d),o=this.checkXPos(_,d),l=this.checkYPos(_,d),0==o&&0==l?s:(0!=o&&(_.x=e.x,this._doAlign(t.fallX1,_,i),r=new DlRect(_,c).intersect(d),_.x=e.x,this._doAlign(t.fallX2,_,i),a=new DlRect(_,c).intersect(d),r&&a?_=r.area()>a.area()?r.getTL():a.getTL():r?_=r.getTL():a&&(_=a.getTL()),this.args.fallX=!0),0!=l&&(_.y=e.y,this._doAlign(t.fallY1,_,i),u=new DlRect(_,c).intersect(d),_.y=e.y,this._doAlign(t.fallY2,_,i),h=new DlRect(_,c).intersect(d),u&&h?_=u.area()>h.area()?u.getTL():h.getTL():u?_=u.getTL():h&&(_=h.getTL()),this.args.fallY=!0),new DlRect(_,c).intersect(d))},e._doAlign=function(t,e,n){var i=this.getSize(),s=t.substr(0,1),o="";switch(t.length>1&&(o=t.substr(1,1)),s){case"T":e.y-=i.y,this._mouseDiff&&"mouse"==this.args.align&&(e.y-=2*this._mouseDiff.y);break;case"B":e.y+=n.y,this._mouseDiff&&"mouse"==this.args.align&&(e.y+=2*this._mouseDiff.y);break;case"C":case"c":e.y+=(n.y-i.y)/2;break;case"t":e.y+=n.y-i.y;break;case"b":}switch(o){case"L":e.x-=i.x,this._mouseDiff&&"mouse"==this.args.align&&(e.x-=2*this._mouseDiff.x);break;case"R":e.x+=n.x,this._mouseDiff&&"mouse"==this.args.align&&(e.x+=2*this._mouseDiff.x);break;case"C":case"c":e.x+=(n.x-i.x)/2;break;case"l":e.x+=n.x-i.x;break;case"r":}},e.checkXPos=function(t,e){var n,i;return t.x<e.x?t.x-e.x:(n=this.getSize(),i=t.x+n.x-e.x-e.w,i>0?i:0)},e.checkYPos=function(t,e){var n,i;return t.y<e.y?t.y-e.y:(n=this.getSize(),i=t.y+n.y-e.y-e.h,i>0?i:0)},e.attachToPopup=function(t){this._parentPopup=t,t._childPopup=this},e.detachPopup=function(){this._parentPopup&&(this._parentPopup._childPopup=null),this._parentPopup=null},e.getToplevelPopup=function(){for(var t=this;t._parentPopup;)t=t._parentPopup;return t},e._handle_focusKeys=function(t){if(!t.altKey&&!t.ctrlKey)if(t.keyCode==DlKeyboard.ESCAPE)this.hide();else if(t.keyCode==DlKeyboard.TAB){var e=t.focusedWidget;e=t.shiftKey?this.getPrevFocusWidget(e):this.getNextFocusWidget(e),e&&e.focus(),t.domStop=!0,DlException.stopEventBubbling()}this._handleKeybinding(t)}}),DEFINE_CLASS("DlVbox",DlBox,function(t,e,n){var i=n.createElement;e.createCellElement=function(){return i("td",null,{className:"cell"},i("tr",null,{className:"row"},this._tbody))},e._removeWidgetElement=function(t){if(this._widgets.contains(t)){var e=t.getElement();e.parentNode.parentNode.parentNode.removeChild(e.parentNode.parentNode)}}}),DEFINE_CLASS("DlPopupMenu",DlPopup,function(t,e){function n(){this.cancel();this.args}t.CONSTRUCT=function(){this._mouseDiff={x:2,y:1}},t.onBeforePopup=function(t){t.isContext?t.widget.activateSubmenu&&t.widget.activateSubmenu(!0):(t.item.currentPopup=this,t.item._popupVisible=!0,t.menu._popupVisible=!0,t.item.activateSubmenu(!0));var e=t.content;e instanceof Function&&(t.content=e=e.call(this)),e.parentMenu=t.isContext?t.widget:t.menu,e instanceof DlWidget&&e.hasHooks("onPopup")&&e.applyHooks("onPopup",[t])},t.onHide=function(t,e){if(t.isContext)t.widget.activateSubmenu&&t.widget.activateSubmenu(!1);else{t.item.activateSubmenu(!1),t.item.currentPopup=null,t.item._popupVisible=!1,t.menu._popupVisible=!1;var n=t.content;n instanceof DlWidget&&n.hasHooks("onHide")&&n.applyHooks("onHide",[t]),n.parentMenu=null}e&&e.call(this,t)},e.popup=function(e){e.onBeforePopup||(e.onBeforePopup=t.onBeforePopup),e.onHide?e.onHide=t.onHide.$(this,e,e.onHide):e.onHide=t.onHide,t.BASE.popup.call(this,e)},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onMouseEnter:n})},e.correctPos=function(t){var e,n,i=this.args;try{i.isContext||i.scrollVisible||(e=i.menu,e&&e instanceof DlVMenu&&(n=i.content._widgets[0].getPos().y-i.content.parent.getElement().offsetTop,Math.abs(n)<50&&(i.fallY?t.y+=n:t.y-=n)))}catch(s){}}}),DEFINE_CLASS("DlHMenu",DlHbox,function(t,e){t.CONSTRUCT=DlMenuBase,t.DEFAULT_EVENTS=["onSelect","onPopup"]}),DEFINE_CLASS("DlVMenu",DlVbox,function(t,e){t.CONSTRUCT=DlMenuBase,t.DEFAULT_EVENTS=["onSelect","onPopup"]}),DEFINE_CLASS("DlMenuItem",DlContainer,function(t,e,n){function i(){this.scrollIntoView(),this.addClass("DlMenuItem-hover","DlMenuItem-active");var t=this._inBaseMenu();(!t||this.parentMenu._popupVisible)&&(this._menu?this._popupMenu(t?0:250):t&&this._getDlPopup().hide(100))}function s(){this.delClass("DlMenuItem-hover"),this.delClass("DlMenuItem-active");var t=this._inBaseMenu();t||this._getDlPopup().hide(100)}function o(){if(this.delClass("DlMenuItem-active"),this.hasHooks("onSelect")){var t=DlPopupMenu.get(0).args;this._noClose||DlPopupMenu.clearAll(),this.applyHooks.delayed(1,this,"onSelect",[this.name,this,t])}}function l(){this.addClass("DlMenuItem-active"),this._popupMenu(0),DlException.stopEventBubbling()}function r(){this._menu instanceof DlWidget&&(this._menu.destroy(),this._menu=null)}t.CONSTRUCT=function(){this.parentMenu||(this.parentMenu=this.parent)},t.DEFAULT_EVENTS=["onSelect"],t.DEFAULT_ARGS={label:["label","DlMenuItem"],_iconClass:["iconClass",null],_noClose:["noClose",!1],parentMenu:["menu",null],name:["name",null],__itemId:["id",null]},e._inBaseMenu=function(){return!this.parentMenu.parentMenu},e._createElement=function(){t.BASE._createElement.call(this);var e=this.getElement();e.innerHTML='<div class="div1"><div class="div2"></div></div>',this.setIconClass(this._iconClass),this._iconClass=null,this.setUnselectable(),this.label&&this.setContent(this.label)},e.getContentElement=function(){return this.getElement().firstChild.firstChild},e._getDlPopup=function(){return this.parentMenu._getDlPopup()},e._popupMenu=function(t){var e,n;this._menu&&!this._popupVisible&&(e=this.parentMenu,n=this._getDlPopup(),n.visible&&n.hide(),n.popup({timeout:t,content:this.getMenu(),anchor:this.getElement(),align:e._popupAlign,item:this,menu:this.parentMenu,onPopup:this._onPopup,onHide:this._onHide}))},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onMouseEnter:i,onMouseLeave:s,onMouseDown:l,onMouseUp:o,onDestroy:r})},e.getMenu=function(){return this._menu},e.setMenu=function(t,e,i){this._menu instanceof DlWidget&&this._menu.destroy(),t instanceof DlWidget&&t.ref(),this._menu=t,this._onPopup=e,this._onHide=i,n.condClass(this.getElement().firstChild,t,"DlMenuItem-withPopup")},e.activateSubmenu=function(t){this.condClass(t,"DlMenuItem-popped")}}),DEFINE_CLASS("DlButtonMenu",DlHbox,function(t,e){t.CONSTRUCT=DlMenuBase,t.DEFAULT_EVENTS=["onSelect","onPopup","onHide","onClick"],t.DEFAULT_ARGS={label:["label",null],_iconClass:["iconClass",null],_shiftMenu:["shiftMenu",null],_connected:["connected",!1]},e.ALIGN={prefer:"Br",fallX1:"_r",fallX2:"_l",fallY1:"B_",fallY2:"T_"},e.activateSubmenu=function(t){this._mainBtn.condClass(t,"DlButton-1"),this._menuBtn.condClass(t,"DlButton-1")},e._createElement=function(){t.BASE._createElement.call(this),this._mainBtn=new DlButton({parent:this,focusable:!1,label:this.label,className:"LabelPart",noCapture:this._connected,iconClass:this._iconClass}),this._mainBtn.connectEvents("onClick",this),this._menuBtn=new DlButton({parent:this,focusable:!1,label:"&nbsp;",className:"MenuArrow",noCapture:!0}),this._menuBtn.getElement().parentNode.style.width="3px",this._menuBtn.getContentElement().className="MenuArrow-inner",this._connected&&this._mainBtn.connectEvents("onMouseDown",this._menuBtn),this._mainBtn.connectEvents(["onMouseEnter","onMouseLeave"],this._menuBtn),this._menuBtn.addEventListener("onMouseDown",this._do_popupMenu.$(this)),this.addEventListener("onDestroy",this.setMenu.$(this,null))},e._do_popupMenu=function(t){if(!this._popupVisible){var e=this._getContextMenuPopup();e.popup({timeout:0,content:this.getMenu(),align:this.ALIGN,anchor:this.getTableElement(),isContext:!0,widget:this,shift:this._shiftMenu,onHide:this.callHooks.$(this,"onHide")}),t instanceof DlEvent&&(t._justFocusedWidget=e),this.callHooks("onPopup")}},e.getMenu=function(){return this._menu},e.getButton=function(){return this._mainBtn},e.getArrow=function(){return this._menuBtn},e.setMenu=function(t){this._menu instanceof DlWidget&&this._menu.destroy(),t instanceof DlWidget&&t.ref(),this._menu=t}}),DlElementCache={get:function(t){return this[t].cloneNode(!0)}},function(){var t=DynarchDomUtils.createElement,e=(Dynarch.ID,DlElementCache);!function(){var n=document.createDocumentFragment();t("td",null,null,t("tr",null,null,t("tbody",null,null,n))),e.TBODY_RC=n}(),function(){var n,i=t("tr"),s=t("td",null,null,i);6..times(function(){i.appendChild(s.cloneNode(!0))}),e.CAL_HEAD=t("thead"),e.CAL_HEAD.appendChild(i.cloneNode(!0)),n=e.CAL_BODY=t("tbody"),6..times(function(){n.appendChild(i.cloneNode(!0))})}(),e.DRAGGING_LINE=t("div",null,{className:"DlResizeBar-DraggingLine"})}(),DEFINE_CLASS("DlCalendar",DlWidget,function(t,e,n){function i(){if(!a){a=new DlVMenu({}),a.setStyle("textAlign","center"),new DlMenuItem({parent:a,label:DlTEXTS.goToday,name:"today",noClose:!0}),a.addSeparator();var t=new DlSpinner({parent:a,size:4});t.addEventListener("onChange",function(){t.validationError||a.calendar.setYear(t.getValue())}),t.getElement().align="center",a.addSeparator(),12..times(function(t){new DlMenuItem({parent:a,label:Date.getMonthName(t),name:t,noClose:!0})}),a.addEventListener("onPopup",function(e){this.calendar=e.widget,t.setValue(this.calendar.date.getFullYear()),t.focus.$(t).delayed(5)}),a.addEventListener("onSelect",function(e){"today"==e?this.calendar.setToday():(this.calendar.setMonth(e),this.calendar.setYear(t.getValue())),a.getParent(DlPopup).hide()})}return a}function s(t){this._clearTimer();var e=t.getParentElement("td",this);if(e){if(this._currentHover&&(c(this._currentHover,"hover"),c(this._currentHover,"rolling"),this._currentHover=null,DlWidget.getTooltip().hide()),null!=e._navType&&this._navDisabled)return;if(e._otherMonth&&this._omDisabled)return;if(null!=e._firstDay&&this.fixedFirstDay||null!=e._week)return;if(e.disabled)return;h(e,"hover"),this._currentHover=e,this.__tooltip&&this._popupTooltip()}}function o(t){this._clearTimer(),this._currentHover&&(c(this._currentHover,"hover"),c(this._currentHover,"rolling"),this._currentHover=null)}function l(t){var e,n,i;s.call(this,t),e=t.getParentElement("td",this),e&&(0==t.button||null==e._navType&&!e._otherMonth)&&(e._otherMonth&&this._omDisabled||e.disabled||(null!=e._navType&&"onMouseDown"==t.dl_type?this._navDisabled||this._navCellClicked(e,0!=e._navType?350:0,t):null!=e._year&&"onMouseUp"==t.dl_type?(n=this.date,n.setFullYear(e._year,e._month,e._iday),i=this._selectedDate,this._selectedDate=e._iday,e._otherMonth?(this.init(),this.applyHooks("onSelect",[!1,!0,!1,n])):i!=this._selectedDate?this._selectCell(e,!0):this.applyHooks("onSelect",[!1,!1,!0,n])):null==e._firstDay||this.fixedFirstDay||0!=t.button||"onMouseDown"!=t.dl_type||(this.firstDay=e._firstDay,this._displayCalendar())))}function r(){var t,e,n=this.args.widget;return e=n._currentHover,e&&(t=e._info),e=n._cal_tooltip,e?e.call(n,t):t?t.tooltip:null}var a,u=n.createElement,h=n.addClass,c=n.delClass,d=n.condClass;t.FIXARGS=function(t){t.tagName="table",this._dayNamesOn=-1,this._selectedDate=t.date&&t.selected?t.date.getDate():0},t.CONSTRUCT=function(){this._noinit||this.init()},t.DEFAULT_EVENTS=["onSelect","onChange","onRendered"],t.DEFAULT_ARGS={firstDay:["firstDay",Date.getFirstDayOfWeek()],fixedFirstDay:["fixedFirstDay",!0],_weekNumbers:["weekNumbers",!1],date:["date",null],selected:["selected",!0],_navigation:["navigation",2],_navDisabled:["navDisabled",!1],_omDisabled:["omDisabled",!1],_noinit:["noinit",!1],_withMenu:["withMenu",!1],_disableHandler:["disableHandler",Function.returnFalse],_cal_tooltip:["dayTooltip",null],_infoDates:["infoDates",null],__tooltip:["tooltip",r]},e._createElement=function(){var e,n,i,s,o,l,r,a,h,c;if(t.BASE._createElement.call(this),o=this.getElement(),l=DlElementCache.get("CAL_BODY"),o.cellSpacing=o.cellPadding=o.border=0,o.appendChild(DlElementCache.get("CAL_HEAD")),o.appendChild(l),this._weekNumbers)for(e=o.getElementsByTagName("tr"),n=e.length;--n>=0;)i=e[n],s=u("td",null,{className:"DlCalendar-WeekNumber"}),i.insertBefore(s,i.firstChild);i=u("tr"),s=u("td",null,null,i),i.className="DlCalendar-Navigation",0==this._navigation?(s.colSpan=this.getNCols(),this._makeNavPart(s,0)):(r=u("td",null,null,i),a=u("td",null,null,i),1==this._navigation?(r.colSpan=this.getNCols()-2,this._makeNavPart(r,0,s,-1,a,1)):2==this._navigation&&(h=u("td",null,null,i),c=u("td",null,null,i),a.colSpan=this.getNCols()-4,this._makeNavPart(a,0,s,-2,r,-1,h,1,c,2))),n=o.rows[0],n.parentNode.insertBefore(i,n),this.setUnselectable(),this._withMenu&&this._createQuickNavMenu()},a=null,e._createQuickNavMenu=function(){this.setContextMenu(i)},e._makeNavPart=function(){for(var t,e,n=0;n<arguments.length;++n)switch(t=arguments[n++],e=arguments[n],t._navType=e,e){case-2:t.className="PrevYear";break;case-1:t.className="PrevMonth";break;case 0:t.className="Month",this.refNode("_monthTD",t);break;case 1:t.className="NextMonth";break;case 2:t.className="NextYear"}},e.getNCols=function(){return this._weekNumbers?8:7},e.getTableElement=function(){return this.getElement()},e._displayDayNames=function(){var t,e=new Date,n=e.getDay(),i=this.getTableElement().getElementsByTagName("tr")[1],s=this._weekNumbers?1:0,o=this.firstDay;for(i.className="DlCalendar-DayNames";t=i.cells[s++];)t._firstDay=o%7,d(t,o==n,"Today"),t.innerHTML=Date.getDayName(o++,!0),d(t,Date.isWeekend(t._firstDay),"WeekEnd");this._dayNamesOn=this.firstDay,this._weekNumbers&&(t=i.cells[0],t.innerHTML="w",t._week=-1,t.className="WeekNumber")},e._displayCalendar=function(){var t,e,n,i,s,o,l,r,a,u,h,c,d,_,f,p,g,m,y=new Date,D=y.getFullYear(),E=y.getMonth(),v=y.getDate();for(this._selectedTD=null,this._dayNamesOn!=this.firstDay&&this._displayDayNames(),t=new Date(this.date),t.setHours(12),e=t.getMonth(),n=t.getDate(),i=t.getFullYear(),s=t.getMonthDays(),this._monthTD.innerHTML=String.buffer("<b>",Date.getMonthName(e,2==this._navigation),"</b> ",i).get(),t.setDate(1),o=(t.getDay()-this.firstDay)%7,0>o&&(o+=7),t.setDate(-o),t.setDate(t.getDate()+1),l=this.getTableElement().rows[2],r=this._cells=[],a=this._displayedInterval={},h=0;6>h;++h,l=l.nextSibling)for(l.className="Dates",c=l.firstChild,this._weekNumbers&&(c.className="WeekNumber",c.innerHTML=c._week=t.getWeekNumber(),c=c.nextSibling),_=0;7>_;++_,c=c.nextSibling,t.setDate(d+1))f=t.getDay(),p=[],c._iday=d=t.getDate(),c._month=t.getMonth(),c._year=t.getFullYear(),c._info=null,u={y:c._year,m:c._month,d:c._iday},this._infoDates&&(g=u.y+"-"+(1+u.m).zeroPad(2)+"-"+u.d.zeroPad(2),m=this._infoDates[g],m&&(c._info=m,p.push(m.className||"DlCalendar-infoDay"))),a.start||(a.start=u),(c._otherMonth=e!=u.m)?(p.push("OtherMonth"),r[d+(d>15?100:200)]=c):(e==E&&d==v&&D==u.y&&p.push("Today"),this._selectedDate==d&&(this._selectCell(c),p.push("Selected")),r[d]=c),(0==f||6==f)&&p.push("WeekEnd"),c.disabled=this._disableHandler(t,p,c),c.innerHTML=this.getDayHTML(d),c.className=p.join(" ");a.end=u,this.applyHooks("onRendered",[this])},e.getDayHTML=Function.identity,e.getDateCell=function(t){return this._cells[t]},e.getDisplayedInterval=function(){return this._displayedInterval},e.selectDate=function(t,e){t instanceof Date&&(t.dateEqualsTo(this.date,!0)||(this.date=new Date(t),this.init()),t=t.getDate()),this._selectCell(this.getDateCell(t),!e)},e.clearSelection=function(){this._selectedDate=null,this._initialized&&this._displayCalendar()},e.setYear=function(t){t!=this.date.getFullYear()&&(this.date.setFullYear(t),this.init())},e.setMonth=function(t){t!=this.date.getMonth()&&(this.date.setMonth(t),this.init())},e.setToday=function(){var t=new Date;this._selectedDate=0,this.date=t,this.init()},e._navCellClicked=function(t,e,n){var i,s;switch(h(t,"rolling"),this._selectedDate=0,i=this.date,0!=t._navType&&i.setDate(1),t._navType){case 0:if(this._withMenu)this.applyHooks("onContextMenu",[n]);else{if(s=new Date,i.dateEqualsTo(s,!0))return;this.date=s}break;case-2:i.setFullYear(i.getFullYear()-1);break;case-1:i.setMonth(i.getMonth()-1);break;case 1:i.setMonth(i.getMonth()+1);break;case 2:i.setFullYear(i.getFullYear()+1)}this.init(),this.applyHooks("onChange",[t._navType]),this.applyHooks("onSelect",[!0,t._navType,null,i]),e&&0!=t._navType&&(++this._timerStep,this._timer=setTimeout(this._navCellClicked.$(this,t,this._timerStep>4?50:100),e))},e._clearTimer=function(){this._timer&&clearTimeout(this._timer),this._timer=null,this._timerStep=0},e._selectCell=function(t,e){this._selectedDate=t._iday,this._selectedTD&&(c(this._selectedTD,"Selected"),c(this._selectedTD.parentNode,"Selected")),this._selectedTD=t,h(t,"Selected"),h(t.parentNode,"Selected"),c(t,"hover"),e&&this.applyHooks("onSelect",[!1,!1,!1,this.date])},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onMouseOver:s,onMouseLeave:o,onMouseUp:l,onMouseDown:l})},e.setInfoDates=function(t){this._infoDates=t,this._initialized&&this._displayCalendar()},e.init=function(){this.date||(this.date=new Date),this._displayCalendar(),this._initialized=!0},e.setSize=e.setOuterSize=function(e){t.BASE.setOuterSize.call(this,{x:null!=e.x?e.x+2:null,y:e.y})}}),DEFINE_CLASS("DlButtonCalendar",DlButtonMenu,function(t,e){function n(t,e,n){e||(this.getButton().setContent(t.date.print(this.dateFormat)),DlPopup.clearAllPopups(),this.date=new Date(t.date),this.applyHooks("onSelect",[this.date]))}function i(t){if(this.date instanceof Date){var e=this.getCalendar();e.date.dateEqualsTo(this.date)||(e.date=new Date(this.date),e._selectedDate=this.date.getDate(),e.init())}this.getArrow().applyHooks("onMouseDown",[t])}t.DEFAULT_ARGS={dateFormat:["dateFormat","%Y/%m/%d"],_calendarArgs:["calendar",{}],_iconClass:["iconClass","IconCalendar"],date:["date","Select date..."]},t.DEFAULT_EVENTS=["onSelect","onCalendarRendered"],e.getCalendar=function(){var t=this._calendar;return t||(this._calendarArgs.noinit=!0,t=this._calendar=new DlCalendar(this._calendarArgs),this.addEventListener("onDestroy",t.destroy.$(t)),t.addEventListener("onSelect",n.$(this,t)),t.connectEvents("onRendered",this,"onCalendarRendered"),this.date instanceof Date&&(t.date=new Date(this.date)),t.init()),this._calendar},e.initDOM=function(){t.BASE.initDOM.call(this);var e=this.getButton();this.date instanceof Date?e.label(this.date.print(this.dateFormat)):e.label(this.date),this.setMenu(this.getCalendar.$(this)),e.addEventListener("onClick",i.$(this))},e.getValue=function(){return this.date instanceof Date?this.date:null}}),DEFINE_CLASS("DlButtonColorPicker",DlButtonMenu,function(t,e,n){function i(t,e,n,i,s){var o=t.getColorElement();o.style.backgroundColor=i,t.hsv=Array.$(n),t._updateValues(),DlPopup.clearAllPopups(),t.applyHooks("onSelect",[e,n,i,s])}function s(t,e,n,i,s){t.getColorElement().style.backgroundColor=i}function o(t,e){var n,i;t.hsv&&(n=[e,t.hsv[1],t.hsv[2]],i=DlColor.RGB2color(DlColor.HSV2RGB(n)),t.getColorElement().style.backgroundColor=i,t.hsv=n,t._updateValues())}function l(t){var e=t.getColorElement();e.style.backgroundColor=t.rgb?DlColor.RGB2color(t.rgb):""}function r(){this._cp.addEventListener(this._events_cp),this.hsv&&this._cp.setHSV(this.hsv)}function a(){this._cp.removeEventListener(this._events_cp);
}t.CONSTRUCT=function(){this._events_cp={onSelect:i.$(null,this),onHueChange:o.$(null,this),onHover:s.$(null,this),onHoverOut:l.$(null,this)},this._updateValues()},t.DEFAULT_ARGS={rgb:["rgb",null],hsv:["hsv",null],color:["color",null]},e._updateValues=function(){this.hsv?(this.rgb=DlColor.HSV2RGB(this.hsv),this.color=DlColor.RGB2color(this.rgb)):this.rgb?(this.hsv=DlColor.RGB2HSV(this.rgb),this.color=DlColor.RGB2color(this.rgb)):this.color&&(this.rgb=DlColor.color2RGB(this.color),this.hsv=DlColor.RGB2HSV(this.rgb))},e.setColorPicker=function(t){this._cp=t,this.setMenu(t),this.hsv&&(t.setHSV(this.hsv),i.call(t,this,this.rgb,this.hsv,DlColor.RGB2color(this.rgb),DlColor.RGBrightness(this.rgb)))},e._createElement=function(){t.BASE._createElement.call(this);this.getButton().setContent(["<table cellspacing='0' cellpadding='0'><tr><td>","<div unselectable='on' class='ColorPart'>&nbsp;</div>","</td><td></td></tr></table>"].join(""));this.setLabel(this.label)},e.setLabel=function(t){var e=this.getLabelElement();e.innerHTML=t||"",n.condClass(e,t,"Label","EmptyLabel")},e.getColorElement=function(){return this.getButton().getContentElement().firstChild.rows[0].cells[0].firstChild},e.getLabelElement=function(){return this.getButton().getContentElement().firstChild.rows[0].cells[1]},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onPopup:r,onHide:a})}}),DEFINE_CLASS("DlCanvas",DlContainer,function(t,e,n){function i(t){return function(e){var n=e.computePos(this),i=this.getContext(),s=[n.x,n.y,i,this,e];return t.call(this,e,n,i,s)}}function s(t){function e(e,n,i,s,o){t.dragging=!0,t.ctx=i,t.cw=s;var l=t.getPos();t._dragDiff={x:l.x-e,y:l.y-n},DlEvent.captureGlobals(t._dragHandlers),o.domStop=!0}function n(){DlEvent.releaseGlobals(t._dragHandlers),t.dragging=!1,t.cw.refresh(),t.cw=null,t.ctx=null,t._dragPos=null}function i(e){var n=e.computePos(t.cw);n={x:n.x+t._dragDiff.x,y:n.y+t._dragDiff.y},t.setPos(n.x,n.y),t.applyHooks("onMove",[n]),t.cw.refresh(),h()}t.registerEvents(["onMove"]),t._dragHandlers={onMouseMove:i,onMouseUp:n,onMouseOver:h,onMouseOut:h,onMouseEnter:h,onMouseLeave:h},t.addEventListener({onMouseDown:e})}function o(t){function e(){i(t,"TL",function(){return[t.left(),t.top()]}),i(t,"T",function(){return[t.hcenter(),t.top()]}),i(t,"TR",function(){return[t.right(),t.top()]}),i(t,"L",function(){return[t.left(),t.vcenter()]}),i(t,"R",function(){return[t.right(),t.vcenter()]}),i(t,"BL",function(){return[t.left(),t.bottom()]}),i(t,"B",function(){return[t.hcenter(),t.bottom()]}),i(t,"BR",function(){return[t.right(),t.bottom()]})}function n(){Object.foreach(t._handles,function(t){t.update()})}function i(t,e,n){var i=n(),s=new r(i[0],i[1]);return s.update=function(){var t=n();this.setPos(t[0],t[1])},t._handles[e]=s,s.addEventListener("onMove",o[e]),s}t._handles={},s(t),t.addEventListener({onActivate:function(t){t?e():(Array.hashKeys(this._handles).map("destroy"),this._handles={})},onMove:function(){n()}}),t.handles=function(){return Array.hashValues(this._handles)},t.activable=function(){return!0};var o={TL:function(e){t.left(e.x),t.top(e.y),n()},T:function(e){t.top(e.y),n()},TR:function(e){t.right(e.x),t.top(e.y),n()},L:function(e){t.left(e.x),n()},R:function(e){t.right(e.x),n()},BL:function(e){t.left(e.x),t.bottom(e.y),n()},B:function(e){t.bottom(e.y),n()},BR:function(e){t.right(e.x),t.bottom(e.y),n()}}}function l(t,e){return e.zIndex()-t.zIndex()}var r,a=1e5,u="onMouseMove onMouseDown onMouseUp onMouseEnter onMouseLeave onClick",h=DlException.stopEventBubbling;t.DEFAULT_ARGS={width:["width",100],height:["height",100]},t.CONSTRUCT=function(){this._elements=[],this._activeEl=null,this._noUpdates=0},e.setMouseListeners=function(){u.qw().foreach(function(t){this[t]instanceof Function&&this.addEventListener(t,this[t])},this)},e._createElement=function(){t.BASE._createElement.apply(this,arguments),this.setContent("<canvas width='"+this.width+"' height='"+this.height+"'></canvas>")},e.getCanvas=function(){return this.getContentElement().firstChild},e.getContext=function(){return this._context||this.refNode("_context",this.getCanvas().getContext("2d"))},e.withContext=function(t){t(this.getContext())},e.withSavedContext=function(t){this.getContext().save();try{return t(this.getContext())}finally{this.getContext().restore()}},e.setSize=function(t){this.getCanvas().width=t.x,this.getCanvas().height=t.y,this.refresh(),this.callHooks("onResize")},e.add=function(t){this._elements.push(t),this.refresh()},e.clear=function(){var t=this.getCanvas();this.getContext().clearRect(0,0,t.width,t.height)},e.refresh=function(){0==this._noUpdates&&(this.clear(),this.getSortedElements().reverse().foreach(this.renderElement,this))},e.getSortedElements=function(){var t=this._elements.mergeSort(l);return this._activeEl&&t.unshift.apply(t,this._activeEl.handles()),t},e.renderElement=function(t){var e=this.getContext();e.save(),t.render(e,this),e.restore()},e.withNoUpdates=function(t){++this._noUpdates;try{return t()}finally{--this._noUpdates}},e.onMouseMove=i(function(t,e,n,i){this.getSortedElements().foreach(function(t){t.pointInside(e,n)?(t.__mouseInside||(t.__mouseInside=!0,t.applyHooks("onMouseEnter",i)),t.applyHooks("onMouseMove",i)):t.__mouseInside&&(t.__mouseInside=!1,t.applyHooks("onMouseLeave",i))},this)}),e.onMouseLeave=i(function(t,e,n,i){this.getSortedElements().foreach(function(t){t.__mouseInside&&(t.__mouseInside=!1,t.applyHooks("onMouseLeave",i))},this)}),e.onMouseDown=i(function(e,n,i,s){var o=!1;this.getSortedElements().foreach(function(e){e.pointInside(n,i)&&(e instanceof t.Handle?o=!0:!o&&e.activable()&&(e!==this._activeEl&&(this._activeEl&&this._activeEl.applyHooks("onActivate",[!1]),e.applyHooks("onActivate",[!0]),this._activeEl=e),o=!0),e.applyHooks("onMouseDown",s),$BREAK())},this),o?this.refresh():this._activeEl&&(this._activeEl.applyHooks("onActivate",[!1]),this._activeEl=null,this.refresh())}),e.onMouseUp=i(function(t,e,n,i){this.getSortedElements().foreach(function(t){t.pointInside(e,n)&&t.applyHooks("onMouseUp",i)},this)}),e.onClick=i(function(t,e,n,i){this.getSortedElements().foreach(function(t){t.pointInside(e,n)&&t.applyHooks("onClick",i)},this)}),t.make_movable=s,t.make_resizable=o,t.Element=DEFINE_CLASS(null,DlEventProxy,function(t,e){t.CONSTRUCT=function(){this._zIndex=0},t.DEFAULT_EVENTS=(u+" onActivate").qw(),e.pointInside=function(t,e){return e.save(),this.setMyPath(e),e.restore(),e.isPointInPath(t.x,t.y)},e.handles=function(){return[]},e.activable=function(){return!1},e.setClipPath=function(t){this.setMyPath(t)},e.zIndex=function(t){return null!=t&&(this._zIndex=t),this._zIndex}}),t.Rect=DEFINE_CLASS(null,t.Element,function(t,e){t.CONSTRUCT=function(t,e,n,i){this._p1=new DlPoint(t,e),this._p2=new DlPoint(t+n,e+i),this.normalize()},e.normalize=function(){this._p1.normalize(this._p2)},e.rectangle=function(){return new DlRect(this._p1,this._p2)},e.left=function(t){return null!=t&&(this._p1.x=t,this.normalize()),this._p1.x},e.top=function(t){return null!=t&&(this._p1.y=t,this.normalize()),this._p1.y},e.right=function(t){return null!=t&&(this._p2.x=t,this.normalize()),this._p2.x},e.bottom=function(t){return null!=t&&(this._p2.y=t,this.normalize()),this._p2.y},e.hcenter=function(){return(this.left()+this.right())/2},e.vcenter=function(){return(this.top()+this.bottom())/2},e.width=function(t){return Math.abs(this._p2.x-this._p1.x)},e.height=function(t){return Math.abs(this._p2.y-this._p1.y)},e.getPos=function(){return this._p1},e.setPos=function(t,e){var n,i;null!=t&&(n=t-this._p1.x,this._p1.x=t,this._p2.x+=n),null!=e&&(i=e-this._p1.y,this._p1.y=e,this._p2.y+=i)},e.setMyPath=function(t){var e,n,i,s;t.beginPath(),t.translate(this.hcenter(),this.vcenter()),e=this.width(),n=this.height(),i=e/2,s=n/2,t.rect(-i,-s,e,n),t.closePath()},e.render=function(t){t.fillStyle="#ffffff",t.strokeStyle="#000000",this.setMyPath(t),t.fill(),t.stroke()}}),t.Ellipse=DEFINE_CLASS(null,t.Rect,function(t,e){function n(t,e,n,i,s){var o=.5522848,l=i/2*o,r=s/2*o,a=e+i,u=n+s,h=e+i/2,c=n+s/2;t.moveTo(e,c),t.bezierCurveTo(e,c-r,h-l,n,h,n),t.bezierCurveTo(h+l,n,a,c-r,a,c),t.bezierCurveTo(a,c+r,h+l,u,h,u),t.bezierCurveTo(h-l,u,e,c+r,e,c)}e.setMyPath=function(t){var e,i,s,o;t.beginPath(),t.translate(this.hcenter(),this.vcenter()),e=this.width(),i=this.height(),s=e/2,o=i/2,n(t,-s,-o,e,i),t.closePath()}}),r=t.Handle=DEFINE_CLASS(null,t.Element,function(t,e){var n="rgba(0, 0, 0, 0.5)",i="#5500ff",o="rgba(255, 0, 0, 0.5)";t.CONSTRUCT=function(t,e,n){var l=this;s(l),l._point=new DlPoint(t,e),l._size=n||4,l.addEventListener({onMouseEnter:function(t,e,n,s){s.withSavedContext(function(t){t.strokeStyle=i,t.fillStyle=o,l.setMyPath(t),t.fill(),t.stroke()})},onMouseLeave:function(t,e,n,i){i.withSavedContext(function(t){l.setClipPath(t),t.clip(),i.refresh()})}})},e.setMyPath=function(t){t.beginPath(),t.arc(this._point.x,this._point.y,this._size,0,2*Math.PI,!0),t.closePath()},e.setClipPath=function(t){t.beginPath(),t.rect(this._point.x-this._size-1,this._point.y-this._size-1,2*this._size+2,2*this._size+2),t.closePath()},e.render=function(t){t.fillStyle=this.dragging?i:n,this.setMyPath(t),t.fill()},e.zIndex=function(){return a},e.setPos=function(t,e){null!=t&&(this._point.x=t),null!=e&&(this._point.y=e)},e.getPos=function(){return this._point}})}),DEFINE_CLASS("DlCheckbox",DlAbstractButton,function(t,e){t.DEFAULT_ARGS={_classes:["classes",{active:"DlCheckbox-active",hover:"DlCheckbox-hover",checked:"DlCheckbox-1",unchecked:"DlCheckbox-0",empty:"DlCheckbox-empty",disabled:"DlCheckbox-disabled"}]},t.FIXARGS=function(t){t.type=DlButton.TYPE.TWOSTATE}}),DlColor={RGB2HSV:function(t){var e,n,i=t[0],s=t[1],o=t[2],l=Math.min(i,s,o),r=Math.max(i,s,o),a=r,u=r-l;return 0!=r?(n=u/r,e=i==r?(s-o)/u:s==r?2+(o-i)/u:4+(i-s)/u,e*=60,0>e&&(e+=360)):(n=0,e=-1),[e,n,a]},HSV2RGB:function(t){var e,n,i,s,o,l,r,a,u=t[0],h=t[1],c=t[2];if(0==h)n=i=s=c;else switch(u/=60,e=Math.floor(u),o=u-e,l=c*(1-h),r=c*(1-h*o),a=c*(1-h*(1-o)),e){case 0:n=c,i=a,s=l;break;case 1:n=r,i=c,s=l;break;case 2:n=l,i=c,s=a;break;case 3:n=l,i=r,s=c;break;case 4:n=a,i=l,s=c;break;default:n=c,i=l,s=r}return[n,i,s]},RGB2bytes:function(t){var e=new Array(3);return e[0]=Math.round(255*t[0]),e[1]=Math.round(255*t[1]),e[2]=Math.round(255*t[2]),e},RGB2color:function(t){return String.buffer("rgb(",100*t[0],"%,",100*t[1],"%,",100*t[2],"%)").get()},RGB2hex:function(t){return t=DlColor.RGB2bytes(t),t[0].hex(2)+t[1].hex(2)+t[2].hex(2)},color2RGB:function(t){var e=0,n=0,i=0;if(!/^#/.test(t))throw new DlException("Can't parse color: "+t);return 4==t.length&&(t=t.replace(/([a-f0-9])/gi,"$1$1")),e=parseInt(t.substr(1,2),16)/255,n=parseInt(t.substr(3,2),16)/255,i=parseInt(t.substr(5,2),16)/255,[e,n,i]},brighter:function(t){var e=Array.$(t);return e[1]-=.5,e[1]<0&&(e[1]=0),e},darker:function(t){var e=Array.$(t);return e[2]-=.5,e[2]<0&&(e[2]=0),e},RGBrightness:function(t){return(299*t[0]+587*t[1]+114*t[2])/1e3}},DEFINE_CLASS("DlColorPickerHSV",DlWidget,function(t,e,n){function i(t){var e=t.target;try{for(;e&&"td"!=e.tagName.toLowerCase();)e=e.parentNode}catch(n){e=null}return e}function s(t){var e=i(t);if(e)throw e.rgb&&this.applyHooks("onSelect",[e.rgb,e.hsv,e.style.backgroundColor,DlColor.RGBrightness(e.rgb)]),new DlExStopEventBubbling}function o(t){var e,n=i(t);if(n)throw e=n.getAttribute("hueCell"),e&&(t.computePos(this),this._refresh(t),DlEvent.captureGlobals(this._dragHandlers)),new DlExStopEventBubbling}function l(t){var e,n;this._currentHover&&(c(this._currentHover,"hover1"),c(this._currentHover,"hover2")),e=i(t),e&&(e.rgb?(this._currentHover=e,n=DlColor.RGBrightness(e.rgb),d(e,n>.6,"hover2","hover1"),this.applyHooks("onHover",[e.rgb,e.hsv,e.style.backgroundColor,n])):this._currentHover&&(this.callHooks("onHoverOut"),this._currentHover=null))}function r(){var t=this._currentHover;t&&(c(t,"hover1"),c(t,"hover2"),this.callHooks("onHoverOut")),this._currentHover=null}function a(t){throw DlEvent.releaseGlobals(this._dragHandlers),new DlExStopEventBubbling}function u(t){var e=t.computePos(this),n=e.y-2;throw 0>n?n=0:n>119&&(n=119),this.getHueBarElement().style.top=n+"px",this.__cphsvTimeout&&clearTimeout(this.__cphsvTimeout),this.__cphsvTimeout=this._refresh.$(this,t).delayed(5),new DlExStopEventBubbling}var h,c=n.delClass,d=n.condClass;t.DEFAULT_EVENTS=["onSelect","onHover","onHoverOut","onHueChange"],h=String.buffer("<table cellspacing='1' cellpadding='0' border='0'>","<tbody>","<tr>","<td></td>".repeat(11),"<td rowspan='11' class='DlColorPickerHSV-Sep'></td>","<td rowspan='11' class='DlColorPickerHSV-HSV' hueCell='1'>","<div class='DlColorPickerHSV-HSV-bar'></div>","</td>","</tr>",("<tr>"+"<td></td>".repeat(11)+"</tr>").repeat(10),"</tbody></table>").get(),e.getHueBarElement=function(){return this.getElement().rows[0].cells[12].firstChild},e._createElement=function(){t.BASE._createElement.call(this,h),this.setUnselectable()},e.initDOM=function(){t.BASE.initDOM.call(this),this.addEventListener({onMouseUp:s,onMouseDown:o,onMouseOver:l,onMouseLeave:r}),this._dragHandlers={onMouseMove:u.$(this),onMouseUp:a.$(this),onMouseOver:DlException.stopEventBubbling,onMouseOut:DlException.stopEventBubbling,onMouseEnter:DlException.stopEventBubbling,onMouseLeave:DlException.stopEventBubbling},this._redraw(360)},e._refresh=function(t){var e=Math.limit(t.relPos.y-2,0,119),n=Math.round(360*(1-e/120));n=this._redraw(n),this.applyHooks("onHueChange",[n]),this.__cphsvTimeout=null},e.setHSV=function(t){this._redraw(t[0])},e._redraw=function(t){var e,n,i,s,o=this.getHueBarElement(),l=this.getElement(),r=l.rows,a=r.length-1,u=r[0].cells.length-3;for(o.style.top=120-t/3+"px",360==t&&(t=0),e=a;e>=0;--e)for(s=r[e].cells,i=u;i>=0;--i)n=s[i],n.hsv=[t,1-e/a,i/u],n.rgb=DlColor.HSV2RGB(n.hsv),n.style.backgroundColor=DlColor.RGB2color(n.rgb);return t}}),DEFINE_CLASS("DlEntry",DlContainer,function(t,e,n){function i(){this.addClass("DlEntry-Focus"),this._focused=!0,t.BASE.focus.call(this),this._isEmpty&&(this.getInputElement().value="",this.delClass("DlEntry-empty"),this._isEmpty=!1)}function s(){this.delClass("DlEntry-Focus"),this._focused=!1,t.BASE.blur.call(this),this.__setEmpty()}function o(){this.destroyed||(this.__setEmpty(),this.callHooks("onChange"))}function l(){this.validate()}function r(t){this._isEmpty=!1,t.keyCode==DlKeyboard.ENTER?this.applyHooks("onKey-ENTER",[t]):t.keyCode==DlKeyboard.ESCAPE&&this.applyHooks("onKey-ESCAPE",[t])}var a=n.createElement;t.FIXARGS=function(t){t.tagName="table",this._isTextArea="textarea"==t.type},t.DEFAULT_EVENTS=["onChange","onKey-ENTER","onKey-ESCAPE","onValidationError","onValidation","onPaste","onCopy","onCut"],t.DEFAULT_ARGS={_domType:["type","text"],_value:["value",null],_size:["size",null],_rows:["rows",null],_readonly:["readonly",!1],_emptyText:["emptyText",""],_emptyValue:["emptyValue",""],_width:["width",null],_name:["name",null],_validators:["validators",[]],_allowEmpty:["allowEmpty",null],_focusable:["focusable",2],_maxlen:["maxlength",null],_noSelect:["noSelect",!1],_trim:["trim",!1],_noWrap:["noWrap",!1]},e.validate=function(t){if(null==t&&(t=this.getValue(!0)),null!=this._allowEmpty&&!/\S/.test(t))return this.condClass(!this._allowEmpty,"DlEntry-ValidationError"),this.applyHooks("onValidation",[!this._allowEmpty]),this._allowEmpty;var e,n,i=this._validators,s=!1;for(e=0;e<i.length;++e)if(n=i[e],!n.ok(t)){s=n.getError()||!0;break}return n&&!s&&this.setValue(n.getLastVal(),!0),this.validationError=s,this._noSelect||!this._focused||this.readonly()||"textarea"==this._domType||this.select(),this.condClass(s,"DlEntry-ValidationError"),this.applyHooks("onValidation",[s]),s&&(this.setInvalidTooltip(s.message),this.applyHooks("onValidationError",[s])),!s},e.setInvalidTooltip=function(t){this._invalidTooltip.setTooltip(t)},e.timerFocus=function(t){return this.focus.clearingTimeout(t||10,this)},e.select=function(){try{is_gecko?this.setSelectionRange(0,this.getValue(!0).length):this.getInputElement().select()}catch(t){}},e.focus=function(){this.getInputElement().focus(),this._noSelect||this.readonly()||"textarea"==this._domType||this.select()},e.blur=function(){this.getInputElement().blur()},e.__setEmpty=function(t){return null==t&&(t=this.getInputElement().value),this._isEmpty=this.__checkEmpty(t),this._isEmpty?this._focused?this.getInputElement().value=t:(this.addClass("DlEntry-empty"),this.getInputElement().value=""):this.delClass("DlEntry-empty"),this._isEmpty},e.__checkEmpty=function(t){return null==t&&(t=this.getInputElement().value),""===t},e._createElement=function(){var e,n;switch(t.BASE._createElement.apply(this,arguments),e=this.getElement(),e.appendChild(DlElementCache.get("TBODY_RC")),e.cellSpacing=e.cellPadding=e.border=0,e=e.rows[0].cells[0],e.className="DlEntry-cell",n=this._isTextArea?document.createElement("textarea"):n=document.createElement("input"),n.id=this.id+"-input",n.setAttribute("autocomplete","off",1),this._noWrap&&n.setAttribute("wrap","off"),this._isTextArea&&this._rows&&(n.rows=this._rows),null!=this._maxlen&&n.setAttribute("maxlength",this._maxlen),this._domType){case"password":case"file":case"hidden":n.type=this._domType}is_gecko&&gecko_version<1.9&&!this._no_gecko_bug&&(e=a("div",null,{className:"Gecko-Bug-226933"},e)),e=a("div",{position:"relative",overflow:"hidden"},null,e),this._emptyText&&a("label",null,{htmlFor:this.id+"-input",className:"DlEntry-emptyText",innerHTML:this._emptyText.htmlEscape()},e),e.appendChild(n),this.refNode("_invalidTooltip",new DlWidget({className:"DlEntry-invalidIcon",parent:this,appendArgs:e}))},e.getInputElement=function(){return this.getElement().getElementsByTagName(this._isTextArea?"textarea":"input")[0]},e.getContentElement=e.getInputElement,e.setIfEmpty=function(t,e){this._isEmpty&&t&&this.setValue(t,e)},e.isEmpty=function(){return this.__checkEmpty()},e.setValue=function(t,e){if(!this.__setEmpty(t)){null!=this._maxlen&&(t=String(t).substr(0,this._maxlen));var n=this.getInputElement();n.value=t,n.defaultValue=t}e||this.callHooks("onChange")},e.isDirty=function(){var t=this.getInputElement();return t.value!=t.defaultValue},e.clear=function(t){return this.setValue("",t),this},e.getValue=function(t){var e=!t&&this.isEmpty()?this._emptyValue:this.getInputElement().value;return this._trim&&"string"==typeof e&&(e=e.trim()),e},e.getSelectionRange=function(){return n.getSelectionRange(this.getInputElement())},e.setSelectionRange=function(t,e){n.setSelectionRange(this.getInputElement(),t,e)},e.moveEOF=function(){var t=this.getValue(!0).length;this.setSelectionRange(t,t)},e.moveBOF=function(){this.setSelectionRange(0,0)},e.collapse=function(t){var e=this.getSelectionRange();e=t?e.start:e.end,this.setSelectionRange(e,e)},e.insertReplacingSelection=function(t,e){var n=this.getSelectionRange(),i=this.getValue();this.setValue(i.substr(0,n.start)+t+i.substr(n.end)),this.setSelectionRange(n.start,e?n.start+t.length:n.start)},e.initDOM=function(){t.BASE.initDOM.call(this);var e=this.getInputElement();n.addEvent(e,{focus:this._on_element_focus=i.$(this),blur:this._on_element_blur=s.$(this),change:this._on_element_change=o.clearingTimeout(10,this)}),this.addEventListener({onChange:l,onKeyPress:r}),null!=this._value?this.setValue(this._value,!0):this.clear(!0),null!=this._width?e.style.width=this._width:null!=this._size&&this.setSize({x:9*this._size+7-this._size}),null!=this._name&&(e.name=this._name),this.readonly(this._readonly)},e.readonly=function(t){var e=this.getInputElement();return null!=t&&(e.readOnly=t,t?e.setAttribute("readonly",!0,1):e.removeAttribute("readonly"),this.condClass(t,"DlEntry-Readonly")),e.getAttribute("readonly")},e.disabled=function(e,n){var i=t.BASE.disabled.call(this,e,n);return null!=e&&(this.getInputElement().disabled=!!e),i},e.setSize=e.setOuterSize=function(t){var e=this.getInputElement(),i=t.x,s=t.y,o=n.getPaddingAndBorder(this.getElement()),l=n.getPaddingAndBorder(e),r=this._btn?this._btn.getSize().x:0;r?n.setOuterSize(e,t.x-o.x-l.x-r+2):(null!=i&&(i-=l.x+4),null!=s&&(s-=l.y+4),"textarea"!=this._domType&&(s=null),n.setInnerSize(e,i,s),null!=i&&(i+=8,n.setInnerSize(this.getElement(),i)))},e._makeButton=function(t,e,n,i){i||n||(n="DlEntry-dropDownBtn",i={hover:"DlEntry-dropDownBtn-hover",active:"DlEntry-dropDownBtn-active"});var s=a("td",null,null,this.getElement().rows[0]);return this._btn=new DlAbstractButton({parent:this,appendArgs:s,label:t,iconClass:e,className:n,classes:i})}}),DEFINE_CLASS("DlCompletionEntry",DlEntry,function(t,e,n){function i(){return d||(d=DlCompletionPopup.get()),d}function s(){return _&&(f=null,_.destroy()),_=new DlVMenu({})}function o(){return _&&_.parent.visible}function l(t,e){var n=_.children().find(this);n!=f&&null!=f&&_.children(f).callHooks("onMouseLeave"),f=n,(t._electric||!e)&&t._applyCompletion(this.userData)}function r(t){t._hideMenu(),t._applyCompletion(this.userData,!0),t.applyHooks("onSelect",[this.userData]),t.focus.delayed(0,t)}function a(t,e){this.__origData={value:this.getValue(),range:this.getSelectionRange()},this.__forced=e,this.addClass("DlCompletionEntry-busy"),this.applyHooks("onCompletion",[this.getSelectionRange(),t,e])}function u(t){var e,n,i;if(!o())return!1;switch(e=f,t.keyCode){case DlKeyboard.ARROW_UP:null==f&&(f=0),f=_.children().rotateIndex(--f);break;case DlKeyboard.ARROW_DOWN:case DlKeyboard.TAB:null==f&&(f=-1),f=_.children().rotateIndex(++f);break;case DlKeyboard.ENTER:null!=f&&(this.collapse(!1),_.children(f).callHooks("onSelect")),DlException.stopEventBubbling();case DlKeyboard.ESCAPE:this._hideMenu(),i=this.__origData,i&&(this.setValue(i.value),this.setSelectionRange(i.range)),DlException.stopEventBubbling()}e!=f?(null!=e&&(n=_.children(e),n.callHooks("onMouseLeave")),n=_.children(f),n.callHooks("onMouseEnter"),DlException.stopEventBubbling()):this._hideMenu()}function h(t){return is_ie?u.call(this,t):void 0}function c(){this.cancelCompletion()}var d,_,f;t.DEFAULT_EVENTS=["onCompletion","onSelect"],t.DEFAULT_ARGS={__timeout:["timeout",500],_shiftMenu:["shift",null],__smart:["smart",!0],__noTab:["noTab",!1],_noSelect:["noSelect",!0],_sizeToFit:["sizeToFit",!1],_electric:["electric",!0]},e.ALIGN={prefer:"Br",fallX1:"_r",fallX2:"_L",fallY1:"B_",fallY2:"T_"},e._setListeners=function(){this.__on_itemHover=l.$(null,this),this.__on_itemSelect=r.$(null,this),t.BASE._setListeners.call(this),this.addEventListener({onKeyDown:h,onBlur:c,onDestroy:this.__clearTimer})},e._hideMenu=function(){i().hide(50),this.__clearTimer()},e.__clearTimer=function(){this.__timer&&clearTimeout(this.__timer),this.__timer=null},d=null,_=null,f=null,e._applyCompletion=function(t,e){var n,i,s,o;(!t.nomodify||e)&&(n=this.getSelectionRange(),i=t.completion||t.label,e&&t.after&&(i+=t.after),s=this.getValue(),o=null!=t.start?t.start:n.start,s=s.substr(0,o)+i+s.substr(n.end),this.setValue(s),n.end=o+i.length,null!=t.rstart&&(n.start=t.rstart),(t.noselect||e)&&(n.start=n.end),this.setSelectionRange(n))},e._on_menuHide=function(){_&&(_.destroy(),_=null,f=null)},e.completionReady=function(t){var e,o,l;(this.__timer||this.__forced)&&null!=t&&t.length>0&&(this.__smart&&1==t.length?(this._applyCompletion(t[0],!0),this.applyHooks("onSelect",[t[0]])):(e=s(),o=null,t.foreach(function(t){var n=new DlMenuItem({parent:e,label:t.label,data:t});n.addEventListener({onSelect:this.__on_itemSelect,onMouseEnter:this.__on_itemHover}),t.selected&&(o=n)},this),i().popup({timeout:0,content:e,align:this.ALIGN,anchor:this.getElement(),isContext:!0,widget:this,onHide:this._on_menuHide.$(this),shift:this._shiftMenu}),this._sizeToFit&&(l=this.getSize().x,e.getSize().x<l&&e.setSize({x:l-n.getPaddingAndBorder(i().getElement()).x})),o&&o.callHooks("onMouseEnter"))),this.cancelCompletion()},e.cancelCompletion=function(){this.delClass("DlCompletionEntry-busy"),this.__clearTimer(),this.__forced=null},e._handle_focusKeys=function(e){if(DlKeyboard.KEYS_CONTROL[e.keyCode]){if(!is_ie){if(this.__noTab||e.keyCode!=DlKeyboard.TAB||o()||this.isEmpty())return u.call(this,e);a.call(this,e,!0),e.domStop=!0,DlException.stopEventBubbling()}}else this._hideMenu(),null!=this.__timeout&&(this.__timer=a.delayed(this.__timeout,this,e,!1));return t.BASE._handle_focusKeys.call(this,e)},e.completeFromWords=function(e,n){return t.completeFromWords.call(t,this,e,n)},t.completeFromWords=function(t,e,n){return null==n&&(n={}),null==n.sep&&(n.sep=/\s+/g),function(i){var s,o=[],l=t.getValue(),r=l.lastIndexOfRegexp(n.sep,i.start);if(l=l.substring(r,i.start))for(s=0;s<e.length;++s)0==e[s].indexOf(l)&&o.push({label:e[s],noselect:n.noselect,after:n.addSep,start:r});o.length>0?t.completionReady(o):t.cancelCompletion()}}}),DEFINE_CLASS("DlCompletionPopup",DlPopup,function(t,e){t.FIXARGS=function(t){t.zIndex=1e3,t.focusable=!1}}),DEFINE_CLASS("DlComboBox",DlCompletionEntry,function(t,e){function n(t){0==t.button&&(this._forcePopup(),DlException.stopEventBubbling())}t.DEFAULT_ARGS={_noSelect:["noSelect",!1],__smart:["smart",!1],__noTab:["noTab",!0],_options:["options",null],_sizeToFit:["sizeToFit",!0],_electric:["electric",!1]},e._createElement=function(){t.BASE._createElement.apply(this,arguments),this._makeButton(null,null,"DlComboBox-dropDownBtn",{hover:"DlComboBox-dropDownBtn-hover"}).addEventListener("onMouseDown",n.$(this)),this.addEventListener("onCompletion",this.doCompletion)},e._on_menuHide=function(){t.BASE._on_menuHide.call(this),this._btn.delClass("DlComboBox-dropDownBtn-active")},e._forcePopup=function(){this._btn.addClass("DlComboBox-dropDownBtn-active"),this.__forced=!0,this.doCompletion(null),this.focus.delayed(0,this)},e.doCompletion=function(t){var e,n="",i=[];return t&&(n=this.getValue().trim().toLowerCase(),!n)?this.cancelCompletion():(e=this._options,void(e instanceof Function&&(e=e.apply(this,arguments),null==e)||(e.foreach(function(t){0==t.toLowerCase().indexOf(n)&&i.push({label:t.htmlEscape(),start:0,completion:t})}),i.length>0?this.completionReady(i):this.cancelCompletion())))}}),DEFINE_CLASS("DlDrag",DlEventProxy,function(t,e,n){t.DEFAULT_EVENTS=["onDrop","onStartDrag"],t.DEFAULT_ARGS={delta:["delta",3],dragging:["_dragging",!1],draggingClass:["draggingClass","DlWidget-dragging"],_animArgs:["animation",{length:30,fps:50}],cursor:["cursor",{noDrop:"CURSOR-NO-DROP",okDrop:"CURSOR-DROP"}]},e.dropOK=function(t,e,n,i){return this.target=n,this.canDrop=!0},e._handleDrop=function(t,e,n){this.applyHooks("onDrop",[t,e,n])},e.doDrop=function(t,e){throw new DlExAbstractBaseClass},e.startOK=function(t,e){return!0},e.moving=function(t,e){},e.reset=function(t){var e,i,s,o=this.elementCopy;o&&o.parentNode&&(t&&this._animArgs?(e=new DlAnimation(this._animArgs.length,this._animArgs.fps),i=this.startElPos||this.startPos,s=n.getPos(o),e.addEventListener({onUpdate:function(){var t=this.getPos();o.style.left=t.mapInt(s.x,i.x)+"px",o.style.top=t.mapInt(s.y,i.y)+"px",n.setOpacity(o,this.t.map(1,.2))},onStop:function(){n.trash(o),o=null}}),e.start(null,null,"accel_ab")):o.parentNode.removeChild(o)),this.dragging=!1,this.canDrop=!1,this.target=null,this.elementCopy=null,this.startPos=null,this.source=null},e.makeElementCopy=function(t,e){var i=this.elementCopy;return i||(i=this.elementCopy=t.getElement().cloneNode(!0),n.addClass(i,"DlWidget-dragged-clone"),i.style.top=e.pos.y+"px",i.style.left=e.pos.x+"px",document.body.appendChild(i),i.style.width=i.offsetWidth+"px"),i}}),DEFINE_CLASS("DlDragTreeItem",DlDrag,function(t,e){function n(t){return/DlTree-IconWidth/.test(t.target.className)}t.DEFAULT_ARGS={_noReparent:["noReparent",!1]};var i="DlTreeItem-dropTarget",s="DlTreeItem-dropTarget-upper",o="DlTreeItem-dropTarget-lower",l=/DlTreeItem-dropTarget[^\s]*/g,r=/DlTreeItem-dropTarget-[^\s]*/g;e.startOK=function(t,e){return!n(e)},e.dropOK=function(t,e,n,s){for(;n&&!(n instanceof DlTreeItem);)n=n.parent;var o=!s&&n;return o&&(o=!this._noReparent||t.parent===n.parent),this.target=o?n:null,this.canDrop=!!o,this.oldTarget&&this.oldTarget!==this.target&&this.oldTarget.delClass(l),o&&this.target.addClass(i),this.oldTarget=this.target,o},e.doDrop=function(t,e){if(this._noReparent||n(e)){var i=this.target.getIndex();this.dropBefore||++i,this.target.parent.appendWidget(t,i),this._handleDrop(t,this.target,this.dropBefore?"before":"after")}else this.target.getSubtreeWidget()!==t.parent&&(this.target.addSubItem(t),this._handleDrop(t,this.target))},e.moving=function(t,e){var i,l,a,u=this.target;this.canDrop&&u&&(this._noReparent||n(e))?(i=e.computePos(u),l=u.getDivElement().offsetHeight/2,a=i.y<=l,u.condClass(a,s,o),this.dropBefore=a):u&&(this.dropBefore=null,u.delClass(r))},e.reset=function(){this.target&&this.target.delClass(l),this.oldTarget&&this.oldTarget.delClass(l),t.BASE.reset.apply(this,arguments),this.oldTarget=null}}),DEFINE_CLASS("DlLayout",DlContainer,function(t,e,n){t.DEFAULT_ARGS={_outerSpace:["outerSpace",0],_fillParent:["fillParent",!0]},t.setFill=function(t,e){var n=t._dllayout_args.fill;t._dllayout_args.fill=e,e!=n&&t.parent.doLayout()},t.getArgs=function(t){return t._dllayout_args},e._appendWidgetElement=function(e,i){if(null==i)return t.BASE._appendWidgetElement.apply(this,arguments);var s=n.createElement("div",null,{className:"DlLayout-positioned"},this.getElement());i.zIndex&&(s.style.zIndex=i.zIndex),i.overflow&&(s.style.overflow=i.overflow),s.appendChild(e.getElement()),e._dllayout_args=i},e._removeWidgetElement=function(t){if(this._widgets.contains(t)){var e=t.getElement(),n=e.parentNode;n&&(n.parentNode.removeChild(n),n.removeChild(e))}},e.packWidget=function(t,e){this.appendWidget(t,e)},e.replaceWidget=function(t,e){var n,i,s=this._widgets.find(t);0>s||(e.parent&&e.parent.removeWidget(e),this._widgets.splice(s,1,e),e._dllayout_args=t._dllayout_args,t._dllayout_args=null,n=t.getElement(),i=n.parentNode,i.insertBefore(e.getElement(),n),i.removeChild(n),e.parent=this,t.parent=null)},e.doLayout=function(){function t(){"number"==typeof D?e=n=i=s=D:D instanceof Array?(s=D[0],n=D[1],i=D[2],e=D[3]):(s=D.top||0,n=D.right||0,i=D.bottom||0,e=D.left||0)}var e,n,i,s,o,l,r,a,u,h,c,d,_,f,p,g,m,y=this.getInnerSize(),D=this._outerSpace;for(t(),o=this._widgets,l=new Array(o.length),r={},a=0;a<o.length;++a)if(u=o[a],h=u._dllayout_args,h&&u.display()){switch(c=u.getElement().parentNode,d=h.before=h.before||0,_=h.after=h.after||0,f=h.fill,h.resetSize&&(u.getElement().style.height="",u.getElement().style.width=""),p=u.getOuterSize(),h.pos){case"top":s+=d,null==f&&(f=p.y),l[a]={sy:f},"number"==typeof f&&(s+=f),s+=_;break;case"right":n+=d,null==f&&(f=p.x),l[a]={sx:f},"number"==typeof f&&(n+=f),n+=_;break;case"bottom":i+=d,null==f&&(f=p.y),l[a]={sy:f},"number"==typeof f&&(i+=f),i+=_;break;case"left":e+=d,null==f&&(f=p.x),l[a]={sx:f},"number"==typeof f&&(e+=f),e+=_}l[a].w=u,l[a].args=h,l[a].div=c}g=y.x-e-n,m=y.y-s-i,t(),l.foreach(function(t,o){function l(){var e=s,n=y.y-s-i,o={x:t.sx};switch(r.valign){case"top":break;case"center":e+=(n-a.getOuterSize().y)/2;break;case"bottom":e+=n-a.getOuterSize().y;default:o.y=n}t.div.style.top=e+"px",a.setSize(o)}var r,a;if(t||$CONTINUE(),r=t.args,a=t.w,a.display()){switch(r.pos){case"top":case"bottom":"number"!=typeof t.sy&&("*"==t.sy?t.sy=m:/%/.test(t.sy)&&(t.sy=Math.floor(parseFloat(t.sy)*m/100)),null!=r.min&&t.sy<r.min&&(t.sy=r.min),null!=r.max&&t.sy>r.max&&(t.sy=r.max),m-=t.sy);break;case"left":case"right":"number"!=typeof t.sx&&("*"==t.sx?t.sx=g:/%/.test(t.sx)&&(t.sx=Math.floor(parseFloat(t.sx)*g/100)),null!=r.min&&t.sx<r.min&&(t.sx=r.min),null!=r.max&&t.sx>r.max&&(t.sx=r.max),g-=t.sx)}switch(r.pos){case"top":s+=r.before,t.div.style.left=e+"px",t.div.style.top=s+"px",a.setSize({x:y.x-e-n,y:t.sy}),s+=t.sy+r.after;break;case"bottom":i+=r.before,t.div.style.left=e+"px",t.div.style.top=y.y-i-t.sy+"px",a.setSize({x:y.x-e-n,y:t.sy}),i+=t.sy+r.after;break;case"left":e+=r.before,t.div.style.left=e+"px",l(),e+=t.sx+r.after;break;case"right":n+=r.before,t.div.style.left=y.x-n-t.sx+"px",l(),n+=t.sx+r.after}}})},e.__doLayout=function(){this.doLayout()},e.sizeToFit=function(){var t,e,n,i,s=this._widgets,o=0,l=0;for(t=0;t<s.length;++t)switch(e=s[t],n=e._dllayout_args,i=e.getOuterSize(),n.pos){case"top":case"bottom":
o+=i.y,i.x>l&&(l=i.x);break;case"left":case"right":l+=i.x,i.h>o&&(o=i.h)}this.setOuterSize({x:l,y:o})}}),DEFINE_CLASS("DlResizeBar",DlWidget,function(t,e,n){function i(t){var e,i,s,o=DlElementCache.DRAGGING_LINE,l=this.getPos();this._dragPos=this.isHoriz()?l.y:l.x,e=this.isHoriz()?t.pos.y:t.pos.x,this._mposDiff=e-this._dragPos,i=this.getSize(),o.style.top=l.y+"px",o.style.left=l.x+"px",o.style.width=i.x+"px",o.style.height=i.y+"px",this._widget&&(s=this._widget instanceof DlWidget?this._widget.getSize():n.getOuterSize(this._widget),this._dragSize=this.isHoriz()?s.y:s.x),document.body.appendChild(o),this._setResizeCaptures(!0),DlException.stopEventBubbling()}function s(t){this._setResizeCaptures(!1),this._doResize(t),document.body.removeChild(DlElementCache.DRAGGING_LINE),this.callHooks("onStop")}function o(t){var e,n,i,s,o,l,r=DlElementCache.DRAGGING_LINE,a=this.isHoriz()?t.pos.y:t.pos.x;a-=this._mposDiff,e=this._invert*(a-this._dragPos),n=this._min,i=this._max,s=this._widget,s&&(o=DlLayout.getArgs(s),o&&(null==n&&(n=o.min),null==i&&(i=o.max)),(null!=n||null!=i)&&(l=this._dragSize+e),null!=n&&n>l?a+=this._invert*(n-l):null!=i&&l>i&&(a+=this._invert*(i-l))),this.isHoriz()?r.style.top=a+"px":r.style.left=a+"px",this._cont&&this._doResize(t)}t.DEFAULT_EVENTS=["onResizing","onStop"];var l=n.condClass;t.FIXARGS=function(t){t.invert=t.invert?-1:1},t.DEFAULT_ARGS={_isHoriz:["horiz",null],_widget:["widget",null],_invert:["invert",!1],_min:["min",null],_max:["max",null],_cont:["continuous",!1],_keepPrc:["keepPercent",!1]},t.getDragBar=function(){return DlElementCache.DRAGGING_LINE},e.initDOM=function(){t.BASE.initDOM.call(this),this.condClass(this.isHoriz(),"DlResizeBar-Horizontal","DlResizeBar-Vertical"),this.setUnselectable(null,!0)},e.isHoriz=function(){if(null==this._isHoriz){var t=DlLayout.getArgs(this);t&&(this._isHoriz=/top|bottom/.test(t.pos))}return this._isHoriz},e._setListeners=function(){t.BASE._setListeners.call(this),this._resizeHandlers={onMouseMove:o.$(this),onMouseUp:s.$(this),onMouseOver:DlException.stopEventBubbling,onMouseOut:DlException.stopEventBubbling,onMouseEnter:DlException.stopEventBubbling,onMouseLeave:DlException.stopEventBubbling},this.addEventListener("onMouseDown",i)},e._setResizeCaptures=function(t){(t?DlEvent.captureGlobals:DlEvent.releaseGlobals)(this._resizeHandlers);var e=DlDialog.activateEventStopper(t);l(e,t,this.isHoriz()?"CURSOR-RESIZE-S":"CURSOR-RESIZE-E")},e._doResize=function(t){var e,i,s,o,l,r=this.isHoriz(),a=n.getPos(DlElementCache.DRAGGING_LINE);a=r?a.y:a.x,e=this._invert*(a-this._dragPos),i=this._widget,i&&(s=this._dragSize,i instanceof DlWidget?(o=DlLayout.getArgs(i),o?(o=o.fill,l=/%$/.test(o),l&&!this._keepPrc||null==o||"number"==typeof o?DlLayout.setFill(i,s+e):l&&(o=parseFloat(o),DlLayout.setFill(i,o*(s+e)/s+"%"))):this._isHoriz?i.setSize({y:s+e}):i.setSize({x:s+e})):this._isHoriz?n.setOuterSize(i,null,s+e):n.setOuterSize(i,s+e,null),this.callHooks("onResizing",i))}}),DEFINE_CLASS("DlWM",DlContainer,function(t,e,n){function i(t){t.on_dlgShow(this)}function s(t){t.on_dlgHide(this)}function o(t,e){return t.x<e.x?-1:t.x>e.x?1:0}function l(t,e){return t.y<e.y?-1:t.y>e.y?1:0}function r(t,e){var n=t.length,i=Math.floor(e.x/n),s=0;t.mergeSort(o).foreach(function(t,o){t.y=0,t.x=s,t.h=e.y,o==n-1?t.w=e.x-s:t.w=i,s+=i})}function a(t,e){var n=t.length,i=Math.floor(e.y/n),s=0;t.mergeSort(l).foreach(function(t,o){t.x=0,t.y=s,t.w=e.x,o==n-1?t.h=e.y-s:t.h=i,s+=i})}e.getInnerSize=e.getOuterSize=e.getSize=function(){return this.parent?this.parent.getInnerSize():n.getWindowSize()},e.initDOM=function(){t.BASE.initDOM.apply(this,arguments),this.getElement().innerHTML="<div class='DlWM-modalStopper'></div>",this.dialogsVisible=[],this.modalsVisible=0,this._manageEvents={onShow:i.$(null,this),onHide:s.$(null,this)};var e=this.on_parentResize.$(this);this.parent?this.parent.addEventListener("onResize",e):n.addEvent(window,"resize",e)},e.getModalStopperElement=function(){return this.getElement().childNodes[0]},e.activatePrev=function(){var t,e=this.dialogsVisible;e.length>1&&(e.peek().deactivate(),e.unshift(e.pop()),t=e.pop(),t.activate())},e.activateNext=function(){var t=this.dialogsVisible;t.length>1&&t[0].activate()},e.getActiveDialog=function(){return this.dialogsVisible.peek()},e.updateZIndex=function(){this.dialogsVisible.r_foreach(function(t,e){t.zIndex((t.__modal?900:500)+e)})},e.getVisibleDialogs=function(){return this.dialogsVisible},e.getAllDialogs=function(){return this.children().grep(function(t){return t instanceof DlDialog})},e.appendWidget=function(e){t.BASE.appendWidget.apply(this,arguments),e instanceof DlDialog&&this.manage(e)},e.removeWidget=function(e){t.BASE.removeWidget.apply(this,arguments),e instanceof DlDialog&&this.unmanage(e)},e.manage=function(t){t.addEventListener(this._manageEvents)},e.unmanage=function(t){t.removeEventListener(this._manageEvents)},e.on_dlgShow=function(t){t.__modal&&this.modalsVisible++,this.condClass(this.modalsVisible>0,"DlWM-hasModals")},e.on_dlgHide=function(t){t.__modal&&this.modalsVisible--,this.condClass(this.modalsVisible>0,"DlWM-hasModals"),0==this.dialogsVisible.length&&this.parent&&this.parent.focus()},e.on_parentResize=function(){this.dialogsVisible.foreach(function(t){t.__maximized&&t.__doMaximize()}),this.callHooks("onResize")},e.rearrange=function(t){var e=this.dialogsVisible.map(function(t){var e=t.getOffsetPos(),n=t.getOuterSize();return{dlg:t,x:e.x,y:e.y,w:n.x,h:n.y}});t(e,this.getInnerSize()),e.foreach(function(t){t.dlg.setPos(t.x,t.y),t.dlg.setSize({x:t.w,y:t.h})})},e.tileHoriz=function(){this.rearrange(r)},e.tileVert=function(){this.rearrange(a)},DlContainer.prototype._makeWindowManager=function(){return this.__wm||(this.__wm=new DlWM({parent:this})).addEventListener("onDestroy",function(){this.__wm=null}.$(this)),this.__wm}}),DEFINE_CLASS("DlDialog",DlContainer,function(t,e,n){function i(){var t=n.CE_CACHE["DlDialog.EVENT_STOPPER"];return t||(t=n.CE_CACHE["DlDialog.EVENT_STOPPER"]=T("div",null,{className:"DYNARCH-EVENT-STOPPER"},document.body)),t.style.visibility="",t}function s(){var t=n.CE_CACHE["DlDialog.EVENT_STOPPER"];return t&&(t.className="DYNARCH-EVENT-STOPPER",t.style.visibility="hidden"),t}function o(t){var e,s,o;return this.dragging||this.__maximized||(DlPopup.clearAllPopups(),this.activate(),this.dragging=!0,t||(t=window.event),e=t instanceof DlEvent?t:new DlEvent(t),this.addClass("DlDialog-Dragging"),this._dragPos=e.computePos(this),this._setDragCaptures(!0),C(i(),"CURSOR-DRAGGING"),null!=this.__moveDelay&&(s=this.getResizeRect(),C(s,"Dl-ResizeRect-moving"),o=this.getOuterSize(),n.setPos(s,e.elPos.x,e.elPos.y),n.setOuterSize(s,o.x,o.y),s.style.display=""),e===t)?void 0:n.stopEvent(t)}function l(t){t.ctrlKey&&t.shiftKey&&(0==t.button&&this._dragHandlers?o.call(this,t):2==t.button&&"onContextMenu"==t.dl_type&&this._resizable&&(d.call(this,t),v()))}function r(t){var e,n;this.dragging&&(e=this.getResizeRect(),this.dragging=!1,this.delClass("DlDialog-Dragging"),this._setDragCaptures(!1),null!=this.__moveDelay&&(t?(n=a.call(this,t),this.__doDrag.doItNow(n.x,n.y)):this.__doDrag.cancel()),b(e,"Dl-ResizeRect-moving"),e.style.display="none",s())}function a(t){var e,n,i,s,o=this.parent;return t.computePos(o.getContentElement()),e=t.relPos.x-this._dragPos.x,n=t.relPos.y-this._dragPos.y,i=this.getOuterSize(),s=o.getInnerSize(),0>e?e=0:e+i.x>s.x&&(e=s.x-i.x),0>n?n=0:n+i.y>s.y&&(n=s.y-i.y),{x:e,y:n}}function u(t){var e=t.x,i=t.y;t=n.getPos(this.parent.getContentElement()),e+=t.x,i+=t.y,n.setPos(this.getResizeRect(),e,i)}function h(t,e){this.setPos(t,e),this.__oldDlgPos=this.getOffsetPos()}function c(t){var e=a.call(this,t);null!=this.__moveDelay&&u.call(this,e),this.__doDrag(e.x,e.y),v()}function d(t){var e,s,o,l;this.resizing||(this.resizing=!0,t||(t=window.event),e=t instanceof DlEvent?t:new DlEvent(t),this._dragPos=e.computePos(this),s=this.getOuterSize(),this._dragPos.x-=s.x,this._dragPos.y-=s.y,o=this.getPos(),l=this.getResizeRect(),n.setPos(l,o.x,o.y),n.setOuterSize(l,s.x,s.y),l.style.display="",this.addClass("DlDialog-Resizing"),this._setResizeCaptures(!0),C(i(),"CURSOR-DRAGGING"),f.call(this,e,!0),e!==t&&n.stopEvent(t))}function _(e){var i,o;this.resizing&&(this.disableHooks("onResize"),this.getElement().style.overflow="hidden",i=this.getResizeRect(),o=n.getOuterSize(i),n.setPos(i,0,0),i.style.display="none",this.delClass("DlDialog-Resizing"),this.setOuterSize({x:o.x-2,y:o.y-2}),is_gecko&&t.BASE.setOuterSize.call(this,{x:"auto",y:"auto"}),this.resizing=!1,this._setResizeCaptures(!1),this.getElement().style.overflow="",s(),this.enableHooks("onResize"),this.callHooks("onResize"))}function f(t,e){var i,s;this.resizing&&(i=this.getResizeRect(),s=n.getPos(i),s.x=t.pos.x-this._dragPos.x-s.x-2,s.x<100&&(s.x=100),s.y=t.pos.y-this._dragPos.y-s.y-2,s.y<100&&(s.y=100),1===this._resizable&&(s.y=null),2===this._resizable&&(s.x=null),n.setInnerSize(i,s.x,s.y),e||v())}function p(t,e){var n,i=DlSystem();t?(this.callHooks("onShow"),this.activate(),this.setModal(this.__modal,!0),i.applyHooks("on-dialog-show",[this]),this.__maximized&&this.__doMaximize.delayed(1,this)):(n=this.parent.getVisibleDialogs(),n.remove(this),this.callHooks("onHide"),this.deactivate(),i.applyHooks("on-dialog-hide",[this]),n.length<1||n.peek().activate())}function g(t){if(t.shiftKey||t.altKey){var e=this.__dlgOpacity;null==e&&(e=100),t.wheelDelta>0?e+=.05:e-=.05,e=this.__dlgOpacity=e.limit(.1,1),this.opacity(e),v()}}function m(t,e){var n=t.getRelElement().childNodes;return n[n.length-e]}var y,D,E,v=DlException.stopEventBubbling,C=n.addClass,b=n.delClass,S=n.condClass,T=n.createElement;t.DEFAULT_EVENTS=["onShow","onHide","onActivate","onQuitBtn"],t.DEFAULT_ARGS={_title:["title","DlDialog"],_noEmptyTitle:["noEmptyTitle",!0],_fixed:["fixed",!1],_resizable:["resizable",!1],_focusable:["focusable",!0],_iconClass:["iconClass",null],_focusedWidget:["focusDefault",null],__noShadows:["noShadows",!1],__quitBtn:["quitBtn",!1],__maxBtn:["maxBtn",!0],__modal:["modal",!1],__moveDelay:["moveDelay",null]},t.FIXARGS=function(e){e.parent||(e.parent=t.getTopWM()),e.parent instanceof DlWM||(e.parent instanceof DlDialog&&(e.noShadows=!0),e.parent=e.parent._makeWindowManager())},t.CONSTRUCT=function(){this.__doDrag=null!=this.__moveDelay?h.clearingTimeout(this.__moveDelay,this):h.$(this),this.active=!1},t.getTopWM=function(){return y||(y=new DlWM({className:"DlTopWindowManager"}),document.body.appendChild(y.getElement())),y},D="<div class='DlDialog-Rel'><div class='DlDialog-WindowButtons'></div><div class='DlDialog-Title'><div></div></div><div class='DlDialog-Content'></div></div>",E={x:-3e4,y:-3e4},e._setDragCaptures=function(t){DlEvent[t?"captureGlobals":"releaseGlobals"](this._dragHandlers)},e._setResizeCaptures=function(t){DlEvent[t?"captureGlobals":"releaseGlobals"](this._resizeHandlers)},t.activateEventStopper=function(t){return t?i():s()},e.setOuterSize=e.setSize=function(t){t=Object.makeCopy(t),null!=t.y&&(t.y-=this.getTitleElement().offsetHeight),this.setInnerSize(t)},e.hide=function(){this.display()&&n.elementIsVisible(this.getElement())&&(this.__oldDlgPos=this.getOffsetPos(),this.display(!1),this.setPos(E))},e.show=function(t){this.__wasDisplayed||this.setStyle({visibility:""}),this.display()&&this.__wasDisplayed?this.activate():(this.__oldDlgPos?this.setPos(this.__oldDlgPos):t&&this.centerOnParent(),this.display(!0)),this.__wasDisplayed=!0},e.activate=function(){var t=this.parent.getVisibleDialogs(),e=t.peek();this.active||(e&&e.active&&e.deactivate(!0),this.addClass("DlDialog-Active"),t.remove(this),t.push(this),this.parent.updateZIndex(),this.active=!0,this.focus(),this._focusedWidget&&!this._focusedWidget.destroyed&&this._focusedWidget.focus(),this.applyHooks("onActivate",[!0]))},e.deactivate=function(){this.active&&(this.delClass("DlDialog-Active"),this.active=!1,this.blur(),this.applyHooks("onActivate",[!1]))},e._createElement=function(){var e,n,i;t.BASE._createElement.call(this),this.setPos(E),this.setStyle({visibility:"hidden"}),this.getElement().innerHTML=D,e=this.getRelElement(),this.__noShadows&&(this.__noShadows=!0,C(e,"DlDialog-noShadows")),this.title(this._title),this.setUnselectable(this.getTitleElement()),n=this.__quitBtn,n&&(i=this.__quitBtn=new DlAbstractButton({parent:this,className:"DlDialog-QuitBtn",appendArgs:this.getButtonsElement(),classes:{hover:"DlDialog-QuitBtn-hover",active:"DlDialog-QuitBtn-active"}}),"destroy"==n?n=this.destroy.$(this):"hide"==n&&(n=this.hide.$(this)),n instanceof Function?i.addEventListener("onClick",n):i.connectEvents("onClick",this,"onQuitBtn")),this._resizable&&this.makeResizable(),this.setIconClass(this._iconClass),this._fixed||this.makeDraggable(),this.addEventListener({onMouseDown:this.activate,onMouseWheel:g,onDisplay:p,onDestroy:this.hide})},e.setIconClass=function(t){var e=this.getTitleElement().firstChild;S(e,null!=t,"DlDialog-Title-withIcon"),this.iconClass&&b(e,this.iconClass),t&&C(e,t),this.iconClass=t},e.getState=function(){var t=this.__maximized&&this.__maximizeSavePos;return t=t?Object.makeDeepCopy(t):{pos:this.getOffsetPos(),size:this.getOuterSize()},t.max=!!this.__maximized,t},e.maximize=function(t){null==t&&(t=this.__maxBtn.checked());var e,n;this.__maximized=t,t&&(e=this.getOffsetPos(),n=this.getOuterSize(),this.__maximizeSavePos={pos:e,size:n}),this.condClass(t,"DlDialog-Maximized"),t?this.__doMaximize():(e=this.__maximizeSavePos,n=e.size,e=e.pos,this.setOuterSize({x:n.x,y:n.y}),this.setPos(e.x,e.y)),this.__maxBtn.checked(t,!0),this._focusedWidget&&!this._focusedWidget.destroyed&&this._focusedWidget.focus()},e.__doMaximize=function(){this.setPos(0,0);var t=this.parent.getInnerSize();this.setOuterSize({x:t.x,y:t.y})},e.setModal=function(t,e){e||(this.__modal=t),this.display()&&this.parent.updateZIndex()},e.modal=function(){return this.__modal},e.makeResizable=function(){var t,e;this._resizeHandlers||(this.getContentElement().style.overflow="hidden",t=this.getRelElement(),e=T("div",null,{className:"ResizeHandle"},null),t.insertBefore(e,t.firstChild),this._resizeHandlers={onMouseMove:f.$(this),onMouseUp:_.$(this),onMouseOver:v,onMouseOut:v,onMouseEnter:v,onMouseLeave:v},n.addEvent(e,"mousedown",d.$(this)),this.resizing=!1,this.__maxBtn&&(this.__maxBtn=new DlAbstractButton({parent:this,className:"DlDialog-MaximizeBtn",appendArgs:this.getButtonsElement(),type:DlAbstractButton.TYPE.TWOSTATE,classes:{hover:"DlDialog-MaximizeBtn-hover",active:"DlDialog-MaximizeBtn-active",checked:"DlDialog-MaximizeBtn-1"}}),this.__maxBtn.addEventListener("onChange",this.maximize.$0(this,null))))},e.makeDraggable=function(t){t||(t=this.getTitleElement(),t.style.cursor="default",this.addEventListener(["onMouseDown","onContextMenu"],l)),this._dragHandlers||(this._dragHandlers={onMouseMove:c.$(this),onMouseUp:r.$(this),onMouseOver:v,onMouseOut:v,onMouseEnter:v,onMouseLeave:v},this.dragging=!1),n.addEvent(t,"mousedown",o.$(this))},e.title=function(t){return null!=t&&(t instanceof Array&&(t=t.join("")),this._title=t,this.getTitleElement().firstChild.innerHTML=t,this._noEmptyTitle&&(this.getTitleElement().style.display=/\S/.test(t)?"":"none")),this._title},e._handle_focusKeys=function(t){if(!t.altKey&&!t.ctrlKey)if(t.keyCode==DlKeyboard.ESCAPE)!this.dragging&&this.__quitBtn?this.__quitBtn.keyClicked(t):this.dragging&&r.call(this);else if(t.keyCode==DlKeyboard.TAB){var e=t.focusedWidget;e=t.shiftKey?this.getPrevFocusWidget(e):this.getNextFocusWidget(e),e&&e.focus(),t.domStop=!0,v()}this._handleKeybinding(t)},e.getRelElement=function(){return this.getElement().firstChild},e.getContentElement=function(){return m(this,1)},e.getTitleElement=function(){return m(this,2)},e.getButtonsElement=function(){return m(this,3)},e.centerOnParent=function(){var t=this.getOuterSize(),e=this.parent.getOuterSize();this.setPos((e.x-t.x)/2,(e.y-t.y)/2)},e.getWM=function(){return this.parent},DlWidget.prototype.getParentDialog=function(){for(var e=this.parent;e&&!(e instanceof t);)e=e.parent;return e}}),DEFINE_CLASS("DlDialogPopup",DlPopup,function(t,e){t.FIXARGS=function(t){t.autolink=!1,t.zIndex=5e3}}),DEFINE_CLASS("DlRecord",DlEventProxy,function(t,e){t.DEFAULT_EVENTS=["onChange"],t.DEFAULT_ARGS={_data:["data",null],_set:["recordSet",null]},e.id=function(){return this._data.id},e.get=function(t){return this._data[t]},e.set=function(t,e,n){var i,s=this._data[t];this._data[t]=e,n||(i=[this,t,e,s],this.applyHooks("onChange",i),this._set&&this._set.applyHooks("onChange",i))},e.compareTo=function(t,e){var n=this.get(e),i=t.get(e);return i>n?-1:n==i?0:1}}),DEFINE_CLASS("DlRecordCache",DlEventProxy,function(t,e){t.DEFAULT_EVENTS=["onChange","onInsert","onBeforeDelete","onDelete","onRefresh"],t.DEFAULT_ARGS={_data:["data",null]},t.CONSTRUCT=function(){this._init()},e.get=function(t){return this._data[t]},e.hasRecord=function(t){return this.get(t)},e.getRecords=function(t,e,n){e.call(n,t.map(this.get,this))},e.getAllIds=function(){return Array.hashKeys(this._data)},e.getAllRecords=function(){return Array.hashValues(this._data)},e.getHash=function(){return this._data},e.formatHTML=function(t,e,n,i){var s=i?i.format(t,this):null;null==s&&(s=String(t.get(e)).htmlEscape()),n(s)},e.getRecClass=function(t){},e.getCellClass=function(t,e){},e.getInsertPos=function(t){},e.insert=function(t,e){null==e&&(e=this.getInsertPos(t)),this._data[t.id()]=t,t._set=this,this.applyHooks("onInsert",[t,e])},e.remove=function(t){this.applyHooks("onBeforeDelete",[this.get(t)]),t instanceof Array?t.foreach(function(t){delete this._data[t]},this):delete this._data[t],this.applyHooks("onDelete",[t])},e.sort=function(t,e,n,i,s,o){var l;l=e==n&&null!==i?t.reverse():t.mergeSort(function(t,n){return t=this.get(t),n=this.get(n),t.compareTo(n,e)}.$(this),i),s.call(o,l)},e._init=function(){if(this._data){var t={};this._data.foreach(function(e){t[e.id()]=e,e._set=this},this),this._data=t}else this._data={}}}),DEFINE_CLASS("DlDataGridHeadLabel",DlButton,function(t,e,n){function i(t){var e=t._resizeHandle;return e||(e=t._resizeHandle=new DlWidget({parent:t,className:"DlDataGrid-resizeHandle"}),e.display(!1),e.grid=t.parent,e.addEventListener({onMouseLeave:e.display.$(e,!1),onMouseDown:s}),e._resizeCaptures={onMouseMove:o.$(e),onMouseUp:l.$(e),onMouseOver:a,onMouseOut:a,onMouseEnter:a,onMouseLeave:a}),e}function s(t){var e,i,s;this.dragging=!0,e=DlResizeBar.getDragBar(),i=e.style,this.sl=this.grid.getBodyDiv().scrollLeft,i.left=this.pos-this.sl-1+"px",i.height="100%",i.width=this.getElement().offsetWidth-4+"px",i.top="0px",this.grid.getElement().appendChild(e),s=DlDialog.activateEventStopper(!0),n.addClass(s,"CURSOR-RESIZE-E"),DlEvent.captureGlobals(this._resizeCaptures),this.origW=this.grid.getColWidth(this.col),this.origM=t.pos.x,this.col._button.addClass("DlDataGridHeadLabel-resizing"),a()}function o(t){var e,n=DlResizeBar.getDragBar(),i=this.pos+t.pos.x-this.origM-1,s=i-this.pos,o=this.origW+s;r>o&&(i+=r-o,o=r),i-=this.sl,n.style.left=i+"px",this.width=o,this.diff=s,is_ie||(e=this.col._button.getElement(),e.style.width=e.parentNode.style.width=e.parentNode.parentNode.style.width=o+"px"),a()}function l(t){var e,i;this.dragging=!1,this.grid.getElement().removeChild(DlResizeBar.getDragBar()),e=DlDialog.activateEventStopper(!1),n.delClass(e,"CURSOR-RESIZE-E"),DlEvent.releaseGlobals(this._resizeCaptures),this.width&&(this.grid.setColWidth(this.col,this.width),this.grid._computeColPos()),this.col._button.delClass("DlDataGridHeadLabel-resizing"),is_ie||(i=this.col._button.getElement(),i.style.width=i.parentNode.style.width=i.parentNode.parentNode.style.width=""),this.width=this.diff=this.found=this.col=null,this.parent.callHooks("onMouseMove",t),a()}var r,a;t.FIXARGS=function(t){"contextMenu"in t||(t.contextMenu=this._getContextMenu)},t.CONSTRUCT=function(){if(!this.isSortable()){var t=this._classes=Object.makeCopy(this._classes);t.active=t.hover=null}},r=20,e.setWidth=function(t){this.setOuterSize({x:t})},e.isSortable=function(){return this.col.isSortable()},e._onClick=function(){this.isSortable()&&this.parent._onHeadClick(this.col,this)},e._getContextMenu=function(){var t,e=this._dgContextMenu,n=this.parent;return e?(t=e.buttons,n._cols.foreach(function(e,n){t[n].checked(e.isVisible(),!0)})):(this._dgContextMenu=e=new DlVMenu({}),t=e.buttons=[],n._cols.foreach(function(n,i){if(n.getMenuLabel()){var s=t[i]=new DlCheckbox({parent:e,label:n.getMenuLabel(),checked:n.isVisible()});s.addEventListener("onChange",function(){n.setVisible(this.checked())})}})),e},t.DEFAULT_ARGS={col:["col",null],_focusable:["focusable",!1],_noCapture:["noCapture",!0],_classes:["classes",{active:"DlDataGridHeadLabel-active",hover:"DlDataGridHeadLabel-hover",checked:"DlDataGridHeadLabel-1",unchecked:"DlDataGridHeadLabel-0",empty:"DlDataGridHeadLabel-empty",disabled:"DlDataGridHeadLabel-disabled"}]},a=DlException.stopEventBubbling,t._on_headMouseMove=function(t){var e,n,s,o,l;this._colPos&&!this.dragging&&(e=this.parent,n=e.getBodyDiv().scrollLeft,s=t.computePos(this).x+n,this._colPos.foreach(function(t){Math.abs(s-t.pos)<4&&(t.col.isResizable()&&(o=t),$BREAK())}),l=i(this),o?(o.col!==l.col&&(l.found=o,l.col=o.col,l.pos=o.pos,l.setPos(o.pos-n)),l.display(!0)):(l.display(!1),l.found=l.col=null))},t._on_headMouseLeave=function(t){i(this).display(!1)}}),DEFINE_CLASS("DlGridCol",DlEventProxy,function(t,e){t.DEFAULT_EVENTS=["onChange","onVisibility"],t.DEFAULT_ARGS={_field_id:["id",null],_width:["width",null],_fill:["fill",null],_style:["style",null],_label:["label",null],_menuLabel:["menuLabel",null],_tooltip:["tooltip",null],_iconClass:["iconClass",null],_isSortable:["sortable",!0],_isResizable:["resizable",!0],_cssRule:["cssRule",null],_isVisible:["visible",!0],_format:["format",null]};var n={};e.id=function(){return this._field_id},e.getWidth=function(){return this._width},e.getFill=function(){return this._fill},e.getLabel=function(){return this._label},e.getMenuLabel=function(){return this._menuLabel||this._label},e.getTooltip=function(){return this._tooltip},e.getIconClass=function(){return this._iconClass},e.getStyle=function(t,e){return(this._style||n)[t]||e},e.isSortable=function(){return this._isSortable},e.isResizable=function(){return this._isResizable},e.isVisible=function(){return this._isVisible},e.setVisible=function(t){this._isVisible=t,this.applyHooks("onVisibility",[t])},e.sort=function(){},e.format=function(t,e){return this._format?this._format(t,e,this.id()):void 0}}),DEFINE_CLASS("DlGridDragCol",DlDrag,function(t,e,n){function i(){var t=s;return t||(t=s=n.createElement("div",{display:"none"},{className:"DlDataGrid-drop-col"},document.body)),t}t.CONSTRUCT=function(){this.addEventListener("onStartDrag",function(t){this.grid_pos=t.parent.getPos(),t._onMouseLeave()})},e.startOK=function(t,e){return!0},e.dropOK=function(t,e,n,i){return!i&&n instanceof DlDataGridHeadLabel&&t.parent===n.parent?(this.target=n,this.canDrop=!0):this.canDrop=!1},e.doDrop=function(t,e){t.parent.reorderColumn(t.col,this.target.col,!this.dropBefore)};var s;e.moving=function(t,e){var n,s,o,l,r,a=this.target,u=i(),h=u.style;this.canDrop&&a?(n=e.computePos(a),s=a.getElement(),o=s.offsetWidth,l=n.x<=o/2,r=a.col.index,l&&r--,r=0>r?0:t.parent._headCont._colPos[r].pos-t.parent.getBodyDiv().scrollLeft,h.display="block",h.left=r+this.grid_pos.x+"px",h.top=n.elPos.y+"px",this.dropBefore=l):a&&(this.dropBefore=null,h.display="none")},e.reset=function(){s&&(s.style.display="none"),t.BASE.reset.apply(this,arguments)}}),DEFINE_CLASS("DlSelectionModel",DlEventProxy,function(t,e){t.DEFAULT_EVENTS=["onChange","onReset"],t.CONSTRUCT=function(){this.sel||(this.sel={})},t.DEFAULT_ARGS={multiple:["multiple",!0],sel:["sel",null]},e.reset=function(t,e){var n=this.sel;this.sel=t.toHash(!0),e||this.applyHooks("onReset",[n,this.sel])},e.clear=function(t){this.reset([],t)},e.get=function(){return this.sel},e.getArray=function(){return Array.hashKeys(this.sel)},e.getFirst=function(){for(var t in this.sel)return t},e.isSelected=function(t){return this.sel[t]},e.size=function(){var t=0;for(e in this.sel)t++;return t},e.filter=function(t){var e,n=[];for(e in this.sel)e in t||n.push(e);this.unselect(n)},e.select=function(t,e){var n,i=this.sel,s=null;return t instanceof Array?(n={},t.foreach(function(t){i[t]||(i[t]=n[t]=!0,s=!0)},this),e||null==s||this.applyHooks("onReset",[{},n])):i[t]||(i[t]=!0,e||this.applyHooks("onChange",[t,!0]),s=!0),s},e.unselect=function(t,e){var n,i=this.sel,s=null;return t instanceof Array?(n={},t.foreach(function(t){i[t]&&(delete i[t],n[t]=!0,s=!1)},this),e||null==s||this.applyHooks("onReset",[n,{}])):i[t]&&(delete i[t],e||this.applyHooks("onChange",[t,!1]),s=!1),s},e.toggle=function(t,e){return this.sel[t]?this.unselect(t,e):this.select(t,e)}}),DEFINE_CLASS("DlDataGrid",DlContainer,function(t,e,n){function i(t){var e,n,i,s,o,l=t.target;try{for(;l&&l.tagName;){if(o=l.tagName.toLowerCase(),"div"==o&&null!=(i=l.getAttribute("recid"))){e=l;break}s||"td"!=o||(n=l,s=l.getAttribute("colid")),l=l.parentNode}}catch(r){}return e?{row:e,col:n,id:i,col_id:s}:null}function s(){var t,e,i,s,o,l,r,a,u;this._processing_scroll||(this._processing_scroll=!0,t=this.getBodyDiv(),e=t.scrollTop,this.getHeaderTable().style.marginLeft=-t.scrollLeft+"px",this._vScroll&&this._records&&e!=this._oldScroll&&(i=this.getRowsContainer(),s=this._records.array,o=this._info_display,l=this.getBoundRecords(),r=l.first,a=l.last,l=l.h,(r<o.first_row_index||a>o.last_row_index)&&(a<o.first_row_index||r>o.last_row_index?(u=s.slice(r,r+this._rpp),this._display_ids(u,l*r)):r<o.first_row_index?(u=s.slice(r,o.first_row_index),this.__scrollConts++,this.__cont=function(t){var e,s,a,u,h,c=String.buffer("<div>"),d=t.length;t.foreach(this._fetchRowHTML.$(this,c)),c("</div>"),e=c.get(),s=n.createFromHtml(e);try{u=document.createRange(),h=i.childNodes,u.selectNodeContents(s),a=u.extractContents(),u.detach(),u=document.createRange(),u.setStartBefore(h[h.length-d]),u.setEndAfter(h[h.length-1]),u.deleteContents()}catch(_){for(a||(a=document.createDocumentFragment());s.firstChild;)i.removeChild(i.lastChild),a.appendChild(s.firstChild)}i.insertBefore(a,i.firstChild),this._setVScroll(l*r),o.first_row_index=r,o.last_row_index-=d},this._fetch_data(u,-1,function(t){this.__scrollConts--,0==this.__scrollConts&&this.__cont(t)})):a>o.last_row_index&&(u=s.slice(o.last_row_index+1,a+1),this.__scrollConts++,this.__cont=function(t){var e,s,r,u,h=String.buffer("<div>"),c=t.length;t.foreach(this._fetchRowHTML.$(this,h)),h("</div>"),e=h.get(),s=n.createFromHtml(e);try{u=document.createRange(),u.selectNodeContents(s),r=u.extractContents(),u.detach(),u=document.createRange(),u.setStartBefore(i.firstChild),u.setEndBefore(i.childNodes[c]),u.deleteContents()}catch(d){for(r||(r=document.createDocumentFragment());s.firstChild;)i.removeChild(i.firstChild),r.appendChild(s.firstChild)}i.appendChild(r),this._setVScroll(this._getVSScrollDiv().offsetHeight+l*c),o.first_row_index+=c,o.last_row_index=a},this._fetch_data(u,1,function(t){this.__scrollConts--,0==this.__scrollConts&&this.__cont(t)}))),this._oldScroll=e),this.callHooks("onBodyScroll"),this._processing_scroll=!1)}var o,l,r=n.addClass,a=n.delClass,u=n.condClass;t.DEFAULT_EVENTS=["onBodyDblClick","onBodyScroll","onRowClick","onRowDblClick","onResetIds"],t.CONSTRUCT=function(){this.__scrollConts=0},o=DlException.stopEventBubbling,t.DEFAULT_ARGS={_records:["records",null],_selection:["selection",null],_data:["data",null],_page:["page",0],_rpp:["rpp",60],_minReqRows:["minReq",null],_threshold:["threshold",null],_vScroll:["virtualScrolling",!0],_cols:["cols",null],_headType:["headType",DlDataGridHeadLabel],_focusable:["focusable",!0],_rtClickKeepSel:["rightClickKeepsSel",!1],_noReselect:["noReselect",!1],_rarify:["rarifyScroll",null]},l=String.buffer("<div class='DlDataGrid-Headers'>","<table class='DlDataGrid-rowTable' cellspacing='0' cellpadding='0'>","<tbody><tr></tr></tbody>","</table></div>","<div class='DlDataGrid-Body'>","<div class='DlDataGrid-VSHeight'>","<div class='DlDataGrid-VSHeight-before'></div>","<div class='DlDataGrid-RowsCont'></div>","</div>","</div>").get(),e.getHeaderDiv=function(){return this.getElement().firstChild},e.getHeaderTable=function(){return this.getHeaderDiv().firstChild},e.getHeaderRow=function(){return this.getHeaderDiv().firstChild.rows[0]},e.getBodyDiv=function(){return this.getElement().childNodes[1]},e._getVSHeightDiv=function(){return this.getBodyDiv().firstChild},e._getVSScrollDiv=function(){return this._getVSHeightDiv().firstChild},e.getRowsContainer=function(){return this._getVSHeightDiv().childNodes[1]},e.resetIDS=function(t){var e={},n=this._selection;t.foreach(function(t,n){e[t]=n}),this._records={array:t,id_to_pos:e},n.filter(e),0==n.getArray().length&&(n._last=null),this.callHooks("onResetIds")},e._fetch_data=function(t,e,n){var i,s,o,l,r,a,u,h=this._minReqRows,c=t.length,d=this._data;if(null!=h&&c<h){if(i=t.slice(0),s=this._records.array,l=this._threshold||Math.ceil(this._rpp/2),0>=e){for(r=this._records.id_to_pos[t[0]],a=l;a-->0&&d.hasRecord(s[--r]););if(a>0)for(o=r;o>=0&&i.length<h;o--)u=s[o],d.hasRecord(u)||i.push(u)}if(e>=0){for(r=this._records.id_to_pos[t.peek()],a=l;a-->0&&d.hasRecord(s[++r]););if(a>0)for(o=r;o<s.length&&i.length<h;o++)u=s[o],d.hasRecord(u)||i.push(u)}d.getRecords(i,function(t){n.call(this,t.slice(0,c))},this)}else d.getRecords(t,n,this)},e._display_ids=function(t,e){this._info_display={length:t.length,first_row_index:this._records.id_to_pos[t[0]],last_row_index:this._records.id_to_pos[t.peek()]},this._fetch_data(t,0,function(t){var n=String.buffer();t.foreach(this._fetchRowHTML.$(this,n)),this.getRowsContainer().innerHTML=n.get(),null!=e&&this._setVScroll(e),this._resetVSHeight(),t.length>1?this.scrollToRecord(t[1].id()):this._setVScroll(this.getBodyDiv().scrollTop=0),this.getBoundRecords()})},e.displayPage=function(t){var e,n;null==t&&(t=0),this._page=t,e=this._records.array,this._rpp&&(n=t*this._rpp,e=e.slice(n,n+this._rpp)),this._display_ids(e)},e._resetVSHeight=function(){if(this._vScroll&&this._info_display){var t=Math.floor(this.getRowsContainer().offsetHeight*this.getNRecords()/this._info_display.length);this._getVSHeightDiv().style.height=isNaN(t)?"":t+"px"}},e._setVScroll=function(t){var e=this._getVSScrollDiv();t?(e.style.height=t+"px",e.style.display="block"):e.style.display="none"},e.initWidths=function(){var t,e,n,i,s,o,l={};for(this._cols.foreach(function(t){l[t.id()]=this.getColWidth(t)},this),t=this.getRowsContainer(),e=t.firstChild;e;e=e.nextSibling)for(n=e.firstChild.rows[0].cells,i=n.length;--i>=0;)s=n[i],o=s.getAttribute("colid"),l[o]=Math.max(l[o]||0,s.offsetWidth);this._cols.foreach(function(t){this.setColWidth(t,l[t.id()])},this)},e.resetColumns=function(t){var e,n=this.getHeaderRow(),i=(n.cells,[]);this._cols=t.map(function(t,e){var n=this._colsById[t.id];return i.push(n._cell),n.index=e,n._width=t.width,n._isVisible=t.visible,n},this),e=document.createDocumentFragment(),i.foreach(function(t){e.appendChild(t)}),n.appendChild(e),this.refreshDisplay(),this._cols.foreach(function(t){this.setColVisible(t,t.isVisible()),this.setColWidth(t,t.getWidth())},this)},e.reorderColumn=function(t,e,n){var i,s,o,l=t.index,r=e.index;for(n&&r++,i=this._cols,i.splice(l,1),i.splice(r>l?r-1:r,0,t),s=0;s<i.length;++s)i[s].index=s;for(s=this.getRowsContainer().firstChild;s;s=s.nextSibling)o=s.firstChild.rows[0].cells,t=o[l],e=o[r],t.parentNode.insertBefore(t,e||null);o=this.getHeaderRow().cells,t=o[l],e=o[r],t.parentNode.insertBefore(t,e||null),this._computeColPos()},e.getNRecords=function(){return this._records?this._records.array.length:0},e.getNPages=function(){return this._rpp?Math.ceil(this.getNRecords()/this._rpp):1},e.rec_isSelected=function(t){return this._selection.isSelected(t.id())},e._computeColPos=function(){var t=-1;this._headCont._colPos=this._cols.map(function(e){return t+=this.getColWidth(e),{pos:t,col:e}},this)},e._createElement=function(){t.BASE._createElement.call(this),this.getElement().id=this.id,this._ss=new DlStyleSheet,this._cssPrefix="#"+this.id,this.setContent(l),
this._initHeaders(),this.getBodyDiv().onscroll=this._rarify?s.rarify(this._rarify.calls,this._rarify.timeout,this):s.$(this);var e=this._headCont=new DlContainer({parent:this,element:this.getHeaderDiv()});e.addEventListener({onMouseMove:DlDataGridHeadLabel._on_headMouseMove,onMouseLeave:DlDataGridHeadLabel._on_headMouseLeave,onMouseEnter:this._computeColPos.$(this)}),this._bodyCont=new DlContainer({parent:this,element:this.getBodyDiv(),drag:this._dragArgs}),this._dragArgs=null,"onMouseOver onMouseOut onMouseDown onMouseUp onMouseLeave onDblClick".qw().foreach(function(t){this.addEventListener(t,this["_body_"+t])},this),this._cacheEvents={onChange:this._data_onChange.$(this),onInsert:this._data_onInsert.$(this),onDelete:this._data_onDelete.$(this),onRefresh:this._data_onRefresh.$(this)},this.setCache(this._data),this.addEventListener("onDestroy",this._onDestroy),this._records&&this.resetIDS(this._records),this._sel_events={onChange:this._sel_onChange.$(this),onReset:this._sel_onReset.$(this)},this._selection||(this._selection=new DlSelectionModel({})),this.setSelectionModel(this._selection)},e._onDestroy=function(){this._ss.destroy(),this.setCache(null)},e.setCache=function(t){this._data&&this._data.removeEventListener(this._cacheEvents),this._data=t,t&&t.addEventListener(this._cacheEvents)},e._data_onChange=function(t){var e,i,s=this.getRowElement(t.id());s&&(e=String.buffer(),this._fetchRowHTML(e,t),e=e.get(),is_ie?s.outerHTML=e:(i=n.createFromHtml(e),n.trash(s.parentNode.replaceChild(i,s))))},e._data_onInsert=function(t,e){var n=this._records.array;null==e&&(e=n.length),n.splice(e,0,t.id()),this.resetIDS(n),this.refreshDisplay()},e._data_onDelete=function(t){var e=this._records.array;t instanceof Array?t.foreach(function(t){this.remove(t)},e):e.remove(t),this.resetIDS(e),this.refreshDisplay()},e._data_onRefresh=function(){},e._recompDynamicWidths=function(){var t=this.getBodyDiv().clientWidth,e=[];this._cols.foreach(function(n){null==n.getFill()?t-=this.getColWidth(n):e.push(n)},this),t-=1,e.foreach(function(e){this.setColWidth(e,t*e.getFill())},this)},e._initHeaders=function(){this._colsById={},this._cols.foreach(function(t,e){var n,i,s,o,l,r;t instanceof DlGridCol||(t=this._cols[e]=new DlGridCol(t)),t.addEventListener("onVisibility",this.setColVisible.$(this,t)),t.index=e,this._colsById[t.id()]=t,n="DlDataGrid-col-"+t.id(),i=this._cssPrefix+" ."+n,i=i+","+i+" .DlDataGrid-cellData",s=[],o=t.getWidth(),"number"==typeof o&&s.push("width:"+o+"px"),s=s.join(";"),t._cssRule=this._ss.insertRule(i,s),t.isVisible()||this._ss.modifyRule(t._cssRule,{display:"none"}),l=t._cell=document.createElement("td"),l.innerHTML="<div class='DlDataGrid-cellData'></div>",l.className=n,this.getHeaderRow().appendChild(l),r=this._makeHeadLabel({parent:this,appendArgs:l.firstChild,iconClass:t.getIconClass(),label:t.getLabel(),col:t,className:"DlGrid-align-"+t.getStyle("textAlign","left"),tooltip:t.getTooltip.$(t),drag:this._getDragObject()}),t._button=r},this)},e.findRowFromEvent=function(t){return i(t)},e._sel_onChange=function(t,e){var n=this.getRowElement(t);n&&u(n,e,"DlDataGridRow-selected")},e._sel_onReset=function(t,e){var n,i;for(n in t)e[n]||(i=this.getRowElement(n),i&&a(i,"DlDataGridRow-selected"));for(n in e)t[n]||(i=this.getRowElement(n),i&&r(i,"DlDataGridRow-selected"))},e.setSelectionModel=function(t){this._selection&&this._selection.removeEventListener(this._sel_events),this._selection=t,t.addEventListener(this._sel_events)},e._body_onDblClick=function(t){this.callHooks("onBodyDblClick");var e=i(t);e&&this.callHooks("onRowDblClick",e)},e._body_onMouseOver=function(t){var e=i(t);e&&this.__tooltip instanceof Function&&(this._tooltipRow=e,DlWidget.getTooltip().popup({timeout:this.__tooltipTimeout,content:this.__tooltip.$(this,e),anchor:this.getElement(),align:"mouse",onPopup:this.__onTooltipShow,onHide:this.__onTooltipHide,widget:this}))},e._body_onMouseOut=function(t){var e=i(t);e&&(DlWidget.getTooltip().hide(),this._tooltipRow=null)},e._body_onMouseLeave=function(t){},e.__handleSelectClick=function(t,e){var n,i,s,o=this._selection,l=this._records;o.multiple?2==e.button?this._rtClickKeepSel||(e.ctrlKey?(this.callHooks("onRowClick",t,e,{rtc:!0,ctrl:!0,type:"select",ids:[t.id]}),o.select([t.id])):o.isSelected(t.id)||(this.callHooks("onRowClick",t,e,{rtc:!0,type:"reset",ids:[t.id]}),o.reset([t.id]))):e.ctrlKey?(this.callHooks("onRowClick",t,e,{ctrl:!0,type:"toggle",ids:[t.id]}),o.toggle(t.id),o._last=t.id):e.shiftKey?null!=o._last?(n=l.id_to_pos[o._last],i=l.id_to_pos[t.id],s=l.array.slice(Math.min(n,i),Math.max(n,i)+1),this.callHooks("onRowClick",t,e,{shift:!0,type:"reset",ids:s}),o.reset(s)):(this.callHooks("onRowClick",t,e,{shift:!0,type:"toggle",ids:[t.id]}),o.toggle(t.id),o._last=t.id):(this.callHooks("onRowClick",t,e,{type:"reset",ids:[t.id]}),o.reset([t.id]),o._last=t.id):this._noReselect&&o.isSelected(t.id)||(this.callHooks("onRowClick",t,e,{type:"reset",ids:[t.id]}),o.reset([t.id]),o._last=t.id)},e._body_onMouseUp=function(t){var e=i(t),n=this.__handleOnMouseUp;e&&n&&e.id==n.id&&this.__handleSelectClick(e,t)},e._body_onMouseDown=function(t){var e=i(t),n=this._selection;e&&(this.__handleOnMouseUp=!n.isSelected(e.id)||!this._bodyCont._dragArgs||t.ctrlKey||t.shiftKey?null:e,this.__handleOnMouseUp||this.__handleSelectClick(e,t),2!=t.button&&o())},e.scrollToRecord=function(t,e){var n=this.getRowsContainer(),i=Math.floor(n.offsetHeight/n.childNodes.length),s=i*this._records.id_to_pos[t||this._selection._last],o=this.getBodyDiv(),l=o.scrollTop,r=o.clientHeight;if(null==e)l>s?(o.scrollTop=s,this._setVScroll(i*this._info_display.first_row_index)):s+i>l+r&&(o.scrollTop=s+i-r,this._setVScroll(i*this._info_display.first_row_index));else switch(e){case"top":o.scrollTop=s;break;case"bottom":o.scrollTop=s+i-r;break;case"center":o.scrollTop=(2*s+i-r)/2}},e.scrollHome=function(){this.getBodyDiv().scrollTop=0},e.scrollEnd=function(){this.getBodyDiv().scrollTop=this._getVSHeightDiv().offsetHeight},e.scrollPage=function(t){var e=this.getBodyDiv();e.scrollTop+=t*e.clientHeight-20},e._handle_focusKeys=function(e){var n,i,s,l=this._selection,r=e.keyCode,a=(e.charCode,this._records);switch(r){case DlKeyboard.ARROW_DOWN:n=-1,null!=l._last&&(n=a.id_to_pos[l._last]),e.shiftKey&&l.multiple?(i=a.array.slice(n,n+2),l.select(i),l._last=i.peek()):(n=a.array.limitIndex(n+1),s=a.array[n],l.reset([s]),l._last=s),this.scrollToRecord(),o();break;case DlKeyboard.ARROW_UP:n=a.array.length,null!=l._last&&(n=a.id_to_pos[l._last]),e.shiftKey&&l.multiple?(i=a.array.slice(n-1,n),l.select(i),l._last=i.peek()):(n=a.array.limitIndex(n-1),s=a.array[n],l.reset([s]),l._last=s),this.scrollToRecord(),o();break;case DlKeyboard.HOME:this.scrollHome(),o();break;case DlKeyboard.END:this.scrollEnd(),o();break;case DlKeyboard.PAGE_UP:this.scrollPage(-1),o();break;case DlKeyboard.PAGE_DOWN:this.scrollPage(1),o()}t.BASE._handle_focusKeys.call(this,e)},e._makeHeadLabel=function(t){return new this._headType(t)},e._onHeadClick=function(t,e){var n,i;t.isSortable()&&(t=t.id(),n=this.__sortCol||null,i=null,t==n&&(i=!0,this.__sortRev&&(i=!i)),this.__sortRev=i,this.sort(this._records.array,t,n,i,this._handleSort.$(this,t,i)))},e.sort=function(){this._data.sort.apply(this._data,arguments)},e._handleSort=function(t,e,n){this.resetIDS(n),this.refreshDisplay(),this.setSortColumn(t,e)},e.setSortColumn=function(t,e){var n=this.__sortCol;n&&(n=this._colsById[n],n._button.delClass(/DlDataGridHeadLabel-sort-[^\s]+/g)),this.__sortCol=t,t&&this._colsById[t]._button.condClass(e,"DlDataGridHeadLabel-sort-down","DlDataGridHeadLabel-sort-up")},e.getSortColumn=function(){return this.__sortCol},e.getSortReverse=function(){return this.__sortRev},e.getCol=function(t){return t instanceof DlGridCol||(t=this._colsById[t]),t},e.getRec=function(t){return t instanceof DlRecord||(t=this._data.get(t)),t},e.setColWidth=function(t,e){t=this.getCol(t),t._width=e,this._ss.modifyRule(t._cssRule,{width:e+"px"})},e.setColVisible=function(t,e){t=this.getCol(t),this._ss.modifyRule(t._cssRule,{display:e?"":"none"}),t._isVisible=!!e},e.getColWidth=function(t){return t=this.getCol(t),this.getHeaderRow().cells[t.index].offsetWidth},e._getDragObject=function(){return this.__drag||(this.__drag=new DlGridDragCol({})),this.__drag},e._fetchRowContentHTML=function(t,e){t("<table class='DlDataGrid-rowTable' cellspacing='0' cellpadding='0'><tr>");var n,i,s,o,l=this._cols,r=l.length,a=this._data;for(o=0;r>o;++o)n=l[o],i=n.id(),t("<td colid='",i,"' class='DlDataGrid-col-",i),s=a.getCellClass(e,n.id()),s&&t(" ",s),t("'>"),is_ie&&t("<div class='DlDataGrid-cellData'>"),a.formatHTML(e,n.id(),t,n),is_ie&&t("</div>"),t("</td>");t("</tr></table>")},e._fetchRowHTML=function(t,e){var n="DlDataGrid-row",i=this._data.getRecClass(e);i&&(n+=" "+i),this.rec_isSelected(e)&&(n+=" DlDataGridRow-selected"),t("<div id='",this.id,":",e.id(),"' class='",n,"' recid='",e.id(),"'>"),this._fetchRowContentHTML(t,e),t("</div>")},e.getRowElement=function(t){return document.getElementById(this.id+":"+t)},e.refreshDisplay=function(){var t,e,n,i,s,o,l,r,a;this._oldScroll=null,t=this.getBodyDiv(),e=t.scrollTop,n=this.getRowsContainer(),i=this._records.array,s=this._info_display,this._rpp&&i.length<this._rpp&&this.displayPage(0),this._rpp&&(o=Math.floor(n.offsetHeight/n.childNodes.length),l=Math.ceil(e/o)-1,0>l&&(l=0),r=Math.floor((e+t.clientHeight)/o),r<i.length||(r=i.length-1),a=i.slice(l,l+this._rpp),this._display_ids(a,o*l))},e.__doLayout=function(){var t=this.getInnerSize(),e=this.getBodyDiv(),i=this.getHeaderDiv();n.setOuterSize(e,t.x,t.y-i.offsetHeight),n.setOuterSize(i,t.x,null),this._resetVSHeight(),this._records&&this._records.array.length>0&&(this._oldScroll=null,s.call(this)),this._recompDynamicWidths()},e.getBoundRecords=function(){var t,e,n,i=this.getBodyDiv(),s=i.scrollTop,o=this.getRowsContainer(),l=this._records.array,r=o.offsetHeight;return 0==r?this.__boundRecords:(t=Math.floor(r/o.childNodes.length),e=Math.ceil(s/t)-1,0>e&&(e=0),n=Math.floor((s+i.clientHeight)/t),n<l.length||(n=l.length-1),this.__boundRecords={first:e,last:n,count:n-e+1,h:t})}}),DEFINE_CLASS("DlDragDataGrid",DlDrag,function(t,e){e.startOK=function(t,e){for(var n=t.parent,i=!1,s=e.target;s&&s!=t.getElement();){if(s==n._getVSHeightDiv()){i=!0;break}s=s.parentNode}return i&&n._selection.getArray().length>0?this.grid=n:i=!1,i},e.reset=function(){this.grid=null,t.BASE.reset.apply(this,arguments)}}),DEFINE_CLASS("DlDesktop",DlContainer,function(t,e){if(t.DEFAULT_ARGS={_bounds:["bounds",new DlRect(50,30,800,600)]},e._createElement=function(){t.BASE._createElement.call(this);var e=this.getElement();this._bounds.positionDiv(e),document.body.appendChild(e)},is_ie)var n=Dynarch.ID("IEsux"),i=function(){var t=document.getElementById(n);t||(t=document.createElement("div"),t.style.position="absolute",t.style.right=t.style.bottom=t.style.width=t.style.height="0px",t.style.zIndex="-100",document.body.appendChild(t)),this.setSize({x:t.offsetLeft,y:t.offsetTop+t.offsetHeight})};e.fullScreen=function(){var t,e=this.getElement().style;e.top="0px",e.left="0px",e.width="100%",e.height="100%",t=is_ie?i.$(this):this.callHooks.$(this,"onResize"),DynarchDomUtils.addEvent(window,"resize",t.clearingTimeout(25))}}),DEFINE_CLASS("DlTable",DlContainer,function(t,e,n){var i=n.createElement;t.FIXARGS=function(t){t.tagName="table",this._colSpan=0},t.DEFAULT_ARGS={__cellSpacing:["cellSpacing",null],__cellPadding:["cellPadding",null],__align:["align",null]},e._createElement=function(){t.BASE._createElement.call(this);var e=this.getElement();null!=this.__cellPadding&&(e.cellPadding=this.__cellPadding),null!=this.__cellSpacing&&(e.cellSpacing=this.__cellSpacing),null!=this.__align&&(e.align=this.__align),i("tbody",null,null,e)},e.getContentElement=function(){return this.getElement().firstChild},e.addRow=function(){return new DlTableRow({parent:this})},e.getRow=function(t){return this.children(t)},e.addCell=function(t,e,n){var i,s,o=new DlTableCell({parent:t});return null!=e&&o.addClass("DlAlign-"+e),null!=n&&(i=o.getElement().style,i.verticalAlign=n),s=o.getElement().cellIndex+1,s>this._colSpan&&(this._colSpan=s),o},e.getColSpan=function(){return this._colSpan},e.setColSpan=function(t){this._colSpan=t},e.addSeparator=function(t){null==t&&(t=this.getColSpan()),i("div",null,{innerHTML:"&nbsp;"},i("td",null,{colSpan:t},i("tr",null,{className:"DlTable-RowSeparator"},this.getContentElement())))}}),DEFINE_CLASS("DlTableRow",DlContainer,function(t,e){t.DEFAULT_ARGS={_tagName:["tagName","tr"]}}),DEFINE_CLASS("DlTableCell",DlContainer,function(t,e){t.DEFAULT_ARGS={_tagName:["tagName","td"]}}),DEFINE_CLASS("DlFieldGrid",DlTable,function(t,e){t.CONSTRUCT=function(){this.__fields={}},e.addField=function(t,e,n){var i,s,o,l,r,a,u=t.widget||new DlEntry(t),h=t.label;return e||(e={}),h&&(h instanceof DlWidget?h instanceof DlLabel&&h.setWidget(u):h=new DlLabel({label:t.label.makeLabel(),widget:u})),i=this.addRow(),s=this.addCell(i,"right",t.valign),s.addClass("DlFieldGrid-labelCell"),"top"==t.valign&&h instanceof DlLabel&&(s.getElement().style.paddingTop=t.vtop||"4px"),h&&s.appendWidget(h),e.middleText&&(o=this.addCell(i),o.setContent(e.middleText)),l=this.addCell(i),l.appendWidget(u),r=t.id||t.name,null!=r&&(this.__fields[r]=u.getWidgetId(),delete t.id),e&&(a=l.getElement(),e.colSpan&&(a.colSpan=e.colSpan),e.rowSpan&&(a.rowSpan=e.rowSpan)),n&&(n.row=i,n.c1=s,n.c2=l,n.label=h,n.entry=u),u},e.getField=function(t){return t?DlWidget.getById(this.__fields[t]):this.__fields},e.setField=function(t,e){this.__fields[t]=e.getWidgetId()},e.getValue=function(){var t,e,n,i,s={};for(t in this.__fields)e=this.getField(t),n=e.getFormValue||e.getValue,n instanceof Function&&(e instanceof DlAbstractButton&&e._checkTwoState(!0)?(i=n.call(e),"boolean"==typeof i?s[t]=i:null==i?s[t]=e.checked():e.checked()&&(s[t]=i)):s[t]=n.call(e));return s},e.getValues=e.getValue,e.setValue=function(t){var e,n,i,s;for(e in t)n=this.getField(e),i=t[e],n&&(s=n.setFormValue||n.setValue,s instanceof Function&&(n instanceof DlAbstractButton&&n._checkTwoState(!0)?n.checked("string"==typeof i?"0"!=i:!!i):s.call(n,i)))},e.setValues=e.setValue}),DEFINE_CLASS("DlFieldset",DlContainer,function(t,e,n){t.DEFAULT_ARGS={_label:["label","DlFieldset"]},e._createElement=function(){t.BASE._createElement.call(this),this.getElement().innerHTML=["<span class='DlFieldset-label'>",this._label,"</span>","<div class='DlFieldset-content'></div>"].join("")},e.getContentElement=function(){return this.getElement().childNodes[1]},e.getLabelElement=function(){return this.getElement().firstChild},e.setOuterSize=e.setSize=function(t){var e=n.getPos(this.getLabelElement()),i=n.getPos(this.getContentElement()),s=i.y-e.y;n.setOuterSize(this.getElement(),t.x,t.y-s),t=n.getInnerSize(this.getElement()),n.setOuterSize(this.getContentElement(),t.x,t.y),this.callHooks("onResize")}}),function(){var t={},e={};window.DlSingleton={get:function(n,i){return e[n]||!i&&(e[n]=new t[n])},register:function(e,n,i){t[e]=n,i&&(window[e]=this.get.$C(e))}}}(),DEFINE_SINGLETON("DlFlashUtils",DlEventProxy,function(t,e){function n(t){var e=null;try{e=t.GetVariable("$version")}catch(n){}return e}var i,s,o,l,r;t.DEFAULT_EVENTS=["onLoad","onStorageStatus"],i=is_ie?String.template('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="215" height="138" id="DlFlashUtils-MOVIE" align="middle">','<param name="allowScriptAccess" value="always" />','<param name="movie" value="$url" />','<param name="quality" value="high" />',"</object>"):String.template('<embed id="DlFlashUtils-MOVIE" src="$url" quality="high" bgcolor="#ffffff" width="215" height="138" ','allowScriptAccess="always" ','type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'),s=null,window.DlFlashUtils_init=function(t){DlFlashUtils().callHooks("onLoad")},e.init=function(){if(!s){var t=i({url:Dynarch.getFileURL("swf/flash.swf")});document.write("<div style='position: absolute; z-index: 31000; left: -256px; top: 50%; margin-left: -108px; margin-top: -69px; width: 216px; height: 138px;'>"+t+"</div>"),s=document.getElementById("DlFlashUtils-MOVIE")}},e.getObject=function(){return s},e.display=function(t){s.parentNode.style.left=t?"50%":"-256px"},o={"ShockwaveFlash.ShockwaveFlash.7":n,"ShockwaveFlash.ShockwaveFlash.6":function(t){var e="Win 6,0,21";try{t.AllowScriptAccess="always",e=n(t)}catch(i){}return e},"ShockwaveFlash.ShockwaveFlash":n},e.isSupported=function(){var t,e,n,i=navigator.plugins;if(i&&i.length){if(i=i["Shockwave Flash"],i&&i.description&&/^Shockwave Flash\s+([^\s]+)/i.test(i.description))return parseFloat(RegExp.$1)>=8}else if(is_ie)for(t in o)try{if(e=new ActiveXObject(t),e&&(n=o[t](e),null!=n))return n=n.split(/\s+/)[1],parseFloat(n)>=8}catch(s){}return!1},e.loadPolicyFile=function(t){return this.getObject().DlSocket_loadPolicyFile(t)},l=e.decodeString=function(t){return t.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")},r=e.decodeObject=function(t){var e,n;if(t instanceof Array)for(e=t.length;--e>=0;)t[e]=r(t[e]);else if("object"==typeof t){if(null==t)return t;n={};for(e in t)n[l(e)]=r(t[e]);t=n}else"string"==typeof t&&(t=l(t));return t}}),DlFlashStore={set:function(t,e){DlFlashUtils().getObject().DlStorage_set(t,e)},get:function(t){return DlFlashUtils().decodeObject(DlFlashUtils().getObject().DlStorage_get(t))},getAllKeys:function(){return DlFlashUtils().decodeObject(DlFlashUtils().getObject().DlStorage_getAllKeys())},remove:function(t){DlFlashUtils().getObject().DlStorage_remove(t)},clear:function(){DlFlashUtils().getObject().DlStorage_clear()},flush:function(t){var e=DlFlashUtils().getObject().DlStorage_flush();return t&&"pending"==e&&DlFlashUtils().display(!0),e},_onStatus:function(t){DlFlashUtils().display(!1),DlFlashUtils().applyHooks("onStorageStatus",[t])}},DEFINE_CLASS("DlGridLayout",DlLayout,function(t,e,n){var i,s=n.createElement,o=n.addClass;t.DEFAULT_ARGS={__layout:["layout",null],__layoutHTML:["layoutHTML",null],__cellSpacing:["cellSpacing",0],__cellPadding:["cellPadding",1]},i=["width","padding","paddingLeft","paddingRight","paddingTop","paddingBottom","verticalAlign","textAlign","whiteSpace"],e._createElement=function(){var e,n;t.BASE._createElement.call(this),this.__layoutHTML?(this.setContent(this.__layoutHTML),e=this.getElement().getElementsByTagName("table")[0]):(e=s("table",null,{cellSpacing:this.__cellSpacing,cellPadding:this.__cellPadding,className:"DlGridLayout-table"}),s("tbody",null,null,e),n=this.__layout,n.foreach(function(t){var n=t.props,s=e.insertRow(-1);n&&n.minHeight&&(o(s,"DlGridLayout-tr-minHeight"),s.minHeight=!0),t.cells.foreach(function(t,e){var l=s.insertCell(-1);0==e&&n&&n.height&&(l.style.height=n.height),t&&(t.colSpan&&(l.colSpan=t.colSpan),t.className&&(l.className=t.className),t.rowSpan&&(l.rowSpan=t.rowSpan),t.minWidth&&o(l,"DlGridLayout-td-minWidth"),t.minHeight&&(l.minHeight=!0,o(l,"DlGridLayout-td-minHeight")),i.r_foreach(function(e){var n=t[e];null!=n&&(this[e]=n)},l.style))})}),this.getElement().appendChild(e)),this.refNode("__table",e)},e._appendWidgetElement=function(e,n){if(n.inCell){var i=this.getCellElement(n.row,n.col);i.appendChild(e.getElement()),e._dllayout_args=n}else t.BASE._appendWidgetElement.call(this,e,n)},e._removeWidgetElement=function(e){if(this._widgets.contains(e))if(e._dllayout_args.inCell){var n=e.getElement();n.parentNode.removeChild(n)}else t.BASE._removeWidgetElement.call(this,e)},e.getTableElement=function(){return this.__table},e.getCellElement=function(t,e){return this.getTableElement().rows[t].cells[e]},e.doLayout=function(){var t=this.children();2..times(function(e){t.foreach(function(t){var n,i,s,o,l,r,a,u=t._dllayout_args;u.inCell||(n=this.getCellElement(u.row,u.col),i=n.offsetLeft,s=n.offsetTop,o=n.offsetWidth,l=n.offsetHeight,0==e?(r=t.getOuterSize(),(n.minHeight||n.parentNode.minHeight)&&l<r.y&&(n.style.height=r.y+"px")):(a=t.getElement().parentNode.style,a.left=i+"px",a.top=s+"px",t.setOuterSize({x:o,y:l})))},this)},this)},e.showWidgets=function(t){0==arguments.length&&(t=!0),this.children().r_foreach(function(e){e.display(t)})}}),DlHtmlUtils={_blockTags:"body form textarea fieldset ul ol dl dd dt li div blockquote p h1 h2 h3 h4 h5 h6 quote pre table thead tbody tfoot tr td iframe address".hashWords(),_quickTags:"br hr input link meta img".hashWords(),_headingTags:"h1 h2 h3 h4 h5 h6".hashWords(),_descTags:"p blockquote td div li".hashWords(),isBlockElement:function(t){return t&&1==t.nodeType&&t.tagName.toLowerCase()in DlHtmlUtils._blockTags},needsClosingTag:function(t){return t&&1==t.nodeType&&!(t.tagName.toLowerCase()in DlHtmlUtils._quickTags)},htmlEncode:function(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\x22/g,"&quot;").replace(/\u00A0/g,"&#xa0;")},getHTML:function(t,e,n){function i(t,e){var s,o,m,y,D,E,v;switch(t.nodeType){case 11:e=!1;case 1:if(o=t.tagName.toLowerCase(),"DynarchLIB-REMOVE-ME"==t.className)break;if(e){if(m=!(t.hasChildNodes()||a(t)),"br"==o){if(t.previousSibling&&!t.nextSibling)break;if(g){l[r++]="\n";break}}n&&(null==c&&o in p?(c=h(t),_=0):null==d&&o in f&&(d=h(t))),l[r++]="<",l[r++]=o,y=t.attributes;for(s=0;s<y.length;++s)D=y.item(s),D.specified&&(E=D.nodeName.toLowerCase(),/^_moz|^_msh/.test(E)||(v="style"!=E?"undefined"==typeof t[D.nodeName]||"href"==E||"src"==E||/^on/.test(E)?D.nodeValue:t[D.nodeName]:t.style.cssText,/(_moz|^$)/.test(v)||(l[r++]=" "+E+'="'+u(v)+'"')));l[r++]=m?" />":">"}for("pre"==o&&++g,s=t.firstChild;s;s=s.nextSibling)i(s,!0);"pre"==o&&--g,e&&!m&&(l[r++]="</"+o+">"),0===_&&(_=r);break;case 3:/^(script|style)$/i.test(t.parentNode.tagName)?0!=t.data.indexOf("/*<![CDATA[*/")?(l[r++]="/*<![CDATA[*/",l[r++]=t.data,l[r++]="/*]]>*/"):l[r++]=t.data:l[r++]=t.data.htmlEscape();break;case 4:case 8:l[r++]="<!--",l[r++]=t.data,l[r++]="-->"}}var s,o=DlHtmlUtils,l=[],r=0,a=o.needsClosingTag,u=o.htmlEncode,h=o.getInnerText,c=null,d=null,_=null,f=o._descTags,p=o._headingTags,g=0;return i(t,e),s=l.join(""),n&&(s={title:c,description:d,content:s,contentButTitle:""},_&&(s.contentButTitle=l.slice(_).join(""))),s},getInnerText:function(t){return null!=t.innerText?t.innerText:null!=t.textContent?t.textContent:void 0},getText:function(t){var e,n,i,s,o=t.cloneNode(!0),l=o.getElementsByTagName("*");for(e=l.length;--e>=0;)n=l[e],DlHtmlUtils.isBlockElement(n)&&(i=n.ownerDocument.createTextNode(" "),n.insertBefore(i,n.firstChild),n.appendChild(i.cloneNode(!0)));return s=DlHtmlUtils.getInnerText(o),DynarchDomUtils.trash(o),s},_can_t_DeleteFull_tags:"td".hashWords(),canDeleteFullNode:function(t){return!(t.toLowerCase()in DlHtmlUtils._can_t_DeleteFull_tags)},_can_t_DeleteContent_tags:"ul ol dd table tr img br hr".hashWords(),canDeleteContent:function(t){return!(t.toLowerCase()in DlHtmlUtils._can_t_DeleteContent_tags)},_can_t_StripNode_tags:"ul ol li dd dt dl img br hr table tr td object applet iframe form textarea".hashWords(),canStripNode:function(t){return!(t.toLowerCase()in DlHtmlUtils._can_t_StripNode_tags)}},DEFINE_CLASS("DlIconListView",DlContainer),DEFINE_CLASS("DlIconListItem",DlAbstractButton,function(t,e){t.DEFAULT_ARGS={__itemSize:["itemSize",{x:100,y:null}],__itemSpacing:["itemSpacing",0],__spaceEvenly:["spaceEvenly",!1],__iconSize:["iconSize",{x:40,y:40}],__iconAbove:["iconAbove",!0],_btnType:["type",DlAbstractButton.TYPE.TWOSTATE],_tagName:["tagName","table"],_classes:["classes",{active:"DlIconListItem-active",hover:"DlIconListItem-hover",checked:"DlIconListItem-1",unchecked:"DlIconListItem-0",empty:"DlIconListItem-empty",disabled:"DlIconListItem-disabled"}],_iconClass:["iconClass",null]};var n=["DlIconListItem-iconCell","DlIconListItem-labelCell"];e._createElement=function(){DlWidget.prototype._createElement.call(this);var t=this.getElement();t.cellSpacing=t.cellPadding=0,this.__spaceEvenly?t.style.margin=this.__itemSpacing+"px":t.style.marginRight=t.style.marginBottom=this.__itemSpacing+"px",t.insertRow(-1).insertCell(-1),t.insertRow(-1).insertCell(-1),t.align="left",this.setIconAbove(this.__iconAbove,!0),this.setIconClass(this._iconClass),this.label(this._label,!0),this.setIconSize(this.__iconSize),this._updateState()},e.setIconClass=function(t){this.getIconCell().className=n[0]+" "+t},e.getIconCell=function(){return this.getElement().rows[this.__iconAbove?0:1].cells[0]},e.getLabelCell=function(){return this.getElement().rows[this.__iconAbove?1:0].cells[0]},e.setIconSize=function(t){DynarchDomUtils.setInnerSize(this.getIconCell(),t.x,t.y),this.__iconSize=t},e.getIconSize=function(){return this.__iconSize},e.setIconAbove=function(t,e){var i=this.getElement().rows;e?(i[0].cells[0].className=n[t?0:1],i[1].cells[0].className=n[t?1:0]):t!==this.__iconAbove&&i[1].parentNode.insertBefore(i[1],i[0]),this.__iconAbove=t},e.label=function(t,e){return null==t||!e&&t===this._label||(this._label=t,this.getLabelCell().innerHTML=String.buffer("<div class='DlIconListItem-labelDiv' style='width:",this.__itemSize.x,"px'>",t,"</div>").get(),this.applyHooks("onUpdateLabel",[this._label])),this._label}}),DlJSON={RE_strings:/(\x22(\\.|[^\x22\\])*\x22|\x27(\\.|[^\x27\\])*\x27)/g,RE_forbid:/([\n;()+=\x2f*-])/g,encode:function(t){var e,n;if(null==t)e="null";else if(t.dynarchlib_toJSON)e=t.dynarchlib_toJSON();else if(t instanceof Array)e="["+t.map(DlJSON.encode).join(",")+"]";else if(t instanceof Date)e=DlJSON.encode(t.toUTCString());else if("object"==typeof t){e=[];for(n in t)e.push(DlJSON.encode(n)+":"+DlJSON.encode(t[n]));e="{"+e.join(",")+"}"}else e="string"==typeof t?'"'+t.replace(/\x5c/g,"\\\\").replace(/\r?\n/g,"\\n").replace(/\t/g,"\\t").replace(/\x22/g,'\\"')+'"':t.toString();return e},encodeIndented:function(t,e){function n(t){return++s,t=t(),--s,t}function i(t){return" ".repeat(s*e)+t}null==e&&(e=2);var s=0;return function o(t){var e;return null==t?e="null":t.dynarchlib_toJSON?e=t.dynarchlib_toJSON():t instanceof Array?e="[ "+t.map(o).join(", ")+" ]":t instanceof Date?e=o(t.toUTCString()):"object"==typeof t?(e=n(function(){var e,n=[];for(e in t)n.push(o(e)+" : "+o(t[e]));return n.map(i).join(",\n")+"\n"}),e="{\n"+e+i("}")):e="string"==typeof t?'"'+t.replace(/\x5c/g,"\\\\").replace(/\r?\n/g,"\\n").replace(/\t/g,"\\t").replace(/\x22/g,'\\"')+'"':t.toString(),e}(t)},decode:function(t,e){if(!e){t=t.trim();var n=t.replace(DlJSON.RE_strings,"");if(DlJSON.RE_forbid.test(n))throw new DlSecurityException("Character "+RegExp.$1+" not allowed in JSON input!")}try{return Dynarch.evalClean(t)}catch(i){throw new DlDataException("Malformed data in JSON input: "+i)}},domToObject:function(t){var e,n,i,s={},o=String.buffer();for(e=t.firstChild;e;e=e.nextSibling)1==e.nodeType?(n=DlJSON.domToObject(e),i=e.nodeName,i in s?(s[i]instanceof Array||(s[i]=[s[i]]),s[i].push(n)):s[i]=n):3==e.nodeType&&o(e.nodeValue);return s.$text=o.get(),s}},DlKeyboard={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,SPACE:32,DASH:45,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,INSERT:45,DELETE:46,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,parseKey:function(t){var e,n={};return t=t.toUpperCase(),(e=/^([a-z]+)\s+\x27(.)\x27$/i.exec(t))?(n[e[1]]=!0,n.key=e[2]):(e=/^([a-z]+)-([a-z]+)\s+\x27(.)\x27$/i.exec(t))?(n[e[1]]=n[e[2]]=!0,n.key=e[3]):(e=/^([a-z]+)-([a-z]+)-([a-z]+)\s+\x27(.)\x27$/i.exec(t))&&(n[e[1]]=n[e[2]]=n[e[3]]=!0,n.key=e[4]),n},checkKey:function(t,e){return"string"==typeof e&&(e=DlKeyboard.parseKey(e)),(!e.CTRL&&!t.ctrlKey||e.CTRL&&t.ctrlKey)&&(!e.ALT&&!t.altKey||e.ALT&&t.altKey)&&(!e.SHIFT&&!t.shiftKey||e.SHIFT&&t.shiftKey)&&t.keyStr.toUpperCase()==e.key.toUpperCase()}},DlKeyboard.KEYS_CONTROL=["BACKSPACE","TAB","DELETE","ESCAPE","ENTER","PAGE_UP","PAGE_DOWN","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN"].keys_map(DlKeyboard).toHash(!0),DlKeyboard.KEYS_MOVE=["ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN"].keys_map(DlKeyboard).toHash(!0),DlKeyboard.KEYS_MOVE_PREV=["ARROW_LEFT","ARROW_UP"].keys_map(DlKeyboard).toHash(!0),DEFINE_CLASS("DlLabel",DlAbstractButton,function(t,e){t.DEFAULT_ARGS={_activateWidget:["widget",null],_tagName:["tagName","span"]},e._onMouseDown=function(t){var e=this._activateWidget;e&&(e.focus(),t.domStop=!0,DlException.stopEventBubbling())},e.setWidget=function(t){this._activateWidget=t},e.getWidget=function(){return this._activateWidget},e._handle_accessKey=function(t){this._onMouseDown(t)}}),DEFINE_CLASS("DlLiteTree",DlContainer,function(t,e,n){var i,s;t.DEFAULT_EVENTS="onItemMouseDown onItemDblClick".qw(),t.DEFAULT_ARGS={items:["items",null],sort:["sort",Function.identity],_opt_toggleSelection:["toggleSelection",!1],_focusable:["focusable",!0]},t.FIXARGS=function(t){Object.mergeUndefined(t,{fillParent:!0})},t.CONSTRUCT=function(){this.addEventListener({onMouseDown:this._onMouseDown,onDblClick:this._onDblClick})},e.reset=function(t){this.top_items=this.sort(t),this.setContent(this._buildHTML(this.top_items,0)),this._selection&&this._selection.filter(this._itemsById)},e.setSelectionModel=function(t){this._selection?this._selection.removeEventListener(this._selListeners):this._selListeners||(this._selListeners={onChange:this.$("_on_selChange"),onReset:this.$("_on_selReset")}),this._selection=t,t.addEventListener(this._selListeners)},e.isSelected=function(t){return this._selection&&this._selection.isSelected(t)},e.refreshItems=function(t){t.foreach(function(t){var e,n,i,s=this._getItemElement(t);s&&(e=["item-label"],n=this._itemsById[t],this.isSelected(t)&&e.push("selected"),n.addClassNames(e),s.className=e.join(" "),i=String.buffer("<span class='expander'></span>"),n.formatHTML(i),s.innerHTML=i.get())},this)},e.getItemById=function(t){return this._itemsById[t]},e._buildHTML=function(t,e){if(0==t.length)return"";null==e&&(e=0),0==e&&(this._itemsById={});var n=String.buffer("<ul>");return t.foreach(function(t){var i,s,o=t.children(),l=o.length>0;n("<li>"),i=["item-label"],s=t.id(),t.addClassNames(i),this.isSelected(s)&&i.push("selected"),l&&i.push("expanded"),n("<div id='",this._makeId(s),"' lite-tree-item='",s,"' class='",i.join(" "),"'><span class='expander'></span>"),t.formatHTML(n),n("</div>",this._buildHTML(o,e+1),"</li>"),this._itemsById[t.id()]=t},this),n("</ul>"),n.get()},e._makeId=function(t){return this.id+":"+t},e._findItemFromEvent=function(t){for(var e,n={},i=t.target;i&&1==i.nodeType;){if(e=i.getAttribute("lite-tree-item"),null!=e)return n.el=i,n.id=e,n.item=this._itemsById[e],n;"expander"==i.className&&(n.expander=i),i=i.parentNode}},e.scrollToRecord=function(t){n.scrollIntoView(this._getItemElement(t))},e._getItemElement=function(t){return document.getElementById(this._makeId(t))},e.__handleSelectClick=function(t,e,i){var s,o,l=this._selection,r=this._itemsById[t.id],a=[r,t,e];return i?(l&&!l.isSelected(t.id)&&this.canSelectItem(r)&&l.reset([t.id]),void this.applyHooks("onItemDblClick",a)):void(l&&!t.expander&&this.canSelectItem(t.item)?l&&this.canSelectItem(t.item)&&(l.multiple?e.ctrlKey?l.toggle(t.id):l.reset([t.id]):this._opt_toggleSelection&&l.isSelected(t.id)?l.toggle(t.id):l.reset([t.id]),this.applyHooks("onItemMouseDown",a)):(s=t.el.nextSibling,s&&(o=n.hasClass(s,"hidden"),n.condClass(s,!o,"hidden"),n.condClass(t.el,o,"expanded","collapsed")),this.applyHooks("onItemMouseDown",a)))},e.canSelectItem=function(t){return t.isSelectable()},i=(new Date).getTime(),s=null,e._onMouseDown=function(t){var e=this._findItemFromEvent(t),n=(new Date).getTime();n-i<Dynarch.dblClickTimeout&&e&&s&&e.id==s.id?this.__handleSelectClick(e,t,!0):e&&(i=n,this.__handleSelectClick(e,t,!1)),s=e},e._on_selChange=function(t,e){n.condClass(this._getItemElement(t),e,"selected")},e._on_selReset=function(t,e){Object.foreach(t,function(t,e){n.delClass(this._getItemElement(e),"selected")},this),Object.foreach(e,function(t,e){n.addClass(this._getItemElement(e),"selected")},this)},t.Item=DEFINE_HIDDEN_CLASS(null,DlEventProxy,function(t,e){
t.DEFAULT_ARGS={_name:["name",null],_id:["id",null],_children:["children",null]},t.CONSTRUCT=function(){null==this._children&&(this._children=[])},e.formatHTML=function(t){t(String(this._name).htmlEscape())},e.addClassNames=Function.noop,e.id=function(){return this._id},e.children=function(){return this._children},e.isSelectable=Function.returnTrue})}),DEFINE_CLASS("DlMacBarIcon",DlAbstractButton,function(t,e){function n(){this.__anim.destroy()}function i(){this.__anim.sw=this.__currentWidth,this.__anim.sh=this.__currentHeight}function s(){var t,e=this.__anim,n=this.getImgElement(),i=e.getPos(),s=e.getPos(function(t){return 1-Math.cos(2.5*t*Math.PI)/Math.exp(5*t)});n.width=this.__currentWidth=i.mapInt(e.sw,e.ew),n.height=this.__currentHeight=s.mapInt(e.sh,e.eh),e=this.__align,t=this.__minWidth-this.__currentWidth,e.center&&(t/=2),(e.left||e.center)&&(n.style.marginRight=t+"px"),(e.right||e.center)&&(n.style.marginLeft=t+"px"),t=this.__minHeight-this.__currentHeight,e.middle&&(t/=2),(e.top||e.middle)&&(n.style.marginBottom=t+"px"),(e.bottom||e.middle)&&(n.style.marginTop=t+"px")}t.BEFORE_BASE=function(){this.__currentWidth=this.__minWidth,this.__currentHeight=this.__minHeight,this.__align=this.__align.split(/\s+/).toHash()};var o={active:"DlMacBarIcon-active",hover:"DlMacBarIcon-hover",checked:"DlMacBarIcon-1",unchecked:"DlMacBarIcon-0",empty:"DlMacBarIcon-empty",disabled:"DlMacBarIcon-disabled"};t.DEFAULT_ARGS={_classes:["classes",o],__image:["img",null],__minWidth:["minWidth",32],__minHeight:["minHeight",32],__maxWidth:["maxWidth",64],__maxHeight:["maxHeight",64],__align:["align","bottom"],__tooltipTimeout:["tooltipTimeout",900]},e._createElement=function(){DlWidget.prototype._createElement.call(this),this.setContent(String.buffer("<img src='",this.__image,"' width='",this.__minWidth,"' height='",this.__minHeight," ' />").get())},e.getImgElement=function(){return this.getElement().firstChild},e.flash=function(t){this._onMouseEnter(),this._onMouseLeave.delayed(t||100,this)},e.initDOM=function(){t.BASE.initDOM.call(this),this.addEventListener({onDestroy:n}),this.__anim=new DlAnimation(25,40),this.__anim.addEventListener({onUpdate:s.$(this),onStart:i.$(this)})},e._onMouseEnter=function(){t.BASE._onMouseEnter.apply(this,arguments);var e=this.__anim;e.ew=this.__maxWidth,e.eh=this.__maxHeight,e.start(30,50,DlAnimation.easing.elastic_b)},e._onMouseLeave=function(){t.BASE._onMouseLeave.apply(this,arguments);var e=this.__anim;e.ew=this.__minWidth,e.eh=this.__minHeight,e.start(50,50,DlAnimation.easing.accel_b)}}),DEFINE_CLASS("DlNotebook",DlContainer,function(t,e){var n=["onChange"];e._createElement=function(){t.BASE._createElement.call(this),this.getElement().innerHTML="<div class='TabContent-inner'></div>"},e.appendWidget=function(e,n){var i,s;e.registerEvents(["onNotebookShow"]),t.BASE.appendWidget.call(this,e),i=e.getElement(),s=this.getContentElement(),null!=n?n=this.__widgetsPosition:this.__widgetsPosition=n,null==n&&(n=this.__widgetsPosition=DynarchDomUtils.getPadding(s).x/2),i.style.position="absolute",i.style.visibility="hidden",i.style.left=i.style.top=n+"px",s.appendChild(i),this._panes.push(e)},e.initDOM=function(){this._panes=[],this._currentPane=null,this.registerEvents(n),t.BASE.initDOM.call(this)},e.getPane=function(t){return this._panes[t]},e.getAllPanes=function(){return this._panes},e.getCurrentPane=function(){return this.getPane(this._currentPane)},e.getCurrentPaneIndex=function(){return this._currentPane},e.length=function(){return this._panes.length},e.showPane=function(t){var e,n=this._currentPane;return null!=n&&(this.getPane(n).visibility(!1),this.getPane(n).setPos({x:-3e4,y:-3e4})),this._currentPane=t,e=this.getPane(t),e._dl_notebook_has_size||(e.setSize(this.getInnerSize()),e._dl_notebook_has_size=!0),e.setStyle({left:"",top:""}),e.visibility(!0),t!==n&&this.applyHooks("onChange",[t,n]),e.callHooks("onNotebookShow"),this},e.firstPane=function(){this.showPane(0)},e.lastPane=function(){this.showPane(this.length()-1)},e.nextPane=function(){var t=this._currentPane;return null==t?t=0:++t,t<this._panes.length||(t=0),this.showPane(t)},e.prevPane=function(){var t=this._currentPane;return null==t?t=this._panes.length-1:--t,0>t&&(t=this._panes.length-1),this.showPane(t)},e.isFirstPane=function(){return 0==this._currentPane},e.isLastPane=function(){return this._currentPane==this._panes.length-1},e.getContentElement=function(){return this.getElement().firstChild},e.setSize=e.setOuterSize=function(e){var n,i;t.BASE.setOuterSize.call(this,e),n=this.getElement(),e=DynarchDomUtils.getInnerSize(n),DynarchDomUtils.setOuterSize(this.getContentElement(),e.x,e.y),n.style.width=n.style.height="",e=DynarchDomUtils.getInnerSize(this.getContentElement()),null==this._currentPane&&this.showPane(0),i=this.getCurrentPane(),this._panes.foreach(function(t){t._dl_notebook_has_size=!1}),i.setSize(e),i._dl_notebook_has_size=!0},e.setIdealSize=function(){var t={x:0,y:0};this._panes.r_foreach(function(e){var n=e.getOuterSize();n.x>t.x&&(t.x=n.x),n.y>t.y&&(t.y=n.y)}),this.setInnerSize(t)}}),DEFINE_CLASS("DlProgressBar",DlWidget,function(t,e){var n=DynarchDomUtils.createElement;t.DEFAULT_ARGS={__progress_minVal:["min",0],__progress_maxVal:["max",100],__progress_val:["val",0],__label:["label",null]},e._createElement=function(){t.BASE._createElement.call(this);var e=this.getElement();n("div",null,{className:"DlProgressBar-fill"},e),n("div",null,{className:"DlProgressBar-label",innerHTML:"&nbsp;"},e),this.setLabel(this.__label),this.setValue(this.__progress_val)},e._getLabelElement=function(){return this.getElement().lastChild},e._getFillElement=function(){return this.getElement().firstChild},e.getValue=function(){return this.__progress_val},e.getMaxVal=function(){return this.__progress_maxVal},e.getMinVal=function(){return this.__progress_minVal},e.setValue=function(t){var e,n,i;this.__progress_val=t,t>this.__progress_maxVal&&(t=this.__progress_maxVal),e=this.__progress_maxVal-this.__progress_minVal,n=t-this.__progress_minVal,i=100*n/e,isNaN(i)||0>i||(this._getFillElement().style.width=i+"%",this._updateLabel(i))},e.setLabel=function(t){this.__label=t,this._updateLabel()},e._updateLabel=function(t){var e=this.__label;null==t&&(t=0),null!=e&&(e="function"==typeof e?e(this,t,this.__progress_val):e.replace(/%d/g,Math.round(t)).replace(/%f/g,t.toFixed(2)).replace(/%v/g,this.__progress_val),/\S/.test(e)||(e="&nbsp;"),this._getLabelElement().innerHTML=e)},e.reset=function(t,e,n,i){null==n&&(n=t),this.__progress_minVal=t,this.__progress_maxVal=e,arguments.length>3&&(this.__label=i),this.setValue(n)}}),DEFINE_CLASS("DlRadioButton",DlCheckbox,function(t,e){t.FIXARGS=function(t){t.alwaysCheck=!0},t.DEFAULT_ARGS={_groupId:["group",0],_classes:["classes",{active:"DlRadioButton-active",hover:"DlRadioButton-hover",checked:"DlRadioButton-1",unchecked:"DlRadioButton-0",empty:"DlRadioButton-empty",disabled:"DlRadioButton-disabled"}]},e.FINISH_OBJECT_DEF=function(){t.BASE.FINISH_OBJECT_DEF.call(this),this._className.remove("DlCheckbox")}}),DEFINE_CLASS("DlRadioSelect",DlButtonMenu,function(t,e){function n(t){this.value(t.userData),DlPopup.clearAllPopups(),t._onMouseLeave()}t.DEFAULT_ARGS={_options:["options",[]],_value:["value",null],_connected:["connected",!0]},t.DEFAULT_EVENTS=["onChange"],t.CONSTRUCT=function(){this._radioGroup=DlRadioGroup.get(),this._options.length&&this.setOptions(this._options),this.value(this._value,!0),this.addEventListener("onDestroy",function(){this._radioGroup.reset()})},e.value=function(t,e,n){var i=this._value;return(e||"undefined"!=typeof t&&t!==i)&&(this._value=t,this._updateLabel(),n||this.applyHooks("onChange",[i,t])),i},e.getValue=function(){return this.value()},e.setValue=e.value,e._updateLabel=function(){var t,e,n=this._options;for(t=n.length;--t>=0;)e=n[t],null!=e&&(this._value==e.value?(this.getButton().label(e.label),e.widget.checked(!0,!0)):e.widget.checked(!1,!0))},e.setOptions=function(t){var e,i,s,o,l=this._radioGroup;l.reset(),l.addEventListener("onChange",n.$(this)),e=new DlVMenu({className:"DlSelect-menu"}),i={parent:e,group:l,noCapture:!0},t.foreach(function(t){if(null==t)e.addSeparator();else{i.label=t.label,i.data=i.value=t.value,i.className=t.className;t.widget=new DlRadioButton(i)}},this),s=e.getElement(),s.style.position="absolute",e.zIndex(-100),document.body.appendChild(s),o=e.getOuterSize().x,document.body.removeChild(s),e.zIndex(""),s.style.position="",function(){this.getButton().setOuterSize({x:o-this.getArrow().getOuterSize().x})}.$(this).delayed(10),this.setMenu(e),this._options=t},e.addOption=function(t,e){null==e&&(e=this._options.length);var n=t.widget=new DlRadioButton({parent:this._menu,group:this._radioGroup,noCapture:!0,label:t.label,data:t.value,value:t.value,className:t.className});return this._options.splice(e,0,t),n}}),DlRegexp={EMAIL:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,MIME_WEB_IMAGE:/^image\x2f.*(png|jpe?g|gif|tiff?)/i,UNICODE_LETTER:"\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC"},DEFINE_SINGLETON("DlSystem",DlEventProxy,function(t,e){t.DEFAULT_EVENTS=["on-dialog-create","on-dialog-show","on-dialog-hide","on-dialog-minimize","on-dialog-restore","on-rpc-start","on-rpc-stop","on-rpc-timeout"]}),DEFINE_CLASS("DlRPC",DlEventProxy,function(t,e){function n(t){if(4==t.readyState){delete t.onreadystatechange,this._request=null,this._timeoutID&&(clearTimeout(this._timeoutID),this._timeoutID=null);var e;try{e={success:200==t.status,status:t.status,statusText:t.statusText,timeout:!1,xml:t.responseXML,text:t.responseText}}catch(n){}DlSystem().applyHooks("on-rpc-stop",[this,e,t]),this.applyHooks("onStop",[this,e,t]),this.callback&&this.callback(e)}}function i(t){this._request=null,t.abort(),DlSystem().applyHooks("on-rpc-timeout",[this,t]),this.applyHooks("onTimeout",[this,t]),this.callback&&this.callback({success:!1,timeout:!0})}t.CONSTRUCT=function(){null==this.method&&(this.method=null!=this.data?"POST":"GET"),this._timeoutID=0},t.DEFAULT_EVENTS="onStart onStop onTimeout onUploadProgress onUploadDone onUploadError onUploadAbort".qw(),t.DEFAULT_ARGS={url:["url",null],args:["args",null],callback:["callback",null],method:["method",null],data:["data",null],timeout:["timeout",null]},e.abort=function(){this._request.abort()},e.call=function(t){var e,i,s,o,l,r;if(null!=t&&Object.merge(this,t),i=!1,window.XMLHttpRequest)e=new XMLHttpRequest;else{if(!window.ActiveXObject)throw"Browser does not support XMLHttpRequest";e=new ActiveXObject("Microsoft.XMLHTTP")}if(this._request=e,e.onreadystatechange=n.$(this,e),e.upload&&(e.upload.addEventListener("progress",this.$("callHooks","onUploadProgress"),!1),e.upload.addEventListener("load",this.$("callHooks","onUploadDone"),!1),e.upload.addEventListener("error",this.$("callHooks","onUploadError"),!1),e.upload.addEventListener("abort",this.$("callHooks","onUploadAbort"),!1)),o=this.args){i=[];for(s in o)i.push(escape(s)+"="+escape(o[s]));i=0==i.length?!1:i.join("&")}switch(l=this.url,this.method){case"POST":r=this.data,i&&r&&(l+="?"+i),e.open("POST",l,!0),r?("string"!=typeof r&&(r=DlJSON.encode(r),this.data=r,e.setRequestHeader("Content-Type","text/javascript; charset=UTF-8")),this._start(r)):(e.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),this._start(i));break;case"GET":i&&(l+="?"+i),e.open("GET",l,!0),this._start(null)}},e._start=function(t){this.timeout?this._timeoutID=i.delayed(this.timeout,this,this._request):this._timeoutID=0,DlSystem().applyHooks("on-rpc-start",[this]),this.applyHooks("onStart",[this]),this._request.send(t)}}),DEFINE_CLASS("DlRteFrame",DlWidget,function(t,e,n){function i(t){var e,i,s;t||(t=this.getIframeWin().event),e=new DlEvent(t),"oncontextmenu"==e.type&&n.stopEvent(t),e.origTarget=e.target,i=e.origPos=e.pos,s=n.getPos(this.getIframeElement()),e.pos={x:i.x+s.x,y:i.y+s.y},e.target=this.getElement();try{DlEvent._genericEventHandler(e,t)}catch(o){o instanceof DlExStopFrameEvent&&n.stopEvent(t)}/onMouseDown|onMouseUp|onKey/.test(e.dl_type)&&this.callUpdateHooks(e,t)}function s(t){var e=this.getIframeDoc();this.__hasFrameEvents=!0,n.addEvents(e,f,this.__eventProxy),this.__rte_onFocus=l.$(this),this.__rte_onBlur=r.$(this),is_ie?(e=this.getIframeElement(),e.onfocus=this.__rte_onFocus):n.addEvent(e,"focus",this.__rte_onFocus),e.onblur=this.__rte_onBlur,t&&t.call(this),this.__pendingHTML&&(this.getIframeBody().innerHTML=this.__pendingHTML,this._onSetHTML(),this.moveBOF(),this.__pendingHTML=null)}function o(){var t=this.getIframeDoc();n.removeEvents(t,f,this.__eventProxy),is_ie?(t=this.getIframeElement(),delete t.onfocus,t.onfocus=null):n.removeEvent(t,"focus",this.__rte_onFocus),delete t.onblur,t.onblur=null}function l(){h(this.getIframeDoc().documentElement,"DlRteFrame-Focused"),t.BASE.focus.call(this)}function r(){c(this.getIframeDoc().documentElement,"DlRteFrame-Focused"),t.BASE.blur.call(this,!0)}var a,u=n.createElement,h=n.addClass,c=n.delClass,d=n.condClass,_=n.ID,f=["mouseover","mouseout","mousemove","mousedown","mouseup","click","keydown","keyup","keypress","contextmenu"],p=is_gecko?"<br type='_moz' />":"",g='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html class="DlRteFrame-HTML"><head><title>DynarchLIB Rich Text Editor</title></head><body class="DlRteFrame-Body"><p>'+p+"</p></body></html>";t.BEFORE_BASE=function(){this.__eventProxy=i.$(this),this.callUpdateHooks=this.callUpdateHooks.clearingTimeout(40,this)},t.CONSTRUCT=function(){this.__sections&&this.setSections(this.__sections)},t.DEFAULT_EVENTS=["onUpdate","onSectionChange"],t.DEFAULT_ARGS={__paragraphsMode:["useParagraphs",!0],__sections:["sections",null],_focusable:["focusable",2],_tabChar:["tabChar","    "]},e.COMMANDS={backcolor:{id:is_ie?"backcolor":"hilitecolor"},forecolor:{id:"forecolor"},bold:{id:"bold",key:"CTRL 'B'"},italic:{id:"italic",key:"CTRL 'I'"},underline:{id:"underline",key:"CTRL 'U'"},strike:{id:"strikethrough",key:"CTRL '-'"},subscript:{id:"subscript"},superscript:{id:"superscript"},removeformat:{id:"removeformat",key:"ALT-CTRL '0'"},justifyleft:{id:"justifyleft",key:"ALT-CTRL 'l'"},justifyright:{id:"justifyright",key:"ALT-CTRL 'r'"},justifycenter:{id:"justifycenter",key:"ALT-CTRL 'e'"},justifyfull:{id:"justifyfull",key:"ALT-CTRL 'j'"},orderedlist:{id:"insertorderedlist",key:"ALT-CTRL 'o'"},unorderedlist:{id:"insertunorderedlist",key:"ALT-CTRL-SHIFT 'o'"},unorderedlist1:{id:"insertunorderedlist",key:"ALT-CTRL 'u'"},indent:{id:"indent",key:"CTRL '.'"},outdent:{id:"outdent",key:"CTRL ','"},undo:{id:"undo"},redo:{id:"redo"},"<hr>":{id:"inserthorizontalrule",key:"CTRL ' '"},"<h1>":{id:"formatblock",key:"CTRL '1'",arg:"h1"},"<h2>":{id:"formatblock",key:"CTRL '2'",arg:"h2"},"<h3>":{id:"formatblock",key:"CTRL '3'",arg:"h3"},"<h4>":{id:"formatblock",key:"CTRL '4'",arg:"h4"},"<h5>":{id:"formatblock",key:"CTRL '5'",arg:"h5"},"<h6>":{id:"formatblock",key:"CTRL '6'",arg:"h6"},"<p>":{id:"formatblock",key:"CTRL 'm'",arg:"p"},"<pre>":{id:"formatblock",key:"CTRL-ALT 'n'",arg:"pre"},"<address>":{id:"formatblock",arg:"pre"},"<blockquote>":{id:"formatblock",key:"CTRL 'q'",arg:"blockquote"},_nextSection:{id:"_nextSection",key:"CTRL ']'"},_prevSection:{id:"_prevSection",key:"CTRL '['"},showHtml:{id:"showHtml",key:"CTRL-ALT-SHIFT 'h'"}},a="h1 h2 h3 h4 h5 h6 p pre address blockquote".hashWords(),e.SEMANTIC_TAGS={bold:!0,italic:!0,strike:!0,subscript:!0,superscript:!0,indent:!0,underline:!0,outdent:!0,strikethrough:!0,strike:!0},e.callUpdateHooks=function(t,e){this.destroyed||this.applyHooks("onUpdate",[t,e])},e.execCommand=function(t,e){var n,i,s,o,l,r,a,u,h,c,d;if(!this.readonly()){if(this.focus(),i=this.getIframeDoc(),is_gecko&&i.execCommand("styleWithCSS",!1,!(t in this.SEMANTIC_TAGS)),this.COMMANDS[t]&&(t=this.COMMANDS[t],"undefined"==typeof e&&(e=t.arg||""),t=t.id),"formatblock"==t&&is_ie){if(s=this.getAncestorsHash(),s.pre){if("pre"==e)return;return o=this.getSelection(),l=this.getRange(o),r=this.createRange(),r.moveToElementText(s.pre),l.setEndPoint("EndToEnd",r),l.select(),u=String.buffer("<",e,">dummy</",e,">").get(),0==l.compareEndPoints("StartToStart",r)?(s.pre.insertAdjacentHTML("beforeBegin",u),a=s.pre.previousSibling):(h=l.htmlText,c=l.text,l.moveStart("character",-1),l.text.charAt(0)!=c.charAt(0)&&l.moveStart("character",1),s.pre.insertAdjacentHTML("afterEnd","<br />"),l.pasteHTML(""),s.pre.parentNode.removeChild(s.pre.nextSibling),s.pre.insertAdjacentHTML("afterEnd",u),a=s.pre.nextSibling,/\S/.test(c)&&(d=s.pre.cloneNode(!0),d.innerHTML=h,a.parentNode.insertBefore(d,a.nextSibling))),l.moveToElementText(a),l.collapse(),l.select(),void(a.innerHTML="")}e="<"+e+">"}switch(t){case"showHtml":try{alert(this.getHTML())}catch(_){alert("ERROR: "+_)}break;case"_nextSection":this.nextSection();break;case"_prevSection":this.prevSection();break;default:n=i.execCommand(t,!1,e)}return this.focus(),this.callUpdateHooks(),n}},e.queryCommandState=function(t){if(!this.readonly()){this.COMMANDS[t]&&(t=this.COMMANDS[t].id);try{return this.getIframeDoc().queryCommandState(t)}catch(e){}}},e.queryCommandValue=function(t){var e,n,i;if(!this.readonly()){if(this.COMMANDS[t]&&(t=this.COMMANDS[t].id),!is_gecko&&/^formatblock$/i.test(t))for(e=this.getAllAncestors(),n=0;n<e.length;++n)if(i=e[n].tagName.toLowerCase(),i in a)return i;try{return this.getIframeDoc().queryCommandValue(t)}catch(s){}}},e.getInnerHTML=function(){return this.getIframeBody().innerHTML},e.getHTML=function(t,e){var n,i;return is_ie||e||(this.collapse(!0),n=this.getIframeDoc().createElement("span"),n.id="DYNARCHLIB_RTEFRAME_CARET",this.insertNode(n)),i=DlHtmlUtils.getHTML(this.getIframeBody(),!1,t),is_ie||e||this.deleteNode(n),i},e.getInnerText=function(){return DlHtmlUtils.getInnerText(this.getIframeBody())},e.getText=function(){return DlHtmlUtils.getText(this.getIframeBody())},e.setSections=function(t){this.__sections=t;var e=this.__sectionsHash={};t.foreach(function(t,n){t.index=n,e[t.name]=t,(t.current||0==n)&&(this.__currentSection=n,this.setHTML(t.content))}.$(this))},e.setSectionContent=function(t,e){var n=this.getSection(t,!0);n.content=e,n.index==this.__currentSection&&this.setHTML(e)},e.getSections=function(){var t=this.getHTML(!0);return Object.merge(this.getCurrentSection(),t),this.__sectionsHash},e.getSection=function(t,e){var n,i=this.__sectionsHash[t];return i.index!=this.__currentSection||e||(n=this.getHTML(!0),Object.merge(i,n)),i},e.getCurrentSection=function(){return this.__sections[this.__currentSection]},e._setCurrentSection=function(t){var e,n=this.getCurrentSection();n!==t&&(e=this.getHTML(!0),Object.merge(n,e),this.__currentSection=t.index,this.setHTML(t.content),this.applyHooks("onSectionChange",[n,t]))},e.setCurrentSection=function(t){var e=this.__sectionsHash[t];this._setCurrentSection(e)},e.setCurrentSectionIndex=function(t){if(t!=this.__currentSection){var e=this.__sections[t];this._setCurrentSection(e)}},e.prevSection=function(){this.setCurrentSectionIndex(this.__sections.rotateIndex(this.__currentSection-1))},e.nextSection=function(){this.setCurrentSectionIndex(this.__sections.rotateIndex(this.__currentSection+1))},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener(is_ie?"onKeyDown":"onKeyPress",function(t){this._onKeypress(t)}),this.addEventListener({onDestroy:o})},e._createElement=function(){t.BASE._createElement.call(this);u("iframe",{display:"block"},{frameBorder:0,marginHeight:0,marginWidth:0,src:is_ie?"javascript:'';":"about:blank"},this.getElement());this.__hasFrameEvents=!1,this.updateKeymap()},e.updateKeymap=function(){var t,e,n=this.__rte_keymap=[];for(t in this.COMMANDS)e=this.COMMANDS[t],e.key&&n.push([DlKeyboard.parseKey(e.key),t])},e.setOuterSize=e.setSize=function(t){var e=n.getBorder(this.getElement()),i=n.getBorder(this.getContentElement());this.setInnerSize({x:t.x-e.x-i.x,y:t.y-e.y-i.y})},e.getIframeElement=function(){return this.getElement().firstChild},e.getContentElement=e.getIframeElement,e.getIframeWin=function(){return this.getIframeElement().contentWindow},e.getIframeDoc=function(){return this.getIframeWin().document},e.getIframeBody=function(){return this.getIframeDoc().body},e.initDesignMode=function(t){var e=this.getIframeDoc();e.open(),e.write(g),e.close(),e.designMode="on",this.__hasFrameEvents||s.delayed(5,this,t)},e.readonly=function(t){var e=this.getIframeDoc();return arguments.length>0&&(e.designMode=t?"off":"on",d(e.documentElement,t,"DlRteFrame-ReadOnly")),"off"==e.designMode},e.setHTML=function(t){if(t instanceof Array&&(t=t.join("")),t=t.trim(),this.__hasFrameEvents){is_ie&&(t=t.replace(/(<pre[^>]*>)((.|\n)+?)(<\x2fpre>)/gi,function(t,e,n,i,s){return n=n.replace(/\x20/g," ").replace(/\t/g," ".repeat(4)),e+n+s})),this.getIframeBody().innerHTML=t,this._onSetHTML();try{this.moveBOF()}catch(e){}this.callUpdateHooks()}else this.__pendingHTML=t},e._onSetHTML=function(){var t,e,n,i=this.getIframeDoc().getElementsByTagName("pre");for(t=i.length;--t>=0;)e=i[t],e.innerHTML=e.innerHTML.replace(/\n/g,"<br>");is_ie||(n=this.getIframeDoc().getElementById("DYNARCHLIB_RTEFRAME_CARET"),n&&function(t){try{this.selectNodeContents(t),this.collapse(!0),this.deleteNode(t)}catch(e){}}.delayed(10,this,n))},e.clear=function(){this.setHTML("")},e.focus=function(){this.getIframeWin().focus(),t.BASE.focus.call(this)},e.loadStyle=function(t){var e,n,i=this.getIframeDoc(),s=t.replace(/\x2f/g,"_");i.getElementById(s)||(e=i.getElementsByTagName("head")[0],n=i.createElement("link"),n.type="text/css",n.rel="stylesheet",n.href=t,n.id=s,e.appendChild(n),n.disabled=!0,n.disabled=!1)},e.createRange=function(){return is_ie?this.getIframeBody().createTextRange():this.getIframeDoc().createRange()},e.getSelection=function(){return is_ie?this.getIframeDoc().selection:this.getIframeWin().getSelection()},e.getRange=function(t){return null==t&&(t=this.getSelection()),is_ie?t.createRange():t.getRangeAt(0)},e.getParentElement=function(){var t,e=this.getSelection(),n=this.getRange(e);if(is_ie)switch(e.type){case"Text":case"None":return n.parentElement();case"Control":return n.item(0);default:return null}else try{for(t=n.commonAncestorContainer,n.collapsed||n.startContainer!=n.endContainer||n.startOffset-n.endOffset>1||!n.startContainer.hasChildNodes()||(t=n.startContainer.childNodes[n.startOffset]);3==t.nodeType;)t=t.parentNode;return t}catch(i){return null}},e.getAllAncestors=function(){var t,e,n=this.getParentElement();for(n&&1==n.nodeType&&(n=this.getParentElement()),t=this.getIframeBody(),e=[];n&&n!==t&&1==n.nodeType;)e.push(n),n=n.parentNode;return e.push(t),e},e.getAncestorsHash=function(){var t,e=this.getAllAncestors(),n={__all:e};return e.foreach(function(e){t=e.tagName.toLowerCase(),n[t]||(n[t]=e)}),n},e.getSelectedText=function(){var t=this.getRange();return is_ie?t.text:t.toString()},e.selectRange=function(t){if(is_ie)t.select();else{var e=this.getSelection();e.removeAllRanges(),e.addRange(t)}},e.isCollapsed=function(){var t=this.getRange();return is_w3?t.collapsed:0==t.compareEndPoints("StartToEnd",t)},e.collapse=function(t){var e=this.getSelection(),n=this.getRange(e);is_w3&&e.removeAllRanges(),n.collapse(!!t),this.selectRange(n)},e.insertNode=function(t,e){var n,i,s=this.getSelection(),o=this.getRange(s);return is_w3?(o.deleteContents(),o.insertNode(t),e&&(s.removeAllRanges(),o.selectNode(t),s.addRange(o))):(n=_("rteframe"),o.pasteHTML(["<span id='",n,"'></span>"].join("")),i=this.getIframeDoc().getElementById(n),i.parentNode.insertBefore(t,i),i.parentNode.removeChild(i),e&&3!=t.nodeType&&(o.moveToElementText(t),o.select())),t},e.insertText=function(t,e){var n=this.getIframeDoc().createTextNode(t);return this.insertNode(n,e)},e.selectNodeContents=function(t){var e=this.createRange();is_w3?e.selectNodeContents(t):e.moveToElementText(t),this.selectRange(e)},e.selectNode=function(t){if(is_w3){var e=this.createRange();e.selectNode(t),this.selectRange(e)}else this.selectNodeContents(t)},e.createLink=function(t,e){var n,i,s,o;for(e&&this.insertText(e,!0),n="javascript:"+_("link"),this.execCommand("createlink",n),i=this.getIframeDoc().getElementsByTagName("a"),o=i.length;--o>=0;)if(i[o].href==n){s=i[o];break}return s.href=t,s},e.createAnchor=function(t){var e=this.getSelectedText()?null:"Anchor",n=this.createLink("#",e);return n.removeAttribute("href"),h(n,e?"DlAnchor-Empty":"DlAnchor"),n.setAttribute("name",t),e&&(n.innerHTML=""),n},e.getAnchors=function(){for(var t,e=this.getIframeDoc().getElementsByTagName("a"),n=e.length,i=[];--n>=0;)t=e[n],t.name&&i.unshift(t);return i},e.unlink=function(){this.execCommand("unlink")},e.getSelectedImage=function(){var t=this.getParentElement();return t&&!/^img$/i.test(t.tagName)&&(t=null),t},e.insertImage=function(t){var e,n,i,s=this.getSelectedImage();if(!s)for(e="javascript:"+_("img"),this.execCommand("insertimage",e),n=this.getIframeDoc().getElementsByTagName("img"),i=n.length;--i>=0;)if(n[i].src==e){s=n[i];break}return s.src=t.url,t.width&&(s.width=t.width),t.height&&(s.height=t.height),t.align&&(s.align=t.align),t.alt&&(s.alt=t.alt),t.marginLeft&&(s.style.marginLeft=t.marginLeft),t.marginTop&&(s.style.marginTop=t.marginTop),t.marginRight&&(s.style.marginRight=t.marginRight),t.marginBottom&&(s.style.marginBottom=t.marginBottom),s},e.moveBOF=function(t){var e,n,i=this.getIframeBody(),s=t?i.lastChild:i.firstChild;s&&(is_w3?(n=this.getRange(e=this.getSelection()),e.removeAllRanges(),1==s.nodeType?n.selectNodeContents(s):n.selectNode(s),n.collapse(!t),e.addRange(n)):(n=i.createTextRange(),n.collapse(!t),n.select()))},e.moveEOF=function(t){return this.moveBOF(!t)},e.setParagraphsMode=function(t){this.__paragraphsMode=t},e.addBlockClass=function(t,e,i){var s=this.getAncestorsHash()[t];if(s){if(n.hasClass(s,e)){if(i)return n.delClass(s,e),!1}else n.addClass(s,e);return!0}return null},e.canDeleteFullNode=function(t){return DlHtmlUtils.canDeleteFullNode(t.tagName)},e.canDeleteContent=function(t){return DlHtmlUtils.canDeleteContent(t.tagName)},e.canStripNode=function(t){return DlHtmlUtils.canStripNode(t.tagName)},e.deleteNodeContents=function(t){t.innerHTML=DlHtmlUtils.isBlockElement(t)?p:""},e.deleteNode=function(t){t.parentNode.removeChild(t)},e.stripNode=function(t){for(var e=t.ownerDocument.createDocumentFragment();t.firstChild;)e.appendChild(t.firstChild);t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t),this.callUpdateHooks()},e._onKeypress=function(t){var e,n,i,s=t.keyCode;if(this.__rte_keymap.r_foreach(function(e){if(DlKeyboard.checkKey(t,e[0]))throw this.execCommand(e[1]),new DlExStopFrameEvent},this),s==DlKeyboard.TAB){if(e=this.queryCommandValue("formatblock"),"pre"==e)throw this.insertText(this._tabChar,!0),this.collapse(!1),new DlExStopFrameEvent}else if(s==DlKeyboard.ENTER&&is_ie&&!t.shiftKey&&(e=this.queryCommandValue("formatblock"),"pre"==e))throw n=this.getSelection(),i=this.getRange(n),i.pasteHTML("<br/><div class='DynarchLIB-REMOVE-ME'></div>"),new DlExStopFrameEvent}}),DEFINE_CLASS("DlSocket",DlEventProxy,function(t,e){function n(){return DlFlashUtils().getObject()}function i(){n().DlSocket_destroy(this.id),delete s[this.id]}t.DEFAULT_EVENTS=["onConnect","onRelease","onData"],t.DEFAULT_ARGS={_host:["host",null],_port:["port",null],_json:["json",!1]},t.FIXARGS=function(t){t.host||(t.host=document.domain)},t.CONSTRUCT=function(t){this.addEventListener("onDestroy",i),DlEvent.atUnload(this.destroy.$(this))};var s={};e.send=function(t){n().DlSocket_send(this.id,t)},e.sendJSON=function(t){n().DlSocket_send(this.id,DlJSON.encode(t))},e.connect=function(){this.id=n().DlSocket_connect(this._host,this._port),s[this.id]=this},e.reconnect=function(){n().DlSocket_reconnect(this.id)},e.disconnect=function(){
n().DlSocket_disconnect(this.id)},window.DlSocket_onConnect=function(t,e){s[t].applyHooks("onConnect",[e])},window.DlSocket_onData=function(t,e){e=DlFlashUtils.decodeString(e);var n=s[t];n._json&&(e=DlJSON.decode(e)),n.applyHooks("onData",[e])},window.DlSocket_onDisconnect=function(t,e){s[t].applyHooks("onRelease",[e])}}),DEFINE_CLASS("DlSound",DlEventProxy,function(t,e){function n(){return DlFlashUtils().getObject()}function i(){delete o[this.id]}function s(t){this.__fileLoaded=t,t&&this.__shouldPlay&&(this.play.apply(this,this.__shouldPlay),this.__shouldPlay=null)}var o={};t.DEFAULT_EVENTS=["onLoad","onComplete"],t.DEFAULT_ARGS={_volume:["volume",null],_pan:["pan",null],_url:["url",null],_stream:["stream",!1]},t.CONSTRUCT=function(t){this.addEventListener({onDestroy:i,onLoad:s}),this.id=n().DlSound_create(),null!=this._volume&&this.setVolume(this._volume),null!=this._pan&&this.setPan(this._pan),o[this.id]=this},e.load=function(t,e){null==t&&(t=this._url),null==e&&(e=this._stream),this.__fileLoaded=!1,this.__loadCalled=!0,n().DlSound_load(this.id,this._url=t,this._stream=e)},e.play=function(t,e){this.__fileLoaded?n().DlSound_play(this.id,t,e):this.__loadCalled||(this.__shouldPlay=[t,e],this.load())},e.stop=function(){n().DlSound_stop(this.id)},e.getBytesLoaded=function(){return n().DlSound_getBytesLoaded(this.id)},e.getBytesTotal=function(){return n().DlSound_getBytesTotal(this.id)},e.getDuration=function(){return n().DlSound_getDuration(this.id)},e.getPosition=function(){return n().DlSound_getPosition(this.id)},e.setPan=function(t){n().DlSound_setPan(this.id,this._pan=t)},e.setVolume=function(t){n().DlSound_setVolume(this.id,this._volume=t)},e.getPan=function(){return this._pan},e.getVolume=function(){return this._volume},e.getURL=function(){return this._url},window.DlSound_onLoad=function(t,e){o[t].applyHooks("onLoad",[e])},window.DlSound_onSoundComplete=function(t){o[t].callHooks("onComplete")}}),DEFINE_CLASS("DlSpinner",DlEntry,function(t,e,n){function i(){this.select()}function s(){this._clearTimer()}function o(t){throw this._spinnerUpdateVal(t.wheelDelta>0),new DlExStopEventBubbling}function l(t){switch(t.keyCode){case DlKeyboard.ARROW_DOWN:throw u.call(this,{_direction:!1}),new DlExStopEventBubbling;case DlKeyboard.ARROW_UP:throw u.call(this,{_direction:!0}),new DlExStopEventBubbling}}function r(t){this._clearTimer()}function a(){var t=this.getValue(),e=t==this._maxVal,n=t==this._minVal;this._buttonUp.disabled(e||!!this.readonly()),this._buttonDown.disabled(n||!!this.readonly()),(e||n)&&this._clearTimer()}function u(t){throw this._spinnerUpdateVal(t._direction),(this._timerState=Array.$(this.intervals)).r_foreach(function(t){t.step*=this.step},this),this._timerPos=0,this._startTimer(t._direction,250),new DlExStopEventBubbling}function h(t){this._clearTimer()}var c=n.createElement;t.FIXARGS=function(t){t.validators=[new DlValidator(DlValidator.Number,t.minVal,t.maxVal,t.integer,t.decimals)],t.type="text"},t.CONSTRUCT=function(){this._timer=null,this._timerStep=null,this._timerState=null,this._timerPos=null},t.DEFAULT_EVENTS=["onSpin"],t.DEFAULT_ARGS={_step:["step",1],_size:["size",4],_value:["value",0],_minVal:["minVal",null],_maxVal:["maxVal",null],_decimals:["decimals",null],_integer:["integer",!1]},e.intervals=[{pos:1,step:1,speed:125},{pos:10,step:1,speed:70},{pos:20,step:1,speed:35},{pos:50,step:1,speed:20},{pos:100,step:1,speed:10},{pos:200,step:2,speed:10}],e._createElement=function(){var e,n,i,s,o;this._no_gecko_bug=!0,t.BASE._createElement.call(this),e=this.getElement(),n=e.rows[0].cells[0],n.rowSpan=2,n=n.parentNode,i=c("tr",null,null,n.parentNode),s=c("td",null,{className:"DlSpinner-Button DlSpinner-Button-Up"},n),o=c("td",null,{className:"DlSpinner-Button DlSpinner-Button-Down"},i),this._buttonUp=new DlButton({parent:this,appendArgs:s}),this._buttonDown=new DlButton({parent:this,appendArgs:o}),this._btn=this._buttonUp},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onFocus:i,onBlur:s,onMouseWheel:o,onKeyDown:l,onKeyUp:r,onChange:a})},e.initDOM=function(){t.BASE.initDOM.call(this),this._setupSpinnerBtn(this._buttonUp,!0),this._setupSpinnerBtn(this._buttonDown,!1)},e.readonly=function(e){return null!=e&&(this._buttonUp.disabled(e),this._buttonDown.disabled(e)),t.BASE.readonly.apply(this,arguments)},e.getFormValue=function(){var t=this.getValue(),e=parseFloat(t);return isNaN(e)?t:e},e._spinnerUpdateVal=function(t){var e,n,i,s;this._readonly||(e=new Number(this.getValue()),n=this._timerStep||this._step,e=t?e+n:e-n,null!=this._minVal&&e<this._minVal&&(e=this._minVal),null!=this._maxVal&&e>this._maxVal&&(e=this._maxVal),this.setValue(e),this.applyHooks("onSpin",[e]),this.focus(),this.select(),this._timer&&(i=++this._timerPos,this._timerState.length&&i==this._timerState[0].pos&&(s=this._timerState.shift(),this._clearTimer(!0),this._timerStep=s.step,this._startTimer(t,s.speed))))},e._clearTimer=function(t){this._timer&&clearInterval(this._timer),t||(this._timerState=null,this._timerStep=null,this._timerPos=null),this._timer=null},e._startTimer=function(t,e){this._timer&&clearInterval(this._timer),this._timer=setInterval(this._spinnerUpdateVal.$(this,t),e)},e._setupSpinnerBtn=function(t,e){t._direction=e;var n=h.$(this,t);t.addEventListener({onMouseDown:u.$(this,t),onMouseUp:n})},e.setMinVal=function(t,e){this._minVal=t;var n=this.getFormValue();null!=n&&!isNaN(n)&&t>n&&this.setValue(t,e)},e.setMaxVal=function(t,e){this._maxVal=t;var n=this.getFormValue();null!=n&&!isNaN(n)&&n>t&&this.setValue(t,e)}}),DEFINE_CLASS("DlStyleSheet",DlEventProxy,function(t,e,n){function i(){n.trash(this._el),this._s=null,this._el=null}t.CONSTRUCT=function(){this._init()},e.insertRule=function(t,e,i){var s,o,l,r,a=this._s;if(null==i&&(i=this.getRules().length),"object"==typeof e){s=[];for(o in e)s.push(o+":"+e[o]);e=s.join(";")}else e instanceof Array&&(e=e.join(";"));if(is_ie){if(t=t.split(/\s*,\s*/),1!=t.length){for(l=n.ID(),r=this._ier[l]=[],o=0;o<t.length;++o)a.addRule(t[o],e,i+o),r.push(this.getRules()[i+o]);return l}a.addRule(t,e,i)}else a.insertRule(t+"{"+e+"}",i);return this.getRules()[i]},e.deleteRule=function(t){var e,n;if(is_ie&&"string"==typeof t)this._ier[t].foreach(this.deleteRule.$(this)),delete this._ier[t];else for(e=this.getRules(),n=e.length;--n>=0;)if(e[n]===t)return is_ie?this._s.removeRule(n):this._s.deleteRule(n),n},e.modifyRule=function(t,e){if(is_ie&&"string"==typeof t)this._ier[t].foreach(function(t){this.modifyRule(t,e)},this);else for(var n in e)t.style[n]=e[n]},e.refresh=function(){var t=this.disabled();this.disabled(!t),this.disabled(t)},e.getRules=function(){return is_ie?this._s.rules:this._s.cssRules},e.disabled=function(t){var e=is_ie?this._s:this._el;return null!=t&&(e.disabled=t),!!e.disabled},e._init=function(){is_ie&&(this._ier={}),this._el=n.createElement("style",null,{type:"text/css"},document.getElementsByTagName("head")[0]),this._s=document.styleSheets[document.styleSheets.length-1],this.addEventListener("onDestroy",i)}}),DEFINE_CLASS("DlTabs",DlContainer,function(t,e,n){function i(t,e,n){var i=null!=e?this._panes[e]:null;i&&i._tab.checked(!0),t.applyHooks("onChange",[e,n])}function s(t){t.checked()&&this._tabContent.showPane(t.userData)}function o(t){throw this.checked(!0),new DlExStopEventProcessing}t.DEFAULT_EVENTS=["onChange"],t.DEFAULT_ARGS={_tabPos:["tabPos","top"]},e.addTab=function(t,e,n){return this._tabContent.appendWidget(t,n),t._tab=new DlButton({label:e,parent:this._tabBar,group:this._tabGroup,type:DlButton.TYPE.TWOSTATE,data:this._tabContent.length()-1}),t._tab.addEventListener("onClick",o,!0),t.addEventListener("onDestroy",t._tab.destroy.$(t._tab)),t},e.addTab2=function(t){var e=this.addTab(t.widget,t.title,t.pos);return t.iconClass&&e._tab.setIconClass(t.iconClass),e},e.getTabBar=function(){return this._tabBar},e.getNotebook=function(){return this._tabContent},e.getTabButton=function(t){return this.getNotebook().getPane(t)._tab},e.getTabContent=e.getNotebook,e.initDOM=function(){switch(t.BASE.initDOM.call(this),this._tabGroup=DlRadioGroup.get(this.id),this._tabBar=new DlHbox({className:"TabBar"}),this._tabContent=new DlNotebook({className:"TabContent"}),this._tabPos){case"top":case"left":this.appendWidget(this._tabBar),this.appendWidget(this._tabContent);break;case"bottom":case"right":this.appendWidget(this._tabContent),this.appendWidget(this._tabBar)}this._tabContent.addEventListener("onChange",i.$(this._tabContent,this)),this._tabGroup.addEventListener("onChange",s.$(this)),this.addClass("DlTabs-"+this._tabPos)},e.setTabPos=function(t){var e,n=this._tabBar.getElement(),i=this._tabContent.getElement();n.parentNode&&n.parentNode.removeChild(n),e="top"==t||"left"==t?e=i:null,i.parentNode.insertBefore(n,e),this.addClass("DlTabs-"+t,"DlTabs-"+this._tabPos),this._tabPos=t},e.setTabAlign=function(t){return this._tabBar.setAlign(t)},e.setOuterSize=e.setSize=function(e){t.BASE.setSize.call(this,e),e=this.getInnerSize();var n=this._tabBar.getSize();switch(this._tabPos){case"top":case"bottom":e.y-=n.y;break;case"left":case"right":e.x-=n.x}this._tabContent.setSize(e)},e.showPane=function(t){return this._tabContent.showPane(t)},e.nextPane=function(){return this._tabContent.nextPane()},e.prevPane=function(){return this._tabContent.prevPane()},e.isFirstPane=function(){return this._tabContent.isFirstPane()},e.isLastPane=function(){return this._tabContent.isLastPane()},e.getCurrentPane=function(){return this._tabContent.getCurrentPane()},e.getCurrentPaneIndex=function(){return this._tabContent.getCurrentPaneIndex()},e._handle_focusKeys=function(t){if(t.shiftKey)t.keyCode==DlKeyboard.PAGE_UP?(this.prevPane(),this.getCurrentPane()._tab.focus(),DlException.stopEventBubbling()):t.keyCode==DlKeyboard.PAGE_DOWN&&(this.nextPane(),this.getCurrentPane()._tab.focus(),DlException.stopEventBubbling());else if(t.keyCode==DlKeyboard.TAB&&this._tabBar.focusInside()){var e=this.getCurrentPane().getFirstFocusWidget();e&&(e.focus(),DlException.stopEventBubbling())}}}),DlTextUtils=function(){function t(t){function e(){return this.scrollLeft=l.x,this.scrollTop=l.y,s.stopEvent(t)}var n,l,a,u,h,c,d,_,f;return t||(t=window.event),n=s.getSelectionRange(this),l={x:this.scrollLeft,y:this.scrollTop},t.altKey&&113==t.charCode?(a=i.fillText(this.value,72,n.start),this.value=a.text,s.setSelectionRange(this,a.pos,a.pos),e.call(this)):t.ctrlKey&&t.keyCode in r?(u=t.keyCode==o.ARROW_UP,h=i.getParagraph(this.value,u?n.start:n.end),c=(u?h.start-1:h.end+1).limit(0,this.length),s.setSelectionRange(this,t.shiftKey?u?n.end:n.start:c,c),s.stopEvent(t)):t.altKey&&t.keyCode==o.ENTER?(d=this.value,h=i.getParagraph(d,n.start),_=i.getFillPrefix(h.text),f=_[0],f="function"==typeof f?f(_):f[0],d=d.substr(0,h.end)+"\n\n"+f+d.substr(h.end),this.value=d,s.setSelectionRange(this,h.end+2+f.length),e.call(this)):void 0}function e(t,e,n){var i,s,o=-1;for(e.lastIndex=0,e.global=!0,s=-1;(i=e.exec(t))&&e.lastIndex<n;){if(o=e.lastIndex,o==s)throw"Repeated! "+o;s=o}return o}function n(t,e,n){e.lastIndex=n,e.global=!0;var i=e.exec(t);return i?i.index:null}var i,s=DynarchDomUtils,o=DlKeyboard,l=[/^(\s*[-*]+\s+)/,function(t){return[t," ".x(t[0].length),t[0].length]},/^(\s*)([0-9]+)(\.\s+)/,function(t){return[function(){var e=parseInt(t[2],10)+1;return t[1]+e+t[3]}," ".x(t[0].length),t[0].length]},/^(\s*)([a-z])(\)\s+)/i,function(t){return[function(){var e=String.fromCharCode(t[2].charCodeAt(0)+1);return t[1]+e+t[3]}," ".x(t[0].length),t[0].length]},/^\s*([>|]\s*)*/,function(t){return[t,t[0],t[0].length,/\n\s*([>|]\s*)*/g,"\n"]},/^\s+/,function(t){return[t,t[0],t[0].length]}],r=[o.ARROW_UP,o.ARROW_DOWN].toHash(!0),a=String.fromCharCode(0),u=/\n([>|\s]*\n)+/g;return i={getParagraph:function(t,i){var s=e(t,u,i+1),o=n(t,u,i);return-1==s&&(s=0),null==o&&(o=t.length),{start:s,end:o,text:t.substring(s,o)}},getFillPrefix:function(t){var e,n,i,s=0;for(t=t.replace(/\x00/g,"");s<l.length;)if(e=l[s++],n=l[s++],e.lastIndex=0,i=e.exec(t))return n(i)},fillParagraph:function(t,e,n){var s,o,l,r,u,h,c,d,_;for(t=t.substr(0,n)+a+t.substr(n),s=i.getFillPrefix(t),o=s[1],l=s[2],r=t.substr(0,l),t=t.substr(l),s[3]&&(t=t.replace(s[3],function(t){return s[4]||""})),t=t.replace(/\n/g," ").replace(/([^.?!])\s\s+/g,"$1 "),u=new RegExp("(.{0,"+(e-o.length)+"})(\\s+|$)","g"),c=[],d=0;(h=u.exec(t))&&(_=u.index!=d?t.substring(d,u.lastIndex):h[1],d=u.lastIndex,/\S/.test(_));)c.push(_.trim(!0));return t=r+c.join("\n"+o),n=t.indexOf(a),0>n||(t=t.substr(0,n)+t.substr(n+1)),{text:t,pos:n}},fillText:function(t,e,n){var s=i.getParagraph(t,n),o=t.substr(0,s.start),l=t.substr(s.end),r=n-s.start,a=i.fillParagraph(s.text,e,r);return{text:o+a.text+l,pos:s.start+a.pos}},emacsipateTextarea:function(e){s.addEvent(e,is_ie?"keydown":"keypress",t)}}}(),DEFINE_CLASS("DlTooltip",DlPopup,function(t,e){t.FIXARGS=function(t){t.zIndex=2e3,t.focusable=!1,this._mouseDiff={x:8,y:12}}}),DEFINE_CLASS("DlTree",DlContainer,function(t,e,n){t.CONSTRUCT=function(){this.__treeItems=[]},e.getItem=function(t){return this.__treeItems[t]},e.getItems=function(){return this.__treeItems},e.appendWidget=function(e,n){e instanceof DlTreeItem&&e.parent===this&&n>e.getIndex()&&--n,t.BASE.appendWidget.call(this,e,n)},e.removeWidget=function(e){var n,i;t.BASE.removeWidget.call(this,e),e instanceof DlTreeItem&&(n=this.__treeItems.find(e),this.__treeItems.splice(n,1),i=this.__treeItems.length,0==i?this.parent instanceof DlTreeItem&&this.destroy():(0==n&&this.__treeItems[n]._setFirstLast(!0,null),n==i&&this.__treeItems[n-1]._setFirstLast(null,!0)))},e._appendWidgetElement=function(t,e){var n,i,s=this.__treeItems,o=this.getContentElement();if(null==e)t instanceof DlTreeItem&&(n=s.peek(),n?n._setFirstLast(null,!1):t._setFirstLast(!0,null),s.push(t),t._setFirstLast(null,!0)),o.appendChild(t.getElement());else{if(e==s.length)return this._appendWidgetElement(t,null);i=s[e],i&&i._setFirstLast(!1,e==s.length-1),t._setFirstLast(0==e,!1),s.splice(e,0,t),o.insertBefore(t.getElement(),o.childNodes[e])}},e.addSeparator=function(t){n.createElement("div",null,{className:t||"DlTree-separator",innerHTML:"&nbsp;"},this.getElement())}}),DEFINE_CLASS("DlTreeItem",DlContainer,function(t,e,n){function i(t){var e=t.target;try{for(;e&&"td"!=e.tagName.toLowerCase();)e=e.parentNode}catch(n){e=null}return e}function s(t){var e=i(t);if(e&&/DlTreeItem-(Expander|Icon)/.test(e.className))throw this.toggle(),new DlExStopEventBubbling}function o(){var t=this.getSubtreeDiv();window.DL_CLOSING||n.trash(t),n.removeEvent(this.getDivElement(),"mousedown",this.__onLabelMouseDown)}var l,r=(n.createElement,n.addClass),a=n.delClass,u=n.condClass;t.CONSTRUCT=function(){this.setIconClass(this.__iconClass),this.__iconClass=null},t.DEFAULT_ARGS={__label:["label",null],__iconClass:["iconClass",null],__itemClass:["itemClassName",null]},t.DEFAULT_EVENTS=["onExpand","onCollapse","onLabelMouseDown"],l="<div class='DlTreeItem-div'><table cellspacing='0' cellpadding='0' class='DlTreeItem-Table'><tbody><tr><td class='DlTreeItem-Expander'><div class='DlTree-IconWidth'>&nbsp;</div></td><td></td><td class='DlTreeItem-Label'></td></tr></tbody></table></div><div class='DlTreeItem-Subtree'></div>",e._setFirstLast=function(t,e){null!=t&&(this.condClass(t,"DlTreeItem-First"),u(this.getTableElement(),t,"DlTreeItem-First")),null!=e&&(this.condClass(e,"DlTreeItem-Last"),u(this.getTableElement(),e,"DlTreeItem-Last"))},e._setListeners=function(){t.BASE._setListeners.call(this),this.addEventListener({onMouseDown:s,onDestroy:o})},e._createElement=function(){t.BASE._createElement.call(this),this.getElement().innerHTML=l,this.__label&&this.setContent(this.__label),this.setUnselectable(),this.__onLabelMouseDown=this._onLabelMouseDown.$(this),n.addEvent(this.getDivElement(),"mousedown",this.__onLabelMouseDown),this.__itemClass&&r(this.getDivElement(),this.__itemClass)},e._onLabelMouseDown=function(t){this.callHooks("onLabelMouseDown")},e.getDivElement=function(){return this.getElement().firstChild},e.getTableElement=function(){return this.getElement().firstChild.firstChild},e.getExpanderElement=function(){return this.getTableElement().rows[0].cells[0]},e.getIconElement=function(){return this.getTableElement().rows[0].cells[1]},e.getContentElement=function(){return this.getTableElement().rows[0].cells[2]},e.getSubtreeDiv=function(){return this.getElement().childNodes[1]},e.getSubtreeWidget=function(){return this._subtree},e.getIndex=function(){return this.parent.__treeItems.find(this)},e.getParentItem=function(){return this.parent.parent},e.addSubItem=function(t,e){var n=this.getSubtreeWidget();n||this._tree||(n=new DlTree({}),this.setTree(n),this.expand()),n.appendWidget(t,e)},e.setTree=function(t,e,n){this._tree&&"function"!=typeof this._tree&&this.removeWidget(this._tree),this._tree=t,null!=t&&("function"!=typeof t?this.appendWidget(t,!0):null==e&&(e=!1),e?this.expand(e):(this.getSubtreeDiv().style.display="none",this.updateExpanderState())),null==n?(this._subtreeNeverExpires=!0,this._subtreeExpires=null):(this._subtreeNeverExpires=!1,this._subtreeExpires=(new Date).getTime()+n),this.condClass(t,"DlTreeItem-hasSubtree"),this.updateExpanderState()},e.isExpanded=function(){return"none"!==this.getSubtreeDiv().style.display},e.toggle=function(){this.expand(!this.isExpanded())},e.getPath=function(){for(var t=[],e=this.getParentItem();e instanceof DlTreeItem;)t.push(e),e=e.getParentItem();return t},e.expandParents=function(t){for(var e=this.getParentItem();e instanceof DlTreeItem;)e.expand(t),e=e.getParentItem()},e.expand=function(t,e){function n(){s.getSubtreeDiv().style.display=t?"block":"none",s.updateExpanderState(),e||s.callHooks(t?"onExpand":"onCollapse")}function i(t,e){var i=s._tree;if(s._subtree)try{s._subtree.destroy()}catch(o){}s._tree=i,null==e?(s._subtreeNeverExpires=!0,s._subtreeExpires=null):(s._subtreeNeverExpires=!1,s._subtreeExpires=(new Date).getTime()+e),s.appendWidget(t,!0),n()}var s,o;null==t&&(t=!0),s=this,t!==this.isExpanded()&&(t&&"function"==typeof this._tree?this._subtree?this._subtreeNeverExpires?n():(o=(new Date).getTime(),this._subtreeExpires&&o<=this._subtreeExpires?n():this._tree(i,this)):this._tree(i,this):n())},e.setIconClass=function(t){var e=this.getIconElement();u(e,null!=t,"DlTreeItem-Icon"),this.iconClass&&(e.innerHTML="",a(e,this.iconClass)),t&&(e.innerHTML="<div class='DlTree-IconWidth'>&nbsp;</div>",r(e,t)),this.iconClass=t},e.updateExpanderState=function(){var t,e=this.getExpanderElement().firstChild;this._tree?(t=this.isExpanded(),u(e,t,"DlTreeItem-Arrow-Expanded","DlTreeItem-Arrow-Collapsed"),u(this.getTableElement(),t,"DlTreeItem-Table-Expanded","DlTreeItem-Table-Collapsed")):(a(e,"DlTreeItem-Arrow-Expanded"),a(e,"DlTreeItem-Arrow-Collapsed"),this.delClass("DlTreeItem-hasSubtree"))},e._appendWidgetElement=function(t,e){var n,i=t.getElement();t instanceof DlTreeItem?this.addSubItem(t,e):(n=e||t instanceof DlTree?this.getSubtreeDiv():this.getContentElement(),e&&(this._subtree=t,r(i,"DlTree-withLines"),this.addClass("DlTreeItem-hasSubtree")),n.appendChild(i))},e._removeWidgetElement=function(e){t.BASE._removeWidgetElement.call(this,e),this.getSubtreeDiv().firstChild||(this._tree=null,this._subtree=null),this.updateExpanderState()},e._setFocusedStyle=function(t){u(this.getDivElement(),t,"DlTreeItem-div-focus")}}),DlType.TYPES={},DlType.prototype={getDisplayValue:function(t){return t},compare:function(t,e){throw"No comparator for type: "+this.name}},DEFINE_CLASS("DlUploadEntry",DlWidget,function(t,e,n){function i(t){t.applyHooks("onChange",[this,this.name,this.value])}function s(t){is_ie&&(t=this.ownerDocument.parentWindow.event),this.firstChild.style.right=30-t.clientX+"px"}t.DEFAULT_EVENTS=["onUploadStart","onUploadEnd","onChange"],t.DEFAULT_ARGS={_url:["url",null],_files:["files",["file"]],_params:["params",null]},t.BEFORE_BASE=function(){this._files instanceof Array||(this._files=[this._files])},e._createElement=function(){t.BASE._createElement.call(this);var e=n.createElement("iframe",null,{frameBorder:0,marginHeight:0,marginWidth:0,allowTransparency:!0,src:is_ie?"javascript:'';":"about:blank"},this.getElement());this.refNode("_iframe",e)},e.init=function(){var t,e,n,o,l=String.buffer("<html style='margin: 0; padding: 0; overflow: hidden; height: 100%;'>","<head>","<link type='text/css' rel='stylesheet' href='",Dynarch.getFileURL("css/uploadentry.css"),"' />","</head>","<body>","<form action='",this._url,"' method='POST' encoding='multipart/form-data'>","<input type='hidden' name='_uploaderID' value='",this.getWidgetId(),"' />"),r=this._params;if(r){r instanceof Array&&(r=r.toHash(""));for(t in r)l("<input type='hidden' name='",t,"' value='",r[t],"' />")}this._files.foreach(function(t){l("<label class='upload'><input type='file' name='",t,"' /></label>")}),l("</form></body></html>"),e=this._iframe.contentWindow,n=e.document,n.open(),n.write(l.get()),n.close(),this.refNode("_win",e),this.refNode("_doc",n),this.refNode("_form",n.getElementsByTagName("form")[0]),this._form.method="POST",this._form.encoding="multipart/form-data",o=i.$(null,this),this._files.foreach(function(t){var e=this._form.elements.namedItem(t);e.onchange=o,e.parentNode.onmousemove=s},this)},e.setParam=function(t,e){var n,i;if("string"==typeof t)n=this.getField(t),n||(n=this._doc.createElement("input"),n.type="hidden",n.name=t,this._form.appendChild(n)),n.value=e;else for(i in t)this.setParam(i,t[i])},e.getParam=function(t){var e=this.getField(t);return e&&e.value},e.getField=function(t){return this._form.elements.namedItem(t)},e.submit=function(){this.callHooks("onUploadStart"),this._form.submit()},t.finishUpload=function(t){if(t instanceof DlUploadEntry||(t=DlWidget.getById(t)),!t)throw"No such uploader: "+t;t.init(),t.applyHooks("onUploadEnd",Array.$(arguments,1))}}),DEFINE_EXCEPTION("DlValidatorException"),DlValidatorException.MISMATCH=1,DlValidatorException.TOO_SMALL=2,DlValidatorException.TOO_BIG=3,DEFINE_CLASS("DlValidator",null,function(t,e){function n(t){function e(e){return e.foreach(function(e,n){0==e.toLowerCase().indexOf(t)&&$RETURN(n)})}t=t.toLowerCase();var n=e(DlTEXTS._date_shortMonthNames)||e(DlTEXTS._date_monthNames);return null!=n&&n++,n}t.CONSTRUCT=function(e){e&&("string"==typeof e&&(e=t[e]),this._callback=e,this._args=arguments.length>1?Array.$(arguments,1):null)},e.ok=function(t){var e,n;if("undefined"!=typeof this._lastData&&this._lastData===t)return!0;try{return e=[t].concat(this._args||Array.$(arguments,1)),n=this._callback.apply(this,e),this._lastData=t,this._lastValue=n,!0}catch(i){if(i instanceof DlValidatorException)return this._error=i,!1;throw i}},e.getLastVal=function(){return this._lastValue},e.getLastData=function(){return this._lastData},e.getError=function(){return this._error},t.Number=function(t,e,n,i,s){t=t.replace(/\s/g,"");var o=new Number(t);if(isNaN(o))throw new DlValidatorException("Value must be numeric",DlValidatorException.MISMATCH);if(i&&o!=Math.round(o))throw new DlValidatorException("Value must be an integer",DlValidatorException.MISMATCH);if(null!=e&&e>o)throw new DlValidatorException("Value must be bigger than "+e,DlValidatorException.TOO_SMALL);if(null!=n&&o>n)throw new DlValidatorException("Value must be smaller than "+n,DlValidatorException.TOO_BIG);return s&&(o=o.toFixed(s)),o},t.Email=function(t){if(t=t.trim(),!/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i.test(t))throw new DlValidatorException("That doesn't look like an email address",DlValidatorException.MISMATCH);return t},t.URL=function(t,e){if(e||(e={}),t=t.trim(),!/^(https?|ftps?):\x2f\x2f/.test(t)){if(/^([a-z0-9_-]+\.)+[a-z]+$/i.test(t))return/^www\./.test(t)||(t="www."+t),"http://"+t+"/";throw new DlValidatorException("Value must be an absolute URL",DlValidatorException.MISMATCH)}return t},t.Date=function(t,e,i){var s,o,l,r,a,u,h,c,d,_;if(!/\S/.test(t))return"";if(e||(e="%Y-%m-%d"),t=t.replace(/^\s+/,"").replace(/\s+$/,""),s=new Date,o=null,l=null,r=null,a=null,u=null,h=null,c=t.match(/([0-9]{1,2}):([0-9]{1,2})(:[0-9]{1,2})?\s*(am|pm)?/i),c&&(a=parseInt(c[1],10),u=parseInt(c[2],10),h=c[3]?parseInt(c[3].substr(1),10):0,t=t.substring(0,c.index)+t.substr(c.index+c[0].length),c[4]&&("pm"==c[4].toLowerCase()&&12>a?a+=12:"am"!=c[4].toLowerCase()||12>a||(a-=12))),d=t.split(/\W+/),_=[],d.foreach(function(t){/^[0-9]{4}$/.test(t)?(o=parseInt(t,10),l||r||null!=i||(i=!0)):/^[0-9]{1,2}$/.test(t)?(t=parseInt(t,10),60>t?0>t||t>12?1>t||t>31||(r=t):_.push(t):o=t):l=n(t)}),_.length<2?1==_.length&&(r?l||(l=_.shift()):r=_.shift()):i?(l||(l=_.shift()),r||(r=_.shift())):(r||(r=_.shift()),l||(l=_.shift())),o||(o=_.length>0?_.shift():s.getFullYear()),30>o?o+=2e3:99>o&&(o+=1900),l||(l=s.getMonth()+1),!(o&&l&&r))throw this._date=null,new DlValidatorException("Can't figure out this date",DlValidatorException.MISMATCH);return this._date=new Date(o,l-1,r,a,u,h),this._date.print(e)}}),DlConsole.prototype={log:function(t){t=t.printf.apply(t,Array.$(arguments,1)),this._addMsg({str:t})},line:function(){this._addMsg({str:"&nbsp;",cls:"sep"})},CC:function(t,e){var n=this.win.document.createElement("div");n.className=e||"msg",n.innerHTML=t,this.win.document.body.appendChild(n),this.win.scrollTo(0,n.offsetTop+n.offsetHeight),this._last&&DynarchDomUtils.delClass(this._last,"current"),DynarchDomUtils.addClass(n,"current"),this._last=n},_addMsg:function(t){this._init(),this.win?this.CC(t.str,t.cls):this._messages.push(t)},_init:function(){this.win||window.open(Dynarch.getFileURL("html/dlconsole.html"),"DlConsole","height=400,width=600,menubar=0,toolbar=0,scrollbars=1")},_loaded:function(t){this._last=null,this.win=t,this.log("<b>DynarchLIB Console</b><br />Initialized at %s",new Date),this.line(),this._messages.foreach(this._addMsg,this)},protect:function(name){var func=eval(name),f=function(){var t,e;try{for(t=[],e=0;e<arguments.length;++e)t.push(arguments[e]);console.log(name+" ["+t.join(", ")+"]"),func.apply(this,arguments)}catch(n){throw alert("Exception in "+name+"\n"+n),n}};eval(name+" = f")}},window.dlconsole||(window.dlconsole=new DlConsole);
//# sourceMappingURL=thelib.js.map