///////////////////////
//
// caller
//
// uses comagent
//      chainEvent
//
// 2008.02.21
//

function callerCall(return_func_name,func_name,params_here)
{
 //extract arguments
 var a = [];
 for(var i =2;i < arguments.length;i++)
   a.push(arguments[i]);

//create message
 var m = 
   {
    'func' : func_name,
    'params' : a,
    'return_func_name' : return_func_name
   }
   
 //post message
 comAgentPostMessage('caller',m);
 comAgentProcessMessages(); // we want immediate call
}


function callerMessageReady()
{
var m;
var fn;
var c;
console.log('callerMessageReady');
  
  while(m = this.getMessage())
    {
    console.log(m)
    fn = m.return_func_name;
    c = fn+"(m.result)";
    console.log('return calling...'+c)
    eval(c);
    }//while

}//func


// comAgentMessageReadyCall('caller',callerMessageReady); //defer to onload (IE Abort issue)




