	window.onError = function(o){};
	var loading = true;
	CGW = {
		version:"2.02"
		,License: window.location.hostname
		,COPYRIGHT: "Copyrigth 2009 cgw.dk, CGW Player"
		,PROGRAM: "CGW-Player"
		,update: ""
	};
	
	var _file_is_loaded = false;
	var _cgw_board_counter = 0;
	var CGWbodyMargin;
	var CGWproperties = [];
	var CGWtargeObj = [];
	var CGWPath = "";

	var LoadCSS = function(filename){
		var fileref=document.createElement("link");
		fileref.setAttribute("rel", "stylesheet");
		fileref.setAttribute("type", "text/css");
		fileref.setAttribute("href", filename);
		if (typeof fileref!="undefined") document.getElementsByTagName("head")[0].appendChild(fileref);
	};

	var LoadJS = function(filename,id){
  		var fileref=document.createElement('script');
  		fileref.setAttribute("type","text/javascript");
  		fileref.setAttribute("src", filename);
		if (id) fileref.setAttribute("id", id);  		
		if (typeof fileref!="undefined") document.getElementsByTagName("head")[0].appendChild(fileref);
		return fileref;
	};
	
	function loadFiles(properties,o){
		if (o){
			if(o.HAS>=0){
				G[o.HAS].win.show();
				return true;
			}
			var e = Ext.get(o);
			var x = e.getX();
			var y = e.getY();
			var el = document.createElement("DIV",o);
			el.id = "cgw_game_container_" +_cgw_board_counter;
			
			el.className = "cgw_game_container";
			el.style.left = x+"px";
			el.style.top = y+"px";
			el.style.position = "absolute";
			Ext.getBody().appendChild(el);
			o.HAS = _cgw_board_counter;
			properties.pgnPlayer = CGWPath;
			cgw_start_function(properties,_cgw_board_counter);
		}
		else {
			document.write('<div id="cgw_game_container_'+_cgw_board_counter+'" class="cgw_game_container"></div>');
			if (!properties.lang) properties.lang = "en";
			if (!_file_is_loaded){
				CGWbodyMargin = Ext.getBody().getMargins();
				var cgwLoader = document.getElementById('cgwLoader');
				if (!cgwLoader) alert('<script type="text/javascript" src="<foulder>/pgnplayer/js/cgwLoader.js"></script> need to have an id="cgwLoader"');
				CGWPath = cgwLoader.getAttribute('src').replace("js/cgwLoader.js","");
			    LoadCSS(CGWPath + "/ext/ext-all-notheme.css");
				if (properties.theme) LoadCSS(CGWPath + "/theme/"+properties.theme+"/css/theme.css");
				else LoadCSS(CGWPath + "/theme/default/css/theme.css");
			    LoadCSS(CGWPath + "/css/cgw.css");
			    if (properties.boardTheme!="") LoadJS(CGWPath + "/boardTheme/"+properties.boardTheme+"/js/theme.js");
			    LoadJS(CGWPath + "/js/cgw-min.js");
			    var l=properties.lang.split(","); 
				LoadJS(CGWPath + "/js/lang/"+l[0]+".js","Lang_"+l[0]);
				_file_is_loaded=true;
			}
		}
		properties.pgnPlayer = CGWPath;
		CGWproperties.push(properties);
		CGWtargeObj.push(o);
		_cgw_board_counter++;
	}