/*
	UIZE JAVASCRIPT FRAMEWORK 2009-11-06

	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){var _bs={};_bs[_y]=arguments[1];_y=_bs;}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(_bs){var _L=_G(_bs).moduleName,_bK=_bs.subclass;return('['+(_bt(_bs)||(!_bK&& !_L)?_c:_bK?'class':'package')+' '+(_L||'Function')+']');}var _q=_bJ(this);if(this.get){var _y=this.get(),_bL=[];for(var _bI in _y){var _bB=_y[_bI];_bL.push(_bI+' : '+(_bB&&(_bt(_bB)||
(typeof _bB==_d&& !(_bB instanceof RegExp)))?_bJ(_bB):_bB));}_q+='\n\n'+_bL.sort().join('\n');}return _q;};_v.valueOf=_F.valueOf=function(){return this[_U(this,'value')];};_F.kill=function(){var _bM=this.instanceId;_bN('if(typeof '+_bM+'!=\'undefined\')'+_bM+'=null');};_v.capFirstChar=function(_bO){return _bO.charAt(0).toUpperCase()+_bO.slice(1);};_v.clone=_n;_v.constrain=function(_o,_bP,_bQ){return(_bP<_bQ?(_o<_bP?_bP:_o>_bQ?_bQ:_o):(_o<_bQ?_bQ:_o>_bP?_bP:_o));};var _bR=_v.copyInto=function(_bS,_bT){if(typeof _bT==_c&&_bT){for(var _bI in _bT)_bS[_bI]=_bT[_bI];}if(arguments.length>2){for(var _bU=0;++_bU<arguments.length;){if(typeof(_bT=arguments[_bU])==_c&&_bT){for(var _bI in _bT)_bS[_bI]=_bT[_bI];}}}return _bS;};_v.callOn=function(_bs,_bV,_bW){if(!_bs)return;if(!_bW)_bW=_k;var _bX=typeof _bV==_b,_bY= !_bX&&typeof _bV==_d;function _bZ(_bs){if(_bs&&typeof _bs==_c){if(_t(_bs)){for(var _b0= -1,_b1=_bs.length;++_b0<_b1;)_bZ(_bs[_b0]);}else{var _b2=_bX&&typeof _bs[_bV]==_d;if(_bt(_bs)||_b2){if(_bY||_b2)
(_bY?_bV:_bs[_bV]).apply(_bs,_bW);}else{for(var _b3 in _bs)_bZ(_bs[_b3]);}}}}_bZ(_bs);};_v.getModulesBuilt=function(){var _b4=[];for(var _L in _J)_b4.push(_L);return _b4;};_v.indexIn=function(_b5,_o,_b6,_b7){var _q,_b8;if(_t(_b5)){_b7=_b7!==_g;for(var _b9=_b5.length-1,_ca=_b9+1;--_ca>=0;){var _cb=_b5[_q=_b6?_ca:_b9-_ca];if(_b7?_cb===_o:_cb==_o){_b8=_h;break;}}}return _b8?_q: -1;};var _t=_v.isArray=function(_bs){return _bs instanceof Array||(!!_bs&&typeof _bs.splice==_d);};_v.isNumber=function(_o){return typeof _o==_e&& !isNaN(_o);};_v.isIn=function(_b5,_o,_b7){return _v.indexIn(_b5,_o,_b7)> -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){var _q='';if(typeof document!='undefined'&&document.getElementsByTagName){for(var _cl= -1,_cm=document.getElementsByTagName('SCRIPT'),_cn=_cm.length;++_cl<_cn;){var _co=_cm[_cl].src,_cp=_co.indexOf(_ck);if(_cp> -1){_q=_co.slice(0,_co.lastIndexOf('/',_cp)+1);break;}}}return _q;};var _bN=_v.globalEval=new Function('toEval','return eval (toEval)');var _bt=_v.isInstance=function(_bs){return _bs&& !!_bs.Class;};_v.module=function(_cq){var _cr=_cq.name||'',_cs=_cr.lastIndexOf('.'),_ct=_cr.substr(0,_cs),_cu=_cq.superclass||_ct,_cv=_cq.required||[],_cw=[];if(!_I[_cr])_I[_cr]=[];if(typeof _cv==_b)_cv=_cv.split(',');_ct&&_cv.push(_ct);_cu!=_ct&&_cv.push(_cu);for(var _cx= -1,_cy=_cv.length;++_cx<_cy;){var _cz=_cv[_cx];_cz&& !_K(_cz)&&_cw.push(_cz);}function _cA(){var _cB=_cq.builder,_N=_cB&&_cB(_K(_cu));_cr&&(new Function('m',_cr+'=m'))(_N=_J[_cr]=_N||function(){});if(typeof _N==_d){_N.moduleName=_cr;if(!_N.subclass)
_N.toString=Uize.toString;}_M(_cr);}var _cC=_cw.length;if(_cC){var _cD=_v.moduleLoader;if(_cD){var _cE= -1;function _cF(){_cE++;if(_cE<_cC){var _cG=_cw[_cE];_K(_cG)?_cF():_I[_cG]?_I[_cG].push(_cF):_cD(_cG,function(_cH){if(_K(_cG)){_cF();}else{_cH&&_bN(_cH);if(_K(_cG)){_M(_cG);_cF();}else{(_I[_cG]||(_I[_cG]=[])).push(_cF);}}});}else{_cA();}}_cF();}else{_cA();}}else{_cA();}};var _cI=_v.substituteInto=function(_bO,_cJ,_cK){if((_bO=_bO!=_a?_bO+'':'')&&_cJ!=_a){var _cL='[#',_cM=']',_cN=/([\^\$\|\{\}\[\]\(\)\?\.\*\+\\])/g;if(_m[typeof _cJ])_cJ=[_cJ];if(_cK){var _cO=_cK.split('KEY');_cL=_cO[0];_cM=_cO[1];}for(var _cP in _cJ)_bO=_bO.replace(new RegExp((_cL+_cP+_cM).replace(_cN,'\\$1'),'g'),_cJ[_cP]);}return _bO;};function _w(_v,_cQ,_cR,_cS,_cT){var _cU=function(){_cV(this,'alphastructor',arguments);_cV(this,'omegastructor',arguments);return this;};function _cV(_cW,_cX,_bW){for(var _cY= -1,_cZ=_c0[_cX],_c1=_cZ.length,_c2;++_cY<_c1;)if(_c2=_cZ[_cY])_c2.apply(_cW,_bW);}var _F=_v.prototype;var _bB;for(var _u in _v)if(
(_bB=_v[_u])!=_F&&(!_bB||typeof _bB!=_d||_bB.superclass!==_v))_cU[_u]=_n(_bB);var _c3=_cU.prototype;for(var _u in _F)_c3[_u]=_F[_u];_c3.toString=_F.toString;_c3.valueOf=_F.valueOf;_c3.Class=_cU;_cU.superclass=_v;var _c4=_v._c4||{alphastructor:_k,omegastructor:_k,alphasubber:_k,omegasubber:_k},_c0=_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;};_v.subclass=function(_cQ,_cR,_cS,_cT){return _w(this,_cQ,_cR,_cS,_cT);};_v.moduleName='Uize';var _c5='[#modulePath]',_c6=_cj('Uize.js'),_c7;_v.moduleUrlResolver=function(_L){return _v.moduleUrlTemplate.replace(_c5,_L+'.js');};_v.moduleLoader=function(_cG,_c8){_c8();var _c9=document.createElement('script');_c9.type='text/javascript';_c9.src=_v.moduleUrlResolver(_cG);(_c7||(_c7=document.getElementsByTagName('HEAD')[0])).appendChild(_c9);};_v.moduleUrlTemplate=_c6+_c5;
_v.pathToResources=_c6;})();
