/*
	UIZE JAVASCRIPT FRAMEWORK 2009-09-15

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