/*
	UIZE JAVASCRIPT FRAMEWORK 2011-11-27

	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='number',_e='boolean',_f=Function,_g=false,_h=true,_i=null;var _j=0,_k=[],_l={},_m='[#modulePath]',_n,_o= !!Array.prototype.forEach;function _p(_q){return!!_q&&typeof _q==_c}function _r(_q){return _q instanceof Array||(!!_q&&_s(_q.splice))}function _s(_q){var _t=_q!=_a&&_q.constructor;return!!(_t&&_t==_t.constructor);}function _u(_v,_w){if(_v&&_p(_w)){for(var _x in _w)_v[_x]=_w[_x];}if(arguments.length>2){for(var _y=0;++_y<arguments.length;)_u(_v,arguments[_y]);}return _v;}function _z(_q){if(_q==_a)return _q;var _A=typeof _q;if(_A==_b||_A==_d||_A==_e||_s(_q))return _q;var _t=_q.constructor;if(_t==Date||_t==String||_t==Number||_t==Boolean){return new _t(_q.valueOf())}else if(_t==RegExp){return new RegExp(_q.source,(_q.global?'g':'')+(_q.ignoreCase?'i':'')+(_q.multiline?'m':''));};var _B=_t==Object,_C= !_B&&_r(_q);if(_B||_C){var _D,_E,_F=_B?{}:[];if(_C)_F.length=_q.length;for(var _G in _q)_F[_G]=(_E=typeof(_D=_q[_G]))==_b||_E==_d||_E==_e||_D==_a?_D:_z(_D);return _F;
}return _q;}function _H(){function _I(_J){var _K=_L(_J).moduleName,_M=_J.subclass;return('['+(_N(_J)||(!_M&& !_K)?_c:_M?'class':'package')+' '+(_K||'Function')+']');}var _F=_I(this);if(this.get){var _O=[];_P(this.get(),function(_Q,_x){_O.push(_x+' : '+(_Q&&(_N(_Q)||_s(_Q))?_I(_Q):_Q));});_F+='\n\n'+_O.sort().join('\n');}return _F;}function _R(){return this[_S(this,'value')];}var _T=Uize=_U(function(){},function(){this.instanceId=_V();},function(_W){_W||(_W=_l);var _X={},_Y=this.Class._Y,_G,_Z;for(_G in _Y){if(_G in _W)_X[_G]=_W[_G];else if((_Z=_Y[_G])!==_a)_X[_G]=_Z;}for(_G in _W)_G in _X||(_X[_G]=_W[_G]);this.set(_X);}),_0=_T.prototype,_1=_T.nonInheritableStatics;function _L(_2){return _2.Class||_2}function _3(_4,_q){_1[_4]=1;return _T[_4]=_q;}var _5={},_6={Uize:_T};function _7(_K){var _8;return(_6[_K]||(_K=='*'&&_6)||((_8=(new _f('try {return '+_K+'} catch (e) {}'))())&&(_6[_K]=_8)));}function _9(_8){_P(_5[_8],function(_ba){_ba()});delete _5[_8];}function _bb(_bc,_bd){var _T=_L(_bc);return(_T._be[_bd]||
_T._bf[_bd]);}function _S(_bc,_bd){var _bg=_bb(_bc,_bd);return _bg?_bg._bh:_bd;}_T._bi=_0._bi=function(_bj,_bk){if(_bj.charCodeAt(0)==67&& !_bj.indexOf('Changed.')){var _bc=this,_bl=_bj.slice(8),_bg=_bb(_bc,_bl);if(_bg&&_bl!=_bg._bm)_bj='Changed.'+(_bl=_bg._bm);_bk(_bj);(_bc._bn||(_bc._bn={}))[_bl]=_bc._bo&&_bc._bo[_bj];}else{_bk(_bj);}};_T.wire=_0.wire=function(_bp,_bq){var _bc=this;if(arguments.length==2){_bc._bi(_bp,function(_bj){var _bo=_bc._bo||(_bc._bo=_bc.eventHandlers={});(_bo[_bj]||(_bo[_bj]=[])).push({_bj:_bj,_bq:_s(_bq)?_bq:typeof _bq==_b?new _f(_bq):function(_br){_bq.fire(_br)},_bs:_bq});});}else if(_p(_bp)){for(var _bj in _bp)this.wire(_bj,_bp[_bj]);}};_T.fire=_0.fire=function(_br){if(typeof _br!=_c)_br={name:_br};var _bc=this,_bo=_bc._bo;if(_bo){var _bt=_bo[_br.name],_bu=_bo['*'];if(_bt||_bu){_br.source||(_br.source=_bc);var _bv=_bu&&_bt?_bu.concat(_bt):_bu||_bt,_bw=_bv.length;if(_bw==1){_bv[0]._bq(_br);}else if(_bw==2){var _bx=_bv[0]._bq,_by=_bv[1]._bq;_bx(_br);_by(_br);}else{if(!_bu|| !_bt)
_bv=_bv.concat();for(var _bz= -1;++_bz<_bw;)_bv[_bz]._bq(_br);}}}if(_br.bubble&&_bc.Class&&_bc.parent){_br.source||(_br.source=_bc);_bc.parent.fire(_br);}return _br;};_T.unwire=_0.unwire=function(_bp,_bq){var _bc=this,_bo=_bc._bo;if(_bo){if(_p(_bp)){for(var _bj in _bp)_bc.unwire(_bj,_bp[_bj]);}else{_bc._bi(_bp,function(_bj){var _bA=_bo[_bj];if(_bA){if(_bq){for(var _bz=_bA.length;--_bz>=0;)_bA[_bz]._bs==_bq&&_bA.splice(_bz,1);}(_bq&&_bA.length)||delete _bo[_bj];}});}}};_T.get=_0.get=function(_G){if(typeof _G==_b){return this[_S(this,_G)];}else{var _bc=this,_F={};if(!_G){var _T=_L(_bc),_bf=_T._bf;for(var _bB in _bf)_F[_bf[_bB]._bm]=_bc[_bB];}else if(_r(_G)){for(var _bC= -1,_bD=_G.length;++_bC<_bD;){var _bE=_G[_bC];_F[_bE]=_bc[_S(_bc,_bE)];}}else{for(var _bE in _G)_F[_bE]=_bc[_S(_bc,_bE)];}return _F;}};_T.registerProperties=function(_bF){var _bc=this,_bf=_bc._bf,_be=_bc._be;for(var _bB in _bF){var _bG=_bF[_bB],_bH=_p(_bG),_bl=(_bH?_bG.name:_bG)||_bB,_bI=_bl,_bg=_bf[_bB]={_bh:_bB};if(_bl.indexOf('|')> -1){
var _bJ=_bl.split('|');_bI=_bJ[0];_T.lookup(_bJ,_bg,_be);}else{_be[_bl]=_bg;}_bg._bm=_bI;if(_bH){if(_bG.onChange)_bg._bK=_bG.onChange;if(_bG.conformer)_bg._bL=_bG.conformer;_bc[_bB]=_bG.value;}}_bc._Y=this.get();};_T.set=_0.set=function(_W){if(arguments.length>1)_W=_bM.apply(0,arguments);var _bc=this,_N= !!_bc.Class,_T=_bc.Class||_bc,_be=_T._be,_bf=_T._bf,_bg,_bN,_bO,_bP,_bn=_N&&_bc._bn,_bQ=_bn&&_bn['*'],_bR,_bS,_bB,_bl,_bT,_Q,_bU;for(var _bd in _W){_Q=_W[_bd];if(_bg=_be[_bd]||_bf[_bd]){_bB=_bg._bh;_bl=_bg._bm;}else{(_bT||(_bT={}))[_bB=_bl=_bd]=_bg=_N?{}:{value:_Q};}if(_N)(_bU||(_bU={}))[_bl]=_bg._bL?(_Q=_bg._bL.call(_bc,_Q,_bc[_bB])):_Q;if(_Q!==_bc[_bB]){if(_N){_bQ&&((_bR||(_bR={}))[_bl]=_Q);_bn&&_bn[_bl]&&(_bS||(_bS=[])).push(_bl);function _bV(_bP){if(_s(_bP)){if(!_bN){_bN=[];_bO=_bc.instanceId+'_handlerAlreadyAdded';}if(!_bP[_bO]){_bP[_bO]=1;_bN.push(_bP);}}else if(typeof _bP==_b){_bV(_bc[_bP]);}else if(_r(_bP)){_P(_bP,_bV);}}_bg._bK&&_bV(_bg._bK);}_bc[_bB]=_Q;}}_bT&&_T.registerProperties(_bT);if(_N){
if(_bN){for(var _bz= -1,_bW=_bN.length;++_bz<_bW;){delete(_bP=_bN[_bz])[_bO];_bP.call(_bc,_bU);}}_bR&&_bc.fire({name:'Changed.*',properties:_bR});if(_bS){for(var _bX= -1,_bY=_bS.length;++_bX<_bY;)_bc.fire('Changed.'+_bS[_bX]);}}else{_T._Y=this.get();}};_T.toggle=_0.toggle=function(_x){var _q= !this.get(_x);this.set(_x,_q);return _q;};_0.kill=function(){var _bZ=this.instanceId;_b0('if(typeof '+_bZ+'!=\'undefined\')'+_bZ+'=null');};_3('capFirstChar',function(_b1){return _b1.charAt(0).toUpperCase()+_b1.slice(1);});_3('clone',_z);_3('constrain',function(_q,_b2,_b3){return(_b2<_b3?(_q<_b2?_b2:_q>_b3?_b3:_q):(_q<_b3?_b3:_q>_b2?_b2:_q));});_3('inRange',function(_q,_b2,_b3){return _q==_T.constrain(_q,_b2,_b3)});_3('copyInto',_u);var _P=_3('forEach',function(_b4,_b5,_b6,_b7){if(_b4){var _b8=_r(_b4);if(!_b8||_b4.length){if(typeof _b5==_b)_b5=new _f('value','key','source',_b5);if(_b8){if(_o&& !_b7){_b4.forEach(_b5,_b6);}else{for(var _b9= -1,_ca=_b4.length;++_b9<_ca;)(_b7||_b9 in _b4)&&_b5.call(_b6,_b4[_b9],_b9,_b4);}
}else if(_p(_b4)){for(var _b9 in _b4)_b5.call(_b6,_b4[_b9],_b9,_b4);}else if(typeof _b4==_d){for(var _b9= -1;++_b9<_b4;)_b5.call(_b6,_b9,_b9,_b4);}}}});var _cb=_3('map',function(_b4,_cc,_cd){if(typeof _b4==_d){_b4=new Array(_b4);if(typeof _cd!=_c)_cd=_b4;}if(typeof _cd!=_c)_cd=_cd===_g?_b4:_r(_b4)?[]:{};if(typeof _cc==_b)_cc=new _f('value','key','return '+_cc);_P(_b4,function(_q,_ce){var _cf=_cc.call(_b4,_q,_ce);if(_cd)_cd[_ce]=_cf;},0,_h);return _cd;});_3('callOn',function(_cd,_cg,_ch){var _ci=_cj(_cg),_ck= !_ci&&_s(_cg);_ch||(_ch=_k);function _cl(_cd){if(_cd!=_a)_cm(_cd)||_r(_cd)?_P(_cd,_cl,0,_h):_ck||(_ci&&_s(_cd[_cg]))?(_ck?_cg:_cd[_cg]).apply(_cd,_ch):0;}if(_ci||_ck)_cl(_cd);});_3('defaultNully',function(_q,_cn){return _q!=_a?_q:_cn});_3('getModuleByName',_7);_3('indexIn',function(_co,_q,_cp,_cq){if(_r(_co)){_cq=_cq!==_g;for(var _cr=_co.length-1,_cs=_cr+1,_F;--_cs>=0;){var _ct=_co[_F=_cp?_cs:_cr-_cs];if(_cq?_ct===_q:_ct==_q)return _F;}}return-1;});_3('keys',function(_J){var _F=[];if(!_cj(_J))
for(var _ce in _J)_F.push(_ce);return _F;});_3('totalKeys',function(_J){var _F=0;if(!_cj(_J))for(var _ce in _J)_F++;return _F;});var _cu=_3('values',function(_J){if(_r(_J))return _J;var _F=[];if(!_cj(_J))for(var _ce in _J)_F.push(_J[_ce]);return _F;});_3('min',function(_J){return Math.min.apply(0,_T.values(_J))});_3('max',function(_J){return Math.max.apply(0,_T.values(_J))});_3('reverseLookup',function(_J,_cv){var _cw=_T.lookup(_i,0,_cv);if(!_cj(_J))for(var _ce in _J)_cw[_J[_ce]+'']=_ce;return _cw;});_3('lookup',function(_cu,_cx,_cv){var _cw=_p(_cv)?_cv:_cv?{constructor:_a,toLocaleString:_a,toString:_a,valueOf:_a}:{};if(arguments.length==1)_cx=_h;if(_cu!=_a){for(var _cy= -1,_cz=_cu.length;++_cy<_cz;)_cw[_cu[_cy]]=_cx;}return _cw;});_3('isObject',_p);var _cm=_3('isPlainObject',function(_q){return(_q!=_a&&(_q.constructor==Object||_q.constructor.prototype.hasOwnProperty('hasOwnProperty')));});_3('isArray',_r);_3('isFunction',_s);_3('isNumber',function(_q){return typeof _q==_d&& !isNaN(_q)});var _cj=_3(
'isString',function(_q){return typeof _q==_b});_3('isBoolean',function(_q){return typeof _q==_e});_3('isNully',function(_q){return _q==_a});var _cA=_3('isPrimitive',function(_q){if(_q==_a)return _g;var _A=typeof _q;return _A==_b||_A==_d||_A==_e;});_3('isIn',function(_b4,_q,_cq){return _T.indexIn(_cu(_b4),_q,_g,_cq)> -1});_3('isEmpty',function(_J){if(_p(_J)&&_p(_J=_J.valueOf())){if(_r(_J))return!_J.length;for(var _ce in _J)return _g;return _h;}return!_J;});_3('emptyOut',function(_b4){if(_p(_b4)){if(_r(_b4)){_b4.length=0;}else{for(var _G in _b4)delete _b4[_G];}}return _b4;});var _cB=_3('recordMatches',function(_cC,_cD){if(!_cC)return!_cD;for(var _x in _cD){if(_cC[_x]!==_cD[_x])return _g;}return _h;});_3('findRecordNo',function(_cE,_cD,_cF){if(_cE){for(var _cG= -1,_cH=_cE.length;++_cG<_cH;){if(_cB(_cE[_cG],_cD))return _cG;}}return _cF==_i||isNaN(_cF-=0)? -1:_cF;});_3('findRecord',function(_cE,_cD,_cF){return(_cE!=_i&&(_cG=_T.findRecordNo(_cE,_cD,_cF))> -1?_cE[_cG]:null);});var _V=_3('getGuid',
function(){return'uizeGuid'+_j++});var _cI=_3('getPathToLibrary',function(_cJ,_cK){if(typeof document!='undefined'&&document.getElementsByTagName){for(var _cL= -1,_cM=document.getElementsByTagName('SCRIPT'),_cN=_cM.length,_cO,_cP;++_cL<_cN;){if((_cP=(_cO=_cM[_cL].src).indexOf(_cJ))> -1)return(_cK?_cO.replace(_cJ,_cK):_cO.slice(0,_cO.lastIndexOf('/',_cP)+1));}}return'';});var _b0=_3('globalEval',new _f('toEval','return eval (toEval)'));var _N=_3('isInstance',function(_J){return!!(_J&&_J.Class)});_3('module',function(_cQ){var _4=_cQ.name||'',_cR=_4.substr(0,_4.lastIndexOf('.')),_cS=_cQ.superclass||_cR,_cT=_cQ.required||[],_cU=[];_5[_4]||(_5[_4]=[]);if(_cj(_cT))_cT=_cT.split(',');_cR&&_cT.push(_cR);_cS!=_cR&&_cT.push(_cS);_P(_cT,function(_cV){_cV&& !_7(_cV)&&_cU.push(_cV);});function _cW(){var _cX=_cQ.builder,_8=_cX&&_cX(_7(_cS));_4&&(new _f('m',_4+'=m'))(_8=_6[_4]=_8||function(){});if(_s(_8)){_8.moduleName=_4;if(!_8.subclass)_8.toString=_H;}_9(_4);}var _cY=_cU.length;if(_cY){var _cZ=_T.moduleLoader;if(_cZ){
var _c0= -1;function _c1(){_c0++;if(_c0<_cY){var _c2=_cU[_c0];_7(_c2)?_c1():_5[_c2]?_5[_c2].push(_c1):_cZ(_c2,function(_c3){if(_7(_c2)){_c1();}else{_c3&&_b0(_c3);if(_7(_c2)){_9(_c2);_c1();}else{(_5[_c2]||(_5[_c2]=[])).push(_c1);}}});}else{_cW();}}_c1();}else{_cW();}}else{_cW();}});_3('moduleLoader',function(_c2,_c4){_c4();var _c5=document.createElement('script');_c5.type='text/javascript';_c5.src=_T.moduleUrlResolver(_c2);(_n||(_n=document.getElementsByTagName('HEAD')[0])).appendChild(_c5);});_3('moduleUrlResolver',function(_K){return _T.moduleUrlTemplate.replace(_m,_K+'.js');});var _bM=_3('pairUp',function(_c6){var _F={},_ch=arguments.length==1&&_r(_c6)?_c6:arguments,_c7=_ch.length;if(_c7<3){_F[_ch[0]]=_ch[1];}else{for(var _c8= -2;(_c8+=2)<_c7;)_F[_ch[_c8]]=_ch[_c8+1];}return _F;});var _c9=_3('escapeRegExpLiteral',function(_da){return _da.replace(/([\^\$\|\{\}\[\]\(\)\?\.\*\+\\])/g,'\\$1');});var _db=_3('substituteInto',function(_b4,_dc,_dd){if(!(_b4=_b4==_a?'':_b4+'')||_dc==_a)return _b4;if(_cA(_dc))
_dc=[_dc];var _de=(_dd||'[#KEY]').split('KEY'),_df=[];for(var _dg in _dc)_df.push(_c9(_dg));return _b4.replace(new RegExp(_c9(_de[0])+'('+_df.join('|')+')'+_c9(_de[1]),'g'),function(_dh,_dg){return _dc[_dg]+''});});function _U(_T,_di,_dj){var _dk=function(){var _dl,_dm,_dn;for(var _do in _dp){_dm=(_dl=_dp[_do]).length;for(var _dq= -1;++_dq<_dm;)if(_dn=_dl[_dq])_dn.apply(this,arguments);}return this;};var _0=_T.prototype;var _Q,_dr=_T.nonInheritableStatics||_l;for(var _G in _T)if(!_dr[_G]&&(_Q=_T[_G])!=_0&& !(_s(_Q)&&_Q.moduleName&&/[A-Z]/.test(_G.charAt(0))))_dk[_G]=_z(_Q);var _ds=_dk.prototype;_u(_ds,_0);_ds.toString=_H;_ds.valueOf=_R;_ds.Class=_dk;_dk.nonInheritableStatics={nonInheritableStatics:1,toString:0,valueOf:0};_dk.superclass=_T;_dk.toString=_H;_dk.valueOf=_R;var _dt=_T._dt||{alphastructor:_k,omegastructor:_k},_dp=_dk._dt={alphastructor:_dt.alphastructor.concat(_di),omegastructor:_dt.omegastructor.concat(_dj)};_dk._bf||(_dk._bf={});_dk._be||(_dk._be={});return _dk;};_T.subclass=function(_di,_dj){
return _U(this,_di,_dj);};_T.moduleName='Uize';_3('moduleUrlTemplate',_cI('Uize.js',_m));_3('pathToResources',_cI('Uize.js'));})();
