/*
   Prototyped Behaviour by G-Media, Jan 2008.
     Requires Prototype 1.6.0

   Inspired by:
     Behaviour v1.1 by Ben Nolan, June 2005. Based largely on the work
     of Simon Willison (see comments by Simon below).

   Description:
   	
   	Uses css selectors to apply javascript behaviours to enable
   	unobtrusive javascript in html documents.
   	
   Usage:   
   
	var myrules = {
		'b.someclass' : function(element){
			element.onclick = function(){
				alert(this.innerHTML);
			}
		},
		'#someid u' : function(element){
			element.onmouseover = function(){
				this.innerHTML = "BLAH!";
			}
		}
	};
	
	Behaviour.register(myrules);
	
	// Call Behaviour.apply() to re-apply the rules (if you
	// update the dom, etc).
*/   

var Behaviour = {
	'list': new Array,
	
	'register': function(sheet){
		Behaviour.list.push(sheet);
	},
	
	'start': function(){
		Event.observe(
			document, 
			'dom:loaded', 
			function(e) {
				Behaviour.apply();
			}
		);
	},
	
	'apply': function(){
		$A(Behaviour.list).each(function(sheet) {
			$H(sheet).each(function(pair) {
				var s = pair.key;
				var f = pair.value;
				$$(s).each(function(el) { f(el); });
			});
		});
	}
};

Behaviour.start();

