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

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

Behaviour.start();

