/*
	UIZE JAVASCRIPT FRAMEWORK 2010-01-24

	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){var _q,_b9;if(_t(_b6)){_b8=_b8!==_g;for(var _ca=_b6.length-1,_cb=_ca+1;--_cb>=0;){var _cc=_b6[_q=_b7?_cb:_ca-_cb];if(_b8?_cc===_o:_cc==_o){_b9=_h;break;}}}return _b9?_q: -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,_b8)> -1;};var _cd=_v.recordMatches=function(_ce,_cf){if(!_ce)return!_cf;for(var _bI in _cf){if(_ce[_bI]!==_cf[_bI])return _g;}return _h;};_v.findRecordNo=function(_cg,_cf,_ch){var _q=_v.isNumber(_ch)?_ch: -1;if(_cg){for(var _ci= -1,_cj=_cg.length;++_ci<_cj;){if(_cd(_cg[_ci],_cf)){_q=_ci;break;}}}return _q;};_v.findRecord=function(_cg,_cf,_ch){var _ci=_v.findRecordNo(_cg,_cf,_ch);return _ci> -1?_cg[_ci]:null;};var _x=_v.getGuid=function(){return'uizeGuid'+_j++;};
var _ck=_v.getPathToLibrary=function(_cl){var _q='';if(typeof document!='undefined'&&document.getElementsByTagName){for(var _cm= -1,_cn=document.getElementsByTagName('SCRIPT'),_co=_cn.length;++_cm<_co;){var _cp=_cn[_cm].src,_cq=_cp.indexOf(_cl);if(_cq> -1){_q=_cp.slice(0,_cp.lastIndexOf('/',_cq)+1);break;}}}return _q;};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.substituteInto=function(_bP,_cL,_cM){if((_bP=_bP!=_a?_bP+'':'')&&_cL!=_a){var _cN='[#',_cO=']',_cP=/([\^\$\|\{\}\[\]\(\)\?\.\*\+\\])/g;if(_m[typeof _cL])_cL=[_cL];if(_cM){var _cQ=_cM.split('KEY');_cN=_cQ[0];_cO=_cQ[1];}for(var _cR in _cL)_bP=_bP.replace(new RegExp((_cN+_cR+_cO).replace(_cP,'\\$1'),'g'),_cL[_cR]);}return _bP;};function _w(_v,_cS,_cT,_cU,_cV){var _cW=function(){_cX(this,'alphastructor',arguments);_cX(this,'omegastructor',arguments);return this;};function _cX(_cY,_cZ,_bX){for(var _c0= -1,_c1=_c2[_cZ],_c3=_c1.length,_c4;++_c0<_c3;)if(_c4=_c1[_c0])_c4.apply(_cY,_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))))_cW[_u]=_n(_bB);var _c5=_cW.prototype;for(var _u in _F)_c5[_u]=_F[_u];_c5.toString=_F.toString;_c5.valueOf=_F.valueOf;_c5.Class=_cW;_cW.superclass=_v;var _c6=_v._c6||{alphastructor:_k,omegastructor:_k,alphasubber:_k,omegasubber:_k},_c2=_cW._c6={alphastructor:_c6.alphastructor.concat(_cS),omegastructor:_c6.omegastructor.concat(_cT),alphasubber:_c6.alphasubber.concat(_cU),omegasubber:_c6.omegasubber.concat(_cV)};_cX(_cW,'alphasubber',_k);_cX(_cW,'omegasubber',_k);return _cW;};_v.subclass=function(_cS,_cT,_cU,_cV){return _w(this,_cS,_cT,_cU,_cV);};_v.moduleName='Uize';var _c7='[#modulePath]',_c8=_ck('Uize.js'),_c9;_v.moduleUrlResolver=function(_L){return _v.moduleUrlTemplate.replace(_c7,_L+'.js');};_v.moduleLoader=function(_cH,_da){_da();var _db=document.createElement('script');_db.type='text/javascript';_db.src=_v.moduleUrlResolver(_cH);(_c9||(_c9=document.getElementsByTagName('HEAD')[0])).appendChild(_db);};
_v.moduleUrlTemplate=_c8+_c7;_v.pathToResources=_c8;})();
