function JueKit(el){if(typeof(el)=="string"){el=document.getElementById(el)}return el}JueKit.version="2.0.0.0";JueKit.scriptFragment="(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)";JueKit.fReturnFalse=function(){return false};JueKit.fReturnTrue=function(){return true};JueKit._traces=[];JueKit.trace=function(){var ts=this._traces;ts[ts.length]=JueKit.String.format.apply(JueKit.String,arguments)};JueKit.clearTrace=function(){this._traces=[]};JueKit.getTrace=function(){var sb=new JueKit.Text.StringBuilder();var ts=this._traces;var i=ts.length-1;while(i>=0){sb.appendLine(ts[i])}return sb.toString()};JueKit.Cookies={getValue:function(name){return this.__getCookies()[name]},__getCookies:function(){var cookies={};var s=document.cookie;var cs=s.split(';');var c,cn,cv;for(var i=0;i<cs.length;i++){c=cs[i].replace(/(^[\s]*)|([\s]*$)/g,"");cn=c.substr(0,c.indexOf('='));cv=c.substring(c.indexOf('=')+1,c.length);cookies[cn]=cv}return cookies}};JueKit.Browser={isIE:false,isFirefox:false,isOpera:false,isSafari:false,name:"",version:"",__getBrowserInfo:function(){var agent=navigator.userAgent;if(agent.indexOf("MSIE")>-1){this.isIE=true;this.name="MSIE"}else if(agent.indexOf("Firefox")>-1){this.isFirefox=true;this.name="Firefox"}else if(agent.indexOf("Opera")>-1){this.isOpera=true;this.name="Opera"}else{return}var nStart=agent.indexOf(this.name)+this.name.length+1;this.version=parseFloat(agent.substring(nStart,nStart+5).match(/\d+\.\d{1}/i)[0]);delete this.__getBrowserInfo}};JueKit.Browser.__getBrowserInfo();JueKit.Type={_classInfoList:{},unimplFunction:function(){throw new Error(JueKit.StringResources.unimplementedFunction)},createClass:function(sTypeName,oBaseClass,oMethods){var func=function(){if(this.ctor)return this.ctor.apply(this,arguments)};func._typeName=sTypeName;this.__registerClass(func);if(oBaseClass){this.inherit(func,oBaseClass)}if(oMethods){this.extend(func.prototype,oMethods)}return func},__registerClass:function(oClass){var typeName=oClass._typeName;var classInfo=this._classInfoList[typeName];if(classInfo){throw new Error(JueKit.String.format(JueKitSR["registeredClassName"],typeName))}else{this._classInfoList[typeName]=oClass}},registerNamespace:function(sNamespace){var names=sNamespace.split(".");var currentNS=window;var name;for(var i=0;i<names.length;i++){name=names[i];if(!currentNS[name]){currentNS[name]={}}currentNS=currentNS[names[i]]}},extend:function(oOriginal,oExtend){for(var property in oExtend){oOriginal[property]=oExtend[property]}},inherit:function(oDerivedClass,oBaseClass){this.extend(oDerivedClass.prototype,oBaseClass.prototype);oDerivedClass.prototype.toString=oBaseClass.prototype.toString;oDerivedClass._base=oBaseClass.prototype},implement:function(oDerivedClass,oBaseInterface){this.extend(oDerivedClass.prototype,oBaseInterface.prototype);if(!oDerivedClass._baseInterfaceList){oDerivedClass._baseInterfaceList=[]}var interfaceList=oDerivedClass._baseInterfaceList;interfaceList[interfaceList.length]=oBaseInterface},createObject:function(oData){var typeName=oData.tn;if(typeName&&this._classInfoList[typeName]){return new this._classInfoList[typeName](oData)}},reflectName:function(oVar,oScope){for(var key in oScope){if(oScope[key]===oVar){return key}}}};JueKit.Type.extend(String.prototype,{HTMLEncode:function(){return JueKit.String.HTMLEncode(this)},HTMLDecode:function(s){return JueKit.String.HTMLDecode(this)},stripTags:function(){return this.replace(/>\s+</gi,'><').replace(/<\/?[^>]+>/gi,'').replace(/\r\n/gi,' ')},stripScripts:function(){return this.replace(new RegExp(JueKit.scriptFragment,'img'),'')},evalScripts:function(){var reAll=new RegExp(JueKit.scriptFragment,'img');var reOne=new RegExp(JueKit.scriptFragment,'im');var scripts=this.match(reAll);for(var i=0;i<scripts.length;i++){eval(scripts[i].match(reOne)[1])}},camelize:function(){var oStringList=this.split('-');if(oStringList.length==1){return oStringList[0]}var camelizedString=this.indexOf('-')==0?oStringList[0].charAt(0).toUpperCase()+oStringList[0].substring(1):oStringList[0];for(var i=1,len=oStringList.length;i<len;i++){var s=oStringList[i];camelizedString+=s.charAt(0).toUpperCase()+s.substring(1)}return camelizedString},hyphenlize:function(){var hyphenlizedString='';var hyphenlizedString='';for(var i=0,len=this.length;i<len;++i){if(this.charAt(i)==this.charAt(i).toUpperCase()){hyphenlizedString=hyphenlizedString+'-'+this.charAt(i).toLowerCase()}else{hyphenlizedString=hyphenlizedString+this.charAt(i)}}return hyphenlizedString},trim:function(){return this.replace(/(^[\s]*)|([\s]*$)/g,"")},include:function(s1,s2){return JueKit.String.include(this,s1,s2)},toObject:function(){try{return eval('('+this+')')}catch(e){return eval(this)}}});JueKit.String={_sreg:/{(\d+)?}/g,format:function(text){if(arguments.length==0)return"";if(arguments.length==1)return text;var args=arguments;text=text.replace(this._sreg,function($0,$1){return args[parseInt($1)+1]});return text},trim:function(s){return s.replace(/(^[\s]*)|([\s]*$)/g,"")},include:function(s,s1,s2){if(!s2||!s2.length){return s.indexOf(s1)>-1?true:false}else{return(s2+s+s2).indexOf(s2+s1+s2)>-1?true:false}},__HTMLEncode:function(s){this._elEncodeT.data=s;return this._elEncodeP.innerHTML},HTMLEncode:function(s){this._elEncodeP=JueKit.Dom.createEl('p');this._elEncodeT=document.createTextNode(s);this._elEncodeP.appendChild(this._elEncodeT);this.HTMLEncode=this.__HTMLEncode;delete this.__HTMLEncode;return this._elEncodeP.innerHTML},HTMLDecode:function(s){var d=JueKit.Dom.createEl('div',null,s);return d.innerText},isNullOrEmpty:function(s){return(s===undefined||s==null||s=="")},substrEx:function(s,bytes){if(s===undefined||s===null||s===""){return""}var i=0;var uFF61=65377;var uFF9F=65439;var uFFE8=65512;var uFFEE=65518;while(i<s.length&&bytes>0){var c=s.charCodeAt(i);if(c<256||((uFF61<=c)&&(c<=uFF9F))||((uFFE8<=c)&&(c<=uFFEE))){bytes-=1}else{bytes-=2}i++}if(s.length>i){return s.substr(0,i)+"..."}return s.substr(0,i)}};JueKit.Number={format:function(value,format){},formatSize:function(calSize){if(calSize===undefined){return""}var sizeLevel=0;while(calSize>900){sizeLevel++;calSize=calSize/1024}calSize=calSize.toString();calSize=calSize.substring(0,calSize.indexOf(".")>-1?calSize.indexOf(".")+3:calSize.length);var retValue;switch(sizeLevel){default:case 0:retValue=calSize+" Bytes";break;case 1:retValue=calSize+" KB";break;case 2:retValue=calSize+" MB";break;case 3:retValue=calSize+" GB";break;case 4:retValue=calSize+" TB";break;case 5:retValue=calSize+" EB";break}return retValue}};JueKit.DateTime=JueKit.Type.createClass("JueKit.DateTime",null,{ctor:function(year,month,date,hours,minutes,seconds,ms){if(arguments.length==0){this._value=new Date()}else if(arguments.length==1){this._value=new Date(year)}else{month=month||0;date=date||0;hours=hours||0;minutes=minutes||0;seconds=seconds||0;ms=ms||0;this._value=new Date(year,month,date,hours,minutes,seconds,ms)}},justDate:function(){var tm=this._value.getTime();return new JueKit.DateTime(this._value.getFullYear(),this._value.getMonth(),this._value.getDate(),0,0,0,0)},justTime:function(){return new JueKit.DateTime(this._value.getTime()%JueKit.DateTime._TM_DAY)},addYear:function(years){var nYear=this._value.getFullYear()+years;this._value=new Date(nYear,this._value.getMonth(),this._value.getDate(),this._value.getHours(),this._value.getMinutes(),this._value.getHours(),this._value.getMilliseconds());return this},addMonth:function(months){var nMonth=this._value.getFullYear()*12+this._value.getMonth()+1;nYear=parseInt(nMonth/12);nMonth=nMonth%12;this._value=new Date(nYear,nMonth,this._value.getDate(),this._value.getHours(),this._value.getMinutes(),this._value.getHours(),this._value.getMilliseconds());return this},addDay:function(days){this._value.setTime(this._value.getTime()+JueKit.DateTime._TM_DAY*days);return this},get_value:function(){return new Date(this._value.getTime())},format:function(format){return JueKit.DateTime.format(this._value,format)},toString:function(){return this.format("yyyy-MM-dd hh:mm:ss")}});JueKit.Type.extend(JueKit.DateTime,{_TM_SECOND:1000,_TM_MINUTE:60000,_TM_HOUR:3600000,_TM_DAY:86400000,_MONTH_NUM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],_re1:/^(\d{4})-(\d{1,2})-(\d{1,2})(?: (\d{1,2}):(\d{1,2}):(\d{1,2})(?::(\d{1,3}))?)?$/,_re2:/^(\d{1,2})\/(\d{1,2})\/(\d{4})(?: (\d{1,2}):(\d{1,2}):(\d{1,2})(?::(\d{1,3}))?)?$/,format:function(value,format){if(!value){return""}var strM=(value.getMonth()+1).toString();var strD=value.getDate().toString();var strH=value.getHours().toString();var strMin=value.getMinutes().toString();var strS=value.getSeconds().toString();var str=format.replace("yyyy",value.getFullYear());str=str.replace("MMM",this._MONTH_NUM[value.getMonth()]);str=str.replace("MM",strM.length==1?"0"+strM:strM);str=str.replace("dd",strD.length==1?"0"+strD:strD);str=str.replace("hh",strH.length==1?"0"+strH:strH);str=str.replace("mm",strMin.length==1?"0"+strMin:strMin);str=str.replace("ss",strS.length==1?"0"+strS:strS);str=str.replace("yy",value.getFullYear().toString().substr(2));str=str.replace("MM",strM);str=str.replace("dd",strD);str=str.replace("hh",strH);str=str.replace("mm",strMin);str=str.replace("ss",strS);return str},parse:function(str){var res=this._re1.exec(str);if(res){return new JueKit.DateTime(parseInt(res[1],10),parseInt(res[2]-1,10),parseInt(res[3],10),parseInt(res[4],10),parseInt(res[5],10),parseInt(res[6],10),parseInt(res[7],10))}res=this._re2.exec(str);if(res){return new JueKit.DateTime(parseInt(res[3],10),parseInt(res[1]-1,10),parseInt(res[2],10),parseInt(res[4],10),parseInt(res[5],10),parseInt(res[6],10),parseInt(res[7],10))}return null},parse2:function(str,format){},now:function(){return new JueKit.DateTime()},today:function(){return this.now().justDate()}});JueKit.Exception=JueKit.Type.createClass("JueKit.Exception",Error,{name:"JueKit Exception",ctor:function(message){this.message=message;this.description=message}});JueKit.Type.registerNamespace("JueKit");JueKit.Pool=JueKit.Type.createClass("JueKit.Pool",null,{_usedCount:0,_currentSize:0,ctor:function(maxSize){this._maxSize=maxSize||-1;this._entries=[]},get_maxSize:function(){return this._maxSize},set_maxSize:function(value){this._maxSize=value},__getEntry:function(index){if(index<this._currentSize){return this._entries[index]}},__appendEntry:function(entry){this._entries[this._currentSize]=entry;this._currentSize++},gain:function(){if(this._usedCount==this._maxSize){return null}var entry;if(this._usedCount<this._currentSize){entry=this.__getEntry(this._usedCount)}if(entry===undefined){entry=this.createEntry();this.__appendEntry(entry)}this.initEntry(entry);this._usedCount++;return entry},release:function(entry){var temp=this._entries[this._usedCount-1];if(entry!==temp){for(var i=0;i<this._usedCount;i++){if(this._entries[i]===entry){this._entries[i]=temp;break}}this._entries[this._usedCount-1]=entry}this.cleanEntry(entry);this._usedCount--}});JueKit.Type.registerNamespace("JueKit.Text");JueKit.Text.StringBuilder=JueKit.Type.createClass("JueKit.Text.StringBuilder",null,{get_length:function(){return this._data.length},ctor:function(){this._data=[]},append:function(text){if(arguments.length>1){text=JueKit.String.format.apply(JueKit.String,arguments)}this._data[this._data.length]=text},appendLine:function(text){if(arguments.length>1){text=JueKit.String.format.apply(JueKit.String,arguments)}this._data[this._data.length]=text+"\r\n"},clear:function(){this._data.length=0}});JueKit.Text.StringBuilder.prototype.toString=function(){return this._data.join("")};JueKit.Type.registerNamespace("JueKit.Collection");JueKit.Collection.LinkedListNode=JueKit.Type.createClass("JueKit.Collection.LinkedListNode",null,{get_list:function(){return this._list},set_list:function(oValue){this._list=oValue},get_next:function(){return this._next},set_next:function(oValue){this._next=oValue},get_previous:function(){return this._previous},set_previous:function(oValue){this._previous=oValue},get_value:function(){return this._value},set_value:function(oValue){this._value=oValue},destroy:function(){delete this._list;delete this._next;delete this._previous;delete this._value}});JueKit.Type.registerNamespace("JueKit.Collection");JueKit.Collection.LinkedList=JueKit.Type.createClass("JueKit.Collection.LinkedList",null,{_count:0,get_first:function(){return this._first},get_last:function(){return this._last},get_count:function(){return this._count},__validateNode:function(oNode){return;if(oNode._list!==this){throw new Error(JueKit.StringResources.externalLinkedListNode)}},__validateNewNode:function(oNode){return;if(oNode._list){throw new Error(JueKit.StringResources.linkedListNodeIsAttached)}},__resolveNewNodeParameter:function(oValue){var newNode;if(oValue&&oValue.set_next&&oValue.set_previous){newNode=oValue;newNode._value=oValue;this.__validateNewNode(newNode);newNode._list=this}else{newNode=new JueKit.Collection.LinkedListNode();newNode._value=oValue;newNode._list=this}return newNode},addFirst:function(oValue){var newNode=this.__resolveNewNodeParameter(oValue);if(!this._first){newNode._next=null;this._last=newNode}else{this._first._previous=newNode;newNode._next=this._first}newNode._previous=null;this._first=newNode;this._count++;return newNode},addLast:function(oValue){var newNode=this.__resolveNewNodeParameter(oValue);if(!this._last){newNode._previous=null;this._first=newNode}else{this._last._next=newNode;newNode._previous=this._last}newNode._next=null;this._last=newNode;this._count++;return newNode},addBefore:function(oValue,oNode){if(!oNode||!oNode._previous){return this.addFirst(oValue)}return this.addAfter(oValue,oNode._previous)},addAfter:function(oValue,oNode){if(oNode&&oNode._next){var newNode=this.__resolveNewNodeParameter(oValue);this.__validateNode(oNode);newNode._previous=oNode;newNode._next=oNode._next;oNode._next._previous=newNode;oNode._next=newNode;this._count++;return newNode}else{return this.addLast(oValue)}},contains:function(oValue){var node=this._first;while(node){if(node._value===oValue){return true}node=node._next}return false},find:function(oValue,fCallback,oScope){var node=this._first;if(fCallback){if(!oScope){oScope=window}while(node){if(fCallback.call(oScope,node._value,oValue)){return node}node=node._next}}else{while(node){if(node._value===oValue){return node}node=node._next}}return null},findLast:function(oValue,fCallback,oScope){var node=this._last;if(fCallback){if(!oScope){oScope=window}while(node){if(fCallback.call(oScope,node._value,oValue)){return node}node=node._previous}}else{while(node){if(node._value===oValue){return node}node=node._previous}}return null},getAt:function(nIndex){if(nIndex<0&&nIndex>=this.get_count()){return null}var node=this._first;while(nIndex--){node=node._next}return node},remove:function(oNode){if(!(oNode&&oNode.set_next&&oNode.set_previous)){oNode=this.find(oNode)}if(!oNode){return}if(oNode===this._first){this._first=oNode._next}else{oNode._previous._next=oNode._next}if(oNode===this._last){this._last=oNode._previous}else{oNode._next._previous=oNode._previous}oNode.destroy();this._count--},removeFirst:function(){this.remove(this._first)},removeLast:function(){this.remove(this._last)},clear:function(){var node=this._first;var next;while(node){next=node._next;node.destroy();node=next}delete this._first;delete this._last;this._count=0},toString:function(){var sb=new JueKit.Text.StringBuilder();var node=this._first;sb.append("[");if(node){sb.append(node._value);node=node._next;while(node){sb.append(",");sb.append(node._value);node=node._next}}sb.append("]");return sb.toString()},forEach:function(fCallback,oScope,arrArgs){var node=this._first;var next;while(node){next=node._next;fCallback.call(oScope,node._value,arrArgs);node=next}},tryUntil:function(fCallback,oScope,arrArgs){var node=this._first;var next;while(node){next=node._next;if(fCallback.call(oScope,node._value,arrArgs)){return node}node=next}},enumWhile:function(fCallback,oScope,arrArgs){var node=this._first;var next;while(node){next=node._next;if(!fCallback.call(oScope,node._value,arrArgs)){return node}node=next}}});JueKit.Type.registerNamespace("JueKit.Collection");JueKit.Collection.Dictionary=JueKit.Type.createClass("JueKit.Collection.Dictionary",null,{ctor:function(){this.clear()},get_count:function(){return this._keys.get_count()},get_keys:function(){return this._keys},get_values:function(){return this._values},getValue:function(key){var node=this._map[key];if(node){return node.get_value()}return null},setValue:function(key,value){var node=this._map[key];if(node){node.set_value(value)}else{node=this._values.addLast(value);this._map[key]=node;this._keys.addLast(key)}},getAt:function(nIndex){var node=this._values.getAt(nIndex);if(node){return node.get_value()}return null},remove:function(key){var node=this._map[key];if(node){this._keys.remove(key);this._values.remove(node);delete this._map[key]}},clear:function(){this._keys=new JueKit.Collection.LinkedList();this._values=new JueKit.Collection.LinkedList();this._map={}}});JueKit.Type.registerNamespace("JueKit.Collection");JueKit.Collection.Stack=JueKit.Type.createClass("JueKit.Collection.Stack",null,{_arr:null,ctor:function(){this.clear()},get_count:function(){return this._arr.count},clear:function(){this._arr=[]},push:function(value){this._arr[this._arr.count]=value},pop:function(){if(this._arr.length==0){return null}var r=this._arr[this._arr.count-1];this._arr.length--;return r},peek:function(){if(this._arr.length==0){return null}return this._arr[this._arr.count-1]}});JueKit.DomComm={getPageWidth:function(wnd){if(!wnd){wnd=window}var bw=wnd.document.documentElement.scrollWidth;var cw=this.getClientWidth(wnd);if(bw>cw){return bw}return cw},getPageHeight:function(wnd){if(!wnd){wnd=window}var bh=wnd.document.body.scrollHeight;var ch=this.getClientHeight(wnd);if(bh>ch){return bh}return ch},setStyles:function(el,styles){for(var key in styles){this.setStyle(el,key,styles[key])}},getPositionX:function(el,clientAbs){return this.getPosition(el,clientAbs).left},getPositionY:function(el,clientAbs){return this.getPosition(el,clientAbs).top},getSize:function(el){el=JueKit(el);var width;var height;if(this.visible(el)){width=el.offsetWidth;height=el.offsetHeight}else{this.show(el);width=el.offsetWidth;height=el.offsetHeight;this.hide(el)}return{width:width,height:height}},getWidth:function(el){return this.getSize(el).width},getHeight:function(el){return this.getSize(el).height},getRect:function(el,clientAbs){var rect=this.getSize(el);var pos=this.getPosition(el,clientAbs);rect.left=pos.left;rect.top=pos.top;return rect},setOffsetWidth:function(el,width){if(width>0){width=width+"px"}else{width="auto"}this.setStyle(el,"width",width)},setOffsetHeight:function(el,height){if(height>0){height=height+"px"}else{height="auto"}this.setStyle(el,"height",height)},setPosition:function(el,left,top){el=JueKit(el);var pEl=el.parentNode;while((pEl.tagName!="BODY")&&(pEl.style.position!="absolute")){pEl=pEl.parentNode}var pPos;if(pEl.tagName=="BODY"){pPos={left:0,top:0}}else{pPos=JueKit.Dom.getPosition(pEl)}left-=pPos.left;top-=pPos.top;el.style.position="absolute";el.style.left=left+'px';el.style.top=top+'px'},center:function(el,left,top){if(left===undefined){left=0.5}if(top===undefined){top=0.5}el=JueKit(el);var cw=this.getClientWidth();var ch=this.getClientHeight();var ew=this.getWidth(el);var eh=this.getHeight(el);var st=document.documentElement.scrollTop;var sl=document.documentElement.scrollLeft;this.setPosition(el,(cw-ew)*left+sl,(ch-eh)*top+st)},visible:function(el){return this.getStyle(el,"display")!="none"},show:function(el){el=JueKit(el);return el.style.display=""},hide:function(el){el=JueKit(el);return el.style.display="none"},toggle:function(el){this[this.visible(el)?"hide":"show"](el)},hasCssClass:function(el,cssClass){el=JueKit(el);return el.className.include(cssClass," ")},setCssClass:function(el,cssClass){el=JueKit(el);el.className=cssClass},addCssClass:function(el,cssClass){if(!this.hasCssClass(el,cssClass)){el=JueKit(el);el.className=(el.className+" "+cssClass).trim()}},removeCssClass:function(el,cssClass){this.replaceCssClass(el,cssClass,"")},replaceCssClass:function(el,cssClass1,cssClass2){el=JueKit(el);if(this.hasCssClass(el,cssClass2)){cssClass2=""}el.className=(" "+el.className+" ").replace(" "+cssClass1+" "," "+cssClass2+" ").trim()},toggleCssClass:function(el,cssClass1,cssClass2){if(cssClass2){if(this.hasCssClass(el,cssClass1)){this.replaceCssClass(el,cssClass1,cssClass2)}else{this.replaceCssClass(el,cssClass2,cssClass1)}}else{this[this.hasCssClass(el,cssClass1)?"removeCssClass":"addCssClass"](el,cssClass1)}},createEl:function(tagName,attributes,innerHTML){var el=document.createElement(tagName);if(attributes){JueKit.Type.extend(el,attributes)}if(innerHTML&&innerHTML.length){el.innerHTML=innerHTML}return el},removeEl:function(el){el=JueKit(el);if(el){el.parentNode.removeChild(el)}},getParent:function(el,tag){tag=tag.toLowerCase();while(el){if(el.tagName.toLowerCase()==tag){return el}el=el.parentNode}return el},getParentIndex:function(el,tag){var pEl=this.getParent(el,tag);if(pEl){return this.getElIndex(pEl)}return-1},getElIndex:function(el){el=JueKit(el);var p=el.parentNode;if(!p){return-1}else{var index=0;for(var i=0;i<p.childNodes.length;i++){if(p.childNodes[i].nodeType==1){if(p.childNodes[i]===el){return index}index++}}}},getChildElByIndex:function(el,index){el=JueKit(el);if(!el){return null}var pi=0;var node;for(var i=0;i<el.childNodes.length;i++){node=el.childNodes[i];if(node.nodeType==1){if(pi==index){return node}pi++}}},getFirstChild:function(el){return this.getChildElByIndex(el,0)},getNextEl:function(el){el=JueKit(el);el=el.nextSibling;while(el){if(el.nodeType==1){return el}el=el.nextSibling}return null},getPreviousEl:function(el){el=JueKit(el);el=el.previousSibling;while(el){if(el.nodeType==1){return el}el=el.previousSibling}return null}};JueKit.DomIE={getClientWidth:function(wnd){if(!wnd){wnd=window}return wnd.document.documentElement.clientWidth},getClientHeight:function(wnd){if(!wnd){wnd=window}return wnd.document.documentElement.clientHeight},getPosition:function(el,clientAbs){el=JueKit(el);if(el.parentNode===null||this.getStyle(el,'display')=='none'){return false}var box=el.getBoundingClientRect(),l=box.left-2,t=box.top-2;if(!clientAbs){var de=document.documentElement;l+=de.scrollLeft;t+=de.scrollTop}return{left:l,top:t}},getStyle:function(el,styleName){el=JueKit(el);if(styleName=="opacity"){return this.getOpacity(el)}else{return el.currentStyle[styleName]}},setStyle:function(el,styleName,value){el=JueKit(el);if(styleName=="opacity"){this.setOpacity(el,value)}else{el.style[styleName]=value}},getOpacity:function(el){el=JueKit(el);var filter;if(el.filters.length==0){return 1}if(el.filters.item('alpha')){filter=el.filters.item('alpha')}else if(el.filters.item('DXImageTransform.Microsoft.Alpha')){filter=el.filters.item('DXImageTransform.Microsoft.Alpha')}else{return 1}return filter.opacity/100},setOpacity:function(el,value){el=JueKit(el);el.style.filter='alpha(opacity='+value*100+')';if(!el.currentStyle.hasLayout){el.style.zoom=1}}};JueKit.DomMF={getClientWidth:function(wnd){if(!wnd){wnd=window}return wnd.innerWidth},getClientHeight:function(wnd){if(!wnd){wnd=window}return wnd.innerHeight},getPosition:function(el,clientAbs){el=JueKit(el);if(el.parentNode===null||this.getStyle(el,'display')=='none'){return false}var box=el.getBoundingClientRect(),l=box.left,t=box.top;if(!clientAbs){var de=document.documentElement;l+=de.scrollLeft;t+=de.scrollTop}return{left:l,top:t}},getStyle:function(el,styleName){var value=null;el=JueKit(el);var dv=document.defaultView;if(styleName=="opacity"){return this.getOpacity(el)}else if(el.style[styleName]){value=el.style[styleName]}else if(dv&&dv.getComputedStyle){var converted='';for(i=0,len=styleName.length;i<len;++i){if(styleName.charAt(i)==styleName.charAt(i).toUpperCase()){converted=converted+'-'+styleName.charAt(i).toLowerCase()}else{converted=converted+styleName.charAt(i)}}if(dv.getComputedStyle(el,'').getPropertyValue(converted)){value=dv.getComputedStyle(el,'').getPropertyValue(converted)}}return value},setStyle:function(el,styleName,value){el=JueKit(el);if(styleName=="opacity"){this.setOpacity(el,value)}else{el.style[styleName]=value}},getOpacity:function(el,value){el=JueKit(el);document.defaultView.getComputedStyle(el,"").getPropertyValue("opacity")},setOpacity:function(el,value){el=JueKit(el);el.style.opacity=value;el.style["-moz-opacity"]=value;el.style["-khtml-opacity"]=value}};JueKit.DomOP={getClientWidth:function(wnd){if(!wnd){wnd=window}return wnd.document.body.clientWidth},getClientHeight:function(wnd){if(!wnd){wnd=window}return wnd.document.body.clientHeight},getPosition:function(el,clientAbs){el=JueKit(el);if(el.parentNode===null||this.getStyle(el,'display')=='none'){return false}var forElement=el;var t=0,l=0;do{t+=el.offsetTop||0;l+=el.offsetLeft||0;if(el.offsetParent==document.body&&this.getStyle(el,"position")=="absolute")break}while(el=el.offsetParent);if(clientAbs){var de=document.documentElement;l-=de.scrollLeft;t-=de.scrollTop}return{left:l,top:t}},getStyle:function(el,styleName){var value=null;el=JueKit(el);var dv=document.defaultView;if(styleName=="opacity"){return this.getOpacity(el)}else if(el.style[styleName]){value=el.style[styleName]}else if(dv&&dv.getComputedStyle){var converted='';for(i=0,len=styleName.length;i<len;++i){if(styleName.charAt(i)==styleName.charAt(i).toUpperCase()){converted=converted+'-'+styleName.charAt(i).toLowerCase()}else{converted=converted+styleName.charAt(i)}}if(dv.getComputedStyle(el,'').getPropertyValue(converted)){value=dv.getComputedStyle(el,'').getPropertyValue(converted)}}return value},setStyle:function(el,styleName,value){el=JueKit(el);if(styleName=="opacity"){this.setOpacity(el,value)}else{el.style[styleName]=value}},getOpacity:function(el,value){el=JueKit(el);return document.defaultView.getComputedStyle(el,"").getPropertyValue("opacity")},setOpacity:function(el,value){el=JueKit(el);el.style.opacity=value;el.style["-moz-opacity"]=value;el.style["-khtml-opacity"]=value}};JueKit.Dom={__init:function(){JueKit.Type.extend(JueKit.Dom,JueKit.DomComm);delete JueKit.DomComm;if(JueKit.Browser.isIE){JueKit.Type.extend(JueKit.Dom,JueKit.DomIE);delete JueKit.DomIE}else if(JueKit.Browser.isFirefox){JueKit.Type.extend(JueKit.Dom,JueKit.DomMF);delete JueKit.DomMF}else if(JueKit.Browser.isOpera){JueKit.Type.extend(JueKit.Dom,JueKit.DomOP);delete JueKit.DomOP}delete this.__init}};JueKit.Dom.__init();JueKit.El=JueKit.Type.createClass("JueKit.El",null,{ctor:function(el,outScope,outName){this.el=JueKit(el);this.__output(outScope,outName)},__output:function(outScope,outName){if(outScope){outScope[outName]=this.el}},firstEl:function(outScope,outName){}});JueKit.El.query=function(el,outScope,outName){return new JueKit.El(el,outScope,outName)};var JueKit2=JueKit.El.query;JueKit.DomEventHandlerItem=function(el,evtName,handler,scope,option){this._el=el;this._evtName=evtName;this._handler=handler;this._scope=scope;this._closureHandler=function(){return handler.call(scope,arguments[0],option)}};JueKit.EventComm={addHandler:function(el,evtName,handler,scope,option){if(!handler){throw new Error("参数 handler 不能为空。")}if(!scope){scope=window}el=JueKit(el);var hi;if(evtName=='load'&&(!el||el==window)&&scope!=this){hi=new JueKit.DomEventHandlerItem(el,evtName,handler,scope,option);this._loadHis.addLast(hi);return true}if(evtName=='unload'&&(!el||el==window)&&scope!=this){hi=new JueKit.DomEventHandlerItem(el,evtName,handler,scope,option);this._unloadHis.addLast(hi);return true}if(!el){return false}hi=new JueKit.DomEventHandlerItem(el,evtName,handler,scope,option);this._his.addLast(hi);return this.__addHandler(el,evtName,hi._closureHandler)},removeHandler:function(el,evtName,handler,scope){if(!scope){scope=window}el=JueKit(el);if(!el){return false}var node,hi;node=this._his.tryUntil(function(eventHandler){return(eventHandler._el==el&&eventHandler._evtName==evtName&&eventHandler._handler==handler&&(eventHandler._scope==scope))});if(!node){return}hi=node.get_value();var returnValue=this.__removeHandler(el,evtName,hi._closureHandler);this._his.remove(node);delete hi._handler;delete hi._closureHandler;return returnValue},__hWindow_onLoad:function(){this.__fireEventHandlerList(this._loadHis)},__hWindow_onUnload:function(){this.__fireEventHandlerList(this._unloadHis);this._his.forEach(function(hi){this.__removeHandler(hi._el,hi._evtName,hi._closureHandler);delete hi._handler;delete hi._closureHandler;delete hi},this);this._his.clear()},__hBody_ContextMenu:function(evt){if(evt._jueStop){JueKit.Event.stop(evt);return}},__fireEventHandlerList:function(eventHandlerList){eventHandlerList.forEach(function(hi){hi._closureHandler();delete hi._handler;delete hi._closureHandler;delete hi});eventHandlerList.clear()},keyCode:function(evt){return evt.keyCode},ctrlKey:function(evt){return evt.ctrlKey}};JueKit.VK={VK_LBUTTON:0x01,VK_RBUTTON:0x02,VK_CANCEL:0x03,VK_MBUTTON:0x04,VK_XBUTTON1:0x05,VK_XBUTTON2:0x06,VK_BACK:0x07,VK_BACKSPACE:0x08,VK_TAB:0x09,VK_CLEAR:0x0C,VK_RETURN:0x0D,VK_SHIFT:0x10,VK_CONTROL:0x11,VK_MENU:0x12,VK_PAUSE:0x13,VK_CAPITAL:0x14,VK_ESCAPE:0x1B,VK_CONVERT:0x1C,VK_NONCONVERT:0x1D,VK_ACCEPT:0x1E,VK_MODECHANGE:0x1F,VK_SPACE:0x20,VK_PRIOR:0x21,VK_NEXT:0x22,VK_END:0x23,VK_HOME:0x24,VK_LEFT:0x25,VK_UP:0x26,VK_RIGHT:0x27,VK_DOWN:0x28,VK_PAUSE:0x13,VK_SELECT:0x2F,VK_SNAPSHOT:0x2C,VK_INSERT:0x2D,VK_DELETE:0x2E,VK_HELP:0x2F,VK_0:0x30,VK_1:0x31,VK_2:0x32,VK_3:0x33,VK_4:0x34,VK_5:0x35,VK_6:0x36,VK_7:0x37,VK_8:0x38,VK_9:0x39,VK_A:0x41,VK_B:0x42,VK_C:0x43,VK_D:0x44,VK_E:0x45,VK_F:0x46,VK_G:0x47,VK_H:0x48,VK_I:0x49,VK_J:0x4A,VK_K:0x4B,VK_L:0x4C,VK_M:0x4D,VK_N:0x4E,VK_O:0x4F,VK_P:0x50,VK_Q:0x51,VK_R:0x52,VK_S:0x53,VK_T:0x54,VK_U:0x55,VK_V:0x56,VK_W:0x57,VK_X:0x58,VK_Y:0x59,VK_Z:0x5A,VK_LWIN:0x5B,VK_RWIN:0x5C,VK_APPS:0x5D,VK_SLEEP:0x5F,VK_NUMPAD0:0x60,VK_NUMPAD1:0x61,VK_NUMPAD2:0x62,VK_NUMPAD3:0x63,VK_NUMPAD4:0x64,VK_NUMPAD5:0x65,VK_NUMPAD6:0x66,VK_NUMPAD7:0x67,VK_NUMPAD8:0x68,VK_NUMPAD9:0x69,VK_MULTIPLY:0x6A,VK_ADD:0x6B,VK_SEPARATOR:0x6C,VK_SUBTRACT:0x6D,VK_DECIMAL:0x6E,VK_DIVIDE:0x6F,VK_F1:0x70,VK_F2:0x71,VK_F3:0x72,VK_F4:0x73,VK_F5:0x74,VK_F6:0x75,VK_F7:0x76,VK_F8:0x77,VK_F9:0x78,VK_F10:0x79,VK_F11:0x7A,VK_F12:0x7B,VK_NUMLOCK:0x90};JueKit.EventIE={srcEl:function(evt){return evt.srcElement},button:function(evt){if(evt.button==1){return 1}if(evt.button==2){return 3}if(evt.button==4){return 2}return 0},isLeftButton:function(evt){return evt.button==1},isRightButton:function(evt){return evt.button==2},pointerX:function(evt){return evt.clientX+document.documentElement.scrollLeft},pointerY:function(evt){return evt.clientY+document.documentElement.scrollTop},stop:function(evt){evt.returnValue=false;evt.cancelBubble=true},__addHandler:function(el,evtName,handler){return el.attachEvent('on'+evtName,handler)},__removeHandler:function(el,evtName,handler){return el.detachEvent('on'+evtName,handler)}};JueKit.EventMF={srcEl:function(evt){return evt.target},button:function(evt){return evt.which},isLeftButton:function(evt){return evt.which==1},isRightButton:function(evt){return evt.which==3},pointerX:function(evt){return evt.pageX},pointerY:function(evt){return evt.pageY},stop:function(evt){evt.preventDefault();evt.stopPropagation()},__addHandler:function(el,evtName,handler){return el.addEventListener(evtName,handler,false)},__removeHandler:function(el,evtName,handler){return el.removeEventListener(evtName,handler,false)}};JueKit.Event={__init:function(){JueKit.Type.extend(JueKit.Event,JueKit.EventComm);delete JueKit.EventComm;if(JueKit.Browser.isIE){JueKit.Type.extend(JueKit.Event,JueKit.EventIE);delete JueKit.EventIE}else if(JueKit.Browser.isFirefox){JueKit.Type.extend(JueKit.Event,JueKit.EventMF);delete JueKit.EventMF}else if(JueKit.Browser.isOpera){JueKit.Type.extend(JueKit.Event,JueKit.EventMF);delete JueKit.EventMF}this._his=new JueKit.Collection.LinkedList();this._loadHis=new JueKit.Collection.LinkedList();this._unloadHis=new JueKit.Collection.LinkedList();this.addHandler(window,"load",this.__hWindow_onLoad,this);this.addHandler(window,"unload",this.__hWindow_onUnload,this);delete this.__init}};JueKit.Event.__init();JueKit.CustomEventControl=JueKit.Type.createClass("JueKit.CustomEventControl",null,{__addHandler:function(eventName,handler,scope){this._eventHandlerList.add(eventName,handler,scope)},addHandler:function(eventName,handler,scope){if(!handler){throw new Error("参数 handler 不能为空。")}this._eventHandlerList=new JueKit.EventHandlerList();this.__addHandler(eventName,handler,scope);this.addHandler=this.__addHandler;delete this.__addHandler},removeHandler:function(eventName,handler,scope){if(this._eventHandlerList){this._eventHandlerList.remove(eventName,handler,scope)}},fireEvent:function(eventName,args){if(!this._eventHandlerList){return}this._eventHandlerList.fire(eventName,this,args)}});JueKit.EventHandlerItem=function(handler,scope){this._handler=handler;this._scope=scope};JueKit.EventHandler=JueKit.Type.createClass("JueKit.EventHandler");JueKit.Type.extend(JueKit.EventHandler.prototype,{___get_his:function(){return this._his},__get_his:function(){this._his=new JueKit.Collection.LinkedList();this.__get_his=this.___get_his;return this._his},add:function(handler,scope){if(!scope){scope=window}var hi=new JueKit.EventHandlerItem(handler,scope);this.__get_his().addLast(hi)},remove:function(handler,scope){var his=this.__get_his();if(!scope){scope=window}var node,hi;node=his.tryUntil(function(handlerItem){return(handlerItem._handler==handler&&handlerItem._scope==scope)});if(node){hi=node.get_value();his.remove(node);delete hi._handler;delete hi._scope;delete hi._evtArguments}},clear:function(){if(this._his){this._his.clear()}},__fireEventHandlerItem:function(hi,arrArgs){return hi._handler.call(hi._scope,arrArgs.sender,arrArgs.eventArgs)},fire:function(sender,eventArgs){if(this._his){this.__get_his().forEach(this.__fireEventHandlerItem,this,{sender:sender,eventArgs:eventArgs})}},fireUntil:function(sender,eventArgs){if(this._his){this.__get_his().enumWhile(this.__fireEventHandlerItem,this,{sender:sender,eventArgs:eventArgs})}}});JueKit.EventHandlerList=JueKit.Type.createClass("JueKit.EventHandlerList");JueKit.Type.extend(JueKit.EventHandlerList.prototype,{ctor:function(){this._eventHandlerList={}},__getEventHandler:function(eventName){if(!this._eventHandlerList[eventName]){this._eventHandlerList[eventName]=new JueKit.EventHandler()}return this._eventHandlerList[eventName]},add:function(eventName,handler,scope){var eventHandler=this.__getEventHandler(eventName);eventHandler.add(handler,scope)},remove:function(eventName,handler,scope){var eventHandler=this._eventHandlerList[eventName];if(eventHandler){eventHandler.remove(handler,scope)}},clear:function(eventName){var eventHandler=this._eventHandlerList[eventName];if(eventHandler){eventHandler.clear()}},fire:function(eventName,sender,eventArgs){var eventHandler=this._eventHandlerList[eventName];if(eventHandler){eventHandler.fire(sender,eventArgs)}},fireUntil:function(eventName,sender,eventArgs){var eventHandler=this._eventHandlerList[eventName];if(eventHandler){eventHandler.fireUntil(sender,eventArgs)}}});JueKit.Type.registerNamespace("JueKit.Net");JueKit.Net.HttpRequest=JueKit.Type.createClass("JueKit.Net.HttpRequest",null,{get_url:function(){return this._url},set_url:function(value){this._url=value},get_method:function(){return this._method},set_method:function(value){this._method=value},get_async:function(){return this._async},set_async:function(value){this._async=value},ctor:function(url,method,async){this._url=url;if(!method){method="GET"}this._method=method;if(!async){async=true}this._async=async;this._xhr=JueKit.Net.HttpRequest.__createXhr();this._eventHandlerList=new JueKit.EventHandlerList();this._headers={};this._content=[]},__hReadyStateChange:function(){var xhr=this._xhr;if(xhr.readyState==4){if(xhr.status==200){this._eventHandlerList.fire("success",xhr.responseText)}else{this._eventHandlerList.fire("failed",xhr.responseText,xhr._status)}JueKit.Net.HttpRequest.release(this)}},add_success:function(handler,scope){this._eventHandlerList.add("success",handler,scope)},remove_success:function(handler,scope){this._eventHandlerList.remove("success",handler,scope)},add_failed:function(handler,scope){this._eventHandlerList.add("failed",handler,scope)},remove_failed:function(handler,scope){this._eventHandlerList.remove("failed",handler,scope)},setHeader:function(name,value){this._headers[name]=value},addContent:function(name,value){this._content[this._content.length]={name:name,value:value}},clearContent:function(){this._content.length=0},send:function(data){var xhr=this._xhr;if(JueKit.Browser.isIE){this._url+=(this._url.indexOf("?")<0?"?":"&")+"_hrc_="+JueKit.Net.HttpRequest._hrc++}xhr.open(this._method,this._url,this._async,this._userName,this._password);for(var hk in this._headers){xhr.setRequestHeader(hk,this._headers[hk])}if(this._async){var oThis=this;xhr.onreadystatechange=function(){oThis.__hReadyStateChange()}}xhr.setRequestHeader('Cache-Control','no-cache');if(this._method=="POST"){xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");var content=this._content;if(data){xhr.send(data.toString())}else if(content.length>0){var sb=new JueKit.Text.StringBuilder();var ci;for(var i=0;i<content.length;i++){ci=content[i];sb.append(encodeURIComponent(ci.name)+'='+encodeURIComponent(ci.value)+'&')}xhr.send(sb.toString())}else{xhr.send("")}}else{xhr.send("")}return xhr},get:function(url,async){this.set_url(url);this.set_async(async);this.set_method("GET");this.send()},post:function(url,async,data){this.set_url(url);this.set_async(async);this.set_method("POST");this.send(data)}});JueKit.Net.HttpRequestPool=JueKit.Type.createClass("JueKit.UI.HttpRequestPool",JueKit.Pool,{createEntry:function(){var o=new JueKit.Net.HttpRequest();return o},initEntry:function(entry){},cleanEntry:function(entry){entry._eventHandlerList.clear("success");entry._eventHandlerList.clear("failed");entry.clearContent();entry._headers={}},destroyEntry:function(entry){}});JueKit.Type.extend(JueKit.Net.HttpRequest,{_hrc:0,_pool:new JueKit.Net.HttpRequestPool(),gain:function(options){return this._pool.gain()},release:function(xhr){this._pool.release(xhr)},__initClass:function(){if(window.XMLHttpRequest){this.__createXhr=function(){return new XMLHttpRequest()}}else{this.__createXhr=function(){return new ActiveXObject('MSXML2.XmlHttp')}}delete this.__initClass}});JueKit.Net.HttpRequest.__initClass();JueKit.Validator={validate:function(value,options,element,name){var vi=options.notEmpty;if(vi){if(value===undefined||value===null||value===""){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'notEmpty',vi)}else{}return false}}else{if(value===undefined||value===null||value===""){return true}}vi=options.isNumber;if(vi){if(isNaN(value)==true){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'isNumber',vi)}else{}return false}}vi=options.isDate;if(vi){var reg=/^\d{4}-\d{1,2}-\d{1,2}$/g;var r=value.match(reg);if(!r){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'isDate',vi)}return false}}vi=options.equalTo;if(vi){if(value!=vi.value){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'equalTo',vi)}return false}}vi=options.minLength;if(vi){if(value.toString().length<vi.value){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'minLength',vi)}return false}}vi=options.maxLength;if(vi){if(value.toString().length>vi.value){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'maxLength',vi)}return false}}vi=options.minValue;if(vi){if(value<vi.value){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'minValue',vi)}return false}}vi=options.maxValue;if(vi){if(value>vi.value){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'maxValue',vi)}return false}}vi=options.compareValue;if(vi){var isMatch=false;switch(vi.condition){case'==':if(value=vi.value)isMatch=true;break;case'>':if(value>vi.value)isMatch=true;break;case'>=':if(value>=vi.value)isMatch=true;break;case'<':if(value<vi.value)isMatch=true;break;case'<=':if(value<=vi.value)isMatch=true;break;case'!=':if(value!=vi.value)isMatch=true;break}if(!isMatch){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'compareValue',vi)}return false}}vi=options.fileName;if(vi){var reg=/[\*]|[\|]|[\\]|[\:]|[<]|[>]|[\?]|[/]|[\r]|[\t]|[\n]/g;var r=value.match(reg);if(r){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'ext',vi)}return false}}vi=options.exts;if(vi){var reg=/^[\.]([^\*\|\\\:<>\?/\r\t\n])+$/g;var extsList=value.split("|");for(var n=0;n<extsList.length;n++){var ext=extsList[n];if(ext){var r=ext.match(reg);if(!r){vi.ext=ext;if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'exts',vi)}return false}}}}vi=options.email;if(vi){var reg=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/g;var r=value.match(reg);if(!r){if(vi.onFailed){vi.onFailed.call(vi.scope,element,name,'email',vi)}return false}}return true}};JueKit.Type.registerNamespace("JueKit");JueKit.DDMng={_ddObjs:[],_dropObjs:[],addDragDrop:function(dd){if(dd._canDrop){var ds=this._dropObjs;ds.push(dd)}},cacheDropPos:function(){var ds=this._dropObjs,dd;for(var i=0;i<ds.length;i++){dd=ds[i];dd._cachedRect=JueKit.Dom.getRect(dd.el)}}};JueKit.DropTarget=JueKit.Type.createClass("JueKit.DropTarget",JueKit.CustomEventControl,{ctor:function(el,options){this.el=el;if(options){this._category=options.category}this._canDrop=true;JueKit.DDMng.addDragDrop(this)},get_category:function(){return this._category}});JueKit.DragDrop=JueKit.Type.createClass("JueKit.DragDrop",JueKit.DropTarget,{_offsetX:0,_offsetY:0,_direction:3,ctor:function(el,trigger,invalidTriggerTypes,options){el=JueKit(el);this.el=JueKit(el);this.set_trigger(trigger);this._invalidTriggerTypes=invalidTriggerTypes;if(options){this._category=options.category||"default";this._canDrop=options.canDrop}JueKit.DDMng.addDragDrop(this)},__triggerMousedown:function(evt){if(this._invalidTriggerTypes){var el=JueKit.Event.srcEl(evt);if(JueKit.String.include(this._invalidTriggerTypes,el.tagName,",")){return}}if(this._disable){return}this._startX=JueKit.Event.pointerX(evt);this._startY=JueKit.Event.pointerY(evt);var pos=JueKit.Dom.getPosition(this.el);this._startPosX=pos.left+this._offsetX;this._startPosY=pos.top+this._offsetY;JueKit.DDMng.cacheDropPos();var args={event:evt,result:true};if(this.b4Drag){this.b4Drag(args)}if(!args.result){return}this.fireEvent("b4Drag",args);if(!args.result){return}if(!this._indicator){this._indicator=this.el}var style=this._indicator.style;if(style.position!="absolute"){style.position="absolute"}style.left=this._startPosX+"px";style.top=this._startPosY+"px";JueKit.Dom.show(this._indicator);JueKit.Event.addHandler(document.body,'mousemove',this.__bodyMousemove,this);JueKit.Event.addHandler(document.body,'mouseup',this.__bodyMouseup,this);this._oldSelectStart=document.body.onselectstart;document.body.onselectstart=JueKit.fReturnFalse;if(this.onDragStart){this.onDragStart(evt)}},__bodyMousemove:function(evt){if(this._direction&1){this._curX=JueKit.Event.pointerX(evt);var dx=this._curX-this._startX}if(this._direction&2){this._curY=JueKit.Event.pointerY(evt);var dy=this._curY-this._startY}this.onDrag&&this.onDrag();var lastDd=this._lastDropTarget;dd=this.__getCurDropTarget();if(lastDd&&lastDd!=dd){var args={result:true,event:evt,drag:this};lastDd.onDropOut&&lastDd.onDropOut(args);if(args.result){lastDd.fireEvent("dropOut",args)}}this._lastDropTarget=dd;if(dd){var args={result:true,event:evt,drag:this};dd.onDropHover&&dd.onDropHover(args);if(args.result){dd.fireEvent("dropHover",args)}}},__bodyMouseup:function(evt){JueKit.Event.removeHandler(document.body,'mousemove',this.__bodyMousemove,this);JueKit.Event.removeHandler(document.body,'mouseup',this.__bodyMouseup,this);document.body.onselectstart=this._oldSelectStart;var dd=this.__getCurDropTarget();if(dd){var args={result:true,event:evt,drag:this};dd.onDrop&&dd.onDrop(args);if(args.result){dd.fireEvent("drop",args)}}this._lastDropTarget=null;if(this.b4EndDrag){this.b4EndDrag(evt)}if(this.endDrag){this.endDrag(evt)}this.fireEvent("endDrag");},onDrag:function(){if(this._direction&1){var dx=this._curX-this._startX;this._indicator.style.left=(this._startPosX+dx)+"px"}if(this._direction&2){var dy=this._curY-this._startY;this._indicator.style.top=(this._startPosY+dy)+"px"}},__getCurDropTarget:function(){var ds=JueKit.DDMng._dropObjs,dd,rect,x=this._curX,y=this._curY;for(var i=0;i<ds.length;i++){dd=ds[i];rect=dd._cachedRect;if(rect.left<=x&&x<=rect.left+rect.width&&rect.top<=y&&y<=rect.top+rect.height){return dd}}},unreg:function(){JueKit.Event.removeHandler(this._trigger,'mousedown',this.__triggerMousedown,this)},clear:function(){this.unreg();delete this.el;delete this._trigger;delete this._invalidTriggerTypes},get_curX:function(){return this._curX},set_disable:function(value){this._disable=value},set_direction:function(value){this._direction=value},set_indicator:function(el){this._indicator=el},set_offsetX:function(value){this._offsetX=value},set_offsetY:function(value){this._offsetY=value},set_startPosX:function(value){this._startPosX=value},set_startPosY:function(value){this._startPosY=value},set_trigger:function(value){this._trigger=JueKit(value);if(!this._trigger){this._trigger=this.el}if(this._trigger){JueKit.Event.addHandler(this._trigger,'mousedown',this.__triggerMousedown,this)}}});JueKit.Type.extend(JueKit.DragDrop,{start:function(el,trigger){}});JueKit.DragDrop._theDd=new JueKit.DragDrop();JueKit.Path={__splitLast:function(text,splitter){if(text===undefined||text===null||text===""){return""}var nDotIndex=text.lastIndexOf(splitter);if(nDotIndex==-1){return""}return text.substr(nDotIndex+splitter.length).toLowerCase()},getFileName:function(path,splitter){var retVal=this.__splitLast(path,splitter);if(retVal==""){return path}},getExtName:function(path){return this.__splitLast(path,".")}};JueKit.Tweener=JueKit.Type.createClass("JueKit.Tweener",null,{ctor:function(time,interval,formula){this._time=time||2000;this._interval=interval||40;this._formula=formula||JueKit.Tweener.defaultFormula},tween:function(onStep,onComplete){var time=this._time;var interval=this._interval;var formula=this._formula;var end=formula(1);var t=0;function cb(){t+=interval;var x=t/time;if(x<1){onStep(formula(x)/end)}else{onStep(1);onComplete&&onComplete();clearInterval(intervalId)}}var intervalId=setInterval(cb,interval);return intervalId},opacity:function(el,begin,end,onComplete){var delta=end-begin;function onStep(rate){JueKit.Dom.setStyle(el,"opacity",rate*delta+begin)}return this.tween(onStep,onComplete)},moveBy:function(el,offsetX,offsetY,onComplete){var pos=JueKit.Dom.getPosition(el);var left=pos.left;var top=pos.top;function onStep(rate){JueKit.Dom.setPosition(el,offsetX*rate+left,offsetY*rate+top)}return this.tween(onStep,onComplete)},sizeTo:function(el,offsetWidth,offsetHeight,fixHorizon,fixVertical,onComplete){var size=JueKit.Dom.getSize(el);var pos=JueKit.Dom.getPosition(el);var width=size.width;var height=size.height;offsetWidth-=width;offsetHeight-=height;fixHorizon=fixHorizon||0;fixVertical=fixVertical||0;function onStep(rate){JueKit.Dom.setOffsetWidth(el,offsetWidth*rate+width);JueKit.Dom.setOffsetHeight(el,offsetHeight*rate+height);if(fixHorizon==1){el.style.left=(pos.left-offsetWidth*rate)+"px"}if(fixVertical==1){el.style.top=(pos.top-offsetHeight*rate)+"px"}}return this.tween(onStep,onComplete)}});JueKit.Tweener.defaultFormula=function(x){return 1-Math.pow(1-x,3)};JueKit.Type.extend(JueKit.Tweener,{_defaultTweener:new JueKit.Tweener(),opacity:function(el,begin,end,onComplete){return this._defaultTweener.opacity(el,begin,end,onComplete)},moveBy:function(el,offsetX,offsetY,onComplete){return this._defaultTweener.moveBy(el,offsetX,offsetY,onComplete)},moveTo:function(el,positionX,positionY,onComplete){var pos=JueKit.Dom.getPosition(el);var offsetX=positionX-pos.left;var offsetY=positionY-pos.top;return this._defaultTweener.moveBy(el,offsetX,offsetY,onComplete)},sizeTo:function(el,offsetWidth,offsetHeight,onComplete){return this._defaultTweener.sizeTo(el,offsetWidth,offsetHeight,onComplete)}});JueKit.ClipBoard={_cpCnt:0,copy:function(value){if(!JueKit.theRcp){return false}var flashUrl=JueKit.theRcp.get_clientLibUrl()+"cp.swf";var elWrap=this._elWrap,wrapId="_jueCpFlashWrap";flashId="_jueCpFlash"+this._cpCnt++;if(!elWrap){elWrap=document.createElement("div");elWrap.id=wrapId;document.body.appendChild(elWrap);this._elWrap=elWrap}elWrap.innerHTML="<embed src='"+flashUrl+"' FlashVars='clipboard="+encodeURIComponent(value)+"' width='0' height='0' type='application/x-shockwave-flash' id='"+flashId+"'></embed>";return true}};JueKit.XmlDom={createDocument:null,__init:function(){if(document.implementation&&document.implementation.createDocument){JueKit.XmlDom.createDocument=function(){var oXmlDom=document.implementation.createDocument("","",null);oXmlDom.parseError={valueOf:function(){return this.errorCode},toString:function(){return this.errorCode.toString()}};oXmlDom.__initError__();oXmlDom.addEventListener("load",function(){this.__checkForErrors__();this.__changeReadyState__(4)},false);return oXmlDom}}else{JueKit.XmlDom.createDocument=function(){return new ActiveXObject('MSXML2.DOMDocument')}}var oMozDocument=null;if(typeof XMLDocument!="undefined"){oMozDocument=XMLDocument}else if(typeof Document!="undefined"){oMozDocument=Document}if(oMozDocument){oMozDocument.prototype.readyState=0;oMozDocument.prototype.onreadystatechange=null;oMozDocument.prototype.__changeReadyState__=function(iReadyState){this.readyState=iReadyState;if(typeof this.onreadystatechange=="function"){this.onreadystatechange()}};oMozDocument.prototype.__initError__=function(){this.parseError.errorCode=0;this.parseError.filepos=-1;this.parseError.line=-1;this.parseError.linepos=-1;this.parseError.reason=null;this.parseError.srcText=null;this.parseError.url=null};oMozDocument.prototype.__checkForErrors__=function(){if(this.documentElement.tagName=="parsererror"){var reError=/>([\s\S]*?)Location:([\s\S]*?)Line Number (\d+), Column (\d+):<sourcetext>([\s\S]*?)(?:\-*\^)/;reError.test(this.xml);this.parseError.errorCode=-999999;this.parseError.reason=RegExp.$1;this.parseError.url=RegExp.$2;this.parseError.line=parseInt(RegExp.$3);this.parseError.linepos=parseInt(RegExp.$4);this.parseError.srcText=RegExp.$5}};oMozDocument.prototype.loadXML=function(sXml){this.__initError__();this.__changeReadyState__(1);var oParser=new DOMParser();var oXmlDom=oParser.parseFromString(sXml,"text/xml");while(this.firstChild){this.removeChild(this.firstChild)}for(var i=0;i<oXmlDom.childNodes.length;i++){var oNewNode=this.importNode(oXmlDom.childNodes[i],true);this.appendChild(oNewNode)}this.__checkForErrors__();this.__changeReadyState__(4)};oMozDocument.prototype.__load__=oMozDocument.prototype.load;oMozDocument.prototype.load=function(sURL){this.__initError__();this.__changeReadyState__(1);this.__load__(sURL)};Node.prototype.getXML=function(){var oSerializer=new XMLSerializer();return oSerializer.serializeToString(this,"text/xml")};Node.prototype.getText=function(){var sText="";for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].hasChildNodes()){sText+=this.childNodes[i].text}else{sText+=this.childNodes[i].nodeValue}}return sText};Node.prototype.__defineGetter__("xml",function(){var oSerializer=new XMLSerializer();return oSerializer.serializeToString(this,"text/xml")});Node.prototype.__defineGetter__("text",function(){var sText="";for(var i=0;i<this.childNodes.length;i++){if(this.childNodes[i].hasChildNodes()){sText+=this.childNodes[i].text}else{sText+=this.childNodes[i].nodeValue}}return sText})}}};JueKit.XmlDom.__init();JueKit.Xslt={transformToText:function(oXml,oXslt){if(typeof XSLTProcessor!="undefined"){var oProcessor=new XSLTProcessor();oProcessor.importStylesheet(oXslt);var oResultDom=oProcessor.transformToDocument(oXml);var sResult=oResultDom.xml;if(sResult.indexOf("<transformiix:result")>-1){sResult=sResult.substring(sResult.indexOf(">")+1,sResult.lastIndexOf("<"))}return sResult}else{return oXml.transformNode(oXslt)}}};JueKit.XPath={selectNodes:function(oRefNode,sXPath,oXmlNs){if(typeof XPathEvaluator!="undefined"){oXmlNs=oXmlNs||{};var nsResolver=function(sPrefix){return oXmlNs[sPrefix]};var oEvaluator=new XPathEvaluator();var oResult=oEvaluator.evaluate(sXPath,oRefNode,nsResolver,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null);var aNodes=new Array;if(oResult!=null){var oElement=oResult.iterateNext();while(oElement){aNodes.push(oElement);oElement=oResult.iterateNext()}}return aNodes}else{if(oXmlNs){var sXmlNs="";for(var sProp in oXmlNs){sXmlNs+="xmlns:"+sProp+"="+oXmlNs[sProp]+" "}oRefNode.ownerDocument.setProperty("SelectionNamespaces",sXmlNs)}return oRefNode.selectNodes(sXPath)}},selectSingleNode:function(oRefNode,sXPath,oXmlNs){if(typeof XPathEvaluator!="undefined"){oXmlNs=oXmlNs||{};var nsResolver=function(sPrefix){return oXmlNs[sPrefix]};var oEvaluator=new XPathEvaluator();var oResult=oEvaluator.evaluate(sXPath,oRefNode,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null);if(oResult!=null){return oResult.singleNodeValue}else{return null}}else{if(oXmlNs){var sXmlNs="";for(var sProp in oXmlNs){sXmlNs+="xmlns:"+sProp+"="+oXmlNs[sProp]+" "}oRefNode.ownerDocument.setProperty("SelectionNamespaces",sXmlNs)}return oRefNode.selectSingleNode(sXPath)}}};JueKit.XMLSerializer={serializeToString:function(node){var xml="";switch(node.nodeType){case 1:xml="<"+node.tagName;for(var i=0;i<node.attributes.length;i++){xml+=" "+node.attributes[i].name+"=\""+node.attributes[i].value+"\""}xml+=">";for(var i=0;i<node.childNodes.length;i++){xml+=this.serializeToString(node.childNodes[i])}xml+="</"+node.tagName+">";break;case 3:xml=node.nodeValue;break;case 4:xml="<![CDATA["+node.nodeValue+"]]>";break;case 7:xml="<?"+node.nodevalue+"?>";break;case 8:xml="<!--"+node.nodevalue+"-->";break;case 9:for(var i=0;i<node.childNodes.length;i++){xml+=this.serializeToString(node.childNodes[i])}break}return xml}};