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