if(!window.Error){
function Error(s){
this.message=s;
};
Error.prototype.toString=function(){
return this.message;
};
if(""+Error("x")!="x"){
alert("Error unsupported");
}
}
if(!Array.prototype.join){
Array.prototype.join=function(_2){
var r="";
for(var i=1;i<this.length;++i){
r+=""+_2+this[i];
}
return r;
};
if([1,2].join(",")!="1,2"){
alert("Array.join unsupported");
}
}
if(!Array.prototype.splice){
Array.prototype.splice=function(p,n){
var a=[];
for(var i=p+n;i<this.length;++i){
a[a.length]=this[i];
}
this.length=p;
for(var i=2;typeof arguments[i]!="undefined";++i){
this[this.length]=arguments[i];
}
for(var i=0;i<a.length;++i){
this[this.length]=a[i];
}
};
var t=["a","z","c"];
t.splice(1,1,"b");
if(t.join(",")!="a,b,c"){
alert("Array.splice unsupported");
}
}
if(!Array.prototype.slice){
Array.prototype.splice=function(p,_a){
if(typeof _a!="number"){
_a=this.length;
}
if(_a<0){
_a=this.length+_a;
}
var a=[];
for(var i=p;i<this.length&&i<_a;++i){
a[a.length]=this[i];
}
return a;
};
var t=["a","b","c"];
if(t.slice(1,1).join(",")!="b"){
alert("Array.slice unsupported(1)");
}
if(t.slice(1,-1).join(",")!="b"){
alert("Array.slice unsupported(2)");
}
if(t.slice(1).join(",")!="b,c"){
alert("Array.slice unsupported(2)");
}
}
if(!Array.prototype.push){
Array.prototype.push=function(){
for(var i=0;typeof arguments[i]!="undefined";++i){
this[this.length]=arguments[i];
}
};
var t=["a"];
t.push("b","c");
if(t.join(",")!="a,b,c"){
alert("Array.push unsupported");
}
}
if(!Array.prototype.pop){
Array.prototype.pop=function(){
if(!this.length){
return;
}
var r=this[this.length-1];
this.length--;
return r;
};
var t=["a","b","c","d"];
if(t.pop()!="d"||t.join(",")!="a,b,c"){
alert("Array.pop unsupported");
}
}
if(!Function.prototype.apply){
Function.prototype.apply=function(o,p){
var _11=new Array();
if(!o){
o=window;
}
if(!p){
p=new Array();
}
for(var i=0;i<p.length;i++){
_11[i]="p["+i+"]";
}
o.__apply__=this;
var rv=eval("o.__apply__("+_11.join(", ")+")");
o.__apply__=null;
return rv;
};
var t=["a"];
Array.prototype.push.apply(t,["b","c"]);
if(t.join(",")!="a,b,c"){
alert("Function.apply unsupported");
}
}
if(!Function.prototype.call){
Function.prototype.call=function(o){
var _15=new Array();
if(!o){
o=window;
}
for(var i=1;typeof (arguments[i])!="undefined";i++){
_15[i-1]="arguments["+i+"]";
}
o.__apply__=this;
var rv=eval("o.__apply__("+_15.join(", ")+")");
o.__apply__=null;
return rv;
};
var t=["a"];
Array.prototype.push.call(t,"b","c");
if(t.join(",")!="a,b,c"){
alert("Function.apply unsupported");
}
}

