
YAHOO.namespace("ea.sp");YAHOO.ea.sp.Bindable=new function(){};YAHOO.ea.sp.Bindable.prototype={bindInstead:function(f,arg1,arg2,etc)
{var args=new Array();for(var i=1;i<arguments.length;i++)
args.push(arguments[i]);var self=this;return function()
{return f.apply(self,args);};},bind:function(f)
{var self=this;return function()
{return f.apply(self,arguments);};},bindFirst:function(f)
{var args=arguments;var self=this;return function()
{var newArgs=new Array();for(var i=1;i<args.length;i++)
newArgs.push(args[i]);for(var i=0;i<arguments.length;i++)
newArgs.push(arguments[i]);return f.apply(self,newArgs);}},bindTranslated:function(f,translator)
{var self=this;return function()
{return f.apply(self,translator(arguments));}},bindBoundaryEvent:function(f,element)
{var self=this;return function(event)
{var relatedTarget=YAHOO.util.Event.getRelatedTarget(event);if((!relatedTarget)||((element!=relatedTarget)&&(!YAHOO.util.Dom.isAncestor(element,relatedTarget))))
{f.apply(self,arguments);}
YAHOO.util.Event.stopEvent(event);}}};