var FEvent={observe:function(D,C,B,A){if(D){if(!D.fhandlers){D.fhandlers={};
}if(!D.fhandlers[C]){D.fhandlers[C]=new Array();
}if(D.fhandlers[C].indexOf(B)==-1){D.fhandlers[C].push(B);
Event.observe(D,C,B,A);
}}},flushAll:function(B,A){if(B){if(A){this.stopObserving(B,A);
}else{for(var C in B.fhandlers){this.stopObserving(B,C);
}}B.fhandlers=null;
}},stopObserving:function(D,C,B,A){if(D.fhandlers){var E=D.fhandlers[C];
if(E&&(E instanceof Array)){E.each(function(G,F){if((B&&G==B)||!B){Event.stopObserving(D,C,G,A);
E[F]=null;
}});
D.fhandlers[C]=E.compact();
if(D.fhandlers[C]==0){D.fhandlers[C]=null;
}}}},hasObservers:function(B,A){return(B&&B.fhandlers&&B.fhandlers[A]&&B.fhandlers[A].length>0);
},getObservers:function(B,A){if(B&&B.fhandlers){return B.fhandlers[A];
}}};

