1/* 2* Does emulate of .call method for IE5 3* 4* @return mixed execution result 5* @access public 6*/ 7if ('undefined' == typeof Function.call) 8 Function.prototype.call = function () { 9 var context, oldprop, s = [], i=1, aL = arguments.length; 10 if (arguments.length == 0) context = window; 11 else context = arguments[0]; 12 oldprop = context.______________tmp______________; 13 context.______________tmp______________ = this; 14 for (;i<aL;i++) s[s.length] = 'arguments['+i+']'; 15 var ret = eval ("context.______________tmp______________("+s.join(",")+")"); 16 context.______________tmp______________ = oldprop; 17 return ret; 18 } 19/* 20* Does emulate of .apply method for IE5 21* 22* @return mixed execution result 23* @access public 24*/ 25if ('undefined' == typeof Function.apply) 26 Function.prototype.apply = function () { 27 var context, oldprop, s = [], i=0, aL = arguments[1].length; 28 if (arguments.length == 0) context = window; 29 else context = arguments[0]; 30 oldprop = context.______________tmp______________; 31 context.______________tmp______________ = this; 32 for (;i<aL;i++) s[s.length] = 'arguments[1]['+i+']'; 33 var ret = eval ("context.______________tmp______________("+s.join(",")+")"); 34 context.______________tmp______________ = oldprop; 35 return ret; 36 } 37