jQuery.extend( {
    loader: {
		init: function(a) {
			for(selector in a){
				var func = a[selector];
				this.all.push({"selector":selector,"func":func,"completed":false});
			}
			this.on = true;
			this.check(0);
    	},
		check: function(curr){
			this.count++;
		    if(curr==this.all.length) curr=0;
		    while(this.all[curr].completed){
		        curr++;
		        if(curr==this.all.length) curr=0;
		    }
			node = document.getElementById(this.all[curr].selector.substring(1));
			if(node && node.nextSibling){
				//console.log("FOUND NEXT: " + this.all[this.curr].selector + " @ " + this.count);
				if(typeof this.all[curr].func != "undefined"){
				    if(typeof this.all[curr].func == "function") this.all[curr].func.call();
				    else this.all[curr].func.func.call(this.all[curr].func.context);

				    this.all[curr].completed=true;
				    this.completed++;
				}
			}
			if(this.completed != this.all.length && this.on) this.initTimer = setTimeout("jQuery.loader.check(" + (curr+1) + ")",1);
			else console.log("ENDING NOW...NO MORE @ " + this.count);
			delete node;
		},
		kill: function(){ clearTimeout(this.initTimer); on=false; },
		all: new Array(),
		count: 0,
		on: false,
		initTimer: "",
		completed:0
	}
});
