/*______________
|       ______  |   U I Z E     J A V A S C R I P T     A P I
|     /      /  |   -----------------------------------------
|    /    O /   |    MODULE : Uize Foundation Class (version 1.2.1)
|   /    / /    |    AUTHOR : Chris van Rensburg (http://www.tomkidding.com)
|  /    / /  /| |    ONLINE : http://www.tomkidding.com/uize/uize-js-api
| /____/ /__/_| | COPYRIGHT : (c)2003-2005 Chris van Rensburg
|           |__ |   LICENSE : Distributed under the terms of the GNU General Public License
|_______________|             http://www.gnu.org/licenses/gpl.txt
*/
(function(){var _a=RootClass=function(){};function _b(_c,_d,_e,_f,_g){var _h=function(){_i(this,'alphastructor',arguments);_i(this,'omegastructor',arguments);return this;};function _i(_j,_k,_l){for(var _m=0;_m<_n.length;_m++){var _o=_n[_m][_k];if(typeof _o=='function')_o.apply(_j,_l);}}function _p(_q){var _r;if(typeof _q=='object'&&_q!=null){if(typeof _q.length=='number'){_r=[];_r.length=_q.length;}else{_r={};}for(var _s in _q)
_r[_s]=_p(_q[_s]);}else{_r=_q;}return _r;}for(var _s in _c){if(_s!='prototype')_h[_s]=_p(_c[_s]);}for(var _s in _c.prototype)_h.prototype[_s]=_c.prototype[_s];_h.prototype.objectClass=_h;var _n=_h.classInheritanceChain=(_c.classInheritanceChain?_c.classInheritanceChain:[]).concat({alphastructor:_d,omegastructor:_e,alphasubber:_f,omegasubber:_g});_i(_h,'alphasubber',[]);_i(_h,'omegasubber',[]);return _h;};_a.subclass=function(_d,_e,_f,_g){return _b(this,_d,_e,_f,_g);};})();(function(){var a_a='undefined',a_b='string',a_c=false,a_d=true,a_e=null;var a_f=Uize=RootClass.subclass(function(){var a_g=this,a_f=a_h(a_g);a_g.objectName='_GIN_'+(a_i=(typeof a_i!=a_a)? ++a_i:0);a_f.instances.push(window[a_g.objectName]=a_g);},function(a_j){var a_g=this,a_f=a_h(a_g);var a_k={};for(var a_l in a_f.propertyProfiles)a_k[a_l]=a_f.get(a_l);a_g.set(a_m(a_k,a_j));},function(){var a_f=this;a_f.instances=[];if(!a_f.propertyMap)a_f.propertyMap={};if(!a_f.propertyProfiles)a_f.propertyProfiles={};}),a_n=a_f.prototype;
function a_m(a_o,a_j){if(typeof a_j=='object'){for(var a_l in a_j)a_o[a_l]=a_j[a_l];}return a_o;}function a_p(a_o){return typeof a_o.objectClass!=a_a}function a_h(a_q){return a_p(a_q)?a_q.objectClass:a_q;}function a_r(a_s,a_j){var a_t=a_s;if(typeof a_t==a_b){for(var a_l in a_j)a_t=a_t.replace(new RegExp('\\[#'+a_l+'\\]','gi'),a_j[a_l]);}return a_t;}function a_u(a_g,a_l){var a_v=a_h(a_g).propertyProfiles;return(typeof a_v[a_l]!=a_a)?a_v[a_l].a_w:a_l;}function a_x(a_y,a_j){if(typeof a_y==a_b)eval(a_y);else if(typeof a_y=='function')a_y(a_j);}function a_z(a_A){var a_t='';if(typeof document.getElementsByTagName!=a_a){var a_B=document.getElementsByTagName('SCRIPT');for(var a_C=0;a_C<a_B.length;a_C++){var a_D=a_B[a_C].src,a_E=a_D.indexOf(a_A);if(a_E!= -1){a_t=a_D.substr(0,a_D.lastIndexOf('/',a_E)+1);break;}}}return a_t;}a_f.pathToResources=a_z('Uize.js');a_f.addEventHandler=a_n.addEventHandler=function(a_F,a_y){var a_g=this;if(typeof a_g.eventHandlers==a_a)a_g.eventHandlers=[];
a_g.eventHandlers[a_g.eventHandlers.length]={a_F:a_F,a_y:a_y};};a_f.doForInstance=a_n.doForInstance=function(a_G){var a_g=this;if(a_p(a_g)){a_f.callMethodOnObject(a_g,a_G);}else{for(var a_H=0;a_H<a_g.instances.length;a_H++)a_g.instances[a_H].doForInstance(a_G);}};a_f.doOnceEvent=a_n.doOnceEvent=function(a_F,a_y){var a_g=this;if(a_g.hasEventFired(a_F)){a_x(a_y);}else{if(typeof a_g.onceEventHandlers==a_a)a_g.onceEventHandlers={};if(typeof a_g.onceEventHandlers[a_F]!=a_b)a_g.onceEventHandlers[a_F]='';a_g.onceEventHandlers[a_F]+=a_y+';';}};a_f.fireEvent=a_n.fireEvent=function(a_I,a_J){var a_g=this,a_K=a_g.eventHandlers;if(typeof a_K!=a_a){if(typeof a_g.onceEventHandlers==a_a)a_g.onceEventHandlers={};var a_L={};if(typeof a_I=='object'){a_m(a_L,a_I);}else{a_L.name=a_I;}a_m(a_L,a_J);a_L.instance=a_g;var a_F=a_L.name,a_M=(typeof a_g.onceEventHandlers[a_F]==a_b)?a_g.onceEventHandlers[a_F]:'';a_g.onceEventHandlers[a_F]=a_d;if(a_M!='')a_x(a_M);for(var a_N=0;a_N<a_K.length;a_N++){var a_O=a_K[a_N];
if(a_O!=a_e&&(a_O.a_F==a_F||a_O.a_F=='*'))a_x(a_O.a_y,a_L);}}};a_f.get=a_n.get=function(a_l){return this[a_u(this,a_l)];};a_f.hasEventFired=a_n.hasEventFired=function(a_F){return typeof this.onceEventHandlers!=a_a&&this.onceEventHandlers[a_F]===a_d;};a_f.registerProperties=a_n.registerProperties=function(a_v){var a_g=this,a_f=a_h(a_g);if(typeof a_v!=a_a){for(var a_P in a_v){var a_Q=a_v[a_P],a_R=typeof a_Q=='object',a_l=a_R?a_Q.name:a_Q,a_S=a_f.propertyProfiles[a_l]=a_f.propertyMap[a_P]={a_w:a_P};if(a_R){if(typeof a_Q.onChange!=a_a)a_S.a_T=a_Q.onChange;}}}};a_f.removeEventHandler=a_n.removeEventHandler=function(a_F,a_y){var a_g=this;if(typeof a_g.eventHandlers!=a_a){var a_K=a_g.eventHandlers;for(var a_N=0;a_N<a_K.length;a_N++){var a_O=a_K[a_N];if(a_O!=a_e&&(typeof a_y==a_a||a_O.a_y==a_y))a_K[a_N]=a_e;}}};a_f.set=a_n.set=function(a_j){var a_g=this,a_f=a_h(a_g),a_v=a_f.propertyProfiles,a_U=a_f.propertyMap,a_V={};for(var a_l in a_j){var a_P=a_u(a_g,a_l);if(typeof a_j[a_l]!=a_a&&a_j[a_l]!=a_g[a_P]){
if(typeof a_v[a_l]==a_a&&typeof a_U[a_P]==a_a){var a_W={};a_W[a_P]=a_P;a_f.registerProperties(a_W);}a_V[a_P]=a_U[a_P];a_g[a_P]=a_j[a_l];}}if(a_p(a_g)){for(a_l in a_V)a_f.callMethodOnObject(a_g,a_V[a_l].a_T);}};a_n.kill=function(){var a_g=this,a_X=a_h(a_g).instances,a_Y=a_c;for(var a_H=0;a_H<a_X.length;a_H++){if(!a_Y&&a_X[a_H]==a_g){a_Y=a_d;window[a_g.objectName]=a_e;}if(a_Y&&a_H+1<a_X.length)a_X[a_H]=a_X[a_H+1];}if(a_Y)a_X.length--;};a_n.substituteResources=function(a_s){return a_r(a_s,{pathToResources:a_f.pathToResources,objectName:this.objectName});};a_f.addPropertiesToObject=a_m;a_f.callMethodOnObject=function(a_o,a_G,a_Z){if(typeof a_G=='function'){a_o.TEMPORARY_METHOD=a_G;a_o.TEMPORARY_METHOD(a_Z);delete a_o.TEMPORARY_METHOD;}else if(typeof a_G=='string'&&typeof a_o[a_G]=='function'){a_o[a_G](a_Z);}};a_f.doForObjects=function(a_o,a_G){function a_0(a_o){if(typeof a_o=='object'){if(typeof a_o.length=='number'){for(var a_1=0;a_1<a_o.length;a_1++)a_0(a_o[a_1]);
}else if(a_p(a_o)||(typeof a_G==a_b&&typeof a_o[a_G]=='function')){a_f.callMethodOnObject(a_o,a_G);}else{for(var a_2 in a_o)a_0(a_o[a_2]);}}}a_0(a_o);};a_f.execHandler=a_x;a_f.getPathToLibrary=a_z;a_f.isInstance=a_p;a_f.substituteInto=a_r;})();
