
/*
	"Hemi" JavaScript Framework
	Engine for Web Applications 3.1
	Composite file "hemi.comp.js" release: 3.1.1
	Copyright 2002 - 2010. All Rights Reserved.
	Author: Stephen W. Cote
	Email: sw.cote@gmail.com
	Project: http://www.whitefrost.com/Hemi/
	BSD License: http://www.whitefrost.com/Hemi.license.txt
*/
(function(){H.namespace("object",H,{addObjectDeconstructor:
function(o){if(!H.registry.service.isRegistered(o))return 0;o.sigterm=function(){this.destroy();};o.destroy=function(){var t=this,i;if(t.r<5){if(typeof t.object_destroy==D.F)t.object_destroy();t.r=5;H.registry.service.removeObject(t);for(i in t.o)t.o[i]=null;for(i in t.p)t.p[i]=null;}};},addObjectAccessor:
function(o,s){if(!D.TO(o)){alert("Invalid object reference");return 0;}if(!D.TO(o.o))o.o={};o.o[s+"s"]=[];o.o[s+"Names"]=[];o.o[s+"Index"]=[];var	s_name=s.substring(0,1).toUpperCase()+s.substring(1,s.length),f;o["get"+s_name+"ByName"]=eval('f=function(s){'+' var c=this.o;'+' if(typeof c.'+s+'Names[s]==D.N)return c.'+s+'s[c.'+s+'Names[s]];'+' return 0;'+'}');o["clear"+s_name+"s"]=eval('f=function(){var _p=this.o;_p.'+s+'s=[];_p.'+s+'Names=[];_p.'+s+'Index=[];return 1;}');o["remove"+s_name]=eval('f=function(o){var _p=this.o,i;if(!D.TO(o)||!D.TN(o.access_index))return 0;delete _p.'+s+'s[o.access_index];delete _p.'+s+'Index[o.i];delete _p.'+s+'Names[o.access_name];return 1;}');o["addNew"+s_name]=eval('f=function(o,n,i){var _p=this.o,l;if(!i){if(!o.i)o.i=H.guid();i=o.i;}if(this.is'+s_name+'(n))return 0;l=_p.'+s+'s.length;_p.'+s+'s[l]=o;_p.'+s+'Index[i]=l;_p.'+s+'Names[n]=l;o.access_index=l;o.access_name=n;return 1;}');o["get"+s_name]=eval('f=function(i){var _p=this.o;if(typeof _p.'+s+'Index[i]==D.N&&typeof _p.'+s+'s[_p.'+s+'Index[i]]==D.O){return _p.'+s+'s[_p.'+s+'Index[i]];}return 0;};');o["get"+s_name+"s"]=eval('f=function(){return this.o.'+s+'s;};');o["is"+s_name]=eval('f=function(o){var _p=this.o;if(typeof o==D.S){if(this.get'+s_name+'ByName(o))return 1;return 0;}if(typeof o==D.O&&o!=null&&typeof _p.'+s+'Index[o.'+s+'_id]==D.N&&typeof _p.'+s+'s[_p.'+s+'Index[o.'+s+'_id]]==D.O){return 1;}return 0;};');return 1;}});}());
/* End Hemi Framework 3.1 */
