(function(){
	  
	var doc = document;
	var millisSoFar = 0;
	var js  = {
		/** 
		 * Get Element By ID
		 *  @param id String
		*/	
		$: function(id){
			return doc.getElementById(id);
		},
		/**
		 *  Get Elements By Tag Name
		 *  @param el String
		 *  @param obj Object
		*/			
		$$: function(el,obj){
			return (obj == null?doc:obj).getElementsByTagName(el);
		},
		/** 
		 * Create Element By Tag Name
		 *  @param el String
		 *  @param obj Object
		*/			
		_: function(el,obj){
			return (obj == null?doc:obj).createElement(el);
		},	
		/**
		 *  Get Elements By Class Name
		 *  @param className String
		 *  @param el Object
		 *  @param tag String
		*/		
		$C: function(className,el,tag){
			
			if (!el)el   = doc;
			if (!tag)tag = '*';
			
			var res  = [];
			var els  = el.getElementsByTagName(tag);
			var ptrn = new RegExp("(^|\\s)"+className+"(\\s|$)");
			
			for (i=0,l=els.length; i<l; i++) {
				if(ptrn.test(els[i].className))
					res[res.length] = els[i];
			}
			return res;
			
		},
		trim: function(str){
			var	str = str.replace(/^\s\s*/, ''),
				ws  = /\s/,
				i   = str.length;
			while (ws.test(str.charAt(--i)));
			return str.slice(0, i + 1);
		},
		inArray: function(arr){	
		
		}
	};

	window.js = js;
	

	
	
})();


