
/*
	"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.include("hemi.wires.primitive");H.namespace("wires",H,{service:null,serviceImpl:
function(){var t=this;t.o={w:[],h:[],l:[],pw:new H.wires.primitive.serviceImpl()};t.p={counter:0,wire_id_label:"hemi.wire",can_signal:1};t.getWires=function(){return this.o.w;};t.getWiresHash=function(){return this.o.h;};t.sigterm=function(){if(this.r!=5){var _p=this.o;_p.w=[];_p.h=[];_p.l=[];this.r=5;}};t.getLength=function(){};t.setCanSignal=function(b){t.p.can_signal=(b?1:0);};t.getCanSignal=function(){return t.p.can_signal;};t.invoke=function(args,xp,x,b,o){var i=-1,l,d,_p=t.o,_s=t.p,w,wl,pw,r,a;if(!D.TO(args))args=[];try{if(D.TS(xp))xp=eval(xp);}catch(e){alert("ocjw.invoke.Error:"+e.toString());return 0;}if(!D.TU(xp)&&x){l=(xp!=null?(xp.getObjectId?xp.getObjectId():(xp.id?xp.id:(xp.name?xp.name:0))):0);d=l+"-"+x;if(D.TO(_p.l[d])){wl=_p.l[d];}else{alert("Invalid Wire Reference("+d+")in hemi.wires.service::invoke");}}else{if(D.TO(_p.w[0])){w=_p.w[0];wl=_p.l[w.la+"-"+w.a];}}if(D.TO(wl)&&wl.length>0){w=_p.w[wl[0]];if(!o)r=_p.pw.invoke(w.pid,args,0,1,0,0,1);if((o||(!w.i&&r))||b){w.i=1;for(i=0;i<wl.length;i++){w=_p.w[wl[i]];_p.pw.invoke(w.pid,args,1,0,1,1,1);if(_s.can_signal){d=w.lh+"-"+w.h;if(D.TO(_p.l[d])){l=_p.w[_p.l[d][0]];pw=_p.pw.getWire(l.pid);if(pw){if(!l.i)t.invoke(args,pw.ap,pw.a,0,1);}}}}}else{}}return r;};t.addInterceptor=function(o){};t.join=function(yp,y){};t.wire=function(xp,x,yp,y,ep,e){var v,i,a,_p=t.o,_s=t.p;try{if(D.TS(xp))xp=eval(xp);if(D.TS(yp))yp=eval(yp);if(D.TS(ep))ep=eval(ep);}catch(e){alert("ocjw.wire.Error:"+e.toString());return 0;}i=_p.pw.wire(xp,x,yp,y,ep,e,_s.wire_id_label);v={pid:i,a:x,h:y,la:(xp!=null?(xp.i?xp.i:(xp.id?xp.id:(xp.name?xp.name:0))):0),lh:(yp!=null?(yp.i?yp.i:(yp.id?yp.id:(yp.name?yp.name:0))):0),le:(ep!=null?(ep.i?ep.i:(ep.id?ep.id:(ep.name?ep.name:0))):0),id:0,i:0};v.id=v.a+"-"+v.h+"-"+v.pid;_p.h[v.id]=_p.w.length;_p.w[_p.w.length]=v;i=v.la+"-"+v.a;if(!D.TO(_p.l[i]))_p.l[i]=[];a=_p.l[i];a[a.length]=_p.h[v.id];return 1;};t.primitiveWire=function(xp,x,yp,y,ep,e){var _p=t.o,_s=t.p;try{if(D.TS(xp))xp=eval(xp);if(D.TS(yp))yp=eval(yp);if(D.TS(ep))ep=eval(ep);}catch(e){alert("ocjw.wire.Error:"+e.toString());return 0;}return _p.pw.wire(xp,x,yp,y,ep,e,_s.wire_id_label);};t.invokePrimitive=function(args,i,o,z){var _pw=t.o.pw,r;if(D.TS(i)){if(!o){r=_pw.invoke(i,args,0,1,0,0,1);}if(o||r){if(!z){_pw.invoke(i,args,1,0,1,1,1);}}else{}}return r;};t.invokeHardWireAction=function(o,i,a){var pw,c=[],b,l,k=0,_m=H.message.service;if(!D.TO(o)||!D.TO(o.pw)){_m.S("Invalid object reference for primitive wire","511.4");return 0;}pw=o.getPrimitiveWire(i);if(!D.TO(pw)){_m.S("Invalid primitive wire id "+i,"511.4");return 0;}b=pw.action_arguments;for(;k<b.length;)c[k]=b[k++];if(D.TO(a)&&(l=a.length))for(k=0;k<l;)c[c.length]=a[k++];return t.invokePrimitive(c,pw.id,0,1);};t.invokeHardWireHandler=function(o,i,a){var pw,c=[],b,l,k=0,_m=H.message.service;if(!D.TO(o)||!D.TO(o.pw)){_m.S("Invalid object reference for primitive wire","511.4");return 0;}pw=o.getPrimitiveWire(i);if(!D.TO(pw)){_m.S("Invalid primitive wire id "+i,"511.4");return 0;}b=pw.handler_arguments;for(;k<b.length;)c[k]=b[k++];if(D.TO(a)&&(l=a.length))for(k=0;k<l;)c[c.length]=a[k++];return t.invokePrimitive(c,pw.id,1,0);};t.hardWire=function(o,i,action_args,handler_args,ac,a,hc,h,ec,e,error_args){if(!D.TO(o)||!D.TO(o.pw))return 0;var pid=t.primitiveWire(ac,a,hc,h,ec,e);if(pid!=0){o.pw[i]={id:pid,action_arguments:action_args,handler_arguments:handler_args,error_arguments:error_args};}return pid;};H.IM(t,"base_object","wire_service","3.1.1");H.registry.service.addObject(t);t.r=4;return t;}},1);}());
/* End Hemi Framework 3.1 */
