/*
	UIZE JAVASCRIPT FRAMEWORK 2010-12-10

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