var _load_counter = 0;
function js_async_include(scripts) {
  if(typeof(scripts.length) == 'undefined') {
    js_sync_include([scripts]);
    return;
  }
  for(var i = 0; i < scripts.length; ++i)
    js_sync_include([scripts[i]])
}
function js_sync_include(scripts) {
  if (scripts.length==0)
    return;
  var js = document.createElement('script');
  var head = document.getElementsByTagName('head')[0];
  var script = scripts.shift();
  js.setAttribute('type', 'text/javascript');
  js.setAttribute('src', script);
  head.appendChild(js);
  var func = function(s, js) {
    return function(){
      if (!js.readyState || (js.readyState && js.readyState=="loaded")) {
        js.onreadystatechange = function(){};
        js.onload = function(){};
        --_load_counter;
        if(s.length > 0)
          js_sync_include(s);
      }
    }
  }(scripts, js);
  js.onreadystatechange = func;
  js.onload = func;
}
var _func;
function defer(f){
  window.onload = function(super_func){
    return function() {
      _func = function() {
        if (_load_counter<=0) {
          if(super_func)
            super_func();
          if(f.apply)
            f.apply(window);
          else
            f();
        } else
          setTimeout("_func()", 10);
      }
      _func();
    }
  }(window.onload);
}
var _sync = new Array();
var _async = new Array();
function add_script(script, sync) {
  var arr = sync ? _sync : _async;
  if(typeof(script.length) == 'undefined')
	  arr.push(script);
	else
	  for(var i=0;i<script.length;i++)
		  arr.push(script[i]);
}
var _done = false;
function init() {
    if (_done) return;
    _load_counter = _async.length + _sync.length;
    _done = true;	
		js_async_include(_async);
		js_sync_include(_sync);
};
if (document.addEventListener) document.addEventListener("DOMContentLoaded", init, false);
/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=\"__ie_onload\" defer=\"defer\" src=\"javascript:void(0)\"><\/script>");

var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {
    if (this.readyState == "complete") {
	init();
    }
};
/*@end @*/
if (/WebKit/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
	if (/loaded|complete/.test(document.readyState)) {
		clearInterval(_timer);
		init();
	}}, 10);
}
window.onload = init;