/*
	UIZE JAVASCRIPT FRAMEWORK 2009-04-14

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