/*
	UIZE JAVASCRIPT FRAMEWORK 2009-06-15

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