if(!JsNamespace){var JsNamespace={namespaceCache:{},dummyNamespace:{},exist:function(_a){var _b=this;if(typeof _a!='string'){throw new Error("100","[JsNamespace.exist] Invalid name, must be a string");}var _c=_b.namespaceCache;if(_c.hasOwnProperty(_a)){return true;}return false;},declare:function(_a,_b){if(!_b){return;}var _c=JsNamespace;var _d=_c.getGlobalContext(),_e=_c.namespaceCache,_f=_c.dummyNamespace,_g=_a.split('.'),_h=_g.length-1,_i=_g[_h],_j,_k,_l="";for(_j=0;_j<_h;_j++ ){_k=_g[_j];if(_j==0){_l+=_k;}else{_l+="."+_k;}if(_e[_l]){_d=_e[_l];}else{if(!_f[_l]){_d[_k]={};_c.dummyNamespace[_l]=_d[_k];}_d=_d[_k];}}if(_f[_a]){var _m,_n=_f[_a];for(_m in _n){if(_n.hasOwnProperty(_m)){if(!_b.hasOwnProperty(_m)){_b[_m]=_n[_m];}}}delete _f[_a];}_d[_i]=_b;_c.namespaceCache[_a]=_b;_b._className=_a;if(_b.prototype!==undefined){_c.setDebugInfo(_a,_b);_c.setDebugInfo(_a,_b.prototype,_b);}else{_c.setDebugInfo(_a,_b);}return _d[_i];},setDebugInfo:function(_a,_b,_c){if(!_b){return;}if(!_c){_c=_b;}var _d,_e,_f;for(_d in _b){if(_b.hasOwnProperty(_d)){_f=_b[_d];_e=typeof _f;if(_e=="function"){if(!_f._thisName){_f._thisName=_d;}if(!_f._thisOwner){_f._thisOwner=_c;}}}}},_create:Object.create||(nexacro.Browser=="IE"&&nexacro.BrowserVersion<=8?function(_a){function inheritance(){};inheritance.prototype=_a;return new inheritance();}:function(_a){return {__proto__:_a};}),_defineProperties:function(_a,_b,_c){var _d=Eco.object.merge({},_a._propertiesMap||{},_b);var _e=Eco.string.capitalize;_a._propertiesMap=_d;for(var _f in _b){if(_b.hasOwnProperty(_f)){var _g=_e(_f),_h="get"+_g,_i="set"+_g,_j=_b[_f],_k=_f;if(_j.memberName!==undefined){_k=_j.memberName;}if(_j.value!==undefined){_a._initVals[_k]=_j.value;}if(_j.get){_a[_h]=_j.get;}else{_a[_h]=new Function("return this."+_k+";");}_j["getter"]=_h;if(_j.set){_a[_i]=_j.set;}else{var _l="";if(_j.checkValue){_j.checkValue._thisName=_i;_j.checkValue._thisOwner=_c;_l+="\tvar newVal = this._propertiesMap[\""+_f+"\"].checkValue.call(this, value);\r\n";}else{_l+="var newVal = value;\r\n";}_l+="var oldVal = this."+_k+";\r\n";_l+="if ( !Eco.equals(newVal, oldVal) )\r\n";_l+="{\r\n";if(_j.updateValue){_j.updateValue._thisName=_i;_j.updateValue._thisOwner=_c;_l+="\tthis._propertiesMap[\""+_f+"\"].updateValue.call(this, newVal);\r\n";}else{_l+="\tthis."+_k+" = newVal;\r\n";}_l+="\tthis._propertyChange(\""+_f+"\", newVal, oldVal);\r\n";_l+="}";_a[_i]=new Function("value",_l);}_j["setter"]=_i;}}},_defineEvents:function(_a,_b){var _c=Eco.object.merge({},_a._eventsMap||{});var _d;for(var _e in _b){if(_b.hasOwnProperty(_e)){_d=_b[_e];var _f=(typeof _d==='string'),_g=_f?_d:_e;_c[_g]=_f?{}:_d;}}_a._eventsMap=_c;if(!_a["fireEvent"]){var _h=this._eventHelper,_i;for(var _j in _h){if(_j!="_className"&&_h.hasOwnProperty(_j)){_i=_h[_j];_a[_j]=_i;if(!_i._thisName){_i._thisName=_j;}if(!_i._thisOwner){_i._thisOwner=_h;}}}}},_eventHelper:{"_className":"JsNamespace._eventHelper",addEventHandler:function(_a,_b,_c){if(typeof _a!=='string'){_c=_b;for(var _e in _a){if(_a.hasOwnProperty(_e)){this.addEventHandler(_e,_a[_e],_c);}}return;}if(!Eco.isFunction(_b)){return;}var _d=this._eventsMap[_a];if(_d){var _f=this._handlers=this._handlers||{};_f=_f[_a]=_f[_a]||[];if(Eco.array.indexOf(_f,_b,null,true)== -1){_c=_c||this;_f.push({"handler":_b,"scope":_c});if(_d.install&&_f.length==1){_d.install.call(this,_a);}}}},"insertEventHandler":function(_a,_b,_c,_d){if(!Eco.isFunction(_c)){return;}var _e=this._eventsMap[_a];if(_e){var _f=this._handlers=this._handlers||{};_f=_f[_a]=_f[_a]||[];if(Eco.array.indexOf(_f,_c,null,true)== -1){_d=_d||this;if(_b>_f.length){_b=_f.length;}_f.splice(_b,0,{"handler":_c,"scope":_d});if(_e.install&&_f.length==1){_e.install.call(this,_a);}}}},"findEventHandler":function(_a,_b){var _c=this._handlers&&this._handlers[_a];if(!_c){return -1;}var _d;for(var _e=0,_f=_c.length;_e<_f;_e++ ){_d=_c[_e];if(_b===_d.handler){return _e;}}return -1;},"getEventHandler":function(_a,_b){var _c=this._handlers&&this._handlers[_a];if(!_c){return null;}if(_b==null){return _c;}else{var _d=_c[_b];if(_d){return _d.handler;}}return null;},"clearEventHandler":function(_a){var _b=this._handlers;if(_b){if(_b[_a]){var _c=this._eventsMap[_a];if(_c.uninstall){_c.uninstall.call(this,_a);}delete _b[_a];}}},"removeEventHandler":function(_a,_b){if(typeof _a!=='string'){Eco.object.Each(_a,function(_f,_g){this.removeEventHandler(_f,_g);},this);return;}var _c=this._eventsMap[_a],_d=this._handlers&&this._handlers[_a],_e= -1;if(_c&&_d){if(_b){for(var _f=0,_g=_d.length;_f<_g;_f++ ){handler=_d[_f];_b=handler.handler;if(_b===handler.handler){_e=_f;break;}}}if(_e!= -1&&_d.length==1){if(_c.uninstall){_c.uninstall.call(this,_a);}delete this._handlers[_a];}else if(_e!= -1){_d.splice(_e,1);}}},"fireEvent":function(_a,_b){var _c=this._handlers&&this._handlers[_a];if(!_c||!_c.length){return null;}var _d,_e,_f,_g;for(var _h=0,_i=_c.length;_h<_i;_h++ ){_d=_c[_h];_e=_d.handler;_f=_d.scope;_g=_e.call(_f,this,_b);if(_b._prevented||_g===false){_g=false;break;}}return _g;},"hasEventHandler":function(_a){return !!(this._handlers&&this._handlers[_a]&&this._handlers[_a].length);},"getEventHandlerLength":function(_a){if(this._handlers&&this._handlers[_a]){return this._handlers[_a].length;}return 0;},getEventsNames:function(){var _a=this.constructor;var _b=_a._eventsNames;if(!_b){_b=Eco.object.getPropertyNames(this._eventsMap);_a._eventsNames=_b;}return _b;}},_classHelper:{_className:"JsNamespace._classHelper",_propertyChange:function(_a,_b,_c){},getClassName:function(){var _a=this.constructor;return _a._className;},getPropertiesNames:function(){var _a=this.constructor;var _b=_a._propertiesNames;if(!_b){_b=Eco.object.getPropertyNames(this._propertiesMap);_a._propertiesNames=_b;}return _b;},getGetter:function(_a,_b){var _c=this._propertiesMap,_d=_c[_a];if(_d){if(_b){return this[_d.getter];}else{return _d.getter;}}},getSetter:function(_a,_b){var _c=this._propertiesMap,_d=_c[_a];if(_d){if(_b){return this[_d.setter];}else{return _d.setter;}}},getPropertiesValues:function(){var _a;var _b=this._propertiesMap,_c={};Eco.object.Each(_b,function(_d,_e){_c[_d]=this[_e.getter]();},this);return _c;},getMethodsNames:function(){var _a=this.constructor;var _b=_a._methodsNames;if(!_b){var _c=Eco.string.startsWith,_d=Eco.isFunction,_e=this._propertiesMap,_f=_a.prototype;_b=[];for(var _g in _f){if((_g!="constructor"&&_g!="initialize"&&_g!="toString"&&_g!="valueOf")&&_d(_f[_g])){if(_c(_g,"get")||_c(_g,"set")){var _h=_g.charAt(3).toLowerCase()+_g.substr(4);if(!_e||!_e[_h]){_b.push(_g);}}else if(!/^_/.test(_g)){_b.push(_g);}}}_a._methodsNames=_b;}return _b;},setProperties:function(){var _a=this._propertiesMap,_b;if(arguments.length==1){var _c=arguments[0];if(_c){if(!_c.length&&Eco.isObject(_c)){for(var _d in _c){if(_c.hasOwnProperty(_d)){_b=_a[_d];if(_b){this[_b.setter](_c[_d]);}}}}else if(_c.length||Eco.isArray(_c)){var _e=this.getPropertiesNames();for(var _f=0,_g=_c.length;_f<_g;_f++ ){_b=_a[_e[_f]];this[_b.setter](_c[_f]);}}}}else{var _e=this.getPropertiesNames();for(var _f=0,_g=arguments.length;_f<_g;_f++ ){_b=_a[_e[_f]];this[_b.setter](arguments[_f]);}}},callParent:function(_a){var _b=this.callParent.caller,_c=_b._thisOwner||this.constructor;if(!_c){Eco.Logger.error("class 선언이 JsNamespaces.declareClass 함수를 이용하여 처리되지 않았습니다.");}var _d=_c._superClass;if(!_d){Eco.Logger.error(_c._className+"는 상속 되지 않은 Class입니다.");}var _e;while(_d){_e=_d[_b._thisName];if(!_e){_e=_d.prototype[_b._thisName];}if(_e){break;}_d=_d._superClass;}if(!_e){Eco.Logger.error("this.callParent() was called but there's no such method ("+_b._thisName+") found in the parent class ("+(_d._className||'Object')+")");}return _e.apply(this,_a);}},declareClass:function(_a,_b){if(!_a||!_a.length){return;}var _c=this;var _d=_c.getGlobalContext(),_e=_c.namespaceCache,_f=_c.dummyNamespace,_g=_a.split('.'),_h=_g.length-1,_i=_g[_h],_j,_k,_l="";for(_j=0;_j<_h;_j++ ){_k=_g[_j];if(_j==0){_l+=_k;}else{_l+="."+_k;}if(_e[_l]){_d=_e[_l];}else{if(!_f[_l]){_d[_k]={};_c.dummyNamespace[_l]=_d[_k];}_d=_d[_k];}}if(_f[_a]){var _q,_r=_f[_a];for(_q in _r){if(_r.hasOwnProperty(_q)){if(!value.hasOwnProperty(_q)){value[_q]=_r[_q];}}}delete _f[_a];}eval(_a+" = function ()\n"+"{\n"+"\tfor ( var nm in this._initVals )\n"+"\t{\n"+"\t\tif (this._initVals.hasOwnProperty(nm))\n"+"\t\t{\n"+"\t\t\tvar val = this._initVals[nm];\n"+"\t\t\tif ( val != null ) this[nm] = val;\n"+"\t\t}\n"+"\t}\n"+"\tvar ret = this.initialize.apply(this, arguments);\n"+"\treturn ret||this;\n"+"};");var _m=_d[_i];_c.namespaceCache[_a]=_m;var _n=_m.prototype,_o=false,_p=false,_c=this;if(_b){var _s=_b["extends"];if(_s){if(/^nexacro\./.test(_s)){var _t=_s.split("."),_u=nexacro,_j=1;while(_u){_u=_u[_t[_j]];_j++ ;}if(_j==_t.length-1){_m.prototype=_c._create(_u.prototype);_m.prototype.constructor=_m;_n=_m.prototype;_o=true;}}else{var _u=_c.namespaceCache[_b["extends"]];if(_u){_m.prototype=_c._create(_u.prototype);_m.prototype.constructor=_m;_n=_m.prototype;_o=true;}}}if(_b.initialize){_p=true;}if(_o){_m.__inheritStatics=Eco.object.merge({},_u.__inheritStatics||{});_b.statics=Eco.object.merge({},_b.statics||{},_m.__inheritStatics);}if(_b.statics){Eco.object.copyProperties(_m,_b.statics);}if(_b.inheritStatics){Eco.object.copyProperties(_m,_b.inheritStatics);_m.__inheritStatics=Eco.object.merge({},_m.__inheritStatics||{},_b.inheritStatics);}if(_o){_n._initVals=Eco.object.merge({},_n._initVals);_m._superClass=_u;}else{_n._initVals={};}if(_b.properties){_c._defineProperties(_n,_b.properties,_m);}if(_b.events){_c._defineEvents(_n,_b.events);}}if(!_n._initVals){_n._initVals={};}if(!_n["callParent"]){var _v=this._classHelper,_w;for(var _x in _v){if(_x!="_className"&&_v.hasOwnProperty(_x)){_w=_v[_x];_n[_x]=_w;if(!_w._thisName){_w._thisName=_x;}if(!_w._thisOwner){_w._thisOwner=_v;}}}}Eco.object.Each(_b,function(_k,_y){if(_k=="properties"||_k=="statics"||_k=="inheritStatics"||_k=="events"||_k=="extends"){return;}if(Eco.isFunction(_y)){this[_k]=_y;}else{this._initVals[_k]=_y;}},_n);if(!_p){_n.initialize=function(){return this;};}_m._className=_a;_c.setDebugInfo(_a,_m);_c.setDebugInfo(_a,_m.prototype,_m);return _m;},_setDebugInfoForAddMethods:function(_a,_b,_c){var _d;if(Eco.isString(_b)){_d=_a[_b];if(Eco.isFunction(_d)){_d._thisName=_b;_d._thisOwner=_c;}}else if(Eco.isArray(_b)){for(var _e=0,_f=_b.length;_e<_f;_e++ ){_d=_a[_b[_e]];if(Eco.isFunction(_d)){_d._thisName=_b[_e];_d._thisOwner=_c;}}}},addMethods:function(_a,_b,_c,_d){var _e,_f=this._setDebugInfoForAddMethods;if(Eco.isArray(_a)){if(_c){for(var _g=0,_h=_a.length;_g<_h;_g++ ){_e=_d.call(_b,_a[_g],_g);_f(_b,_e,_b);}}else{var _i=_b.prototype;for(var _g=0,_h=_a.length;_g<_h;_g++ ){_e=_d.call(_i,_a[_g],_g);_f(_i,_e,_b);}}}else if(Eco.isObject(_a)){if(_c){for(var _j in _a){if(_a.hasOwnProperty(_j)){_e=_d.call(_b,_j,_a[_j]);_f(_b,_e,_b);}}}else{var _i=_b.prototype;for(var _j in _a){if(_a.hasOwnProperty(_j)){_e=_d.call(_i,_j,_a[_j]);_f(_i,_e,_b);}}}}},addPropertis:function(_a,_b,_c,_d){var _e=_b.prototype,_f={};if(Eco.isObject(_a)){var _g=false;for(var _h in _a){if(_a.hasOwnProperty(_h)){_g=true;_f[_h]=_c.call(_d||this,_h,_a[_h]);}}if(_g){this._defineProperties(_e,_f,_b);}}},getGlobalContext:function(){var _a;if(nexacro.Browser=="Runtime"){_a=_global_context;}else{if(window&&(window._popup===true)){_a=window;}else{_a=_global_context;}}return _a;}};}