var host = '';
var library = {
	'wcm' : {'versions':['1.2', '1.1', '1.0'], 'js':'/wcm/scripts/wcm/wcm-base-{v}.js'},
	'wcm-util' : {'versions':['1.1', '1.0'], 'js':'/wcm/scripts/wcm/wcm-util-{v}.js'},
	'wcm-menus' : {'versions':['1.2', '1.1', '1.0', '1.3', '1.4','1.6'], 'js':'/wcm/scripts/wcm/wcm-menus-{v}.js'},
	'wcm-menus-ui' : {'versions':['1.0','1.1'], 'js':'/wcm/scripts/wcm/wcm-menus-ui-{v}.js'},
	'wcm-calendar' : {'versions':['1.0'], 'js':'/wcm/scripts/wcm/wcm-calendar-{v}.js'},
	'wcm-flash' : {'versions':['1.1', '1.0'], 'js':'/wcm/scripts/wcm/wcm-flash-{v}.js'},
	'wcm-jquery' : {'versions':['1.2', '1.1.1', '1.1', '1.0', '1.3'], 'js':'/wcm/scripts/wcm/wcm-jquery-{v}.js'},
	'wcm-webtrends' : {'versions':['1.0'], 'js':'/wcm/scripts/wcm/wcm-webtrends-{v}.js'},
	'wcm-google-analytics' : {'versions':['1.2', '1.1', '1.0', 'cat.com', '2.0'], 'js':'/wcm/scripts/wcm/wcm-ga-{v}.js'},
	
	'json' : {'versions':['1.0'], 'js':'/wcm/scripts/json-{v}.js'},
	
	'jquery' : {'versions':['1.4.2','1.4.2.src','1.3.2'], 'js':'/wcm/scripts/jquery/jquery-{v}.js'},
	'jquery-ui' : {'versions':['1.8.1', '1.8', '1.7.2','1.8.4'], 'js':'/wcm/scripts/jquery/jquery-ui-{v}.js'},
	'jquery-autocomplete' : {'versions':['1.1'], 'js':'/wcm/scripts/jquery/jquery-autocomplete-{v}.js'},
	'jquery-selectors' : {'versions':['1.0'], 'js':'/wcm/scripts/jquery/jquery-selectors-{v}.js'},
	'jquery-wcm' : {'versions':['1.1.1', '1.1', '1.0', '1.3'], 'js':'/wcm/scripts/jquery/jquery-wcm-{v}.js'},
	'jquery-cookie' : {'versions':['1.0'], 'js':'/wcm/scripts/jquery/jquery-cookie-{v}.js'},
	'jquery-ckeditor' : {'versions':['3.2'], 'js':['/wcm/scripts/ckeditor/{v}/ckeditor.js', '/wcm/scripts/ckeditor/{v}/adapters/jquery.js']},
	'jquery-form' : {'versions':['2.4.0'], 'js':'/wcm/scripts/jquery/jquery-form-{v}.js'},
	'jquery-timeout' : {'versions':['1.0'], 'js':'/wcm/scripts/jquery/jquery-timeout-{v}.js'},
	'jquery-template' : {'versions':['1.0'], 'js':'/wcm/scripts/jquery/jquery-template-{v}.js'},
	'jquery-maskedinput' : {'versions':['1.2.2'], 'js':'/wcm/scripts/jquery/jquery-maskedinput-{v}.js'},
	'jquery-ceebox' : {'versions':['2.1.3'], 'js':'/wcm/scripts/jquery/jquery.ceebox-{v}.js'},
	
        'widgets' : {'versions':['0.1'], 'js':'/wcm/scripts/jquery/widgets-{v}.js'},
        'baidu-china' : {'versions':['0.1'], 'js':'/baidu/china-{v}.js'},

	'prototype': {'versions':['1.6.1'], 'js':'/wcm/scripts/prototype/prototype-{v}.js'},
	'swfobject': {'versions':['2.2'], 'js':'/wcm/scripts/flash/swfobject-{v}.js'},
	'google-analytics' : {'versions':['1.0'], 'js':'/wcm/scripts/google/ga-{v}.js'},	
	'webtrends' : {'versions':['1.0'], 'js':'/wcm/scripts/webtrends-{v}.js'},
	'cart' : {'versions':['1.0', '2.0', '2.1', '2.2'], 'js':'/wcm/scripts/cart-{v}.js'},
	'parts-cart' : {'versions':['2.0'], 'js':'/wcm/scripts/parts-cart-{v}.js'},
	
	load: function(name, options) {
		options = options||{};
		var lib = library[name];
		if (lib !== undefined) {
			if (lib.loaded) {
				if (options.callback) options.callback();
				return;
			} else {
				var head = (document.getElementsByTagName('head')[0]||document.body.parentNode.appendChild(document.createElement("head")));
				for (var i=0; i<lib.versions.length; i++) {
					var ver = lib.versions[i];
					if (ver.indexOf(options.version||'') == 0) {
						lib.loaded = true;
						var scripts = lib.js instanceof Array ? lib.js : [lib.js];
						for (var i=0; i<scripts.length; i++) {
							var js = host + scripts[i].replace('{v}', ver);
							if (options.async) {
								var s = document.createElement('script');
								s.type = 'text/javascript';
								s.src = js;
								head.appendChild(s);
								if (options.callback) {
									//s.onreadystatechange = options.callback;
									s.onerror = s.onload = options.callback;
								}
							} else {
								document.write('<script src="', js, '" type="text/javascript"><\/script>');
								if (options.callback) options.callback();
							}
						}
						return;
					}
				}
			}
		}
		throw 'Module: "' + name + '(' + options.version + ')' + '" not found!';
	}
};
