/*
	UIZE JAVASCRIPT FRAMEWORK 2009-09-06

	http://www.uize.com/reference/Uize.html
	Available under MIT License or GNU General Public License -- http://www.uize.com/license.html
*/
(function(){var _a,_b='string',_c='object',_d='function',_e='number',_f='boolean',_g=false,_h=true,_i=null;var _j=0,_k=[],_l={string:1,number:1,boolean:1};var _m=Uize=_n(function(){},function(){this.instanceId=_o();},function(_p){this.set(_q({},this.Class._r,_p));},function(){var _m=this;if(!_m._s){_m._s=_h;_m._t={};_m._u={};}}),_v=_m.prototype;function _w(_x){return _x.Class||_x}var _y={},_z={Uize:_m};function _A(_B){return(_z[_B]||(_z[_B]=(new Function('try {return '+_B+'} catch (e) {}'))()));}function _C(_D){var _E=_y[_D];if(_E){for(var _F= -1,_G=_E.length;++_F<_G;)_E[_F]();delete _y[_D];}}function _H(_I,_J){var _m=_w(_I);return(_m._u[_J]||_m._t[_J]);}function _K(_I,_J){var _L=_H(_I,_J);return _L?_L._M:_J;}_m._N=_v._N=function(_O,_P){if(_O.charCodeAt(0)==67&&_O.indexOf('Changed.')==0){var _I=this,_Q=_O.slice(8),_L=_H(_I,_Q);if(_L&&_Q!=_L._R)_O='Changed.'+(_Q=_L._R);_P(_O);(_I._S||(_I._S={}))[_Q]=_I._T&&_I._T[_O];}else{_P(_O);}};_m.wire=_v.wire=_m.addEventHandler=_v.addEventHandler=
_m.addEventHandlers=_v.addEventHandlers=function(_U,_V){var _I=this;if(arguments.length==2){_I._N(_U,function(_O){var _T=_I._T||(_I._T=_I.eventHandlers={});(_T[_O]||(_T[_O]=[])).push({_O:_O,_V:typeof _V==_d?_V:typeof _V==_b?new Function(_V):function(_W){_V.fire(_W)},_X:_V});});}else if(typeof _U==_c&&_U){for(var _O in _U)this.wire(_O,_U[_O]);}};_m.fire=_v.fire=_m.fireEvent=_v.fireEvent=function(_W){if(typeof _W!=_c)_W={name:_W};var _I=this,_T=_I._T;if(_T){var _Y=_T[_W.name],_Z=_T['*'];if(_Y||_Z){if(!_W.source)_W.source=_I;var _0=_Z&&_Y?_Z.concat(_Y):_Z||_Y,_1=_0.length;if(_1==1){_0[0]._V(_W);}else if(_1==2){var _2=_0[0]._V,_3=_0[1]._V;_2(_W);_3(_W);}else{if(!_Z|| !_Y)_0=_0.concat();for(var _4= -1;++_4<_1;)_0[_4]._V(_W);}}}if(_W.bubble&&_I.Class&&_I.parent){if(!_W.source)_W.source=_I;_I.parent.fire(_W);}return _W;};_m.unwire=_v.unwire=_m.removeEventHandler=_v.removeEventHandler=_m.removeEventHandlers=_v.removeEventHandlers=function(_U,_V){var _I=this;if(typeof _U==_c&&_U){for(var _O in _U)_I.unwire(_O,_U[_O]);
}else{_I._N(_U,function(_O){var _T=_I._T;if(_T){var _5=_T[_O];if(_5){if(_V){var _4=0;while(_4<_5.length){_5[_4]._X==_V?_5.splice(_4,1):_4++;}}if(!_V|| !_5.length)delete _T[_O];}}});}};_m.get=_v.get=function(_6){if(typeof _6==_b){return this[_K(this,_6)];}else{var _I=this,_7={};if(!_6){var _m=_w(_I),_t=_m._t;for(var _8 in _t)_7[_t[_8]._R]=_I[_8];}else if(_9(_6)){for(var _ba= -1,_bb=_6.length;++_ba<_bb;){var _bc=_6[_ba];_7[_bc]=_I[_K(_I,_bc)];}}else{for(var _bc in _6)_7[_bc]=_I[_K(_I,_bc)];}return _7;}};_m.registerProperties=function(_bd){var _I=this,_m=_w(_I);var _t=_m._t,_u=_m._u;for(var _8 in _bd){var _be=_bd[_8],_bf=typeof _be==_c,_Q=(_bf?_be.name:_be)||_8,_bg=_Q,_L=_t[_8]={_M:_8};if(_Q.indexOf('|')> -1){var _bh=_Q.split('|');_bg=_bh[0];for(var _bi= -1;++_bi<_bh.length;)_u[_bh[_bi]]=_L;}else{_u[_Q]=_L;}_L._R=_bg;if(_bf){if(_be.onChange)_L._bj=_be.onChange;if(_be.conformer)_L._bk=_be.conformer;_m[_8]=_be.value;}}_m._r=_m.get();};_m.set=_v.set=function(_p){if(arguments.length==2){var _bl={};
_bl[_p]=arguments[1];_p=_bl;}var _I=this,_bm= !!_I.Class,_m=_I.Class||_I,_u=_m._u,_t=_m._t,_L,_bn,_bo,_bp,_S=_bm&&_I._S,_bq=_S&&_S['*'],_br,_bs,_8,_Q,_bt,_bu,_bv;for(var _J in _p){if((_bu=_p[_J])!==_a){if(_L=_u[_J]||_t[_J]){_8=_L._M;_Q=_L._R;if(_bm)(_bv||(_bv={}))[_Q]=_L._bk?(_bu=_L._bk.call(_I,_bu,_I[_8])):_bu;if(_bu!==_I[_8]){if(_bm){_bq&&((_br||(_br={}))[_Q]=_bu);_S&&_S[_Q]&&(_bs||(_bs=[])).push(_Q);function _bw(_bp){if(typeof _bp==_d){if(!_bn){_bn=[];_bo=_I.instanceId+'_handlerAlreadyAdded';}if(!_bp[_bo]){_bp[_bo]=1;_bn.push(_bp);}}else if(typeof _bp==_b){_bw(_I[_bp]);}else if(_9(_bp)){for(var _4= -1,_bx=_bp.length;++_4<_bx;)_bw(_bp[_4]);}}if(_L._bj)_bw(_L._bj);}_I[_8]=_bu;}}else{_I[_J]=_bu;(_bt||(_bt={}))[_J]=_J;}}}if(_bt)_m.registerProperties(_bt);if(_bm){if(_bn){for(var _4= -1,_by=_bn.length;++_4<_by;){var _bp=_bn[_4];delete _bp[_bo];_bp.call(_I,_bv);}}if(_br)_I.fire({name:'Changed.*',properties:_br});if(_bs){for(var _bz= -1,_bA=_bs.length;++_bz<_bA;)_I.fire('Changed.'+_bs[_bz]);}}else{_m._r=_m.get();}
};_m.toggle=_v.toggle=function(_bB){var _bC= !this.get(_bB);this.set(_bB,_bC);return _bC;};_m.toString=_v.toString=function(){function _bD(_bl){var _B=_w(_bl).moduleName,_bE=_bl.subclass;return('['+(_bm(_bl)||(!_bE&& !_B)?_c:_bE?'class':'package')+' '+(_B||'Function')+']');}var _7=_bD(this);if(this.get){var _p=this.get(),_bF=[];for(var _bB in _p){var _bu=_p[_bB];_bF.push(_bB+' : '+(_bu&&(_bm(_bu)||(typeof _bu==_d&& !(_bu instanceof RegExp)))?_bD(_bu):_bu));}_7+='\n\n'+_bF.sort().join('\n');}return _7;};_m.valueOf=_v.valueOf=function(){return this[_K(this,'value')];};_v.kill=function(){var _bG=this.instanceId;_bH('if(typeof '+_bG+'!=\'undefined\')'+_bG+'=null');};_m.capFirstChar=function(_bI){return _bI.charAt(0).toUpperCase()+_bI.slice(1);};var _bJ=_m.clone=function(_bC){if(_bC==_a)return _bC;var _bK=typeof _bC;if(_bK==_b||_bK==_e||_bK==_f||(_bK==_d&& !(_bC instanceof RegExp)))return _bC;var _7=_bC instanceof RegExp?new RegExp(_bC):_bC instanceof Date?new Date(_bC):_bC instanceof String?new String(_bC):
_bC instanceof Number?new Number(_bC):_bC instanceof Boolean?new Boolean(_bC==_h):_a;if(!_7){var _bL,_bM;_7=_9(_bC)?[]:{};for(var _6 in _bC)_7[_6]=(_bM=typeof(_bL=_bC[_6]))==_b||_bM==_e||_bM==_f||_bL==_a?_bL:_bJ(_bL);}return _7;};_m.constrain=function(_bC,_bN,_bO){return(_bN<_bO?(_bC<_bN?_bN:_bC>_bO?_bO:_bC):(_bC<_bO?_bO:_bC>_bN?_bN:_bC));};var _q=_m.copyInto=function(_bP,_bQ){if(typeof _bQ==_c&&_bQ){for(var _bB in _bQ)_bP[_bB]=_bQ[_bB];}if(arguments.length>2){for(var _bR=0;++_bR<arguments.length;){if(typeof(_bQ=arguments[_bR])==_c&&_bQ){for(var _bB in _bQ)_bP[_bB]=_bQ[_bB];}}}return _bP;};_m.callOn=function(_bl,_bS,_bT){if(!_bl)return;if(!_bT)_bT=_k;var _bU=typeof _bS==_b,_bV= !_bU&&typeof _bS==_d;function _bW(_bl){if(_bl&&typeof _bl==_c){if(_9(_bl)){for(var _bX= -1,_bY=_bl.length;++_bX<_bY;)_bW(_bl[_bX]);}else{var _bZ=_bU&&typeof _bl[_bS]==_d;if(_bm(_bl)||_bZ){if(_bV||_bZ)(_bV?_bS:_bl[_bS]).apply(_bl,_bT);}else{for(var _b0 in _bl)_bW(_bl[_b0]);}}}}_bW(_bl);};_m.getModulesBuilt=function(){var _b1=[];
for(var _B in _z)_b1.push(_B);return _b1;};_m.indexIn=function(_b2,_bC,_b3,_b4){var _7,_b5;if(_9(_b2)){_b4=_b4!==_g;for(var _b6=_b2.length-1,_b7=_b6+1;--_b7>=0;){var _b8=_b2[_7=_b3?_b7:_b6-_b7];if(_b4?_b8===_bC:_b8==_bC){_b5=_h;break;}}}return _b5?_7: -1;};var _9=_m.isArray=function(_bl){return _bl instanceof Array||(!!_bl&&typeof _bl.splice==_d);};_m.isNumber=function(_bC){return typeof _bC==_e&& !isNaN(_bC);};_m.isIn=function(_b2,_bC,_b4){return _m.indexIn(_b2,_bC,_b4)> -1;};var _b9=_m.recordMatches=function(_ca,_cb){if(!_ca)return!_cb;for(var _bB in _cb){if(_ca[_bB]!==_cb[_bB])return _g;}return _h;};_m.findRecordNo=function(_cc,_cb,_cd){var _7=_m.isNumber(_cd)?_cd: -1;if(_cc){for(var _ce= -1,_cf=_cc.length;++_ce<_cf;){if(_b9(_cc[_ce],_cb)){_7=_ce;break;}}}return _7;};_m.findRecord=function(_cc,_cb,_cd){var _ce=_m.findRecordNo(_cc,_cb,_cd);return _ce> -1?_cc[_ce]:null;};var _o=_m.getGuid=function(){return'uizeGuid'+_j++;};var _cg=_m.getPathToLibrary=function(_ch){var _7='';if(typeof document!='undefined'){
for(var _ci= -1,_cj=document.getElementsByTagName('SCRIPT'),_ck=_cj.length;++_ci<_ck;){var _cl=_cj[_ci].src,_cm=_cl.indexOf(_ch);if(_cm> -1){_7=_cl.slice(0,_cl.lastIndexOf('/',_cm)+1);break;}}}return _7;};var _bH=_m.globalEval=new Function('toEval','return eval (toEval)');var _bm=_m.isInstance=function(_bl){return _bl&& !!_bl.Class;};_m.module=function(_cn){var _co=_cn.name||'',_cp=_co.lastIndexOf('.'),_cq=_co.substr(0,_cp),_cr=_cn.superclass||_cq,_cs=_cn.required||[],_ct=[];if(!_y[_co])_y[_co]=[];if(typeof _cs==_b)_cs=_cs.split(',');if(_cq)_cs.push(_cq);if(_cr!=_cq)_cs.push(_cr);for(var _cu= -1,_cv=_cs.length;++_cu<_cv;){var _cw=_cs[_cu];if(_cw&& !_A(_cw))_ct.push(_cw);}function _cx(){var _cy=_cn.builder,_D=_cy&&_cy(_A(_cr));if(_co)(new Function('m',_co+'=m'))(_D=_z[_co]=_D||function(){});if(typeof _D==_d){_D.moduleName=_co;if(!_D.subclass)_D.toString=Uize.toString;}_C(_co);}var _cz=_ct.length;if(_cz){var _cA=_m.moduleLoader;if(_cA){var _cB= -1;function _cC(){_cB++;if(_cB<_cz){var _cD=_ct[_cB];_A(_cD)?_cC()
:_y[_cD]?_y[_cD].push(_cC):_cA(_cD,function(_cE){if(_A(_cD)){_cC();}else{if(_cE)_bH(_cE);if(_A(_cD)){_C(_cD);_cC();}else{(_y[_cD]||(_y[_cD]=[])).push(_cC);}}});}else{_cx();}}_cC();}else{_cx();}}else{_cx();}};var _cF=_m.substituteInto=function(_bI,_cG,_cH){if((_bI=_bI!=_a?_bI+'':'')&&_cG!=_a){var _cI='[#',_cJ=']',_cK=/([\^\$\|\{\}\[\]\(\)\?\.\*\+\\])/g;if(_l[typeof _cG])_cG=[_cG];if(_cH){var _cL=_cH.split('KEY');_cI=_cL[0];_cJ=_cL[1];}for(var _cM in _cG)_bI=_bI.replace(new RegExp((_cI+_cM+_cJ).replace(_cK,'\\$1'),'gi'),_cG[_cM]);}return _bI;};function _n(_m,_cN,_cO,_cP,_cQ){var _cR=function(){_cS(this,'alphastructor',arguments);_cS(this,'omegastructor',arguments);return this;};function _cS(_cT,_cU,_bT){for(var _cV= -1,_cW=_cX[_cU],_cY=_cW.length,_cZ;++_cV<_cY;)if(_cZ=_cW[_cV])_cZ.apply(_cT,_bT);}var _v=_m.prototype;var _bu;for(var _6 in _m)if((_bu=_m[_6])!=_v&&(!_bu||typeof _bu!=_d||_bu.superclass!==_m))_cR[_6]=_bJ(_bu);var _c0=_cR.prototype;for(var _6 in _v)_c0[_6]=_v[_6];_c0.toString=_v.toString;
_c0.valueOf=_v.valueOf;_c0.Class=_cR;_cR.superclass=_m;var _c1=_m._c1||{alphastructor:_k,omegastructor:_k,alphasubber:_k,omegasubber:_k},_cX=_cR._c1={alphastructor:_c1.alphastructor.concat(_cN),omegastructor:_c1.omegastructor.concat(_cO),alphasubber:_c1.alphasubber.concat(_cP),omegasubber:_c1.omegasubber.concat(_cQ)};_cS(_cR,'alphasubber',_k);_cS(_cR,'omegasubber',_k);return _cR;};_m.subclass=function(_cN,_cO,_cP,_cQ){return _n(this,_cN,_cO,_cP,_cQ);};_m.moduleName='Uize';var _c2='[#modulePath]',_c3=_cg('Uize.js'),_c4;_m.moduleLoader=function(_cD,_c5){_c5();var _c6=document.createElement('script');_c6.type='text/javascript';_c6.src=_m.moduleUrlTemplate.replace(_c2,_cD+'.js');(_c4||(_c4=document.getElementsByTagName('HEAD')[0])).appendChild(_c6);};_m.moduleUrlTemplate=_c3+_c2;_m.pathToResources=_c3;})();
