if(!JsNamespace.exist("Eco.XComp")){JsNamespace.declare("Eco.XComp",{_operators:{"equal":function(_a,_b){if(Eco.isEmpty(_b)){return Eco.isEmpty(_a);}return _a==_b;},"notEqual":function(_a,_b){return _a!=_b;},"greaterThan":function(_a,_b){return _a>_b;},"greaterThanEqual":function(_a,_b){return _a>=_b;},"lessThan":function(_a,_b){return _a<_b;},"lessThanEqual":function(_a,_b){return _a<=_b;},"contains":function(_a,_b){return _a&&_a.indexOf(_b)> -1;},"startWith":function(_a,_b){return _a&&_a.substr(0,_b.length)==_b;},"endWith":function(_a,_b){return _a&&_a.substr(_a.length-_b.length)==_b;}},typeOf:function(_a){var _b;if(_a&&(typeof _a=="object")){var _c=_a.toString();if(_c=="[object Object]"){return _b;}_b=_c.substr(8,_c.length-9);}return _b;},isVisible:function(_a){if(!("visible" in _a)){return false;}if(_a.visible==false){return false;}var _b=true;var _c=_a.parent;while(_c){if(_c instanceof ChildFrame){break;}if(_c.visible===false){_b=false;break;}_c=_c.parent;}return _b;},isVisual:function(_a){if(!("currentstyle" in _a)){return false;}return true;},isEnable:function(_a){if(!("enable" in _a)){return false;}if(_a.enable==false){return false;}var _b=true;var _c=_a.parent;while(_c){if(_c instanceof ChildFrame){break;}if(_c.enable===false){_b=false;break;}_c=_c.parent;}return _b;},_parseQueryCache:[],_tokenizeQueryWhere:function(_a){var _b;var _c=0;var _d;var _e;var _f;var _g=[];var _h='<>&|=*^$!';var _i='=>&|';var _j=_a.length;_b=_a.charAt(_c);while(_b){if(_b<=' '){_c+=1;_b=_a.charAt(_c);}else if((_b>='a'&&_b<='z')||(_b>='A'&&_b<='Z')||_b=='_'){_d=_b;_c+=1;for(;;){_b=_a.charAt(_c);if((_b>='a'&&_b<='z')||(_b>='A'&&_b<='Z')||(_b>='0'&&_b<='9')||_b==='_'){_d+=_b;_c+=1;}else{break;}}if(_d=='true'||_d=='false'){_g.push({type:'boolean',value:_d});}else{_g.push({type:'named',value:_d});}}else if(_b>='0'&&_b<='9'){_d=_b;_c+=1;for(;;){_b=_a.charAt(_c);if(_b<'0'||_b>'9'){break;}_c+=1;_d+=_b;}if(_b==='.'){_c+=1;_d+=_b;for(;;){_b=_a.charAt(_c);if(_b<'0'||_b>'9'){break;}_c+=1;_d+=_b;}}if(_b==='e'||_b==='E'){_c+=1;_d+=_b;_b=_a.charAt(_c);if(_b==='-'||_b==='+'){_c+=1;_d+=_b;_b=_a.charAt(_c);}if(_b<'0'||_b>'9'){trace("Bad exponent");}do{_c+=1;_d+=_b;_b=_a.charAt(_c);}while(_b>='0'&&_b<='9')}if(_b>='a'&&_b<='z'){_d+=_b;_c+=1;trace("Bad number");}_e= +_d;if(isFinite(_e)){_g.push({type:'number',value:_e});}else{trace("Bad number");}}else if(_b==='\''||_b==='"'){_d='';_f=_b;_c+=1;for(;;){_b=_a.charAt(_c);if(_b<' '){if(_b==='\n'||_b==='\r'||_b===''){trace("Unterminated string.");}else{trace("Control character in string.");}}if(_b===_f){break;}if(_b==='\\'){_c+=1;if(_c>=_j){trace("Unterminated string");}_b=_a.charAt(_c);switch(_b){case 'b':_b='\b';break;case 'f':_b='\f';break;case 'n':_b='\n';break;case 'r':_b='\r';break;case 't':_b='\t';break;case 'u':if(_c>=_j){trace("Unterminated string");}_b=parseInt(_a.substr(_c+1,4),16);if(!isFinite(_b)||_b<0){trace("Unterminated string");}_b=String.fromCharCode(_b);_c+=4;break;}}_d+=_b;_c+=1;}_c+=1;_g.push({type:'string',value:_d});_b=_a.charAt(_c);}else if(_b==='/'&&_a.charAt(_c+1)==='/'){_c+=1;for(;;){_b=_a.charAt(_c);if(_b==='\n'||_b==='\r'||_b===''){break;}_c+=1;}}else if(_h.indexOf(_b)>=0){_d=_b;_c+=1;while(true){_b=_a.charAt(_c);if(_c>=_j||_i.indexOf(_b)<0){break;}_d+=_b;_c+=1;}_g.push({type:'operator',value:_d});}else{if("()[]".indexOf(_b)> -1){_g.push({type:'bracket',value:_b});}else{_g.push({type:'operator',value:_b});}_c+=1;_b=_a.charAt(_c);}}return _g;},_parseQueryWhere:function(_a){var _b=Eco.XComp;var _c=_b._parseQueryCache[_a];if(_c){return _c;}var _d,_e,_f,_g;var _h=_b._tokenizeQueryWhere(_a);var _i=0,_j=0;var _k=[];for(var _q=0,_r=_h.length;_q<_r;_q++ ){_d=_h[_q];_e=_d.type;_f=_d.value;if(_e=="bracket"){if(_f=="("){_k.push({depth:_i,type:"value",value:"("});_i+=1;_j=_i;}else if(_f==")"){_i-=1;_k.push({depth:_i,type:"value",value:")"});}}else if(_e=="named"){if(_f=="prop"||_f=="curStyle"||_f=="style"){_q+=1;_d=_h[_q];if(_d.type=="bracket"&&_d.value=="["){_q+=1;_d=_h[_q];_k.push({depth:_i,type:"operand",value:"Eco.XComp._getQueryCompValue(obj, \""+_f+"\", \""+_d.value+"\")"});}_q+=1;}else if(_f=="typeOf"||_f=="isVisible"||_f=="isVisual"||_f=="isEnable"){_k.push({depth:_i,type:"operand",value:"Eco.XComp."+_f+"(obj)"});}}else if(_e=="operator"){if(_f=="&&"||_f=="||"){_k.push({depth:_i,type:"operator",value:_f});}else{_g="";switch(_f){case '==':_g="equal";break;case '!=':_g="notEqual";break;case '>':_g="greaterThan";break;case '>=':_g="greaterThanEqual";break;case '<':_g="lessThan";break;case '<=':_g="lessThanEqual";break;case '*=':_g="contains";break;case '^=':_g="startWith";break;case '$=':_g="endWith";break;}_k.push({depth:_i,type:"replaceOperator",value:"Eco.XComp._operators."+_g+"($1, $2)"});}}else if(_e=="string"){_k.push({depth:_i,type:"operand",value:"\""+_f+"\""});}else if(_e=="number"||_e=="boolean"){_k.push({depth:_i,type:"operand",value:_f});}}var _l,_m,_n;for(var _q=_j;_q>=0;_q-- ){_b._replaceOperator(_q,_k);}var _o=[];for(var _q=0,_r=_k.length;_q<_r;_q++ ){_l=_k[_q];_o.push(_k[_q].value);}var _p="var f = function(obj) {\n return "+_o.join(" ")+";\n}";try{eval(_p);}catch(e){trace("eval error:"+e.description);}_b._parseQueryCache[_a]=f;return f;},_replaceOperator:function(_a,_b){var _c;for(var _d=0,_e=_b.length;_d<_e;_d++ ){_c=_b[_d];if(_c.depth==_a){if(_c.type=="replaceOperator"){s0=_b[_d-1];s1=_b[_d+1];if(s0&&s0.depth==_a&&s0.type=="operand"&&s1&&s1.depth==_a&&s1.type=="operand"){temp=_c.value;temp=temp.replace("$1",s0.value);temp=temp.replace("$2",s1.value);_c.depth=_c.depth-1;_c.type="operand";_c.value=temp;s0.depth=null;s1.depth=null;_d+=1;}}}}for(var _d=(_b.length-1);_d>=0;_d-- ){_c=_b[_d];if(_c.depth==null){_b.splice(_d,1);_d-- ;}}},_getQueryCompValue:function(_a,_b,_c){var _d;if(_b=="prop"){_d=_a[_c];}else if(_b=="curStyle"){_d=_a.currentstyle[_c];}else if(_b=="style"){_d=_a.style[_c];}if(_d&&typeof _d=="object"){if(_d.toString){_d=_d.toString();}else{_d=_d+"";}_d=_d.trim();}return _d;},_getAll:function(_a){var _b=[];var _c=_a.all;if(_c){for(var _d=0,_e=_c.length;_d<_e;_d++ ){_b.push(_c[_d]);}}else{_c=_a.objects;if(_c){for(var _d=0,_e=_c.length;_d<_e;_d++ ){_b.push(_c[_d]);}}_c=_a.components;if(_c){for(var _d=0,_e=_c.length;_d<_e;_d++ ){_b.push(_c[_d]);}}}return _b;},_getChildren:function(_a,_b){var _c=Eco.XComp;var _d=_c._getAll(_a);var _e=[],_f,_g,_h;_b.current+=1;for(var _i=0,_j=_d.length;_i<_j;_i++ ){_f=_d[_i];_g=_c._getAll(_f);if(_g&&_g.length>0&&_b.max>=_b.current){_e.push(_f);_h=_c._getChildren(_f,_b);_e=_e.concat(_h);_b.current-=1;}else{_e.push(_f);}}return _e;},query:function(_a,_b,_c){var _d=Eco.XComp;if(!_a||!Eco.isXComponent(_a)){return [];}var _e={};_e.current=0;if(Eco.isNumber(_c)){_e.max=_c;}else if(nexacro.isNumeric(_c)){_e.max=parseInt(_c);}else{_e.max=Number.MAX_VALUE;}var _f=[];var _g=_d._getChildren(_a,_e);if(Eco.isEmpty(_b)){_f=_g.slice(0);}else{var _h=_d._parseQueryWhere(_b);var _i,_j;for(var _k=0,_l=_g.length;_k<_l;_k++ ){_i=_g[_k];_j=_h.call(_d,_i);if(_j){_f.push(_i);}}}return _f;},getPathName:function(_a,_b){var _c=_a,_d=[];while(_c){if(_c instanceof ChildFrame){break;}if(_b&&_c===_b){break;}_d.push(_c.name);_c=_c.parent;}_d=_d.reverse();return _d.join(".");},getCompByPathName:function(_a,_b){var _c=[],_d,_e,_f;_c=_a.split(".");for(_d=0,_e=_c.length;_d<_e;_d++ ){_f=_c[_d];_b=_b[_f];if(!_b){break;}}return _b;},lookup:function(_a,_b){var _c;while(_a){_c=_a.components;if(_c&&_c[_b]){return _c[_b];}_c=_a.objects;if(_c&&_c[_b]){return _c[_b];}_a=_a.parent;}return null;},contains:function(_a,_b){while(_b){if(_b==_a){return true;}_b=_b.parent;}return false;},getTopLevelForm:function(_a){var _b=_a;while(_b&&!(_b instanceof ChildFrame)){_b=_b.parent;}return _b.form;},getPopupArguments:function(_a,_b){var _c=_a;while(_c&&!(_c instanceof ChildFrame)){_c=_c.parent;}var _d={};for(var _e=0,_f=_b.length;_e<_f;_e++ ){_d[_b[_e]]=_c[_b[_e]];}return _d;},getScriptForm:function(_a){var _b=_a;while(_b){if((_b.url&&_b.url.length)||(_b.parent instanceof ChildFrame)){break;}_b=_b.parent;}return _b;},setProperties:function(){var _a=Eco.XComp;var _b=arguments.length;if(_b<=0){Eco.Logger.error({message:"argument doesn't exist!!",stack:true});}var _c=arguments[0];if(Eco.isUndefined(_a.typeOf(_c))){Eco.Logger.error({message:"target must be a nexacro Component(Object) !!",stack:true});}var _d;for(var _e=1;_e<_b;_e+=2){_d=arguments[_e];value=arguments[_e+1];if(_d in _c){if(_c["set_"+_d]){_c['set_'+_d](value);}}}},getProperties:function(){var _a=Eco.XComp;var _b=arguments.length;if(_b<=0){Eco.Logger.error({message:"argument doesn't exist!!",stack:true});}var _c=arguments[0];if(Eco.isUndefined(_a.typeOf(_c))){Eco.Logger.error({message:"target must be a nexacro Component(Object) !!",stack:true});}var _d=[];var _e;for(var _f=1;_f<_b;_f++ ){_d.push(_c[arguments[_f]]);}return _d;},_CRLF:String.fromCharCode(13,10),_INDENT:" ",_getLayoutString:function(_a,_b){if(Eco.isEmpty(_b)){_b=0;}var _c=Eco.XComp;var _d=_c._CRLF;var _e=_c._INDENT;var _f=_b;var _g="";while(_f>0){_g+=_e;_f-- ;}var _h="";var _i=_a.components;if(_i){var _j,_k;var _l=Eco.XComp.typeOf;for(var _m=0,_n=_i.length;_m<_n;_m++ ){_j=_i[_m];_k=_l(_j);if(_k=="Div"||_k=="Tabpage"){_h+=_g+"<"+_k+" id=\""+_j.name+"\""+_c._getPropString(_j);if(Eco.isEmpty(_j.url)&&_j.components.length>0){_h+=">"+_d;_h+=_g+_e+""+_d;_h+=_g+_e+_e+""+_d;_h+=_c._getLayoutString(_j,_b+3);_h+=_g+_e+_e+""+_d;_h+=_g+_e+""+_d;_h+=_g+""+_d;}else{_h+="/>"+_d;}}else if(_k=="Tab"){_h+=_g+"0){_h+=">"+_d;_h+=_g+_e+""+_d;_h+=_c._getLayoutString(_j,_b+2);_h+=_g+_e+""+_d;_h+=_g+""+_d;}else{_h+="/>"+_d;}}else{_h+=_g+_c._getCompTagString(_j,_g);}}}return _h;},_getCompTagString:function(_a,_b){if(!Eco.isXComponent(_a)){return "";}var _c=Eco.XComp;var _d=_c._CRLF;var _e=_c._INDENT;var _f=_c.typeOf(_a);var _g="<"+_f+" id=\""+_a.name+"\""+_c._getPropString(_a);var _h=false;if(_f=="Grid"||_f=="Splitter"){var _j=_a.formatid||"default";var _k=_a.getFormatString();var _l="";var _m=_k.indexOf(_l);var _n=_k.indexOf("",_m)+9;var _o="";_o+=_k.substring(0,_m);_o+=_a.getCurFormatString();_o+=_k.substr(_n);_o=_o.replace(/SplitterItmes/g,"SplitterItems");var _p=_o.split(String.fromCharCode(10));_o="";for(var _q=0,_r=_p.length;_q<_r;_q++ ){_o+=_b+_e+_p[_q]+_d;}_g+=">"+_d;_g+=_o;_h=true;}else if(_f=="Panel"){var _s=_a.items;var _r=_s.length;if(_r>0){_g+=">"+_d;_g+=_b+_e+""+_d;var _t,_u;for(var _q=0;_q<_r;_q++ ){_t=_s[_q];_u="";_g+=_b+_e+_e+_u+_d;}_g+=_b+_e+""+_d;_h=true;}}var _i=_a.innerdataset;if(_c.typeOf(_i)=="Dataset"){var _w=_c.lookup(_a.parent,_i.name);if(Eco.isEmpty(_w)){var _x=_i.saveXML().split(_d);var _y="";for(var _q=0,_r=_x.length;_q<_r;_q++ ){_y+=_b+_e+_x[_q]+_d;}_g+=">"+_d;_g+=_y;_h=true;}}if(_h){_g+=_b+""+_d;}else{_g+="/>"+_d;}return _g;},_ignoreDefaultProps:["name","parent","opener","all","components","objects","binds","bindgestureset","hscrollbar","vscrollbar","resizebutton","position","position2","positiontype","stepcontrol","canvas","currentstyle","style","popupwindow","innerdataset"],_ignoreCompProps:{'Form':["taborder","tabstop","layout"],'Div':["layout"],'PopupDiv':["layout"],'Combo':["dropbutton","comboedit","combolist"],'Menu':["popupmenu"],'Tab':["tabpages"],'Tabpage':["layout"],'Calendar':["popupcalendar","calendaredit","spinupbutton","spindownbutton"],'Grid':["formats","head","body","summ","summary","controltextarea","controlmaskedit","controlcombo","controlcalendar","controlbutton","controlcheckbox","controlprogressbar","controlexpand"],'Spin':["spinupbutton","spindownbutton","spinedit"],'Splitter':["formats","items"],'Panel':["items"]},_cacheIgnoreProps:{},_cacheCompareComp:{},_getPropString:function(_a){var _b=Eco.XComp;var _c=_b.typeOf(_a);var _d=_b._serializeFormTarget;var _e=_b._cacheCompareComp[_c];if(!_e){_e=new _d[_c]("_serializeForm_"+_c,0,0,0,0);_b._cacheCompareComp[_c]=_e;}var _f=_b._cacheIgnoreProps[_c];if(!_f){var _n=_b._ignoreCompProps[_c]||[];_f=_b._cacheIgnoreProps[_c]=_b._ignoreDefaultProps.concat(_n);}var _g="";var _h="";var _i=Eco.XComp.Style.getStyle(_a);for(var _o in _i){if(_i.hasOwnProperty(_o)){_h+=_o+":"+_i[_o]+";";}}if(_h.length>0){_g+=" style=\""+_h+"\"";}var _j="position";if(_a.positiontype){_j=_a.positiontype.toString();if(_j!=_e.positiontype.toString()){_g+=" positiontype=\""+_j+"\"";}}if(_a[_j]){var _p=_a[_j].toString();var _q=_e[_j].toString();if(_p!=_q){_g+=" "+_j+"=\""+_p+"\"";}}var _k,_l;var _m=Eco.array.indexOf;for(var _o in _a){if(!_a.hasOwnProperty(_o)){continue;}if(!(_o in _e)){continue;}if(_m(_f,_o)> -1){continue;}_k=_a[_o];_l=_e[_o];if(_k===undefined){continue;}if(_k instanceof UserEvent){continue;}if(Eco.isFunction(_k)){continue;}if(_a.components&&_a.components[_o]){continue;}if(_a.objects&&_a.objects[_o]){continue;}if(typeof _k=="object"){if(_o=="innerdataset"&&_k){var _r=_b.lookup(_a.parent,_k.name);if(!Eco.isEmpty(_r)){_g+=" innerdataset=\"@"+_r.name+"\"";}continue;}else if(_o=="bindgestureset"){_g+=" "+_o+"=\"@"+_k.name+"\"";continue;}var _s=_k?_k.toString():"";var _t=_l?_l.toString():"";if(_s!=_t){_g+=" "+_o+"=\""+_s.toString()+"\"";}}else{if(_o=="taborder"||_o=="class"){if(!Eco.isEmpty(_k)){_g+=" "+_o+"=\""+_k+"\"";}}else if(_o=="text"||_o=="value"){if(!Eco.isEmpty(_k)){_g+=" "+_o+"=\""+Eco.string.escapeXML(_k)+"\"";}}else{if(_l!=_k){_g+=" "+_o+"=\""+_k+"\"";}}}}return _g;},_userPropertyPrefix:Eco.getUniqueId(),setUserProperty:function(_a,_b,_c){var _d=Eco.XComp._userPropertyPrefix;_d+="_"+_b;_a[_d]=_c;},getUserProperty:function(_a,_b){var _c=Eco.XComp._userPropertyPrefix;_c+="_"+_b;return _a[_c];},deleteUserProperty:function(_a,_b){var _c=Eco.XComp._userPropertyPrefix;_c+="_"+_b;delete _a[_c];}});}