var $L = function(fn){
	var loaded  = false; 
	/* for Mozilla/Opera9 */
	if (document.addEventListener) {
	  addEvent(document, "DOMContentLoaded", fn);
	  loaded  = true; 
	}

	/* for Internet Explorer */
	/*@cc_on @*/
	/*@if (@_win32)
	  document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	  var script = document.getElementById("__ie_onload");
	  script.onreadystatechange = function() {
	    if (this.readyState == "complete") {
	      loaded  = true; 
	      fn(); // call the onload handler
	    }
	  };
	/*@end @*/

	/* for Safari */
	if (/WebKit/i.test(navigator.userAgent)) { // sniff
	  var _timer = setInterval(function() {
	    if (/loaded|complete/.test(document.readyState)) {
	      loaded  = true; 
	      fn(); // call the onload handler
	    }
	  }, 10);
	}
	
	// other browser support
	if(!loaded){
		addEvent(window,"load",fn);
	}
}
