/*
	UIZE JAVASCRIPT FRAMEWORK 2010-05-16

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