/*
	- Behaviour v1.1 by Frode Danielsen, July 2005.
	- Behaviour v1.0 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' : {
			onclick : function() {
				alert(this.innerHTML);
			}
		},
		'#someid u' : {
			onmouseover = function() {
				this.innerHTML = "BLAH!";
			}
		}
	);	
	Behaviour.register(myrules);
	
	// Call Behaviour.apply() to re-apply the rules (if you
	// update the dom, etc).

   License:
   
   	My stuff is BSD licensed. Not sure about Simon's.
   	
   More information:
   	
   	http://ripcord.co.nz/behaviour/
   
*/   

var Behaviour = {
	list : new Array,
	
	register : function(sheet) {
		Behaviour.list.push(sheet);
	},
	
	start : function(){
		Behaviour.addLoadEvent(function() {
			Behaviour.apply();
		});
	},
	
	apply : function(){
		for (h = 0; sheet = Behaviour.list[h]; h++){
			for (selector in sheet){
				list = document.getElementsBySelector(selector);
				
				if (!list){
					continue;
				}

				for (i=0;element=list[i];i++) {
					//sheet[selector](element);
					for (var handler in sheet[selector]) {
						zCore.Events.addEventListener(element, handler, sheet[selector][handler], false);
					}
				}
			}
		}
	},
	
	addLoadEvent : function(func){
		var oldonload = window.onload;
		
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
}

Behaviour.start();