if(typeof Prototype=="undefined"||Prototype.Version<"1.5.1"){throw"Behaviour needs Prototype 1.5.1"}var Behaviour={list:[],eventObservers:[],clearedElements:[],addEventObserver:function(D,C,B,A){if(!this.clearedElements.include(D)){this.clearedElements.push(D);Behaviour.removeAllObservers(D)}D=$(D);A=A||false;Behaviour.eventObservers.push([D,C,B,A]);Event.observe(D,C,B,A)},removeEventObserver:function(D,C,B,A){D=$(D);A=A||false;Behaviour.eventObservers=Behaviour.eventObservers.reject(function(E){return(E[0]==D&&E[1]==C&&E[2]==B&&E[3]==A)});Event.stopObserving(D,C,B,A)},removeAllObservers:function(A){var C=$(A);var B=Behaviour.eventObservers.findAll(function(D){return(D[0]==C)});B.each(function(D){Behaviour.removeEventObserver(D[0],D[1],D[2],D[3])})},register:function(A){Behaviour.list.push(A)},start:function(){Behaviour.addLoadEvent(function(){Behaviour.apply()})},addLoadEvent:function(A){var B=window.onload;if(typeof window.onload!="function"){window.onload=A}else{window.onload=function(){B();A()}}},apply:function(){this.clearedElements=[];Behaviour.list.each(function(A){for(selector in A){list=$$(selector);if(!list){continue}list.each(function(B){A[selector](B)})}})},applySheet:function(B,A){this.clearedElements=[];for(selector in B){list=A?$(A).getElementsBySelector(selector):$$(selector);if(!list){continue}list.each(function(C){B[selector](C)})}}};Behaviour.start();
