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