/* Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ //>>built define("dojo/aspect",[],function(){ "use strict"; var _1=0; function _2(_3,_4,_5,_6){ var _7=_3[_4]; var _8=_4=="around"; var _9; if(_8){ var _a=_5(function(){ return _7.advice(this,arguments); }); _9={remove:function(){ _9.cancelled=true; },advice:function(_b,_c){ return _9.cancelled?_7.advice(_b,_c):_a.apply(_b,_c); }}; }else{ _9={remove:function(){ var _d=_9.previous; var _e=_9.next; if(!_e&&!_d){ delete _3[_4]; }else{ if(_d){ _d.next=_e; }else{ _3[_4]=_e; } if(_e){ _e.previous=_d; } } },id:_1++,advice:_5,receiveArguments:_6}; } if(_7&&!_8){ if(_4=="after"){ var _f=_7; while(_f){ _7=_f; _f=_f.next; } _7.next=_9; _9.previous=_7; }else{ if(_4=="before"){ _3[_4]=_9; _9.next=_7; _7.previous=_9; } } }else{ _3[_4]=_9; } return _9; }; function _10(_11){ return function(_12,_13,_14,_15){ var _16=_12[_13],_17; if(!_16||_16.target!=_12){ _12[_13]=_17=function(){ var _18=_1; var _19=arguments; var _1a=_17.before; while(_1a){ _19=_1a.advice.apply(this,_19)||_19; _1a=_1a.next; } if(_17.around){ var _1b=_17.around.advice(this,_19); } var _1c=_17.after; while(_1c&&_1c.id<_18){ _1b=_1c.receiveArguments?_1c.advice.apply(this,_19)||_1b:_1c.advice.call(this,_1b); _1c=_1c.next; } return _1b; }; if(_16){ _17.around={advice:function(_1d,_1e){ return _16.apply(_1d,_1e); }}; } _17.target=_12; } var _1f=_2((_17||_16),_11,_14,_15); _14=null; return _1f; }; }; return {before:_10("before"),around:_10("around"),after:_10("after")}; });